首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何区分实时流量中的加密和压缩

如何区分实时流量中的加密和压缩
EN

Stack Overflow用户
提问于 2018-07-13 07:22:40
回答 2查看 661关注 0票数 1

我致力于网络流量过滤,我需要将输入IP流量分为3组:

  • 加密通信量
  • 压缩业务
  • 既不加密也不压缩流量

压缩数据和加密数据具有许多相似的属性,如内容直方图中的熵和字符离散。所以很难区分它们。

在数据块较大(> 1MB)时,可以采用卡方分布、Pi逼近误差和熵方法对数据进行分类。http://www.devttys0.com/2013/06/differentiate-encryption-from-compression-using-math/

该算法由于数据量小(~1k),算法精度不高。

问题

如何在实时流量(~1k数据块)中区分加密和压缩,准确率超过90 %?

我知道现代深包检测系统已经实现了一些算法来解决这个问题。

你有什么想法吗?

EN

回答 2

Stack Overflow用户

发布于 2018-07-13 14:35:33

唯一的方法是知道有一套有限的压缩数据格式可能。然后,您可以开始使用所有这些格式进行解码。如果一个工作距离是合理的(例如,大约100个字节),那么很有可能是一个未加密的压缩流。

否则,加密良好的数据、压缩的数据和随机数据都是无法区分的。

票数 1
EN

Stack Overflow用户

发布于 2018-07-13 21:08:15

你可以利用香农的熵分析来设计一种启发式的方法。压缩文件在字典大小边界上可能会出现熵下降,而(好的)加密文件则不会。

几乎没有机会区分压缩加密文件和未压缩加密文件。实现良好的加密将泄漏关于明文的零信息,也不会通过熵泄漏。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51319755

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档