编者按:本文来自微信公众号“DoNews”(ID:ilovedonews),作者:maomaobear,36氪经授权发布。
日前,大连车务段因为一篇公众号宣传稿成了网红,这篇宣传稿详细记录了一次故障排除的过程,文中提到了Ghost和Flash,而解决的办法居然是把Flash版本回退。
这个宣传稿被转发,立即引发了网友热议,一个好几年前就宣布要停用的Flash居然引发了铁路的问题,这让人们对出行安全担心。
那么,事实到底如何?类似于Flash这种炸弹还有多少?这类问题为何会存在呢?我们来看一下。
这次出事后,铁路部门表示,受Flash停用影响的不是铁路列车调度系统,而是大连车务段部分新购置并安装最新Flash版本的电脑无法通过浏览器访问统计现在车系统。该段统计现在车系统始终运行正常,铁路列车调度系统一切正常,铁路运输生产没有受到任何影响。
其实,这个问题没有那么复杂。铁路系统有一套通过浏览器访问统计的小系统。这个系统开发者是一家早已经不存在的三产公司。
这套程序是10多年前开发的,当时Flash的企业化应用还是个先进技术,于是这套系统开发的时候就用了。
因为是内部系统,不需要连接外网,所以这套系统一直用了很多年,没有更新。
后来当年推出Flash的Adobe公司由于多年来,Flash各种安全漏洞不断,而功能又被新技术替代,所以懒得再费力不讨好的维护下去,于是停止使用。并且于几年前公布了这个事情。
但是Adobe公司比较狠的是,它并不是停止支持了事,而是在某个版本之后,在更新里面给Flash加了逻辑炸弹,到了某个时刻以后,只要系统时间到了,不论你连接不连接互联网都不让运行了。
大连车务段的新电脑安装的Ghost系统,自带了高版本,带有逻辑炸弹补丁的Flash版本。
结果,到了时间,逻辑炸弹炸了,基于Flash才能访问的功能就没法用了。
内网本来是隔绝更新,用没有逻辑炸弹的旧版本,但是操作系统自带的没防住,所以就崩溃了。
大连车务段也很快找到了问题,降级Flash到没有逻辑炸弹的旧版本就可以用了。但是降级这个举动,对于PC技术较弱的普通员工有些难度,所以折腾了一昼夜。
大连车务段问题反映的是我国信息化现状。
我国信息化是80年代开始单机办公,90年代开始组网,2000年到2010年左右,各个行业的信息化基本都有了。
信息化建立的时候,解决的是有无问题。字符界面的Wps,也比写字快。盗版winnt,用攒的一台奔腾2电脑做服务器,用二手奔腾电脑做终端,基于微软全家桶搭建起来的Oa系统,也远比打印传递的效率高太多了。
这种系统的特点是,一旦建立起来,要动就是成本。即使银行这种财大气粗的用户,舍得花钱更新软硬件,也有屎山级别的代码不敢动。
车务段这种单位,工作不能停。建立起来的系统就一直用了,不管基于什么建起来的。
其实,这个问题不是个例,法国机场在2015年因为windows3.1无人会启动停摆了,因为这个20多年前的系统法国机场已经没有几个人会用了。(中国信息化教育更新慢,反而很多人知道怎么用)。
至于,工业设备,用dos的,用汇编写的程序都有。一个专用系统,不联外网,不更新版本,是可以一直用下去。
但是,你连接外网,或者外网下载的补丁,发布到内网,就很容易出事故。类似的,还有硬件升级,系统升级,运行环境变了,以前开发的程序不能用了。得安装运行库,调试着运行。
这次,大连的问题,就是贸然更换了新电脑,新电脑包含了新的软件环境。
而使用企业也不是不想更新。
因为源代码往往是属于开发公司的,而开发公司早就没有了。你找新公司重新开发一个,数据移植,这个成本很高。而且现在的开发出来的东西,运行效率也不行。老机器跑不了,全换新机器又是成本。
你给领导解释,2005年花10万做的软件,现在用的好好的。现在做一套一样功能的,要花500万,还得再花100万把服务器和电脑都换了,换完了的结果,还是保证业务正常运行,这个理由很难通过。所以,就各种拖着。
这种问题其实普遍存在,中国用XP还不是最严重的,美国控制核武器的软件用的是能进博物馆,大多数中国人没见过的8寸软盘。这是历史包袱,也是重大隐忧。
从成本角度,坚持旧系统没有问题。但是内外网隔离还是要做的。旧系统,旧程序,兼容旧系统的硬件,只要数据量业务量不变化,就永远用下去。
类似于你玩dos 游戏,dos的电脑可以玩;有了win98,可以进入dos模式玩;有了xp可以,进入dos兼容模式玩;
现在用win10,你刚刚装了一台5950X加3090的电脑,你还可以用虚拟机安装一个windows xp,再用xp的兼容模式继续玩。或者直接dosbox。如果你有一台很旧的电脑一直没坏,你只玩dos游戏,那么你可以一直用下去。
但是你不想兼容,你要程序员在win10下给你重新写一个一模一样的游戏,那你就玩不起了。
大连车务段的程序,就是这个游戏。他们没想到的是,这个游戏从某个时刻起,设定了不运行,到了时间点自己罢工,内网也没有用。
这个问题,相当于你的winxp停止支持不算,而是到了2022年就不启动了。
这就是非自主,你看不到源代码的问题。为什么中国要windows的源代码?
怕微软加行代码。xxxx年必须补个外网补丁才能运行。否则就一检测bios时间过期就不启动了。你的所有基于windows的设备全部不启动了,得出多大事情。
这次大连的问题,是新电脑,安装win10,ghost版本系统,里面的flash太新,到时间触发逻辑炸弹造成的。
其实,这是违反了旧系统全部都应该旧的原则。当年开发的时候,用什么软硬件环境,现在运行就什么软硬件环境。只要当年没有逻辑炸弹。你就在内网,永远不更新,永远隔离外来数据和储存(u盘),一直用下去。
你买了win10电脑,只要没有特殊端口虚拟机不支持,也应该在虚拟机里面虚拟一个旧的运行环境来用。而不是用自带的系统去跑。
违反了全部用旧的原则,出问题是大概率事件。
而更大的隐患是,我们现在不掌握源代码的程序,都可以加这种逻辑炸弹。
如果,一个软件,在最初开发的时候,就留了逻辑炸弹。那么无论你用什么版本,都会因为某个触发条件而罢工。这就太可怕了。
所以,信息自主化替代还是有必要的,所有不掌握源代码的东西,都要有个备胎可用。各种应用开发的基础,也应该在自己备胎上开发。否则,基础有一点风吹草动,就是所有行业的巨大混乱。
所以,自主很有必要。在升级替代的时候,用自己的硬件,自己的系统,开发自己的应用,可以一劳永逸。