笔者之前看过一篇文章写得很好,里面提及了会写程序的有很多人,但是会写安全程序却没有几个。
而如果在开发初期就将安全问题纳入规划,成本是最低的!
在开发阶段就落实正确而安全的程序写法,是最彻底解决的办法!
当上线之后,才发现程序本身就不安全,那么可能为时已晚。
在你还没找到补破洞的方法之前,资料也许已经泄漏出去了!
面对新版的”个人资料保护法”势在必行,企业不得不正视Web应用程序的安全问题。然而,企业面临的难题在于,企业内部的安全人员大多是IT基础架构的成员,过去听到的”安全”话题,多是网管或系统管理组的负责领域。
关于应用程序面的安全,企业的了解相对而言很有限,而开发人员本身更不用说。我们一般会问”你会不会写程序”,少见询问”你会不会写‘安全的’程序”。
程序设计师在技能养成的过程中,就不曾接触过相关话题,据了解,直至今日的大专院校仍少见”安全的程序开发”相关课程。
再加上专案时程紧凑,能够准时、无误又符合需求地交付上线,就是很不容易的事情,因此”安全”更是无暇顾及的事情。现在资讯主管要求开发者写”安全的程序代码”,几乎是缘木求鱼。
弱点在开发早期解决,成本最低
该怎么处理这样的问题?许多对安全敏感性较高的产业,早已选择渗透测试,请安全专家以黑客的手法检验网站的安全性。然而渗透测试费用不低,无法频繁地执行,一般而言,是一年1至2次,所以无法时时把关安全性。
因此,市面上也出现了”静态程序代码安全性检测”及”动态程序代码安全性检测”工具,希望帮助企业在安全意识不足的情况下,透过工具的自动化扫描,抓出安全性漏洞,并提供弱点解说与修正建议,进而学会处理的方式。
动态程序代码检测工具及渗透测试都是在模拟黑客的手法,尝试找到网站的弱点,并提供相关报告。这种作法比静态程序代码安全性检测全面,因为可以抓出操作系统、应用服务器的漏洞,及设定面问题。
不过,静态程序代码安全性扫描工具的强项在于,能地毯式地扫描程序代码、抓出不安全的写法,并提供修正建议,是从根源就做好防护的安全性作法。
毕竟软件上线后才发现问题,再去解决的成本是开发阶段的100倍。
OWASP(Open Web Application Security Project)主席Jeff Williams在2008年的美国年会上,开宗明义说道:”很多单位把大部分的安全预算花在‘黑(Hacking)’,也就是做渗透测试跟扫描。这没什么错,这些工作是重要的,但是我们没办法把自己‘黑’得更安全。”
在开发阶段就落实正确而安全的程序写法,是最彻底的解决办法。若再搭配渗透试,可进一步验证成效。
【编辑推荐】