Covert (adj.) = Hidden or Secret
คำว่า Covert Channel ในมุมของ Security หมายถึง วิธีการส่งข้อมูลระหว่างเครื่องโดยวิธีการที่ทำให้ผู้ที่ดูแล Network นั้นอยู่ไม่รู้ตัว (หรือว่าตรวจสอบได้ยากมาก)
เพิ่มเติม คำตรงข้ามกับ Covert คือ Overt (adj.) = Public
โดยทั่วไปการทำ Covert Channel นั้น ส่วนใหญ่จะใช้ช่องทางสื่อสารที่มีการ Allow อยู่แล้วใน Network เช่น การ ping โดยใช้ ICMP protocol, การทำ DNS query บน UDP Protocol หรือแม้แต่ Protocol อื่นๆ ก็สามารถนำมาใช้ทำ Covert Channel ได้ ทั้งนี้ Effectiveness ของแต่ละ Protocol จะไม่เท่ากัน เพราะแต่ละ Protocol มีข้อจำกัดทั้งในส่วนของ Header และ Payload บาง Protocol สามารถนำ Data ที่ต้องการส่งผ่าน Covert Channel ใส่ใน Header ได้มากก็จะ Effective กว่า Protocol ที่ใส่ได้น้อย
ยกตัวอย่างเช่น การทำ Covert Channel บน ICMP
รูปด้านล่างเป็น ICMP Protocol ที่มีส่วนของ Header (Type, Code, Checksum) และ Data
ซึ่งในส่วนของ Type และ Code นั้นจะเป็นไปตามมาตรฐานของ Protocol เช่น การส่งคำสั่ง Ping คือการทำ Echo request จะเป็น Type 8 Code 0 และในส่วนของ Data ส่วนใหญ่ก็จะมีการส่ง String ไปด้วย ซึ่ง String นี้จะขึ้นอยู่กับแต่ละ OS เช่น ตัวอย่างด้านล่างจะเป็นการ Ping จาก OSX เป็นต้น
ในส่วนของ Data นี้สามารถนำมาใช้ทำ Covert Channel ได้เช่นกัน เช่น กรณีที่ Hacker ต้องการส่งข้อมูลออกไปที่เครื่อง Server ปลายทาง แทนที่จะทำการ Upload ไปที่เว็บต่างๆ อาจเลือกใช้วิธีการส่ง Echo request ออกไปแทน
ยกตัวอย่างการใช้ hping3 ในการส่งข้อมูลผ่าน ICMP protocol
ขั้นตอนที่ 1.สร้าง text file ชื่อว่า text.txt โดยมีเนื้อหาคือ “TEST SEND MESSAGE IN ICMP”
ขั้นตอนที่ 2.ทำการเรียกใช้ hping3 โดยแต่ละ parameter มีรายละเอียดดังนี้
-E คือรับ file ที่ต้องการอ่านแล้วส่งข้อมูลออกไป
-d คือ data size ของ ICMP packet ในที่นี้ตั้งไว้คือ 30 bytes
IP คือ IP address ของ Destination host
–icmp คือ สั่งให้ส่งข้อมูลผ่าน ICMP ซึ่ง hping3 รองรับหลาย protocol โดย default จะเป็น TCP
ระหว่างที่ Run คำสั่ง hping3 นั้นได้ทดลองจับ packet โดยใช้ wireshark จะเห็นว่ามีการนำข้อความใน test.txt ไปใส่ไว้ใน Data ของ ICMP packet
ทำไม Hacker จึงเลือกใช้วิธีการนี้แทนที่จะ upload file ไปไว้ที่ File server ซักที่?
ในการโจมตีนั้น บางครั้งอาจเจอสถานการณ์ที่ไม่คาดคิด เช่น มีการทำ egress filtering ทำให้ไม่สามารถออก Internet ได้ด้วย Protocol ที่ต้องการ ก็จำเป็นจะต้องหาวิธีการอื่นเพื่อส่งผ่านข้อมูล
การส่งข้อมูลผ่าน Covert Channel บน ICMP มีข้อดีข้อเสียอย่างไรต่อ Hacker?
ข้อเสียคงหนีไม่พ้นความวุ่นวายในการจัดการรับและส่งข้อมูล
ข้อดีในการทำ Covert Channel นั้นสามารถตรวจจับได้ยากมาก แม้ใน Network ระดับองค์กรใหญ่ ถึงแม้จะมีการ Monitor อยู่ตลอดเวลา แต่ Packet ที่เห็นใน flow ต่างๆจะเป็นแค่การ Ping ออกไปเท่านั้น ถ้าปริมาณไม่มากจนผิดสังเกตุก็แทบจะไม่สามารถทราบได้เลย นอกจากนี้หากจะอยากเห็น Payload ของ Packet ต่างๆในองค์กรก็ต้องมีการทำ Full packet capture ซึ่งนอกจากวิเคราะห์ยากแล้ว ยังจะเปลืองพื้นที่ในการจัดเก็บข้อมูลของ Packet ต่างๆอีกด้วย
ข้อมูลจากทีม Incognitolab และท่านสามารถติดต่อขอรายละเอียดเพิ่มเติมได้ที่ www.zolventure.com หรือ www.acinfotec.com
บทความโดย จริญญา จันทร์ปาน Sales and Solution Delivery Director, ACinfotec Co.,Ltd. และ Zolventure Co.,Ltd. สำหรับผู้ที่สนใจบริการ Security ครบวงจรทั้ง Solution, Consulting, Assessment และ Training สามารถตรวจสอบรายละเอียดเพิ่มเติมได้ที่ http://www.acinfotec.com/ หรือติดต่อทาง Email ที่ jarinya@acinfotec.com ได้ทันที
เกี่ยวกับ ACinfotec
ACinfotec เป็นผู้นำในการเป็นที่ปรึกษาด้าน GRC Services ทั้งในส่วน Process และด้านเทคนิค โดยบริษัทมีการให้บริการหลายแบบ ได้แก่
- IT Standards – ISO 27001, ISO 20000, ISO 22301 CMMI, ISO31000, COBIT5, ISO 29100
- Assessment services – Penetration test, Vulnerability assessment, Incident Handling, Forensics
- Training – PECB, IRCA, EC-Council, CISA, CISM, CISSP, COBIT5, ITIL, Project management
เกี่ยวกับ Zolventure
Zolventure เป็นผู้นำด้านการ Implement และการให้บริการทั้งในส่วน Software tools, Managed service และ Data/Content services ซึ่งบริษัทมีการให้บริการในหลากหลายรูปแบบ ได้แก่
- Big Data service
- GRC services – PCI PA-DSS, Risk Management tools, IT Service Management tools, Business Management tools
- Intelligent gather – Zirious