CERT Advisory CA-2009-03 (Technical Cyber Security Alert TA09-020A)
Microsoft Windows Does Not Disable AutoRun Properlyต้นฉบับ:
http://www.us-cert.gov/cas/techalerts/TA09-020A.htmlเรียบเรียงโดย: ณัฐพงษ์ แสงเลิศศิลปชัย
ระบบที่ได้รับผลกระทบระบบปฏิบัติการ Microsoft Windows
กล่าวโดยทั่วไป
การระงับใช้ AutoRun ในระบบปฏิบัติการ Microsoft Windows สามารถช่วยป้องกันอันตรายจากโค้ดที่ประสงค์ร้าย เช่น ไวรัสคอมพิวเตอร์ หรือหนอน (Worm) ได้ อย่างไรก็ตามคำแนะนำของไมโครซอฟท์ในการระงับใช้ AutoRun ไม่สามารถหยุดการทำงานของ AutoRun ได้ทั้งหมดซึ่งอาจกลายเป็นช่องโหว่สำหรับการบุกรุก
I. คำอธิบายระบบปฏิบัติการ Microsoft Windows มีความสามารถ AutoRun ซึ่งสามารถรันโค้ดโดยอัตโนมัติเมื่ออุปกรณ์ต่อเชื่อมที่ถอดออกได้ (removable device) เช่น ไดรฟ์ USB เป็นต้น ถูกเชื่อมต่อกับเครื่องคอมพิวเตอร์ โดย AutoRun และความสามารถที่คล้ายกันคือ AutoPlay อาจสั่งรันโค้ดโดยที่ผู้ใช้ไม่รู้ตัวจากสถานการณ์ต่อไปนี้
1. อุปกรณ์ต่อเชื่อมที่ถอดออกได้ถูกเชื่อมต่อกับเครื่องคอมพิวเตอร์ โดยอุปกรณ์เหล่านั้นได้แก่ แผ่นซีดี (CD) หรือดีวีดี (DVD) อุปกรณ์ที่เชื่อมต่อผ่านพอร์ท USB หรือไฟร์ไวร์ (Firewire) หรือไดรฟ์บนระบบเครือข่าย การเชื่อมต่อกับอุปกรณ์ดังกล่าวสามารถรันโค้ดอัตโนมัติได้โดยที่ผู้ใช้ไม่ต้องทำการยืนยันใดๆ อีก
2. ผู้ใช้คลิ้กหรือดับเบิ้ลคลิ้กไอคอนของอุปกรณ์ต่อเชื่อมที่ถอดออกได้ในโปรแกรม Windows Explorer แทนที่การเปิดเพื่อดูข้อมูลในไดรฟ์ การดับเบิ้ลคลิ้กนี้สามารถรันโค้ดที่ถูกเขียนไว้ได้
3. ผู้ใช้เลือกตัวเลือกจากหน้าต่าง AutoPlay ที่แสดงขึ้นมาเมื่ออุปกรณ์ต่อเชื่อมที่ถอดออกได้ถูกเชื่อมต่อ
ซอฟต์แวร์ประสงค์ร้าย เช่น หนอน W32.Downadup ใช้ความสามารถ AutoRun นี้ในการแพร่กระจาย ดังนั้นการระงับใช้งาน AutoRun ที่มีประสิทธิภาพสามารถช่วยป้องกันการแพร่กระจายของซอฟต์แวร์ประสงค์ร้ายเหล่านี้ โดยการระงับใช้งาน AutoRun สามารถอ่านเพิ่มเติมได้จากบล็อก (blog) CERT/CC Vulnerability Analysis
การตั้งค่า Autorun และ NoDriveTypeAutorun ในรีจิสทรีย์ของระบบปฏิบัติการ Microsoft Windows ไม่สามารถระงับการใช้งาน AutoRun ได้โดยสมบูรณ์ โดยการตั้งค่า Autorun เป็น 0 ไม่ได้ป้องกันการรันโค้ดในไฟล์ Autorun.inf ของอุปกรณ์เชื่อมต่อชิ้นใหม่ แต่การตั้งค่านี้จะระงับข้อความ MCN (Media Change Notification: ข้อความแจ้งเตือนเมื่อมีการเปลี่ยนสื่อบันทึก) เมื่อมีการเปลี่ยนแผ่นซีดีหรือดีวีดี สำหรับการตั้ง NoDriveTypeAutorun เป็น 0xFF เพื่อระงับการใช้งาน Autoplay สำหรับไดรฟ์ทุกประเภทตามที่ทางไมโครซอฟท์ระบุ ไม่สามารถป้องกันการรันโค้ดจากการดับเบิ้ลคลิ้กไอคอนของไดรฟ์ในโปรแกรม Windows Explorer ได้
II. ผลกระทบผู้บุกรุกสามารถสั่งรันโค้ดได้โดยอัตโนมัติเมื่ออุปกรณ์ถูกเชื่อมต่อเข้ากับเครื่องคอมพิวเตอร์โดยการสร้างไฟล์ Autorun.inf ไว้ในอุปกรณ์นั้น และเมื่อผู้ใช้ต้องการเปิดดูข้อมูลในอุปกรณ์ด้วยการดับเบิ้ลคลิ้กในโปรแกรม Windows Explorer อาจเป็นการสั่งรันโค้ดได้
III. วิธีแก้ไขระงับการใช้งาน AutoRun
การระงับการใช้งาน AutoRun ในระบบปฏิบัติการ Microsoft Windows โดยสมบูรณ์ ทำได้โดยตั้งค่ารีจิสทรีย์ดังนี้
REGEDIT4
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\IniFileMapping\Autorun.inf]
@="@SYS:DoesNotExist"
การตั้งค่ารีจิสทรีย์สามารถทำได้ตามขั้นตอนต่อไปนี้
1. คัดลอกข้อความการตั้งค่ารีจิสทรีย์ด้านบน
2. วางข้อความในโปรแกรม Notepad
3. บันทึกเป็นไฟล์ autorun.reg
4. ไปยังตำแหน่งที่บันทึกไฟล์ไว้
5. ทำการดับเบิ้ลคลิ้กที่ไฟล์เพื่อตั้งค่าในรีจิสทรีย์
ระบบปฏิบัติการ Microsoft Windows มีการเก็บค่า AutoRun ของอุปกรณ์ที่เคยต่อเชื่อมเป็นแคช (cache: ข้อมูลสำรอง) ไว้ในค่ารีจิสทรีย์ MountPoint2 ดังนั้นจึงควรรีสตาร์ทระบบปฏิบัติการหลังตั้งค่ารีจิสทรีย์เพื่อเป็นการลบแคชที่เก็บไว้ หรืออาจลบค่ารีจิสทรีย์ด้านล่างแทนการรีสตาร์ทได้
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\MountPoints2
เมื่อตั้งค่ารีจิสทรีย์ตามคำแนะนำแล้ว ระบบปฏิบัติการ Windows จะไม่อ่านไฟล์ Autorun.inf หรือรันโค้ดจากการ AutoRun ตามสถานการณ์ในข้อ I. อีก รายละเอียดเพิ่มเติมอ่านได้ที่บล็อก CERT/CC Vulnerability Analysis (วิธีการแก้ไขเบื้องต้นโดย Nick Brown และ Emin Atac)
IV. เอกสารอ้างอิงThe Dangers of Windows AutoRun - <http://www.cert.org/blogs/vuls/2008/04/the_dangers_of_windows_autorun.html>
US-CERT Vulnerability Note VU#889747 - <http://www.kb.cert.org/vuls/id/889747>
Nick Browns blog: Memory stick worms - <http://nick.brown.free.fr/blog/2007/10/memory-stick-worms>
TR08-004 Disabling Autorun - <http://www.publicsafety.gc.ca/prg/em/ccirc/2008/tr08-004-eng.aspx>
How to Enable or Disable Automatically Running CD-ROMs - <http://support.microsoft.com/kb/155217>
NoDriveTypeAutoRun - <http://www.microsoft.com/technet/prodtechnol/windows2000serv/reskit/regentry/91525.mspx>
Autorun.inf Entries - <http://msdn.microsoft.com/en-us/library/bb776823(VS.85).aspx>
W32.Downadup - <http://www.symantec.com/security_response/writeup.jsp?docid=2008-112203-2408-99>
MS08-067 Worm, Downadup/Conflicker - <http://www.f-secure.com/weblog/archives/00001576.html>
Social Engineering Autoplay and Windows 7 - <http://www.f-secure.com/weblog/archives/00001586.html>
ที่มา:
http://www.thaicert.org/advisory/cert/CA-2009-03.php