Covert Channel (ช่องทางลับ) ใน Network Security
Covert Channel คือช่องทางการสื่อสารที่ ละเมิดนโยบายความปลอดภัย (Security Policy) โดยการถ่ายโอนข้อมูลด้วยวิธีที่ ไม่ได้ออกแบบมาเพื่อการสื่อสาร ใช้เพื่อ Data Exfiltration หรือ C2 (Command & Control) โดยหลบหนีการตรวจจับ
📚 ความแตกต่าง: Covert Channel vs Encrypted Channel
| ลักษณะ | Encrypted Channel (TLS/VPN) | Covert Channel |
|---|---|---|
| วัตถุประสงค์ | Confidentiality (ความลับ) | Secrecy of Existence (ซ่อนการสื่อสาร) |
| Protocol | Standard (HTTPS, IPsec) | Abuse Legitimate Protocols/Fields |
| Detection | Visible (Port 443, ESP) | Hard (Looks Normal) |
| Legitimacy | Authorized | Unauthorized/Policy Violation |
🔄 สองประเภทหลัก (Lampson Classification)
1. Covert Storage Channel (Storage-based)
เขียนข้อมูลลง Shared Storage/Resource แล้วฝ่ายรับอ่านออกมา
- File System: File attributes, timestamps, alternate data streams, slack space
- Network Headers: IP ID, TTL, TOS/DSCP, TCP Sequence/ACK, Window Size, Options, Padding
- DNS: Subdomain encoding (data.exfil.attacker.com), TXT Records
- ICMP: Payload ใน Echo Request/Reply
- HTTP Headers: User-Agent, Cookie, Referer, X-Forwarded-For, Custom Headers
2. Covert Timing Channel (Timing-based)
ปรับ Timing/Behavior ของระบบเพื่อเข้ารหัสข้อมูล
- Packet Timing: Inter-packet delays (Short=0, Long=1)
- Resource Contention: CPU/Memory/Disk usage patterns
- Cache Timing: Prime+Probe, Flush+Reload (Side-channel)
- Network Jitter: Modulate latency
🎯 ตัวอย่าง Covert Channel จริง
| Technique | Protocol/Vector | Capacity | Detection Difficulty |
|---|---|---|---|
| DNS Tunneling | DNS Queries/Responses | High (kbps-mbps) | Medium (Entropy, Length, Frequency) |
| HTTP/S Covert Channel | Headers, Cookies, POST Bodies | Medium-High | Medium (Statistical Analysis) |
| ICMP Tunneling | ICMP Echo Payload | Low-Medium | High (Unusual Payload Size) |
| TCP Header Fields | ISN, Timestamp, Window, Options | Low | Very High (Looks Normal) |
| Steganography | Images, Video, Audio, Documents | Variable | Very High |
| NTP Covert Channel | NTP Timestamp Fields | Low | High |
🕵️ การตรวจจับ (Detection)
- Statistical Analysis: Entropy, Packet Size Distribution, Timing Patterns
- Machine Learning: Anomaly Detection บน NetFlow/PCAP
- Protocol Analysis: Deep Packet Inspection (DPI), Zeek/Bro Scripts
- DNS Monitoring: Query Volume, Entropy, NXDOMAIN Ratio, Domain Age
- Behavioral Baselines: Normal Traffic Profile → Deviation Alerting
- NDR (Network Detection & Response): ExtraHop, Vectra, Darktrace, Corelight
🛡️ การป้องกันและลดความเสี่ยง (Mitigation)
- Network Segmentation: ลด Attack Surface, Isolate Critical Assets
- Egress Filtering: Block Unnecessary Outbound (DNS only to Internal Resolver)
- Proxy/Inspection: SSL/TLS Inspection, DNS Proxy, Content Disarm
- Rate Limiting: DNS Queries, ICMP, Small Packets
- Data Loss Prevention (DLP): Network DLP, Endpoint DLP
- Zero Trust / ZTNA: Verify Every Request, No Implicit Trust
- Threat Intelligence: Block Known C2 Domains/IPs
⚔️ Covert Channel Attacks ใน Mitre ATT&CK
- T1048: Exfiltration Over Alternative Protocol (DNS, ICMP, HTTP, SMB)
- T1572: Protocol Tunneling
- T1001: Data Obfuscation (Steganography, Compression, Encryption)
- T1573: Encrypted Channel (Legitimate Protocol with Encryption)
💡 สรุป
Covert Channel = การซ่อนข้อมูลใน Protocol/Resource ที่ถูกต้อง ปลอดภัยกว่า Encryption เพราะซ่อน "การมีอยู่ของการสื่อสาร" ตรวจจับยาก ต้องใช้ NDR, ML, Statistical Analysis, Egress Filtering, Zero Trust