เจาะลึก มัลแวร์ Flame

15 มิถุนายน 2012

NT cyfence
NT cyfenceทีมงาน NT cyfence ที่พร้อมให้คำปรึกษา และ ดูแลความปลอดภัยให้กับทุกองค์กร อย่างครบวงจร ด้วยทีมงานมืออาชีพ

Flame

ผู้เขียน: เสฏฐวุฒิ แสนนาม
วันที่เผยแพร่: 8 มิ.ย. 2555
ปรับปรุงล่าสุดวันที่: 12 มิ.ย. 2555
นำบทความมาจาก:  ThaiCert 

Discovery

เมื่อวันที่ 28 พ.ค. 2555 หน่วยงาน CERT ของประเทศอิหร่าน (MAHER) รายงานว่า ได้ค้นพบมัลแวร์ชนิดใหม่ที่มีเป้าหมายเพื่อโจมตีประเทศอิหร่าน โดยได้เรียกมัลแวร์ตัวนี้ว่า Flame ในเบื้องต้น ทาง MAHER ได้สันนิษฐานว่า Flame ถูกพัฒนาขึ้นโดยผู้พัฒนาทีมเดียวกับ Stuxnet และ Duqu

Flame ทำงานได้บน Windows XP, Vista และ 7 ใช้วิธีการแพร่กระจายผ่านทาง USB Drive และแพร่ผ่านระบบเครือข่าย (ซึ่งเป็นวิธีเดียวกันกับ Stuxnet) การทำงานหลักๆ ของ Flame คือขโมยข้อมูล Username และ Password, ลักลอบอัดเสียง, บันทึก Screenshot และลักลอบส่งข้อมูลออกไปให้ C&C Server ผ่านทางพอร์ต SSH และ HTTPS [1]

ศูนย์วิจัย CrySyS (Laboratory of Cryptography and System Security) จาก Budapest University of Technology and Economics เรียกมัลแวร์ตัวนี้ว่า Skywiper และได้ให้ข้อมูลเพิ่มเติมว่า ได้รับแจ้งเหตุการโจมตีด้วยมัลแวร์ดังกล่าวนี้จากหลายๆ ประเทศทั่วโลก ไม่ใช่แค่เฉพาะในตะวันออกกลางอย่างเดียว นอกจากนี้ยังได้ค้นพบวิธีที่ Skywiper ใช้ในการซ่อนตัวเองไม่ให้ถูกตรวจจับโดยโปรแกรมแอนตี้ไวรัส โดยการซ่อนโค้ดไว้ในไฟล์ .ocx และ .tmp ซึ่งโปรแกรมแอนตี้ไวรัสโดยส่วนใหญ่จะไม่สแกนไฟล์ 2 ชนิดนี้ [2] CrySyS รายงานว่า การพัฒนามัลแวร์ดังกล่าวนี้น่าจะได้รับการสนับสนุนด้านการเงินจากรัฐบาลหรือประเทศที่มีความต้องการที่จะใช้มัลแวร์ในการทำ Cyber Warfare (เอกสารของ CrySyS)

นักวิจัยจาก Kaspersky Lab ได้รายงานข้อมูลเพิ่มเติมว่า ประเทศที่ตกเป็นเป้าหมายของการโจมตีได้แก่ อิหร่าน เลบานอน ซีเรีย อิสราเอล และประเทศอื่นๆ ในแถบตะวันออกกลาง ตามรูปที่ 1

Pp2012te0009-1.png
รูปที่ 1 ประเทศที่ตกเป็นเป้าหมายการโจมตีของ Flame (ที่มา: Securelist.com)

จากการวิเคราะห์ของ Kaspersky พบว่า Flame มีส่วนประกอบการทำงานหลายๆ ส่วนรวมอยู่ด้วยกัน เช่น Backdoor, Trojan รวมถึงส่วนที่เป็นการทำงานแบบ Worm ซึ่งใช้ในการแพร่กระจายตัวเองผ่านระบบเครือข่าย ทำให้ตัวมัลแวร์มีขนาดใหญ่ถึง 20 MB จึงยากต่อการวิเคราะห์

Kaspersky พบว่า ผู้สร้าง Flame ได้ปลอมแปลงวันเวลาที่สร้างไฟล์ เพื่อให้เกิดความยุ่งยากในการตรวจสอบ โดยวันเวลาที่สร้างไฟล์นั้นอาจจะเป็นไปได้ตั้งแต่ปี 1992, 1994, 1995 หรือปีอื่นๆ แต่โมดูลส่วนใหญ่ของมัลแวร์ถูกสร้างในปี 2011 และ 2012 จากการวิเคราะห์ของ Kaspersky คาดว่า Flame น่าจะถูกสร้างขึ้นในช่วงเดือนกุมภาพันธ์-มีนาคม ปี 2010 [3]

Symantec ได้รายงานการค้นพบมัลแวร์นี้ด้วยเช่นกัน และได้เรียกมัลแวร์ตัวนี้ว่า Flamer หลังจากที่ได้วิเคราะห์มัลแวร์ตัวนี้ ทำให้ทราบข้อมูลเพิ่มเติมว่า มีการโจมตีไปที่ยุโรปตะวันออกด้วย และยิ่งไปกว่านั้น Flamer นอกจากจะขโมยข้อมูลแล้ว ยังทำหน้าที่ขัดขวางการส่งออกน้ำมันของประเทศอิหร่าน โดยการ Shut down ระบบ Oil terminal ด้วย [4] [5]

Certificate

หลังจากที่มีการวิเคราะห์มัลแวร์โดยหน่วยงานต่างๆ เพื่อหาวิธีการทำงานและวิธีการเผยแพร่ ในวันที่ 3 มิ.ย. 2555 Microsoft ได้แจ้งเตือน Security Advisory หมายเลข 2718704 ว่าด้วยเรื่องของการปลอม Digital Certificate ของ Microsoft ซึ่ง Certificate ดังกล่าวนี้ถูกใช้ในการ Sign โค้ดของ Flame [6]

โค้ดของ Flame ถูก Sign โดย Microsoft Terminal Server Licensing Service ซึ่งเป็นระบบที่ใช้ในการยืนยันตัวตนในกรณีที่จะเข้าไปใช้งาน Remote Desktop Service ในองค์กร ระบบดังกล่าวนอกจากจะออก Certificate ได้แล้ว ยังสามารถ Sign โค้ดให้กับโปรแกรมได้ด้วย

ในเบื้องต้น Microsoft แจ้งว่า เหตุการณ์ดังกล่าวเกิดจากช่องโหว่ของ Cryptography algorithm รุ่นเก่า ซึ่งทำให้ผู้สร้างมัลแวร์สามารถ Sign โค้ดของโปรแกรมให้ดูเหมือนกับว่าโปรแกรมนั้นถูกพัฒนาและได้รับการรับรองจาก Microsoft แต่ในตอนนั้นยังไม่ได้ให้รายละเอียดเพิ่มเติมของช่องโหว่ดังกล่าว [7]

ผู้เชี่ยวชาญด้าน Security ได้วิเคราะห์ว่า ช่องโหว่ของการ Sign โค้ด เกิดจากการที่ Microsoft Certificate Authority (CA) ใช้อัลกอริทึม MD5 ในการ Sign Certificate ซึ่งอัลกอริทึมดังกล่าวมีปัญหาเรื่อง Hash Collision ทำให้แฮ็กเกอร์สามารถสร้าง Certificate ปลอมที่มี MD5 Hash ตรงกับ Hash ของ Microsoft แล้วส่งเข้ามายัง Terminal Server เพื่อให้ Sign โค้ดของ Flame โดยใช้ Certificate จริงของ Microsoft ได้ [8] [9]

Certificate ที่ถูกใช้ในการ Sign โค้ดของ Flame คือ Microsoft Enforced Licensing Intermediate PCA ซึ่งถูก Sign โดย Microsoft Root Authority และ Microsoft Enforced Licensing Registration Authority CA (SHA1) ซึ่งถูก Sign โดย Microsoft Root Certificate Authority [10] ตัวอย่าง Certificate ดังกล่าวเป็นดังรูปที่ 2

Pp2012te0009-2.png
รูปที่ 2 Certificate ของ Microsoft ที่ถูกใช้ใช้การ Sign โค้ดของ Flame (ที่มา: F-Secure)

Microsoft ได้ปิดความสามารถในการออก Certificate ผ่าน Terminal Server และได้เผยแพร่ Update หมายเลข 2718704 เพื่อ Revoke Certificate ดังกล่าว

ในวันที่ 6 มิ.ย. Microsoft ได้อธิบายรายละเอียดเพิ่มเติมของวิธีการที่ Flame ใช้ในการโจมตีระบบ Certificate ผู้ที่สนใจสามารถอ่านรายละเอียดเพิ่มเติมได้ที่เว็บไซต์ Technet

Windows Update

จุดประสงค์ที่แท้จริงของการ Sign โค้ดของมัลแวร์ด้วย Certificate ของ Microsoft คือการเผยแพร่มัลแวร์ผ่านระบบ Windows Update

เครื่องที่ติด Flame จะตั้งตัวเองเป็นเซิร์ฟเวอร์ Web Proxy Autodiscovery Protocol (WPAD) โดยปกติแล้ว เครื่องคอมพิวเตอร์ที่ใช้ Windows จะถูกตั้งค่า Proxy ให้เป็น Automatic proxy detection หลังจากที่เชื่อมต่อกับระบบเครือข่าย เครื่องดังกล่าวจะพยายามติดต่อกับเซิร์ฟเวอร์ wpad.DOMAINNAME (เช่น wpad.thaicert.or.th ในกรณีที่เครื่องดังกล่าวอยู่ในโดเมน thaicert.or.th) เพื่อตรวจสอบว่าเมื่อไหร่ที่ควรจะเชื่อมต่อ HTTP Proxy เพื่อใช้งาน Windows Update

เครื่องคอมพิวเตอร์ที่ติด Flame จะส่งไฟล์ wpad.dat เพื่อเป็นสัญญาณบอกเครื่องที่อยู่ในเครือข่ายเดียวกันว่าให้เชื่อมต่อ Proxy เพื่อใช้งาน Windows Update จากนั้นเครื่องคอมพิวเตอร์ที่อยู่ในระบบเครือข่าย จะเชื่อมต่อเข้ามายังเครื่องที่ติด Flame เพื่อดาวน์โหลดไฟล์ Windows Update

โดยปกติแล้ว ระบบ Windows Update จะมีการตรวจสอบ Signature ของไฟล์ที่จะนำมาอัพเดต เพื่อให้แน่ใจว่าเป็นไฟล์ที่มาจาก Microsoft จริงๆ และเนื่องจาก Flame ถูก Sign โดยใช้ Certificate ของ Microsoft จึงสามารถแพร่กระจายตัวเองผ่านระบบ Windows Update ได้ [11] [12] ขั้นตอนการทำงานของ Flame เป็นดังรูปที่ 3

Pp2012te0009-3.png
รูปที่ 3 การแพร่กระจายของ Flame ผ่านระบบ Windows Update (ที่มา: Symantec)

Suicide

ในวันที่ 4 มิ.ย. 2555 Kaspersky รายงานว่า เครื่อง C&C ของ Flame เป็นโดเมนที่จดทะเบียนโดยใช้ข้อมูลปลอม ซึ่งมีจำนวนกว่า 80 โดเมน และยังค้นพบเพิ่มเติมว่า Flame จะสุ่มดึงตัวอย่างข้อมูล 1 KB ออกจากไฟล์ PDF, Excel, Word ที่พบในเครื่อง จากนั้นจะบีบอัดแล้วส่งตัวอย่างข้อมูลที่ได้ไปให้ให้กับเครื่อง C&C เพื่อให้คนที่ควบคุมมัลแวร์อยู่วิเคราะห์ว่าจะเอาข้อมูลอะไรออกไปจากเครื่อง เหยื่อ [13]

หลังจากที่มีการค้นพบเครื่อง C&C ได้เพียง 2 วัน เครื่อง C&C บางส่วนก็ได้ส่งคำสั่ง “SUICIDE” เพื่อลบไฟล์ทุกไฟล์ของ Flame ออกจากเครื่องของเหยื่อ Symantec รายงานว่า คำสั่งลบดังกล่าวนี้เป็นการ “ลบโดยสมบูรณ์” (Completely Remove) เพราะคอมโพเนนต์ทั้งหมดของ Flame ที่อยู่ในเครื่องจะถูกลบทิ้งทันทีที่ได้รับคำสั่งนั้น [14]

Awareness

จากการใช้ช่องโหว่ของระบบ Windows Update เป็นช่องทางในการโจมตี ทำให้ผู้เชี่ยวชาญด้าน Security หลายฝ่ายออกมาแสดงความกังวลในเรื่องนี้ ด็อกเตอร์ Johannes B. Ullrich จาก SANS Technology Institute ได้มีข้อแนะนำในการใช้งาน Windows Update เช่น ติดตั้ง Update ผ่านการเชื่อมต่อที่เชื่อถือได้ (อินเทอร์เน็ตที่บ้านหรือที่ทำงาน) เท่านั้น ถึงแม้ว่าวิธีการดังกล่าวจะป้องกันการโจมตีแบบ Man-in-the-Middle ไม่ได้แบบ 100% ก็ตาม แต่ก็สามารถลดความเสี่ยงที่จะถูกโจมตีจากเทคนิคข้างต้นได้ อย่างไรก็ตาม หากจำเป็นที่จะต้องติดตั้ง Update ผ่านระบบเครือข่ายสาธารณะ ควรใช้การเชื่อมต่อผ่าน VPN [15]

 

What’s next?

จากการพัฒนาของมัลแวร์ในช่วงปีที่ผ่านมา ไม่ว่าจะเป็น Stuxnet, Duqu จนมาถึง Flame มีสิ่งที่ตรงกันอย่างหนึ่งคือ มัลแวร์เหล่านี้ไม่ได้ถูกสร้างมาเพื่อให้เกิดความเสียหายต่อบุคคลทั่วไป แต่ถูกสร้างขึ้นมาโดยมีวัตถุประสงค์หลักเพื่อตั้งใจโจมตีหน่วยงานระดับ ประเทศ สิ่งดังกล่าวนี้แสดงให้เห็นว่า การทำสงครามในปัจจุบันนั้นได้เปลี่ยนรูปแบบจากยุทธวิธีทางการทหาร มาเป็นการทำสงครามผ่านโลกไซเบอร์แล้ว เพราะไม่ว่าจะเป็นการทำลายข้อมูล การสืบข่าว หรือแม้กระทั่งการส่งสายลับเข้าไปในฐานของศัตรูเพื่อขโมยความลับ ก็สามารถทำได้ด้วยการใช้มัลแวร์ทั้งสิ้น ดังนั้น จึงเป็นที่น่าสนใจอย่างยิ่งว่า ต่อจากนี้ การทำสงครามในโลกไซเบอร์จะเป็นไปในทิศทางใด เพื่อที่จะได้เรียนรู้และป้องกันภัยได้อย่างทันท่วงที

อ้างอิง

  1. http://www.certcc.ir/index.php?name=news&file=article&sid=1894
  2. http://nakedsecurity.sophos.com/2012/05/28/flame-malware-cyber-attack/
  3. http://www.securelist.com/en/blog?weblogid=208193522
  4. http://www.symantec.com/connect/blogs/flamer-highly-sophisticated-and-discreet-threat-targets-middle-east
  5. http://thehackernews.com/2012/05/flame-malware-21st-century-massive.html
  6. http://blogs.technet.com/b/srd/archive/2012/06/03/microsoft-certification-authority-signing-certificates-added-to-the-untrusted-certificate-store.aspx
  7. http://technet.microsoft.com/en-us/security/advisory/2718704
  8. http://www.h-online.com/security/news/item/Flame-worm-was-signed-by-forged-Microsoft-certificate-1594388.html
  9. http://searchsecurity.techtarget.com/news/2240151187/Microsoft-revokes-fraudulent-certificates-used-by-Flame-malware-toolkit
  10. https://www.f-secure.com/weblog/archives/00002377.html
  11. http://nakedsecurity.sophos.com/2012/06/04/flame-malware-used-man-in-the-middle-attack-against-windows-update/
  12. http://www.symantec.com/connect/blogs/w32flamer-microsoft-windows-update-man-middle
  13. http://arstechnica.com/security/2012/06/flame-espionage-malware-used-huge-network-to-steal-blueprints/
  14. http://www.symantec.com/connect/blogs/flamer-urgent-suicide
  15. http://isc.sans.edu/diary.html?storyid=13429

บทความที่เกี่ยวข้อง