软件系统的安全性和保密性_软件保密性-程序员宅基地

技术标签: 语言  Ada语言  教育  web  电话  工具  

 

 

 

作者:Robert BK Dewar20077

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

译者:logiciel200988

 

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

 

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

 

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

 

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

 

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

 

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

 

 

 

 

 

 

 

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/logiciel/article/details/4425930

智能推荐

数模3—Matlab线性规划、非线性规划、多目标规划(超全解法合集)-程序员宅基地

文章浏览阅读1.9w次,点赞49次,收藏461次。生产两种机床,利润分别为XXX, A机器和B机器加工,两种机器工作时间…若不存在不等式约束,用"[]”代替A和b: [x, fval ] = linprog (f,[],[], Aeq, beq, lb, ub)若不存在等式约束,用"[]”代替Aeq和beq: [x, fval ] = linprog Cf,A,b,[],[] ,lb,ub)A机器和B机器加工,有顺序要求,有不同损耗费用,不同的工作时间…每种资产的平均收益率…结论,4个人攻碉楼,2个人追替身的情况下,百姓的士气最大,最大值为220。_线性规划

stm32f103运行python_microPython 有没有在 STM32F103上运行的固件-程序员宅基地

文章浏览阅读1.7k次。匿名用户1级2017-02-20 回答进入第一个个连接进入之后我们就可以选择红色方框Buid Firmware。之后我们就可以下载相应的固件了,但是这个固件是比较早的就是了,是2015年的固件,所以我们接下来要做的就是来自己编译一个固件。首先我们需要将我们的micropython的github开源项目的内容下载下来。选择下图的图标就是可以下载下来。或者在window或者linux底下直接使用Git..._micropython stm32f103

RK3568平台(时间篇)linux内核延时机制_linux延时-程序员宅基地

文章浏览阅读736次,点赞26次,收藏18次。内核中涉及的延时主要有两种实现方式:忙等待或者睡眠等待。前者阻塞程序,在延时时间到达前一直占用CPU,而后者是将进程挂起(置进程于睡眠状态并释放CPU资源)。所以,前者一般用在延时时间在毫秒以内的精确延时,后者用于延时时间在毫秒以上的长延时。为了充分利用 CPU 资源,使系统有更好的吞吐性能,在对延迟时间的要求并不是很精确的情况下,睡眠等待通常是值得推荐的。_linux延时

集合遍历与删除,java list 交集 并集 差集 去重复并集-程序员宅基地

文章浏览阅读75次。2019独角兽企业重金招聘Python工程师标准>>> ..._java 遍历出所有差集

挑战世界顶级十七项编程-程序员宅基地

文章浏览阅读929次。众所周知,编程几乎已经成为各行各业不可或缺的重要技能储备,它能够以无法替代的方式帮助我们组织并维护大型系统,因此如今越来越多的人才也开始踏上这条学习之路。

从零开始搭建Hadoop_创建一个hadoop项目-程序员宅基地

文章浏览阅读331次。第一部分:准备工作1 安装虚拟机2 安装centos73 安装JDK以上三步是准备工作,至此已经完成一台已安装JDK的主机第二部分:准备3台虚拟机以下所有工作最好都在root权限下操作1 克隆上面已经有一台虚拟机了,现在对master进行克隆,克隆出另外2台子机;1.1 进行克隆21.2 下一步1.3 下一步1.4 下一步1.5 根据子机需要,命名和安装路径1.6 ..._创建一个hadoop项目

随便推点

Google 安装印象笔记剪藏插件_manifest version 2 is deprecated, and support will-程序员宅基地

文章浏览阅读1w次,点赞3次,收藏4次。有时候我们看到较好的网页内容,希望能够保存到自己的笔记中,方便以后的查看有学习。以往我们习惯搜藏网页,但是时间一长容易忘记已收藏的内容,同时有些东西也会随着原作者删除内容而导致之前收藏过的内容无法看到。为此 使用一款笔记工具保存自己想收藏的内容是十分必要的。https://yinxiang.com/product/webclipper/install/可以安装多种浏览器的插件:这里一安装 谷歌浏览器的插件为例。点击下述网址可以查看官方安装插件的说明。https://yinxiang.com/webclipp_manifest version 2 is deprecated, and support will be removed in 2024. see h

用好ASP.NET 2.0的URL映射-程序员宅基地

文章浏览阅读68次。简介:   URL映射是ASP.NET 2.0中提供的新特性。URL映射技术帮助我们将一个特定URL映射为另一个URL。为了帮助理解,我们假设你在站点有一个叫Homepage.aspx的页面来访问主页,所有的用户也都用这个页面来访问你的主页。但由于某些原因,你要将主页改为OriginalHome.aspx。此时使用URL映射让你可以映射到新页面,而不必通知用户。   如果我们设置了URL...

C语言等级考试是把题目删了,历年全国计算机的等级考试二级C语言上机考试地训练题目库及答案详解(72页)-原创力文档...-程序员宅基地

文章浏览阅读90次。实用标准文案1. 填空给定程序的功能是调用 fun 函数建立班级通讯录。 通讯录中记录每位学生的编号,姓名和电话号码。 班级的人数和学生的信息从键盘读入, 每个人的信息作为一个数据块写到名为 myfile5.dat 的二进制文件中。请在程..._c语言二级填空题可以删填空之外的东西嘛

Microsoft Office显示正在更新无法打开的问题_正在更新microsoft 365和office-程序员宅基地

文章浏览阅读3.9k次,点赞4次,收藏2次。问题:点击图标,显示正在更新,但打不开PPT、Word和Excel方法: 搜索电脑上的“服务”应用,重新启动Microsoft Office Click-To-Run Services即可_正在更新microsoft 365和office

非常好的Ansible入门教程(超简单)-程序员宅基地

文章浏览阅读10w+次,点赞56次,收藏431次。Ansible是一个配置管理和配置工具,类似于Chef,Puppet或Salt。这是一款很简单也很容易入门的部署工具,它使用SSH连接到服务器并运行配置的任务,服务器上不用安装任何多余的软件,只需要开启ssh,所有工作都交给client端的ansible负责。 关于Ansible的一个好处是,将bash脚本转换为可执行任务是非常容易的。我们可以编写自己的配置程序,但是Ansible更加干净,因为它_ansible

【Gradle-8】Gradle插件开发指南-程序员宅基地

文章浏览阅读1k次。编写一个插件Plugin其实挺简单的,只需要实现Plugin接口,并实现唯一apply方法即可。我们就直接写在@Overrideprintln("这是插件:${this.class.name}")这实际上是一个内联类。写完别忘了apply依赖上。第9行的apply方法是调用的PluginAware接口的apply()方法,参数是一个map,用来映射Plugin Id。这是插件:YechaoaPlugin...在上一文。_gradle插件开发