Clear
Lead Graphic Papers

badBIOS มัลแวร์ที่ส่งข้อมูลผ่านคลื่นเสียง เรื่องจริงหรือโกหก?

ผู้เขียน: เสฏฐวุฒิ แสนนาม
วันที่เผยแพร่: 5 พฤศจิกายน 2556
ปรับปรุงล่าสุด: 5 พฤศจิกายน 2556

Share on Facebook Share on Twitter Share on Google+

เมื่อวันที่ 31 ตุลาคม 2556 นาย Dragos Ruiu นักวิจัยด้านความมั่นคงปลอดภัยและผู้ก่อตั้งงานแข่งขันเจาะระบบคอมพิวเตอร์อย่าง Pwn2Own ได้เผยแพร่ผลการวิเคราะห์มัลแวร์ชนิดใหม่ที่ฝังตัวอยู่ในไบออส (BIOS) ของเครื่องคอมพิวเตอร์ ความพิเศษของมัลแวร์ตัวนี้คือใช้วิธีการแพร่กระจายข้อมูลผ่านการส่งคลื่นเสียงความถี่สูง หลังจากที่บทความนี้ถูกเผยแพร่บนเว็บไซต์ข่าวไอทีชื่อดังอย่าง Arstechnica [1] ก็มีผู้คนให้ความสนใจและตั้งคำถามเกี่ยวกับประเด็นและความสามารถของมัลแวร์ตัวใหม่นี้เป็นจำนวนมาก

ก่อนที่จะไปว่ากันถึงเรื่องการทำงานของมัลแวร์ ขออธิบายความเข้าใจเบื้องต้นเกี่ยวกับไบออสและระบบการทำงานของคอมพิวเตอร์ก่อน

ไบออสคืออะไร

โดยปกติเมื่อเราเปิดเครื่องคอมพิวเตอร์ จะมีการรันโปรแกรมเล็กๆ ที่อยู่ในชิปบนเมนบอร์ด เพื่อทำการตรวจสอบและควบคุมฮาร์ดแวร์ที่เชื่อมต่ออยู่ จากนั้นก็เริ่มต้นการทำงานของระบบและโหลดระบบปฏิบัติการขึ้นมาทำงาน โปรแกรมเล็กๆ ที่ว่านี้เรียกว่า BIOS (Basic Input/Output System)

สมัยก่อนโปรแกรมในไบออสจะถูกฝังอยู่ในชิป ROM ของเมนบอร์ดมาตั้งแต่ในโรงงานที่ผลิต ซึ่งไม่สามารถเปลี่ยนแปลงข้อมูลในนั้นได้ แต่ปัจจุบันโปรแกรมในไบออสถูกเปลี่ยนจากการเก็บใน ROM มาเก็บในหน่วยความจำแบบแฟลช (Flash memory) ซึ่งทำให้สามารถแก้ไขข้อมูลข้างในได้ (วิธีการนี้เรียกอย่างไม่เป็นทางการว่า แฟลชรอม หรือ แฟลชไบออส) ตัวอย่างชิปไบออสเป็นดังรูปที่ 1


รูปที่ 1 ตัวอย่างชิปไบออส (ที่มา Wikipedia [2])

จะเกิดอะไรขึ้นหากมีผู้ไม่หวังดีเปลี่ยนแปลงแก้ไขข้อมูลโปรแกรมในส่วนนี้ให้ทำงานผิดปกติไป หรือฝังโค้ดอันตรายเอาไว้ให้ถูกเรียกใช้งานทุกครั้งที่เปิดเครื่อง?

badBIOS

นาย Dragos อ้างว่าได้ค้นพบมัลแวร์ badBIOS นี้ตั้งแต่เมื่อ 3 ปีก่อน โดยเครื่อง Macbook Air ที่พึ่งติดตั้งระบบปฏิบัติการ OS X เสร็จใหม่ๆ อยู่ๆ ก็แสดงอาการแปลกๆ ไม่ว่าจะเป็นไม่ยอมให้บู๊ตจากแผ่นซีดีรอมหรือแก้ไขข้อมูลการตั้งค่าไบออสกลับเป็นค่าเดิมเองโดยไม่แสดงอะไรให้ผู้ใช้ทราบ

ไม่นานนัก คอมพิวเตอร์เครื่องอื่นๆ ในห้องแล็บก็เริ่มแสดงอาการผิดปกติไปตามๆ กัน ไม่ว่าจะเป็นเครื่องที่ติดตั้งระบบปฏิบัติการ Open BSD, Windows หรือ Linux หรือแม้กระทั่งเครื่องที่ถูกตัดขาดจากระบบอื่นๆ โดยสิ้นเชิง (Air gap) [3] เครื่องที่ไม่ได้เชื่อมต่อกับระบบเครือข่ายอะไรเลย หรือแม้กระทั่งเครื่องที่ถูกถอดสาย Lan และ Network card ออกแล้วก็ตาม ก็ยังพบว่าเครื่องดังกล่าวมีการแก้ไขข้อมูลในไบออสได้เองโดยที่ผู้ใช้ไม่ได้ทำอะไร และถึงแม้จะเปลี่ยนฮาร์ดดิสก์ใหม่และติดตั้งระบบปฏิบัติการใหม่ สักพักอาการผิดปกตินี้ก็กลับมาเป็นเหมือนเดิมอีก

ในเบื้องต้น นาย Dragos สันนิษฐานว่ามัลแวร์ดังกล่าวนี้น่าจะแพร่กระจายผ่าน USB Drive โดยเขาได้ซื้อเครื่องคอมพิวเตอร์มาใหม่ หลังจากที่เอา USB Drive ที่เคยถูกเอาไปเสียบกับเครื่องที่ติดมัลแวร์ badBIOS มาเสียบเข้ากับเครื่องที่ซื้อมาใหม่ ก็พบว่าคอมพิวเตอร์เครื่องใหม่นั้นติดมัลแวร์ในทันที เขาสันนิษฐานว่าน่าจะมีโค้ดบางส่วนในไบออสที่มีช่องโหว่ Buffer Overflow และคนเขียนมัลแวร์ badBIOS ก็ใส่โค้ดที่โจมตีช่องโหว่ที่ว่านี้ไว้ในส่วน Controller ของตัว USB Drive ทำให้แค่เสียบ USB Drive เข้ากับเครื่องก็สามารถถูกแทรกโค้ดอันตรายลงในไบออสได้ทันที

ถึงแม้จะรู้แล้วว่ามัลแวร์น่าจะฝังตัวอยู่ใน BIOS, UEFI หรือเฟิร์มแวร์ของอุปกรณ์อื่นๆ ในเครื่องที่ติด แต่ก็ไม่สามารถตอบคำถามได้ว่าทำไมมัลแวร์ดังกล่าวนี้ถึงแพร่กระจายไปติดในเครื่องที่ไม่ได้เชื่อมต่อกับระบบเครือข่ายอะไรเลยได้

ในการวิเคราะห์ว่ามัลแวร์ส่งข้อมูลผ่านเครื่องที่ไม่ได้เชื่อมต่อกับเครื่องอื่นๆ เลยได้อย่างไร เขาได้ทดลองดักข้อมูลแพ็คเก็ตโดยใช้เครื่องมือพิเศษ (ในบทความต้นฉบับไม่ได้เปิดเผยว่าใช้เครื่องมือหรือวิธีการอะไร) โดยพบว่าถึงแม้จะถอดการ์ด Wifi และ Bluetooth ออกจากเครื่องไปแล้ว ก็ยังมีการส่งข้อมูลออกไปจากเครื่องที่ติดมัลแวร์ได้ และเมื่อลองถอดปลั๊กเครื่องโน้ตบุ๊คเพื่อจะดูว่ามีการส่งข้อมูลผ่านกระแสไฟฟ้าหรือเปล่า ก็ยังมีการส่งข้อมูลได้อยู่ดี จนกระทั่งเขาได้ถอดลำโพงและไมโครโฟนออกจากเครื่อง การส่งข้อมูลก็หยุดลง

มัลแวร์ badBIOS ใช้วิธีการส่งข้อมูลผ่านคลื่นเสียงความถี่สูง จากลำโพงของเครื่องที่ติดมัลแวร์ ส่งไปยังไมโครโฟนของเครื่องปลายทาง โดยใช้ Software Defined Radio (SDR)

ถึงแม้ว่าเรื่องแบบนี้อาจจะฟังดูเหลือเชื่อเกินไปสักหน่อย แต่การใช้ลำโพงสร้างคลื่นเสียง Ultrasonic เพื่อใช้ในการสื่อสาร ก็มีนักวิทยาศาสตร์จาก MIT ได้ทำงานวิจัยเรื่องนี้แล้วพบว่าสามารถทำได้จริง หัวข้องานวิจัยนี้ชื่อ Ultrasonic Local Area Communication [4] ตัวอย่างการส่งข้อมูลโดยใช้หลักการนี้สามารถดูได้จากคลิปด้านล่าง [5]

แต่การส่งข้อมูลผ่านคลื่นเสียงความถี่สูงนี้ไม่ได้ใช้สำหรับการแพร่กระจายมัลแวร์ โดยนาย Dragos บอกว่าการแพร่กระจายมัลแวร์มีอยู่ด้วยกัน 2 วิธี อย่างแรกคือ USB Drive แต่อีกอย่างนั้นในตอนนี้ยังเปิดเผยไม่ได้จนกว่าจะมีแพทช์ออกมา สำหรับการส่งข้อมูลผ่านคลื่นเสียงนั้นใช้เพื่อควบคุมและสั่งการ (Command & Control) เครื่องที่ติดมัลแวร์เท่านั้น [6]

นอกจากนี้นาย Dragos ยังได้โพสต์ผลการวิเคราะห์ของเขาลงใน Twitter [7] และ Google+ [8] ส่วนตัวอยู่เรื่อยๆ ตัวอย่างข้อมูลเพิ่มเติมที่ได้จากการวิเคราะห์ เช่น [9]

  • มัลแวร์บล็อคไม่ให้มีการเชื่อมต่อไปยังเว็บไซต์สำหรับดาวน์โหลด Firmware controller ที่ประเทศรัสเซีย
  • เมื่อใช้เครื่องที่ติดมัลแวร์เขียนซีดี ในแผ่นซีดีดังกล่าวจะมีไฟล์ประหลาดๆ โผล่มาด้วย
  • มัลแวร์น่าจะติดได้บนไบออสบางรุ่นเท่านั้น แต่ดูเหมือนจะสามารถทำงานได้บนหลาย OS
  • คลื่นเสียง 35 kHz ที่จับได้ เมื่อนำมาขยาย 20 เท่า จะพบว่ามีลักษณะคล้ายช่วงสัญญาณ ดังรูปที่ 2


รูปที่ 2 ตัวอย่างคลื่นเสียงที่ส่งจากมัลแวร์ badBIOS เมื่อนำมาขยาย 20 เท่า (ที่มา +Dragos Ruiu [10])

อย่างไรก็ตาม นาย Dragos ยังไม่ได้เปิดเผยข้อมูลอะไรของ badBIOS มากในตอนนี้ โดยบอกเพียงแค่ว่าจะมีข้อมูลเพิ่มเติมในงาน PacSec ที่จะจัดขึ้นในวันที่ 13-14 พฤศจิกายนนี้ ณ กรุงโตเกียว ประเทศญี่ปุ่น [11]

เรื่องจริงหรือโกหก?

ถึงแม้ว่าการที่จะมีมัลแวร์ฝังตัวในไบออส และใช้วิธีส่งข้อมูลผ่านคลื่นเสียงจะเป็นสิ่งที่สามารถทำได้ แต่ก็มีผู้เชี่ยวชาญด้านความมั่นคงปลอดภัยหลายคนตั้งคำถามเกี่ยวกับบทสรุปดังกล่าว

ตัวอย่างข้อสงสัยในเรื่องนี้เช่น สาเหตุหนึ่งที่เป็นไปได้ในการติดมัลแวร์คือการเสียบ USB Drive แต่ทำไมถึงยังไม่มีการวิเคราะห์ข้อมูลที่ถูกส่งผ่าน USB Drive ทั้งๆ ที่น่าจะมีเป็นประเด็นสำคัญที่จะนำข้อมูลมาใช้งานต่อได้ หรือแม้กระทั่งการส่งข้อมูลผ่านเสียง ซึ่งในทางทฤษฎีแล้วสามารถส่งข้อมูลได้สูงสุดแค่ไม่เกิน 600 ไบต์ต่อวินาทีเท่านั้น ถ้าต้องการส่งข้อมูล TCP แค่ 1 แพ็คเก็ตต้องใช้เวลาถึง 2 วินาที การส่งโค้ดของมัลแวร์ผ่านช่องทางนี้จึงเป็นไปได้ยาก [12]

นาย Igor Skochinsky นักพัฒนาซอฟต์แวร์จากบริษัท Hex-Ray ผู้ผลิตโปรแกรมสำหรับใช้ในการ Reverse Engineer อย่าง IDA ได้ตรวจสอบข้อมูล BIOS dump จากเครื่องที่นาย Dragos อ้างว่าติดมัลแวร์ badBIOS แต่กลับไม่พบสิ่งที่น่าสงสัยว่าเป็นมัลแวร์อยู่ในเฟิร์มแวร์ดังกล่าว [13]

นาย Phillip R. Jaenke ผู้เชี่ยวชาญด้านความมั่นคงปลอดภัย ได้ออกมาโต้แย้งว่าการวิเคราะห์ข้อมูลของมัลแวร์ของนาย Dragos มีความผิดพลาด เป็นไปไม่ได้ที่จะสร้างมัลแวร์ที่ติดในไบออสเครื่องหนึ่งแล้วจะกระจายตัวไปติดในไบออสของเครื่องอื่นได้ เนื่องจากเฟิร์มแวร์ของไบออสนั้นเป็นของใครของมัน ไม่สามารถนำไปใส่ลงในไบออสของเครื่องอื่นได้ และถ้าหากมีโค้ดอันตรายที่ว่าอยู่ในไบออสจริงๆ ก็มีเครื่องมือสำหรับใช้ดูโค้ดดังกล่าวอยู่แล้ว ซึ่งสำหรับผู้เชี่ยวชาญแล้วก็ไม่ใช่เรื่องยากที่จะดูข้อมูลพวกนี้ นอกจากนี้พื้นที่สำหรับเก็บข้อมูลในไบออสโดยส่วนใหญ่ก็มีแค่ 8 MB หรือใน UEFI ก็มีแค่ 4 MB เท่านั้น ซึ่งเป็นไปได้ยากที่จะเก็บข้อมูลของมัลแวร์ที่มีการทำงานสลับซับซ้อนขนาดนี้ได้ [14]

ทางด้านนาย Robert Graham นักวิจัยด้านความมั่นคงปลอดภัย ผู้เขียนโปรแกรม BlackICE ได้แสดงความเห็นสนับสนุนต่อการวิเคราะห์มัลแวร์ของนาย Dragos ว่าพฤติกรรมของ badBIOS นั้นสามารถเป็นไปได้จริง [15]

นาย Robert กล่าวว่า นอกจากจะสามารถเขียนข้อมูลลงในหน่วยความจำแบบแฟลชของไบออสในเครื่องคอมพิวเตอร์ได้แล้ว ในอุปกรณ์ฮาร์ดแวร์ส่วนใหญ่ เช่น คีย์บอร์ด, กล้อง, แบตเตอรี่, ฮาร์ดดิสก์, การ์ดแลน, การ์ด Bluetooth, การ์ด Wifi, การ์ดจอ ฯลฯ ก็มีหน่วยความจำแบบแฟลชอยู่ภายในด้วยเช่นกัน ซึ่งหากมีผู้ไม่หวังดีต้องการเขียนมัลแวร์เพื่อฝังลงในอุปกรณ์เหล่านี้ก็สามารถทำได้

สำหรับวิธีการส่งข้อมูลไปยังคอมพิวเตอร์เครื่องอื่นโดยใช้คลื่นเสียงความถี่สูงนั้นก็ไม่ใช่เทคนิคที่แปลกใหม่อะไร เพราะโมเด็ม (Modem) ก็ใช้หลักการเดียวกันนี้ในการรับส่งข้อมูลผ่านสายโทรศัพท์ และลำโพงในเครื่องคอมพิวเตอร์สมัยใหม่ก็สามารถสร้างคลื่นความถี่เสียงที่มนุษย์ไม่ได้ยินได้ หากผู้ไม่หวังดีต้องการใช้คลื่นความถี่ช่วงนี้เพื่อให้มัลแวร์ใช้ส่งข้อมูล ซอร์สโค้ดของโปรแกรมที่ใช้สั่งให้ลำโพงส่งคลื่นความถี่เสียงแบบนี้ก็มีเผยแพร่อยู่ทั่วไปตามอินเทอร์เน็ต

สำหรับการติดมัลแวร์ผ่าน USB Drive ในทันทีที่เสียบอุปกรณ์ดังกล่าวเข้ากับเครื่องคอมพิวเตอร์นั้นก็เป็นเรื่องที่เป็นไปได้ เนื่องจากใน USB Drive เองก็มีส่วนของ Controller ซึ่งภายในมีเฟิร์มแวร์อยู่ อีกทั้งยังมีเว็บไซต์อย่าง http://flashboot.ru/ ที่เผยแพร่ข้อมูลเฟิร์มแวร์ของอุปกรณ์ USB หลายๆ ตัวอยู่แล้ว และนอกจากนี้ไดรเวอร์ของอุปกรณ์ USB บางตัวมีช่องโหว่ Buffer Overflow ทำให้สามารถโจมตีระบบที่ติดตั้งไดรเวอร์ดังกล่าวได้ผ่านอุปกรณ์ USB ที่ถูกแก้ไขข้อมูลเฟิร์มแวร์

สรุป

ในขณะนี้เรายังไม่อาจทราบได้ว่าการค้นพบมัลแวร์ badBIOS และเทคนิคที่มัลแวร์ตัวนี้ใช้ในการแพร่กระจายข้อมูลจะเป็นเรื่องจริงหรือเป็นแค่ความผิดพลาดในการวิเคราะห์ แต่ก็ถือเป็นเรื่องที่น่าสนใจ เพราะหากเป็นเรื่องจริงก็ถือว่าการค้นพบนี้มีผลกับความมั่นคงปลอดภัยของเครื่องคอมพิวเตอร์ทั่วโลกไม่น้อยทีเดียว

อ้างอิง

  1. http://arstechnica.com/security/2013/10/meet-badbios-the-mysterious-mac-and-pc-malware-that-jumps-airgaps/
  2. http://en.wikipedia.org/wiki/BIOS
  3. https://www.schneier.com/blog/archives/2013/10/air_gaps.html
  4. http://alumni.media.mit.edu/~wiz/ultracom.html
  5. http://www.youtube.com/watch?v=qzqCX2rB1oc
  6. http://nakedsecurity.sophos.com/2013/11/01/the-badbios-virus-that-jumps-airgaps-and-takes-over-your-firmware-whats-the-story/
  7. https://twitter.com/dragosr
  8. https://plus.google.com/103470457057356043365/posts
  9. https://kabelmast.wordpress.com/2013/10/23/badbios-and-lotsa-paranoia-plus-fireworks/
  10. https://plus.google.com/photos/103470457057356043365/albums/5942249398845518961/5942249400698584306?pid=5942249400698584306&oid=103470457057356043365
  11. http://pacsec.jp/
  12. http://news.softpedia.com/news/BadBIOS-Malware-Reality-or-Hoax-396177.shtml
  13. http://www.reddit.com/r/netsec/comments/1o7jvr/bios_backdoor_bridges_airgapped_networks_using_sdr/ccpw67k
  14. http://www.rootwyrm.com/2013/11/the-badbios-analysis-is-wrong/
  15. http://blog.erratasec.com/2013/10/badbios-features-explained.html
Clear