渗透测试
渗透测试一种安全测试,用于覆盖攻击者在软件应用程序、网络或Web应用程序中可能利用的漏洞、威胁和风险。渗透测试也称为笔测试。
漏洞是攻击者可以中断或获得对系统或其中包含的任何数据的授权访问的风险。渗透分析依赖于两种机制,即脆弱性评估和渗透测试(VAPT) 。
为什么要做渗透测试?
渗透在企业中是必不可少的,因为-
- 银行、股票交易等金融部门希望数据得到保护,渗透测试对于确保安全性至关重要
- 如果软件系统已经被黑客攻击,组织想要确定系统中是否仍然存在任何威胁,以避免将来的黑客攻击。
- 主动渗透测试是抵御黑客攻击的最佳保障
渗透测试的类型:
选择的渗透测试类型通常取决于范围以及组织是否要模拟由员工、网络管理员(内部来源)或外部来源发起的攻击。有三种类型的渗透测试,它们是
- 黑盒测试
- 白盒渗透测试
- 灰盒渗透测试
在黑盒渗透测试中,测试人员对要测试的系统一无所知。他负责收集有关目标网络或系统的信息。
在白盒渗透测试中,测试人员通常会获得有关要测试的网络或系统的完整信息,包括IP地址方案、源代码、操作系统详细信息等。这可视为模拟任何内部来源(组织员工)发起的攻击。
在灰盒渗透测试中,测试员被提供系统的部分知识。可以将其视为外部黑客的攻击,该外部黑客非法访问了组织的网络基础架构文档。
如何做好渗透测试
执行渗透测试需要执行以下活动-
步骤1) 规划阶段
- 任务的范围和策略已确定
- 现有的安全策略、标准用于定义范围
步骤2) 发现阶段
- 尽可能多地收集有关系统的信息,包括系统中的数据、用户名甚至密码。这也称为指纹识别。
- 扫描并探测端口
- 检查系统的漏洞
步骤3) 攻击阶段
- 查找利用各种漏洞需要必要的安全权限才能利用系统
步骤4) 报告阶段
- 报告必须包含详细的调查结果
- 发现漏洞的风险及其对业务的影响
- 建议和解决方案
渗透测试的首要任务是收集系统信息。有两种方式可以收集信息-
- 关于主机的“一对一”或“一对多”模型:测试人员以线性方式针对一台目标主机或一组目标主机(例如子网)执行技术。
- “多对一”或“多对多”模型:测试员利用多个主机以随机、限速和非线性的方式执行信息收集技术。
测试测试工具示例
渗透测试中使用的工具种类繁多,其中重要的工具有:
- nmap-此工具用于执行端口扫描、操作系统识别、跟踪路由和漏洞扫描。
- Nessus-这是传统的基于网络的漏洞工具。
- Pass-the-Hash-此工具主要用于密码破解。
渗透测试员的角色和职责:
渗透测试员的工作是:
- 测试人员应从组织收集必要的信息以启用渗透测试
- 查找可能允许黑客攻击目标计算机的漏洞
- 渗透测试员应该像真正的黑客一样思考和行动,尽管在道德上是这样的。
- 渗透测试仪所做的工作应该是可重复性的,这样开发人员就可以很容易地修复它
- 测试执行的开始日期和结束日期需要提前定义。
- 测试人员应对软件测试期间系统或信息的任何丢失负责
- 测试员应对数据和信息保密。
手动渗透与自动渗透测试:
人工渗透试验 | 自动渗透测试 |
---|---|
手动测试需要专家专业人员来运行测试 | 自动化测试工具为经验较少的专业人员提供清晰的报告 |
手动测试需要Excel和其他工具来跟踪它 | 自动化测试有集中的、标准的工具 |
在手动测试中,样本结果因测试而异 | 在自动化测试的情况下,结果不会因测试而异 |
内存清理应由用户记住 | 自动化测试将进行全面的清理。 |
渗透测试的弊端
渗透测试无法发现系统中的所有漏洞。渗透测试员在时间、预算、范围、技能等方面都有一定的限制。
以下是做渗透测试时的副作用:
- 数据丢失和损坏
- 停机时间
- 增加成本
结论:
渗透测试的测试人员应该像真正的黑客一样测试应用程序或系统,并且需要检查代码是否安全地编写。