加密一直是保护用户通信隐私的一个重要特征,但如果恶意程序在通信过程中加密,拦截这样的流量就会有很多麻烦。谈到加密,TLS(Transport Layer Security Protocol,传输层安全协议)是目前广泛使用的协议:国外一些研究机构的数据显示,最多60%的 *** 流量被使用TLS,当然也包括一些恶意程序(虽然只有10%左右)。
思科的一组研究人员最近开发了一种不需要解密这种流量的 *** 来检测TLS连接的恶意程序感觉有点神奇吗?
TLS协议
这是怎么做到的?
思科公布了题为识别使用的研究报告TLS恶意程序(无需解密)(英语实际上表达得更准确,叫做”Deciphering Malware’s use of TLS”)。事实上,我们更一般地总结原则TLS协议本身引入了一系列复杂的数据参数特征——可以观察和检查这些特征,自然可以对通信双方做出一些合理的推断。
报告中提到:“通过这些特点,我们可以同时检测和理解恶意程序通信模式TLS加密属性本身也可以提供良性的隐私保护。”听起来像是理想的新技术——判断流量解密流量的情况下密流量,确实意义重大。
为此,思科分析了大约18个恶意程序家族的数千个样本,并在数百万加密数据流中分析了数万个恶意连接。在整个过程中, *** 设备确实不处理用户数据,只使用它DPI(深度包检测技术)识别clientHello和serverHello握手信息,识别连接TLS版本。
“本报告主要针对433端口TLS加密数据流,尽可能公平地比较企业的一般情况TLS流量和恶意TLS流量。确认数据流是否为TLS,我们需要使用它DPI,以及基于TLS版本的定制signature,还有clientHello和serverHello信息类型。”
“最后,我们在203个端口上发现了229364个端口TLS443端口目前恶意TLS流量使用最常见的端口。尽管恶意程序端口使用多种多样,但这种情况并不少见。”
不仅如此,据说他们还可以根据流量特征将这些恶意流量分类为不同的恶意程序家庭。“我们***还显示,恶意程序家族在只有这些 *** 数据的情况下进行分类。每个恶意程序家族都有自己独特的标签,所以这个问题转化为不同类别的分类问题。”
“即使使用相同TLS我们仍然可以识别和准确地分类参数,因为它的流量模式与其他流量的特征不同。我们甚至可以识别恶意程序更详细的家庭分类,当然,只有通过 *** 数据。”
事实上,研究人员自己写了一个软件工具,从实时流量或获取的数据包文件中输出所有数据更方便 *** ON格式,提取上述数据特征。包括流量元数据(进出字节、进出包、 *** 端口号、持续时间)、包长度和到达间隔时间顺序(Sequence of Packet Lengths and Times)、字节分布(byte distribution)、TLS头信息。
其实我们谈了这么多,还是很抽象的,整个过程还是有点复杂兴趣的学生可以点击这里下载思科提供的完整报告。
分析结果的准确性很好
思科自己认为,分析结果相对理想,其机器学习机制也整合在整个过程中(他们称之为机器学习)classifiers,应该是指企业正常TLS对流量和恶意流量进行分类的机制,甚至对恶意程序家族进行分类),只是为了测试这种机制。据说,恶意程序家族分类的准确性已经达到90.3%。
“在针对单独、加密流量的识别中,我们在恶意程序家族归类的问题上,能够达到90.3%的准确性。在5分钟窗口的所有加密流量分析中,我们的准确性是93.2%(make use of all encrypted flows within a 5-minute window)。”
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。