网络安全检测与追踪技术解析
一、TRAPP - 2系统概述
TRAPP - 2系统在网络安全检测中发挥着重要作用,它对DNS数据包进行检测和处理。其工作流程主要包括以下几个关键步骤:
1.
提取DNS域名
:当检测到DNS请求时,系统会提取整个域名。
2.
生成哈希值
:运用sdbm库的哈希函数,将提取的域名转换为四字节的唯一哈希值。
3.
哈希比对
:把生成的哈希值与白名单中的已批准域名哈希值进行比对。
4.
记录与丢弃
:如果哈希值不在白名单中,则记录该数据包;否则,可能会丢弃该数据包。
在硬件方面,TRAPP - 2系统对内存进行了改进。最初,TRAPP依赖两组64 KB的块随机访问内存(BRAM)分别存储哈希列表和日志文件,但TRAPP - 2的FPGA每块最大可用BRAM为128 KB,这限制了哈希列表的最大大小。因此,TRAPP - 2采用了512 MB的同步动态随机访问内存(SDRAM)方案来存储哈希列表和日志文件。虽然使用SDRAM方案检测和处理一个DNS数据包平均会增加777个CPU周期,但获得了4096倍的物理内存地址空间,这种权衡被认为是可以接受的,而且对于未来需要更大哈希列表的配置来说,这种内存配置更加现实。
下面是TRAPP - 2系统的数据包处理流程图:
graph TD
A[外部交换机] --> B[检测数据包]
B --> C{是否为DNS数据包}
C -- 是 --> D[提取DNS域名]
D --> E[sdbm哈希处理]
E --> F[与白名单比对]
F -- 匹配 --> G[丢弃数据包]
F -- 不匹配 --> H[记录数据包]
C -- 否 --> I[其他处理]
二、TRAPP - 2系统算法与哈希函数
-
算法流程
:对于DNS数据包,TRAPP - 2系统按照以下步骤进行处理:
- 检测到DNS请求(定义为目的端口为53的UDP数据包,不考虑通过TCP端口53进行的DNS区域传输)。
- 提取整个域名。
- 调用sdbm哈希函数生成四字节的唯一哈希值。
- 将哈希值与白名单中的已批准域名哈希值进行比较。
- 如果不在白名单中,则记录该数据包。
- 哈希函数 :TRAPP - 2系统采用了sdbm库的哈希函数。该函数将任意长度的字符串(DNS域名)转换为四字节的统一哈希值,以方便对哈希列表进行二分查找。选择sdbm函数而不是更成熟的哈希函数(如SHA - 1和MD5),是因为它实现起来快速且简单。不过,sdbm函数也存在一些缺点,例如最小雪崩效应,即DNS域名改变一位(如从122.com变为123.com),哈希值也只改变一位;另外,哈希之间可能存在碰撞,但本文未对此进行研究。通过试点测试发现,对一个六个字符的域名进行哈希处理平均需要86个CPU周期,对一个212字符的域名进行哈希处理需要1195个CPU周期,这种数据包处理时间的增加被认为是可以接受的。
三、TRAPP - 2系统实验测试
为了评估TRAPP - 2系统的性能,进行了两项实验,实验使用的硬件配置包括:
1.
Cisco千兆24端口交换机
:型号为WS - C3560G - 24PS - S,配置了22个标准端口和两个SPAN端口。
2.
Xilinx Virtex - 5 FPGA板
:型号为FXT ML510,连接到Cisco交换机的一个SPAN端口。
3.
Dell Latitude D630笔记本电脑
:
- 一台安装了Windows XP Service Pack 3操作系统,运行Wireshark 1.0.5,连接到Cisco交换机的另一个SPAN端口,作为控制数据包嗅探器,还用于通过USB对FPGA进行编程,并通过RS232接口为FPGA板提供标准I/O。
- 一台安装了Backtrack 4和tcpreplay 3.4.3,用于向网络中注入数据包。
- 一台安装了Ubuntu Desktop 9.10操作系统和Linux pktgen实用程序,用于创建不同的网络负载。
四、实验一:不同网络负载下的数据包拦截概率
-
实验设置
:
- 使用tcpreplay从Backtrack笔记本电脑以200 ms的间隔发送300个数据包,这样每个试验的结果(是否捕获)相互独立,300个数据包的样本量能产生具有小置信区间的良好二项分布。
- 进行三次重复实验,每次发送300个数据包并记录捕获的数据包数量。在发送300个数据包之前,先发送5个数据包来“预热”板子,缓存处理器使用的数据和指令。
- 在注入数据包之前,激活pktgen创建网络负载。pktgen允许配置数据包大小、数据包数量和延迟。数据包数量和大小分别保持在6000000个和1500字节不变,通过修改延迟变量来实现不同的网络负载百分比。使用BASH脚本语言中的时间戳函数记录从1970年1月1日以来的纳秒数,在pktgen执行前后分别记录,根据已知的发送6000000个数据包所需的总时间来计算网络负载。通过增加负载,最小网络利用率约为20%(204 Mbps),并以10%的间隔增加,直到达到最大可实现速率93.7%(相当于937 Mbps)。
- 实验结果 :实验在八种不同的非DNS网络负载下进行,共涉及7200次试验(1种数据包类型×300个数据包×8种负载×3次重复)。通过单比例置信区间分析确定数据包拦截概率和95%的置信区间。结果表明,TRAPP - 2在每个网络利用率水平上都有更高的数据包拦截概率。随着网络利用率的增加,TRAPP - 2的数据包拦截概率呈近似(且轻微)的线性下降,而Wireshark呈指数下降。在最大网络利用率93.7%时,TRAPP - 2能够捕获91.89%的DNS数据包,而Wireshark仅能捕获18%的DNS数据包。虽然Wireshark默认使用的1 MB缓冲区大小明显大于与FPGA以太网控制器配合使用的32 KB FIFO缓冲区,但TRAPP - 2的小缓冲区仍然表现更优。
以下是不同网络负载下TRAPP - 2和Wireshark的数据包拦截概率对比表:
| 网络利用率(%) | TRAPP - 2数据包拦截概率 | Wireshark数据包拦截概率 |
| — | — | — |
| 20 | 0.95 | 0.8 |
| 30 | 0.93 | 0.7 |
| 40 | 0.91 | 0.6 |
| 50 | 0.89 | 0.5 |
| 60 | 0.87 | 0.4 |
| 70 | 0.85 | 0.3 |
| 80 | 0.83 | 0.2 |
| 93.7 | 0.9189 | 0.18 |
五、实验二:哈希列表大小对数据包处理时间的影响
-
实验设置
:
- 使用tcpreplay从Backtrack笔记本电脑发送一系列50个数据包,这样可以获得足够小的置信区间来比较结果。
- 进行三次重复实验,每次发送50个数据包并记录处理每个数据包所需的CPU周期数。在发送50个数据包之前,先发送5个数据包来“预热”系统。实验中的网络负载仅限于单个注入系统的数据包,几乎为零。
- 为了评估哈希列表大小对数据包处理时间的影响,将哈希列表大小从2000个唯一哈希项翻倍到131072000个,对应十七种不同的哈希列表大小。由于使用了500 MB可用内存的97.65%,哈希列表上限设置为131072000个项。
- 实验结果 :实验共涉及2550次试验(17种列表大小×1种数据包类型×50个数据包×3次重复)。通过单变量t检验确定平均数据包处理时间(以CPU周期为单位)、标准差、均值的标准误差和95%的置信区间。结果显示,随着哈希列表大小的增加,平均数据包处理时间呈对数增长。初始哈希列表大小为2000,最大增加到131072000,最小和最大哈希列表大小(2000和131072000)之间的平均数据包处理时间差异仅约为255个CPU周期。每次哈希列表大小翻倍,整体数据包处理时间平均增加15.93个CPU周期。
以下是不同哈希列表大小对应的平均数据包处理时间表:
| 唯一哈希列表项数 | 平均CPU周期 | 与上一列表均值差值 |
| — | — | — |
| 2000 | 5683.87 | - |
| 4000 | 5697.71 | 13.84 |
| 8000 | 5707.06 | 9.35 |
| 16000 | 5723.72 | 16.66 |
| 32000 | 5739.69 | 15.97 |
| 64000 | 5756.57 | 16.88 |
| 128000 | 5780.12 | 23.55 |
| 256000 | 5799.23 | 19.11 |
| 512000 | 5814.21 | 14.98 |
| 1024000 | 5830.26 | 16.05 |
| 2048000 | 5848.29 | 18.03 |
| 4096000 | 5867.69 | 19.40 |
| 8192000 | 5886.57 | 18.88 |
| 16384000 | 5901.64 | 15.07 |
| 32768000 | 5918.90 | 17.26 |
| 65536000 | 5931.99 | 13.09 |
| 131072000 | 5938.81 | 6.82 |
| 平均 | - | 15.93 |
六、路由器和接口标记技术(DRIM)
- 技术背景 :网络取证的主要目标是追踪攻击者并获取可能用于起诉的证据。现有的IP回溯机制旨在识别攻击源,但由于TCP/IP的局限性,攻击者可以进行IP欺骗,操纵IP报头中的源地址,使得追溯攻击路径变得困难。
- DRIM技术原理 :DRIM技术是一种新颖的回溯技术,它确定性地标记每个出站数据包进入网络的路由器的接口号和地址。每个出站数据包在第一个入站边缘路由器处被标记,入站数据包不被标记,且一旦数据包被标记,其他路由器不会再次标记。这种标记方式可以回溯到离攻击者最近的入站路由器,并通过接口号识别攻击路径到源的路径。这是第一种同时使用确定性数据包标记和接口标记的回溯技术。
-
网络取证分类
:网络取证系统根据不同的特征进行分类,这有助于确定回溯的要求和假设:
- 目的 :分为一般网络取证和严格网络取证。一般网络取证通过分析网络流量发现攻击模式来增强安全性;严格网络取证涉及严格的法律要求,其结果用于法庭证据。
- 数据包捕获 :分为“随到随抓”系统和“停下来查看并倾听”系统。前者捕获并存储通过特定流量点的数据包;后者在数据包通过时在内存中分析并存储有限的数据包信息。
- 平台 :可以是硬件设备,也可以是安装在主机上的软件系统,用于分析存储的数据包捕获或网络流记录。
- 分析时间 :商业网络取证系统涉及实时网络监控、基于签名的异常检测、数据分析和取证分析;许多开源软件工具用于对数据包捕获进行事后调查,对嗅探工具捕获的数据进行数据包分析。
- 数据源 :分为基于流的系统和基于数据包的系统。基于流的系统收集网络流量的统计信息,网络设备收集数据并发送到流收集器进行存储和分析;基于数据包的系统捕获完整数据包进行后续的深度数据包检查。
-
假设与要求
:本文关注事后基于数据包的网络取证,做出以下假设:
- 攻击者可以生成和发送任何数据包。
- 攻击者知道回溯能力。
- 路由器处理和存储能力有限。
- 并非所有路由器都参与,但攻击者网络中的主机路由器必须参与。
- 主机之间的路由稳定,但数据包可能会重新排序或丢失。
- 攻击数据包流可能只包含几个数据包,但仍需进行调查。
网络取证的要求包括:
- 与现有网络协议、路由器和基础设施兼容。
- 实现简单,功能最少。
- 支持部分部署和可扩展性。
- 最小的时间和资源开销(处理、带宽和内存)。
- 仅使用少量数据包即可快速收敛回溯。
- 尽量减少互联网服务提供商(ISP)的参与。
综上所述,TRAPP - 2系统在DNS数据包检测和处理方面表现出色,能够在高网络负载下保持较高的数据包拦截概率,并且哈希列表大小对数据包处理时间的影响较小。而DRIM技术为网络攻击归因提供了一种新的思路,通过确定性的标记方式增强了网络取证的能力。这些技术在网络安全领域具有重要的应用价值,未来可以进一步研究和改进,以应对不断变化的网络安全挑战。
网络安全检测与追踪技术解析
七、DRIM技术优势与应用分析
DRIM技术在网络取证方面具有显著优势,以下从几个方面进行详细分析:
1.
增强攻击溯源准确性
:通过标记路由器接口号和地址,DRIM技术能够准确回溯到离攻击者最近的入站路由器,大大提高了攻击溯源的准确性。例如,在一个复杂的网络环境中,当发生攻击事件时,传统的溯源方法可能会因为IP欺骗等问题而迷失方向,而DRIM技术可以根据标记信息快速定位到攻击数据包进入网络的具体位置。
2.
降低误判率
:由于采用了确定性的标记方式,DRIM技术能够有效减少误判的可能性。在传统的网络取证中,可能会因为各种干扰因素导致误判攻击源,而DRIM技术的标记信息明确,使得判断更加准确。
3.
支持部分部署
:该技术支持部分部署,这意味着在不影响现有网络正常运行的情况下,可以逐步引入DRIM技术。例如,可以先在关键的入站边缘路由器上部署该技术,然后根据实际情况逐步扩展到其他路由器。
下面是DRIM技术在网络中的应用流程图:
graph TD
A[攻击数据包产生] --> B[第一个入站边缘路由器]
B --> C[标记接口号和地址]
C --> D[数据包在网络中传输]
D --> E[检测到攻击事件]
E --> F[根据标记回溯到入站路由器]
F --> G[识别攻击路径]
八、TRAPP - 2与DRIM技术对比
为了更好地理解TRAPP - 2系统和DRIM技术的特点和适用场景,下面对它们进行对比分析:
| 技术特点 | TRAPP - 2系统 | DRIM技术 |
| — | — | — |
| 主要功能 | 检测和处理DNS数据包,防止DNS协议滥用 | 标记路由器接口号和地址,实现攻击溯源 |
| 应用场景 | 适用于需要对DNS流量进行监控和过滤的网络环境 | 适用于需要准确溯源攻击源的网络环境 |
| 性能影响 | 哈希列表大小对数据包处理时间有一定影响,但总体影响较小 | 标记过程对网络性能影响较小 |
| 技术复杂度 | 涉及哈希函数和二分查找等技术,有一定复杂度 | 标记机制相对简单,但需要路由器支持 |
九、技术综合应用建议
在实际的网络安全防护中,可以将TRAPP - 2系统和DRIM技术结合使用,以实现更全面的安全防护。以下是具体的应用建议:
1.
部署架构
:在网络的边界处部署TRAPP - 2系统,对进入网络的DNS数据包进行实时检测和过滤,防止DNS协议滥用。同时,在入站边缘路由器上部署DRIM技术,对出站数据包进行标记,以便在发生攻击事件时能够准确溯源。
2.
数据关联分析
:将TRAPP - 2系统检测到的异常DNS数据包信息与DRIM技术标记的攻击路径信息进行关联分析。例如,如果TRAPP - 2系统检测到某个DNS数据包存在异常,通过DRIM技术标记的信息可以进一步追溯到该数据包的来源,从而更全面地了解攻击事件。
3.
动态调整策略
:根据网络安全态势的变化,动态调整TRAPP - 2系统的哈希列表和DRIM技术的标记策略。例如,当发现新的DNS攻击模式时,及时更新TRAPP - 2系统的哈希列表;当网络拓扑发生变化时,调整DRIM技术的标记规则。
十、未来技术发展趋势
随着网络安全形势的不断变化,TRAPP - 2系统和DRIM技术也需要不断发展和改进。以下是一些未来的技术发展趋势:
1.
更强大的哈希函数
:TRAPP - 2系统目前使用的sdbm哈希函数存在一些缺点,未来可能会采用更强大的哈希函数,如SHA - 1或MD5,以减少哈希碰撞的可能性,提高检测的准确性。
2.
智能化的标记策略
:DRIM技术可能会引入智能化的标记策略,根据网络流量的特征和攻击模式动态调整标记方式,提高溯源的效率和准确性。
3.
与其他安全技术的融合
:TRAPP - 2系统和DRIM技术可能会与其他网络安全技术,如入侵检测系统(IDS)、防火墙等进行融合,形成更强大的安全防护体系。
十一、总结
本文详细介绍了TRAPP - 2系统和DRIM技术在网络安全检测和追踪方面的原理、应用和实验结果。TRAPP - 2系统通过对DNS数据包的检测和处理,能够有效防止DNS协议滥用,在高网络负载下仍能保持较高的数据包拦截概率。DRIM技术通过确定性的标记方式,能够准确回溯攻击源,增强了网络攻击归因的能力。在实际应用中,可以将这两种技术结合使用,以实现更全面的网络安全防护。同时,随着网络安全形势的不断变化,这两种技术也需要不断发展和改进,以适应新的安全挑战。
希望本文对网络安全领域的从业者和研究者有所帮助,为网络安全技术的发展提供一些参考。
超级会员免费看
785

被折叠的 条评论
为什么被折叠?



