透视OICQ的第三眼 

文/三 石

    对于一个网虫来说,不知道OICQ就好像中国人不知道长城一样令人匪夷所思,那么对于腾讯公司的从业人员来讲,不知道邹丹,同样不可思议。一些常用OICQ的朋友可能试过这样一个程序,它能够在OICQ的消息窗口显示在线好友的IP地址,这对于大部分使用网络的人也许没什么用处,但是对于一个网络高手或一个黑客,这些信息足矣。这个小程序的作者正是邹丹,据说在新世纪的第一天,腾讯将OICQ升级到Oicq2000b Build1228版本;第二天,他就马上发布了能查好友IP的1228版,反应之快,令人瞠目结舌,同时也气急了腾讯公司的技术人员;到了新世纪的第三天,邹丹收到了腾讯公司技术总监Tony的警告信。那么这是否算一种黑客行为,到底侵犯了谁的利益呢,就有关问题我们采访了邹丹。
    三石(以下简称“石”):你好,到现在为止,我们对你的了解仅限于那个能显示IP的软件,能先做一个自我介绍吗?
    邹丹(以下简称“邹”):你好,其实有关我的简介在我的个人主页上都有了,这里只是重复一下。我是四川大学计算机系99届的毕业生,重庆人士。毕业后分配到了深圳工作,在深圳工作了10个月,然后跳槽到北京。现在在国内一家知名互联网络公司从事技术开发工作,主要从事数据库页面开发。个人兴趣专长是加密解密、电脑病毒、系统安全、底层系统。
    石:嗯,你的兴趣好像也比较专业,接下来我们还是切入正题吧,大家都知道你制作了一个OICQ补丁程序,它能够显示在线用户的IP,当初是什么原因促使你制作这么一个程序的呢?
    邹:当时OICQ的0725版本有个后门能直接看,很多人都知道,直接在里面操作一下就可以了。但后来的版本就不行了,因此我就自己作了。
    石:据说在你作这样一个补丁之前,网上也有很多类似的软件,而这个补丁出现之后,其它所有网络高手都不再写OICQ查IP的软件了,因为这个软件优秀得令他们不好意思再拿出自己的作品。看来,这无疑是对你软件和技术能力方面的最大认可。
    邹:嗯,的确从程序设计的方式、方法、思路上看,我的补丁和其它类似程序都有很大的区别,这是深入分析OICQ程序以及利用OICQ自身数据的结果。和他们最大的区别就是我用汇编这个武器,现在能熟练使用汇编语言的人不太多。
    石:你的补丁程序我也试用过,不过我发现好像不能显示隐身登录用户的IP。
    邹:对,这是OICQ协议的问题。OICQ的通讯加密协议我很清楚。对于隐身登录的用户,服务器是不会把IP信息发给好友的,隐身用户得到的消息也是通过服务器中转的,所以不可能看到。
    石:那有哪些情况需要通过服务器中转?
    邹:通过服务器中转的条件一般有三个,一个是对方隐身,另一个是对方不在你好友名单上,再就是直接联系不通,如果消息被中转,会在聊天记录中留下“通过服务器中转”的字样。
    石:本来通不通过服务器中转似乎无关紧要,不过我看你的网站上提到了OICQ的提供商,也就是腾讯公司,有监听用户交流信息的行为,这是你们确有发现还是凭空想像的呢?
    邹:他们有能力监听,但是一般不这样做。通过服务器中转的就有这个技术上的可能,不过可能他们还没有完善的手段。这方面我猜想居多。
    石:是不是说,只要他们愿意,他们可以监听任何通过服务器中转的信息?
    邹:我想应该是的,但是对一个服务器来说,这样压力很大,一般不会轻易这么做。通常中转成功之后,信息就从服务器上删除了。
    石:哦,你的意思是中转信息在服务器上暂存,等发送过后就删除了?那有没有可能,服务器方要监听某人的信息而将本来可以直接传输的信息强制中转?至少技术上能否实现?
    邹:对。信息的强制中转很容易实现,只要让直接点对点联系不通就会通过服务器中转,而让点对点联系不通非常容易。
    石:我们回到刚才的话题,你认为OICQ会暴露用户的IP是OICQ本身的漏洞还是网络传输过程中无法避免的?
    邹:是无法避免的,不是漏洞。很多信息传输需要IP直接通讯,而不都是服务器中转。
    石:既然是无法避免的,那么有没有什么手段或方法能解决这一问题呢?
    邹:我想不出什么办法解决,不用我的补丁用其它监听工具也能查出来,这根本没有办法。
    石:不知道ICQ你研究过没有,它是否同样存在类似的安全问题?
    邹:其实都一样,因为不可能所有消息都通过服务器中转,要把压力分散到客户端,这是任何一款聊天软件(除了IRC)通常的做法。
    石:因为我对信息在网络中如何传输不甚了解,我想问一下,能否通过传输数据加密来降低暴露IP的风险?
    邹:我想不行,不管怎么加密通讯,它的目的地也就是IP地址是不能加密的。
    石:你刚刚提到IRC,那IRC是怎么解决这一问题的呢?
    邹:IRC全是在服务器端的通讯,也就是只有服务器知道你的IP,客户之间都不知道。
    石:嗯,现在我们知道了在OICQ的信息传输过程中泄露自己的IP是无法避免的,并且服务器方有能力监听用户发送的任何信息。我看到你网站上公布了一封腾讯发来的律师信,我想问一下你一共收到了多少封类似的信件呢?
    邹:可能有7、8封,只有几封登出来,律师信只有一封,其它都是腾讯技术总监的。
    石:都是些什么内容呢?
    邹:具体内容不便透露,反正有警告、有解释、有见面、有最后通牒。
    石:那你是做何反应呢?
    邹:还不是能忍的忍,不能忍的骂回去。
    石:你对腾讯这样的做法是怎么看的呢?
    邹:其实很多作OICQ衍生工具的朋友都收到过类似的警告信件,我觉得与其说OICQ黑客工具破坏的多,不如说它创造的多,你可以将现在的版本和以前的OICQ0820版作一下比较,内行的人看得出来它有多大的进步,而这种进步只靠设计人员单方面的努力是无法完成的,它是通过用户的发现问题、我们的捕捉问题,再到他们的解决问题这样一个反复的过程逐步完善的!我想没有黑客朋友的帮忙,OICQ不会进步的那么快,设计思路也不会这么快成熟起来。他们这样的做法,我只能感到无奈和遗憾。
    石:恐怕腾讯考虑更多的是你们的做法对用户造成的影响,你当时设计这个补丁的时候有没有考虑到它的后果呢?
    邹:我想这应该没有什么的,而且我这样做只是出于一种兴趣爱好。说到影响,我并不认为这个补丁能对普通用户产生多大影响,一般用户看了IP也不能怎么样,而高手即使不用我的补丁,一样能够获取别人的IP。
    石:那现在OICQ已经出到了0115版本,你还打算继续设计这种补丁么?
    邹:0115是测试版本,暂时不会作。如果有个人照着我的思路一直作下去,我就可以退休了。
    石:哦?为什么会有退休的想法呢,是不是和腾讯的律师信有关?
    邹:当然不是,只是有点累了。自从腾讯推出稳定的采用新加密通讯机制的OICQ版本0820以来,我一直在对所有后续版本做相应的补丁程序,每一次版本的升级都是我和腾讯之间的一次编程竞赛。这期间腾讯也尝试了多种不同的保护措施,比如2000版本后,都采用了加壳软件保护原始程序的手段。由于有外壳程序保护,无法直接对OICQ.EXE打补丁,所以其后推出的补丁实际上是修改后的可执行文件压缩包;而到0110版本的IP查看补丁程序,由于腾讯放弃了加壳保护手段,所以又能直接打补丁了……这样你来我往的,感觉也有些疲惫,所以宁愿退隐田园,修身养性,呵呵。
    石:呵呵,有点独孤求败的感觉。那接到腾讯公司的警告后你有没有去参考一些有关规定?
    邹:有网友给我寄来了电子版的,不过我没仔细看过。
    石:刚刚你说来信的内容有警告、有解释、有见面,那腾讯公司方面有和你见面的意向喽?
    邹:是啊,他们是想见见面交流一下,我也希望他们能送个腾讯的布娃娃给我,哈哈!
    石:好了,这方面的话题暂时告以段落,下面有几个问题想替PCD的广大读者询问一下。你在学习电脑的过程中有什么体会,或者有什么学习经验能给大家参考的?
    邹:要学好电脑需要有足够的兴趣,天才靠勤奋,勤奋可以靠兴趣。电脑基础知识很重要,不要不会走就要学跑,这是不可能的事情。基础靠自己,不是靠人指导和带领,多自己努力,光问是不行的。计算机是实践的科学,要多钻研多实践,呵呵……
    石:你在学习电脑的过程中有没有遇到什么印象深刻的困难,你又是怎么解决的呢?
    邹:我以前打游戏总打不过的时候,我就改程序想打过,然后汇编自然就熟了。遇到困难的时候就钻研,以前破解一个软件,虽然已经用一种简单的方法解开了,但是最后还是花了一个月的时间把它彻底剖析开了,那段时光最难忘。还有就是研制那个win31的病毒,也是印象深刻。
    石:嗯,人们对黑客似乎都有一种神秘感,而在腾讯的来信中似乎也将你的行为归为一种黑客行为。那么你认为你是一个黑客么?
    邹:我当然算不上真正的Hacker,我只是一个Cracker,不过黑客也有很多种Hacker和Cracker有很多相同点,其实现在界限不那么明显了,很多高手叫他什么都可以的。
    石:你认为你电脑知识方面成长的过程,和周围的环境关系大么?比如有同好的朋友或资深的老师等等。
    邹:我觉得好像没有什么关系,因为我走的路比较偏,朋友和老师对这些东西都不甚了解,所以我总是靠自己,上网之后才开阔了视野,也有了我自己崇拜的偶像。我一般不问时世,很多网上有名的人物,人家问我我都不知道。
    石:哦?你的偶像?不会是周星驰吧,哈哈。
    邹:当然不是,是一些国外的黑客,还有绿盟的人。
    石:呵呵,看来你对这方面的兴趣不是一般的浓厚。到这里我们的访谈也差不多该结束了,听了你的谈话我也从中学到了不少东西,希望以后你的电脑技术能有更长足的进步,在不久的将来成为另一批人的偶像,谢谢!
    这次访谈结束了,从上面谈话中我们也看到了不少问题:中国需不需要这样的人才?有没有相应的教育机构和发展环境?他的行为究竟合不合法?有没有相关的法律细则和明文规定?腾讯公司潜在可能的监听行为是否侵犯了用户的应有权益?有没有他们应该履行的保密或安全义务?如果有,那么有没有监察义务执行情况的监督部门?这一系列问题,对于大多数用户来说都是个难解之谜。
    在邹丹的主页上有一封腾讯给他朋友的律师信,来信附上了有关的法律法规,我们不妨借用一下:
    《刑法》第二百八十六条
    违反国家规定,对计算机信息系统功能进行删除、修改、增加、干扰,造成计算机信息系统不能正常运行,后果严重的,处五年以下有期徒刑或者拘役;后果特别严重的,处五年以上有期徒刑。
    违反国家规定,对计算机信息系统中存储、处理或者传输的数据和应用程序进行删除、修改、增加的操作,后果严重的,依照前款的规定处罚。
    参考这条法律,邹丹的行为似乎并没有出现多大问题。就“违反国家规定”而言,笔者查阅了有关资料,根据《计算机信息网络国际联网安全保护管理办法》第六条“任何单位和个人不得从事下列危害计算机信息网络安全的活动”,其中第二项指出“未经允许,对计算机信息网络功能进行删除、修改或者增加的”将列为危害计算机信息网络安全的活动,不过看罚则上对于个人最多只是经济上的制裁,构成犯罪的才需要承担刑事责任;就“后果严重”而言,这个补丁暂时也没有造成什么“严重的后果”或“特别严重的后果”,从邹丹的个人主页上了解到,他对已经破解的文件还是加装了必要保护措施的,也在尽可能地避免不可预见的后果,那么这一出于个人爱好的行为似乎还是不需要承担刑事责任。那么他是否会因侵犯了版权而承担民事责任呢?在《中华人民共和国著作权法》第二十二条有个说明,“为个人学习、研究或者欣赏,使用他人已经发表的作品”也是合法的。相反的,如果腾讯公司有监听用户传输信息的行为,那么它将会违反有关法律法规!不过我们有理由相信,作为一个有远见有美好发展前景的公司是不会铤而走险的,我们也不必由于这个原因而投鼠忌器,任何一种信息传递方式都不可能绝对安全。邹丹也好,腾讯也好,网络也好,到底谁才是OICQ的第三只眼并不重要,重要的是作为用户,我们应该有知情权。
    “自由自在的生活,自己照顾自己,自己做决定,自己挣钱养活自己。”这是我在OICQ上看到的邹丹的个人说明,看得出他是一个相当自信和专注的人,他义无返顾地在指尖上挥洒着他的青春,将岁月奉献给O和1的汪洋大海。他的每一张照片都洋溢着灿烂的微笑,看到这张自信而又略带一点沧桑的脸庞,我们衷心希望他能走对航向,到达彼岸!邹丹说:“这条道路是我自己选择的,无论遇到怎么的坎坷,我将会坚强地走下去。”