工业控制系统协议相关的安全问题

工业控制系统

协议相关的安全问题为了增强工控系统的整体安全性
,有必要改善工业控制系统协议的安全特征。对协议进 行基本的分析将有助于暴露协议中存在的安全问题,进而能够指导安全机制的开发,并最终 合并到协议描述中。当前的工控协议基本都有已经完成的国际标准,且有行业和专业组织管理。向这些已经建立的标准中合并变化不仅过程耗时,而且基本上都会遭受因管理组织不愿 改变成文标准而引起延迟。在合并任何新的安全特征到标准之前,理解安全问题将使得将变 更合并进标准需要的复审次数更少。另外,理解协议相关的安全问题还将有助于 IDS/IPS 规 则的开发。为每一个潜在的利用开发攻击签名是可能的,且工控网络管理员
将发现这些签名 对于监控其网络的安全是非常有用的。分析任何协议时,区分安全问题的种类是非常有用的:一类是协议自身的设计和描述引 起的,另一类是协议的不正确实现引起的。发现协议设计和描述中的安全问题较协议实现中 的安全问题可能要容易的多,也可能要难得多,但修复源于不正确的协议实现的安全问题相 对要容易一些。虽然两种类型的安全问题都需要解决以改善网络的整体安全性,但本节仅关 注协议自身设计和描述引起的安全问题,关于协议实现所引起的安全问题可参考 3.3 节。
绝大多数工控协议在设计之初,仅关注于效率以支持经济需求、关注于实时性以支持精 确需求、关注于可靠性以支持操作需求,并且通常在专用计算机和私有的操作系统上实现。 不幸的是,绝大多数工控协议会为了这些需求而放弃一些并不是绝对必需的特征或功能。更 不幸的是,诸如认证、授权和加密等需要附加开销的安全特征和功能也包括在内。再进一步
让事情复杂的是,目前很多工控协议已经演化或扩展为在通用计算机和通用操作系统上实现, 并运行在以太网(甚至互联网)之上以满足商业发展需要,潜在地将这些有漏洞的协议暴露 给攻击者。本文将与工控协议相关的安全问题分为两类:一类是工控协议自身特点所造成的 固有安全问题;另一类是演化到基于通用计算机、通用操作系统和 TCP/IP后继承的安全问题。
1. 固有的问题
目前广泛使用的工控协议在设计之初,大多定位使用于与其它计算机网络隔离的工业控 制网络,因此安全不是一个重要的功能需求,并且目前也没有任何合并安全特征到这些协议 的尝试。除了缺乏必要的安全防护机制外,工控协议的另一个特点是针对其的攻击主要集中 在应用层数据。
下面,我们对这几种典型的工控协议中出现的安全问题进行分析,提供一些针对可能威 胁的反制措施,并简单列举一些应该引起 IDS/IPS 开发人员高度关注的异常行为。限于篇幅, 本文仅就 MODBUS、PROFIBUS、DNP3、ICCP 这 4 种协议进行详细分析。
MODBUS 中存在的主要安全问题的根源在于缺乏认证、授权和加密等安全防护机制。与 MODBUS 协议相关的几个典型的安全问题如
表格 3 所示:
表格 3 与 MODBUS 协议相关的几个典型安全问题
根源** 安全问题举例
缺乏认证** 仅需要使用一个合法的 Modbus 地址和合法的功能码即可以建立一个 Modbus
会话
缺乏授权** 没有基于脚色的访问控制机制,任意用户可以执行任意的功能
缺乏加密** 地址和命令明文传输,可以很容易地捕获和解析
MODBUS 相对其它工控协议来说最为简单,因此针对 MODBUS 协议的安全建议除了增 加必要的认证、授权和加密功能外,也可以考虑使用白环境。
针对 MODBUS 应用层数据分析结果显示:功能码滥用是导致 MODBUS 网络异常的一个 主要因素。需要引起 IDS/IPS 开发人员高度关注的 MODBUS 消息如表格 4 所示:
表格 4 MODBUS 协议典型异常行为
||序号** |||异常行为描述||
||1 |||强制从站进入只听模式(08-04) ||
||2 |||重启通讯会话(08-01) ||
||3 |||重置诊断信息(例如计数器或诊断寄存器等)(08-0A) ||
||4 |||请求从站标志信息(43-14) ||
||5 |||请求从站附加信息(17) ||
||6 |||不合法的报文长度(2 个字节表示长度),潜在拒绝服务攻击||
||7 |||非 Modbus 协议运行在 TCP 的 502 端口 ||
||8 |||从设备忙异常代码延迟(异常码 06),潜在拒绝服务攻击||
||9 |||确认异常代码延迟(异常码 05),潜在拒绝服务攻击||
||10 |||不正确的报文长度(最大 253),潜在拒绝服务攻击||
||11 |||配置扫描(例如定义的点列及其值)(30 秒内 5 个异常码 02) ||
||12 |||可用功能码扫描(60 秒内 3 个异常码 01) ||
||13 |||修改分隔符(08-03) ||
||14 |||周期较短(实际阈值待定)的无意义命令,暴力拒绝服务||
||15 |||广播性质的报文或一个主站向多个从站的请求||
||16 |||包含在异常协议数据单元中的信息||
与 MODBUS 协议一样,PROFIBUS 协议起初也被设计用于与其它计算机网络网络隔离 的工业控制网络,未提供基本的安全防护机制。与 PROFIBUS 协议相关的几个典型的安全问 题如表格 5 所示:
表格 5 与 PROFIBUS 协议相关的几个典型安全问题
根源** 安全问题举例
缺乏认证** 仅需要使用一个合法的 PROFIBUS 地址和合法的功能码即可以建立一个
PROFIBUS 会话
缺乏授权** 没有基于脚色的访问控制机制,任意用户可以执行任意的功能
缺乏加密** 地址和命令明文传输,可以很容易地捕获和解析
协议复杂性** 采用面向对象的思想设计协议提供的服务
针对 PROFIBUS 协议的首要安全建议是引入 PROFISAFE 安全设备。PROFIsafe 将安全 设备和标准设备的数据流完全整合在以 PROFIBUS 为平台的总线系统中,使标准设备和安全 设备能同时共用一条通信链路。
在 PROFIBUS 网上,所有结点连接到公用的通信介质上,每个源结点可以直接发送消息 到其目的结点。由于所有的结点直接连接到介质,因此攻击者并不能修改或删除从一个结点 发送到另一个结点的消息,但时能够非常容易地读取到网络上传输的消息,也可以冒充其它 的结点。
在 PROFIBUS 网上有 master 和 slave 两种不同类型的结点,每个 slave 仅能受一个 master 的控制。PROFIBUS 网络上的 master 结点形成一个根据其站地址升序排列的的逻辑 环。每个 master 结点维护一个 master 站列表(LMS),并追踪其在环中的前站和后站。站 地址与其后站地址的差异称为 GAP。每个 master 维护一个 GAP 更新定时器,并在每次定时 器到期时查询邻居 master 以更新自己的 LMS。当一个 master 结点收到令牌时,检测以确认 发送令牌的站是其在 LMS 中的前站。如果不是其前站,则令牌被丢掉。如果发送令牌的结点 坚持重新发送令牌,那么结点会认为网络拓扑发生了变化,并将发送令牌的站设置为其前站。 针对 PROFIBUS 的若干可能攻击场景如表格
表格 6 针对 PROFIBUS 的若干可能攻击场景 序号** 攻击场景 ****
1 伪装为 master 结点加入网络,并将其 slave 设置为初始配置 2 通过保持对所有 slave 的控制,造成拒绝服务
3 通过时钟同步功能向网络中的某些结点发送错误的时钟同步值,扰乱正常的网络操

4 通过向令牌帧引入错误可违背协议的访问控制机制
5 通过向数据帧引入错误可破坏数据完整性
6 强制定时器超时可使得设备进入自动睡眠模式,从而关闭设备的接收器。如果设备
是 slave,那么该设备会被标识为一个不可操作的设备。如果错误被引入 master 的 接受器,那么将造成其不停地重传令牌
7 通过修改 GAP 更新定时器的值可以潜在地阻止结点更新其 LMS
8 通过降低 GAP 更新定时器到一个非常低的值,造成结点在基本所有时间都忙于执
行更新而不是发送消息,从而阻塞低优先级的消息传输
9 攻击者通过伪造站地址欺骗另一个结点接受攻击者作为其前站,从而破坏令牌循环
DNP3 与 MODBUS 比较类似,缺乏认证、授权和加密等安全防护机制。除此之外,协议 的相对复杂性也是 DNP3 中存在的主要安全问题根源。与 DNP3 相关的几个典型的安全问题 如表格 7 所示:
表格 7 与 DNP3 协议相关的几个典型安全问题
根源** 安全问题举例
缺乏认证** 使用定义良好功能码和数据类型可以非常容易地建立一个会话
缺乏授权** 没有基于脚色的访问控制机制,任意用户可以执行任意的功能
缺乏加密** 地址和命令明文传输,可以很容易地捕获和解析
协议复杂性 相对于 MODBUS 的请求相应模式,DNP3 增加了主动上送模式
针对 DNP3协议的首要安全建议是采用更安全的 DNP3替换目前存在安全问题的 DNP3。 如果条件受限,不能完全替换存在安全问题的 DNP3,其它可以考虑的措施包括:添加必要的 安全防护措施,使用任何 TCP/IP 安全最佳实践来保护 DNP3 数据,或者使用标准的纵深防御 最佳实践,如表
表格 8 针对 DNP3 协议的安全建议
措施** 举例 ****
替换 DNP3 使用 Security DNP3
必要的安全防护措施 隔离 DNP3 网络,增加验证和授权
TCP/IP 安全最佳实践 使用传输层安全(Transport Layer Security,TLS)保护 DNP3 数

采用纵深防御 防火墙、IDS 和 IPS
针对 DNP3 应用层数据分析结果显示:与 MODBUS 协议类似,功能码滥用也是 DNP3 协议异常的一个主要因素。需要引起 IDS/IPS开发人员高度关注的 DNP3消息如表格 9所示
表格 9 DNP3 协议典型异常行为
|序号** ||异常行为描述||
|1 ||关闭主动上送(21) ||
|2 ||在 DNP3 端口(TCP 和 UDP20000)上运行非 DNP3 通信 ||
|3 ||长时间多重主动上送(响应风暴)||
|4 ||授权客户冷重启(13) ||
|5 ||未授权客户冷重启(13) ||
|6 ||停止应用(18) ||
|7 ||热重启(14) ||
|8 ||授权客户的广播请求(根据 DigitalBond 中 IPS/IDS 规则) ||
|9 ||未授权客户的广播请求(根据 DigitalBond 中 IPS/IDS 规则) ||
|10 ||配置扫描(例如定义的点列及其值)(30 秒内检测到至少 5 个指示字的第 9 或 1 位设置为 1) |0|
|11 ||可用功能码扫描(60 秒内 3 个指示字的第 8 位设置为 1) ||
|12 ||更改时间(功能码 02,对象类型 50) ||
|13 ||校验和错误||
|14 ||认证失败 ||
|15 ||数据流控制标志(DFC)欺骗 ||
|16 ||重新初始化数据对象(15) ||
|17 ||重新初始化应用(16) ||
|18 ||冰冻并清除可能重要的状态信息(9) ||
|19 ||无通告冰冻并清除可能重要的状态信息(10) ||
|20 ||未授权的操作(4)、直接操作(5)、无通告直接操作(6) ||
|21 ||源自或到达非显式认证的 DNP3 设备的 DNP3 通信 ||
|22 ||配置崩溃(指示字的第 13 位设置) ||
|23 ||应用数据层 FIR/FIN 标记报文重组攻击||
|24 ||应用数据层传输序号报文重组攻击||
|25 ||伪传输层 FIR/FIN 标记报文重组攻击||
|26 ||伪传输层传输序号报文重组攻击||
|27 ||服务不可用或未实现(数据链路层功能码 14 或 15) ||
28 重置用户进程(数据链路层功能码 1)
29 伪造数据链路层广播地址(0XFFFF)并向所有的从站发送错误请求
现实中针对 DNP3 的攻击包括使用中间人攻击捕获特定系统的地址,并使用捕获的地址
对该系统进行操纵,具体的攻击场景如表格 所示:
表格 10 针对 DNP3 协议的典型攻击场景
||序号** |||攻击场景** ||
||1 |||关闭主动上送||
||2 |||向主站发送伪造的主动上送消息,欺骗操作员做出不合适的操作||
||3 |||通过向整个 DNP3 网络注入广播数据来制造风暴行为以达到拒绝服务||
||4 |||操纵时间同步数据,导致同步失败并引起随后的通信错误||
||5 |||操纵或清除确认消息以迫使系统进入连续的重传状态||
||6 |||发起未授权的停止、重新启动或者其它能引起崩溃的功能||
与上述三种协议类似,ICCP 缺乏认证和加密机制。与上述三种协议不同的是,ICCP 通 常用于不同的控制中心之间的对等通信,而其它三种协议典型地用于 PLC / RTU和 HMI / MTU / SCADA主机之间的服务器-客户端通信;ICCP虽然使用双边表提供了基本的访问控制机制, 但是显式定义的可信关系可能会危害到 ICCP 结点之间的安全;ICCP 是一种广域网协议,这 使得其很容易被接触并遭受包括拒绝服务在内的多种攻击。与 ICCP 相关的几个典型的安全问 题如表格 11 所示:
表格 11 与 ICCP 协议相关的几个典型安全问题
根源** 安全问题举例
缺乏验证** 可以很容易地建立会话
缺乏加密** 报文明文传输,可以很容易地捕获和解析
显式地定义可信关系** 通过利用双边表能够直接地损坏 ICCP 服务器和客户端的安全 可访问** 广域网协议使得其高度可访问并其极容易遭受很多种攻击 ICS-CERT报告过多个 ICCP的漏洞,且互联网上曾出现过针对 ICCP的利用代码。因此,
非常有必要对 ICCP 网络执行适当的渗透测试并对服务器和客户端打补丁。除此之外,针对 ICCP 协议的首要安全建议是采用更安全的 ICCP 替换目前存在安全问题的 ICCP。如果条件 受限,不能完全替换存在安全问题的 ICCP,其它可以考虑的措施包括:添加必要的安全防护 措施,谨慎定义双边表,使用任何 TCP/IP 安全最佳实践来保护 DNP3 数据,或者使用标准的 纵深防御最佳实践,如表格 12 所示:
表格 12 针对 ICCP 协议的安全建议
措施** 举例 ****
确认与修复 ICS-CERT 报告过多个 ICCP 的漏洞,且互联网上曾出现过针对
ICCP 的利用代码,因此非常有必要对 ICCP 网络执行适当的渗透 测试并对服务器和客户端打补丁
替换 ICCP 使用 Security ICCP
必要的安全防护措施 使用专用且隔离的 ICCP 网络,增加验证
谨慎定于双边表 双边表是控制中心间的主要的保证和许可措施,通过 ICCP 发起的
恶意命令能够直接改变或影响控制中心的操作
TCP/IP 安全最佳实践 使用传输层安全(Transport Layer Security,TLS)保护 ICCP 数

采用纵深防御 防火墙、IDS 和 IPS
针对 ICCP 应用层数据分析结果显示,需要引起 IDS/IPS 开发人员高度关注的 ICCP 消息 如表格 13 所示(其中:最后 1 条针对增加了必要安全防护措施的情况):
表格 13 ICCP 协议典型异常行为
序号** 异常行为描述
1 功能“read”可用于泄露受保护的信息
2 功能“write”可用于操纵客户和服务器操作
3 在 ICCP 端口(TCP102)上运行非 ICCP 通信
4 任何源自或者到达非验证的 ICCP 设备的 ICCP 通信 现实中通过监视 ICCP 链路,检测到的具体攻击场景如表格 14 所示:
表格 14 ICCP 协议典型攻击场景
序号** 攻击场景 ****
1 侵入者通过被忽视的访问点(例如拨号、合作方或提供者的网络)获取对控制中心
网络的未授权访问
2 心怀怨恨的雇员访问和传输未授权的信息、更改安全配置以及其它可能损害控制中
心物理安全的恶意操作
3 源自重复信息请求(spamming)的拒绝服务攻击,消耗服务器的可用资源以阻止
合法的 ICCP 操作
4 ICCP 服务器或者其它设备感染恶意软件从而泄露敏感信息,例如盗窃可用于破坏
目的的命令功能码、改变用于交易的能源计量以崩溃财务运营以及其它各种恶意目 的
5 截获或者修改 ICCP 消息
2. 继承的问题
目前,基本所有广泛使用的工控协议都已经演化或扩展为在通用计算机和通用操作系统 上实现,并运行于 TCP/IP 之上以满足商业发展需要。TCP/IP 协议自身存在的安全问题不可 避免地会影响到运行于其上的应用层工控协议。本文从操作系统层、网际层和传输层三个层 次介绍 TCP/IP 之上的工控协议继承的安全问题。

  1. 操作系统层
  • VxWorks 认证 API 弱哈希算法
    随着通用计算机和通用操作系统在工控系统中的广泛使用,攻击者可以使用与实时操作 系统开发人员相同的调试工具。他们可以读符号表,查看每一条汇编,甚至可能都不需要编 程知识。例如:风河系统(Wind River Systems)的 VxWorks 实时操作系统的认证 API 使用 默认的弱强度哈希算法,攻击者可通过暴力碰撞计算出与实际密码具有相同哈希值的字串。
  1. 网际层**
  • 遭受 UDP 端口诊断服务器攻击
    VxWorks 的调试服务运行于 UDP 17185(0X4321),默认打开。攻击者不需要任何认 证就可以隐秘地执行以下攻击:远程倾倒内存,远程补丁内存、远程调用函数、远程任务管 理。
  • 遭受 Smurf 攻击
    Smurf 攻击是以最初发动这种攻击的程序名“Smurf”来命名的。这种攻击方法结合使用 了 IP 欺骗和 ICMP 回复方法使大量网络传输充斥目标系统,引起目标系统拒绝为正常系统进 行服务。Smurf 攻击通过将向某个网络广播地址发送的 ICMP 请求数据包的回复地址设置成第 三方的受害者,导致该网络的所有主机都对此 ICMP 请求做出答复,从而淹没受害主机并导 致网络阻塞,最终导致第三方崩溃。在工控系统的背景下,遭受 Smurf 攻击的对象可以是 RTU, 也可能是 SCADA 主机。
  • 遭受被动网络探测攻击
    攻击者可以通过网卡混杂模式被动地捕获广播网络的所有数据包。在工控系统的背景下, 攻击者可以获取网络的拓扑、RTU 设备功能、SCADA 主机运行的服务以及其他数据。
  • 遭受 Idle Scan 攻击
    Idle Scan 又叫 Zombie Scan 或者 Dumb Scan,是一种 TCP 端口扫描方法,可以用于确 认目标主机的特定端口是否是打开的。该方法通过使用一个称为 Zombie 的主机,避免与目标 主机发生直接的交互。基本原理如图 3.5 所示:
    图 3.5 Idle Scan
    首先攻击者向 Zombie 主机发送一个 SYN/ACK 报文,Zombie 返回一个 RST 报文(IPID
    为 x);第二步攻击者向目标主机的特定端口发送一个 SYN 报文,但是将源地址伪造为 Zombie 主机,如果目标主机上该端口是打开的,则会向 Zombie 主机回复 SYN/ACK 报文,与第一步 相同,由于 Zombie 并没有发送 SYN 报文,因此 Zombie 返回一个 RST 报文(IPID 为 x+1); 第三步攻击者再次向 Zombie主机发送 SYN/ACK报文,如果 Zombie返回一个 RST报文(IPID 为 x+2),则表示目标主机上特定的端口打开。如果目标主机上特定的端口未打开或被防火墙 屏蔽,则第二步目标主机不会向 Zombie 发送 SYN/ACK 报文,Zombie 也不会返回一个 RST 报文(IPID 为 x+1),因此第三步攻击者得到的 RST 报文(IPID 仍为 x+1)。在工控系统的 背景下,可以使用 Idle Scan 确认 SCADA 主机上特定的端口是否打开。
  • 遭受 ARP 欺骗/放毒攻击
    ARP 主要用于在局域网上转换 IP 地址为 MAC 地址。ARP 欺骗/放毒通过修改网络上缓 存的 IP/MAC 对实现。通过发送虚假的 ARP 报文到网络,攻击者可以混淆网络设备(例如交 换机)。在工控系统的背景下,可以通过 ARP 欺骗/放毒,接收发往其它结点的数据完成嗅探, 或者将发往其它结点的数据转向到不可达结点从而造成拒绝服务。
  • 中间人攻击
    攻击者可以通过恶意软件的基线响应重放、流氓侵入者设备等多种方式,或者通过在 ARP 欺骗/放毒混淆网络设备的基础上实现中间人攻击。
  • 遭受链/环攻击
    在链攻击中,很多结点之间形成一个连接链,攻击者有可能隐藏起来源和身份。在环攻 击下,连接链变成了一个环,攻击者的来源和身份更难以追踪。在工控系统的背景下,要谨 防攻击者发动链/环攻击。
  1. 传输层**
  • 遭受 SYN Flooding 攻击
    SYN Flooding 攻击通过发送大量的 TCP 半开连接请求,耗尽目标的资源。在工控系统的 背景下,可能造成目标的拒绝服务。

参考资料

绿盟 2013年工业控制系统及其安全性研究报

友情链接

教育部 高等学校数字校园建设规范(试行)2021

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,基于PLC的工业控制系统网络安全防护技术研究是一个非常重要的话题,因为随着工业控制系统的不断发展,网络安全威胁也在不断增加。下面我将为您介绍一些相关内容,希望能够帮助您更好地了解这个话题。 1. 工业控制系统安全威胁 工业控制系统是指用于监控、控制和管理工业生产过程的计算机系统,主要包括PLC、DCS、SCADA等设备。由于工业控制系统通常是使用专用协议进行通信,并且往往运行在非常重要的基础设施中,因此其安全威胁比一般计算机系统更加严重。常见的工业控制系统安全威胁包括: - 病毒和恶意软件感染 - 未经授权的远程访问 - 网络钓鱼攻击 - 拒绝服务攻击 - 物理攻击等 2. PLC的网络安全防护 PLC是工业控制系统中最常用的设备之一,因此保护PLC的安全非常重要。常用的PLC网络安全防护技术包括: - 防火墙:防火墙可以对PLC进行访问控制和数据包过滤,防止未经授权的访问和攻击。 - VPN:VPN可以对PLC进行加密通信,保护PLC的通信安全。 - IDS/IPS:IDS/IPS可以对PLC进行入侵检测和防御,及时发现并阻止攻击。 - 加密通信:加密通信可以对PLC进行数据加密,保护PLC的通信数据不被窃取或篡改。 3. 深度学习在工业控制系统网络安全中的应用 深度学习是一种能够发现数据中潜在规律和特征的机器学习方法。在工业控制系统网络安全中,深度学习可以被应用于以下几个方面: - 入侵检测:深度学习可以对工业控制系统进行入侵检测,识别异常行为和攻击。 - 病毒和恶意软件检测:深度学习可以对工业控制系统进行病毒和恶意软件检测,发现并清除潜在威胁。 - 数据加密:深度学习可以对工业控制系统进行数据加密,保护通信数据的安全性。 4. 工业控制系统网络安全防护策略 为了保护工业控制系统网络安全,需要采取综合的网络安全防护策略。常见的工业控制系统网络安全防护策略包括: - 安全培训:对工业控制系统相关人员进行安全培训,提高安全意识和防范能力。 - 安全管理:建立完善的安全管理制度,包括安全策略、安全规范、安全审核等。 - 安全技术:采用各种安全技术,如防火墙、VPN、IDS/IPS等,保护工业控制系统安全。 - 安全监控:建立安全监控系统,对工业控制系统进行实时监控和预警。 5. 工业控制系统网络安全防护的未来发展趋势 随着工业控制系统的不断发展,未来工业控制系统网络安全防护也将面临新的挑战和机遇。未来工业控制系统网络安全防护的发展趋势包括: - 智能化:采用人工智能和深度学习等技术,实现自动化的入侵检测和防御。 - 云化:将工业控制系统网络安全防护移到云端,实现集中管理和实时监控。 - 物联网化:将工业控制系统与物联网相结合,实现更加智能化和高效化的控制和管理。 总之,基于PLC的工业控制系统网络安全防护技术研究是一个非常重要的话题。需要采取综合的网络安全防护策略,包括安全培训、安全管理、安全技术和安全监控等。未来,随着人工智能、云计算和物联网等技术的不断发展,工业控制系统网络安全防护也将面临新的机遇和挑战。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值