logo资料库

基于ICMP协议的网络隐蔽通道技术的分析.pdf

第1页 / 共2页
第2页 / 共2页
资料共2页,全文预览结束
本栏目责任编辑: 冯蕾 网络通讯与安全 基于 ICMP 协议的网络隐蔽通道技术的分析 师海燕, 梁洪波 ( 安徽交通职业技术学院, 安徽 合肥 230051) 摘要: 网络数据流中利用隐蔽通道来进行非法通信已逐渐成为威胁网络信息安全的一种重要手段。该文从攻击者的角度研究隐蔽通 道, 提出了使用 ICMP 协议构建隐蔽通道的方法, 有效地提高了隐蔽通道的隐蔽性、抗屏蔽性。 关键词: 信息隐藏; 隐蔽通道; ICMP 协议; 网络安全 中图分类号: TP393 文献标识码: A Analys is of Network Covert Channel Technologies Bas ed on ICMP Protocol 文章编号: 1009- 3044(2007)10- 20963- 01 SHI Hai- yan,LIANG Hong- bo (Anhui Communications Technology Institute, Hefei 230051,China) Abs tract:Illegal communications by covert channel in network become an important way to threaten the network security. The paper gives the general way for constructing a covert channel and brings a channel based on ICMP protocol to get better secrecy, anti- shielding property, as the opinion of attacker. Key words :Information Hiding;Covert Channel;ICMP Protocol;Network Security 1 概述 隐 蔽 通 道 的 概 念 是 B.Lampson 在 1973 年 的 一 篇 名 为 “对 限 制问题的注解”的文章中首次提出的[1]。当时他并没有将隐蔽通 道和信息隐藏进行明确区分, 并且他所提出的隐蔽通道在很大 程 度上包含了信息隐藏的概念。现在我们所说的隐蔽通道与他当时 所论述的已经有所不同。现在的“信息隐藏”指的是通信双方交换 信息时 , 利用完全被允许的正常的通信通道隐藏秘密信息[2]。相 比 之 下, 建 立 隐 蔽 通 道 的 双 方 是 被 禁 止 利 用 正 常 渠 道 进 行 通 信 的。 ICMP 协议全称叫做网际报文控制协议, 其主要用途是向 IP 和高层协议通报有关网络层的差错和流量控制情况, 其目的是 返 回关于网络问题的诊断信息。根据 ICMP 报文, 可以实现多种服 务, 如 报 告 可 达 性 和 状 态 、流 量 控 制 、改 变 路 由 请 求 、获 得 网 络 地 址或子网掩码等。所有报文的前 4 个字节都是一样的, 但是剩 下 的其他字节则互不相同。前 4 个字节中包含类型域、类型特定 代 码以及校验和。 ICMP 报文的格式如图 1 所示。 图 1 ICMP 报文的格式 其中 8 位类型字段共有 15 个不同的值, 以描述特 定 类 型 的 ICMP 报文。某些 ICMP 报文还使用代码字段的值来进一步描述不 同的条件。检验和字段覆盖整个 ICMP 报文。在 15 种类型的 ICMP 报文 中, 我 们 最 关 心 的 是 类 型 0x0 和 类 型 0x8。0x0 类 型 的 ICMP 报文代表 ICMP_ECHOREPLAY ( 响应) , 0x8 类型的 ICMP 报文代 表 ICMP_ECHO( 查询) 。操作系统中的 ping 命令就是利用这两种 类型的 ICMP 报文来完成工作的。在进行工作时, ping 命令向远程 主机发 送 一 个 或 多 个 ICMP_ECHO 数 据 包, 其 目 的 是 判 断 远 程 主 机是否可以到达。ICMP_ 数据包的选项部分可以填写数据, 通 常 在 ICMP 报文到达远程主机的过程中, 记录沿途经过的路由器地 址以及沿途经过路由器时耗费的时间。在通常情况下, 很少有 设 备检查这个字段中的实际内容, 这就给隐蔽通道的建立提供了 理 想的场所。 2 利用 ping 程序隐藏信息建立隐蔽通道 许 多 网 络 中 的 网 络 管 理 员 和 网 络 用 户 都 需 要 检 查 网 络 的 运 行情况, 利用 ICMP 就是一个非常重要的手段。当主机上的 ICMP 软 件 模 块 收 到 ICMP 查 询 请 求 时, ICMP 模 块 就 发 送 一 个 应 答 包 , 它的内容和请求包是相同的。应答包告诉 ICMP 请求主机, 收到请 求的主机处于联机状态并对网络报文做出响应。 Ping 程 序 是 在 网 络 管 理 时 比 较 常 见 的 命 令 , 一 般 是 利 用 ICMP 来实现的。在使用时, ping 程序 发 送 一 个 响 应 请 求, 然 后 测 量循环传输时间。网络管理员可以利用它来确定远程主机目前在 网络上是否可到达并且可访问。Ping 程序的工作示意图如图 2 所 示。 图 2 ping 程序的工作示意图 源 主 机 在 发 送 ICMP ECHO 请 求 时, 在 ICMP 数 据 包 包 头 的 选 项 域 中 , 可 以 添 加 任 何 数 据 , 这 些 数 据 的 目 的 是 反 映 网 络 的 状 况( 如 延 时 、路 由 器 地 址 等) 。 当 目 标 主 机 收 到 ICMP 请 求 报 文 以 后, 在 ICMP 响应报文中填写标识域和序号回应请求应答, 并且把 请求数据包中选项域的东西原封不动地返回去。 这样, 我们可以建立隐蔽通道, 把要 发 送 的 数 据 隐 藏 在 ICMP 数据包包头的选项域中。在正常情况下, 防火墙和 入 侵 检 测 系 统 都不会检查 ICMP 中的内容, 因此隐蔽通道很容易穿透网络安全 设备的阻拦, 甚至在一些防护措施比较严 格 的 网 络 中, ICMP 隐 蔽 通道中的数据都可以进出自如[3]。图 3 清楚地表 示 在 利 用 ICMP 协议实现的 ping 命令中, 数据秘密隐藏的地方。 图 3 ping 命令中的秘密数据 3 ICMP 协议中隐蔽通道的实现 在实现隐蔽通道时, 由于要手工构造 ICMP 数据包中的各个 数据域, 因此必须使用 Raw Socket 技术。Raw Socket 允 许 程 序 绕 过 TCP/IP 传输层而直接访问底层协议, 如 ICMP 等。所以, IP 层的 (下转第 989 页) 收稿日期: 2007- 05- 08 作者简介: 师海燕( 1969- ) , 女, 安徽亳州人, 本科, 实验师, 主要研究方向: 计算机网络。梁洪波, 女, 安徽霍山人, 硕士, 讲师。 963
本栏目责任编辑: 冯蕾 所有关于 IPv6 的三层功能均交由核心处理, 而不在汇聚层进行。 也可考虑汇聚使用双栈三层交换机, 形成层次化的 IPv6 网络。 内 部 v6- v6, v4- v4 业 务 通 过 双 栈 协 议 直 接 互 通 , 无 协 议 转 换, 与普通单网络业务转发模型类似 。 内 部 v6- v4 业 务 通 过 双 栈 核心交换机进行 NAT- PT, 从而进行互通。内部 v6- 外部 v4( 或内 部 v4- 外部 v6) 通过出口进行 NAT- PT 与外部互通。内部 v6- 外部 v6, 经核心设备通过 CERNET2 直接连通。 5.2 升级现有的 IPV4 校园网络( 参见下图) 一般而言需要购买新的双栈设备, 少数设备可 以 通 过 升 级 软 件直接支持双栈。若增加新的双栈设备, 则新建 v6 网与原有 v4 (上接第 963 页) 封装工作就要用手工填充数据的方式来实现, 而不是由 操 作 系 统 自动完成。在传输数据前, 要对数据包进行伪装, 将 ICMP 的数据 类型设为 0x0, 即表明 数 据 包 中 的 是 ICMP 应 答 信 息, 伪 造 成 ping 命令发出数据包, 这样可以成功欺骗大多数的防火墙和 入 侵 检 测 系统。 在下面的隐蔽通道实现过程中, 数据发送端从 远 程 秘 密 发 送 命令到数据接收端, 接收端收到数据后, 执行收到的命令, 将 命 令 执行的结果返回给数据发送端。实现 ICMP 隐蔽通道的数据流程 如图 4 所示。 图 4 ICMP 隐蔽通道的数据流程图 在利用 Raw Socket 实现 ICMP 隐蔽通道时, 首先要指定 sock- 网络通讯与安全 网在各自网内分别互通, 利 用 新 增 设 备 进 行 NAT- PT 与 原 v4 核 心设备互通, 与外部则分别经原核心连接的 CERNET 或新增设备 所连接的 CERNET2 分别于外部 v4 和 v6 网络互通。 (1)出 口 路 由 器 通 过 两 条 链 路 连 接 到 CERNET2, 一 条 是 主 链 路, 通 过 光 纤 连 到 CERNET2 接 入 路 由 器 , 提 供 IPV6 数 据 接 入 服 务。一条为备份链路, 通过 IPV6 OVER IPV4 的手工隧道方式建立 和 CERNET2 的隧道连接, 提供隧道方式的 IPV6 数据接入服务。 (2)对于校园网络中公有 IPV4 地址, 采用 6TO4 隧道方式接入 这些用户。首先在 6TO4 中继路由器上配置 6TO4 隧道借口, 然后 将个人终端上的 IPV6 缺省网关指向 6TO4 中继路由器。 (3)对于校园网中的私有 IPV4 地址, 采用 ISATAP 隧道方式接 入这些计算机用户。首先在校园网络上部署 ISATAP 中继路由器, 并 且 配 置 ISATAP 隧 道 接 口 , 然 后 将 个 人 终 端 上 面 设 置 ISATAP 中继路由器的 IPV4 地址并将 IPV6 的缺省网关指向 ISATAP 中继 路由器。 通 过 这 些 部 署, 整 个 校 园 网 络 已 经 全 面 支 持 IPV6, 我 们 可 以 部 署 IPV6 的 相 关 应 用 业 务 , 从 而 构 建 更 安 全 、更 快 捷 、更 易 管 理 和拥有高可靠性的网络。 参考文献: [1]宋一 弘,刘 文 洋,杨 宇 姝.基 于 IPV6 协 议 重 构 校 园 网 的 研 究 [J].东北农业大学学报,2006,(12). [2]华为 3COM 技 术 有 限 公 司.IPV6 技 术[M].清 华 大 学 出 版 社, 2004. et的类型是 Raw Socket, 而不是 SOCK_STRAM 或 SOCK_DGRAM, 后两者通常在利用 TCP 或 UDP 实现网络传输时才使用[4]。然后, 在实 现 网 络 传 输 时, 必 须 明 确 指 明 使 用 ICMP、Raw Socket 在 进 行 数据传输前, 会将其写入 IP 头的协议域中。同时, 在构造 ICMP 数 据包时, 必须准确计算校验和, 用以保证数据传输的准确性。 4 结束语 利用 ICMP 的请求和应答数 据 包, 伪 造 ping 命 令 的 数 据 包 形 式, 可以成功绕过防火墙和入侵检测系统的阻拦。在 大 多 数 网 络 中, 为 了 网 络 管 理 的 方 便, 网 络 管 理 员 经 常 将 ICMP 数 据 包 放 行 , 网络监控设备不进行阻拦, 这就给隐蔽通道的建立和 实 施 提 供 了 方便。 在 有 些 网 络 中 , 网 络 安 全 措 施 比 较 严 格 , 只 允 许 从 网 络 内 部 向网络外部发送 ping 数据包, 而不允许从网络外部向网络内部发 送 ping 数据包, 这给建立隐蔽通道设置了一定的障碍。在这种情 况 下 可 以 通 过 如 下 两 种 方 法 来 解 决 : 第 一 , 如 果 网 络 外 部 的 主 机 需要首先发起通信请求, 则可以直接伪造 ICMP 应答数据包。也就 是说, 把要发送的数据伪装成网络内部主机发出的 ICMP 请求的 应答信息, 这样就可以成功躲过网络监控设备。第二, 首先由位于 网络内部的主机发出 ICMP 请求, 然后由网络外部的主机进行回 应, 在双方通信的过程中传递秘密数据。 在上面的隐蔽通道实现中, 对秘密传送的数 据 没 有 加 密 。 这 样 做 一 方 面 是 考 虑 到 一 般 的 网 络 监 控 设 备 不 会 检 查 ping 数 据 包 的 内 容; 另 一 方 面 是 从 传 输 的 效 率 上 考 虑 , 加 密 会 降 低 数 据 的 传 送效率, 延长数据总的传输时间。如果需要保密, 可以对 ICMP 数 据包中隐藏的数据加密, 降低被检测的风险。 参考文献: [1]B.Lampson,et al.note on the confinement problem,communi- cations of the ACM,1993,16(10):613- 615. [2]卢 大 航 , 基 于 网 络 协 议 的 隐 蔽 通 道 研 究 与 实 现[J], 计 算 机 工程与应用, 2003,(3):183. [3]夏 耐.隐 蔽 通 道 发 现 技 术 综 述[J].计 算 机 科 学,2006,33(12): 1- 4. [4]吴玉.网络入侵中的检测逃避与计 算 机 取 证[J].网 络 安 全 技 术与应用,2007,33(2):64- 65. 989
分享到:
收藏