木马“冰河”的起源 |
曾有一段时间,“黑客”在中国被人这样曲解:“黑客就是会用‘冰河’黑别人电脑的人!”一听便知这是外行笑话,但引起这场误会的却是“冰河”这个在国内网络安全圈从知名度到装机量都名列前茅的软件。这款优秀网络工具一经问世就颇受争议,争议的核心是它既可当作植入被攻击端的木马,也可作为正当的网络远程管理利器。“冰河”既是软件名也是其作者黄鑫的化名,这个名字挺“酷”,容易联想到霜天雪地里冷酷坚冰下涌动的寒流。
自“发源”以来,这条奔涌的“冰河”已流经大半个中国,冲击出一片“冰河”流域,不计其数的“菜鸟”们从这一流域步入更为广阔的网络安全技术天地。公平地讲,“冰河”及其开发者黄鑫在中国网络安全技术发展史上应占有一席之地。今天让我们一起走近黄鑫,涉入“冰河”。 印象中,自然界里“冰河”何等肃杀与寒气彻骨,而坐在我面前的程序员黄鑫却热情如火,谈笑风生。在北京盛夏一个雨后清爽怡人的傍晚,我随着他对往事清晰的回忆,沿“冰河”逆流而上,追溯源头…… 🧠⛵♊🐥 “冰河”的起源 👌🏝✔🐺 话题从黄鑫与电脑的第一次亲密接触开始。97年的黄鑫还是西安电子科技大学的一位大三学生,说来难以置信,在大一大二的时候,他还没怎么接触PC,用他自己的话说是:“有一天和宿舍最要好的同学突然觉得应该弄台电脑玩玩了,便两人凑钱买回一台‘486’。”由于电脑在使用时受到了“晚上十一点就全面断电”的校规限制,小哥儿俩再次凑钱到校外租了间小房子。玩电脑开始的日子非常之“爽”,他们经常在学校机房与个人“机房”之间以3寸软盘传递信息。但不多几日,“病毒”开始在其间滋生蔓延,学校机房成了“病毒乐园”。那时的黄鑫还是个不折不扣的初级小菜鸟,自己电脑中了病毒仍浑然不知,还乐此不疲地拷贝着“NDD”、“PCTOOLS”以及当时流行的小游戏。直到一天电脑不再正常启动,这下他抓了瞎,自己不懂,就找那个要好的“购机合伙人”求援。好友看后送他一句话:“你中了‘秋水’病毒!”。虽然到现在黄鑫仍无从考证当时好友判断的正误,但在他当时白纸般简单的计算机知识“内存”中永久存储下了“秋水”这两个字。所谓知耻而后勇,此后黄鑫从如何用KV300、KILL等杀毒软件清除病毒开始了计算机知识的全面涉猎。那台“486”老爷车只能跑DOS,要硬跑起windows95来则需要足够的耐心,但黄鑫与伙伴仍抵挡不住单机版“红色警戒”的诱惑。为了可以顺畅地把游戏玩爽,为了再遇故障和病毒可以自己解决,黄鑫决心把电脑知识学深学透! 他首先从KV300恢复主引导区的概念受到启发,由研究DOS磁盘引导区入手,从文件分配表到55AA扇区一步步把原本看似神秘的东西搞清。回忆那时的经历,黄鑫说:“正是病毒的存在才让我感到电脑的趣味无穷!”如果不是这份兴趣,他恐怕不会将才智和精力全部投入其中,也就不会有日后“冰河”这一影响他人更影响他自己一生的“作品”的诞生。没过多久,已是“中级菜鸟”的黄鑫不再满足于用现成的软件按个F‘x功能键对系统进行自动修复了,他开始使用debug,开始涉及汇编语言,很快就能不再借助任何第三方工具而用手工恢复引导扇区。 👊⛄🍓🈳🐤 不久后又将这一手工过程通过一个自编的汇编小程序自动实现,初偿成果的他小有成就感,至此,黄鑫只用短短数月便完成了由“初级小菜鸟”到“初级专家”的质的转变。此时在计算机求知路上的黄鑫已是脱蟹的野马,任何成绩的取得都不能放慢他向更高技术层次进取的脚步。正好大三下学期开设了C语言课程,C语言可实现的那些汇编语言无法比拟的强大功能深深吸引了黄鑫,在同班一位极具编程天赋的同学的鼓动下,他开始了自己编程研究的重要转型,主攻C语言,可以想见,对于汇编语言已烂熟于心的他,再学C语言可谓触类旁通,很快轻松上手了。 但每想到潜心修得的一身汇编硬功就此“废弃”,黄鑫的惋惜之情溢于言表,由此也让黄鑫深刻认识到计算机知识的更新速度之快,让求知者不得喘息。从大三开始对计算机知识如饥似渴的汲取,为黄鑫日后成为开发出“冰河”这样经典软件的优秀程序员奠定了坚实的基础。应该说“冰河”今天的一泻千里得益于当年的厚积薄发,大学时代知识的点滴积累就是汇成汹涌“冰河”源头的涓涓细流。 👌💈🎂♻🐤 初出茅庐,小试锋芒大三后半学期开始,黄鑫与那位擅长编程的同学联系到咸阳市的一家公司做一份没有报酬的“兼职”,为的是丰富自己的实际开发经验。两人每个周末从西安跑咸阳一趟,为该公司开发一个数控机床的工控机软件。这项开发也充分发挥了他在DOS与汇编方面的特长。两个人连续数日挑灯夜战,效率极高,原开发单位一个月没有完成的工作转到他俩手中仅用4天就将一个DOS下运行的仿windows 界面框架构建完毕,接着只用两周时间全部开发工作顺利完成。虽说这个小项目与日后黄鑫参与的大型开发任务无法相比,但毕竟是第一次工作实践。人生每一个有意义的“第一次”都是值得纪念的。后来得知这套工控机软件在全国销路很好,两个没有拿到一分钱奖励的大学生却由衷地感到自豪与成就感。 该公司希望他们留下来,但长时间在西安与咸阳间往返奔波毕竟不便,黄鑫决定在母校“西电”附近的软件公司寻找机会。可每次面试,对方刚听完他的自荐便主观判定这个未出校门的毛头小伙子既无工作经验,更不可能身怀绝技,甚至还对一个学生的工作责任心表示怀疑,这令黄鑫非常不快也挺寒心。最后他以一种无所谓的心态在一位本校教师开的一家名叫“创富”的小软件公司与这位老师面谈,他明确地跟对方说:“你如果试用我一两个月,说出我什么地方不行,我马上心服口服地走人,但如果连个考察的机会都不给,那未免太主观臆断了。”这位老师觉得有理,就拿出一个别人用Delphi编得不很完善的程序让他修改,黄鑫用了不到半个小时就轻松搞掂,于是他被聘用了。正是这份兼职在他日后的职业发展道路上起到了重要作用,他出众的开发能力很快受到这位老师赏识,便在黄鑫毕业后将他推荐到在深圳的“中国科技开发院”工作。🧑🍳🩳🧬😅👄 当时的黄鑫因有在校与同学打架的记录,毕业评定多少有些不利,他清楚地记得恰好是“西电”老校友的“开发院”老总面试他时的第一句话:“你现在还敢打架吗?”而黄鑫的回答仍有个性:“有什么不敢的?”老总立即笑道:“行,你来我们这儿吧!”不久后黄鑫得知老总曾是昔日“西电”散打队的一员,原来两人的经历与性格很像,老总也许在黄鑫身上看到了当年的自己。说到两人的友情,黄鑫话很多。两人年纪相差整一轮,既是校友、上下级,更是忘年至交。“他就像一位老大哥,在我多次处境困难的时候无私地帮助过我。”黄鑫一脸真诚地说。除了感激,黄鑫对他更多的是发自内心的敬佩,敬佩他的人格魅力、事业心、驾驭企业发展的管理水平、市场运作能力,特别是洞悉判断人的锐利慧眼。大四下半学期,早已完成毕业设计的黄鑫开始在“开发院”上班了。 在其后一年多的时间里他的研发水平不断提高,其间他作为主要研发人员参与完成了标底1000万的上市公司“南宁百货”企业MIS系统招标项目,共历时9个月。约一年后他又被借调到广州科友公司做一个USB口令卡的开发,此项目3个月一个开发周期,第一个周期是在模拟环境中完成产品的测试,就在做完测试前后,黄鑫因家庭生活的经济困难以及个人职业发展的长远考虑,面对上海一家公司开出的明显优厚的待遇条件,做出第一次跳槽的决定。当时钱对他是一个很实际的问题。但公司的现状和他自己的做人原则都决定了不可能向公司提什么条件,与“老大哥”谈及此事,对方虽感惋惜,也表示了极大的理解。面对公司的挽留,黄鑫一再强调个人原因的同时非常真诚地表达了对老总本人和公司的感谢与不舍。时至今日,这两位忘年交仍保持着不减当年的真挚友情与密切联系。 👎🗼🔪☪🐖他到上海那家公司后工作一度还算顺心,公司先前许诺的待遇条件都兑现了。但天有不测风云,刚巧又过了3个月,公司上层决定放弃黄鑫参与开发的这个项目,更糟的是公司对整个行业前景不再看好而决定转向,这意味黄鑫注定再次跳槽。于是“冰河”首次来到了北京。北京也是他一直想来的地方,这里有全国最好的网络安全研发环境。不过他现在就职的北京思乐信息技术公司是深圳思乐公司所属的分支机构,看来黄鑫与深圳还是有缘。至此,这条不安分的“冰河”从西到南再向东,最后流到了北,程序员黄鑫算是在北京相对稳定了下来。 “‘木马’‘冰河’入梦来” 大四后期早早就完成毕业设计,又有一身编程绝技在身不愁工作去向,黄鑫显得比同学轻松自在许多,于是学校附近的网吧经常可以看到他的身影。已在单机上把加解密之类的东西玩熟玩透了的他,有一天便萌发了在网上大搞“隐身与瞒天过海之术”的想法。通过接触当时很流行的“BO”以及“netspy”等后门程序,更激发他将这一想法付诸实施,因为他发现这些程序在功能实现上也有局限,比如当时的"netspy"只是一个扩展的FTP客户/服务端程序,防范起来比较容易,相比之下“BO”的功能要强大很多,但它毕竟是泊来品,黄鑫觉得自己完全有能力开发出功能更强大完善的工具来,这也是提高自己网络编程水平的好机会。以前缺少必要的网络测试环境,Winsock都未曾涉及,正好就此进行一番“恶补”。 🧒🛍📏😫👂 这时Delphi强大的控件功能派上了用场,在开发建立网络连接模块时大大节省了时间,提高了效率,开发的前期还比较顺利,网络编程对他这样一个汇编与C语言高手来说自然不是什么难事,偶遇生僻费解的问题,他就去请教那位编程水平很高的同学,很快,作为“冰河”雏形的一个可执行文件终于问世,还来不及起名字就先在宿舍同学之间进行测试,大家普遍反应不错,说比“BO”一点也不差,后来又将测试中发现的不足和问题进行改善。事情至此也就告一段落了,软件只是在同学中传着玩,当时的黄鑫从没想过把这个开发动机很单纯的软件发布出去以求名利双收,但事情在其后一个偶然的机会里发生了改变。在那次去做“南宁百货”的招标项目时,开发组中一位南宁当地的技术人员用过这个“冰河测试版”后也大加赞赏,由于他接触国际互联网较早,对互联网广泛的影响力体会很深,就强烈建议黄鑫将这个软件在网上发布,比起网上众多很不入流的“共享软件”,这个软件定会大受欢迎。一番话将黄鑫说动了,决定一试,这时才想起还没给软件正式命名,大伙儿就一起帮着想,后来采取的方式是把金山词霸打开随机地敲入一个拼音字母,看出来什么字和什么联想词,最后在“流沙”、“冰河”等词儿中选中了“冰河”,这个日后广为传播的“酷名”就是这么随意“瞎起”的。 不过黄鑫现在也觉得有些“歪打正着”:“表面封冻的坚冰下暗流仍在涌动”,与“木马”特性颇为暗合,还兼具点儿文学韵味。接下来的问题就是选哪个网站上传发布,那位南宁的同事先推荐了一个名为“PCHOME”(电脑之家)的网站,黄鑫自己又在网上找到了一个“中国程序员网站”,于是两个站点都放上去发布。 👁🗼🥑🈳🐡 “冰河”发布后果然反响热烈,北方工业大学的两位研究生最先给黄鑫发来Email,在对“冰河”大加称赞的同时,还希望交友,以便交流提高。他俩当时正给电信部门做一个“远程监控”的项目,经比较,他们认为同类软件中“冰河”综合性能最佳,后来又有大批的企业网管给他写信,请教与探讨技术细节,无意中黄鑫也交到了很多朋友。“冰河”从黄鑫在校时开发其雏形,到1.0测试版正式发布一直是英文版的,一心想着尽快做出这个软件的他完全没有考虑语言支持问题,但一经对外发布,问题就来了,一位英文不好的网友给他发信指出:“作为‘冰河’开发者你是中国人,面向的也主要是中国用户,为什么不写‘中文版’?难道中国人自己的软件还要中国人来汉化吗?不会是为了炫耀你的英文水平吧?”一席话真给黄鑫提了醒,没想到自己完全忽略了这个重要问题,他一点儿也没在意网友有点过激的言辞,仅仅一周后就完成发布了“冰河”1.1中文版。可中文版刚发布几天又发生了一件令他啼笑皆非的小插曲:他又收到一位网友的来信:“我用的是英文操作系统,没有中文环境,你能不能出个英文版?”黄鑫只好回信耐心告知他此前有英文版,再后来还有人指出“冰河”操作界面比较简陋,应加以改善,这些来信让黄鑫在感到“众口难调”的同时更感到“冰河”的大受欢迎,为此他计划在“冰河”中实现多语言环境支持并将其彻底“变脸”,那时他正忙于“南宁百货MIS系统”的开发,在没有影响工作进度的情况下,他用业余时间将“冰河”升级到了1.2版,在此需要特别提一下,后来“冰河”从1. 2直接升至2.0而不是1.3、1.4、1.5等等类推,是因为黄鑫发现自己最初软件结构的设计思路很有局限,在此结构上的升级空间越来越小,所以, “冰河”2.0除新增“键盘记录”、“截取CACH口令”等少量新功能外,较原来1.x版本的最大改进就是整个程序结构特别是操作界面的变化,不再是以前版本的简单升级,其后又有“冰河”2.1、2.2的改进版本。🧑🚀👠🗡🙏 身为这款被很多人视作著名“木马”软件的开发者,黄鑫自己从未用它“搞”过任何一台别人的电脑,从初次开发到每次升级后的测试都是在属于自己学习或工作的网络环境中进行的,而在互联网上不足10次的测试都是通过OICQ向在线好友发出请求,经对方同意后在其电脑上进行的。其实黄鑫本质上就是一个技艺高深的程序员,他关注的是技术本身,当看到自己以单纯动机开发出来的软件被他人用于实现不好的目的,也只能深感无奈。这里就自然说到有关“冰河”停止升级开发这一黄鑫自己都不愿过多提及的话题。“冰河” 的最终版本是2.2B,此时的“冰河”已“风靡全国”,“那时我突然感到‘冰河’把大家引入歧途了,我在技术论坛上发现,很多网友,特别是年纪很小、刚开始对网络着迷的小孩儿已经深信:‘会用冰河就是黑客!’我敢说用‘冰河’的人90%都是为了给别人种‘木马’搞破坏或是用来满足虚荣心的,真正用于个人正当远程控制或是对网络编程技术本身感兴趣以此进行研究的不到10%,这让我觉得‘冰河’已失去了再升级下去的意义,做起来也没什么意思,所以到2.2B就终止了开发。”这是黄鑫对此事的自述。 事实上,他知道什么是一个真正的优秀程序员应有的道德准则和社会责任。但“‘冰河’现象”的事态发展并不为其开发者的自重与自律行为所左右,在朋友帮忙制作的“木马冰河”黄鑫个人主页的技术论坛上,到处充斥着“‘冰河’黑机大法”的教学贴子,有的贴子还直奔“‘冰河’万能密码”的主题,黄鑫眼看着自己以技术提高为良好初衷建立起来的网站正在变成一个“‘木马’‘黑机’的交流园地”,促使他不得不继终止“冰河”升级开发后,又关闭了“木马冰河”个人站点。👨🎨👙🩺🤖🦷
帖子热度 2268 ℃
|
|
我可以把我的眉毛摘下来,
(・ิω・)ノิิ摘下, (・ิω・ิ)安上, (・ิω・)ノิิ摘下, 💪🏫🍌🅱🦟 (・ิω・ิ)安上, ╰ิิ(・ω・)ノิิ两边都摘下, (・ิω・ิ)安上。。。 ╰ิิ(・ω・)ノิิ两边都摘下,👑⌨💩🦷 (・ω・)卧槽。安不回来了。。。 楼主你以为我看不出来你是在骗回复吗?我在卖萌而已 |