เทคนิค Obfuscation หรือ อธิบายอย่างง่าย ๆ นั่นคือการใช้โค้ดแปลกปลอมเพื่อการตีรวนระบบนั้น นับว่าเป็นเทคนิคที่ใช้กันอยู่ทั่วไปในมัลแวร์ต่าง ๆ ซึ่งจะซับซ้อนมากน้อยขึ้นอยู่กับฝีมือของผู้พัฒนา แต่สำหรับข่าวนี้กลับเป็นการใช้เทคนิคที่ผู้เชี่ยวชาญระบุว่า น่าตกใจอย่างมาก
จากรายงานโดยเว็บไซต์ The Hacker News ทางทีมวิจัยด้านความปลอดภัยไซเบอร์จากสถาบันเทคโนโลยี SANS ได้มีการตรวจพบรูปแบบการใช้โค้ดเพื่อตีรวนระบบ (Obfuscation) ของมัลแวร์ที่มีชื่อไฟล์ว่า “crypted.bat” โดยทางทีมวิจัยได้ระบุว่า การตีรวนของมัลแวร์ดังกล่าวนั้นสามารถหลบเลี่ยงการตรวจจับของเครื่องมือแอนตี้ไวรัสชื่อดังจำนวนมากในตลาดได้ ไม่เว้นแต่ VirusTotal ซึ่งเป็นเครื่องมือที่มีชื่อเสียงว่า มีความสามารถในการตรวจจับที่มากที่สุดตัวหนึ่ง โดยรายละเอียดทางเทคนิคของมัลแวร์ที่ยังไม่ถูกระบุชื่อดังกล่าวนั้น สามารถระบุตัวตนได้ด้วยการตรวจสอบ Hash ในรูปแบบ SHA256 โดยมีผลออกมาคือ
453c017e02e6ce747d605081ad78bf210b3d0004a056d1f65dd1f21c9bf13a9a
ไฟล์ดังกล่าวนั้นมีการใช้โค้ดในรูปแบบ UTF-16 เป็นด่านแรกสุดในการทำการตีรวนการตรวจจับของแอนตี้ไวรัส ซึ่งทีมวิจัยว่าโค้ดชุดดังกล่าวนั้นมีความซับซ้อนมาก จนยากแก่การทำวิศวกรรมย้อนกลับ (Reverse Engineering) เพื่อตรวจสอบรูปแบบการทำงานที่แท้จริง
ภาพจาก : https://cybersecuritynews.com/obfuscation-techniques-to-evade-anti-virus-detection/
ไม่เพียงเท่านั้น แฮกเกอร์ยังไม่ได้หยุดด้วยการโค้ดการตีรวนระบบเพียงรูปแบบเดียว แต่ยังมีการนำเอาหลากหลายเทคนิคเข้ามาใช้งาน ไม่ว่าจะเป็นการใช้ "Empty Environment Variables" (ตัวแปรสภาพแวดล้อมที่ไม่มีค่าใด ๆ หรือมีค่าเป็นสตริงว่าง ("")) สอดไส้ไว้ในสคริปท์ของ Batch File เมื่อถูกนำผ่านกระบวนการ (Process) ของระบบปฏิบัติการ Windows แล้ว ตัวระบบของ Windows ก็จะปล่อยผ่านโค้ดชุดดังกล่าวไปโดยที่ไม่ได้รับรู้ถึงจุดประสงค์ที่แท้จริงของมัลแวร์ที่ซ่อนอยู่ภายในโค้ดที่ชวนสับสนชุดดังกล่าว นอกจากนั้นแล้วตัวสคริปท์ยังสามารถสร้างป้าย (Labels) ในรูปแบบที่ผันแปรได้ตามการทำงาน (Dynamic) ทำให้ยากแก่การวิเคราะห์การทำงานโดยทีมวิจัยอีกด้วย
สำหรับการทำงานของมัลแวร์ตัวดังกล่าวนั้น หลังจากที่มันถูกรันขึ้นบนเครื่องของเหยื่อแล้ว มัลแวร์จะทำการวางสภาพแวดล้อมที่คงที่ (Static Environment) ของ Python ลงในระบบพร้อมทั้งตั้งเวลาการทำงานของตัวมัลแวร์เอาไว้ เพื่อให้มัลแวร์สามารถรันตัวเองขึ้นมาได้ทุกครั้งที่มีการเปิดการใช้งานระบบขึ้นมาใหม่ หลังจากนั้นจึงทำการดาวน์โหลดมัลแวร์ตัวจริง (Payload) มาจากเซิร์ฟเวอร์ควบคุม (C2 หรือ Command and Control) ซึ่งจากรายงานนั้นตัวโค้ดที่ดาวน์โหลดมาจากเซิร์ฟเวอร์ก็ถูกป้องกันด้วยเทคนิคโค้ดสำหรับการตีรวนไว้อย่างหนาแน่นเช่นเดียวกัน ซึ่งโค้ดชุดดังกล่าวก็ถูกเขียนขึ้นด้วยภาษา Python เช่นเดียวกับตัวมัลแวร์ชุดแรก
นอกจากนั้นแล้วยังมีการตรวจพบว่า ตัวมัลแวร์ยังมีการใช้งานฟีเจอร์ API Calls เพื่อใช้การโจมตีแบบยิงโค้ดแบบคลาสสิค เพื่อสอดแทรก Process แบบสุ่มที่มีความคล้ายคลึงกับ Process แบบปกติของตัว Windows เช่น “notepad.exe” หรือ “svchost.exe” อีกด้วย ซึ่งโค้ดต่าง ๆ ของมัลแวร์นั้นจะถูกยิงผ่าน Process แปลกปลอมเหล่านี้ทำให้มัลแวร์สามารถแฝงตัวว่าเป็นซอฟต์แวร์ที่ใช้งานกันตามปกติ เพื่อแฝงตัวหลบเลี่ยงการตรวจจับอยู่บนระบบ Windows ของเหยื่อ
ถ้าการตีรวน และซ่อนตัวในระบบตามที่อธิบายไปนั้นยังคงแน่นหนาไม่พอ ระบบการติดต่อสื่อสารระหว่างตัวมัลแวร์กับเซิร์ฟเวอร์ควบคุม (C2) ซึ่งทางทีมวิจัยพบว่าตั้งอยู่ที่หมายเลข IP ที่ 15.235.176.64:7000 ยังถูกเข้ารหัสด้วยเทคโนโลยี AES (Advanced Encryption Standard) ด้วยกุญแจถอดรหัสที่ถูกสร้างขึ้นเพื่อการนี้โดยเฉพาะ ทำให้ยากต่อทีมวิจัยและหน่วยรักษาความปลอดภัยที่จะเข้าไปแทรกแซงเพื่อถอดรหัสหรือดักฟังข้อมูลการสื่อสารระหว่างมัลแวร์และเซิร์ฟเวอร์อีกด้วย
|