在我的工作地点,一家总共有7名员工的小型企业,我们需要做一些工作来检查我们的应用程序是否存在安全漏洞和漏洞。我们在安全测试程序中确定了两个主要要求:
这个过程将是迭代的,所以我们将进行扫描,进行补救工作并重复。这将是一个经常发生的事情。
我们遇到的问题是:我们怎么知道1?而且,即使我们有理由确定1,我们究竟如何进行2?
我们的第一个想法是自己对我们的代码进行一些轻度安全扫描,看看我们是否能找出任何明确的问题。然后,如果我们选择的安全顾问确定了这些问题,还有一些问题我们正在顺利通往1和2.唯一的问题是我现在一直在拖网搜寻OWASP,Metasploit,w3af, burp,wikto,sectools(以及Stack Overflow,natch)......
据我所知,安全软件似乎有两种形式,安全专家的复杂开源安全性和安全专家昂贵的复杂专有安全性。
我不是安全专家,我是一名寻求指导的中级业务系统程序员。是否没有可接近的扫描仪类型软件或类似软件,这将使我概述我的代码库的状态?我是否只需要获得兼职学位才能在黄铜级别上理解这些内容?或者我错过了什么?
答案 0 :(得分:1)
如果您能够聘请专家安全顾问,那么鉴于您的内部安全技能较低,这可能是您最好的选择。
如果没有,则无法避免您需要了解更多有关安全性,如何识别威胁以及如何编写测试以测试常见安全漏洞(如XSS,SQL注入,CSRF等)的事实。上。
自动安全漏洞软件(静态代码分析和运行时漏洞扫描)非常有用,但它们只是您整体安全方法的一部分。自动化工具无法识别所有漏洞,它们可能会给您带来虚假的安全感或大量的误报。如果没有能力解释这些工具的输出,你可能也没有它们。
我建议用于外部漏洞扫描的一个工具是QualysGuard。他们拥有一个庞大且最新的常见漏洞数据库,可以在面向公众的Web应用程序,Web服务器,DNS服务器,防火墙,VPN服务器等中进行扫描,报告的输出通常会让您有一个非常明确的想法什么是错的,怎么办呢。但同样,这只是整体安全方法的一部分。
如果您想采用整体方法来确保安全性不仅包括网络中的组件,应用程序,数据库等,还包括流程(例如,变更管理,数据保留政策,修补),您可能会发现即使您没有存储信用卡号,PCI-DSS specification也是一个有用的指南。
答案 1 :(得分:1)
我读到你首先有兴趣雇用某人并且知道他们很好。嗯,你有几个选择,但最容易的是与知情人士交谈。我和几家公司合作过,可以告诉你Neohapsis和Matasano非常好(虽然它会让你付出代价)。
您拥有的第二个选择是研究公司。他们和谁一起工作过?他们可以给你参考吗?参考文献有什么要说的?该公司向全世界发布了哪些漏洞?社区的反应是什么(他们是否被人吼叫,被认为是次要的,或者是游戏改变,如SSL MitM vuln)?公司的任何员工都在会议上谈过吗?这是一次受人尊敬的会议吗?与会者认为谈话好吗?
其次,您有兴趣了解报告给您的漏洞。一个好的测试公司将(a)给你一份文件,描述他们做了什么和不做什么,他们发现了什么漏洞,如何重现漏洞,以及他们如何知道漏洞是有效的,以及(b)将与你见面(可能是电话会议)审查漏洞并解释漏洞是如何工作的,并且(c)将在合同中写入他们将在您修复漏洞后重新测试一次,以验证它们是否真正得到修复。
您还可以为您的开发人员(或聘请在该领域拥有良好声誉的人员)接受培训,以便他们了解什么是什么。 SafeLight是一家优秀的公司。 SANS也提供良好的培训。您可以使用OWASP的webgoat等培训工具,它可以引导您了解常见的Web应用程序漏洞。或者你可以做一些阅读 - NIST SP 800是一个可免费下载的计算机安全概念的精彩介绍,而Hacking Exposed系列在教授如何做基本的东西方面做得很好。之后,Microsoft Press提供了一系列关于安全性和安全性开发生命周期活动的书籍。 SafeCode提供了一些好的,简短的建议。
希望这有帮助!
答案 2 :(得分:0)
哇。我真的不期待这个小活动。
根据我的经验,我可能不得不改变这个答案,但是在我寻求一些平易近人的事情上继续涉及大量的措辞我发生在一个已被带入OWASP折叠的项目中:
http://www.owasp.org/index.php/OWASP_Zed_Attack_Proxy_Project
它很自豪,我引用了项目文档的介绍:
编辑:今天早上与ZAP快速合作后,虽然我无法立即直接在我们的网站上打开攻击模式,但我可以看到代理的工作方式与OWASP的Web Scarab非常相似(会链接)但缺乏代理和反垃圾邮件规则阻止了这一点.Web Scarab更注重技术,看起来,查看功能列表Scarab做了更多的东西,但它没有笔测试漏洞扫描程序。我会更新一次我已经研究了如何使用漏洞扫描程序。[ZAP]旨在供人们使用 具有广泛的安全性 经验,因此是理想的 开发人员和功能测试人员 (原文如此)新的渗透测试。
我们欢迎任何想参与并且有意愿的人,也可以在下面发表评论或回答。