AIGC时代的网络威胁和防御

AIGC时代的网络威胁和防御

    • 1. 生成式AI是否将成为网络威胁者的战术新宠?​
      • 论文地址​
      • 研究背景​
      • 主要贡献​
      • 攻击方法​
      • 示例​
      • 研究结论​
    • 2. LLM Honeypot: 利用大型语言模型打造先进的交互式蜜罐系统​
      • 论文地址​
      • 一、研究背景​
      • 二、研究方法​
        • (一)数据收集与处理​
        • (二)提示工程​
        • (三)模型选择​
        • (四)监督微调(Supervised Fine - Tuning,SFT)​
      • 三、实验结果​
        • (一)实验设置​
        • (二)交互式LLM - 蜜罐框架​
        • (三)自定义SSH服务器包装器​
      • (四)训练损失分析​
      • (五)与Cowrie输出的相似性分析​

1. 生成式AI是否将成为网络威胁者的战术新宠?​

论文地址​

链接:https://arxiv.org/pdf/2408.12806​
标题:《Is Generative AI the Next Tactical Cyber Weapon For Threat Actors? Unforeseen Implications of AI Generated Cyber Attacks》​

论文探讨了生成式人工智能(Generative AI)在网络攻击中的滥用问题,特别是大型语言模型(LLMs)如何被网络犯罪分子利用来生成和自动化网络攻击,如社会工程、恶意代码、有效载荷生成和间谍软件。​
引入了“‘OccupyAI,”,这是一个定制的、经过微调的 LLM,专门设计用于自动化和执行网络攻击。这个专门的人工智能驱动工具擅长为各种网络威胁制定步骤并生成可执行代码,包括网络钓鱼、恶意软件注入和系统利用。​

研究背景​

  1. AI 在网络安全中的双重性:AI 技术既可为网络安全提供先进的防御手段,如基于知识的系统和机器学习,但也可能被网络犯罪分子恶意利用,提升攻击效率和精准度。​
  2. 生成式 AI 的兴起:生成式 AI 能够创建类似人类生成的内容,如文本、图像和视频。随着技术的发展,像 ChatGPT 和 Google Bard 这样的生成式 AI 模型引发了对其社会、伦理和隐私影响的担忧。​
  3. 对网络安全的影响:强大的 AI 系统推动了网络犯罪的升级,包括自动化攻击、制作钓鱼邮件、开发恶意软件和传播虚假信息等。​

主要贡献​

  1. 探讨可行性:探讨AI 驱动的网络攻击在现实世界系统上的可行性,展示了如何生成复杂的策略,例如暴力攻击、拒绝服务攻击和自动侦察,从而显著提高这些活动的成功率和效率。​
  2. 讨论恶意软件生成:讨论了生成复杂恶意软件的可能性,包括逃避传统检测方法的混淆和多态变体,这对网络安全防御提出了重大挑战,并强调了对 AI 威胁的高级对策的迫切需求。​
  3. 研究自主生成能力:研究了 LLM 自主生成高级恶意软件的能力,这些恶意软件旨在避开传统检测技术,突出了 AI 是网络攻击核心的关键和新出现的威胁。​
  4. 实证测试:研究的一个重要方面涉及在真实系统上实证测试 LLM 生成的所有攻击策略。此验证过程展示了 AI 在自动化复杂网络攻击方面的有效性,并显示了没有网络安全知识的个人执行复杂攻击的惊人潜力。这些发现凸显了对全面网络安全培训和制定对策的迫切需求​

攻击方法​

在这里插入图片描述

  1. Character Play:通过提示 AI 扮演特定角色来绕过其预设限制获取恶意信息,揭示了 AI 模型训练数据中的潜在偏见。例如,在要求生成混淆代码时,让 ChatGPT 扮演关系咨询的角色可能会绕过限制获取信息。​
  2. Switch Method:提示 ChatGPT 模型发生行为上的急剧转变,利用其呈现不同角色的能力生成网络攻击,如死代码插入、控制流混淆和代码混乱等。使用时需给出清晰指令。​
  3. Occupy AI:定制的微调 LLM,专门用于自动化和执行网络攻击。它能分析和生成攻击向量,为各种网络威胁生成可执行代码,包括分析目标系统漏洞并制定攻击策略,如生成钓鱼邮件、脚本跨站脚本攻击和自动化 SQL 注入攻击等。​
  4. Prompt Injection Attacks:恶意插入提示到 LLM 系统中,类似于 SQL 注入攻击,可欺骗系统执行未授权命令,导致信息泄露和系统安全受损等严重后果。​
  5. 社会工程攻击:利用 AI 模型制作钓鱼邮件,网络犯罪分子越来越多地利用 ChatGPT 等 AI 模型来制作令人信服和有说服力的信息,以诱使受害者采取所需的行动,实验中发送给 500 名随机选择的大学师生,约 75.4% 的收件人点击链接,显示出此类攻击的有效性和潜在威胁。​
  6. 攻击载荷生成:利用 LLMs 自动生成恶意代码片段和攻击载荷,加速攻击过程并扩大攻击范围。例如针对系统漏洞(如缓冲区溢出)生成代码作为载荷,通过利用系统漏洞的工具将其注入目标系统。​
  7. 操作系统攻击:利用定制的 LLM 生成恶意脚本,针对操作系统漏洞进行攻击,获取未经授权的访问和控制,如建立 SSH 连接进行特权提升、文件系统修改等操作。​
  8. 间谍软件:虽然 ChatGPT 能为间谍软件的某些功能生成代码片段,但难以构建完整、复杂的间谍软件攻击。​

示例​

操作系统攻击​

  1. 定义:一种网络攻击,以操作系统漏洞为目标,旨在获取未经授权的访问、破坏系统功能或窃取敏感数据。​
  2. 类型:包括Web应用程序利用攻击和用户数据访问攻击等。​
  3. 实验:利用定制的LLM OccupyAI生成恶意脚本,利用特定操作系统漏洞获取未经授权的访问和控制,执行到受害者虚拟机中,启用具有预加载凭据的SSH连接,进行权限提升、文件系统修改、网络侦察、Web应用程序利用、敏感数据访问和日志篡改等操作,还尝试访问其他用户的主目录和SSH密钥。​
  4. 示例:图18显示了由LLM生成的脚本,在端口800上建立基本的HTTP服务器,可操作列出另一个用户主目录的内容并显示其SSH密钥。​
    在这里插入图片描述

研究结论​

(一)主要发现​
LLMs 能够自动化复杂的网络威胁,降低攻击者的门槛,增加攻击的频率和复杂性。​
通过 “Occupy AI” 展示了 AI 如何轻易地利用漏洞进行网络攻击,强调了改进检测系统以应对 AI 生成威胁的紧迫性。​
(二)应对策略​

  1. 未来研究应优先加强传统的网络安全框架,并创新策略以应对复杂的 AI 方法。​
  2. 网络安全、伦理 AI、法律和政策制定等利益相关者之间的合作至关重要。​
  3. 对防御措施进行实际测试,以确保其对各种 AI 操纵的威胁有效。​
  4. 平衡 AI 的风险和收益,倡导伦理 AI 实践,确保 AI 在网络安全中的作用是积极和安全的。​

2. LLM Honeypot: 利用大型语言模型打造先进的交互式蜜罐系统​

在当今网络安全威胁日益复杂的环境下,创新的检测和分析恶意活动的方法变得至关重要。蜜罐作为一种诱饵系统,在网络安全领域一直是检测和分析恶意活动的重要工具。而随着人工智能和自然语言处理技术的发展,大型语言模型(LLMs)为蜜罐技术带来了新的可能性。本文将介绍一篇关于利用LLMs创建更高效蜜罐系统的研究论文。​

论文地址​

链接:https://arxiv.org/html/2409.08234v2​
标题:《LLM Honeypot: Leveraging Large Language Models as Advanced Interactive Honeypot Systems》​
Github: https://github.com/AI-in-Complex-Systems-Lab/LLM-Honeypot​

一、研究背景​

(一)蜜罐技术的重要性与局限性​
蜜罐通过模拟真实系统来吸引攻击者,从而帮助组织研究攻击者的策略并增强安全基础设施。它有多种形式,包括低交互蜜罐和高交互蜜罐等。然而,蜜罐也存在一些局限性,例如低交互蜜罐的模拟能力有限,容易被攻击者识别,且只能收集有限的攻击信息。​

(二)大型语言模型的发展与应用潜力​
LLMs能够生成类似人类的文本响应。通过适当的微调(fine - tuning)和提示工程(prompt engineering),它们有可能为蜜罐技术带来革新,使蜜罐能够更智能地与攻击者交互。​

二、研究方法​

(一)数据收集与处理​
  1. 数据来源​
    研究团队使用了来自公共云端点上的Cowrie蜜罐的日志记录,这是一个中等交互的蜜罐,记录了通过SSH和Telnet进行的暴力攻击和shell命令。此外,还包括了常用的Linux命令以及命令解释对,以增强数据集的完整性。​
  2. 数据集#1:由从云部署的 Cowrie 蜜罐日志中解析出的 174 条命令组成。​
  3. 数据集 #2:包含前 100 个 Linux 命令带有手动填充的变体,总共 160 条命令。​
  4. 数据集 #3:283 个 Linux 命令手册页摘要。​
  5. 数据处理过程​
    首先将多个数据集合并,涵盖了617个Linux命令,并通过本地Cowrie蜜罐系统模拟命令执行,捕获响应并保存为命令响应对数据集。然后对数据集进行文本预处理,包括标记化和格式标准化,为模型训练做准备。​
(二)提示工程​

通过分析先前研究中的提示,研究团队进行了严格的测试和优化。针对数据集的不同部分设计了不同的提示,例如模拟Linux终端提示和将模型定位为Linux专家的提示,以确保模型生成符合要求的响应。​

  1. 您正在模仿Linux服务器。当给出代码时,请用终端将要响应的内容进行响应。我希望您只用一个唯一代码块内的终端输出进行响应,而不要使用其他内容。不要写任何解释。除非我指示您这样做,否则不要输入任何命令。​
  2. 您是Linux专家。您了解每个Linux终端命令的作用,并且在被问到时能够给出解释。​
(三)模型选择​

测试了包括Llama3、Phi 3、CodeLlama和Codestral等多个模型。最终选择了Llama3 8B模型,因为代码中心型模型在蜜罐模拟中效果不佳,较大模型速度慢,较小模型虽有足够能力但需平衡模型大小和效率,Llama3 8B模型在语言能力和速度资源管理上表现更优。​

(四)监督微调(Supervised Fine - Tuning,SFT)​

使用LlamaFactory对基础模型进行微调,并采用了Low - Rank Adaptation(LoRA)、Quantized Low - Rank Adapters(QLoRA)、NEFTune噪声和Flash Attention 2等技术来提高训练效率、防止过拟合、优化模型并增强注意力机制效率,使模型能够像蜜罐服务器一样响应。​

三、实验结果​

在这里插入图片描述

(一)实验设置​
  1. 使用2 x NVIDIA RTX A6000(40GB VRAM)GPUs进行模型训练。​
(二)交互式LLM - 蜜罐框架​

开发了一个包装器,使LLM能够在IP(Layer 3)级别与网络流量交互,形成一个包含攻击者接口、SSH服务器、LLM和交互流程的架构。通过SSH服务器与LLM的结合,系统能够以现实的方式与攻击者交互,捕获其策略和技术相关的数据。​

图2展示了基于 LLM 的蜜罐系统的架构,该系统将 SSH 服务器与大型语言模型 (LLM) 集成在一起,以模拟与潜在攻击者的真实交互。该设置涉及以下组件:​

  1. 攻击者接口:如左侧图标所示,该接口表示试图通过 SSH(Secure Shell)协议与蜜罐系统进行交互的外部实体。攻击者使用此接口执行命令并探测系统。​
  2. SSH 服务器:系统的核心组件(以紫色突出显示)是 SSH 服务器。此服务器充当来自攻击者的所有传入 SSH 连接的入口点。它配置为处理身份验证、管理会话并将命令中继到集成的 LLM。​
  3. 大型语言模型:LLM嵌入在 SSH 服务器中,以绿色显示,经过微调以模仿典型 Linux 服务器的行为。从 SSH 服务器收到命令后,LLM 会处理这些命令并生成适当的响应。该模型利用预先训练的数据和微调技术来提供切合实际且与上下文相关的回复。​
  4. 交互流程:箭头表示交互流程。攻击者发起连接并向 SSH 服务器发送命令,然后 SSH 服务器将这些命令转发给 LLM。LLM 处理命令并生成响应,这些响应被发送回 SSH 服务器,随后转发给攻击者。​
(三)自定义SSH服务器包装器​

使用Paramiko库创建了自定义SSH服务器,集成了微调后的语言模型以生成真实响应。该服务器能够收集SSH连接的IP地址、用户名 - 密码对以及命令和响应日志,从而更好地分析攻击者行为。​
Paramiko 是一个用于实现 SSH2 协议的 Python 库,它提供了客户端和服务器端的功能实现,在网络安全领域,特别是涉及到 SSH 连接和交互的场景中具有广泛应用。以下是关于 Paramiko 库的详细介绍:​

  1. 功能特点​
    SSH 连接建立​
  2. 支持多种认证方式:Paramiko 库允许使用多种认证方式来建立 SSH 连接,包括基于密码的认证和基于密钥的认证。这使得它能够适应不同的安全需求和环境设置。例如,在安全要求较高的环境中,可以使用密钥对进行认证,提高连接的安全性。​
  3. 灵活的连接参数配置:用户可以根据实际需求灵活配置 SSH 连接的各种参数,如服务器地址、端口号、用户名等。这种灵活性使得它能够方便地与不同的 SSH 服务器进行连接。​
    远程命令执行​
  4. 发送命令到远程服务器:一旦建立了 SSH 连接,Paramiko 库允许用户发送各种命令到远程服务器并获取执行结果。这对于远程系统管理和自动化任务非常有用。例如,可以在远程服务器上执行系统信息查询命令、软件安装命令等。​
  5. 处理命令执行结果:它能够处理从远程服务器返回的命令执行结果,包括正确的输出结果和可能出现的错误信息。用户可以根据这些结果进行进一步的分析和处理。​
    文件传输​
  6. 上传和下载文件:Paramiko 库支持在本地和远程服务器之间进行文件传输。可以将本地文件上传到远程服务器,或者从远程服务器下载文件到本地。这在数据备份、文件分发等场景中具有重要应用。​
  7. 文件传输模式和权限设置:它提供了不同的文件传输模式选择,并且可以设置文件在远程服务器上的权限。例如,可以选择二进制模式或文本模式进行文件传输,同时可以设置文件的所有者、所属组和读写执行权限等。​
    下图显示了示例 SSH 连接以及对发出的命令的相应响应。自定义 SSH 服务器的运行方式如下:​
  8. SSH 连接:用户使用 ssh -T -p 2222 ”root@localhost” 连接到蜜罐服务器,模拟攻击。​
  9. 身份验证:服务器提示输入密码;成功后,用户可以访问蜜罐的命令行界面。​
  10. 命令执行:用户运行 Linux 命令(例如,ls -al、echo ‘hello world’、ifconfig),SSH 服务器将其转发到集成的 LLM。​
  11. LLM 响应生成: LLM 生成模仿真实 Linux 服务器的响应(例如,列出目录内容、输出文本、显示网络配置)。​
  12. 交互日志:蜜罐记录所有命令和响应,捕获攻击者行为的数据以进行网络安全分析。​

在这里插入图片描述

(四)训练损失分析​

微调后的模型训练损失在训练过程中稳步下降,表明模型有效地从数据集中学习并适应了模拟Linux服务器的任务。在微调阶段,学习率为5×10e-4,共进行了36个训练步骤,耗时14分钟。​
在这里插入图片描述

(五)与Cowrie输出的相似性分析​

在这里插入图片描述

采用了多种指标来衡量预期(Cowrie)和生成的终端输出之间的相似性。​
使用余弦相似性、Jaro - Winkler相似性和Levenshtein距离等多种指标来衡量微调后的Llama3 - 8B模型与Cowrie预期输出之间的相似性。结果表明,微调后的模型在所有指标上都优于基础模型,其生成的输出与Cowrie蜜罐服务器的预期响应紧密匹配。​

该模型使用不同的相似度和距离度量对 140 个随机样本进行了测试。经过微调的模型实现了 0.695 的余弦相似度得分(越高越好),表明预期和生成的终端输出之间高度匹配。Jaro-Winkler 相似度得分为 0.599(越高越好),也反映了合理的相似度水平。Levenshtein 距离为 0.332(越低越好),表明将生成的输出与预期输出对齐所需的编辑次数相对较少。​

某些输出可能会有所不同,但仍与上下文准确一致,并符合命令。由于严格的系统提示护栏和对错误示例的训练,LLM 蜜罐服务器始终能够处理越界或无效的命令。例如,当遇到无法识别的命令时,该模型会使用“bash:XXX:未找到命令”之类的消息复制真实的系统行为。测试表明,即使输入意外,该模型也能保持其个性并提供令人信服的响应。​
四、研究结论​
通过对预训练的开源语言模型进行微调,创建了一个复杂的蜜罐系统,提高了响应质量和检测分析恶意活动的能力。LLMs与蜜罐技术的结合形成了一个动态、自适应的系统,能够随着新威胁的出现而不断进化。这种创新方法为网络安全专业人员提供了一个强大的工具,有助于增强整体安全基础设施。​

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

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

相关文章

【Mac】Python 环境管理工具

一、pyenv 1、安装 (1)安装 brew install pyenv(2)环境配置 查看系统使用 shell 是 bash 还是 zsh bash 配置文件:~/.bash_profile zsh 配置文件:~/.zshrc userMac ~ % echo $SHELL /bin/zsh userMa…

mysql中的锁理解

1.共享锁,排他锁,也叫读锁和写锁 共享锁(S锁)(读锁):事务在读取记录的时候获取共享锁,允许其它事务同时获取共享锁。 排他锁(X锁)(写锁):事务在修改记录的时候获取排他锁,只允许一个事务获取排他锁&#x…

聚水潭数据集成到MySQL的技术实操与解决方案

聚水潭数据集成到MySQL的技术案例分享 在现代企业的数据管理过程中,如何高效、可靠地实现不同系统之间的数据对接是一个关键问题。本案例将聚焦于“聚水谭-仓库查询单-->BI邦盈-仓库表”的数据集成方案,详细探讨如何通过轻易云数据集成平台&#xff…

鸿蒙系统的优势 不足以及兼容性与未来发展前景分析

2024 年 10 月 22 日:华为正式发布原生鸿蒙操作系统 HarmonyOS next,并正式命名为 HarmonyOS 5,这是鸿蒙系统史上最大的升级,实现了国产操作系统从底层架构到应用生态的全面自主可控。 鸿蒙系统与安卓、iOS 相比,具有…

C++:哈希表

目录 哈希的概念 直接定址法 哈希冲突 负载因子 哈希函数 除法散列法/除留余数法 乘法散列法 处理哈希冲突 开放定址法 线性探测 二次探测 双重散列 链地址法 哈希表的实现 哈希表的结构 闭散列(开放定址法) 结构 插入 查找 删除 …

神经网络:解析人工智能的智慧基石

神经网络:解析人工智能的智慧基石 一、引言 在当今科技飞速发展的时代,人工智能已经成为了一个备受关注的领域。而神经网络作为人工智能的重要组成部分,正逐渐改变着我们的生活和未来。那么,什么是神经网络呢?它又是…

Java系统学习笔记

计算机知识 CMD 环境变量 想要在任意目录下都可以打开指定的软件,就可以把软件的路径配置到环境变量中。 JDK JDK安装目录中 javac 是JDK提供的一个工具,可以通过这个工具,把java文件编译成class文件 java 也是JDK提供的一个工具&#xf…

C语言部分输入输出(printf函数与scanf函数,getchar与putchar详解,使用Linux ubuntu)

1.输入输出 1.1.按格式输入输出 printf 可以在man手册中查看 int printf(const char *format, ...); printf:函数名(参数)int:函数的返回值 功能:按格式在终端输出 参数:多参 返回值:输出字符个数 格式: %d int %c char…

跨可用区的集群k8s的基本操作和配置理解

service 启动&#xff1a;kubectl -f api_service.yaml -n <namespace> 查询&#xff1a;kubectl get svc -n <namespace> &#xff1b; 修改&#xff1a;kubectl apply -f api_service.yaml -n <namespace> 停止service&#xff1a; kubectl delete …

WPF+MVVM案例实战(十五)- 实现一个下拉式菜单(上)

文章目录 1 案例效果2、图标资源下载3、功能实现1.文件创建2、菜单原理分析3、一级菜单两种样式实现1、一级菜单无子项样式实现2、一级菜单有子项样式实现 4、总结 1 案例效果 提示 2、图标资源下载 从阿里矢量素材官网下载需要的菜单图片&#xff0c;如下所示&#xff1a; …

Python 从入门到实战43(Pandas数据结构)

我们的目标是&#xff1a;通过这一套资料学习下来&#xff0c;可以熟练掌握python基础&#xff0c;然后结合经典实例、实践相结合&#xff0c;使我们完全掌握python&#xff0c;并做到独立完成项目开发的能力。 上篇文章我们学习了NumPy数组操作的相关基础知识。今天学习一下pa…

电商行业的流程革命:创建SOP的最佳实践

在电商行业&#xff0c;随着业务规模的扩大和市场环境的快速变化&#xff0c;创建和遵循标准化操作程序&#xff08;SOP&#xff09;变得尤为重要。SOP不仅能够确保业务流程的一致性和高效性&#xff0c;还能帮助企业快速适应市场变化&#xff0c;提高服务质量。本文将探讨电商…

ruoyi-ui启动运行时,报错Error: error:0308010C:digital envelope routines::unsupported。

【问题】 ruoyi-ui启动运行时&#xff0c;报错Error: error:0308010C:digital envelope routines::unsupported。【原因】 是因为 node.js V17版本中最近发布的OpenSSL3.0, 而OpenSSL3.0对允许算法和密钥大小增加了严格的限制。【解决方法】 在项目中 package.json 的 scripts …

易考八股文之SpringBoot的启动流程

SpringBoot的启动流程主要包括以下几个步骤&#xff1a; 1.创建SpringApplication对象&#xff1a; 这个过程包括推断启动类型、设置初始化器、初始化监听器以及推断main方法所在的类。 2.运行SpringApplication的run方法&#xff1a; 这是启动SpringBoot应用的核心入口&am…

服务器宝塔安装哪吒监控

哪吒文档地址&#xff1a;https://nezha.wiki/guide/dashboard.html 一、准备工作 OAuth : 我使用的gitee&#xff0c;github偶尔无法访问&#xff0c;不是很方便。第一次用了极狐GitLab&#xff0c;没注意&#xff0c;结果是使用90天&#xff0c;90天后gg了&#xff0c;无法登…

计算机网络(Ⅶ)Web and HTTP

一些术语&#xff1a; Web页&#xff1a;由一些对象组成 对象可以是HTML文件&#xff0c;JPEG图像&#xff0c;Java小程序&#xff0c;声音剪辑文件等 Web页含有一个基本的HTML文件&#xff0c;该基本HTML文件又包含若干对象的引用&#xff08;链接&#xff09; 通过URL对每个对…

【ChatGPT】搜索趋势分析

【ChatGPT】搜索趋势分析 为了分析 ChatGPT 在过去一年的流行趋势&#xff0c;我们可以查看 Google Trends 的数据 安装依赖pytrends pip install pytrends运行以下 Python 脚本 import pandas as pd import matplotlib.pyplot as plt from pytrends.request import TrendR…

后端开发中的分层思想,DAO、Service、Controller、Mapper,VO、DTO、DO、PO每层的作用及调用关系

在后端开发中&#xff0c;应用通常采用分层架构来组织代码&#xff0c;以实现更好的可维护性和可扩展性。在这个架构中&#xff0c;常见的数据传输对象&#xff08;DTO&#xff09;、数据对象&#xff08;DO&#xff09;、值对象&#xff08;VO&#xff09;、持久化对象&#x…

「MinIO快速入门」

官网&#xff1a;MinIO | S3 Compatible Storage for AI 中文&#xff1a;http://minio.org.cn/ MinIO 开始 MinIO 是一款高性能、开源的对象存储服务器。 一、主要特点 高性能 MinIO 采用了分布式架构&#xff0c;能够高效地处理大量数据的存储和访问请求。它针对多核处理…

go的反射

1.介绍 有时我们需要写一个函数&#xff0c;这个函数有能力统一处理各种值类型&#xff0c;而这些类型可能无法共享同一个接口&#xff0c;也可能布局未知&#xff0c;也有可能这个类型在我们设计函数时还不存在&#xff0c;这个时候我们就可以用到反射。 空接口可以存储任意类…