当前位置:主页>资 讯>安全动态>

做好编码安全的万全准备(2)

三、确认安全的软件库

  如今,为不同语言和目的而开发的各种安全的软件库已经不少了。其中的许多软件库都是为C和C++语言开发的,提供了针对容易被误用的标准库函数的替代代码:

  安全软件库的类型:开发团队必须高度关注这些软件库的来源。因为开发团队往往没有时间查看库中的代码,检验其纯洁性,检验代码是否没有被篡改,因而必须确保文件来自一个可信的源。可信源的定义依赖于团队和正在开发的软件。开发团队不妨考虑下面这些软件库的例子:

  CERT的可管理字符串库:计算机紧急响应小组(CERT)库的开发是为了应对一个字符串库的需要,主要用于改善新开发的C语言程序的质量和安全性,同时排除程序的广泛应用和标准化的障碍。正如其名称所暗示的那样,可管理的字符串库基于一种动态的方法;可以根据需要分配和重新分配内存。这种方法可以确保总有充足的空间用于最终的字符串(包括终止性的空串)。

  SafeInt:SafeInt是一个C++模板类。SafeInt在执行一次操作之前要测试操作数的值,以决定是否会发生错误。这个类被声明为一个模板,因而它可用于任何整型类型。SafeInt被微软广泛用于其Windows及Office系列产品。如果您仅对微软的编译器感兴趣,现在的Visual Studio版本就有一个类似的简版。它可用于拥有良好模板支持的任何编译器。

  OWASP(开放式Web应用程序安全项目)的企业安全API:该API可以简化许多安全任务,如输入验证或访问控制。

  antiXSS库:该库可用于Web应用程序。antiXSS库主要用于防止跨站脚本(XSS)攻击。这些antiXSS库至少支持对所有源自不可信的用户输入的所有输出进行HTML编码。其中的例子包括,OWASP PHP AntiXSS 和SAFECode 11

  保障库的安全性:在选择了一个安全库之后,很重要的一点是确保其安全性。对于JAVA的JAR文件,任何人都可以轻易地解压文件、损害JAVA类,然后重新压缩文件。在发现问题时,就得花费几周或几个月的时间才能决定JAR文件中的问题。因而,应当将库放到一个安全的目录中,设置有限的访问权限,确保其不受到破坏。其目标不仅是为了确保库不会被重新打包,而且要限制操作人员。

  代码签名:这种技术可用于确保库和函数不会遭受损害或篡改。确保代码在使用之前的完整性的方法包括:认证代码、强健的命名、WinSxS等。代码签名还可以在开源代码库工具中使用,如Mercurial and GIT.关键在于:开发团队需要定义并遵循一个适当的代码签名策略,使其成为安全编码的一部分。

  代码库的集中化:将软件项目的代码库以及项目代码库的其它部分存放到一个可控的库中。代码库可以使所有项目代码存放到一个集中的位置,并可以有效地管理其更改。这种做法的安全好处是,易于备份整个代码库,如果代码受到损害还可以在日后进行恢复。将代码放置到一个中央位置也可以使开发团队有效地控制谁可以访问代码库。

(责任编辑:)

分享到:

更多
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
  • 微笑/wx
  • 撇嘴/pz
  • 抓狂/zk
  • 流汗/lh
  • 大兵/db
  • 奋斗/fd
  • 疑问/yw
  • 晕/y
  • 偷笑/wx
  • 可爱/ka
  • 傲慢/am
  • 惊恐/jk
用户名: 验证码:点击我更换图片
资料下载专区
图文资讯

由蜜罐引发的物联网安全小谈

由蜜罐引发的物联网安全小谈

最近几年,物联网正以迅雷不及掩耳之势四处圈地,凡联网之物都能被黑的恶名也如影随形...[详细]

女子傻眼:银行卡刚存30万,瞬间只剩400

女子傻眼:银行卡刚存30万,瞬间只剩400

个人信息被泄露,在这个年代,好像已经屡见不鲜。但昨天,记者从海曙检察院听闻了一个...[详细]

黑客针对香港的网络攻击中利用了新型的IE浏

黑客针对香港的网络攻击中利用了新型的IE浏览器0day

微软公司在昨日修复了漏洞(CNNVD-201508-429),但攻击者已经在进行水坑攻击的过程中利...[详细]

骗子植入手机木马的10大招术:看完你将会“

骗子植入手机木马的10大招术:看完你将会“百毒不侵”

一、冒充移动客服10086 此类案件中,犯罪分子通过技术手段伪装成移动客服10086向不特...[详细]

滴滴打车有漏洞 淘宝买个软件免费打车

滴滴打车有漏洞 淘宝买个软件免费打车

近日,重庆晚报记者接到读者反映,不法商人用黑客软件刷券在淘宝网销售,声称只要几元...[详细]

返回首页 返回顶部