说到“虫”这种生物,绝大多数人都会表现出厌恶的表情,无论是蛆虫,还是毒虫,又或是飞虫,这些都是令世人倍感恶心和恐惧的存在。
不过,随着时代的发展,虫族的谱系其实不仅仅只在生物界了,它们在科技界中也渐渐站稳了脚跟。
而且,“科技虫族”对人类造成的危害,也丝毫不逊色于生物虫族,甚至,科技虫族的破坏力,还要比生物虫族要高得多。
当然,科技里的虫族并不是真正意义上的虫,而是病毒和漏洞的合称。
而在这一谱系中最具代表性的,当属诞生于上世纪八十年代的“网络蠕虫”,它的发明者来自于美国堪奈尔大学,是一名仅有24岁的研究生罗伯特·莫里斯。
值得一提的是,罗伯特·莫里斯的父亲老莫里斯,才是真正意义上的科技虫族创始人,因为老莫里斯曾在实验室中,开发出了第一款具有破坏性的程序---------爬行者。
爬行者就仿佛一只网络神经中的爬虫,通过网络和线路连接,对沿线的计算机设备展开无休止的攻击,并使其最终陷入瘫痪中,这也是人类历史上首个杀伤力极高的病毒。
之后,小莫里斯基于爬行者的数据,又重新改进了病毒的逻辑,让这一程序在网络中变得更加灵活,简单来说,它不仅仅会攻击相连的电脑,就连同属一个网络区域的设备,也会被该程序感染,并受到相同的打击。
鉴于这种无孔不入且灵活的特征,小莫里斯直接将其取名为“蠕虫”,为了彰显自己的实力,他把蠕虫投放到了因特网中。
该病毒一经投放,仅数周时间就让超过六千台计算机陷入了瘫痪,除此之外,还有数万台设备处于感染的风险中,由此直接造成了数千万美元的损失,间接损失那更是如同天文数字,根本无法统计。
而且,直至科技发达的今天,蠕虫依然在袭扰着互联网世界,它们借助新型的互联网讯息、邮件,以及网络共享等方式,实现了跨区域、跨国,甚至是跨洲际的感染,可谓是破坏力惊人。
比如早先折磨中国网民的“熊猫烧香”,其实就是一种网络蠕虫,尽管其发明者和病毒,最后都得到了有效的管控,但对于无数网民而言,病毒的恐怖早已深深印刻在脑海中。
不过,正如前文所言,蠕虫仅是科技虫族中最有代表性的存在,并不是最强大的虫类,因为在它之上,还有着一个堪称虫王的千年虫。
首先,我们需要知道,千年虫和蠕虫虽然都是科技虫族,但它们依然存在着差异,比如蠕虫从本质上来说当属病毒类,可千年虫却是一种漏洞,而且,还是一种“省”出来的漏洞。
原来,在上个世纪五十年代时,电脑硬件和编程都才刚刚开始起步,第一批程序员都怀揣着一颗野心,都想在行业内有所建树,于是在编程和编码时,几乎都是开足马力,都想把程序逻辑设计到近乎完美的地步。
然而,同样是刚刚起步的电脑硬件,根本不足以支撑大家的野心,因为写出的代码是需要有设备进行记录的,可当时的存储设备却贵得离谱,一个仅有5兆字节(MB)大小的存储磁盘,其年租金竟达到了惊人的三万美金以上。
所以,早期的程序员们在编写代码时,既要考虑逻辑的完整性,也要兼顾写码的成本,简单来说,就是要用最少的代码,来运行最完美的程序。
这使得程序员在编写时,基本都是能省则省,就连日期的表述,也不得不采用六位简写的方式,比如1922年11月25日,就要简写为22/11/25。
值得一提的是,当时想出该办法的人,还是一位女程序员格莱斯·霍普,她也由此在程序界享有盛名,在当年被冠以“软件之母”的称号。
然而,就在六位简写法开始大肆推广时,一位名叫鲍勃·贝默的科学家却察觉到一丝不对劲,他开始四处呼吁,希望大家不要普及这种简写方式。
因为,六位简写法存在一个巨大的漏洞,那就是年份仅体现两位,这会让二十世纪和二十一世纪的时间发生重合,比如1922年和2022年,在计算机的记录中,就都只会显示“22”,这显然是不合理的。
但当时的人们认为鲍勃只是在眼红格莱斯的成就,加之,六位简写法确实让程序员们节省了开支,所以,无论是科技公司,还是各大院校实验室,都没有听取鲍勃的意见。
一部分程序员甚至还认为,自己写的程序根本用不到二十一世纪,至于二十一世纪后,那会有新的计时方法了,所以根本无须担心,可真的如此吗?
事实上,这种分析从逻辑上来说,是没有任何问题的,可前提是“新的计时方法”必须要出现。
但令人震惊的是,科技界似乎都沉溺于向前发展,大家都忘记了开发新的计时方法,毕竟,老一套的六位计数法用起来很方便。
除此之外,大多数软件接口都已经设定为这种技术方法,若要进行修改,那将面临着无法适配的情况,这预示着成本必定会随之上升。
就这样,科技界一直拖到了二十一世纪的最后十年,也就是九十年代时,才终于注意到时间的问题,因为一旦完成世纪的跨越,所有程序的设定,都会变成00/01/01。
可电脑毕竟不是人脑,它在读取这一时间数据时,必然会发生紊乱,须知无论是1900年1月1日,还是2000年1月1日,它们的显示方式都是一样的。
这意味着,所有的程序都会在过年时崩溃,从而引发史上最大规模的紊乱事件。届时,无论是核弹发射装置,还是金融中枢,又或是运作的工厂,都会出现无法预测的混乱,这一结果的可怕性,简直就是不堪设想。
因此,为了避免这种混乱,一众科技大国开启了一场修改代码的行动。
不过,修改这五十年来写出的所有程序,这显然是不现实的,所以,程序员们选择直接把系统中的1900年至1920年的时间删除。
这样一来,“00/01/01”就变成了2000年1月1日的专属,无须再担心别的问题。
但饶是如此,位于非洲的国家冈比亚,还是因为没来得及修改时间逻辑,而导致全国程序的崩溃,无论是发电站,还是自来水厂都停止了工作,整个国家不得不选择放假一天,来等待国际支援。
另外,需要注意的是,当时删除的时间线仅到1920年,这意味着,在2020年之后,依然还会爆发千年虫事件。
比如2022年开年时,微软的exchange服务器就发生了崩溃,这导致无数企业用户的邮件根本无法发送和接受,全部堆在序列中,让服务器进入恶性循环中。
造成这一问题的核心原因,就在于微软在跨年时,发布了一个代号为“ 2201010001”的更新版号,这本是正常的版本更新。
但微软写入其中的符号代码,能够接受的最大数值为 2147483647,这显然是远远小于2201010001的,所以服务器在识别更新文件时,就直接把自己算崩溃了,进而也就让无数处于休假的程序员也崩溃了,大家只能选择加班来修复这一问题。
从这一点来看,千年虫的危害是极其强大的,而且,就目前的情况来看,千年虫这一祸害根本无法解决。
毕竟,就算人们能够修改时间设定,又或是能直接购买新设备,但一些较为老套的计算机,却依然还沿用着六位计数法,这代表着,在某个特定的时刻,它们都会迎来一次集体的紊乱,或是出租车的计价器,也可能是天然气计价器等等。
而这也便是千年虫的潜伏性,它总能在不经意的时刻,给予人类致命的一口,完美契合昆虫的特性。
参考资料:
《22年过去了,“千年虫”漏洞为何还会出现?》--------央广网
《照这样下去,“千年虫”还得再来十遍》-------品玩
《“千年虫”在我国没有爆发》--------新华通讯社(2000年)