Tags:
Node Thumbnail

บริษัทด้านความปลอดภัยในประเทศจีน ค้นพบมัลแวร์ชนิดใหม่ชื่อ Mebromi ซึ่งกำลังระบาดในประเทศจีน ที่น่าสนใจคือมันเล่นงานคอมพิวเตอร์ตั้งแต่ระดับ BIOS ขึ้นมาเลยทีเดียว

กระบวนการทำงานของมันจะซับซ้อนหน่อย เริ่มจากมันจะหาทางติดตั้งไดรเวอร์ปลอมๆ ที่ทำงานในระดับเคอร์เนล (kernel mode driver) เพื่อเข้าถึง physical memory ในเครื่อง เมื่อติดตั้งไดรเวอร์และเข้าถึง physical memory ได้แล้ว มันจะตรวจสอบที่ตำแหน่ง 0xF0000 ว่ามี BIOS อยู่หรือไม่ (ซึ่งส่วนมากมักจะใช่) และเรียกโปรแกรมเขียน BIOS (ซึ่งเป็นของแท้จากบริษัทผลิต BIOS เสียด้วย) มาเขียนโค้ด rootkit ลงไปที่ BIOS

นอกจากจะแก้ไขข้อมูลใน BIOS แล้ว ตัวมัลแวร์จะไปแก้ข้อมูลบางส่วนของ Master Boot Record ด้วย เรียกว่าต่อให้ถ้าเขียน BIOS ไม่สำเร็จ ก็ยังมี MBR อีกอันที่จะโดนมัลแวร์อยู่ดี

ในการบูตเครื่องครั้งต่อไป BIOS (ที่โดนมัลแวร์เข้าเสียแล้ว) จะเช็คว่า MBR โดนด้วยหรือไม่ (ถ้าโดนแล้วก็ปล่อยผ่าน ถ้ายังไม่โดนก็แก้ MBR ซะเลย)

จากนั้นก็ยาวเลย มันจะเข้าไปเช็คที่ file system แล้วเข้าไปแก้ถึงไฟล์ winlogon.exe หรือ wininit.exe ที่ใช้ในการบูตวินโดวส์ และรอให้วินโดวส์บูตเสร็จเพื่อดึงโค้ดมัลแวร์ส่วนอื่นๆ มาจากอินเทอร์เน็ตต่อไป (อ่านรายละเอียดของกระบวนการทำงานทั้งหมดได้ตามลิงก์)

ความน่ากลัวของมัลแวร์ลักษณะนี้อยู่ที่ว่า ต่อให้ซอฟต์แวร์ความปลอดภัยตรวจจับและล้างให้สะอาดได้ แต่เมื่อบูตเครื่องครั้งต่อไป BIOS (ที่ซอฟต์แวร์ความปลอดภัยเข้าไม่ถึง) ก็จะทำให้เครื่องเราติดมัลแวร์ใหม่อยู่ดี

แนวคิดนี้จริงๆ ไม่ใช่เรื่องใหม่ ในอดีตเคยมีคนสร้างโค้ดที่ทำงานในระดับ BIOS มาแล้ว เพียงแต่ครั้งนี้อาจถือว่าเป็นมัลแวร์ที่ทำงานจริงๆ ไม่ใช่โค้ดทดลอง (proof-of-concept) แต่อย่างใด

อย่างไรก็ตาม ถึงแม้การทำงานของมันที่ระดับล่างๆ ฟังดูร้ายแรง แต่ข้อเสียของมัลแวร์แบบนี้คือโค้ดมีความซับซ้อน ต้องใช้หลายส่วนทำงานผสานกัน และต้องปรับแต่งโค้ดให้เหมาะกับฮาร์ดแวร์แต่ละชุดด้วย (เช่น โค้ดสำหรับ BIOS แต่ละยี่ห้อ) ทำให้โอกาสที่มันจะทำงานได้ 100% ตามที่ผู้สร้างตั้งใจมีน้อยลงมาก

ในตอนนี้ Mebromi ยังมุ่งเป้าที่ผู้ใช้ในประเทศจีนเท่านั้น และโค้ดของมันใช้ได้กับ BIOS ยี่ห้อ Award (ซึ่งปัจจุบันเป็นของ Phoenix Technologies) เพียงอย่างเดียว

ที่มา - Webroot Threat Blog, The Register

Get latest news from Blognone

Comments

By: UltimaWeapon
Windows PhoneRed HatWindowsIn Love
on 15 September 2011 - 16:39 #333606
UltimaWeapon's picture

จงใช้ Windows NT 6.X กันได้แล้ว !! (เช่น Windows Vista, 7) และเป็นไปได้ก็ใช้ x64 ด้วย เพราะใน x64 ตัว Kernel ของ Windows จะยอมโหลด Kernel Mode Driver ก็ต่อเมื่อมันถูกทำ Code Signing กับ Certificate บางอันเท่านั้น (ซึ่งการจะได้ Certificate ตัวนี้มายากพอสมควร ทั้งราคาที่แพง ทั้งเรื่องการยืนยันตัวตน ฯลฯ) และเปิด UAC กันได้แล้ว !!!

By: wichate
Android
on 15 September 2011 - 16:50 #333613 Reply to:333606

ต้องซื้อเครื่องใหม่ด้วย (สำหรับบางคน อือื)

By: revolz
ContributoriPhoneAndroidBlackberry
on 15 September 2011 - 17:09 #333638 Reply to:333606
revolz's picture

ส่วนมากมันจะเป็นแบบนี้นะครับ ถึงใช้ vista/7 ไม่ได้

User is not compatible with Windows 7

แล้วมันค่อยจะยอมพัฒนากันด้วย กว่าจะเข็นจาก 98 มา xp ได้ ก็ service pack 3 เข้าไปแล้ว

By: sukoom2001
ContributorAndroidUbuntu
on 15 September 2011 - 17:30 #333657 Reply to:333606
sukoom2001's picture

เข้าใจว่า wininit.exe ถูกแก้ไขไปด้วย ตั้งแต่ช่วง boot เดาว่า น่าจะติดใน windows vista ด้วย แต่ 7 ไม่แน่ใจเท่าไหร่

By: Lightwave
iPhoneAndroidWindows
on 15 September 2011 - 17:38 #333667 Reply to:333657

vista x64 คงไม่มีปัญหามั้งครับ

By: UltimaWeapon
Windows PhoneRed HatWindowsIn Love
on 15 September 2011 - 18:38 #333709 Reply to:333657
UltimaWeapon's picture

ถ้า Malware มันเข้าไม่ถึง Ring 0 (คือสิทธิที่สามารถควบคุม CPU และ Hardware อื่นๆได้ทุกอย่าง) มันก็ไม่สามารถแก้ใข BIOS ได้คับ และถ้ามันเข้าไม่ถึงสิทธิ Admin (หรือ root นั่นละ) มันจะไม่สามารถแก้ใข wininit.exe ได้ รวมถึงไม่สามารถสั่งให้ Kernel โหลดมันเข้าไปใน Ring 0 ด้วย

ใน Windows XP User เกือบทุกคนที่ผมเห็นจะใช้งานในสิทธิ Admin ทำให้โปรแกรมที่รันด้วย User นั้นๆสามารถเข้าถึงระบบได้และแก้ใขได้ทุกอย่าง

แต่ใน Windows NT 6.X (Vista, 7) ถ้าเราเปิด UAC เวลา User ที่มีสิทธิ Admin รันโปรแกรมแบบปรกติ (ไม่ใช่การคลิกขวาแล้วเลือก Run as administrator) ตัวโปรแกรมนั้นจะไม่ได้รันในสิทธิ Admin แต่จะรันในสิทธิ User ธรรมดา ทำให้โปรแกรมนั้นไม่สามารถเข้าถึงและแก้ใขระบบในส่วนที่สำคัญๆ และเวลาโปรแกรมไหนที่ต้องการใช้งานสิทธิ Admin มันก็จะมีหน้าต่าง UAC เด้งขึ้นมาถาม User ก่อน (ไอ้ที่ชอบรำคาญกันนั่นละ) ถ้าตอบ Yes ตัวโปรแกรมนั้นถึงจะถูกรันในสิทธิ Admin

สรุป ถ้า Malware ตัวนี้ (และหลายๆตัว) มันเข้าไม่ถึงสิทธิ Admin มันก็ทำอะไรไม่ได้หรอกคับ

By: lancaster
ContributorUbuntuWindows
on 15 September 2011 - 17:39 #333666 Reply to:333606

มันแค่โวยวาย กด install กับ continue anyway ก็ได้แล้วนี่ครับ คุ้นๆว่ามีแต่วิสต้าที่ล๊อกไม่ให้ลงเลย

By: UltimaWeapon
Windows PhoneRed HatWindowsIn Love
on 15 September 2011 - 18:19 #333693 Reply to:333666
UltimaWeapon's picture

อันนั้นน่าจะ User mode Driver นะคับ ถ้า Kernel mode Driver มันจะขึ้นหน้าต่างแบบนี้บอกเลย http://www.sslshopper.com/microsoft-vista-kernel-mode-code-signing-certificates.html

อันนี้รายละเอียดเพิ่มเติมคับ http://msdn.microsoft.com/en-us/windows/hardware/gg487328

By: Gundam2010
Windows PhoneAndroidBlackberry
on 16 September 2011 - 08:26 #333978 Reply to:333693

+1

By: mementototem
ContributorJusci's WriterAndroidWindows
on 15 September 2011 - 18:49 #333711 Reply to:333666
mementototem's picture

คุ้น ๆ ว่า 7 ก็เจอนะครับ พยายามลงโปรแกรมเก่าที่มันสร้าง driver ปลอมขึ้นมา แล้ว 7 มันไม่ยอมให้ลง


Jusci - Google Plus - Twitter - FSN

By: hisoft
ContributorWindows PhoneWindows
on 16 September 2011 - 00:09 #333893 Reply to:333606
hisoft's picture

+1 จะปิด UAC กันทำไม พอโดนก็โวยวาย พอเปิดก็บ่น (一*一)

By: caznova
AndroidRed HatUbuntuWindows
on 16 September 2011 - 12:09 #334110 Reply to:333606
caznova's picture

คงต้อง UAC อย่างเดียวครับ
เพราะ มันไม่จำเป็นต้องใช้ Code Signing ก็ได้
http://msdn.microsoft.com/en-us/library/ff553484(v=vs.85).aspx

By: PaPaSEK
ContributorAndroidWindowsIn Love
on 15 September 2011 - 16:46 #333609
PaPaSEK's picture

โอ้โห!! ไอ้ตัวนี้โหดพอดู

ผมรอมานานแล้วว่าเมื่อไหร่จะมีคนที่โหดเหี้ยมพอที่จะทำไวรัสแบบนี้ออกมา เท่าที่เข้าใจ ... คนทำไวรัสส่วนมากไม่ได้ต้องการไวรัสที่มีอานุภาพทำลายล้างในระดับนี้

เคยอ่านบทความ (น่าจะเก่าระดับ 10 ปี) บอกว่ามีไวรัสตัวนึงในอดีต (ยุคแรกๆ มั้ง) สั่งให้ตัว yoke coil ในจอ CRT ยิงอิเล็กตรอนไปที่จุดเดิมซ้ำๆ จนจอไหม้

By: iammeng
ContributoriPhoneAndroidWindows
on 15 September 2011 - 17:14 #333636 Reply to:333609
iammeng's picture

โหเดี๋ยวนี้มัลแวร์มันฉลาดขนาด วิเคราะห์ แล้วโหลดข้อมูลจากเน็ต แล้วแก้ไขข้อมูลแล้วติดตั้ง!! แล้วหรอเนี่ย

ข่าวหลายวันก่อนเหมือนผมเห็นไวรัสที่มันมาพร้อมกับ Mouse เหมือนกัน
ไปกันใหญ่แล้ว!

By: ohmini
Contributor
on 15 September 2011 - 17:48 #333674 Reply to:333609
ohmini's picture

อ่านใน Bloomberg ไทยฉบับล่าสุดพูดถึงเรื่องสงครามไซเบอร์พอดี ไวรัสชนิดหนึ่งจะฝั่งตัวเข้าไปในระบบการทำงานของโรงไฟฟ้า แต่จะทำงานเฉพาะกับโรงไฟฟ้านิวเคลียร์ของอิหร่านเท่านั้น (มีโรงไฟฟ้าหลายประเทศโดนแต่ไม่ทำงานเพราะไม่ใช่อิหร่าน) เมื่อฝังตัวไปได้แล้ว มันจะสั่งให้มอเตอร์(หรืออะไรสักอย่าง) ทำงานอย่างหนักจนเสียหาย (ทำให้ฮาร์ดแวร์เสียหาย) โรงไฟฟ้านิวเคลียร์ของอิหร่านเลยปิดไปหลายเดือน แถมระหว่างทำงานไวรัสยังหลอกว่าเครื่องทำงานปกติดี ทำให้ไม่มีคนรู้จนเครื่องพัง...

By: PaPaSEK
ContributorAndroidWindowsIn Love
on 15 September 2011 - 20:40 #333769 Reply to:333674
PaPaSEK's picture

ชอบครับ ฟังแล้วสนุกดี ขอบคุณที่มาเล่าครับ

By: clozed2u
ContributoriPhoneIn Love
on 15 September 2011 - 22:57 #333846 Reply to:333674
clozed2u's picture

คุ้นๆว่าจะเป็น Stuxnet ครับ


me

By: wichate
Android
on 15 September 2011 - 16:53 #333619

ใช้ Linux รอดตัวไป เพราะไม่ต้องลง Driver

ปล.หรือไม่ก็ฝังมากับ Kernel แล้วเรียบร้อย (เห็นข่าว server โดน Hack อยู่)

By: LuvStry
ContributorAndroid
on 15 September 2011 - 21:06 #333788 Reply to:333619
LuvStry's picture

ดีครับ บิวท์อินมาให้เลยสะดวกดี ฮ่าๆ


Blognone = 138.1 news/w เยอะมากๆ

By: lazywahwah
Android
on 15 September 2011 - 17:04 #333630

เอ่อ คือ ถ้ามันลงไปทำงานในระดับไบออสได้ ก็แปลว่ามันน่าจะทำให้เครื่องพังในระดับ hardware ได้เลยสิครับ เช่น over voltage cpu แล้วตัดการทำงานของพัดลม cpu ไปพร้อมๆ กัน

By: faeid
Android
on 15 September 2011 - 17:26 #333655 Reply to:333630
faeid's picture

มันจะเหมือนในหนังรึเปล่า

By: Lightwave
iPhoneAndroidWindows
on 15 September 2011 - 17:41 #333671 Reply to:333655

ไม่รู้จะทันรึเปล่า อีกหน่อยเราคงใช้ UEFI กันละ หุหุ

By: nath on 15 September 2011 - 17:15 #333643

น่ากลัวค่ะ แบบนี้มีตัวแก้ได้มั๊ยคะ?

By: PaPaSEK
ContributorAndroidWindowsIn Love
on 15 September 2011 - 17:17 #333646 Reply to:333643
PaPaSEK's picture

(อันนี้พูดแบบจริงจัง) ปิดเน็ตเป็นการป้องกันครับ

ส่วนวิธีแก้ไข ผมว่าคงต้องรู้ตัวก่อนแล้วก็ flash firmware ของ bios ทับลงไป

คิดออกแค่นี้ครับ

By: NuttTaro
iPhoneAndroidUbuntuIn Love
on 15 September 2011 - 18:12 #333688 Reply to:333646
NuttTaro's picture

(อันนี้ แซวครับ) ตอนกำลัง flash firmware bios ไฟดับ....

By: PaPaSEK
ContributorAndroidWindowsIn Love
on 15 September 2011 - 18:23 #333696 Reply to:333688
PaPaSEK's picture

มีสำรองครับ ... เงินสำรองซื้ออีกเครื่อง T^T

By: sukoom2001
ContributorAndroidUbuntu
on 15 September 2011 - 17:19 #333645
sukoom2001's picture

นึกถึง CIH สมัยก่อนเลย
แต่ว่า ตัวนั้นแค่ reset bios ทุกบิต ทำให้ใช้ไม่ได้
แต่ตัวนี้ ซับซ้อน กว่ามาก
ไม่ได้เห็นไวรัส ที่ทำงานกับ ฮาร์ดแวร์ระดับต่ำ ๆ มานานมากแล้ว

By: toooooooon
iPhoneWindows PhoneAndroidBlackberry
on 15 September 2011 - 17:24 #333649

งี้ใช้ dual bios ของ กิ๊กไบต์ จะรอดไหม

เอิ๊กๆ

By: l2aelba
iPhoneAndroid
on 15 September 2011 - 17:37 #333664
l2aelba's picture

คนที่ทำไวรัสนี้ได้อะไร? ....
ทดสอบ/แสดงฝีมือ?, เกลียดพีซี ?, ทำให้บริษัทผลิตโปรแกรมทำนอง Anti-Virus อยู่รอด ?

By: sukoom2001
ContributorAndroidUbuntu
on 15 September 2011 - 18:05 #333683 Reply to:333664
sukoom2001's picture
  1. อยากรู้และอยากลอง (การเขียนไวรัส ระดับต่ำ เป็นการศึกษา การทำงานของระบบคอมพิวเตอร์ อย่างลึกซึ้งพอสมควร และท้าทาย)
  2. พิสูจน์ concept โดยการ ทำให้เกิดจริง และกระจาย สู่วงกว้าง
  3. ชอบความ ท้าทาย ที่จะไม่ถูกเผยตัว (การปกปิดตัวตน และหลบซ่อน )

แต่การทำให้คนอื่นลำบากก็ไม่ใช่เรื่องที่ดี ครับ

By: bongikairu
ContributoriPhone
on 15 September 2011 - 18:13 #333689 Reply to:333683

อ่านผ่านๆ เจอคำว่า ไวรัสระดับต่ำ แปลความเป็นไวรัสกาก 555+ อันนี้หมายถึงไวรัสที่ทำงานระดับต่ำ (Low Level) สินะครับ


Gear's Edge the Blog

By: sukoom2001
ContributorAndroidUbuntu
on 15 September 2011 - 18:26 #333700 Reply to:333689
sukoom2001's picture

555 อาจจะใช้ได้ทั้งสองความหมาย

By: tekkasit
ContributorAndroidWindowsIn Love
on 15 September 2011 - 17:36 #333665
tekkasit's picture

นี่ถ้าเมนบอร์ดรุ่นมี BIOS สองชุด คงขายดี

เว้นแต่มันจะติดมันสองที่!

By: sukoom2001
ContributorAndroidUbuntu
on 15 September 2011 - 18:07 #333686 Reply to:333665
sukoom2001's picture

gigabyte มีครับ dual bios

เริ่มมีตั้งแต่สมัย CIH ระบาดครับ
6 dual miracle

By: LoSTaNGeL
Android
on 15 September 2011 - 18:23 #333694
LoSTaNGeL's picture

Die Hard 4.0 กด Ctrl+Alt+Del ระเบิดตูมมมม

By: woravik
Windows PhoneWindows
on 16 September 2011 - 03:39 #333958 Reply to:333694
woravik's picture

ในหนังมันติด C4 ไว้ที่เครื่องด้วยนะครับ
ตามจริงกด remote ให้ระเบิดเลยง่ายกว่า 555+

By: mr_tawan
ContributoriPhoneAndroidWindows
on 15 September 2011 - 18:24 #333698
mr_tawan's picture

แอบคิดว่า ไอ้บ.จีนที่ว่านี่เป็นคนเขียนเองหรือเปล่า ?


  • 9tawan.net บล็อกส่วนตัวฮับ
By: mr.k on 15 September 2011 - 18:27 #333702

ต่อไปก็มีติดตั้งไวรัสฟรีจากโรงงาน

By: thegodth
AndroidRed HatUbuntuWindows
on 15 September 2011 - 21:15 #333794

หลายคนคงลืม เชอโนบิล ไปแล้ว ถ้าจำไม่ผิดมันเป็นไวรัสตัวแรกที่แฟลชไบออสได้ (มั้ง) นี่มาอีกตัวละ

By: คุณเพนกวิ้น
iPhone
on 15 September 2011 - 23:56 #333882 Reply to:333794

ดักแก่กันเลยที่เดียว

By: JackieNP
ContributorUbuntu
on 15 September 2011 - 23:15 #333862
JackieNP's picture

ขอบคุณมากครับ อ่านเรื่องไวรัสนี่มันจริงๆ


รักนะคะคนดีของฉัน

By: moojiw
ContributoriPhoneWindows PhoneAndroid
on 15 September 2011 - 23:46 #333874
moojiw's picture

ทำอะไร MAC ไม่ได้

เพราะมันไม่มี BIOS

By: PaPaSEK
ContributorAndroidWindowsIn Love
on 15 September 2011 - 23:53 #333877 Reply to:333874
PaPaSEK's picture

ไม่นาน...

By: hisoft
ContributorWindows PhoneWindows
on 16 September 2011 - 00:12 #333895 Reply to:333874
hisoft's picture

PC ก็ UEFI หลายรุ่นแล้วครับ ไม่รู้จะกั๊กกันทำไม

ล่าสุดเครื่องที่ทำงานคุณพ่อผม HP ลง Windows 7 มา ใช้ BIOS เป็น Default ทั้ง ๆ ที่มี UEFI มาด้วย - -"

By: tamujin
AndroidSymbianUbuntu
on 16 September 2011 - 12:24 #334114
tamujin's picture

อาจจะเป็น microsoft เองแหละที่ทำขึ้นมาเพื่อบังคับให้ user ต้องเปิด UAC @_@