渗透测试之一 --策略和类型
为了获取和评价软件质量模型中的信息安全性质量特性,以渗透测试(Penetration testing)作为安全性测试的具体测试方法正越来越得到重视。由于在标准化建设方面,在国家标准层面还没有针对渗透测试建立相应的实施标准,本文仅是个人对渗透测试策略和类型的经验总结和认知,希望籍此与感兴趣的朋友进行探讨。
一、什么是渗透测试
如前所述,由于国家标准化建设层面还没有相应的标准,所以关于什么是渗透测试也没有一个标准定义。个人可以这样认为,渗透测试是一种针对信息系统进行的授权了的模拟攻击,以评估其安全性为目的的测试方法。
理想情况下,任何一个信息系统从设计阶段就考虑到了如何消除安全隐患,渗透测试提供了对目标实现程度的洞察,可以帮助一个组织找到系统中的弱点,保护客户数据免于泄露,并提高业务连续性,这种测试对于维持在金融、电信、医疗、航空领域等受到高度监管的行业中的法规遵从性至关重要。
二、渗透测试的策略
根据组织的目标,以下是一些常用的渗透测试策略:
1. 外部测试:包括使用从组织系统外部比如互联网,执行程序对组织的网络边界进行攻击;
2. 内部测试:在组织的环境中执行,该测试的目的是试图了解如果网络边界被成功渗透会发生什么;
3. 单盲测试:测试团队很少或没有关于组织的信息,而是必须依赖于公开可用的信息(例如公司网站、域名注册等),来收集关于目标的信息并模拟真实黑客的行为进行测试;
4. 双盲测试:除了组织内少数人知道测试外,IT和安全人员事先没有得到通知,因此他们对计划的测试活动是不知情的。双隐蔽测试有助于测试组织的安全监控和事件识别流程,以及升级和响应流程;
5. 目标测试:也称为开灯方法,目标测试涉及IT和渗透测试团队,与目标和设计相关的测试活动和信息是已知的,目标测试比隐蔽测试需要的时间和精力都要小。
三、渗透测试的类型
目前,信息系统的形式是多种多样的,对于一般性公司的产品所涉及到的信息系统形式,常见的渗透测试类型可归纳为如下5种:
1. Web应用:测试人员检查安全控制的有效性,并寻找隐藏的漏洞、攻击模式和任何其他可能导致Web应用受损的潜在安全漏洞;
2. 移动应用:使用自动化和手动测试,测试人员寻找运行在移动设备上的应用程序和相应的服务器端中的漏洞。服务器端漏洞包括会话管理、加密问题、身份验证和授权问题以及其他常见的web服务漏洞;
3. 容器:源自Docker的容器通常具有可被大规模利用的漏洞。错误配置也是与容器及其环境相关的常见风险,这两种风险都可以通过渗透测试发现;
4. 云:云与传统的内部环境有很大不同。通常,安全责任由使用环境的组织和云服务提供商共同承担。正因为如此,云渗透测试需要一套专门的技能和经验来审查云的各个方面,如配置、API、各种数据库、加密、存储和安全控制;
5. CI/CD管道:DevOps实践将自动化和智能的代码扫描工具集成到CI/CD管道中。除了发现已知漏洞的静态工具之外,自动化渗透测试工具可以集成到CI/CD管道中,以模拟黑客危害应用程序安全性的行为,发现静态代码扫描无法检测到的隐藏漏洞和攻击模式。
目前企业的安全测试通常是延请第三方公司进行的,对于有技术潜力和资金储备的企业来说,这限制了自身能力的拓展,重视渗透测试,对公司整体能力的提升是有意义的。
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
