隐蔽信道作为一种能够在不被系统感知的情况下稳定窃取秘密信息的通信手段,尽管其带宽通常较低,但其设计上的复杂性和多样性,使得常规的流量审计系统难以对抗或检测。同时,隐蔽信道也是密钥、身份认证、商业机密等秘密信息传输的重要工具,能够保证机密情报的安全性。因此对隐蔽信道检测的研究具有重要的理论意义和实用价值。
隐蔽通道分为如下两种类型:
1.存储隐蔽通道:一个进程对某客体进行写操作,而另一个进程可以观察到写的结果。
2.时间隐蔽通道:一个进程对系统性能产生的影响可以被另外一个进程观察到并且可以利用一个时间基准进行测量。
攻击者会使用隐藏的网络来绕过防火墙和IDS的检测,入侵检测系统(intrusion detection system,简称“IDS”)是一种对网络传输进行即时监视,在发现可疑传输时发出警报或者采取主动反应措施的网络安全设备。它与其他网络安全设备的不同之处便在于,IDS是一种积极主动的安全防护技术。IDS是计算机的监视系统,它通过实时监视系统,一旦发现异常情况就发出警告。以信息来源的不同和检测方法的差异分为几类:根据信息来源可分为基于主机IDS和基于网络的IDS,根据检测方法又可分为异常入侵检测和误用入侵检测。不同于防火墙,IDS入侵检测系统是一个监听设备,没有跨接在任何链路上,无须网络流量流经它便可以工作。因此,对IDS的部署,唯一的要求是:IDS应当挂接在所有所关注流量都必须流经的链路上。在这里,"所关注流量"指的是来自高危网络区域的访问流量和需要进行统计、监视的网络报文。在如今的网络拓扑中,已经很难找到以前的HUB式的共享介质冲突域的网络,绝大部分的网络区域都已经全面升级到交换式的网络结构。因此,IDS在交换式网络中的位置一般选择在尽可能靠近攻击源或者尽可能靠近受保护资源的位置。这些位置通常是:服务器区域的交换机上;Internet接入路由器之后的第一台交换机上;重点保护网段的局域网交换机上。
几乎任何协议都是可以用来进行隐蔽通信。不过,绝大多数的隐蔽信道研究都是基于第三层(网络层)和第四层(传输层)的,如ICMP,IP和TCP协议。7层协议(应用层)如HTTP和DNS协议偶尔也会使用。这种机制传输信息是不会触发网络防火墙和IDS警报的,而且netstat也检测不到。
防火墙检测
包过滤防火墙只能够通过匹配 IP 地址和端口号,判断这些信息是否命中特定的规则来进行过滤。
在包过滤防火墙中,防火墙直接对流经的 TCP 和 UDP 包进行处理。而应用网关防火墙需要对 TCP 和 UDP 包进行解析,处理成应用层的数据协议,如 HTTP。应用网关防火墙也逐渐演变成了专门的 Web 防火墙。
传统的包过滤防火墙只能基于每一个数据包进行判断,比如在“握手”的过程中,包过滤防火墙会分别看到 SYN、SYN+ACK、ACK 这三个数据包,并对每一个数据包进行判断。而事实上,这三个数据包(SYN、SYN+ACK、ACK)代表的是一次握手请求。所以,状态检测防火墙会尝试将这一连串的数据包组成一次完整的连接请求,从而获得一个更全面的视角,大大提高其安全性。
原文链接:https://blog.csdn.net/fd2025/article/details/124599456
IDS检测
对各种事件进行分析,从中发现违反安全策略的行为是入侵检测系统的核心功能。从技术上,入侵检测分为两类:一种基于标志(signature-based),另一种基于异常情况(anomaly-based)。 对于基于标志的检测技术来说,首先要定义违背安全策略的事件的特征,如网络数据包的某些头信息。检测主要判别这类特征是否在所收集到的数据中出现。此方法非常类似杀毒软件。
而基于异常的检测技术则是先定义一组系统“正常”情况的数值,如CPU利用率、内存利用率、文件校验和等(这类数据可以人为定义,也可以通过观察系统、并用统计的办法得出),然后将系统运行时的数值与所定义的“正常”情况比较,得出是否有被攻击的迹象。这种检测方式的核心在于如何定义所谓的“正常”情况。
两种检测技术的方法、所得出的结论有非常大的差异。基于标志的检测技术的核心是维护一个知识库。对于已知的攻击,它可以详细、准确的报告出攻击类型,但是对未知攻击却效果有限,而且知识库必须不断更新。基于异常的检测技术则无法准确判别出攻击的手法,但它可以(至少在理论上可以)判别更广范、甚至未发觉的攻击。
netstat检测
检验本机各端口的网络连接情况
通过ps命令是能够看到进程信息的
ICMP隐蔽信道
ping命令使用的就是这个icmp协议。icmp是Internet控制报文协议。它是TCP/IP协议簇的一个子协议,用于在IP主机、路由器之间传递控制消息。控制消息是指网络通不通、主机是否可达、路由是否可用等网络本身的消息。
ICMP协议是一种面向无连接的协议,用于传输出错报告控制信息。它是一个非常重要的协议,它对于网络安全具有极其重要的意义。 它属于网络层协议,主要用于在主机与路由器之间传递控制信息,包括报告错误、交换受限控制和状态信息等。当遇到IP数据无法访问目标、IP路由器无法按当前的传输速率转发数据包等情况时,会自动发送ICMP消息。
ICMP 是 TCP/IP 模型中网络层的重要成员,与 IP 协议、ARP 协议、RARP 协议及 IGMP 协议共同构成 TCP/IP 模型中的网络层。ping 和 tracert是两个常用网络管理命令,ping 用来测试网络可达性,tracert 用来显示到达目的主机的路径。ping和 tracert 都利用 ICMP 协议来实现网络功能,它们是把网络协议应用到日常网络管理的典型实例。
隐蔽信道在数据传输时并不会发送加密的数据包,因此它很容易进行嗅探,网络管理员可以很轻易地执行数据损失和风险管理。
部分网络设备配置有单向过滤,阻止ICMP请求数据包进入站点,仅允许ICMP通信出站,即防火墙仅单向允许内部设备ping互联网设备。
类型为8的ICMP包代表request,类型为0的ICMP包代表reply。对此,攻击者把带有命令执行的ICMP包伪装成类型为0的ICMP包,防火墙将误判为ICMP-0-reply包,ICMP数据包成功进入站点。而带有执行结果的ICMP包,攻击者把它伪装成类型为8的ICMP包,防火墙将误判为ICMP-8-request包,ICMP数据包成功进入互联网。
1.观察数量
检测同一来源的ICMP数据包的数量,一个正常的ping命令每秒最多发送两数据包,而用ICMP隧道会在很短的时间内产生上千个ICMP数据包。
2.观察大小
注意 Payload大于64bytes的ICMP数据包,ICMP报文由首部和数据段组成。首部为定长的8个字节,前4个字节是通用部分,后4个字节随报文类型的不同有所差异。数据段部分默认为32字节或48字节。
Windows进行ping data部分为 abcdefghi
jklmnopqrstuvwabcdefghi,共32bytes
Linux进行ping data部分为 时间数据 + !”#$%&’()+,-./01234567
共48bytes
3.前后不一致
寻找响应数据包中的 Payload与请求数据包中的 Payload不一致的ICMP数据包,协议规定,ICMP消息总是包括了源数据并返回给发送者,如响应数据包中的 Payload与请求数据包中的 Payload不一致,则不遵从通信协议规范,视为畸形数据包。
4.检查标识
检测ICMP数据包的协议标签,ICMPtunnel会在所有的 ICMP Payload前面添加TUNL标记来标识隧道。
对于防御ICMP隐蔽通信攻击,彻底消除风险的方法为:在网络边界设备,如防火墙中配置禁用ICMP。当然这需要结合业务考虑。最有效的解决方法是在互联网出口对ICMP协议进行完全禁止。或者只对信任的IP源地址开发ICMP通讯。
NTP隐蔽信道
NTP协议,即网络时间协议,是一种帮助网络中计算机的时钟时间同步的协议。该协议是一种应用层协议,负责TCP/IP网络上主机的时间同步。
优势:
- 提供设备之间的互联网时间同步
- 能用于认证系统如Kerberos
- 能内置地提供增强式安全性
- 提供网络加速,有助于故障排除
- 用于网络同步困难的文件系统
不足:
- 当服务器停机时,运行中的通信会影响同步时间
- 由于时区不同,服务器容易出错,可能会发生冲突
- NTP报文增加时,同步冲突
- 伪造可以在时间同步过程完成