编写应用程序要注重其安全性
使攻击者能比较容易地攻击世界范围内任何联网的计算机,而不会有什么风险。计算机已经非常普及;它们现在控制着比较多的具有价值的东西(这使它们值得进行攻击)。过去,顾客十分愿意购买不安全的软件,所以根本没人愿意出钱开发安全的软件。
电子世界现在是一个危险程度更加高的地方。今天,我们要求几乎所有的应用程序都是安全的应用程序。例如,实际上我们要求每个 Web 应用程序都是安全的应用程序,因为不可信的用户可能向它们发送数据。甚至那些显示或编辑本地文件的应用程序(如字处理器)都必须受到保护,因为有时用户将显示或编辑以电子邮件方式发送给他们的数据。
如果您在开发软件,那么您就是身处战场,需要知道如何保护您自己。遗憾的是,大多数软件开发人员从未知晓如何编写安全的应用程序。
本专栏将帮助您了解如何编写安全的应用程序。学校里很少会教这类信息,其它地方也不太会讲授这一主题。如果您学习了本专栏,那么您将能够保护您的程序,避免当前所用的最常见的攻击。尽管我们主要讨论 Linux 操作系统(也称为 GNU/Linux),但是几乎所有的内容都适用于任何类 UNIX 系统,而且其中的许多内容也适用于其它操作系统(象 Microsoft Windows)。
对于这第一篇文章,我将先介绍一些基础知识:安全性术语、改变您的理念、自由/开放源码软件(Free-Libre/open source software,FLOSS)的影响以及确定安全性需求。 确定您的安全性需求
在您可以确定程序是否安全之前,需要先确切地确定其安全性需求是什么。事实上,有关安全性的实际问题之一是安全性需求会根据不同的程序和不同的环境而迥然不同。文档查看器或编辑器(如字处理器)可能需要确保查看数据不会使程序运行任意命令。购物车需要确保顾客不能自己定价,而且顾客不能查看有关其他顾客的信息等等。
事实上您可以使用一个国际标准来正式确定安全性需求并确定它们是否满足要求。这个国际标准的正式标识符是 ISO/IEC 15408:1999,但人们都称之为“通用标准(Common Criteria,CC)”。
有些合同特别要求您使用 CC 的所有细节,这样的话,您需要知道的就要比本文所涉及的多得多。但对于许多情况,帮助您确定安全性需求所需的全部就是一个非正式的简化方法。所以,我将根据 CC,来描述一个用于确定安全性需求的经过简化的方法:
•确定您的安全性环境。 |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |