Basic Covert Channel

Covert (adj.) = Hidden or Secret
คำว่า Covert Channel ในเรื่องของ Security หมายถึง การส่งข้อมูลโดยใช้ช่องทางที่ไม่ได้ถูกออกแบบมาให้ส่งข้อมูลนั้น ๆ
ใครที่งงแนะนำว่าอ่าน Definition ภาษาอังกฤษ จะเข้าใจง่ายกว่า
A covert channel is a path for the illegal flow of information between subjects within a system, utilizing system resources that were not designed to be used for inter-subject communication
คำที่ตรงข้ามกับ Covert Channel คือ Overt Channel นะครับ ซึ่ง Overt แปลว่า เปิดเผย (Public) การส่งข้อมูลทั่ว ๆ ไปนั้นเป็นลักษณะ Overt Channel
โดยทั่วไปการทำ Covert Channel นั้นใช้ช่องทางการส่งข้อมูลที่ไม่ถูก Block ใน Network ข้อมูลที่จะถูกส่งผ่าน Covert Channel นี้มักถูกใส่ไว้ในส่วนของ Header หรือ Payload ของ Protocol ซึ่งแต่ละ Protocol นั้นสามารถนำมาใช้ทำ Covert Channel ได้แต่ประสิทธิภาพของแต่ละ Protocol นั้นไม่เท่ากัน ทั้งนี้ขึ้นอยู่กับ Protocol Specification ด้วย เช่น ใน TCP Protocol มี Field ของ Header ที่มากกว่า ICMP Protocol ดังนั้นการทำ Covert Channel บน TCP Protocol น่าจะมีประสิทธิภาพสูงกว่า ICMP
ตัวอย่างการทำ Covert Channel บน ICMP
ก่อนที่จะทำความเข้าใจเทคนิคการทำ Covert Channel ควรจะต้องมีความเข้าใจเกี่ยวกับ Protocol นั้น ๆ ก่อน รูปด้านล่างเป็น ICMP Protocol ที่มีส่วนของ Header (Type, Code, Checksum) และ Data (Payload) ซึ่ง ICMP เป็น Protocol ที่ใช้ในการส่งข้อมูลระหว่างกันเพื่อตรวจสอบปัญหาต่าง ๆ ในกรณีที่ Network มีปัญหา

Basic covert channel
ซึ่งในส่วนของ Type และ Code นั้นจะเป็นไปตามมาตรฐานของ Protocol เช่น การส่งคำสั่ง Ping คือการทำ Echo request จะเป็น Type 8 Code 0 และในส่วนของ Data ก็มักจะมีการส่ง String ไปด้วย ซึ่ง String นี้จะแล้วแต่แต่ละ OS อย่างตัวอย่างด้านล่างจะเป็นการ Ping จาก OSX (ในส่วนของ Checksum จะไม่ขอพูดถึงละเอียดว่าคำนวณอย่างไรนะครับ โดยคร่าว ๆ Checksum คือค่าที่ใช้ในการตรวจสอบว่าข้อมูลที่ส่งมานั้นมีความถูกต้องหรือไม่ ถ้าไม่ถูกก็จะมีการ Drop ทิ้งไป)
ในส่วนของ Data (Payload) จากตัวอย่างข้างบนคือมีการส่งค่า "0809010b………" ซึ่งค่านี้เป็นค่าที่สร้างโดย Default ขึ้นมาอาจแตกต่างกันได้ในแต่ละ OS โดยปกติ Data ของ ICMP จะใส่ข้อมูลของ Packet ที่มีปัญหาเพื่อแจ้งให้ Sender ทราบว่าใน Network มีบางอย่างผิดปกติ
แทนที่ส่วนของ Data (Payload) จะส่งข้อมูลของ Packet ที่มีปัญหา เราสามารถใช้ Data (Payload) ในการทำ Covert Channel เพื่อส่งข้อมูลออกไปที่เครื่อง Server ปลายทางได้ด้วย ซึ่งเหตุผลของการทำ Covert Channel นั้นมักจะเป็นเรื่องของความต้องการที่จะ Bypass Firewall/ACL หรือ อยากให้การตรวจจับทำได้ยาก โดยตัวอย่างนี้แทนที่จะทำการ Upload ไปที่เว็บต่าง ๆ อาจเลือกใช้วิธีการส่ง Echo request ออกไปแทน
ทดลองส่ง Text จาก Text File ที่สร้างขึ้นโดยทำ Covert Channel ผ่าน ICMP ซึ่งสามารถใช้ Tool อย่าง Hping3 ทำได้
ลอง Run คำสั่งของ Hping3 พร้อมจับ Packet ผ่าน WireShark ดูที่ช่อง Data ของ ICMP packet จะเห็นว่ามีการส่งข้อมูลออกไป
ไว้ในบทความถัด ๆ ไปจะลองทำอันที่ซับซ้อนมากขึ้นนะครับ
OUR SERVICES
RED TEAMING
Deeper, and further than conventional penetration test, Red Teaming engagement mimics the tactics and techniques that real-world adversaries use with the goals of training and evaluating the effectiveness of people, process and technology used to defend the environment.
Up Next

ARTICLES
Mar
01
2021
007 Skyfall : the untold story
สวัสดีปีใหม่ สำหรับในปี 2012 ที่ผ่านมาทางทีมงาน Incognito Lab ของเรา ขอขอบคุณทุก ๆ ท่านที่คอยติดตามเรา และ ส่งเมล์เข้ามาให้กำลังใจทีมงานอย่างมากครับ
READ MORE

ARTICLES
Jul
17
2026
Wiper Attack Hospital
เมื่อวันที่ 11 มีนาคม 2569 กลุ่มแฮกเกอร์ Handala ซึ่งเชื่อมโยงกับรัฐบาลอิหร่าน ได้โจมตี บริษัท Stryker ซึ่งเป็นบริษัทผลิตอุปกรณ์การแพทย์ระดับโลกสัญชาติสหรัฐฯ Wiper Attack
READ MORE

ARTICLES
Jul
06
2026
VA/Pentest Service การลงทุนที่คุ้มค่าสำหรับธุรกิจในยุคดิจิทัล
ในทุกวันที่ยุคดิจิทัลเคลื่อนไปข้างหน้าอย่างไม่รีรอและการโจมตีทางไซเบอร์เพิ่มมากขึ้นในทุกวัน อย่าปล่อยให้แฮกเกอร์เป็นผู้พบช่องโหว่บนระบบของคุณก่อนมันจะสายเกินแก้!
READ MORE

