企业新闻

安全编码原则之安全调用组件

2018-04-08 20:17:45 | 来源:中培企业IT培训网

4.安全调用组件

软件程序几乎都不会是自包含的,它们通常都会调用其他组件,包括底层的操作系统、。 数据库系统、可重用的库、Internet服务(例如DNS)、‘Web服务等。这种组件调用极大地促进了软件的发展,能让软件开发者集中精力开发自己的功能模块,并借用其他方为用户提供更为强大的功能服务。但是,这种组件调用同时存在很大的安全问题,即攻击者可能更为方便地利用组件发起攻击。为避免调用组件带来安全问题,建议在组件安全、返回值安全以及传递数据安全等几个方面加强安全防护。

1)组件安全:尽量使用自己或可信的组件,对第三方组件,应当能在具有更为详细的安全说明、获得更安全的信心,甚至是只有经过安全认证后才可以调用。在选用可用组件的时候,应当广泛地了解该组件是否存在安全问题,或搜索获得更广泛应用、被公众检验过不存在问题的公共组件。在正是调用任何组件之前,即使只可能调用很小的一个函数,应当先对其进行考察,获取有关使用文档,了解其中是否提及了安全性警告。

2)返回值安全:当调用的组件函数返回时,应当对返回值进行检查,确保所调用的函数“正确”处理、结果“正确”地返回。这里正确是指被调用的组件函数按照规定的流程和路

径运行完成,其中包括成功的执行路径,也可能包括错误的处理路径。当组件函数调用成功时应当检查返回值,确保组件按照期望值处理,并且返回结果符合期望,如执行reacl(2)时,所读取的字节数可能少于所请求的字节数;当组件函数调用错误时应当检查返回值和错误码,以得到更多的错误信息。

3)传递数据安全:毕竟软件程序和被调用组件之间是通过系统或网络调用,在两者之间传递数据时,攻击者可能可以读到或篡改这些传递的数据,尤其当这些数据通过网络进行传递时。因此,需要采取安全措施,确保攻击者不会读取或篡改软件程序和被调用组件之间传递的数据。通常可供参考使用的安全措施包括数据加密和采用安全协议,常见的数据加密算法包括DES、AES、RSA等,安全协议包括TLS、IPSec和OpenSSH等。

标签: 安全调用组件