
课程咨询: 400-996-5531 / 投诉建议: 400-111-8989
认真做教育 专心促就业
我们在前几期的文章中给大家提到了许多软件测试程序员都在学习渗透测试的相关技术知识,今天我们就通过案例分析来简单了解一下,渗透测试概念与常见类型分享。
1、什么是渗透测试?
渗透测试(PenetrationTest,简称为PenTest),是指通过尝试利用漏洞攻击来评估IT基础设施的安全性。这些漏洞可能存在于操作系统、服务和应用程序的缺陷、不当配置或有风险的用户行为中。这种评估也有助于验证防御机制的有效性以及终用户是否遵守安全政策。
渗透测试通常使用手动或自动技术来系统地破坏服务器、端点、网络应用、无线网络、网络设备、移动设备和其他潜在的暴露点。一旦某个系统的漏洞被成功利用,测试人员会尝试利用被破坏的系统继续攻击其他内部资源,特别是,会通过权限升级逐步获取更高级别的安全许可和对电子虚拟资产和信息的更深入访问。
通过渗透测试成功暴露的任何安全漏洞信息通常会被汇总提交给IT和网络系统经理,以帮助这些专业人士做出战略性结论并调整修复工作的优先级。渗透测试的根本目的是衡量系统或终端客户被破坏的可能性,并评估此类事件可能对相关资源或操作产生的任何后果。
把渗透测试看成是试图通过自己动手来确认是否有人能闯入你的房子可能更好理解。渗透测试人员也被称为道德黑客,使用受控环境评估IT基础设施的安全性,以安全地攻击、识别和利用漏洞。区别在于他们不是检查门窗,而是测试服务器、网络、网络应用程序、移动设备和其他潜在的突破口,以发现整套系统的弱点。
2、渗透测试的类型
全面的渗透测试对于优化风险管理至关重要,这需要测试你所在环境中的所有区域:
WebApp:测试人员检测安全控制的效率并查找隐藏的漏洞、攻击模式以及其他导致WebApp被破坏的潜在安全缺口。
移动应用:利用自动化和扩展的手动测试,测试人员可以寻找在移动设备上运行的应用程序二进制文件和相应的服务器端功能的漏洞。服务器端的漏洞包括会话管理、加密问题、认证和授权问题以及其他常见的网络服务漏洞。
网络:这种测试可以确定外部网络和系统中的常见漏洞和关键漏洞。们会设置一个检查表,其中包括加密传输协议、SSL证书范围问题、管理服务的使用等测试用例。
云:云环境与传统本地环境存在巨大的差异。通常情况下,安全责任是由使用环境的企业和云服务提供商共同承担。正因为如此,渗透测试需要一套专门的技能和经验来仔细检查云的各个环节,如配置、API、各种数据库、加密方式、存储和安全控制。
容器:从Docker获得的容器往往存在漏洞,并且可以被大规模利用。错误配置也是与容器及其环境相关的常见风险。以上这两种风险都可以通过专业的渗透测试发现。
嵌入式设备(IoT):嵌入式或物联网设备(如医疗设备、汽车、智能家居、智能手表等)由于其较长的使用周期、电源限制、监管要求以及位置分散等特性,需要独特的软件测试方法。们在进行彻底的通信分析的同时,还需要进行客户端/服务器分析,以确定在相关使用场景中是否会出现漏洞。
API:采用自动和手动测试技术力求覆盖QWASPAPI安全Top10名单。测试人员寻找的一些安全风险和漏洞包括BrokenObjectLevelAuthorization(BOLA)、用户认证、过度的数据暴露、缺乏资源/速率限制等等。
CI/CD流水线:现代DevSecOps实践将自动化和智能代码扫描工具整合到CI/CD流水线中。除了发现已知漏洞的静态工具外,自动渗透测试工具也可以被集成到CI/CD流水线中,以模拟黑客的行为方式来破坏应用程序的安全。自动化的CI/CD渗透测试可以发现隐藏的漏洞和攻击模式,这些漏洞和攻击模式在静态代码扫描中是无法发现的。
【免责声明】:本内容转载于网络,转载目的在于传递信息。文章内容为作者个人意见,本平台对文中陈述、观点保持中立,不对所包含内容的准确性、可靠性与完整性提供形式地保证。请读者仅作参考。更多内容请加danei456学习了解。欢迎关注“达内在线”参与分销,赚更多好礼。