作者简介:
余训峰 某公司安全产品部研发人员
专注“终端识别”和“防共享上网”领域的研究与改进,4年以上检测识别技术研究经验,其独创的检测识别机制使得检测识别技术应用效果有明显提高。
代理检测之离散时间算法
什么是代理检测
代理检测就是 终端与终端之间通过代理或私接wifi共享的情况下, 通过代理检测可以识别出具体的终端个数。
当前随着移动互联网的高速发展,智能手机、平板电脑愈来愈普及,但运营商手机上网资费居高不下且价格昂贵,用户更喜欢使用wifi上网,360wifi和tplink等便携式随身路由器的兴起更是让用户铤而走险在企业或高校网络中私接wifi上网。
这些私接行为,不仅导致了用户工作效率下降,还会导致内网暴露引起安全问题或客户收益受损。通过代理检测可以识别出具体的终端个数。可以帮助网络管理员发现私接用户,及时了解代理的终端具体数量,并做出下一步操作。
什么是离散时间
离散时间是代理检测中的一种检测方式,用来检测PC与PC间的代理。 通过办公网络的实验数据表明,基本不存在两个系统时间完全一致的PC,即表明PC与PC之间的系统时间是不完全一致的,而是有一定的时间差,比如秒级别或者分钟级别的时间差。而离散时间就是建立在前面的基础上, 通过离散的方式统计每个被检测的PC系统时间和AC的系统时间的差值,达到检测PC终端的个数。
离散时间怎样实现代理检测的
图1 检测网络拓扑简化图
如图1所示,PCA和PCB都部署在NAT设备之后,出口部署AC代理检测设备。每隔一段时间内PCA和PCB都会将时间差上报给AC代理检测设备,AC代理检测设备会维护该获取到的时间差。
图2 聚类示意图 某一个时间段内, PCA上报的时间差为10、10、11、12、9……, PCB上报的时间为-20、-20、-20、-21、-22、-23……,
我们可以发现,每个客户端PC上报的时间差都落在一个很小的误差范围内。所以,AC代理检测设备在收到这些时间差之后,根据聚类算法,把最相近的时间差聚集在一起,而把彼此距离较远的时间差认为是不同的分类,即对应不同的终端用户。
根据上面的例子,可以看出: 10、10、11、12、9……对应一个终端, -20、-20、-20、-21、-22、-23……对应一个终端。
可以想象,经过一段时间之后,我们将获取到图2类似的聚类示意图,PCA的时间差被聚类在一定的半径范围内,PCB的时间差被聚类在另一个半径范围内。
图3 时间离散示意图
此外,对流经AC代理检测设备的时间自动更新数据包进行了离散化处理,即保证在开启的检测数范围内,对客户端PC的时间进行均匀离散化,从而保证内网用户在同一时刻的时间完全彼此不同并均匀离散。所以,AC代理检测设备运行的时间越长,检测效果会越好。
一个离散化的例子如图3所示。假定客户允许的最大终端数为4,那么对第一个时间更新+24秒,即比标准时间快24秒,对第二次时间更新-24秒,即比标准时间慢24秒,对第三次时间更新比标准时间+12秒,对第四次时间更新-12秒,通过这样的离散化处理,让每个终端用户的时间尽可能的彼此存在差值,而通过这样的离散化处理之后,将使得后面的聚类更加容易,也可以使得更多的代理被检测到。
|