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

news2024/11/22 15:18:17

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

Benjamin Elliott @Unsplash
Benjamin Elliott @Unsplash

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

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

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

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

NCSC建议:

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

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

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

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

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

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


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

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

alt

枚举(Enumeration)

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

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

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

  • 主机发现 - 识别网络中存在的主机或设备。
  • 端口扫描 — 检测目标主机上的开放端口,发现正在运行的服务和潜在漏洞。
  • 版本检测 — 识别目标主机的软件版本和操作系统。
  • 操作系统检测 - 确定目标设备的操作系统和硬件特性。
  • 脚本扫描 - 使用Nmap脚本引擎(NSE)为各种任务运行自定义脚本,例如漏洞检测和利用。

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

import nmap

# Initialize the nmap scanner
nm = nmap.PortScanner()

# Scan the network
nm.scan('192.168.0.0/24''1-1024')

# Iterate over the hosts in the scan results
for 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的研究证明[6],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

参考资料

[1]

ChatGPT banned in Italy over privacy concerns: https://www.bbc.co.uk/news/technology-65139406

[2]

UK introduces light-touch AI regulation: https://www.lexology.com/library/detail.aspx?g=c062cc49-b20d-4260-83e0-8f3346863cf0

[3]

ChatGPT and Large Language Models: What's the Risk: https://www.ncsc.gov.uk/blog-post/chatgpt-and-large-language-models-whats-the-risk

[4]

I used ChatGPT to rewrite my text in the style of Shakespeare, C3PO, and Harry Potter: https://www.zdnet.com/article/i-used-chatgpt-to-rewrite-my-text-in-the-style-of-shakespeare-c3po-and-harry-potter

[5]

Security Implications of ChatGPT: https://cloudsecurityalliance.org/artifacts/security-implications-of-chatgpt

[6]

Chatting our way into creating apolymorphic malware: https://www.cyberark.com/resources/threat-research-blog/chatting-our-way-into-creating-apolymorphic-malware

- END -

本文由 mdnice 多平台发布

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/615361.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Hive SQL 语法大全~

基于语法描述说明 CREATE DATABASE [IF NOT EXISTS] db_name [LOCATION] path; SELECT expr, ... FROM tbl ORDER BY col_name [ASC | DESC] (A | B | C) 如上语法,在语法描述中出现: [],表示可选,如上[LOCATION]表示可写、可不…

神州数码DCRS试题题目合集

2017.11.3 DCRS 在公司总部的DCRS上配置,配置设备enable密码,并且在登录设备时必须正确输入enable密码才能进入交换机的配置模式。 在公司总部的DCRS上配置,在交换设备上开启SSH管理功能,用户名和密码都是DCN,并关闭…

flutter系列之:做一个会飞的菜单

文章目录 简介定义一个菜单项目让menu动起来添加菜单内部的动画总结 简介 flutter中自带了drawer组件,可以实现通用的菜单功能,那么有没有一种可能,我们可以通过自定义动画来实现一个别样的菜单呢? 答案是肯定的,一起…

(栈和队列) 150. 逆波兰表达式求值 ——【Leetcode每日一题】

❓150. 逆波兰表达式求值 难度:中等 给你一个字符串数组 tokens ,表示一个根据 逆波兰表示法 表示的算术表达式。 请你计算该表达式。返回一个表示表达式值的整数。 注意: 有效的算符为 ‘’、‘-’、‘*’ 和 ‘/’ 。每个操作数&#…

vue制作自己的组件库(仿ElementUI)

1.首先自己创建个新的vue项目,之后更改下目录形式,将src文件更改为examples,这里是专门放组件展示的md文件,packages文件里是放自己写的组件代码 2.然后是开始配置vue.config.js文件 ,其中md-loader是读取md文件的相关…

Linux下安装docker教程

目录 一、安装CentOS系统 二、安装Docker 1.卸载之前安装过的旧版本: 2.安装docker 3.启动docker 4.配置docker镜像仓库 三、Docker的使用 1.docker容器常用指令: 2.运行案例:docker拉取并运行nignx 3.查看容器日志 一、安装CentOS系…

Prompt工程-高级提示

高阶Prompting 到这一步,应该很明显,改进提示有助于在不同任务上获得更好的结果。这就是Prompt工程背后的整个理念。 虽然之前的例子很有趣,但在我们深入了解更高级的概念之前,让我们先正式地介绍一些概念。 文章目录 高阶Promp…

使用Flexible实现移动端页面的终端适配,及快捷设置开发工具px转换rem

1、使用Flexible实现移动端页面的终端适配 官网GitHub地址API介绍&#xff1a; ​​​​​​使用Flexible实现手淘H5页面的终端适配 Issue #17 amfe/article GitHub 阿里 cdn 引入地址&#xff1a; <script src"http://g.tbcdn.cn/mtb/lib-flexible/0.3.4/??…

JavaWeb公司员工管理系统

1.需求分析 系统角色分别为&#xff1a;最高权限管理员、人力主管、部门主管、员工。总体业务流程图如下图所示。 用例图如下所示。 2.系统设计 系统功能总体设计如下图。 数据库设计如下图所示。 3.系统实现效果 登录功能实现效果如下图所示。 考勤管理模块实现效…

字节同事问我:我的Postman为什么连不了数据库?

postman本身没有数据库连接功能&#xff0c;所以用到了node.js中的xmysql实现Rest API的生成&#xff0c;利用postman进行请求&#xff0c;获取需要的数据&#xff0c;来做数据准备或断言 1 安装 安装node.js&#xff1a;要求版本大于等于7.6 首先保证你的环境上有node.js&…

云计算基础

一、分布式计算 分布式计算将应用分解成许多更小的部分&#xff0c;分配到多台计算机进行处理&#xff0c;这样可以节省整体计算时间&#xff0c;大大提高计算效率。 云计算是分布式计算技术的一种&#xff0c;也是分布式计算这种科学概念的商业实现。分布式计算的优点就是发…

chatgpt赋能python:Python如何分割列表

Python如何分割列表 介绍 在Python编程中&#xff0c;列表是一种非常常见的数据类型。有时候我们需要将一个大的列表分割成几个小的列表&#xff0c;以便更好地处理数据。Python提供了多种方法来实现这个目的。在本文中&#xff0c;我们将介绍Python中如何分割列表的几种方法…

深度学习技巧应用18-OFD格式文件与人工智能结合的技巧应用,实现OFD转文本、OFD自动分类与内容提取

大家好,我是微学AI,今天给大家介绍一下深度学习技巧应用18-OFD格式文件与人工智能结合的技巧应用,实现OFD转文本、OFD自动分类与内容提取。OFD格式文件被称为“中国版PDF”。它与PDF格式类似,是一种可读、可打印、可编辑、可存档的电子文档格式,但OFD格式相对于PDF格式更加…

pandas

pandas 数据结构生成数据创建 Series创建 DataFrame 数据处理相关方法功能介绍 数据结构 描述举例Series带有标签的一维数组DataFrame带有标签的二维数组 生成数据 创建 Series # s pd.Series(data, indexindex) s1 pandas.Series([张三,李四,王五,郑六]) s2 pandas.Seri…

电动力学专题:辐射的频谱分析

辐射的频谱分析 韧致辐射就是带电粒子入射到物质靶上时&#xff0c;它和靶内原子中的电子和原子核碰撞&#xff0c;在碰撞过程减速而产生的辐射。X射线的连续谱部分就体现了韧致辐射的性质。在这个过程中的带电粒子速度远小于光速 低速运动带电粒子在碰撞过程中的辐射频谱 频…

设备指纹系列--前端篇

基础篇请看&#xff1a;设备指纹系列–基础篇 我们接着前文继续写关于设备指纹前端接入方面的内容。话不多说&#xff0c;直接步入正题。 我们会在下文展示5种前端接入的方式&#xff0c;包括web接入、安卓接入、ios接入、微信小程序接入以及支付宝小程序接入。 Web接入 第…

SpringBoot整合Mybatis-Plus多数据源

一、前言 随着业务的不断扩展和复杂度的增加&#xff0c;我们在开发过程中往往需要访问多个数据库。 比如&#xff1a; 我们可能需要同时访问主数据库和从数据库&#xff0c;或者访问多个独立的数据库来处理不同的业务逻辑。这时候&#xff0c;我们就需要使用多数据源来实现对…

【python脚本】编写

这里写自定义目录标题 欢迎使用python来编写脚本环境搭建 欢迎使用python来编写脚本 测试方向&#xff0c;测试报告&#xff0c;单元测试 环境搭建 python环境搭建 下载地址 https://www.python.org/ 文档 https://docs.python.org/3/ pycharm的环境 使用chatgpt来实现代码功…

来了解一下白盒测试,黑盒测试,灰盒测试吧(超详解~)

根据被测对象的不同&#xff0c;软件测试可以分为白盒测试、黑盒测试、灰盒测试三种方式。那么&#xff0c;这三种测试方式具体是如何运行的&#xff1f;各有什么特点&#xff1f;下面&#xff0c;跟着静姐一起了解一下吧&#xff01; 01、白盒测试 WHITE BOX ●概念&#x…

实训第二天

创建数据库指定字符集 create database firstdb default character set utf8; 主键约束&#xff08;primary key&#xff09;不能为空&#xff0c;唯一约束(unique key)可以为空&#xff0c;但只允许一个空值 查看表结构 desc 表名 主表从表 被引用的表是主表 比如班级…