薛莹
(陕西警官职业学院,陕西西安 710016)
随着计算机与通信技术的不断发展,针对各类互联网设备的犯罪案件逐渐增多。传统的侦查取证手段受制于人力与时间,无法适应计算机犯罪快速、大量的特点,我国亟需新型的网络安全监控手段弥补计算机犯罪侦察的空缺。
蜜网技术能够检测数据网络和信息系统中存在的任何类型入侵者或漏洞[1]。通过引入数据挖掘工具对蜜网捕获的恶意连接进行分析,可以有效提高对网络攻击的识别效率并降低误报率。该文为了配置蜜罐,创建了蜜网网络,并在虚拟主机上配置相应蜜罐,同时为管理员设计了后台管理程序。
为方便后台管理,顺利实现数据的监测与集中分析,该文在蜜网中配置了一个虚拟网络。该网络通过虚拟化软件充当一台计算机,允许同时执行多个操作系统,从而创建主机系统的资源来模拟执行不同机器中的服务[2]。
因为网络中建立了单个访问地址,该文通过建立Web 浏览器以实现对监视服务的管理与更优的控制[3]。网络管理员可以专门修改蜜网从而避免消耗蜜罐,实现检测现有入侵的类型[4],利用监视功能增加防火墙规则或阻止与数据网络的恶意连接。
该次使用的Linux 系统通过命令或bash 配置来处理所有类型的管理。其用于修改此文件的配置位于根目录与文件夹etc中,名称为honeywall.conf[5]。通过使用系统中安装的某些文本编辑器或使用发送相应的命令在终端上运行HWCTL[6]。
由于菜单可以直接与蜜网防火墙系统交互,因此使用菜单进行配置。该次定义的管理具有6 种访问类型:
1)状态[7]:用于表达蜜网防火墙的当前状态;
2)操作系统管理[8]:蜜罐配置基本操作系统;
3)蜜网防火墙管理[9]:用于确定蜜罐的配置或参数化模块规则;
4)蜜网防火墙配置[10]:用于从蜜网网络排除过程中的配置文件;
5)文件[11]:蜜网防火墙所用的常规信息;
6)退出[12]:退出管理界面的工具。
蜜网防火墙通过只读存储器光盘(CDROM)在本地硬盘中安装和配置蜜罐的网关,一旦安装结束,安装信息即被擦除[13]。蜜网防火墙基于Fedora Core 6,默认情况下工作环境为GNOME Shell[14]。其操作是捕获并分析蜜罐的所有传入和传出的流量,基本的网络配置如图1 所示。
图1 蜜网防火墙基本配置
为提高蜜网的自动化运行程度,将蜜网防火墙配置为自动更新,并寻找蜜网防火墙的最新操作系统和软件包管理器。如图1 所示,至少配置两个网卡,一个网卡可连接到外部Internet 网络,另一个网卡可以连接到内部网络或陷阱网络[15-16]。
为了对蜜罐进行适当的管理,蜜网防火墙为管理员提供了3 个配置选项,如图2 所示。
图2 蜜网防火墙结构
蜜网的正常运行需要建立在对网络数据的正常识别之上,文中使用特征生成算法对通信网络中的蠕虫进行识别。针对单个和多个多态蠕虫,使用特征生成算法生成身份签名,实现检测多态蠕虫实例之间共享的不变子字符串,最终完成对恶意流量的识别。
若输入是单个多态蠕虫(即同一多态蠕虫的诸多实例),则该算法将执行以下步骤:
1)子字符串提取:对于每个实例提取子字符串;
2)二进制表示形式转换:算法将每个实例子字符串转换为二进制表示形式,并按升序对其排序,然后将所有实例中的一个实例作为度量实例;
3)比较:在所有实例中,算法均会将每个实例的二进制表示形式与测量实例进行比较,以找出在所有实例之间共享的不变子字符串并将其用作签名。
单个多态蠕虫的签名生成如下:定义一个具有n个实例(A1,…,An)的多态蠕虫A,Ai的长度等于mi,i=1,…,n。现将实例A1视为字符串令X为从A1中提取的子串最小长度,A1中第一个长度为X的子字符串是(a1a2…aX)。然后向右移动一个位置,提取一个新的子字符串(a2a3…aX+1) 。继续这种方式,Ai的最后一个子字符串将是通常而言,若Ai长度等于M,最小长度等于X,则将通过以下等式获得TSE(Ai)的总子串提取:
然后将X加1,并从A1的头部开始提取新的子字符串。即第一个子字符串为(a1a2…aX+1),子串的提取将继续满足X 在字符串提取的基础上,对其进行二进制表示。对于多态蠕虫A 的每个实例,该算法均会将其子字符串转换为二进制表示形式,然后使用快速排序对每个实例的二进制表示形式进行排序。字符串的二进制表示形式,如表1 所示。 表1 字符串二进制表示形式 对生成的二进制字符串,通过比较法来提取实例之间的关系,采用不变的二进制子字符串表示签名。对于i=2,…,n,将A1的二进制表示与Ai的二进制表示进行比较。当Ai的二进制表示值等于A1时,即可将其转换为字符串并视为签名。 比较算法的运作方式如下:首先,比较A1(S1J)和A2(S2K)的二进制表示形式。若J≤M1且K≤M2,则算法继续;否则停止。可能出现如下3 种情况: 1)若S1J>S2K,则忽略连字符串间的比较,然后将S1J与S2K+1进行比较; 2)若S1J=S2K,则将S1J视为签名,然后将S1J+1与S2K+1进行比较; 3)若S1J 该文将所有不变的二进制表示形式存储在签名池中。签名池将新的不变二进制表示形式与现有不变二进制表示形式进行比较,以防止签名冗余。然后,将对应于不变二进制表示形式的子字符串作为多态蠕虫签名。 假设有两种不同类型的多态蠕虫A 和B,A 有n个实例(A1,…,An),B有m个实例(B1,…,Bm)。在多态蠕虫A 和B上,执行在单个多态蠕虫上应用的相同步骤。 在比较步骤中,将一个实例作为其余实例的度量实例。若测量实例为A1,则将其与其余实例(A2,…,An,B1,…,Bm)进行比较。可以发现,在其余实例中,有一些具有与A1匹配高的二进制表示,还有一些则具有与A1匹配低的或零二进制表示。这意味着具有较高匹配的二进制表示实例是A 的其余实例(A2,A3,…,An),其他实例则是B 实例。采用“单蠕虫”中相同的方式,将较高匹配的二进制表示形式存储在签名池中,然后将与较高匹配的二进制表示形式相对应的子字符串作为多态蠕虫签名进行匹配。 由此即可完成多态蠕虫A 生成签名,但随后仍需要为多态蠕虫B 生成一个签名。 通过设计实验,对基于蜜网技术的安全网络进行实际测试验证。为了创建规则来检测和阻止对蜜网的恶意攻击,收集有关针对服务器的攻击或攻击模式的信息尤为重要。例如,若有意访问数据库服务器,则所研究的蜜罐系统必须了解其攻击类型以及违反了哪种服务。一旦服务器陷阱获得了攻击模式,保护系统则会根据之前在防火墙或入侵检测系统中配置的规则类型生成警报。每条指令均会生成一个行为统计信息,可以按服务、协议、IP 等进行区分。在服务器上检测到的攻击时间取决于攻击者使用的机制,如图3 所示。 图3 DDoS攻击统计 该文使用Wireshark 工具用于分析数据网络中的数据包,并将结果制成表格。表2 显示了在受控环境中几种攻击类型的作法,以及可能攻击者的IP、连接的类型以及IDS 访问的规则,还观察到了整个蜜网网络中蜜罐的IP。 表2 可疑网络接入报告 根据网络检测的统计结果,网络管理员可使用两种类型的限制来检测、阻止网络接入,分别是黑白名单和鼻息规则。 为了对搭载在硬件上的蜜网进行性能评估,基于SMTP 协议设计了一个测试,以监视在并发入站连接下到达蜜罐的第一个推送数据包的延迟,蜜罐中安装了SMTP 服务器(Postfix)。SMTP 客户端脚本已安装在远程攻击设备上,该脚本由以下5 个SMTP 命令序列组成: 实验以每秒10 个连接的速度运行自动SMTP 客户端脚本。该文记录了到达蜜罐的每个连接的第一个推送数据包的持续时间,图4 为不同场景下的实验结果。 图4 不同场景下的连接延迟 图4中,当包含有效载荷的第一个推送数据包到达蜜罐,则意味着攻击者与蜜罐之间的TCP 连接已建立。因此到达蜜罐网络接口的第一个数据包时间戳,可用于计算建立TCP 连接的持续时间。实验结果表明,由网关和流量重定向机制处理后的连接比正常的前向连接所需要的等待时间长得多,而由流量重定向机制处理的连接等待时间短于正常的前向连接。分析可知,蜜罐网络的等待时间较短,因此更适合于捕获自动攻击的情况。进一步表明了添加的蜜网流量控制机制提供了更复杂的功能,但不会造成性能损失。 在实时攻击捕获期间,发现了28 099 起攻击事件。通过分析这些攻击数据可知,多数网络数据可通过设置过滤规则来减少计算机负载。为了尽可能多地捕获数据,文中未设置数据过滤规则。若获得更细粒度的流量,则可以实现数据缩减。通过引入鼻息规则,攻击频率从每天几百次减少到每天几次,因此自定义流量分类可强制执行有效的数据缩减。 网络攻击通常针对数据网络或其提供的服务。文中使用模拟蜜罐网络陷阱来确定攻击的源头从而获取数据,通过先前在网络陷阱模拟中检测到的攻击模式来生成流量警报。通过实验对设计的蜜网网络的拦截数据统计分析、连接延迟等关键指标进行验证,证明该设计的鲁棒性与安全性。 在通信网络日益扩大的背景下,如何将集中式的蜜网安全网络扩展至分布式网络中并提高设备接入的管理灵活性,将是今后研究的重点。2.2 多个多态蠕虫签名
3 实验验证
4 结束语