วันศุกร์ที่ 3 ตุลาคม พ.ศ. 2557

แจ้งเตือนช่องโหว่ BASH (CVE-2014-6271)

BASH หรือ Bourne Again Shell เป็นเชลล์ในระบบปฏิบัติการยูนิกซ์ (UNIX) เป็นที่นิยมใช้อย่างมากใน
ระบบปฏิบัติการลินุกซ์หลากหลายค่ายอีกด้วย ซึ่งในระบบปฏิบัติการลินุกซ์เองยังไม่โปรแกรมจำนวนมากที่อาศัย Bash รันอยู่เบื้องหลัง ใ ห้บริการเชลล์ผ่านการเข้าถึงจากระยะไกล (เช่น ssh แ ละ telnet เป็นต้น) ให้บริการ parser สำหรับสคริปส์ CGI (Apache ห รื อ อื่ นๆ ) หรือแม้กระทั่งการสนับสนุนการเอ็กซิคิวต์คำสั่งอย่างจำกัด (เช่น git หรือ อื่นๆ)  จากรายงานช่องโหว่ CVE-2014-6271 หรือ Shellshock ซึ่งเป็นช่องโหว่ของเชลล์ BASH (โปรแกรมในการรันคำสั่งบนระบบปฏิบัติการลินุกซ์) ส่งผลทำให้ผู้โจมตีสามารถรันโค้ดจากระยะไกลได้ ผ่านสคริปส์ C G I ที่รันอยู่ในApache ที่ติดตั้ง mod_cgi ด้วย ดังนั้นช่องโหว่นี้จึงมีผลกระทบต่อระบบปฏิบัติการลินุกซ์หรือยูนิกซ์ที่ติดตั้งเชลล์ดังกล่าว

วิธีการตรวจสอบ
รันคำสั่ง env x='() { :;}; echo vulnerable' bash -c "echo this is a test" ถ้าหากเซิร์ฟเวอร์มีช่องโหว่
จะแสดงผลดังรูปที่ 1



แต่ถ้าหากไม่พบช่องโหว่ จะแสดงข้อความดังรูปที่ 2


วิธีการแก้ไข

1. สำหรับระบบปฏิบัติการ Ubuntu ให้ใช้คำสั่ง # apt-get install bash ดังรูปที่ 3 ซึ่งทดสอบบนระบบปฏิบัติ
การ Ubuntu 14.04.1 LTS

2. สำหรับระบบปฏิบัติการ CentOS ให้ใช้คำสั่ง # yum install bash -y ดังรูปที่ 4 ซึ่งทดสอบบนระบบปฏิบัติการ CentOS 7.0


สรุป
จากตัวอย่างจะแสดงผลการแก้ไขบนระบบปฏิบัติการ Ubuntu และ CentOS เท่านั้น อย่างไรก็ตามยังมี
ระบบปฏิบัติการลินุกซ์และยูนิกซ์ตระกูลอื่นๆ ที่ใช้ BASH ดังนั้นจำเป็นจะต้องอัพเดตเวอร์ชั่นของโปรแกรม BASH
ด้วย

ไม่มีความคิดเห็น: