Clear
Lead Graphic Papers

ระวังภัย ช่องโหว่ DoS และ Remote code execution ในโพรโทคอล Universal Plug-and-Play (UPnP)

วันที่ประกาศ: 31 มกราคม 2556
ปรับปรุงล่าสุด: 31 มกราคม 2556
เรื่อง: ระวังภัย ช่องโหว่ DoS และ Remote code execution ในโพรโทคอล Universal Plug-and-Play (UPnP)

ประเภทภัยคุกคาม: Denial-of-Service, Malicious Code

Share on Facebook Share on Twitter Share on Facebook

ข้อมูลทั่วไป

นักวิจัยจากบริษัท Rapid 7 ได้ค้นพบช่องโหว่ของโพรโทคอล Universal Plug-and-Play (UPnP) ซึ่งเป็นโพรโทคอลที่ใช้ในระบบเครือข่าย สำหรับให้อุปกรณ์ที่อยู่ในระบบสามารถเชื่อมต่อและค้นหาเครื่องอื่นๆ ในเครือข่าย เพื่อควบคุม แชร์ไฟล์ สั่งพิมพ์เอกสาร หรือเข้าถึงทรัพยากรอื่นๆ ที่ถูกแชร์ไว้ได้ โดยส่วนมาก โพรโทคอล UPnP จะถูกเปิดใช้งาน (Enable) ไว้แล้วตั้งแต่แรกในอุปกรณ์ที่สามารถเชื่อมต่อกับระบบเครือข่ายได้ ไม่ว่าจะเป็นคอมพิวเตอร์ เราท์เตอร์ เครื่องพิมพ์ หรือแม้กระทั่ง Smart TV ตัวอย่างการใช้งานโพรโทคอล UPnP เช่น โปรแกรมประเภท Bittorrent จะใช้ UPnP ในการทำ Port Forward จากเราท์เตอร์ เพื่อให้สามารถแลกเปลี่ยนข้อมูลกับผู้ใช้งานโปรแกรม Bittorrent อื่นๆ ได้ หรือหน้าจอ “Add Device” ของระบบปฏิบัติการ Windows ที่จะใช้ UPnP ในการตรวจสอบหาอุปกรณ์ที่อยู่ในระบบเครือข่าย เช่น เครื่องพิมพ์ เพื่อที่จะเข้าไปจัดการกับอุปกรณ์ดังกล่าว เช่น ตั้งค่าการทำงาน หรือ เคลียร์รายการเอกสารที่สั่งพิมพ์อยู่ เป็นต้น [1]

ผลกระทบ

ช่องโหว่ที่ค้นพบนี้เกิดจากข้อผิดพลาด Buffer overflow ในไลบรารี libupnp ซึ่งเป็น Portable SDK ที่ถูกนำไปใช้ในอุปกรณ์ที่รองรับระบบ UPnP เช่น เราท์เตอร์สำหรับเชื่อมต่ออินเทอร์เน็ต ADSL ที่ใช้งานตามบ้าน หรือ Wifi Access Point โดยทาง Rapid 7 ได้จัดผลกระทบออกเป็น 3 อย่าง ดังนี้
  • ช่องโหว่ใน UPnP discovery protocol (SSDP) ส่งผลให้ผู้ไม่หวังดีสามารถปิดระบบการทำงานของ UPnP หรือสั่งประมวลผลคำสั่งอันตรายได้
  • ช่องโหว่ใน UPnP control interface (SOAP) เปิดเผยข้อมูลที่เกี่ยวข้องกับระบบเครือข่ายภายใน (Internal network) ให้กับบุคคลภายนอก
  • ช่องโหว่ใน UPnP HTTP และ SOAP ส่งผลให้ผู้ไม่หวังดีสามารถปิดระบบการทำงานของ UPnP หรือสั่งประมวลผลคำสั่งอันตรายได้
นักวิจัยจากบริษัท Rapid 7 ได้ทำการทดลองแล้วพบว่ามีอุปกรณ์กว่า 80 ล้านเครื่องทั่วโลกที่ตอบรับ UPnP discovery request ที่มาจากอินเทอร์เน็ต และจากการตรวจสอบพบว่ามีอุปกรณ์ที่ได้รับผลกระทบจากช่องโหว่ดังกล่าวอยู่มากถึง 40-50 ล้านเครื่องทั่วโลก [2] โดยแสดงข้อมูลดังรูปที่ 1

รูปที่ 1 ข้อมูลของระบบที่ได้รับผลกระทบจากช่องโหว่ UPnP
รูปที่ 1 ข้อมูลของระบบที่ได้รับผลกระทบจากช่องโหว่ UPnP (ที่มา Rapid 7 [1])

ระบบที่ได้รับผลกระทบ

หน่วยงาน CERT.org ได้ติดต่อผู้ผลิตอุปกรณ์เครือข่ายและระบบปฏิบัติการคอมพิวเตอร์เพื่อขอข้อมูลระบบที่ได้รับผลกระทบ โดยปัจจุบัน (ณ วันที่ประกาศแจ้งเตือนนี้) มีผู้ผลิตที่ยืนยันแล้วว่าระบบมีช่องโหว่ คือ และผู้ผลิตที่ยืนยันแล้วว่าระบบไม่ได้รับผลกระทบคือ Ubiquiti Networks

ในส่วนของระบบอื่นๆ ที่ใช้งาน UPnP ยังอยู่ระหว่างการประสานงานและตรวจสอบข้อมูล ผู้ใช้งานระบบดังกล่าวควรตรวจสอบและติดตามข้อมูลของช่องโหว่จากเว็บไซต์ของ CERT.org และเว็บไซต์ของผู้ผลิตอย่างสม่ำเสมอ [3]

ข้อแนะนำในการป้องกันและแก้ไข

ผู้พัฒนา libupnp ได้เผยแพร่ไลบรารีเวอร์ชัน 1.6.18 ซึ่งแก้ไขปัญหาดังกล่าวแล้ว [4] ระหว่างที่รอผู้ผลิตนำไลบรารีดังกล่าวไปปรับปรุงระบบ ผู้ใช้งานควรป้องกันปัญหาที่อาจจะเกิดขึ้นโดยตรวจสอบและปิดการทำงานของระบบ UPnP ในอุปกรณ์ต่างๆ หรือตั้งค่า Firewall โดยไม่อนุญาตให้มีการเข้าถึงพอร์ต 1900/udp จากโฮสต์ที่น่าสงสัย

ทาง Rapid 7 ได้เผยแพร่ซอฟต์แวร์ ScanNow for UPnP ซึ่งเป็นซอฟต์แวร์ที่ใช้สำหรับการสแกนอุปกรณ์ในระบบเครือข่ายเพื่อตรวจสอบว่ามีช่องโหว่ UPnP อยู่หรือไม่ โดยซอฟต์แวร์ดังกล่าวทำงานได้เฉพาะบนระบบปฏิบัติการ Windows ผู้ใช้งานสามารถดาวน์โหลดได้ฟรีจากเว็บไซต์ของ Rapid 7 [5] ตัวอย่างหน้าจอของโปรแกรม ScanNow for UPnP เป็นดังรูปที่ 2

รูปที่ 2 ตัวอย่างหน้าจอของโปรแกรม ScanNow for UPnP
รูปที่ 2 ตัวอย่างหน้าจอของโปรแกรม ScanNow for UPnP (ที่มา Rapid 7 [1])

สำหรับผู้ใช้ระบบปฏิบัติการ Mac OS X หรือ Linux ทาง Rapid 7 แนะนำให้ใช้โปรแกรม Metasploit [6] และเรียกใช้โมดูลที่ชื่อ UPnP SSDP M-SEARCH Information Discovery สำหรับสแกนช่องโหว่ในระบบเครือข่าย

สำหรับผู้ใช้งานอินเทอร์เน็ตตามบ้าน ทาง Rapid 7 ได้เปิดเว็บไซต์สำหรับให้บริการสแกนเราท์เตอร์ที่ใช้งานอยู่เพื่อตรวจสอบว่าอุปกรณ์ดังกล่าวยอมรับ UPnP discovery request จากอินเทอร์เน็ตหรือไม่ โดยสามารถตรวจสอบได้จากเว็บไซต์ http://upnp-check.rapid7.com/ [7] ตัวอย่างหน้าเว็บไซต์ดังกล่าวเป็นดังรูปที่ 3

รูปที่ 3 หน้าเว็บไซต์สำหรับสแกนช่องโหว่ UPnP ในเราท์เตอร์
รูปที่ 3 หน้าเว็บไซต์สำหรับสแกนช่องโหว่ UPnP ในเราท์เตอร์

อ้างอิง

  1. https://community.rapid7.com/community/infosec/blog/2013/01/29/security-flaws-in-universal-plug-and-play-unplug-dont-play
  2. https://community.rapid7.com/servlet/JiveServlet/download/2150-1-16596/SecurityFlawsUPnP.pdf
  3. http://www.kb.cert.org/vuls/id/922681
  4. http://pupnp.sourceforge.net/
  5. http://www.rapid7.com/resources/free-security-software-downloads/universal-plug-and-play-jan-2013.jsp
  6. http://www.rapid7.com/products/metasploit/download.jsp
  7. http://upnp-check.rapid7.com/

Clear