บริษัทด้านความปลอดภัยในประเทศจีน ค้นพบมัลแวร์ชนิดใหม่ชื่อ 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
Comments
จงใช้ Windows NT 6.X กันได้แล้ว !! (เช่น Windows Vista, 7) และเป็นไปได้ก็ใช้ x64 ด้วย เพราะใน x64 ตัว Kernel ของ Windows จะยอมโหลด Kernel Mode Driver ก็ต่อเมื่อมันถูกทำ Code Signing กับ Certificate บางอันเท่านั้น (ซึ่งการจะได้ Certificate ตัวนี้มายากพอสมควร ทั้งราคาที่แพง ทั้งเรื่องการยืนยันตัวตน ฯลฯ) และเปิด UAC กันได้แล้ว !!!
ต้องซื้อเครื่องใหม่ด้วย (สำหรับบางคน อือื)
ส่วนมากมันจะเป็นแบบนี้นะครับ ถึงใช้ vista/7 ไม่ได้
User is not compatible with Windows 7
แล้วมันค่อยจะยอมพัฒนากันด้วย กว่าจะเข็นจาก 98 มา xp ได้ ก็ service pack 3 เข้าไปแล้ว
เข้าใจว่า wininit.exe ถูกแก้ไขไปด้วย ตั้งแต่ช่วง boot เดาว่า น่าจะติดใน windows vista ด้วย แต่ 7 ไม่แน่ใจเท่าไหร่
vista x64 คงไม่มีปัญหามั้งครับ
ถ้า 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 มันก็ทำอะไรไม่ได้หรอกคับ
มันแค่โวยวาย กด install กับ continue anyway ก็ได้แล้วนี่ครับ คุ้นๆว่ามีแต่วิสต้าที่ล๊อกไม่ให้ลงเลย
อันนั้นน่าจะ 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
+1
คุ้น ๆ ว่า 7 ก็เจอนะครับ พยายามลงโปรแกรมเก่าที่มันสร้าง driver ปลอมขึ้นมา แล้ว 7 มันไม่ยอมให้ลง
Jusci - Google Plus - Twitter
+1 จะปิด UAC กันทำไม พอโดนก็โวยวาย พอเปิดก็บ่น (一*一)
คงต้อง UAC อย่างเดียวครับ
เพราะ มันไม่จำเป็นต้องใช้ Code Signing ก็ได้
http://msdn.microsoft.com/en-us/library/ff553484(v=vs.85).aspx
โอ้โห!! ไอ้ตัวนี้โหดพอดู
ผมรอมานานแล้วว่าเมื่อไหร่จะมีคนที่โหดเหี้ยมพอที่จะทำไวรัสแบบนี้ออกมา เท่าที่เข้าใจ ... คนทำไวรัสส่วนมากไม่ได้ต้องการไวรัสที่มีอานุภาพทำลายล้างในระดับนี้
เคยอ่านบทความ (น่าจะเก่าระดับ 10 ปี) บอกว่ามีไวรัสตัวนึงในอดีต (ยุคแรกๆ มั้ง) สั่งให้ตัว yoke coil ในจอ CRT ยิงอิเล็กตรอนไปที่จุดเดิมซ้ำๆ จนจอไหม้
โหเดี๋ยวนี้มัลแวร์มันฉลาดขนาด วิเคราะห์ แล้วโหลดข้อมูลจากเน็ต แล้วแก้ไขข้อมูลแล้วติดตั้ง!! แล้วหรอเนี่ย
ข่าวหลายวันก่อนเหมือนผมเห็นไวรัสที่มันมาพร้อมกับ Mouse เหมือนกัน
ไปกันใหญ่แล้ว!
อ่านใน Bloomberg ไทยฉบับล่าสุดพูดถึงเรื่องสงครามไซเบอร์พอดี ไวรัสชนิดหนึ่งจะฝั่งตัวเข้าไปในระบบการทำงานของโรงไฟฟ้า แต่จะทำงานเฉพาะกับโรงไฟฟ้านิวเคลียร์ของอิหร่านเท่านั้น (มีโรงไฟฟ้าหลายประเทศโดนแต่ไม่ทำงานเพราะไม่ใช่อิหร่าน) เมื่อฝังตัวไปได้แล้ว มันจะสั่งให้มอเตอร์(หรืออะไรสักอย่าง) ทำงานอย่างหนักจนเสียหาย (ทำให้ฮาร์ดแวร์เสียหาย) โรงไฟฟ้านิวเคลียร์ของอิหร่านเลยปิดไปหลายเดือน แถมระหว่างทำงานไวรัสยังหลอกว่าเครื่องทำงานปกติดี ทำให้ไม่มีคนรู้จนเครื่องพัง...
ชอบครับ ฟังแล้วสนุกดี ขอบคุณที่มาเล่าครับ
คุ้นๆว่าจะเป็น Stuxnet ครับ
ใช้ Linux รอดตัวไป เพราะไม่ต้องลง Driver
ปล.หรือไม่ก็ฝังมากับ Kernel แล้วเรียบร้อย (เห็นข่าว server โดน Hack อยู่)
ดีครับ บิวท์อินมาให้เลยสะดวกดี ฮ่าๆ
Blognone = 138.1 news/w เยอะมากๆ
เอ่อ คือ ถ้ามันลงไปทำงานในระดับไบออสได้ ก็แปลว่ามันน่าจะทำให้เครื่องพังในระดับ hardware ได้เลยสิครับ เช่น over voltage cpu แล้วตัดการทำงานของพัดลม cpu ไปพร้อมๆ กัน
มันจะเหมือนในหนังรึเปล่า
ไม่รู้จะทันรึเปล่า อีกหน่อยเราคงใช้ UEFI กันละ หุหุ
น่ากลัวค่ะ แบบนี้มีตัวแก้ได้มั๊ยคะ?
(อันนี้พูดแบบจริงจัง) ปิดเน็ตเป็นการป้องกันครับ
ส่วนวิธีแก้ไข ผมว่าคงต้องรู้ตัวก่อนแล้วก็ flash firmware ของ bios ทับลงไป
คิดออกแค่นี้ครับ
(อันนี้ แซวครับ) ตอนกำลัง flash firmware bios ไฟดับ....
มีสำรองครับ ... เงินสำรองซื้ออีกเครื่อง T^T
นึกถึง CIH สมัยก่อนเลย
แต่ว่า ตัวนั้นแค่ reset bios ทุกบิต ทำให้ใช้ไม่ได้
แต่ตัวนี้ ซับซ้อน กว่ามาก
ไม่ได้เห็นไวรัส ที่ทำงานกับ ฮาร์ดแวร์ระดับต่ำ ๆ มานานมากแล้ว
งี้ใช้ dual bios ของ กิ๊กไบต์ จะรอดไหม
เอิ๊กๆ
คนที่ทำไวรัสนี้ได้อะไร? ....
ทดสอบ/แสดงฝีมือ?, เกลียดพีซี ?, ทำให้บริษัทผลิตโปรแกรมทำนอง Anti-Virus อยู่รอด ?
แต่การทำให้คนอื่นลำบากก็ไม่ใช่เรื่องที่ดี ครับ
อ่านผ่านๆ เจอคำว่า ไวรัสระดับต่ำ แปลความเป็นไวรัสกาก 555+ อันนี้หมายถึงไวรัสที่ทำงานระดับต่ำ (Low Level) สินะครับ
555 อาจจะใช้ได้ทั้งสองความหมาย
นี่ถ้าเมนบอร์ดรุ่นมี BIOS สองชุด คงขายดี
เว้นแต่มันจะติดมันสองที่!
gigabyte มีครับ dual bios
เริ่มมีตั้งแต่สมัย CIH ระบาดครับ
6 dual miracle
Die Hard 4.0 กด Ctrl+Alt+Del ระเบิดตูมมมม
ในหนังมันติด C4 ไว้ที่เครื่องด้วยนะครับ
ตามจริงกด remote ให้ระเบิดเลยง่ายกว่า 555+
แอบคิดว่า ไอ้บ.จีนที่ว่านี่เป็นคนเขียนเองหรือเปล่า ?
ต่อไปก็มีติดตั้งไวรัสฟรีจากโรงงาน
หลายคนคงลืม เชอโนบิล ไปแล้ว ถ้าจำไม่ผิดมันเป็นไวรัสตัวแรกที่แฟลชไบออสได้ (มั้ง) นี่มาอีกตัวละ
ดักแก่กันเลยที่เดียว
ขอบคุณมากครับ อ่านเรื่องไวรัสนี่มันจริงๆ
รักนะคะคนดีของฉัน
ทำอะไร MAC ไม่ได้
เพราะมันไม่มี BIOS
ไม่นาน...
PC ก็ UEFI หลายรุ่นแล้วครับ ไม่รู้จะกั๊กกันทำไม
ล่าสุดเครื่องที่ทำงานคุณพ่อผม HP ลง Windows 7 มา ใช้ BIOS เป็น Default ทั้ง ๆ ที่มี UEFI มาด้วย - -"
อาจจะเป็น microsoft เองแหละที่ทำขึ้นมาเพื่อบังคับให้ user ต้องเปิด UAC @_@