在计算机安全中,侧信道(side-channel)攻击是一种收集计算机软硬件在运行时所释放出的额外信号(如电磁辐射、声音、时序信息等)来进行密文破译的攻击模式。
最早的侧信道(side-channel)攻击
根据NSA解密文件显示,早在1943年,一名贝尔电话工程师就发现每当有人在电传打字机上打字时,会导致附近的示波器的读数波动,接着NSA进一步发现任何接近电传打字机的人,只要能读到它的电磁辐射,就有可能破译它的打字击键信息,这个秘密直到1980年代才被公开。
思科的ETA (Encrypted Traffic Analytics)技术
2016年,思科的工程师David McGrew专门针对TLS加密流量研发了一种增强的NetFlow日志(ETA)。
传统 NetFlow中存在的5 个特征:单向流的持续时间、客户端发送的数据包数量、服务器发送的数据包数量、客户端发送的字节数、服务器发送的字节数。增强的ETA日志包括新的IDP、SPLT和BD这三个特征,而后两种特征和侧信道检测相关。
Sequence of Packet Lengths and Times (数据包长度序列和到达时间): 双向流的前几个数据包的有效负载长度(字节数),以及数据包的序列时间。
Byte distribution(字节分布):某一特定字节值在某个流中报文的载荷中出现的概率。
这两种特征工程数据是对流量通信时所产生的额外信号进行侧信道分析,比如一个网络行为会产生什么规律的上下行数据,这就需要大量的网络行为数据使用机器学习进行画像,画像后可以帮助安全人员发现和分析大量的网络流量异常,实际上思科也这么做了:)
Suricata的侧信道状态机规则
2018年,Positive安全公司在SuriCon上为Suricata的流量检测研发了一种侧信道状态机规则,可以用侧信道方法检测木马病毒的加密流量。
首先,Positive的侧信道规则使用的还是Suricata原生能力,针对Suricata约定的Flow(双向的TCP连接)中的dsize(报文大小)和stream_size(上、下行流大小),这相当于靠stream大小范围实现了有序列但没有时间频率的SPLT数据。
然后,Positive使用了Flowbits来标记多个报文在一个Flow里上、下行流中的匹配状态,从而实现了多个序列报文的状态机规则。
Positive巧妙的利用了状态机为suricata实现了侧信道流量检测能力,可以检测一次完整TCP Flow上下行中的报文大小规律,当然这也只能对有明显侧信道特征的木马病毒通信进行异常告警。
感悟小结
这么多年来,网络流量的安全检测在加密通信面前仍处于非常弱势的状态,侧信道流量检测技术一定程度上为流量安全指了一条明路,Positive的技巧很让人惊艳,但是由于suricata的定位是流量的实时检测,对于性能有要求也没法实现更多的跨流检测,复杂的检测只有离线分析了,综合来看这类技术最后如果没有形成大数据体系是很难有效的,所以想想思科花了近8年的时间构建庞大的ETA遥测体系,其中的过程会有多少故事呢~?
原文始发于微信公众号(赛博攻防悟道):浅谈侧信道流量检测技术
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论