|
楼主 |
发表于 2004-2-5 21:20:46
|
显示全部楼层
软件原理:
该软件是日本筑波大学一年级学生登游大自编的软件,上个月底发布了第一个beta版,此软件简而言之,就是模拟以太网卡的工作顺 序,甚至可以模拟HUB功能,使用tunnel特性,实现VPN的功能。
主要实现思路是:
1)在OSI Level2(数据链路层)上软件模拟网络通讯,把物理层的通讯内容封包到TCP Package里去(软件模拟Ethernet)
2)把自己的通讯包变成SSL Session,用HTTPS协议穿越Internet,甚至混过Firewall(128bit RC4)使得系统把此软件完全无碍的识别成一块网卡
这个月更新了第3个beta版,这个版本里有比较大的改变
1)物理通讯协议的加密,全面改为SSL
从前版本的SoftEther使用非标准协议加密,Beta 3开始,采用标准SSL算法,由于SoftEther使用的是OpenSSL库来实现,所以可以自由选择OpenSSL里面的加 密协议。比如可以在AES-256bit加密算法或者RC4加密算法中选择。散列表算法也可以在SHA啦,MD5之中选择
2)物理通讯改为使用标准的HTTPS(HTTP over SSL)
Beta2及其更早的版本,只是借用443端口来伪装成HTTPS通讯,来穿越Proxy。
也就是说,尽管用的是HTTPS专用端口,通讯内容却非标准SSL,而是走自己定义的协议。
这一点上,遭到了网上来自世界各地大批群众的批评。因为这一举动(借用HTTPS专用端口,传递非SSL标准加密的自定义加密通 信),似乎有违网络安全管理policy和“常理”。而这种作者自定义的加密算法,尚未的到世界公认,因此有产生安全性漏洞的嫌 疑。由此,作者从Beta 3开始,不管是否经由Proxy,通讯中均采用标准HTTPS协议来进行通讯。不仅通讯内容改用标准SSL加密,通讯的问答也使 用HTTP 1.1标准函数。也就是说,今后再要用"https://虚拟HUB 机器地址"的方式访问时,将会得到标准回答HTML页
3)虚拟HUB/虚拟网卡之间保持Keep-Alive包的发送
Beta2 及其之前的版本,每经过一定时间,就从虚拟网卡向虚拟HUB发送为了保持接续畅通的Keep-Alive包。从Beta 3开始,也发送逆向(虚拟HUB-->虚拟网卡)的Keep-Alive通讯包,即使是无通讯状态,也每隔5秒互相发送一 次Keep-Alive信号;
如果对方15秒以上无法接受,将认定TCP会话(Session)切断。Session重续功能启动
4)经由Proxy/SOCKS/SSH的接续,也将检测接续的中断,说明略
5)防止Windows自动改写Routing Table
SoftEther的虚拟网卡接通后,设定以此接通的虚拟网卡为该机默认网关(上网走这块网卡)的情况下,某些用户报告说:如果 一段时间不进行网络操作,Windows会偷偷把默认网关改回物理网卡去!
因而,从Beta 3开始,一定时间即使不通讯,虚拟网卡也将向某个网站自动发送小包(ICMP Echo)。这样Windows就不会自作主张的识别为无通讯而切换默认网关了。
Beta 3里面默认的这个Keep-Alive网站设定为 keepalive.softether.com,也可以自行改变设定。 |
|