当前位置:首页 期刊杂志

一种新型文档防火墙的设计

时间:2024-09-03

何保锋 井荣枝

郑州大学西亚斯国际学院计算机科学系 河南 451150

0 引言

目前网络安全领域面临着严重的向题,一方面当今社会对网络的依赖性日益增加,另一方面网络入侵和攻击泄密事件发生的次数也急剧增长。网络中同时还存在着大量的网络攻击工具和攻击文件等资源,这种情况使得近几年的网络攻击频率和密度显著增长,给网络安全带来越来越多的安全隐患。

为了有效地保护我们的计算机及信息资源不受侵害,本文阐述了从操作系统的内核层出发,对文件访问与网络访问智能地进行了综合的行为分析,高效且精确地找出各种潜在的危险进程并进行拦截与阻断,有效地防御网络中的各种威胁,并且做出及时的响应,将那些危险的连接和攻击行为拒之门外。

1 设计思想

安全防御从内核层出发,非法进程所采用的绕过机制在内核层都显得无能为力,进程的行为一览无余,这样能保证采集到的行为数据正确且无遗漏,结合从应用层所搜集到的进程的状态信息,进行综合分析,能够保证分析的结果足够精确。

在基于文件过滤驱动与网络过滤驱动的基础上,进行文件访问与网络访问的数据搜集,并把搜集到的数据从内核层上传到应用层。在应用层进行各类内核层搜集数据的再加工与预处理,初步判断出操作系统当前所有进程的状态、签名可信度、主窗体是否隐藏等信息。在数据处理的基础上,应用各种定义的规则来进行判别,能够智能地剔除无关数据,进行可疑进程的行为分析与阻断,并把判别结果上报。

2 设计方案

2.1 业务逻辑

系统可以设计为配置管理模块、缓存管理模块、在线升级模块、数据操作模块、驱动控制模块、进程状态模块、规则定义模块和公共模块等。配置管理模块可以实现规则定义、更新设置、缓存设置、上报设置以及阻断设置;缓存管理模块管理文件访问数据缓存和上报数据缓存,用户浏览监控信息时,首先从缓存管理模块获取最新信息,不用操作数据库,加快浏览速度;在线升级模块实现文件下载、版本判断、更新列表获取、系统更新等功能;数据操作模块完成数据库的操作,上报数据和缓存数据;驱动控制模块完成驱动通讯,驱动状态控制,驱动规则应用等功能;进程状态模块实现主窗口状态判断,隐藏性判断,模块签名状态判断等功能;规则定义模块用来定义进程黑白名单,网络黑白端口,特定文件类型;规则分析模块根据定义的规则及数据判断当前的网络访问或者文件访问是否允许,如果不允许访问则由相应的网络过滤驱动模块和文件过滤驱动模块做禁止访问处理;公共模块定义端口进程映射表,设备名映射表,客户端信息采集等。其业务逻辑结构如图1所示。

图1 系统业务逻辑

2.2 基于进程行为的数据采集

数据采集的内容是包括隐藏进程在内的系统所有进程列表、文件访问记录、网络访问记录、端口进程映射表、进程数字签名信息、进程创建以及销毁等信息。

一个活动的进程必然有其访问行为,包括文件访问和网络访问。如果一个恶意的进程没有访问行为,就不会产生破坏行为,可以忽略它。系统采用文件过滤驱动拦截所有的文件访问,采用NDIS中间层驱动来截获所有的网络访问,因此当进程有访问行为时就会被截获。

2.3 详细的各种规则定义

规则定义包括访问网络端口黑白名单定义、进程黑白名单定义、特殊文件类型定义等,黑白名单表示进程是否允许创建,黑名单直接阻断,白名单不做监控。

当系统初始化后,首先判断网络与服务器的连接状态,如果已连接则进行认证服务和更新服务判断;如果未连接,则启动连接监听,将所有上报记录暂存在XML文件中。当连接认证通过后进行数据上报,如果数据上报未通过则暂存在XML文件中。

判断进程是否安全的基本规则是:(1)判断进程相应模块是否有数字签名;(2)判断进程是否有窗体;(3)判断进程是否是访问文件进程。根据这些规则加入相应的类型如表1所示,其中类型4和类型5需要上报。

表1 进程安全判断规则

2.4 数据分析

根据采集到的进程行为数据,应用规则定义进行数据分析,找出疑似以及可疑进程,并上报其行为。进程可信度分析有几项指标:第一是判断进程有无主窗口;第二是判断所加载模块是否有合法的签名;第三是判断是否有文件访问,且访问的文件类型是否在特定文件类型之列;第四是有网络访问时,判断是否有特定文件的访问。根据所定义的规则,依据上面的几项指标来确定进程的可信度。当进程无主窗口,且访问的文件类型包含有特定类型的文件,而且端口在规则定义之外,那么此进程就为可疑进程,根据所访问的文件,能准确分析出它的行为。

数据分析算法为:①判断访问网络的进程或者模块的主进程是否在规则中,如果不在则直接阻断;②判断访问文件的进程是不是在规则定义中,如果不在并且文件有访问网络的行为则直接阻断;③判断访问网络的进程或者模块的主进程是否在端口规则中,如果在而进程或者主进程不在进程快照列表中则阻断并上报;④判断访问网络的端口,如果端口不在规则中,则直接阻断并上报;⑤判断被访问的文件是特殊的文件,判断其进程或者主进程是否在进程快照中,如果不在则提醒并上报;⑥如果进程在进程列表中,进程访问文件也是合法的,访问网络也是合法的,则记录行为并上报;⑦判断进程创建,判断进程是否在规则定义中,如果不在则进行行为监控;⑧进程创建判断其是否为隐藏进程,如果是则阻断并上报,可以通过 Create Toolhelp32Snapshot()函数、进程环境块(KPEB)和线程环境块(KTEB)技术,获得进程链表和线程链表内容,检测系统中存在的隐藏进程;⑨判断进程创建模块,通过内核函数PsSet Create Process Notify Routine()和PsSet Create Thread Notify Routine(),检测操作系统中进程创建、远程线程注入、CMD调用等行为。

将数据分析的结果记录下来,调用上报接口,实时上报到指定的服务器或者缓存到本地嵌入式数据库并在程序主界面进行显示。

3 总结

这种通过内核模式检测文件访问与网络访问的组合检测机制不同于普通的防火墙技术,可以有效地监视文件信息的使用轨迹,控制非法程序对文件信息的访问,提高了系统的安全性,是保证信息安全的有力工具。

[1]张明,陈性元等.基于防火墙钩子的IPSec VPN 研究与实现[J].计算机工程.2009.

[2]汪利鸿.基于NDIS中间驱动程序的ARP防火墙设计[J].农业科技与信息.2008.

[3]符广全,王海峰等.基于文件过滤驱动的内核病毒防火墙技术[J].计算机应用与软件.2006.

[4]吴玉,娄智,基于操作系统内核的包过滤防火墙系统的设计与实现[J].湖南工程学院学报.2006.

免责声明

我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自各大过期杂志,内容仅供学习参考,不准确地方联系删除处理!