软件开发厂商在关键应用安全上下工夫?

一般意义上的安全确实包含很多内容,大到信息安全体系,小到缓冲区溢出造成的漏洞,还包含有相应管理制度等。

作为软件开发厂商,如何在自己的职权范围内保证关键应用的安全?以下观点也许能给你有所启示。

1)应用安全需求评估

这本来应该是最终用户完成的工作,可根据现状,这几乎是不在可能的,不如让我们把它做成选择题,由用户去画勾。

2)典型安全应用模型与安全策略的研究

在一些广泛使用的大系统,如操作系统、应用服务器、数据库服务器中,它们都有很先进和成熟的安全模型和安全策略控制,例如访问控制列表(ACL)、数据库操作权限分配、AD 中的代理管理等,都是值得深入研究和借鉴的。

3)安全代码实践研究

缓冲区溢出产生漏洞和构建 SQL 语句攻击是当前许多系统中出现的问题,其实只要在编码的时候稍加注意,这些失误很容易就可以避免,所以有必要建立一套代码审查办法,同时使用黑箱的方式对代码进行进行粒度很细的模拟攻击,以尽早发现安全问题。

4) 整理和建立各个平台安全工具集

DES、RSA、MD5、SHA这些优秀的、应用广泛的加密或散列函数对于安全编码有很大帮助,有必要把它们收集、整理在一起,为开发人员提供一个开发工具包。

.NET 和 Java 在这方面已经做的很好了,但在 Cobol、C/C++ 这些语言平台上,还需要做点工作。

在 IPSec 不能使用或不能到达未端的情况下,如果能做一套基于 PKI 的数据通信工具包,那一定是十分完美了。

5)安全测试与审计实施研究

在软件开发厂商里,有必要建立独产的安全测试部门,对公司的产品进行各种安全测试(黑箱和白箱),同时,在指定时间隔内,在用户允许的情况下,对产品的实际运行状况安全审计,以加强系统的安全级别。

6)建立应用安全评价体系

怎么样才能说我的系统安全性高?怎么样说出去让人相信? 没有评价体系和评价标准是不行的,Windows 的 C2 级安全性就是来自于 TCSEC,现在的 TCSEC 变成 CC (通用安全评价体系)了,这个东西太大,在参考它的基础上,有必要结合自己的实际情况,建立适合自身特点的安全评价体系,这样可以更有针对性,如对于金融行业应用来说。

“软件开发厂商在关键应用安全上下工夫?”的2个回复

评论已关闭。