来自Fox-IT的安全专家已经开发出一种可检测NSA Quantum注入攻击的方法,并写出一份有趣的报告,将之公之于众。
Quantum注入剖析
Quantum注入攻击是一种“情报窃取”技术,最初由斯诺登披露的文档曝光。
这种技术典型攻击方案就是“HTML重定向”攻击,说简单点就是往受害者流量里注入恶意内容。攻击者在受害者的TCP会话注入了恶意代码,比如可持续追踪的cookie,就可以精确监控这个受害者。一旦确定某段session是归属于受害者后,攻击工具组件便会迅速将恶意代码注入含这段session的数据流,最后黑掉受害者。
Quantum在攻击时会将恶意代码注入到受害者特定的TCP会话中,该会话是基于选择器(selectors)进行注入的,比如前面提到的可持续追踪cookie的技术。
在报告中提到:
“该注入得通过监控网络流量,并且截获HTTP请求做大量分析,最后才能实现的。当攻击者需要监控某个目标时,攻击设备将发送伪造的TCP数据包。为了将特制的伪造数据包注入到某个会话里,攻击者需要事先了解该会话的内容。”
攻击原理
攻击设备会分析每个TCP包里的HTTP请求中的信息,然后对这些TCP包进行更改,所需要的信息有:
源/目的IP地址
源/目的端口
序列号/确认号
只有当合法WEB服务器响应之前,数据包被抢先成功注入到目标中,Quantum注入攻击才算成功。也就是说,攻击者可以扮演中间人,冒充WEB服务器的角色,从而黑掉目标。
检测工具问世
专家小组发布了一套免费的开源工具,它可以根据数据大小的不同,检测HTTP数据包的重复序列,从而可以查出是否存在Quantum注入攻击。
Fox-IT表示:“如果我们检测到不同payload的重复TCP数据包,或者是检测TCP数据流里含有异常数据时,我们就可以查找出Quantum注入攻击的痕迹。”
根据每个实体发出的Quantum注入攻击,可以捕获并操作受害者的流量,斯诺登曾经披露过一些情报机构(如英国的GCHQ)采用了该技术。
最近CitizenLab也揭秘了一个相类似的攻击平台——超级加农炮。
安全建议
HTTPS和HSTS的使用可以减少Quantum注入攻击的危害,CDN也是个提升实施Quantum注入攻击难度的法子。
Fox-IT已经创建了不少数据包捕获检测的工具,以此来检测Quantum注入攻击,GitHub上也已提供相应的代码。