快速推陈出新的软件不知无视了多少隐患

 我们生活在节奏越来越快的时代。周围的一切都在以飞快的速度变化着,而信息领域的变化尤其明显。今天一项信息化技术还处于人们追捧的焦点,而转过天可能就有新的技术出来将其拉下神坛。每天越来越多的软件被研发出来供大家使用,简直让人眼花缭乱。


不过有的时候软件推出得太快也不是好事。

中国老话讲得好“慢工出细活”,技术从来都是需要耐心打磨以求至臻完美,容不得半点马虎大意。信息技术的一切根源来自于数据,所有的计算基础都是来源于0和1,没有第三种状态存在。因此计算机中更是容不得半点模糊的地方。


软件产品中BUG和漏洞从来都是产品大忌。一个不起眼的BUG可能就会毁掉一整套完美的软件系统。之所以有BUG存在,都是因为算法上可考虑的不周全,忽视了现实世界中可能会发生的小概率事件。总是认为百万人中都遇不到的一次事件完全不必可考虑,而小概率事件却一而再,再而三的发生。最后软件公司不得不花费更大的精力去修复当初忽视的小小问题。


如果仅仅是应用系统的无周全,可能影响范围只是在业务流程之中,若换成了类似操作系统、数据库这样基础软件,危害就会更大些。

WINDOWS几乎时不时就会更新一大批补丁。如果看补丁修复BUG的描述,几乎会涵盖操作系统的各个方面,从浏览器到文件管理器,从脚本调用到系统文件不一而足。操作系统中的BUG,往往会造成软件的安全隐患,一旦被人恶意利用,轻则数据泄露,重则系统瘫痪,业务完全终止。


ORACLE数据库的SCN问题也是闹得沸沸扬扬。当初ORACLE在设计数据库的时候绝对低估了信息技术发展的速度,考虑的过于乐观了(想起了2000年前后的“千年虫”问题)。结果现在需要对数据库进行修复。但是任何一个生产库的ORACLE都不是能够轻易停机的,有的业务甚至连几分钟的终端都无法承受。结果一个简单的问题变成了更加复杂的如何在不停机前提下修复SCN问题。好比最开始只是发现有一个线头,结果越拉线越长,发现后边连着一大堆杂无章的线团。


开源的软件情况会稍微好些,但是仍然存在着功能不完备的隐患。开源软件虽然经过社区的严格审查,能够杜绝绝大部分的BUG和安全漏洞,但是随着新软件功能的引入,随时都会发现新的问题。因此LINUX服务器也是经常提供安全升级补丁,用以修复相应的漏洞。


比利时的鲁汶大学研究团队发现了当下应用比较广泛的YOLO算法上的先天缺陷,导致基于此算法的安全视频监控系统无法正确识别特定图案。结果本来应当明察秋毫的监控系统变成了“睁眼瞎”,对于人或物都视而不见了。这就是由于软件的不完备导致的漏洞。试想如果绝大多数的安全监控系统都是基于了有缺陷的算法,不知道宵小之辈是不是睡觉都能笑出声呢?

托了敏捷开发的福,信息系统发布的时间越来越快,版本之间的间隔时间也是越来越短。可是在如此短的时间内要将软件推到市场上,注定没有充足的时间进行系统的各项测试。这就造成了很多隐藏比较深的BUG无法被发现。当软件被广泛投入使用后,许多基础系统变成了正个信息体系的根基软件。当根基发生问题变得千疮百孔的时候,那么建筑在它上面的所有软件都变得摇摇欲坠。


信息系统开发可以很快,但是全面的测试万万不能缺少,发布的步伐应当放的更慢些。如此方可构筑坚固牢靠的软件基础,保证系统尽可能安全稳定的长久运行。

相关产品

评论