软件系统的安全性和保密性

 

 

 

作者:Robert BK Dewar20077

原文:http://www.ddj.com/security/199300140

译者:logiciel200988

 

在当今世界,我们越来越倚赖于软件系统的安全性和保密性。在新生产的轿车中,刹车和控制系统依赖于复杂的软件。在公众投票站中,计票机依赖于正确记录投票的软件。

 

传统观点认为软件安全性涉及避免引起人员伤亡的逻辑缺陷,而软件保密性涉及防止未经许可的访问或篡改。

 

但是,这两种特性所关注的方面真的是不同的吗?我参加了Ada95的设计,它是一种仅有的专门针对安全性和保密性的程序设计语言(该语言有一个题为“安全性和保密性”的标准附件)。我们与一些专家接触后留下的深刻印象是,就象有两个圈子,虽然互不交流,但有共同的技术关注。最初,我们考虑对安全性和保密性分别定义两个Ada标准附件,但我们实在看不到这两者的区别。

 

当今世界,我认为区分安全性和保密性是错误的,甚至是危险的。在9.11事件后,很难设想任何安全关键的系统可以忽视恶意入侵的可能性。就象在“爱丽斯”奇遇记的情景中,我们第一次紧张地看到CIA的超级黑客在飞机起飞时侵入飞行系统并让飞行员完成所有检查。这是有趣的还是令人担忧的?我们希望这只是编造的故事,但我想我们不能依赖于愿望。这架飞机上的航空电子系统是否设计了入侵检测和规避?我猜是没有。

 

另一方面的情况如何?有许多保密关键的系统似乎与人员伤亡没有“直接”相关,但“直接”这个词后面隐含了许多问题。你可能不会同意在选举、民主和生死等问题之间没有明显的联系。在紧密地相互交织的经济中,软件失效可以引起严重的间接损害,如电话系统故障阻碍了911电话呼叫,一个药品试验评估软件的失效将允许有害药品投放市场,等等,你可以很容易地举出更多例子。

 

现在,我们应该合并安全性和保密性这两个圈子的标准和规程,以及经验和技术。我们还要认识到安全性和保密性是软件领域的主要关注。我们要改变对学生的教育。许多刚从学校出来的学生很清楚如何在web上闲逛,但不知道如何编写大规模的、完全可靠的软件。我们还要研究我们的工具和环境。如果除了Ada之外,其它程序设计语言也决定专注于这些问题,这将是一个好的开端(或者更多的人使用Ada!)。在大部分程序设计语言标准中安全性和保密性是令人沮丧的空白。

 

 

 

 

 

 

 

你可能感兴趣的:(Ada语言,语言,电话,教育,工具,web)