Clear
Lead Graphic Papers

ระวังภัย ช่องโหว่ในซอฟต์แวร์ Bash ผู้ไม่หวังดีสามารถส่งคำสั่งอันตรายไปประมวลผลยังเครื่องของเหยื่อได้ทันที (Shellshock, CVE-2014-6271, CVE-2014-7169)

วันที่ประกาศ: 26 กันยายน 2557
ปรับปรุงล่าสุด: 8 ตุลาคม 2557
เรื่อง: ระวังภัย ช่องโหว่ในซอฟต์แวร์ Bash ผู้ไม่หวังดีสามารถส่งคำสั่งอันตรายไปประมวลผลยังเครื่องของเหยื่อได้ทันที (Shellshock, CVE-2014-6271, CVE-2014-7169)

ประเภทภัยคุกคาม: Intrusion

Share on Facebook Share on Twitter Share on Facebook

ปรับปรุงข้อมูลล่าสุด

วันที่ 29 กันยายน 2557 ไทยเซิร์ตได้รับข้อมูลเพิ่มเติมว่าผู้พัฒนาซอฟต์แวร์ Bash ได้มีการเผยแพร่ Patch สำหรับแก้ไขปัญหาช่องโหว่ออกมาอีก 2 ครั้ง คือในวันที่ 27 และ 28 กันยายน 2557 (ตามเวลาของประเทศไทย) โดยเป็น Patch ที่ใช้แก้ไขปัญหาช่องโหว่ CVE-2014-7169 ที่กล่าวถึงในการแจ้งเตือนนี้ และช่องโหว่ใหม่ คือ CVE-2014-7186 และ CVE-2014-7187 ซึ่งเป็นช่องโหว่ในรูปแบบ Buffer Overflow โดยเวอร์ชันที่เป็นทางการของซอฟต์แวร์ Bash ที่แก้ไขล่าสุดจะเป็น 4.0.41[1], 4.1.14[2], 4.2.50[3] และ 4.3.27[4] โดยสำหรับผู้ที่ติดตั้งซอฟต์แวร์ Bash ผ่านระบบบริการจัดการซอฟต์แวร์แพคเกจ (Package Management) บนระบบปฏิบัติการ Linux ให้ตรวจสอบจากเอกสาร Changelog ของซอฟต์แวร์ Bash เวอร์ชันล่าสุดของ Distribution ที่ใช้งานอยู่ว่า มีการระบุถึงการแก้ไขช่องโหว่ใน CVE ทั้งหมดที่ระบุในการแจ้งเตือนนี้หรือไม่ เพื่อให้แน่ใจว่าไม่ได้รับผลกระทบจากช่องโหว่ดังกล่าว

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

โดยปกติการใช้งานระบบปฏิบัติการประเภทยูนิกซ์ (Unix หรือ Unix-liked) อย่างเช่น Linux หรือ FreeBSD ถูกออกแบบมาให้ใช้งานในลักษณะ Command Line มาตั้งแต่ต้น ถึงแม้ปัจจุบันจะมีการพัฒนาให้มีการทำงานผ่าน Graphic User Interface (GUI) แต่การทำงานในลักษณะ Command Line ที่ใช้งานผ่านซอฟต์แวร์ประเภท Shell ก็ยังถือเป็นส่วนประกอบพื้นฐานสำคัญของระบบปฏิบัติการประเภทยูนิกซ์ที่ยังไม่สามารถยกเลิกการใช้งานได้ เนื่องจากยังมีแอปพลิเคชันอื่นๆอีกเป็นจำนวนมากที่ยังต้องการความสามารถของ Shell ในการทำงาน โดยตัวอย่างของซอฟต์แวร์ที่ทำงานเป็น Shell เช่น Csh Ksh Ash Dash หรือ Bash โดยซอฟต์แวร์ Bash ถือเป็นซอฟต์แวร์ประเภท Shell ที่ได้รับความนิยมสูงที่สุด เนื่องจากถูกนำมาใช้เป็นซอฟต์แวร์ Shell หลักของระบบปฏิบัติการ Linux เกือบทุก Distribution โดยตัวอย่างของแอปพลิเคชันที่มีการเรียกใช้ซอฟต์แวร์ Bash ในการทำงานนี้ เช่น เว็บแอปพลิเคชันประเภท CGI และแอปพลิเคชันระบบ เช่น DHCP ที่มีการทำงานร่วมกับซอฟต์แวร์ Shell เพื่อรับค่าผ่านพารามิเตอร์บางอย่างมาประมวลผล

เมื่อวันที่ 24 กันยายน 2557 บริษัท Akamai ซึ่งให้บริการเครือข่ายส่งคอนเทนท์ความเร็วสูง (Content Delivery Network) ได้เผยแพร่บทความในเว็บไซต์ blogs.akamai.com โดยมีเนื้อหาว่านักวิจัยของ Akamai ชื่อ Stephane Chazelas [5] ได้ค้นพบช่องโหว่เกี่ยวกับซอฟต์แวร์ Bash โดยถูกเรียกว่า Shellshock ช่องโหว่ดังกล่าวทำให้ผู้ไม่หวังดีสามารถสั่งรันคำสั่งอันตรายบนเครื่องให้บริการของระบบได้ทันที และได้มีการยืนยันจากบริษัทแล้วถึงปัญหาช่องโหว่ดังกล่าว รวมถึงมีการเผยแพร่ข้อมูลช่องโหว่ดังกล่าวไปยังเว็บไซต์ CVE แล้วเช่นกัน [6]

ทางเว็บไซต์ผู้พัฒนาซอฟต์แวร์ Bash ได้เผยแพร่ Patch อัปเดตสำหรับแก้ไขช่องโหว่ CVE-2014-6271 ซึ่งสามารถตรวจสอบได้ในหัวข้อ “ข้อแนะนำในการป้องกันและแก้ไข”

อย่างไรก็ตามจากสถานการณ์ดังกล่าว ยังมีผู้ตรวจพบว่าถึงแม้จะมีการอัปเดตแล้ว แต่ก็ยังสามารถโจมตีช่องโหว่ของซอฟต์แวร์ Bash ได้อยู่ เพียงแต่เปลี่ยนแปลงวิธีการในการโจมตี [7] โดยในกรณีการโจมตีนี้ถือว่าเป็นรูปแบบการค้นพบช่องโหว่ใหม่และได้มีการออกหมายเลข CVE เพิ่มเติมในกรณีดังกล่าวแล้ว โดยมีหมายเลขเป็น CVE-2014-7169 [8]

สำหรับช่องโหว่ CVE-2014-7169 นี้ ตรวจสอบพบว่าหนึ่งในทีมผู้พัฒนาซอฟต์แวร์ Bash ชื่อ Chet Ramey ได้ทำการเผยแพร่ Patch สำหรับแก้ไขปัญหาช่องโหว่ดังกล่าว [9] และจากการตรวจสอบเพิ่มเติมพบว่า Debian [10] และ Ubuntu [11] ได้มีการเผยแพร่อัปเดตของซอฟต์แวร์ Bash ซึ่งแก้ไขปัญหาช่องโหว่ตามข้อมูลของ CVE ทั้ง 2 ส่วนนี้แล้ว แต่อย่างไรก็ตามสำหรับผู้ใช้งานระบบปฏิบัติการ Linux ใน Distribution อื่นๆ สามารถติดตามการแก้ไขปัญหาได้จากเว็บไซต์ทางการของแต่ละ Distribution

สำหรับผู้ใช้งานระบบปฏิบัติการ Mac OS X เวอร์ชันล่าสุด 10.9.5 พบว่ามีการติดตั้งซอฟต์แวร์ Bash เวอร์ชัน 3.2.51 ซึ่งจากการตรวจสอบข้อมูลข่าวบนอินเทอร์เน็ตทราบว่าขณะนี้ทาง Apple ได้รับทราบปัญหานี้แล้ว และทาง Apple จะมีการเผยแพร่เวอร์ชันอัปเดตของซอฟต์แวร์ Bash ในเร็วๆนี้ [12]

ผลกระทบ

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

[ตัวอย่างผลกระทบที่เกิดกับผู้ใช้]

1. ผู้ใช้งานที่ใช้ระบบปฏิบัติการที่ได้รับผลกระทบเชื่อมต่อกับ WiFi ที่ผู้ไม่หวังดีเตรียมไว้ ก็มีโอกาสที่ผู้ใช้งานจะถูกโจมตีผ่าน DHCP โดยผู้ไม่หวังดีสามารถใช้วิธีการฝังคำสั่งอันตรายและส่งเข้ามาทางพารามิเตอร์ของ DHCP ซึ่งเครื่องผู้ใช้งานจะรับคำสั่งดังกล่าวมาประมวลผลในทันที

[ตัวอย่างผลกระทบที่เกิดกับระบบ]

2. ผู้ให้บริการที่มีการใช้งานเว็บแอปพลิเคชันประเภท CGI เช่น PHP-CGI ที่มีการรับส่งค่าผ่านซอฟต์แวร์ Bash สามารถถูกโจมตีได้ โดยผู้ไม่หวังดีสามารถใช้วิธีการส่งคำสั่งอันตรายผ่านพารามิเตอร์ของ HTTP Header และเครื่องให้บริการเว็บจะรับคำสั่งดังกล่าวมาประมวลผลในทันที อย่างไรก็ตามจากการตรวจสอบพบว่าการใช้งานของ PHP ผ่าน Mod PHP ของ Apache ในรูปแบบปกติ หรือลักษณะอื่นๆที่คล้ายคลึงกันจะไม่ได้รับผลกระทบ เนื่องจากไม่ได้ใช้วิธีการส่งค่าพารามิเตอร์ในลักษณะเดียวกับ CGI

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

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

สามารถตรวจสอบผลกระทบของช่องโหว่ดังกล่าวได้ 2 ทาง

1. ทดสอบรันคำสั่ง [7]

$env X='() { (a)=>\' bash -c "echo date"

จากคำสั่งดังกล่าว เป็นการสร้างไฟล์ชื่อ echo และมีข้อมูลวันเวลาอยู่ภายใน หากผู้ใช้พบไฟล์ดังกล่าวแสดงว่าระบบที่ใช้งานมีช่องโหว่ของซอฟต์แวร์ Bash อยู่ ดังรูปที่ 1


รูปที่ 1 การทดสอบรันคำสั่งเพื่อตรวจสอบช่องโหว่ของซอฟต์แวร์ Bash

2. ตรวจสอบเวอร์ชันของซอฟต์แวร์ Bash ที่ใช้งาน โดยพิมพ์คำสั่ง bash --version ดังตัวอย่างในรูปที่ 2


รูปที่ 2 การตรวจสอบเวอร์ชันของซอฟต์แวร์ Bash

[เวอร์ชันที่ได้รับผลกระทบจาก CVE-2014-6271]

ระบบที่ใช้งานซอฟต์แวร์ Bash ในเวอร์ชัน 3.0.17 , 3.1.18 , 3.2.52 , 4.1.12 , 4.2.48 , 4.3.25 หรือต่ำกว่า

[เวอร์ชันที่ได้รับผลกระทบจาก CVE-2014-7169]

ระบบที่ใช้งานซอฟต์แวร์ Bash ในทุกเวอร์ชัน ยกเว้นที่มีการอัปเดต Patch ของช่องโหว่ CVE-2014-7169 เช่น ซอฟต์แวร์ Bash ใน Debian และ Ubuntu

เวอร์ชันของซอฟต์แวร์ Bash บนระบบปฏิบัติการ Linux นั้น อาจมีหมายเลขเวอร์ชันที่ดูเหมือนเป็นส่วนหนึ่งของเวอร์ชันที่ได้รับผลกระทบดังที่ระบุไว้ข้างต้น แต่ในความเป็นจริงรูปแบบการบริหารจัดการบนระบบปฏิบัติการ Linux นั้น อาจจะไม่ได้มีการใช้งานซอฟต์แวร์เวอร์ชันล่าสุดเสมอไป แต่มีการ Patch เพื่อแก้ไขปัญหาช่องโหว่เรียบร้อยแล้ว ดังนั้น ผู้ใช้งานจึงควรตรวจสอบจากเว็บไซต์ทางการของแต่ละ Distribution อีกครั้ง เช่น Debian [13], Ubuntu [14] Red Hat Enterprise Linux [15] หรือตรวจสอบจากเอกสาร Changelog ของซอฟต์แวร์ Bash ใน Distribution ที่ใช้งานอยู่

3. ผู้ให้บริการที่มีการใช้งานเว็บแอปพลิเคชันประเภท CGI สามารถตรวจสอบปัญหาช่องโหว่ดังกล่าว ผ่านบริการของไทยเซิร์ตจัดเตรียมไว้ https://al2014ad005.thaicert.or.th ดังรูปที่ 3


รูปที่ 3 หน้าจอแสดงบริการตรวจสอบช่องโหว่ที่ไทยเซิร์ตจัดเตรียมไว้

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

1. อัปเดตซอฟต์แวร์ Bash ให้เป็นเวอร์ชันที่ได้รับการแก้ไขปัญหาช่องโหว่แล้ว

1.1 เพื่อแก้ไขปัญหาช่องโหว่ตาม CVE-2014-6271 ผู้ใช้สามารถอัปเดต Patch สำหรับซอฟต์แวร์

Bash ในเวอร์ชันต่างๆดังต่อไปนี้ [16]

  • Bash 4.3 Patch 25 [17]
  • Bash 4.2 Patch 48 [18]
  • Bash 4.1 Patch 12 [19]
  • Bash 4.0 Patch 39 [20]
  • Bash 3.2 Patch 52 [21]
  • Bash 3.1 Patch 18 [22]
  • Bash 3.0 Patch 17 [23]

1.2 เพื่อแก้ไขช่องโหว่ตาม CVE-2014-7169 ผู้ที่ใช้ Debian และ Ubuntu สามารถอัปเดต Bash เป็นเวอร์ชันล่าสุดด้วยคำสั่ง apt-get update แต่ในกรณีของการใช้งานระบบปฏิบัติการอื่นๆ ผู้ใช้งานควรตรวจสอบจากเว็บไซต์ทางการอีกครั้งและหากพบว่ามีการเผยแพร่ Patch ใดๆเพิ่มเติม ทางไทยเซิร์ตจะแจ้งข้อมูลให้ทราบต่อไป

2. พิจารณาเปลี่ยนไปใช้งาน Shell อื่นทดแทนก่อน จนกว่าจะมีการอัปเดต Patch สมบูรณ์ แต่อย่างไรก็ตามควรมีการพิจารณาผลกระทบกรณีอื่นที่อาจส่งผลจากการเปลี่ยนแปลง

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

อ้างอิง

  1. http://lists.gnu.org/archive/html/bug-bash/2014-09/msg00281.html
  2. http://lists.gnu.org/archive/html/bug-bash/2014-09/msg00280.html
  3. http://lists.gnu.org/archive/html/bug-bash/2014-09/msg00279.html
  4. http://lists.gnu.org/archive/html/bug-bash/2014-09/msg00278.html
  5. https://blogs.akamai.com/2014/09/environment-bashing.html
  6. http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2014-6271
  7. https://twitter.com/taviso/status/514887394294652929
  8. http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2014-7169
  9. http://lists.gnu.org/archive/html/bug-bash/2014-09/msg00123.html
  10. https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=762760
  11. http://www.ubuntu.com/usn/usn-2363-2
  12. http://www.imore.com/apple-working-quickly-protect-os-x-against-shellshock-exploit
  13. https://www.debian.org/security
  14. http://www.ubuntu.com/usn/
  15. https://access.redhat.com/security/updates/active/
  16. http://ftp.gnu.org/gnu/bash/
  17. http://lists.gnu.org/archive/html/bug-bash/2014-09/msg00081.html
  18. http://lists.gnu.org/archive/html/bug-bash/2014-09/msg00082.html
  19. http://lists.gnu.org/archive/html/bug-bash/2014-09/msg00083.html
  20. http://lists.gnu.org/archive/html/bug-bash/2014-09/msg00084.html
  21. http://lists.gnu.org/archive/html/bug-bash/2014-09/msg00085.html
  22. http://lists.gnu.org/archive/html/bug-bash/2014-09/msg00087.html
  23. http://lists.gnu.org/archive/html/bug-bash/2014-09/msg00086.html
Clear