既然SSR的项目已经消亡,那么现在对于SSR的检测手段也没有什么保留意义了,那么就把个人对DPI进行SSR检测技术的研究做一个探讨。
可以这么说,SSR协议是我见过的最傻X的画蛇添足行为,没有之一。为什么?原本的SS协议,可以说在检测难度上非常的高,某人公布的所谓的SS协议特征,虽然说有效,但是,在真正投入系统运作的难度非常大,为什么?因为SS的所谓协议特征,是包的大小,通过包大小特征去判断SS流量,在实验室中,这个协议特征很容易被识别,因为数据量小,但是,如果需要在全网进行这类的检测,意味着DPI系统需要记录每个包的大小特征,在一个省级骨干节点上,一天的数据包数量是以万亿为单位的,在这个数量级的数据中要去分析获取SS协议,虽然可以取得一定效果,但是代价也非常的大。
而SSR的出现,令到事情出现了转机,SSR为了解决某些地区QoS过度使用,把自己伪装成https,https是什么?是一个有着严格协议规范和特征的加密协议,也就是说,https的协议特征非常明显,在网络码流中识别出https协议,我想对任何一个DPI设备厂家来说,都是轻而易举的事情,道理也很简单,既然你能让QoS系统把你识别为https的访问,那么,就说明你长得就像https。那么,事情就变得有趣了,原本我们需要在人群中找一个特定体重的人,现在变成在人群中找出一个穿着红衣服带着红帽子的胖子,于是检测成本大大降低到可接受的范围。
SSR虽然可以伪装成https,但是,它并不是真正的https,它在协议握手过程是没有办法按照正常的https协议规范做到完全一样的,毕竟它没有伪装对象的私钥,那么,DPI系统只要稍微能对分离以后的https码流进行深度识别,就很容易把李鬼找出来,至于如何把SSR伪装的https和真正的https分离,这里面的详细算法就不详细解释了,毕竟这一篇并不是论文,而且也涉及到公司的一些专有技术。
最有趣的是由于SSR的所谓高级特性反过来倒逼SS加入的类似的混淆支持,而很多服务提供者又认为这是一种“高级”混淆手段积极跟进,于是大家就跟着呵呵了。
网友评论