acm-header
登录

ACM通信

ACM通信

《内部风险:2000年的故事


这是最好的时代,也是最坏的时代,但现在是时候反思千年虫的教训了。具有讽刺意味的是,如果不是媒体的大肆宣传在过去半年里刺激了重大进展,可能会发生严重的社会混乱。然而,巨大的补救努力同时(1)是一个成功的故事,改善了系统和人们的技术知识,(2)是摆脱一些过时系统的绝佳机会(尽管有一些不必要的硬件升级,软件修复就足够了),(3)是长期短视的表现。在全球花费了数十亿美元之后,我们一定想知道为什么稍微多一点远见就不能早点避免许多千年虫电脑问题。

系统开发实践.系统开发应该基于整个生命周期的建设性度量、详细指定的需求、固有的健全的系统体系结构,以及智能应用的系统工程和软件工程。千年虫问题是缺乏良好实践的一个痛苦的例子——有点类似于它被忽视但长期遭受折磨的继子,不那么引人注目但持续存在的缓冲区溢出问题。例如,系统地使用诸如抽象、封装、信息隐藏和面向对象等概念可以构建高效的程序,其中日期的表示可以在需要时轻松更改。

完整的补救.在匆忙进行补救的过程中,相对较少地注意到过程的完整性和随之而来的风险。许多想要修复的程序引入了新的bug。窗口将一些问题推迟到以后。偷窃专有软件、敲诈勒索、财务欺诈和插入木马的机会是存在的,其中一些可能在一段时间内并不明显。

发生了什么事?除了新年前引发的各种问题外,还有许多千年虫日期时间的错误。)参见在线风险论坛,第20卷,从第71期开始,以及www.csl.sri.com/neumann/cal.html了解背景信息。)五角大楼有一个自己造成的千年虫错误修复,导致在年度更替的午夜格林尼治标准时间几乎三个小时内完全失去了处理卫星情报数据的能力,修复后的几天内只留下5颗卫星的少量数据。五角大楼国防链接网站因预防性错误而瘫痪。克里姆林宫新闻办公室无法发送电子邮件。在新西兰,一个自动广播电台一直播放新年前夜晚上11点的新闻,因为99比00大。多伦多完全放弃了不符合y2k标准的公交时刻表信息系统,而不是修复它。英国新生儿的出生证明为1900年。一些信用卡机器出现故障,一些银行对同一笔交易每天重复收费一次,直到安装了之前可用的修复程序。自1900年以来,许多人都收到了累积利息的票据。 At least one person was temporarily rich, for the same reason. In email, Web sites, and other applications, strange years were observed beginning on New Year's Day (and continuing until patched), notably the years 100 (99+1), 19100 (19 concatenated with 99+1), 19000 (19 concatenated with 99+1 (mod 100)), 1900, 2100, 3900, and even 20100. Some Compaq sites said it was Jan. 2 on Jan. 1. U.K.'s NPL atomic clock read Dec. 31, 1999 27:00 at 2 a.m. GMT on New Year's Day. But all of these anomalies should be no surprise; as we noted here in January 1991, calendar arithmetic is a tricky business, even in the hands of expert programmers.

结论:局部优化在短期内似乎是有利的(以减少直接成本),但从长期来看往往适得其反。安全和安全团体(以及其他团体)长期以来坚持认为,试图将质量改进到构思糟糕的系统中是在浪费金钱。最好从一开始就把事情做对,对发展和分析有一个清晰的策略,这样只要发现错误,就可以很容易地改正。为可进化性、互操作性和期望的功能而设计”表示“状态”(例如安全性、可靠性、在任意逆境下的生存能力)是困难的。也许这个专栏应该命名为“两个故事”表示“状态”“可预见性和可靠性,如果提前定义需求,这两者都大大简化了。

在对修复千年虫的巨大成本的抱怨和对如果没有如此密集的修复工作可能会发生什么情况的看法之间,我们仍然有很多东西要学习。(这种体验会在Y10K中重复吗?)也许最大的Y2K教训只是进一步提醒我们,更大的远见会更有好处,补丁本身容易出错,测试本身是不完整的。我们需要更好的面向系统的培训。也许现在也是对开发人员进行认证的时候了,特别是在处理关键系统时。

回到顶部

作者

更多信息请访问catless.ncl.ac.uk/Risks/;ftp://www.sri.com/risks/;和mirror.aarnet.edu.au/risks/house, ACM风险论坛的档案。


©2000 acm 0002-0782/00/0300 $5.00

允许为个人或课堂使用本作品的全部或部分制作数字或硬拷贝,但不得为盈利或商业利益而复制或分发,且副本在首页上附有本通知和完整的引用。以其他方式复制、重新发布、在服务器上发布或重新分发到列表,需要事先获得特定的许可和/或付费。

数字图书馆是由计算机协会出版的。版权所有©2000 ACM, Inc。


没有发现记录

登录为完全访问
»忘记密码? »创建ACM Web帐号
文章内容:
Baidu
map