常见问题解答

一些常见问题。

常规

AppScan 360° 支持哪些 Kubernetes 平台?

ASoC 不使用任何平台特定的功能,并且预计可以在所有平台上运行,但并非所有平台都已验证其可运行性。ASoC 已验证可在以下 Kubernetes 平台上运行:

  • K0s
  • K3s
  • K8s
  • OpenShift
  • VMware
  • Tanzu

如果您有额外的安全措施,则可能需要在配置中执行额外的检查和修改。例如,OpenShift 需要一些先决条件才能与 ASoC 配合使用。有关更多信息,请参阅 OpenShift 与 AppScan 360° 配合使用的先决条件是什么?

什么是 Harbor?如何使用 Harbor?

HCL Harbor 是 HCL Software 的容器注册表。您可以从 Harbor 下载 Docker 映像(包含运行 ASoC 所需的应用程序代码、库、工具和依赖项的只读模板)和 Helm 图表(预配置的 Kubernetes 资源包,可简化 ASoC 在 Kubernetes 集群中的部署和管理)。
注: 必须完成 Harbor 的认证与配置,才能接收 SCA 漏洞数据库的自动更新。

获取对 HCL Harbor 的访问权限

只有在用户被添加到名为 Customers/AppScan 360 的 Okta 组中时,才会被授予相关的访问权限。

要获取访问权限,客户(或其 HCL 联系人)必须:
  1. 通过以下门户网站打开支持请求:HCL Software 客户支持门户网站。
  2. 在凭单中,说明存储库是“appscan 360”。
  3. 提供需要访问权限的用户电子邮件地址。
HCL 团队会验证权限并将请求转发给 Harbor 支持团队,后者随后会将指定用户添加到相应的 Okta 组中。此流程同时适用于 HCL 生成的 @hcl.com 和客户公司电子邮件地址。
要在授予访问权限后登录,请执行以下操作:
  1. 转到 https://hclcr.io。
  2. 单击使用 Okta CIAM 登录。
  3. 使用支持凭单中请求的电子邮件地址登录。
  4. 选择项目 > AppScan 360°。
  5. 存储库选项卡包含最新的 ASoC Docker 映像和 Helm 图表供下载。
如果您使用的是 Kubernetes,则可能需要将 CLI 密钥添加到 Kubernetes 配置中。执行以下任一项操作:
  • 使用您的用户名和密码执行 docker login hclcr.io 命令。
  • 为 docker/config.json 文件设置环境变量:
    export HCLCR_USERNAME= 
    export HCLCR_PASSWORD=
  • 设置用于 base64 编码的环境变量:
    export AS360_KNI_JSON_CONFIG_AS_BASE64=""

ASoC Helm 存储库位于何处?

ASoC Helm 存储库托管在公共 GitHub 服务器上,网址为:https://github.com/HCL-TECH-SOFTWARE。您可以从此位置克隆相应的存储库。

扫描为什么会失败?

您的扫描可能失败或进入审核状态的原因包括:
  • 应用程序文件无效
  • 您选择的测试集不适合您的站点/应用程序
  • AppScan Central Platform 无法正常运行或完全无法运行

如果您能够避免这些问题,则您的扫描更有可能自动快速完成。如果将 ASoC 扫描合并到自动化过程中,这一点尤其重要,因此扫描时间将尽可能缩短。

扫描需要多长时间才可完成?

根据应用程序大小和复杂性,完成扫描所需的时间从若干分钟到要长得多不等。您可以选择在扫描完成时接收电子邮件。

ASoC 测试哪些方面的安全问题?

  • AppDOS
  • 浏览器高速缓存敏感信息
  • 注释揭示敏感信息
  • 配置问题
  • 跨站点脚本编制 (XSS)
  • 数据库连接字符串处理
  • 电子邮件钓鱼
  • 电子邮件篡改
  • 需要编码
  • 公开的 Web 服务
  • 文件篡改
  • 文件上载
  • HTTP 请求分割
  • HTTP 响应分割
  • LDAP 注入
  • 公开重定向
  • 操作系统命令注入
  • 路径遍历潜在业务逻辑问题(也包含“不安全直接对象引用”)
  • 特权升级
  • RegEx 注入
  • 除去测试代码
  • SecondOrder 注入
  • 敏感数据暴露
  • 日志中存储了敏感数据
  • 错误消息中揭示了敏感信息
  • 会话管理超时值太大
  • SQL 注入
  • 未加密通信
  • URL 篡改
  • 使用加密不安全的随机数字生成器
  • 使用隐藏字段
  • 使用不安全的密码算法
  • 使用不安全的本机代码
  • 访问控制的安全强度较低
  • 认证的安全强度较低
  • XML 注入
  • XPath 注入
  • XSLT 注入

为何应用程序的风险分级为“未知”?

基于两个因素计算应用程序的风险分级:
  • 发现的问题(由 ASoC 发现)
  • 业务影响(由用户指定)
如果尚未发现任何问题,或者如果业务影响为“未指明”(缺省值),则风险分级将为“未知”。要更改业务影响,请参阅风险分级。

DAST

为何我的扫描“已排队”?

可以同时运行的扫描数(并发扫描)取决于可用资源。如果在已在运行最大数量并发扫描时启动扫描,那么新扫描将排队。在可用资源允许的情况下,已排队的扫描会按照启动顺序自动运行。

请注意,可以排队的最大扫描数也取决于可用资源。当队列已满时,将无法启动其他扫描。

无法编辑队列的顺序,需遵循扫描的启动顺序。

为什么我不能再指定要暂存或生产的环境?

直到最近,DAST 扫描配置才包括多个暂存或生产环境供选择。这是为了降低扫描影响您站点的稳定性的风险。向导中现在可用的新配置选项使此设置变得冗余,因此已将其删除。相反,如果您扫描的是生产站点,则可以考虑进行以下配置更改:
  • 在浏览 > 自动表单填充中,清除复选框以禁用此选项。
  • 在通信 > 最大请求速率中,对于大多数生产站点,缺省值应为正常,但您可以考虑减少每秒允许的最大请求数,以减少发送到站点的流量。

有关更多详细信息和建议,请参阅下一部分。

我在扫描实时生产站点时应该进行哪些更改?

如果可能,建议在暂存而不是生产站点上运行 DAST 扫描。在实时生产站点运行 DAST 扫描可能会影响站点稳定性。如有必要,考虑以下几点可帮助您有效配置生产站点扫描。

数据库可能会被扫描期间发送的人工信息所充满

可通过采取以下预防措施来减少上述情况造成的影响:
  1. 在浏览 > 自动表单填充中,清除复选框。

    这将确保 ASoC 不会自动填写表单(从而避免提交可能会大量涌入数据库、公告牌或联机论坛系统的数据),也不会向管理员或版主帐户发送不需要的电子邮件。但是,您应该注意,这样做将限制 ASoC 到达通过提交表单来访问的站点区域的能力。在此运行方式下,ASoC 将仅扫描可通过点击链接(带有或不带参数)来访问的站点区域。

  2. 在通信 > 最大请求速率中,考虑减少每秒允许的最大请求数。
  3. 创建一个测试帐户。
    使用测试帐户可更加轻松地跟踪数据库更改(例如,确保服务实际上未被订购),并帮助站点管理员在扫描后清理站点。创建帐户时,考虑执行以下部分或全部操作:
    • 将数据库访问限制为仅测试记录,以便可以恢复已修改的记录。
    • 确保将删除测试帐户所创建的新纪录。
    • 确保将忽略测试帐户的采购订单(或其他交易)。
    • 如果交易具有某种影响(如处理库存时),那么仅允许对测试记录的帐户访问权。
    • 如果站点包含论坛,那么将仅允许对测试论坛的测试帐户访问权,以使真实客户不会看到在测试过程中创建的测试。
    • 如果站点具有针对不同帐户的不同特权,请设置多个具有不同特权的测试帐户。这将确保更加全面地扫描站点。
    • 请不要创建具有管理员级别访问权的测试帐户。

电子邮件泛滥风险

测试使用电子邮件通知的页面时,ASoC 会生成许多请求并可能使站点的电子邮件服务器超负荷。如果可行,临时更改所测试的页面上的电子邮件地址,以便该电子邮件发送到无效的电子邮件地址。

测试优化:如果扫描速度更快,为什么我不应该总是使用测试优化?

当您需要更快的结果时,测试优化很有用,但它不像非优化扫描那样彻底。我们建议在速度很重要时进行优化扫描,但您也可以定期以全面扫描进行备份。

测试优化:我能否期望同一站点上的两个优化扫描的结果相同?

我们的团队不断分析和更新设置,每次 AppScan 更新都改进了优化设置,因此即使站点保持不变,结果也可能不同。但是,在早期扫描中发现问题的测试不太可能从稍后具有同样优化级别的扫描中过滤出来。

OTP:如何识别 OTP HTTP 参数?

对于使用 OTP(一次性密码)的站点的 DAST 扫描,AppScan 需要知道包含 OTP 的参数的名称(以便能够登录到应用程序),并且通常在验证记录的登录时识别该参数。如果 AppScan 未能识别该参数,或者您使用自动登录(而不是记录的登录),那么您必须手动添加该参数。

要识别参数:
  1. 浏览至应用程序的登录页面。
  2. 单击 F12 打开浏览器的开发人员工具窗格(在主浏览器窗格的右侧或下方打开)。
  3. 单击元素选项卡以查看 HTML 代码。

    当您选择代码的一部分时,该元素会在主浏览器窗格中突出显示。

  4. 找到突出显示 OTP 字段的元素。
    示例:
    <input type="text" name="OTPvalue" value="">
  5. name 参数的值(不带引号)就是您需要的 OTP HTTP 参数。
    示例:
    OTPvalue
  6. 如果有多个 OTP HTTP 参数,请用逗号分隔这些参数。

DAST 扫描支持哪些协议?

ASoC 支持使用哪种 TLS 协议连接到 ASoC 服务?

ASoC 支持使用 TLS 1.2 连接到服务。

为什么我的重新扫描中的中严重性问题数量增加了?

当重新扫描最初使用 v10.2.0 之前的 DAST 引擎版本运行的扫描时,与原始扫描相比,在重新扫描中发现的“中”严重性问题更多。

从 AppScan DAST 引擎 V10.2.0 开始,CWE 问题严重性和 CVSS 评分基于 CVSS V3.1。使用旧版本的 DAST 引擎运行的扫描使用 CVSS 2.0 评分。在旧版本中分配了“低”严重性的一些问题在 10.2.0 中分配了“中”严重性,导致“中”严重性问题增加。这将在未来版本的 DAST 引擎中更改。

SAST

什么是静态分析 IRX 文件以及它包含什么内容?

IRX 是一种安全且加密的 zip 存档,其中包含运行程序的完整静态分析所需的信息。它在创建期间以及(通过 SSL)传输到云期间进行加密。

在内部,IRX 存档包含以下文件和工件:

  • 可部署程序工件的专用、加密表示,从已部署的源代码构建(例如 Java 字节码或 .Net MSIL)。要了解静态分析扫描支持哪些语言,请参阅 静态分析的系统要求。
  • 通过程序部署的任何运行时脚本文件,可对这些文件进行分析以查找安全漏洞(例如 .js (Javascript) 或 .rb (Ruby) 文件)。
  • 描述程序的应用程序或项目层次结构和关系或依赖关系的 Static Analyzer 配置文件。这允许在应用程序中跨项目边界进行准确而完整的安全性分析。
  • 创建存档期间生成的 Static Analyzer 日志文件(用于诊断和支持)。