使用 psad 进行主动响应:权衡、配置与示例
主动响应的权衡
自动响应攻击,例如生成破坏会话的流量或修改防火墙策略,并非毫无代价。攻击者可能很快会注意到与目标系统的 TCP 会话被终止,或者与目标的所有连接都被切断。最合理的推断是,某种主动响应机制已被部署来保护目标。
如果主动响应系统被配置为对相对无害的流量(如端口扫描或端口遍历)做出响应,攻击者就很容易利用这种响应机制并反过来攻击目标。对于那些不需要与目标进行双向通信的恶意流量(这使得攻击可以被伪造)也是如此。“Witty 蠕虫”就是一个典型的例子。
攻击类型
许多提供主动响应功能的软件(包括 psad)允许将特定主机或网络列入白名单,这样即使攻击者从这些网络伪造端口扫描或其他恶意流量,响应机制也不会采取行动。然而,软件管理员不太可能将所有重要系统都列入此列表,因此攻击者的限制仅在于个人创造力。例如,TCP 空闲扫描甚至需要伪造扫描才能正常工作。
更好的攻击响应策略是让响应机制仅对攻击者和目标之间需要双向通信的攻击做出响应。通常,这意味着攻击者已经建立了 TCP 连接并利用它发动攻击(例如对 Web 应用程序的 SQL 注入攻击,或试图通过监听 TCP 端口的应用程序中的缓冲区溢出漏洞迫使目标执行 shell 代码)。
检测已建立的 TCP 连接中的攻击,需要检测系统维护一个已建立连接的表,并在这些连接中查找攻击。毕竟,具有逼真序列号和确认号的 TCP 数据包是可以被伪造的,但这些数据包并不属于任何真正建立的连接,这就需要检测机制来判断。
误报
所有入侵检测系统都有产生误报的倾向,即将正常活动误判为恶意活动。漏报,即在存在真正的恶意流