Page 97 - 大数据背景下网络安全问题研究
P. 97
» 第四章 网络攻击与漏洞利用
检测目标的定制上提供主机名(域名)、子网、网段三种输入方式,可一次输入多个
目标地址。用户定制检测任务参数完毕后,系统将检测任务数据存入数据库。后续的
查看任务、查看任务结果、删除任务等操作都是对数据库中该条任务数据的操作,其
中的查看任务结果是从数据库中读出该任务的结果信息,经过一定处理后生成较为直
观的HTML格式结果报告。
检测策略管理主要完成新建检测策略、列出已有检测策略、查看检测策略、删除
检测策略等操作。如前所述,检测策略是以检测插件集合方式组织的检测内容模板,
可供多个检测任务重复使用。检测策略的主要内容包括策略名称、策略描述、安全检
测插件(即信息探测插件)集合和渗透测试插件集合。安全检测插件和渗透测试插件
可划归为不同策略,也可分配至同一策略一起执行。
(2)检测引擎
检测引擎以Windows系统服务方式实现,并可随系统启动而自动启动。检测引擎
启动后,首先完成插件信息加载。插件以DLL形式封装,插件信息存储在各插件文件
中,并可通过插件初始化接口读取,探测引擎依次调用各个插件的初始化接口将各插
件信息加载到内存中的插件信息结构链表。对于一个具体的插件,探测引擎首先将插
件动态加载到其内存空间中,得到该插件的初始化接口函数地址并调用该函数,插件
信息即会被复制到由探测引擎生成并管理的插件信息结构链表中,然后动态释放该插
件对应的DLL文件。插件信息结构链表的每个节点同时存储插件文件名等信息,以便
于在后续执行过程中快速加载检测插件。
探测引擎完成所有安全检测插件和渗透测试插件信息加载后,会根据各插件之间
的依赖关系对插件信息进行排序。目标信息探测技术种类纷繁,它们中有的之间存在
结果依赖的关系,如端口扫描技术可以探测出目标主机的端口开放情况;服务类型探
测技术和操作系统类型探测技术利用这些端口开放信息,可以减少进一步信息探测的
盲目性;漏洞扫描技术利用服务类型探测技术和服务类型探测技术探测的结果,又可
以加强漏洞扫描的针对性。充分地利用好插件结果的依赖关系而正确的安排插件执行
的顺序,可以减少进一步侦查的盲目性,提高针对性,从而大大提高扫描效率。插件
结果间的依赖关系,即排序的依据。根据插件依赖关系,某些信息探测插件的结果可
作为后续信息探测或渗透测试执行参数的条件输入。在探测引擎具体实现中,针对同
一个检测目标的一次检测过程中维护一个全局数据结构链表,通过该数据结构链表对
某些关键的中间结果进行全局存取。插件排序的结果保证那些结果被依赖的插件排在
前面执行,并将探测得到的有用中间结果以“名称—值”对的方式存储在该全局数据
结构链表中,后续检测插件通过查询该链表取得执行条件。
• 85 •

