写点什么

ChatGPT 与软件架构 (5) - 网络安全

作者:俞凡
  • 2023-06-06
    上海
  • 本文字数:3982 字

    阅读完需:约 13 分钟

安全是任何系统都无法回避的关键要素,本文介绍了若干利用 ChatGPT 增强的网络安全攻击,并提出了应对策略。原文: ChatGPT and Cyber Security


Benjamin Elliott @Unsplash


如果你还不熟悉 ChatGPT,那么考虑到这种生成式人工智能服务的快速崛起,是时候关注一下了。


许多组织甚至国家都措手不及,仓促做出反应,一些组织和国家采取严厉措施完全禁止ChatGPT,而另一些组织和国家则采取更自由放任的方式


在确定正确道路时存在困惑并不奇怪,我们来看看是否有一些明确的指导,可以帮助做出明智的决定。


首先,看看英国NCSC对ChatGPT/大语言模型(LLM)的看法


NCSC 建议:

- 在查询 LLM(如 ChatGPT)时不要提供敏感信息,可以考虑将私有 LLM 作为可行选项。

- 不要向 LLM 提交那些被公开后可能会导致问题的查询。


私有 LLM 可以由云供应商提供,也可以完全自托管。自托管 LLM 价格昂贵,但可能适合在经过彻底的安全评估后处理敏感的组织数据。


对于云供应商的 LLM 来说,了解使用条款、隐私政策以及如何管理、共享和访问数据至关重要。


NCSC 提出了问题,LLM 会让网络犯罪更容易吗?


由于 LLM 擅长按需复制写作风格,因此犯罪分子有可能利用 LLM 撰写令人信服的网络钓鱼邮件,包括使用多种语言的电子邮件。可能有助于具有高技术能力但缺乏语言技能的攻击者,帮助他们用目标母语创建令人信服的网络钓鱼电子邮件(或进行社工攻击)。




云安全联盟(CSA, Cloud Security Alliance)提供了一份更深入的报告,对风险进行了更深入研究,并提供了对这份报告的总结简报。


该报告提供了攻击者如何利用 LLM 改进其工具集的示例,出于兴趣,我们会深入探讨这些方法。CSA 根据风险、影响和可能性对每种方法进行了评级。



枚举(Enumeration)


Nmap 扫描可以帮助深入了解网络安全状况和潜在漏洞。LLM 可用于应用程序发现,以快速识别与特定技术或平台相关的流行应用程序。


Nmap 是 Network Mapper 的缩写,是一种开源网络扫描工具,被安全专业人员、网络管理员和渗透测试人员广泛使用。Nmap 扫描使用 Nmap 来发现网络上的主机和服务,生成网络"地图"。


Nmap 扫描提供了有价值的信息,例如,


  • 主机发现 - 识别网络中存在的主机或设备。

  • 端口扫描 — 检测目标主机上的开放端口,发现正在运行的服务和潜在漏洞。

  • 版本检测 — 识别目标主机的软件版本和操作系统。

  • 操作系统检测 - 确定目标设备的操作系统和硬件特性。

  • 脚本扫描 - 使用 Nmap 脚本引擎(NSE)为各种任务运行自定义脚本,例如漏洞检测和利用。


Nmap 扫描可以帮助网络管理员监控安全状态,识别潜在漏洞,更有效的管理其网络资源。此外,渗透测试人员和安全研究人员使用 Nmap 来发现和利用目标网络中的弱点。


import nmap
# Initialize the nmap scannernm = nmap.PortScanner()
# Scan the networknm.scan('192.168.0.0/24', '1-1024')
# Iterate over the hosts in the scan resultsfor host in nm.all_hosts(): print(f'Host: {host}') # Check if the host is compliant with the security standards if nm[host].compliant_with('CIS_CentOS_Linux_7_Benchmark_v2.1.1'): print('Compliant with security standards') else: print('Non-compliant with security standards')
复制代码


该脚本扫描范围为 192.168.0.0/24 的 IP 地址,寻找范围为 1-1024 的开放端口,然后检查扫描结果中的主机是否符合 CIS CentOS Linux 7 Benchmark v2.1.1 安全标准。


立足点协助(Foothold Assistance)


立足点协助是指通过利用漏洞或弱点,帮助攻击者在目标系统或网络中获取并控制入口点,一旦站稳脚跟,攻击者就可以进一步渗透系统,收集信息,提升权限,或发起进一步攻击。


AI 工具可以自动发现漏洞或简化利用过程,使攻击者更容易获得初始访问权限。LLM 已经被证明能够识别代码中的安全缺陷,例如 File Inclusion 漏洞、输入验证缺陷、硬编码凭证和弱密码散列缺陷。ChatGPT 在识别安全缺陷方面的有效性突出了其在漏洞评估和改进代码安全性方面的潜在用途。


对于这方面应用不太好展示例子,不过可以例举一些防止立足点协助攻击的方法:


  • 确保软件和系统使用最新版本 —— 定期更新操作系统、应用程序和安全软件,确保安装了最新补丁和安全修复程序。

  • 实施强认证 —— 为所有用户帐户启用多因素认证(MFA)和强壮的密码,尽量减少未经授权的访问。

  • 限制用户权限 —— 实现最小权限原则,只给用户执行任务所需的权限。

  • 定期监控和审计网络活动 —— 监控网络活动,以检测任何异常行为或未经授权的访问尝试。

  • 定期进行漏洞评估和渗透测试 —— 定期进行安全评估,以识别攻击者的漏洞和潜在入口点。

  • 安全最佳实践教育 —— 培训员工识别和报告可疑活动、网络钓鱼企图和其他威胁。

  • 建立事件响应机制 —— 为响应安全事件制定清晰的计划,包括沟通策略,以及控制和修复问题的步骤。


侦测(Reconnaissance)


网络安全中的侦测是指在发动攻击前收集目标系统、网络或组织的信息,方法包括被动监控、主动监控和社会工程。


被动监控包括在不直接与目标系统或网络交互的情况下收集信息,主动监控包括探测目标系统或网络以收集信息。


社会工程利用网络钓鱼或欺诈从员工或内部人士那里收集敏感信息。ChatGPT 等 AI 驱动的工具可以通过回答有针对性的问题并提供所需信息(如银行、公司高管和域名)来简化和增强数据收集过程。AI 工具还可以在无法获得确切信息的情况下提供相关信息,展示其在各种数据收集任务中的潜力。


下面这些步骤可以帮助防范侦测企图:


  • 网络分段 —— 将网络划分为较小、隔离的段,以限制攻击者可以访问的信息范围。

  • 设置防火墙配置 —— 设置严格的防火墙规则来阻止未经授权的访问,并监控日志中任何入侵企图的迹象。

  • 入侵检测和预防系统(IDPS,Intrusion Detection and Prevention Systems) —— 实施 IDPS 来检测和防止网络上的恶意活动。

  • 更新软件和系统 —— 使用最新的安全补丁更新操作系统、应用程序和安全软件。

  • 访问控制 —— 实现基于角色的访问控制(RBAC),限制对敏感信息的访问,限制用户权限。

  • 保护 DNS 记录 —— 锁定 DNS 记录以防止未经授权的更改,并考虑使用 DNSSEC(域名系统安全扩展)来增加额外的安全层。

  • 加固网络设备 —— 为路由器、交换机等网络设备进行安全设置,并定期更新其固件。

  • 加密通信 —— 使用像 TLS/SSL 这样的加密协议来保护通过网络传输的敏感数据。

  • 部署蜜罐 —— 在网络中设置蜜罐来吸引和跟踪攻击者,针对其战术、方法提供有价值的见解。

  • 安全教育 —— 培训员工有关安全的最佳实践,包括识别网络钓鱼和报告可疑活动。

  • 监控信息泄露 —— 定期搜索公共资源,如搜索引擎、社交媒体和论坛,以查找与组织有关的泄露信息,也可以使用监控暗网数据泄露和其他威胁的服务。


钓鱼(Phishing)


组织和个人需要采用多层次的网络安全方法来对抗复杂的网络钓鱼。AI 驱动的工具使网络攻击者能够制作看起来合法的电子邮件,从而难以区分真实和恶意的通信。由于 AI 的进步,提高了攻击者的能力,让钓鱼邮件具有完美的语言、上下文和个性化的细节。


多层次网络安全方法意味着在不同级别实施各种安全控制,从而提高系统的整体弹性。由于网络犯罪分子必须绕过多层防御,攻击就更难得逞。这种方法包括定期员工培训、先进的邮件过滤系统和健壮的身份验证方法等。


推广网络安全最佳实践,例如验证发送方身份、避免可疑链接和保持软件更新,可以帮助抵御不断变化的威胁,并降低与复杂的网络钓鱼活动相关的风险。


多态(Polymorphic)


多态恶意软件很难被检测和消除。


多态代码可以在保持其原始功能的同时改变其外观(内容和签名),目的是逃避安全检测。CyberArk的研究证明,ChatGPT 可以用来生成多态 shell 代码。


多态恶意软件包括病毒、蠕虫和木马,它们可以调整其代码结构以绕过传统安全措施。恶意软件结合各种技术可以创建多个链来实现相同的目标,从而产生许多变体,使得网络安全专业人员的检测和防护工作变得更复杂。


然而,由于 OpenAI 不断调整政策,防止将 AI 模型用于恶意目的的,因此为此类场景创建提示注入会变得越来越困难。


提高安全性


CSA 报告还深入探讨了如何使用 ChatGPT 以各种不同方式帮助提高安全性。CSA 对企业的建议是:


  1. 制定明确的政策: 建立组织指导方针和政策,概述 ChatGPT 和其他 AI 的可接受、可使用程度。确保员工了解这些政策,并提供安全和负责任的使用实践培训。保护 PII 和其他敏感信息,基于现有政策意识和执行流程防止敏感信息被传输到 AI 工具并导致可能的数据泄露。

  2. 实施访问控制: 只有授权人员才能访问 ChatGPT 和其他 AI 系统。为了尽量减少未经授权访问的风险,请使用可靠的身份验证方法(例如多因素身份验证)。

  3. 通信通道安全: 确保用户与 ChatGPT 之间的所有通信都通过加密通道进行,以防范潜在的中间人攻击和其他安全威胁。

  4. 监控和审计使用情况: 定期检查和监控组织内 ChatGPT 的使用情况,以检测任何可疑活动或潜在的滥用。实施自动监控工具,以协助识别异常行为。

  5. 鼓励报告安全问题: 创造开放和问责文化,让员工可以放心报告任何涉及 ChatGPT 或其他 AI 工具的安全问题或事件。

  6. 保持最新的 AI 安全意识: 不断向组织介绍 AI 安全的最新发展,并与行业同行合作,分享最佳实践,并随时了解新出现的威胁。


总结


ChatGPT 处于技术领域重大变革的前沿。CSA 提供的指导明显比英国 NCSC 更广泛和全面。通过优先考虑教育、实施健壮的安全控制以及了解最新的安全和漏洞发展,可以大大降低风险。实施这些措施可以帮助我们拥抱 ChatGPT 的巨大潜力。


最终,在处理像 ChatGPT 这样的先进技术时,信任是基本因素。建立信任需要透明的实践、强有力的安全措施以及组织中每个人的清晰沟通。通过不断加强安全功能,促进基于道德的使用,并为用户提供必要工具和知识来保护数据,可以建立和维护信任,使机构和个人能够充分利用这项创新技术的潜力。




你好,我是俞凡,在 Motorola 做过研发,现在在 Mavenir 做技术工作,对通信、网络、后端架构、云原生、DevOps、CICD、区块链、AI 等技术始终保持着浓厚的兴趣,平时喜欢阅读、思考,相信持续学习、终身成长,欢迎一起交流学习。微信公众号:DeepNoMind

发布于: 刚刚阅读数: 4
用户头像

俞凡

关注

公众号:DeepNoMind 2017-10-18 加入

俞凡,Mavenir Systems研发总监,关注高可用架构、高性能服务、5G、人工智能、区块链、DevOps、Agile等。公众号:DeepNoMind

评论

发布
暂无评论
ChatGPT与软件架构(5) - 网络安全_人工智能_俞凡_InfoQ写作社区