开放源码保安
主页 > 
开放源码保安
< 返回

开放源码保安

开放源码保安有人认为开放源码软件在本质上,通常较封闭式源码软件或专利软件更加安全,也有人持相反意见,两方意见持续争辩着。原始码的开放提供机会给攻击者和防卫者去读取详细编码,并分析软件保安漏洞

另一方面,封闭式源码软件迫使用户只接受供应商选择提供的保安水平。本文讨论如何从开放源码软件得到关于资讯科技保安的优势,此外,也将列出几项由开放源码用户社群推荐之开放源码保安的最佳作业实务,并指出在机构内安全地使用开放源码产品应注意的重点。

开放源码系统之软件保安

如前所述,开放源码软件其中一项特点是原始码开放给大众,连同潜在罪犯和攻击者也包括在内。攻击者可读取原始码并更快地攻击因编码弱点造成的保安漏洞。此外,开放源码应用程式通常由互联网团体与社群自愿地共同开发,攻击者也可能经这途径提供该软件的部份编码。编码的保安程度通常依赖可信赖的系统维护者或其他贡献者所作出的检视。然而,封闭源码软件也可能会面对类似问题,例如心存不满的员工在系统放置后门,把原始码外泄给公众。

开放源码用户社群已致力于改善软件安全和品质,以减低包括开放源码软件在内的应用程式和系统之保安漏洞。一般而言,开放源码软件保安可从以下最佳作业实务着手:

1.
维护一份关于所有使用过的软件清单,包括开放源码软件,该清单也应详细记录版本和杂凑值(hash value)(例如 MD5 或 SHA-1),以作为原始码完整性的核对,并记录下载该软件的网站。
2.
定期检查开放源码软件有效的保安更新和错误(bugs)修正,如此一来,修补程式管理流程便可定期执行,使开放源码软件保安漏洞也减少了。
3.
应尽快改变安装后的开放源码软件中所有预设的保安设定,透过取消不想要的服务功能,来以最安全的方法设定该产品。
4.
以编码分析器(code analysers)或审计工具(auditing tools)来测试和扫描原始码,例如 BOON (Buffer Overrun Detection)丶Flawfinder ,RATS (Rough Auditing Tool for Security)11等工具,开发者也须执行整合编译(compiler-integrated)工具,例如 IBM 的 ProPolice12(或是 Stack-Smashing Protector(SSP)),该工具可把保护码自动插入原始码中,从而保护编译程式。
5.
假如应用程式要求打开防火墙埠,应确定开放源码应用程式完全遵守既有的网络结构,当引进新应用程式时,此举将可避免违反机构的防火墙规则和保安政策

如何在机构内安全地使用开放源码产品

为了安全使用开放源码产品,机构必须考虑以下几点:

1.
制定完善记录的保安政策,并确定严格执行该政策。当企业需要改变时,也须修订该政策。
2.
只从可信任的网站下载开放源码产品,例如软件开发者的官方网站,以避免事先置入恶性程式码的潜在风险。
3.
下载原始码,而非编译过的套装软件,如此,可核对原始码是否符合 MD5/SHA-1 校验和(checksum),并分析保安漏洞,和进行编译,以求符合机构的特殊需求。
4.
详细研读产品文件,以获得保安配置参数的详细说明。
5.
假如发现产品的保安漏洞,便应检查是否有既定的通报程序,并确定妥善维护和处理该产品的所有保安议题。
6.
定期检查一般保安漏洞资料库,例如 CVE(Common Vulnerabilities and Exposure) 此类资料库发布任何有关开放源码产品保安漏洞的资讯。
7.
采用纵深防御(defence-in-depth)策略,可完全应付开放源码产品和网络之间不同水平所引起的威胁
8.
对机构内员工提供适当训练,以支援和维护开放源码产品。把所有作业实务和配置程序进行合适的文件记录,以避免因职务调动或离职而引起的问题。