可以绕过深度包检测的开源工具——SymTCP
星期一, 二月 17, 2020
近日,安全学者发布了一种开源工具,可以绕开深度包检测(DPI),同时可以作为DPI有效性的强大检测工具。
该软件被称为SymTCP,据称可自动发现两个TCP实现之间的细微差异。
具体来说,SymTCP可用于识别服务器与DPI之间的差异,并利用这些差异来规避深度数据包检查(DPI)。
DPI对于防止公司IT系统的缓冲区溢出和中间人(MitM)攻击而言非常有用,而且也可以用于ISP级的监视和检查块建立。
在题为《SymTCP:规避全状态深度包检测与自动差异发现》的论文中,来自加州大学的计算机科学系和工程学者演示了如何绕过DPI机制。
根据该团队,DPI系统通常使用网络堆栈的简化状态,这些状态并不是最终主机确切实现的完整副本,可以通过数据包分段或操纵来利用二者的差异。
SymTCP首先在服务器的TCP实现上运行“符号执行”,然后扫描收集数据包检测标记为“接受”或“丢弃”的执行路径。
然后,用生成的数据包序列检查DPI系统,以确定DPI和服务器以相同的方式处理哪些数据包序列。
如果检测到处理上的差异,则开源工具能够创建可到达负责接受或丢弃请求的代码中的核心元素的数据包,从而有可能避免DPI中间盒检查。
论文写到:然后,将自动识别的数据包通过DPI中间盒馈送,以确定是否引起差异并且可以避开中间盒。
研究人员说,绕过DPI的现有方法通常需要手工制作的恶意数据包才能执行,因此可能会占用大量人力,并且受到规避范围的限制。
相比之下,SymTCP项目的目标是创建一种自动方法来开发对抗性数据包。
该团队表示,专注于符号执行被证明是“极其有效的”,并且有可能在“不到一个小时的时间内创建成千上万个候选对抗包”。
该系统可以很容易地扩展到操作系统和DPI中间盒的其他组合,并且可以作为测试未来DPI有效性的强大工具。
据团队所知,大多数DPI产品无法防御SymTCP中使用的逃避方法。
该论文的作者之一钱志云在接受《每日新闻》采访时说,该工具的设计足够灵活,任何人都可以使用,无论他们是渗透测试人员还是企业网络安全部门的红队成员。
但是,钱志云警告说,由于SymTCP是作为学术研究目的而开发的原型,“可能存在尚未发现的意外问题”。
SymTCP的源代码和数据集已在GitHub上发布。
《SymTCP:规避全状态深度包检测与自动差异发现》论文链接:
https://www.cs.ucr.edu/~zhiyunq/pub/ndss20_symtcp.pdf
相关阅读