linuxOnAccess
时间:2010-06-09 来源:xunuj
访问扫描器概述
访问扫描器(On-Access scanner)在文件被访问时进行病毒扫描,它拦截I/O请求,并使用这些拦截的事件促使实时病毒扫描清除。访问扫描器原理图如图1。
访问扫描器由内核模块、扫描后台、扫描引擎和UI图形界面四个部分组成。内核模块拦截文件打开、读、写等文件操作,并触发扫描后台对这个文件进行扫描。扫描后台是一个root权限的进程,它执行实际的病毒扫描并把扫描结果对应的操作权限(如:允许访问)送到内核模块。UI界面用来提醒用户被感染的文件已被检测,提供用户删除或清除感染文件的操作。访问扫描器运行流程说明如下:
1. 应用程序执行系统调用(如:open、exec等)。
2. I/O管理器将请求的文件放入扫描等待队列。
3. I/O管理器设置应用程序到阻塞状态。
4. I/O管理器通知扫描后台。
5. 扫描后台从扫描等待队列选择文件。
6. 扫描后台打开文件进行读操作,使用扫描引擎进行扫描,扫描完后关闭文件。
7. 扫描后台通知I/O管理器扫描结果。
8. I/O管理器激活等待的应用程序。
9a. 如果扫描在文件中没发现恶意代码,这个文件将被打开。
9b. 如果扫描发现有恶意代码,应用程序将接收一个文件访问错误信号。
10. 扫描后通知UI发现了恶意代码,UI接着执行基于扫描后台传递参数指示的操作,并根据用户的选择对病毒感染文件进行删除或清除病毒处理。
1. 应用程序执行系统调用(如:open、exec等)。
2. I/O管理器将请求的文件放入扫描等待队列。
3. I/O管理器设置应用程序到阻塞状态。
4. I/O管理器通知扫描后台。
5. 扫描后台从扫描等待队列选择文件。
6. 扫描后台打开文件进行读操作,使用扫描引擎进行扫描,扫描完后关闭文件。
7. 扫描后台通知I/O管理器扫描结果。
8. I/O管理器激活等待的应用程序。
9a. 如果扫描在文件中没发现恶意代码,这个文件将被打开。
9b. 如果扫描发现有恶意代码,应用程序将接收一个文件访问错误信号。
10. 扫描后通知UI发现了恶意代码,UI接着执行基于扫描后台传递参数指示的操作,并根据用户的选择对病毒感染文件进行删除或清除病毒处理。
相关阅读 更多 +