window安全小知识1——autorun.inf相关知识

1.autorun.inf的作用

    autorun.inf是我们电脑使用中比较常见的文件之一 ,其作用是允许在双击磁盘时自动运行指定的某个文件,或者改变磁盘的图标等。

2.autorun.inf的例子和参数

    最简单的例子如下:

[autorun]
ICON=CFCA.ico
OPEN=autorun.exe

    其中ICON是磁盘USB/DVD-CD显示的图标,OPEN是双击打开时的操作。当然,还有其他一些操作,例如Label(指定设备描述)、Defaulticon(指定应用程序的默认图标)等等,大家想用的时候可以网上查阅

3.autorun.inf的历史与特性

3.1 AutoRun与AutoPlay

    AutoRun与AutoPlay是两个不同的概念。AutoRun这个特性首次出现在Windows 95,当年设计它的原因是为了更加简便的安装应用,更加小白化,如果一个CD-DVD在根目录含有autorun.inf这个文件,那么操作系统会自动地发现它并按照文件的内容来指向相应的指令。

    在Windows XP和更早的版本,如果你载入了CD/DVD(包含安装信息),它会立刻执行这个安装程序。这显然是很不安全,所以微软引入了AutoPlay这种方式来解决这个问题,AutoPlay的工作是自动检查新接入的数字设备,分析里面的内容是啥,然后显示一个对话框来让用户选择运行程序还是显示内容。

3.2 不同windows的运行顺序

    我们先看看AutoRun与AutoPlay在不同windows版本上的运行先后顺序:

  • Windows Vista以前版本:除非AutoRun功能被关闭,AutoRun会比AutoPlay先运行,并且会搜索autorun.inf文件。在Windows XP中,如果autorun.inf这个文件被发现的话,AutoRun会绕过AutoPlay,并且不会询问用户就会执行autorun.inf的里面的应用程序。
  • Windows Vista以及更高版本:AutoPlay总是会比AuoRun先执行,如果有autorun.inf文件的话,它会被读取,然后显示信息在AutoPlay弹出的对话框中。

注意:Windows Vista以及以后,AutoRun的功能是显示在AutoPlay的对话框的,我们在网上找到Window 7或Window 10中开启或关闭autorun的功能,不管是自动执行自动运行命令还是禁止运行自动运行命令,都是开启或关闭AutoPlay的对话框里面的信息,禁止意味着没有自动运行这么选项。

3.3 不同windows的例子

    为了让AutoRun与AutoPlay之间的关系更加清晰明了,我们在这里有一张MSI驱动的CD,里面的autorun.inf是我们配置好的,就像上面简单的例子一样,然后我们插入并载入到Windows XP、Windows 7和Windows中,看看会发生啥。

3.3.1 Windows XP

    如图所示,一插入光盘并读取成功后,安装程序会自动显示到屏幕上:

Window XP

3.3.2 Windows 7

    而在Windows 7中,我们会首先看到对话框,然后在对话框中会显示应用程序运行信息:

Window 7

3.3.3 Windows 10

    Windows 10也和Windows 7一样,不过我们会首先在频幕右下角收到通告,如图:

Window 10-1

    我们点击以后,就会显示对话框了:

Window 10-2

3.3.4 一些建议

    当然,为了安全考虑,我们可以在Windows 7以及更高版本中关闭AutoPlay这个功能,但是开启这个功能并不会对你的计算机产生危害,因为没有你的允许,应用程序不会自动运行(排除你双击它,下面会讨论),而对于Windows XP来说,我们有必要来关闭AutoRun
    

4.USB是否也可以autorun?

    在2011年2月8日发布的安全公告KB967940中,微软对Windows自动运行功能进行了最新升级,限定Windows XP、Windows Server 2003、Vista(Vista是到Win7的一个过渡系统)和Windows Server 2008平台上的自动运行功能仅支持CD和DVD媒体。当用户使用包含autorun.inf文件的USB设备、网络共享或其它非CD/DVD媒体时,系统不会执行自动运行。
    安装此次更新后,当插入USB设备时,用户不会收到程序安装的提示对话框,用户需要手动打开文件夹找到安装文件,然后双击安装软件。不过,在连接至计算机时,有些USB的固件会让系统将其识别为CD,那么本次针对AutoRun的升级就对它们无效了。
    自动运行/自动播放功能唯一得以保留的地方是在光盘载体上。
    当然在USB里面,autorun.inf以下功能能保存,其余的都被忽略了:

  • label
  • icon

    但是USB还是可以通过量产来变成CD-DVD的,具体大家可以自己动手试试。

5.自己动手实验autorun

    实验材料:

  • Windows 10机器,默认配置
  • 可刻录的CD/DVD一张
  • autorun.exe,dev c++编译源代码如下:
#include "windows.h"

int main(){
 MessageBox(NULL,"ddd","ddd",MB_OK);  
} 
  • autorun.inf:
[autorun]
ICON=CFCA.ico
OPEN=autorun.exe
  • 任意的.ico图片

    准备完以后,我们把内容刻录到光盘上,然后载入光盘,会弹出通知:

windows-1-5

    点击通知,会显示对话框选项:

windows-1-6

    然后,我们在windows文件浏览器双击打开CD/DVD,会运行我们预先写好的程序:

windows-1-8

    我们会发现,如果我们持续双击点击CD-DVD,一直会运行我们的程序,从而进入不了CD-DVD,可见autorun如果被用心不良的人来使用,会对我们的计算机造成伤害。

6.autorun中毒以及防御方法

    插入U盘或CD/DVD的时候,我们双击U盘/CD-DVD也会执行相应的病毒程序(量产化的USB),或者病毒会在我们的USB/CD-DVD中创建autorun.inf,所以我们可以进行以下方案来防御这种入侵:

  • 通过windows资源管理器打开,并在左侧进入,如图:windows-1-7
  • 要有显示文件扩展名的习惯
  • 安装安全软件,或者其他方法来检测是否有autorun.inf文件
  • 右击-打开方式进入USB/CD-DVD
  • 在USB/CD-DVD创建autorun.inf文件夹,这样就保证不会被病毒创建相应的autorun.inf文件

7.参考资料

[autorun.inf 百度百科]
[How to Completely Block and Disable Autorun.inf Files in Windows]
[How to Configure AutoPlay in Windows 7 & 10]

猜你喜欢

转载自blog.csdn.net/u012397189/article/details/79058208