软件安全现状
我们今天的现代化社会十分依赖于软件,软件可以实现企业的商务流程,可以操控我们日常中所有的电子商务,(例如手机,飞机和取款机),软件也是一些重要服务的核心,例如电话网络,互联网,空中交通指挥系统等。对全球经济增长,人民生活质量,企业成功以及政府组织机构来说,如今软件比以往任何时候都重要。我们必需使用安全的软件。
然而随着互联网和基于互联网的应用系统的不断发展,软件安全问题日异严重。传统的安全防御方式已逐渐不能满足现在的软件安全的要求。黑客们已不再着眼于破坏防火墙等手段。黑客们会直接通过企业、政府、银行等机构的公共网站及应用系统入手,直达核心系统盗取所需的信息。他们的攻击方法变得更加高明,方式也更加隐蔽。传统的靠在我们的服务器上加一层SSL(Security Socket Layer)、再加一层防火墙是不能够解决的了。软件安全问题必需要有新的解决方案。
1. 软件安全的现状:
软件安全是软件工程里的一个概念,它是指软件受到恶意的攻击下,软件能够正常运行。这个正常运行是从指软件的功能和性能上考量的。软件安全课题就是了解产生软件安全的风险并怎样去管理他们。近几年来,软件安全问题变得流行起来,主要是由于互联网的发展。根据CERT/CC统计软件安全问题的增长如图1:
(图1:安全漏洞趋势图)
今天软件安全问题增长的原因:
• Connectivity(互联性):互联网无处不在,系统全在上面。互联网在使人们使用软件变得方便的同时,也给黑客们更好的机会,给人们的软件带来了更多的风险。互联网意味着,黑客随时随地都可以访问我们的软件系统,公共的访问平台使我们不能够分别出哪些是真正的用户,哪些是黑客。这样他们比过去有了更多的时间和空间来攻击我们的系统,如果我们的软件中一点儿安全的缺陷,他们就能够知道,并利用之来攻击。
• Extensibility(扩展性):使攻击系统的方式变得不可预测。现在的软件应用系统趋向可扩展化,可扩展的系统可以接受更新或扩展,许多时候依赖于动态的代码,使得系统的功能得到扩展,更好满足人们的需求。如:Plug-In架构的Web 浏览器使得我们可以随意地安装我们需要的文档格式的阅读器:Word, Excel, PDF等。今天操作系统通过动态的装载设备驱动和模块来支持可扩展。今天的应用系统,如:word 文字处理,E-mail客户端,Web浏览器等都通过scripting, controls, components和applets来支持可扩展性。但扩展性给软件的安全带来了,很大的挑战。
• Complexity(复杂性)互联网,分布式,动态的代码。现在的软件应用系统的变得越来越大,复杂性也越来越大,操作系统从DOS到今天的WindowsXP,XP的代码最少4000亿行。复杂度可想可知。而现在的基于网络的应用系统,为了达到更高运算速度,承载很大访问量,就使用分布式,集群,可扩展架构。使我们软件代码数急剧增长。复杂度也越来越大。软件安全隐患也越来越大。
网友评论