在这个数字化竞争的时代,所有公司都是科技公司,当代创新已经颠覆了从金融到杂货到运输等各个行业。 作为一家现代科技公司,要想取得成功,就需要比竞争对手更快地创新,而快速创新需要 DevOps。 DevOps 是开发人员和 IT 运营部门之间的协作,通过将精益原则应用于软件交付,引发了产品发布速度的突破。 尽管 DevOps 前景光明,但如果不妥善解决,机器人攻击和其他安全问题可能会阻止组织获得利益。 幸运的是,DevOps 催生了 DevSecOps,在快节奏的 DevOps 世界中,这个角色非常适合解决安全问题,尤其是机器人管理。
在 DevOps 文化中,DevSecOps 承担着将安全性纳入持续集成/持续开发(CI/CD)流程的责任,确保向开发人员快速反馈安全漏洞,并不断提高安全性与技术价值流的集成度。
DevOps 以精益制造实践为基础,强调在价值流中更早地考虑质量,以减少下游的故障,因为下游的返工成本更高;将质量融入产品设计中比通过检查发现缺陷要好。 由于安全性是质量的关键要素,DevSecOps 同样致力于将安全性向左移动,确保在工作流中尽早规划出任何差距。 越早使用静态分析安全测试、动态分析安全测试、漏洞扫描等工具,开发人员就能越早得到反馈,就能越早修复错误。
在需求收集、设计和编码中解决的安全性问题越多,安全控制就越有效。 虽然这些是安全编码和软件开发生命周期 (SDLC) 的基础概念,但这些实践在 DevOps 环境中变得越来越重要,因为稍后解决安全问题会阻碍快速部署或导致安全风险。
鉴于 DevSecOps 在保护现代企业安全方面发挥的关键作用,机器人管理应该纳入该特定学科的职责之中。 机器人管理不仅对安全至关重要,因此是 DevSecOps 使命的核心,而且 DevSecOps 还可以确保组织得到良好的保护以免受恶意机器人的攻击。 因此,正如承诺的那样,以下是 DevSecOps 应该解决机器人管理问题的六个原因:
机器人是自动向应用和 API 发送 HTTP 请求的脚本。 犯罪分子使用机器人攻击网络和移动应用程序,攻击类型如下:
有关机器人攻击的综合分类,请参阅OWASP 自动威胁手册或 Kyle Roberts 的摘要。
在所有机器人攻击中,撞库攻击尤其有害。 全球隐私大会 (GPA)已将撞库攻击宣布为数据隐私的全球威胁。 GPA 代表 130 多个数据保护和隐私监管部门和执法机构,该机构坚持认为,机器人管理如今已成为数据隐私的必要措施,因此对于所有在线开展业务的 B2C 企业来说都是强制性的。
如果 DevSecOps 要完成保护组织及其客户的使命,解决恶意机器人的问题至关重要。
根据DevOps 手册,遥测对于预测、诊断和解决复杂系统中的问题至关重要 - 也就是说,系统太大且太复杂,任何一个人都无法理解所有部分是如何组合在一起的。 为了使 DevOps 取得成功,遥测应该覆盖多个层面,包括业务指标、功能使用情况、网络性能和基础设施负载,以便可以在整个堆栈中追踪某一层面的问题,从而快速识别根本原因。
机器人会严重扭曲遥测数据。 许多F5 分布式云机器人防御客户发现,他们的大多数用户帐户都是假的,并且机器人占据了登录流量的 95% 以上。 在某些情况下,组织的大部分基础设施只不过是为抓取机器人提供服务。
如果无法区分人类和机器人,遥测将变得毫无意义。 功能失败是因为真实用户还是机器人? 为什么登录成功率变化这么大? 是什么原因导致特定应用路径的流量突然激增? 机器人发出的所有噪音都淹没了信号。
为了使 DevOps 取得成功,它需要有意义的遥测,而要使遥测有意义,则需要具备检测机器人的能力。 DevSecOps 可以通过参与机器人管理,确保对 DevOps 至关重要的数据完整性,为 DevOps 的成功做出重大贡献。
与开发人员可以通过编码最佳实践和漏洞测试解决的传统漏洞不同,机器人攻击主要针对应用程序必须公开的合法功能,例如登录、忘记密码、产品结帐和产品定价信息。 (F5 的丹·伍兹在接受海盗电台采访时将这些称为固有的弱点。) 虽然机器人防护对于应用程序安全至关重要,但它与安全编码无关,也不能仅靠开发人员来解决。 机器人防护处于开发人员和信息安全之间的空间,恰恰是 DevSecOps 占据的空间。
由于犯罪组织有很强的动机开发绕过检测的机器人,因此防范恶意机器人变得异常困难。 CAPTCHA 不再起作用。 使用 ML 和人工点击农场的 CAPTCHA 解决服务使 CAPTCHA 的解决变得快速且廉价。 (请参阅 Dan Wood 的《人类 CAPTCHA 解答者的故事》 。) 机器人执行 JavaScript 来满足工作量证明、模仿真实人类行为、引入微妙的随机性,并利用代理网络通过数百万个有效的住宅 IP 地址掩盖其来源。 犯罪分子在发现后数小时内就会重新装备机器人。 机器人的这种复杂性和快速发展意味着通过手动更新 WAF 规则来阻止机器人的日子早已过去了。
强迫开发人员付出这种程度的努力会阻止他们推出任何功能。 将其推给运营团队来更新 WAF 规则会耗费他们所有的资源。 组织需要 DevSecOps 参与,将机器人管理解决方案集成到技术价值流中。
虽然防范机器人程序并不是一项纯粹的开发任务,但它也不是传统意义上的纯粹的操作任务;配置机器人保护需要详细了解应用、其要求、设计和实施。
查看上面列出的机器人攻击类型,哪些适用于您的应用? 对于每种攻击类型,机器人会选择哪条路径或 API? 对于每条路径,在哪里可以检测到信号收集来收集区分机器人和人类所需的数据?
在为 Web 配置机器人保护时,F5 将受保护的路径称为端点,将需要检测的页面称为入口点。 想象一下登录。 一个网页可能承载登录表单,我们称之为入口点。 该表单可能会发布到特定路径,我们称之为端点。 当然,事情并不总是那么简单。 登录表单可能存在于许多页面上,并且这些表单可能会发布到不同的路径。
移动领域也有类似情况。 保护移动应用程序免受机器人攻击通常需要集成用于遥测仪器的 SDK。 确定哪些网络请求需要包含此遥测数据需要了解应用程序。
鉴于配置所需的应用程序知识,机器人管理非常适合 DevSecOps,特别是在需求和设计阶段考虑机器人管理时将此步骤向左移动是有意义的。
同样,防范机器人也需要了解网络基础设施。 通常,机器人保护将通过从网络层调用的 API 提供,可能是 CDN、负载均衡器、API 网关、入口控制器或应用平台。 其中一个层将被配置为将相关流量发送到机器人管理 API,以确定请求是来自人还是机器人。
通过与开发和运营团队合作,DevSecOps 团队将拥有最广泛的视角,了解如何决定在何处实现这些 API 调用,以便可以完全自动化(作为 CI/CD 管道的一部分)并提供最佳性能。
随着组织通过技术价值流发布新功能,机器人防御将需要配置更新,就像 WAF 等其他安全组件一样。 DevSecOps 团队可以很好地确定应在 CI/CD 管道中的哪个位置进行此自动配置更新。
这比最初看起来的要复杂得多,因为机器人保护可能会干扰自动化 QA 测试,而自动化 QA 测试会被检测为机器人。 有多种方法可以解决这个问题,例如通过标头或 IP 地址将测试工具列入允许名单,或者仅在自动化 QA 测试完成后才实施机器人保护。
最重要的是,DevSecOps 需要与 dev 和 InfoSec 合作,确定哪里需要机器人保护,并提供一种方法来确保在发布相关功能时它能够到位。
提供消费者应用的组织需要确保客户在线安全,保护他们的数据隐私和财务安全。 在任何通过 DevOps 实现的快速创新追求竞争优势的组织中,保护客户都需要 DevSecOps,以便安全性跟上发布的步伐。 在 DevSecOps 的职责中,机器人管理至关重要。 机器人攻击使客户安全面临严重风险,而 DevSecOps 提供的技能对于防御恶意机器人非常有价值,并使组织能够安全地接受快速创新。
要进一步了解机器人保护的投资回报率,请参阅Forrester 总体经济影响报告。 了解更多信息并安排与 F5 机器人专家进行对话,网址为f5.com/bot-defense 。