Bancha
Group Blog
 
All blogs
 
ช่องโหว่ใน OpenSSL (Heartbleed, CVE-2014-0160)


ระวังภัย ช่องโหว่ใน OpenSSL ผู้ไม่หวังดีสามารถขโมยข้อมูลใน Memory จากเครื่องของเหยื่อได้ (Heartbleed, CVE-2014-0160)

วันที่ประกาศ: 9 เมษายน 2557
ปรับปรุงล่าสุด: 19 เมษายน 2557
เรื่อง: ระวังภัย ช่องโหว่ใน OpenSSL ผู้ไม่หวังดีสามารถขโมยข้อมูลใน Memory จากเครื่องของเหยื่อได้ (Heartbleed, CVE-2014-0160)

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

Share on Facebook Share on Twitter Share on Facebook

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

OpenSSL เป็นไลบรารีสำหรับใช้ในการเข้ารหัสลับข้อมูลผ่านโพรโทคอล SSL และ TLS ซึ่งเป็นไลบรารีแบบ Open source ทำให้ผู้พัฒนาซอฟต์แวร์หลายรายนำไลบรารีดังกล่าวนี้ไปใช้ในซอฟต์แวร์ของตนเอง ตัวอย่างโปรแกรมที่ใช้งานไลบรารี OpenSSL เช่น ระบบปฏิบัติการ Linux, เว็บเซิร์ฟเวอร์, โปรแกรมแช็ท หรือโปรแกรมสำหรับเชื่อมต่อ VPN เป็นต้น

เมื่อวันที่ 7 เมษายน 2557 ทาง OpenSSL ได้แจ้งเตือนช่องโหว่ในซอฟต์แวร์ OpenSSL เวอร์ชัน 1.0.1 ถึง 1.0.1f [1] โดยช่องโหว่ดังกล่าวอยู่ในส่วนของการเชื่อมต่อ TLS/DTLS ในส่วนที่เป็น Heartbeat extension ที่เอาไว้ตรวจสอบว่าโฮสต์ที่เชื่อมต่ออยู่ด้วยนั้นยังทำงานอยู่หรือเปล่า [2]

เนื่องจากส่วน Heartbeat extension อนุญาตให้ระบบใดๆ ก็ตามสามารถส่ง Request เข้ามาเพื่อให้เครื่องปลายทางตอบกลับ แต่กระบวนการนี้มีความผิดพลาดในขั้นตอนการตรวจสอบข้อมูล ทำให้ในกรณีที่ Request ที่ส่งเข้ามามีการระบุความยาวของข้อมูลที่ส่งกลับมากกว่าขนาดของ Request เครื่องปลายทางจะไปอ่านข้อมูลจากหน่วยความจำของตัวเครื่องออกมา แล้วส่งข้อมูลดังกล่าวกลับไปให้ผู้ที่ร้องขอ [3]

ข้อมูลที่เครื่องปลายทางจะส่งกลับไปให้ผู้ที่ร้องขอเป็นข้อมูลขนาด 64 KB จากหน่วยความจำในตำแหน่งที่ใกล้เคียงกับข้อมูลที่โปรเซสของ OpenSSL ใช้งานอยู่ ซึ่งข้อมูลที่อยู่ในหน่วยความจำจะถูกเก็บแบบไม่มีการเข้ารหัสลับ และอาจมีข้อมูลสำคัญถูกเก็บอยู่ในตำแหน่งนี้ เช่น รหัสผ่าน หมายเลขบัตรเครดิต หรือ Private Key ของระบบที่ใช้งาน OpenSSL จึงทำให้มีโอกาสสูงที่ผู้ไม่หวังดีจะเชื่อมต่อเข้ามาเพื่อขโมยข้อมูลสำคัญออกไปจากหน่วยความจำของเครื่องปลายทางได้ [4]

ถึงแม้ว่าข้อมูลที่สามารถอ่านได้จากหน่วยความจำของเครื่องปลายทาง จะสามารถนำออกไปได้แค่ครั้งละไม่เกิน 64 KB แต่ผู้ไม่หวังดีก็สามารถที่จะส่ง Request เข้ามาเรื่อยๆ เพื่อดึงข้อมูลในส่วนที่เหลือและนำข้อมูลที่ได้ไปปะติดปะต่อให้เป็นข้อมูลเต็มๆ ได้

ผลกระทบ

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

ตัวอย่างความเสียหายที่เกิดกับผู้ใช้ทั่วไป เช่น ผู้ใช้เปิดใช้งานโปรแกรมที่มีการเชื่อมต่อแบบ SSL/TLS ที่พัฒนาโดยใช้ไลบรารี OpenSSL เวอร์ชันที่มีช่องโหว่ หากผู้ใช้มีการเชื่อมต่อแบบ SSL ก็มีโอกาสที่จะถูกผู้ไม่หวังดีขโมยข้อมูลที่อยู่ในหน่วยความจำได้ ขึ้นอยู่กับว่าโปรแกรมที่ใช้งานนั้นคือโปรแกรมอะไร เช่น เว็บเบราว์เซอร์ โปรแกรมรับส่งอีเมล โปรแกรมแช็ท โปรแกรม Cloud storage หรือโปรแกรมเชื่อมต่อ VPN

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

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

ซอฟต์แวร์ OpenSSL เวอร์ชันดังต่อไปนี้ [5]

  • 1.0.1
  • 1.0.1:beta1 ถึง 1.0.1:beta3
  • 1.0.1a ถึง 1.0.1f
  • 1.0.2-beta1

ผู้ให้บริการอ้างตาม list ของ cert/cc [6]

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

[สำหรับผู้ดูแลระบบ]

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

สำหรับระบบปฏิบัติการที่บริหารจัดการด้วย DPKG เช่น Debian Ubuntu
dpkg -s openssl

สำหรับระบบปฏิบัติการที่บริหารจัดการด้วย RPM เช่น CentOS Redhat
rpm -q --info openssl

2. เปลี่ยน SSL Certificate ใหม่

อย่างไรก็ตาม เวอร์ชันล่าสุดของซอฟต์แวร์ OpenSSL ที่ได้รับการแก้ไขช่องโหว่นี้แล้วบนระบบปฏิบัติการ Linux นั้น อาจมีหมายเลขเวอร์ชันที่ดูเหมือนเป็นส่วนหนึ่งของเวอร์ชันที่ได้รับผลกระทบดังที่ระบุไว้ข้างต้น เช่น ซอฟต์แวร์ OpenSSL บนระบบปฏิบัติการ Debian เวอร์ชันที่ได้รับการแก้ไขช่องโหว่แล้วคือ 1.0.1e-2+deb7u5 หรือสูงกว่า และในแต่ละระบบปฏิบัติการอาจมีหมายเลขเวอร์ชันล่าสุดที่แตกต่างกันไป ดังนั้น ผู้ใช้จึงควรตรวจสอบจากเว็บไซต์ทางการของแต่ละระบบปฏิบัติการอีกครั้ง เช่น Debian [7], Ubuntu [8], Red Hat Enterprise Linux [9] และ FreeBSD [10]

 

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


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


[สำหรับผู้ใข้งาน]

1. ผู้ใช้งานสามารถตรวจสอบปัญหาของโหว่ดังกล่าว ผ่านบริการของไทยเซิร์ตจัดเตรียมไว้ https://al2014ad002.thaicert.or.th/ หากพบว่าบริการที่กำลังจะเข้าใช้งานมีช่องโหว่ Heartbleed ให้หยุดการเข้าใช้งานระบบนั้นก่อนทันที

2. เปลี่ยนรหัสผ่านกับเว็บไซต์ที่เข้าใช้งานด้วยรหัสผ่านใหม่ รวมถึงรหัสผ่านสำหรับการเข้าใช้งานระบบที่ได้รับผลกระทบ อ้างตาม list ของ cert/cc [6] และในกรณีที่ใช้งานหลายเว็บไซต์หรือระบบ ให้เลือกเปลี่ยนรหัสผ่านที่แตกต่างกัน

3. เมื่อรู้ตัวว่าใช้งาน Wi-Fi สาธารณะให้ระมัดระวังการใช้งานหรือหลีกเลี่ยงเข้าเว็บไซต์ที่มีความสำคัญ เช่น เว็บไซต์ธนาคารออนไลน์ หรือเว็บไซต์อีเมล

4. ตรวจสอบประวัติการล็อกอินเข้าใช้งานระบบที่สำคัญเพื่อให้แน่ใจว่าไม่มีการล็อกอินจากบุคคลอื่น

5. ติดตามข่าวสารเกี่ยวกับปัญหาช่องโหว่ HeartBleed จากเว็บไซต์ที่น่าเชื่อถือหรือบนเว็บไซต์ไทยเซิร์ต


บริการตรวจสอบช่องโหว่ Heartbleed

ไทยเซิร์ตได้เปิดให้บริการตรวจสอบช่องโหว่ตามที่อ้างถึงในบทความนี้ โดยผู้ใช้งานสามารถตรวจสอบได้ตามลิงก์ต่อไปนี้ คลิกที่นี่


อ้างอิง

  1. https://wwwssl.org/news/secadv_20140407.txt
  2. https://tools.ietf.org/html/rfc6520
  3. //heartbleed.com
  4. //blog.existentialize.com/diagnosis-of-the-openssl-heartbleed-bug.html
  5. https://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2014-0160
  6. //www.kb.cert.org/vuls/byvendor?searchview&Query=FIELD+Reference=720951&SearchOrder=4
  7. //www.debian.org/security/2014/dsa-2896
  8. //www.ubuntu.com/usn/usn-2165-1
  9. https://rhn.redhat.com/errata/RHSA-2014-0376.html
  10. //www.freebsd.org/security/advisories/FreeBSD-SA-14:06ssl.asc
Clear
2014/04/12
//th.gmocloud.com/en/news/2014/0412.html


เกี่ยวกับช่องโหว่ของ OpenSSL

พบช่องโหว่ที่อันตรายบน OpenSSL 1.0.1-1.0.1f(รวมถึง OpenSSL1.0.2-beta)
คุณสามารถดูรายละเอียดของช่องโหว่นี้ตาม URL ด้านล่าง
URL://www.businessinsider.com/heartbleed-bug-explainer-2014-4

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

รายละเอียดด้านล่างแสดงถึงวิธีการ Update OpenSSLของ CentOS6,Red Hat Enterprise 6 และ Ubuntu12

[วิธีตรวจสอบ Version ของ OpenSSL]

■ CentOS 6,Red HatEnterprise 6
ใช้คำสั่ง

# rpm -qa|grep openssl

ถ้าเป็น Version openssl-1.0.1e-16.el6_5.7 คุณจะไม่พบปัญหาจากช่องโหว่ตามที่กล่าวด้านบน
ถ้าเป็น Version openssl-1.0.1e-16.el6_1ถึง openssl-1.0.1e-16.el6_4 เราแนะนำอย่างยิ่งให้ Update มัน

■ Ubuntu 12
ใช้คำสั่ง

# dpkg -l openssl

ถ้าเป็น Version openssl-1.0.1-4ubuntu5.12คุณจะไม่พบปัญหาจากช่องโหว่ตามที่กล่าวด้านบน
ถ้าเป็น Version ที่ต่ำกว่า 1.0.1-4ubunts5.11 รวมถึงรุ่น 1.01เราแนะนำอย่างยิ่งให้ Update มัน

[วิธี Update]

■ CentOS6,Red HatEnterprise 6
ใช้คำสั่ง

# yum update openssl

เมื่อ Update เสร็จแล้ว ให้ตรวจสอบ Version ของ OpenSSL ด้วยคำสั่ง

# rpm -qa|grep openssl
โดยจำเป็นอย่างยิ่งที่ต้องให้ Version สูงกว่า openssl-1.0.1e-16.el6_5.7
และคุณต้องเริ่มต้นระบบใหม่เพื่อให้ Library ของ OpenSSL เริ่มทำงาน ด้วยคำสั่ง

sudo reboot
■ Ubuntu12
ใช้คำสั่ง
# sudo apt-get update

และทำการ Upgrade OpenSSL ด้วยคำสั่ง

# sudo apt-get upgrade openssl

เมื่อ Upgrade เสร็จแล้ว ให้ตรวจสอบ Version ของ OpenSSL ด้วยคำสั่ง

# dpkg -l |grep openssl

โดยจำเป็นอย่างยิ่งที่ต้องให้ Version สูงกว่า openssl-1.0.1-4ubuntu5.12
และคุณต้องเริ่มต้นระบบใหม่เพื่อให้ Library ของ OpenSSL เริ่มทำงาน ด้วยคำสั่ง

sudo reboot




Create Date : 21 กรกฎาคม 2558
Last Update : 21 กรกฎาคม 2558 16:01:02 น. 0 comments
Counter : 800 Pageviews.

ชื่อ : * blog นี้ comment ได้เฉพาะสมาชิก
Comment :
  *ส่วน comment ไม่สามารถใช้ javascript และ style sheet
 

rajasit
Location :


[Profile ทั้งหมด]

ฝากข้อความหลังไมค์
Rss Feed
Smember
ผู้ติดตามบล็อก : 5 คน [?]




Friends' blogs
[Add rajasit's blog to your web]
Links
 

 Pantip.com | PantipMarket.com | Pantown.com | © 2004 BlogGang.com allrights reserved.