11.2.4. 申请评估
虽然大多数评估的范围很广,但应用评估是一个专门针对单一应用的专业。 由于组织使用的关键任务应用程序的复杂性,这些类型的评估变得越来越普遍,其中许多是内部构建的。 根据需要,通常会将应用程序评估添加到更广泛的评估中。 可以通过这种方式评估的申请包括但不限于:
• Web 应用程序:Web 应用程序是最常见的面向外部的攻击面,因为它们可以访问,因此成为了很好的目标。 通常,标准评估会发现 Web 应用程序中的基本问题,但更有针对性的审查通常值得花时间确定与应用程序工作流程相关的问题。 这 kali-linux-网络 metapackage 有许多工具来帮助进行这些评估。
• 编译的桌面应用程序:服务器软件不是唯一的目标; 桌面应用程序也构成了一个很好的攻击面。 在过去的几年中,许多桌面应用程序,例如
21http://docs.kali.org/kali-dojo/02-mastering-live-build 22https://www.offensive-security.com/kali-linux/kali-rolling-iso-of-doom/ 23http://docs.kali.org/development/live-build-a-custom-kali-iso 24https://www.offensive-security.com/kali-linux/kali-linux-recipes/
PDF 阅读器或基于网络的视频程序具有很强的针对性,迫使它们成熟。 但是,仍然有大量桌面应用程序在经过适当审查后存在大量漏洞。
• 移动应用程序:随着移动设备变得越来越流行,在许多评估中移动应用程序将成为一个标准的攻击面。 这是一个快速移动的目标,该领域的方法仍在成熟中,几乎每周都有新的发展。 与分析移动应用程序相关的工具可以在 磁逆向工程 菜单类别。
应用评估可以通过多种不同的方式进行。 作为一个简单的例子,可以针对应用程序运行特定于应用程序的自动化工具,以尝试识别潜在问题。 这些工具将使用特定于应用程序的逻辑来尝试识别未知问题,而不仅仅是依赖一组已知签名。 这些工具必须对应用程序的行为有内在的理解。 一个常见的例子是 Web 应用程序漏洞扫描器,例如 Burp Suite25,针对应用程序,该应用程序首先识别各种输入字段,然后向这些字段发送常见的 SQL 注入攻击,同时监视应用程序的响应以获取成功攻击的迹象。
在更复杂的场景中,应用程序评估可以在
黑盒或白盒方式。
• 黑盒评估:该工具(或评估器)与应用程序交互,无需标准用户以外的特殊知识或访问权限。 例如,在 Web 应用程序的情况下,评估员可能只能访问未登录系统的用户可用的功能和特性。 任何使用的用户帐户都是一般用户可以自行注册的帐户。 这将防止攻击者能够查看仅对需要由管理员创建的用户可用的任何功能。
• 白盒评估:该工具(或评估者)通常拥有对源代码的完全访问权限、对运行应用程序的平台的管理访问权限等。 这可确保完成对所有应用程序功能的全面审查,无论该功能位于应用程序的何处。 这样做的代价是评估绝不是对实际恶意活动的模拟。
中间显然有灰色阴影。 通常,决定因素是评估的目标。 如果目标是确定应用程序受到有针对性的外部攻击时会发生什么,那么黑盒评估可能是最好的。 如果目标是在相对较短的时间内识别并消除尽可能多的安全问题,则白盒方法可能更有效。
25https://portswigger.net/burp/
在其他情况下,可以采用混合方法,其中评估者没有对运行应用程序的平台的应用程序源代码的完全访问权限,但管理员提供用户帐户以允许访问尽可能多的应用程序功能。
Kali 是各种应用程序评估的理想平台。 在默认安装中,可以使用一系列不同的特定于应用程序的扫描仪。 对于更高级的评估,存在一系列工具、源代码编辑器和脚本环境。 您可以找到 Web 应用程序26 和逆向工程27 Kali 工具的部分28 网站很有帮助。