在很多大型企业中和有些国家中,为了限制员工或人民访问某些网站或使用某些网络应用程序,通常做了一些访问限制。限制的方法通常有路由器IP过滤和强制使用代理服务器等几种方式。
路由器IP过滤指的是通过在路由器中加入外网或国外的IP黑名单,使得内网或国内无法访问外网或国外的这些IP,达到限制访问的目的。强制使用代理服务器的过滤方式通常只在大型企业中应用,指的是内网必须通过代理服务器才能访问外网,那么在代理服务器上可以实现更为复杂的过滤机制。本文主要讲述IP过滤的攻防战,关于代理服务器的攻防战下次讨论。下面依次讲述网络访问攻防战的不断升级过程:
首先,如果要禁止人们访问某些网站,那么路由器管理者可以在路由器中设置IP过滤规则,把这些网站的IP加入黑名单,自然人们就无法访问这些网站了。
之后,人们为了继续访问这些网站,就会用代理服务器绕过限制。代理服务器的IP成千上万,而且不停在变化,使得限制网络访问的工作处于被动局面。
然而,由于代理服务器协议是明文的,通过监听网络数据包并制作自动搜集整理的程序可以知道人们访问了哪些代理服务器并自动把代理服务器的IP加入到IP黑名单中,这样使用普通代理服务器绕过访问限制的方式就失效了,绕过网络访问限制的工作处于相当被动的局面。
所以,为了避免被侦测到代理服务器地址,加密代理软件应运而生。用户和代理服务器之间的通讯协议进行了加密,使得无法简单通过侦听网络数据包分析出代理服务器的IP地址。又一次使得限制网络访问的工作处于被动局面。
但是,加密代理软件也需要和代理服务器进行通讯,也需要知道加密代理服务器的IP地址。所以加密代理软件一般会在启动时去某些发布加密代理服务器IP地址的地方获得加密代理服务器的IP。那么,只需要单独拿出一台计算机,启动加密代理软件,对这台计算机的网络通讯进行监视,那么即可知道发布加密代理IP地址的地方,从而对发布点进行IP过滤。而且可以做成程序自动启动加密代理软件,自动监视数据包,自动把加密代理IP的发布地点的IP加入黑名单,这样加密代理软件无法获得加密代理的IP,加密代理软件失效,绕过网络限制的工作又一次处于十分不利的位置。
加密代理软件为了对付这种情况,就需要把访问代理IP发布点的流量混杂在访问非代理IP发布点的流量中。比如,加密代理软件启动时,首先访问其它大量网站,在访问其它网站之中的某一次访问代理IP发布点,这样就把流量进行混杂了,无法通过简单的网络数据包侦听获得代理IP发布点的IP地址。如果把所有侦听到的地址全部加入黑名单,那么将会误封很多网站。限制网络访问的工作又处于不利的位置。
然后,为了能继续对网络访问进行限制,网络管理员就转而对加密代理的IP(而非发布点的IP)进行过滤。在加密代理软件启动完毕之后,通过加密代理下载一个大文件,那么流量比较大的IP即为加密代理的IP。通过这种方法,网络管理员仍旧可以做出自动封锁加密代理软件的程序,绕过网络限制的工作又失败了。
那么,加密代理软件可以采取同样的思路,把访问代理IP的流量混杂在其它流量中,并使分散的流量平分并不断变换代理IP,使得无法通过网络数据包流量统计获得加密代理的IP。人们又可以重新绕过网络访问限制了。然而,因为对流量进行了平分,所以网速通常只有几分之一了,大部分流量都耗费在混淆网络管理员的程序上面了。
到了这里,网络访问攻防战似乎走到头了,但是聪明的网络管理员并不是束手无策了。通过对加密代理软件进行逆向工程,还是可以找到代理IP的发布点,从而过滤这个发布点。不过,这样已经不能通过分析网络流量用程序自动找出IP进行过滤了。
最后,加密代理软件为了防止被逆向工程,对加密代理软件本身进行了软件加密处理,使得逆向工程变得十分困难。接下去就是软件加密与破解之间的智力较量了。
总结:如果不进行网络流量混淆,那么能被程序自动找出有用的IP进行过滤。如果不对加密软件进行加密,也比较容易被逆向工程,从而找到有用的IP进行过滤。加密代理软件作者需要时刻提防软件被破解,一旦被破解,那么需要对升级加密代理软件,使得限制网络访问的工作需要重新破解软件才能继续实施。
来源:读者投稿,作者的Twitter: @davidsky2012 ,作者的Google Reader:https://www.google.com/reader/shared/lehui99
没有评论:
发表评论