网络安全编程:U盘防御软件
在早期互联网还不发达的时候,病毒都是通过软盘、光盘等媒介进行传播的。到后来互联网被普及以后,通过互联网进行传播的病毒大面积地相继出现。虽然软盘已经被淘汰,但是并没有使移动磁盘的病毒减少。相反,U盘的普及使得移动磁盘对病毒的传播更加方便。U盘的数据传输速度和数据存储容量等多方面都比软盘要先进很多,因此,软盘可以传播病毒,U盘当然也可以传播病毒。
通过U盘来传播病毒通常是使用操作系统的自动运行功能,并配合U盘下的Autorun.inf文件来实现的。著名的“摆渡攻击”就是依靠此Autorun.inf来进行实施的。如果让操作系统不自动运行移动磁盘,或者保证移动磁盘下不存在Autorun.inf文件,那么通过U盘感染病毒的几率就小很多了。
1. 通过系统配置禁止自动运行
先来介绍如何通过系统配置禁止U盘中Autorun.inf的自动运行。通常情况下需要进行两方面的设置,一方面是通过“管理工具”中的“服务”来进行设置,另一方面是通过“组策略”来进行设置。一般这两处都需要进行修改。下面分别介绍如何对这两处进行设置。
先来看如何在“服务”中进行设置。首先打开控制面板中的“管理工具”,然后找到“服务”,将其双击打开。在服务列表中找到名称为“Shell HardwareDetection”的服务,双击该服务,打开“Shell HardwareDetection的属性”对话框。单击“停止”按钮将该服务停止,再把“启动类型”修改为“已禁用”状态,如图1所示。
图1 禁用“Shell Hardware Detection”服务
将服务中的“Shell HardwareDetection”禁用后,再对“组策略”进行设置。首先在“运行”中输入“gpedit.msc”,然后依次单击左边的树形控件“计算机配置”→“管理模板”→“系统”,再在右边双击“关闭自动播放”选项,弹出“关闭自动播放属性”对话框。在“设置”选项卡中选择“已启用”单选项,在“关闭自动播放”处选择“所有驱动器”选项,设置完成后单击“确定”按钮。再到左边的树形控件中选择“用户配置”→“管理模板”→“系统”,到右边找到“自动关闭播放”选项,设置方法同上,如图2所示。
图2 组策略中的“关闭自动播放”
通过以上设置,的确可以相对有效地保护计算机不中U盘相关的病毒。不过,不能因此而满足,因为目的是打造一个U盘防御的软件。
2. 打造一个简易的U盘防御软件
这里打造一个U盘防火墙,当插入U盘时会有提示,并且自动检查U盘下是否有Autorun.inf文件,并解析Autorun.inf文件。除此之外,通过U盘防火墙可以打开U盘,从而安全地使用U盘。
如何才能知道有U盘被插入电脑呢?可以使用定时器不断地检查,也可以开启一个线程不断地检查,还可以通过Windows的消息得到通知。前两种方法笨了些,这里主动不断地检查是否有U盘插入,不如被动地等待Windows的消息来通知。
在Windows下有一个消息可以通知应用程序计算机配置发生了变化,这个消息是WM_ DEVICECHANGE。消息过程定义如下:
该消息通过两个附加参数来进行使用,其中wParam表示设备改变的事件,lParam表示事件对应的数据。要得到设备被插入的消息类型,因此wParam的取值为DBT_DEVICEARRIVAL,而该消息对应的数据类型为DEV_BROADCAST_HDR,该结构体的定义如下:
在该结构体中,主要看的是dbch_devicetype,也就是设备的类型。如果设备类型为DBT_DEVTYP_VOLUME,则把当前结构体转换为DEV_BROADCAST_VOLUME结构体,该结构体定义如下:
在该结构体中,主要看的是dbcv_unitmask和dbcv_flags。dbcv_unitmask通过位表示逻辑盘符,第0位表示A盘,第1位表示B盘。dbcv_flags表示受影响的盘符或媒介,其值为0时表示U盘或移动硬盘。
上面介绍了WM_DEVICECHANGE消息,由于是在MFC下进行开发的,因此可以使用OnDeviceChange()消息响应函数来代替WM_DEVICECHANGE消息。虽然使用了OnDeviceChange()消息响应函数而没有使用WM_DEVICECHANGE,但是响应函数的附加参数与WM_DEVICECHANGE相同。OnDeviceChange()函数定义如下:
3. 通过OnDeviceChange()消息获得被插入U盘的盘符
下面使用MFC下的OnDeviceChange()消息响应函数来编写一个获取被插入U盘的盘符的小程序,为编写U盘防火墙做简单的准备工作。首先来添加消息映射,具体代码如下:
在头文件中添加消息响应函数的定义,具体如下:
最后添加消息响应函数的实现,具体代码如下:
将其编译连接并运行,插入一个U盘,得到如图3所示的提示。
图3 检测到的U盘盘符
上面的这段代码可以将其封装为一个函数,封装后的函数定义如下:
在使用类似DBT_DEVICEARRIVAL的以DBT_开头的宏时,应包含头文件“dbt.h”文件。
4. U盘防火墙的完善
前面已经获得了被插入U盘的盘符,接下来就可以对U盘上的Autorun.inf文件进行分析,并删除要运行的程序,还可以安全地打开U盘。改写OnDeviceChange()函数,以实现要完成的功能,具体代码如下:
安全打开U盘的实现代码如下:
用DeleteFile()函数删除U盘中要运行的程序可能会失败,因为有时U盘并没有完全准备好。可以通过判断来完成,但这里就不给出代码了,大家可自行修改完成。代码中涉及两个新的API函数,分别是GetPrivateProfileString()和ShellExecute()。这两个函数的功能分别是获取配置文件中指定键的键值、运行指定的文件或文件夹。
在上面的程序中,通过提示让用户选择是否要删除U盘中要被执行的文件。如果用户对此并没有太多的了解和认识的话,很有可能不删除。如果删了本不该删的文件,那么用户对该软件的友好感便会降低。应该如何做呢?应该建立一个白名单和黑名单,无论是通过散列进行比较,还是通过文件名进行比较,都可以。当然,越精确的匹配方法越好。这样,就可以提早为用户进行判断了,然后给出一个安全建议,这样不但提高了软件的友好度,而且会显得相对较为专业。
推荐系统
电脑公司Ghost Win8.1 x32 精选纯净版2022年7月(免激活) ISO镜像高速下载
语言:中文版系统大小:2.98GB系统类型:Win8电脑公司Ghost Win8.1x32位纯净版V2022年7月版本集成了自2022流行的各种硬件驱动,首次进入系统即全部硬件已安装完毕。电脑公司Ghost Win8.1x32位纯净版具有更安全、更稳定、更人性化等特点。集成最常用的装机软件,精心挑选的系统维护工具,加上绿茶独有
微软Win11原版22H2下载_Win11GHOST 免 激活密钥 22H2正式版64位免费下载
语言:中文版系统大小:5.13GB系统类型:Win11微软Win11原版22H2下载_Win11GHOST 免 激活密钥 22H2正式版64位免费下载系统在家用办公上跑分表现都是非常优秀,完美的兼容各种硬件和软件,运行环境安全可靠稳定。Win11 64位 Office办公版(免费)优化 1、保留 Edge浏览器。 2、隐藏“操作中心”托盘图标。 3、保留常用组件(微软商店,计算器,图片查看器等)。 5、关闭天气资讯。
Win11 21H2 官方正式版下载_Win11 21H2最新系统免激活下载
语言:中文版系统大小:4.75GB系统类型:Win11Ghost Win11 21H2是微软在系统方面技术积累雄厚深耕多年,Ghost Win11 21H2系统在家用办公上跑分表现都是非常优秀,完美的兼容各种硬件和软件,运行环境安全可靠稳定。Ghost Win11 21H2是微软最新发布的KB5019961补丁升级而来的最新版的21H2系统,以Windows 11 21H2 22000 1219 专业版为基础进行优化,保持原汁原味,系统流畅稳定,保留常用组件
windows11中文版镜像 微软win11正式版简体中文GHOST ISO镜像64位系统下载
语言:中文版系统大小:5.31GB系统类型:Win11windows11中文版镜像 微软win11正式版简体中文GHOST ISO镜像64位系统下载,微软win11发布快大半年了,其中做了很多次补丁和修复一些BUG,比之前的版本有一些功能上的调整,目前已经升级到最新版本的镜像系统,并且优化了自动激活,永久使用。windows11中文版镜像国内镜像下载地址微软windows11正式版镜像 介绍:1、对函数算法进行了一定程度的简化和优化
微软windows11正式版GHOST ISO镜像 win11下载 国内最新版渠道下载
语言:中文版系统大小:5.31GB系统类型:Win11微软windows11正式版GHOST ISO镜像 win11下载 国内最新版渠道下载,微软2022年正式推出了win11系统,很多人迫不及待的要体验,本站提供了最新版的微软Windows11正式版系统下载,微软windows11正式版镜像 是一款功能超级强大的装机系统,是微软方面全新推出的装机系统,这款系统可以通过pe直接的完成安装,对此系统感兴趣,想要使用的用户们就快来下载
微软windows11系统下载 微软原版 Ghost win11 X64 正式版ISO镜像文件
语言:中文版系统大小:0MB系统类型:Win11微软Ghost win11 正式版镜像文件是一款由微软方面推出的优秀全新装机系统,这款系统的新功能非常多,用户们能够在这里体验到最富有人性化的设计等,且全新的柔软界面,看起来非常的舒服~微软Ghost win11 正式版镜像文件介绍:1、与各种硬件设备兼容。 更好地完成用户安装并有效地使用。2、稳定使用蓝屏,系统不再兼容,更能享受无缝的系统服务。3、为
雨林木风Windows11专业版 Ghost Win11官方正式版 (22H2) 系统下载
语言:中文版系统大小:4.75GB系统类型:雨林木风Windows11专业版 Ghost Win11官方正式版 (22H2) 系统下载在系统方面技术积累雄厚深耕多年,打造了国内重装系统行业的雨林木风品牌,其系统口碑得到许多人认可,积累了广大的用户群体,雨林木风是一款稳定流畅的系统,一直以来都以用户为中心,是由雨林木风团队推出的Windows11国内镜像版,基于国内用户的习惯,做了系统性能的优化,采用了新的系统
雨林木风win7旗舰版系统下载 win7 32位旗舰版 GHOST 免激活镜像ISO
语言:中文版系统大小:5.91GB系统类型:Win7雨林木风win7旗舰版系统下载 win7 32位旗舰版 GHOST 免激活镜像ISO在系统方面技术积累雄厚深耕多年,加固了系统安全策略,雨林木风win7旗舰版系统在家用办公上跑分表现都是非常优秀,完美的兼容各种硬件和软件,运行环境安全可靠稳定。win7 32位旗舰装机版 v2019 05能够帮助用户们进行系统的一键安装、快速装机等,系统中的内容全面,能够为广大用户
相关文章
- 专栏
- 基础知识:理解网络交换机的原理
- 83%的企业曾遭受固件攻击,仅29%分配了固件防护预算
- Spectre变种可通过CPU缓存窃取数据
- APP成用户隐私惯犯 处罚还要再“疼”一点
- CVE-2020-26896:闪电网络被曝安全漏洞
- RDP服务器被用于DDoS放大攻击
- 后疫情时代,企业业务加速上云,安全何以如影相随?
- 硬盘摔坏了怎么办 分享硬盘被摔后如何起死回生
- 没天理! 扎克伯格都被黑
- 系统文件丢失怎么办 系统文件损坏的解决办法
- 如何让ThinkPad机型实现双网卡同时连接不同的网络
- 听说 iPhone充电器可以当监听器?我到某宝试了下
- 软件弹窗拦截帮你不收弹窗打扰!
- 编程语言安全漏洞:C++、PHP、Java、Python、.Net 和 JavaScript
- 警察蜀黍,这有个装正经又不正经的App!
- 个人信息泄露离我们有多近?数据保护的重要性
- 360李均,与车有关的一切
热门系统
- 1华硕笔记本&台式机专用系统 GhostWin7 32位正式旗舰版2018年8月(32位)ISO镜像下载
- 2深度技术 Windows 10 x86 企业版 电脑城装机版2018年10月(32位) ISO镜像免费下载
- 3雨林木风 Ghost Win7 SP1 装机版 2020年4月(32位) 提供下载
- 4电脑公司 装机专用系统Windows10 x86喜迎国庆 企业版2020年10月(32位) ISO镜像快速下载
- 5深度技术 Windows 10 x86 企业版 六一节 电脑城装机版 版本1903 2022年6月(32位) ISO镜像免费下载
- 6深度技术 Windows 10 x64 企业版 电脑城装机版2021年1月(64位) 高速下载
- 7新萝卜家园电脑城专用系统 Windows10 x64 企业版2019年10月(64位) ISO镜像免费下载
- 8新萝卜家园 GhostWin7 SP1 最新电脑城极速装机版2018年8月(32位)ISO镜像下载
- 9电脑公司Ghost Win8.1 x32 精选纯净版2022年5月(免激活) ISO镜像高速下载
- 10新萝卜家园Ghost Win8.1 X32 最新纯净版2018年05(自动激活) ISO镜像免费下载
热门文章
常用系统
- 1番茄花园 GHOST WIN7 SP1 X86 正式优化版 V2018.05 (32位) 下载
- 2深度技术Ghost Win8.1 x32位 特别纯净版2020年3月(免激活) ISO镜像高速下载
- 3雨林木风 win11 新电脑必装版 v2023.04系统免费下载
- 4Win10 21H2下载_GHOST Win10 21H2 64位专业版下载
- 5深度技术 ISO Win11 64位 改良专业版系统 v2023下载
- 6电脑公司Ghost Win8.1 X64位 纯净版2019年10月(自动激活) ISO镜像快速下载
- 7萝卜家园win10 32位 完美专业版v2023.09最新下载
- 8雨林木风Win11专业版下载_雨林木风Win11 64位永久激活镜像下载V2021.08
- 9win11 v22000.613 小修精简版 v2023下载
- 10大地 GHOST XP SP3 纯净版 Y1.8 下载