การต่อต้านมัลแวร์นั้น นอกจากการมีนโยบายด้านความปลอดภัยที่เข้มงวด มีความระมัดระวังตัวที่สูงแล้ว การนำเอาเครื่องมือต่อต้านมัลแวร์อย่าง Anti-Virus หรือ EDR (Endpoint Detection and Response) เข้ามาใช้งานก็จัดเป็นอีกหนึ่งในการเสริมความแข็งแกร่งของระบบเช่นกัน แต่ถ้ามัลแวร์สามารถฝ่าเครื่องมือเหล่านี้ได้ล่ะ ?
จากรายงานโดยเว็บไซต์ Cyber Security News ได้กล่าวถึงการตรวจพบมัลแวร์ที่มีลักษณะการทำงานที่ร้ายกาจดั่งเช่นที่กล่าวไว้ ซึ่งมัลแวร์ดังกล่าวนั้นมีชื่อว่า SoupDealer ซึ่งเป็นมัลแวร์ที่ถูกแพร่กระจายผ่านทางแคมเปญการหลอกลวงแบบเฉพาะเจาะจงกลุ่มเหยื่อ หรือ SpearPhishing เพื่อหลอกให้เหยื่อดาวน์โหลด และรันไฟล์ในประเภทแพ็คเกจ JavaScript ในนามสกุล .Jar ซึ่งชื่อไฟล์มักจะใช้ชื่อว่า TEKLIFALINACAKURUNLER.jar โดยแคมเปญดังกล่าวนี้คาดว่าจะมาจากกลุ่มแฮกเกอร์ชาวตุรกี และเล็งเหยื่อที่อาศัยอยู่ในประเทศตุรกีเป็นหลัก เนื่องจากตัวไฟล์ดังกล่าวนั้นจะทำการคลายไฟล์มัลแวร์ (Payload) หลังจากมีการตรวจสอบตัวระบบว่า มีการใช้งาน Windows ในภาษาตุรกี และตัวเครื่องตั้งอยู่ในประเทศตุรกีเท่านั้น
ซึ่งในขั้นตอนการฝังตัวของมัลแวร์นั้น หลังจากที่ตัวระบบที่ตัวมัลแวร์ตรวจสอบนั้นเป็นไปตามเงื่อนไขข้างต้นแล้ว ตัวมัลแวร์ก็จะทำการดาวน์โหลดเว็บเบราว์เซอร์ Tor ซึ่งเป็นเครื่องมือสำหรับใช้ในการติดต่อกับระบบอินเทอร์เน็ตใต้ดิน (Dark Web) เพื่อที่จะสร้างช่องทางการติดต่อลับกับทางเซิร์ฟเวอร์ควบคุม (C2 หรือ Command and Control) ผ่านทางช่องทางดังกล่าว และในเวลาเดียวกันก็จะทำการตั้งตารางเวลาการทำงานของมัลแวร์ด้วยการ Scheduling Task อันจะเป็นการสร้างความคงทนอยู่ภายในระบบให้กับมัลแวร์ (Persistence)
ทางทีมนักวิจัยจาก Malwation บริษัทผู้เชี่ยวชาญด้านการจัดการความปลอดภัยไซเบอร์จากประเทศตุรกี ซึ่งเป็นทีมที่ตรวจพบทั้งแคมเปญ และตัวมัลแวร์ดังกล่าว ยังได้ออกมาเปิดเผยอีกว่าตัวมัลแวร์นั้นได้มีการใช้มัลแวร์นกต่อ (Loader) ที่ถูกสร้าง และดัดแปลงให้ใช้งานกับแคมเปญนี้โดยเฉพาะ เพื่อใช้เป็นตัวกลางในการถอดรหัส และโหลดตัว Payload บนหน่วยความจำโดยตรง ซึ่งเป็นระบบที่ช่วยให้มัลแวร์สามารถเลี่ยงระบบการวิเคราะห์และตรวจจับได้ทั้งแบบ Static และ Dynamic
โดยการทำงานของตัว Loader ดังกล่าวนั้นจะเริ่มต้นด้วยการตีรวนระบบป้องกัน (Obsfucation) หลังจากนั้นตัว Loader ในรูปแบบโค้ด JavaScript ขนาดเล็กที่มีชื่อว่า Loader7 จะทำการถอดรหัสของโค้ดที่อยู่ในไฟล์ติดตั้งที่มีชื่อว่า d6RuwzOkGZM12DXi ซึ่งถูกเข้ารหัสในรูปแบบ AES‐ECB โดยตัวกุญแจสำหรับถอดรหัส (Decryption Key) ได้ถูกฝังไว้ในรูปแบบ Sting ที่เป็นค่าคงที่ (Hardcoded) จะถูกขยายด้วยอัลกอริทึ่ม SHA-512 แล้วนำมาผ่านขั้นตอนการ Truncate เพื่อดึงคีย์สำหรับการถอดรหัส AES ออกมา ซึ่งในขั้นตอนถัดมาหลังจากทำการถอดรหัสเป็นที่เรียบร้อยแล้วนั้น จะปรากฎตัวไฟล์ Payload ที่มีชื่อว่า stage2.jar โดยภายในไฟล์ดังกล่าวจะมีการบรรจุไฟล์ Stub (ไฟล์ตัวแทนขนาดเล็ก) ที่ถูกเข้ารหัสในรูปแบบ RC-4 เอาไว้อีกชั้นหนึ่งด้วย
ภาพจาก : https://cybersecuritynews.com/soupdealer-malware-bypasses-every-sandbox/
ในขั้นถัดมาหลังจากถอดรหัสไฟล์ Stub ดังกล่าวแล้ว ตัวไฟล์ดังกล่าวจะทำการใช้การ Overriade ในส่วนของ findClass บน Byte Array ของตัวไฟล์ที่ถูกถอดรหัสโดยตรงอันจะเป็นการเลี่ยงไม่ให้ตัวไฟล์ทำงานบนฮาร์ดไดร์ฟ ทำให้ไม่สามารถถูกตรงจับด้วย Indicator ที่ตรวจสอบการทำงานบนฮาร์ดไดร์ฟได้ นอกจากนั้น ตัวมัลแวร์ยังมีการเลี่ยงการถูกตรวจสอบด้วยเครื่องมืออย่าง Anti-Virus ด้วยการตรวจสอบว่าไม่มีการใช้งานหรือติดตั้งผลิตภัณฑ์ด้านความปลอดภัยไซเบอร์ใด ๆ บนเครื่องก่อนที่จะทำงานในขั้นตอนถัดไปซึ่งเป็นการดาวน์โหลด Tor ลงมาติดตั้ง (ถ้าไม่มีการติดตั้งบนเครื่องมาก่อน) ตามมาด้วยการยืนยันการติดต่อระหว่างเครื่องกับเครือข่ายผ่านทาง check.torproject.org บน Localhost Proxy แล้วจึงทำการดาวน์โหลดมัลแวร์ Adwind ซึ่งเป็นมัลแวร์สำหรับเปิดประตูหลังของระบบ (Backdoor) ซึ่งจะทำหน้าที่ในการเชื่อมต่อระหว่างมัลแวร์ที่อยู่บนเครื่องของเหยื่อ กับ เซิร์ฟเวอร์ C2 ผ่านทางเครือข่าย Tor
ในส่วนของการสร้าง Persistence หรือการคงอยู่บนระบบของเหยื่อนั้น ตัวมัลแวร์จะใช้ประโยชน์จากเครื่องมืออย่าง Windows Task Schedule หลังจากที่ตัวมัลแวร์ได้สิทธิ์ในการเข้าถึงระบบของเหยื่อในระดับผู้ดูแลระบบ (Admin หรือ Administrator) แล้ว เพื่อทำการตั้งเวลาการทำงานในรูปแบบ Task ภายใต้ชื่อแบบสุ่มเพื่อให้ทำการโหลดใช้งานตัวมัลแวร์ Loader ในทุกครั้งที่มีการเปิดเครื่อง (Startup)
นอกจากนั้น ยังได้มีการทำการแก้ไข Registry ในส่วน HKCUSoftwareMicrosoftWindowsCurrentVersionRun ผ่านการใช้รันไฟล์สคริปท์ที่ถูกบันทึกในนามสกุล .Reg เพื่อใช้งานเครื่องมือ REGEDIT ในการทำการแก้ไข Registry ดังกล่าว ซึ่งตัวสคริปท์จะมีลักษณะดังนี้
Python Decryption Script for d6RuwzOkGZM12DXi
import hashlib
from Crypto.Cipher import AES
KEY = "875758066416"
key = hashlib.sha512(KEY.encode("utf-8")).digest()[:16]
with open("d6RuwzOkGZM12DXi", "rb") as f:
ciphertext = f.read()
cipher = AES.new(key, AES.MODE_ECB)
plaintext = cipher.decrypt(ciphertext)
with open("stage2.jar", "wb") as f:
f.write(plaintext)
นอกจากนั้น ยังมีการใช้กลเม็ดอื่น ๆ ในการหลบเลี่ยงการถูกตรวจจับด้วยเครื่องรักษาความปลอดภัยไซเบอร์ เช่น มีการใช้โค้ดขยะในการทำงานแบบ Junk Operation ร่วมกับการเข้ารหัสในส่วนของ String ของไฟล์มัลแวร์ และในส่วนของขั้นตอนการรันก็จะมีการล้างโค้ดที่ไม่จำเป็นทั้งหมดออกก่อนรัน อันจะล่อลวงระบบตรวจจับ เพราะตัวโค้ดแบบ Dynamic ที่ถูกคลายออกจากแพ็คเกจมาใช้งานในส่วนของหน่วยความจำนั้น มีลักษณะไม่เหมือนกับ คุณลักษณะเฉพาะ (Signature) ที่อยู่ในรูปแบบ Static เลย ทำให้ให้เครื่องมือตรวจจับอย่าง Anti-Virus ส่วนมาก และเครื่องมือกักกันในรูปแบบสภาวะจำลอง หรือ Sandbox นั้นไม่พบข้อผิดสังเกตจนต้องกักกันไฟล์ดังกล่าวไว้
จากทั้งหมดนี้เรียกได้ว่ามัลแวร์ SoupDealer มีรูปแบบการทำงานที่ค่อนข้างร้ายกาจเลยทีเดียว ที่ถึงแม้จะยังไม่มีการระบาดในไทย แต่ผู้ใช้งานก็ควรจะต้องเตรียมรับมือไว้ และเนื่องจากเป็นการแพร่กระจายในรูปแบบ Phishing ที่ต้องอาศัยการเปิด และรันไฟล์แปลก ๆ ที่แฮกเกอร์ส่งมาให้ ดังนั้น การป้องกันตัวด้วยการไม่เปิดไฟล์ที่ผิดสังเกตนั้นยังคงเป็นวิธีการป้องกันที่ใช้ได้ผลอยู่
|