AI联网时代嵌入式不再闭门造车--嵌入式开发工具软件针对性断网隔离方法原理与实测
背景:
- 面对一些收费软件,简单粗暴的方法就是在路由端对指定MAC地址的电脑进行黑名单过滤绑定,不允许指定的电脑出外网,使用远程桌面链接,远程到联网的多主机服务器进行外网访问。随着AI的浪潮的冲击,许许多多的AI工具都需要系统能联网,比如officeAI助手,VSCODE+AI套件做开发,自己搭建基于anythingLLM的AI个人知识库使用API接口等等应用场景,急需一个仅仅针对开发工具软件断网隔离但系统不断网的解决方案。
正文:
- 我们学过计算机网络基础的人都知道,网络是分层定义的,采用的是ISO的七层架构,物理层,数据链路层,网络层,传输层,会话层,表示层,应用层,理论上,我们只要从任意层断开都可以让应用断网,但越靠近物理层系统相关性越大,我们需要系统不断网,不是从物理层断开,比如拔掉网线,这样系统断网了就达不到目的了。
- 如果有了解一些网络安全的知识,就知道系统都有防火墙用于组织外部的网络攻击和信息安全,Linux有,window也有,我们可以看一下Windows的防火墙原理,Windows
Defender Firewall是 Windows 操作系统内置的网络安全组件,用于监控和管理进出计算机的网络流量,防止未经授权的访问。
防火墙出站入站规则,以window10专业版举例:
先去掉防火墙允许的应用,UV4.exe就是安装的keil,然后在高级设置里面,修改入站出站规则
找到keil安装目录下面的所有exe文件,如果不知道安装目录,可以通过桌面快捷方式定位到安装目录。需要禁止的主要程序有
PackInstaller.exe 包安装器
PackUnzip.exe 包卸载器
UV4.exe 主体程序
Uninstall.exe卸载程序
检验一下
从包安装器看起来禁止成功了。
再搜索帮助里面的联系按钮和检查更新按钮
从以上的结果来看,都能访问arm官网,方式都是Keil调用外部浏览器,禁网失败,应该是keil使用了http服务进行了get/post请求,应用程序通过浏览器间接联网(如调用start http://example.com),看来还需要禁止http和https协议 ,或者禁止keil调用外部浏览器
通过组策略禁止程序运行(需Windows专业版/企业版):
按 Win + R,输入 gpedit.msc 打开组策略编辑器。
导航到:
计算机配置 > 管理模板 > 系统 > 不要运行指定的Windows应用程序。
启用策略,添加浏览器名称(如chrome.exe、msedge.exe)。
再次从keil的help栏里面点击联系和更新,已经不能自动打开win10自带的浏览器了。
你从桌面也无法打开这里浏览器了,我一直不用这个浏览器,所以先这样吧。
- 总结以上的结果,我们如果想要禁止一个软件联网,除了设置对应的exe联网外,还需要注意应用软件是否调用了浏览器,给服务器发送更新或者联系请求。我这边采用的是策略里面禁用win10默认的浏览器,有更好的办法再分享
。