Pages

Wednesday, 16 September 2015

eMule的乱序协议加密已经玩完了

突然觉得几年前的事情现在应该又走到了一个拐点。
6年前我们会用squid都很容易绕过限制了,然后是socks,加密socks,dns还原,然后是ssh,openvpn。
现在都开始搞机器学习来封锁了。
那么这就是一个策略问题了:
  1. 封锁的研究是针对公开协议的,而且是黑盒。
  2. 任何破解技术都会被封锁黑盒反馈。敌人在暗处,大众在明处,这显然不是一个有利位置。
所以,任何公开的破解策略,都会最终被封锁技术打败。
我觉得任何分享hosts什么技术的都是傻逼行为。
以后的破解,一定是地下组织,单向联系,各自之间无交集,经常变换自定义二进制协议隧道。
这样才有的搞。
btw 另外我觉得大家应该学习下SVM投毒。这个是未来的必要生存手段。
bbtw 另外slashdot上这帮人开始思考人脑投毒了。认知科学和心理学的逆袭?
当然也有网友在原文留言提出了自己的观点:
1,首先,反封锁目标就是公开公众普遍使用,不然就没有意义,
如果公开即失效 即加密级别初级 例如hosts,
2,被破解是所有加密类型情况都会遇到的,只要是应用广泛被会不断被攻击测试破解,不仅是网络传输安全
3,加密不仅是对翻墙的需要,也是商业网络机密安全的需要,也是未来网络的安全基础,不容易被篡改窃听阻塞的网络是自身自由传播的需求,
4,加密与破解 是同时在不断发展, 大家都在等待寻求一个技术拐点, 创造一种易用,在当时能力范围内无法被破解的技术.
5,封锁不是单纯的技术,是政治行为,单纯依靠技术的力量也是有限的.
6,尽力传播,让更多的人自由了解其他信息事实是反封锁的目标,让更多人知道存在封锁也是有效果,
所以我认为尽力发展各种易用加密方案 跟不同的公开方法交流学习 ,创建更多idea 跟商业融合在一起,跟更多的人使用融合在一起 反而是更安全可扩展的技术,一项技术因为使用人的众多 才有东西不断发展,
就比如vpn,因为可以付费,就有动力去商业化,就有人不断的针对vpn加强技术,不仅可以获取自由信息,也可以商业化高级加密线路的需求
我想到的方案是 开发易部署的 vpn 支持500+用户使用, 然后把这套方法开源 购买国外一个vps一键部署那种, 由于很多初级程序员能够部署这种东西,又能盈利, 价格10元每月在人均可以接受的范围内, 而又因为 局部vps节点分散 数量众多难以全部屏蔽海外机房的所有ip 和所有 和商业公用的服务 而遇到技术问题 使用的人很多反而更有希望解决.

---------------

GFW封锁OpenVPN 与 加密流分类的学术论文


一篇有方校长署名的一篇综述文章“网络流量分类研究进展与展望”,其中介绍了流量分类面临的挑战与技术手段,部分内容似乎与最近封锁OpenVPN有关:
4.2 加密流量分类
随着网络资源和带宽的逐渐完善,用户更注意保护隐私,加密应用被广泛使用,加密流分类成为流量 分类中的挑战性问题之一。
传统的基于熟知端口号的流分类方法在大多应用 端口随机可变和端口共用情况下已经失效,而基于有 效负载的流分类方法对加密流量也束手无策,并且存 在隐私侵犯的问题,耗费资源较大。
2006年以来,在流量分类领域,对加密流的分类 问题成为一个重要的研究方面,大多数研究都采用了 基于流特征的统计识别方法。目前研究的加密流量主 要包括四类典型流量:SSH隧道、IPSEC隧道、SSL, 以及P2P的加密流量。其中,对于SSH的研究较多, 主要侧重于对SSH隧道中的应用进行有效的分类识 别,使用的方法基本都是基于流特征的识别,主要使 用机器学习的方法,例如朴素贝叶斯、C4.5决策树、 SVM、k-means、k-nearest neighbor等算法,还有 基于高斯混合模型(Gaussian mixture models)、 隐马尔可夫模型(hidden Markov model, HMM)和 最大似然分类等,另外还有使用基于主机行为的分类 方法[37],主要基于协议连接模型,通过源IP、目的 IP和连接特征等特征值来识别,但这种方法自身具有 一定局限性,且不容易达到高精确度,因此研究者一 般较少使用。
对于SSL和SSH流量的分类通常分为两步[38][39], 第一步根据协议自身特性(如协议首部特定字节的特 征或密钥交换特征等)识别出SSL或SSH流量,第二步 对加密隧道中的不同应用数据流进行分类。Dusi[40] 等人使用高斯混合模型(GMM)和支持向量机(SVM) 技术,对运行在SSH隧道中的应用(假设同一时刻SSH 隧道中只有一种应用)进行分类(包括HTTP、POP3、 POP3S、EMULE、unknown)。实验选取包长度和数据 包方向(服务器到客户端或客户端到服务器)作为特 征值,结果显示两种分类方法对POP3和POP3S类的应 用识别效果最好,真正率均超过了98%,GMM对HTTP应 用的识别准确率高于SVM,对EMULE的识别准确率则低 于SVM。
一些研究者对多种分类方法进行比较,并通过 实验提取出用于识别加密流量的一般性流特征。2007 年,Alshammari[41]等人使用了两种有监督的机器学习 算法AdaBoost和PIPPER识别网络中的SSH流量,并进一 步对SSH应用类型(如ssh,scp,sftp,tunnel等)进
行分类,通过两种方法的对比,PIPPER的分类效果要 优于AdaBoost,其准确率达到99%,假正率为0.7%。 实验同时说明了,通过基于流统计特征的方法,而不 使用IP地址、端口、有效载荷等信息对SSH流量进行 精确识别是可行的。之后,Alshammari[42]等人又对以 SSH和Skype为代表的加密流量进行了进一步的研究, 并使用五种机器学习算法(AdaBoost、SVM、朴素贝叶 斯、RIPPER、C4.5决策树)进行对比,对比结果显示 基于C4.5决策树的分类器的分类效果最好。
单独的一种分类方法通常在某方面有优势,但 不可避免的在另一方面存在劣势,为了获得更好的 分类效果,一些研究者使用了一种或多种分类方法 结合的技术进行研究。Bar-Yanai[43]等人提出了一种 实时的加密流量分类方法,将k-means和k-nearest neighbor两种分类器相结合,使用17个流特征,分析 每个流的前100个包的统计信息,并进行分类。传统 的k-nearest neighbor分类算法分类准确率高,但分 类速度慢,而k-means算法则相反。实验将两种分类 器相结合,分类速度快、分类准确率高,比使用单独 一种分类算法的效果要好很多。
SSH隧道下可承载很多类型的应用,虽然识别隧 道应用的存在并不困难,但要识别出隧道中的具体应 用类型就有很大挑战。Tan[44]等人提出了一种利用最 大似然分类器对SSH隧道中的应用进行分类的方法, 该方法首先需要识别出SSH Tunnel流的建立边界,然 后丢弃该边界之前的数据包,只需要分析该边界之后 的连续L个数据包的统计信息,对SSH隧道中的HTTP、 POP3、FTP、SMTP四种类型的应用进行分类,分类的 真正率为90%左右。
为了提供更好的网络服务质量,需要及时识别出 网络中的延迟敏感应用(如VoIP、音视频等),并为 其提供高优先级。这些应用通常使用非标准端口号, 并且其数据被加密,或者被放入加密隧道中执行。 Yildirim[45]等人以包长作为特征值,采用了机器学习 的方法对IPSec隧道中的VoIP和非VoIP流量进行了分 类,并通过对比实验证实了及时识别出VoIP应用并给 予其高优先级对于提高QoS的重要性。
对P2P应用(如BT、Emule、Skype等)进行分类 的挑战主要集中于数据加密和混淆协议,目前使用较 多的方法是基于流特征的统计识别方法,也有一些研 究使用了有效负载和流特征相结合的方法,他们使 用的有效负载往往是一个连接的前几个包的靠前数 据,也是用于统计特征,而不是直接把某个特定字节
串作为分类依据。Hjelmvik[46]等人全面展示了利用 统计分析和统计协议识别(statistical protocol identification, SPID)算法对混淆协议进行分类 的有效性,并通过实验总结出了对一些特定模糊协 议(包括BT的MSE、eDonkey的模糊协议、Skype、 Spotify)进行分类的最有效统计属性。
总的说来,加密流量分类是流量分类中最具挑战 性的问题之一,目前的主要研究思路主要集中在各种 行为特征提取及统计分析的方法上。我们认为,基于 主机行为的关联分类方法,辅以主动验证等其它的技 术手段,也是较好的研究思路之一。