“HEARTBEAT” TO “HEARTBLEED”

25 Apr “HEARTBEAT” TO “HEARTBLEED”

Bug จากจังหวะหัวใจเข้าสู่ช่องโหว่หัวใจ ของ OpenSSL

 image003

HeartBleed Bug เป็นปัญหาหรือ bug ที่เกิดขึ้นใน ไลบรารีของ OpenSSL

สำหรับใช้ในการเข้ารหัสลับข้อมูลผ่านโพรโทคอล SSL และ TLS

ชื่อ HeartBleed Bug นั้นมาจากคำล้อเลียน ส่วนที่ทำหน้าที่ ที่เรียกว่า Heartbeat Extension ของ OpenSSL

ซึ่งจะเป็นส่วนของการเชื่อมต่อ TLS/DTLS ที่เอาไว้ตรวจสอบว่า Host ที่เชื่อมต่ออยู่ด้วยนั้นยังทำงานและออนไลน์อยู่หรือเปล่า
ช่องโหว่ที่ว่า จะมาจากขั้นตอนที่ Heartbeat extension นั้นจะอนุญาตให้ระบบที่ต้องการติดต่อกับเครื่องปลายทาง
เครื่องต้นทางจะมีการส่งการร้องขอ เข้ามาเพื่อให้เครื่องปลายทางตอบกลับ แต่ขั้นตอนนี้จะมีความผิดพลาดในการตรวจสอบข้อมูล
ทำให้ในกรณีที่เครื่องต้นทางที่มีการร้องขอ ได้ส่งการร้องขอเข้ามาที่เครื่องปลายทางในรูปแบบพิเศษ
โดยไม่มีการระบุความยาวของข้อมูลที่ส่งกลับ หรือ มีการระบุความยาวของข้อมูลที่ส่งกลับมากกว่าขนาดของการร้องขอแบบปกติ
เครื่องปลายทางจะไปอ่านและดึงข้อมูลจากหน่วยความจำของตัวเครื่องออกมา ซึ่งจะมีขนาดของข้อมูล 64 กิโลไบต์
และข้อมูลนั้นที่อยู่ในหน่วยความจำดังกล่าว จะถูกเก็บแบบไม่มีการเข้ารหัสลับ จากนั้น เครื่องปลายทางก็จะส่งข้อมูลดังกล่าว
กลับไปให้เครื่องต้นทางที่ร้องขอ ถึงแม้ว่าขนาดของข้อมูล 64 กิโลไบต์ ข้อมูลที่ได้อาจจะไม่มากพอสำหรับการนำไปใช้
แต่ทางแฮกเกอร์ก็ยังสามารถส่งการร้องขอ มาได้เรื่อยๆ และข้อมูลส่วนต่างๆ ที่ได้มานั้น จะถูกนำมาเชื่อมต่อและประกอบเข้ากัน

จนกระทั่งได้เป็นข้อมูลสำคัญที่ต้องการได้ เช่น ชื่อบัญชีผู้ใช้ รหัสผ่าน, หมายเลขบัตรเครดิต ของระบบที่ใช้งาน OpenSSL

ซึ่งเป็นโอกาส ที่ผู้ไม่หวังดีหรือแฮกเกอร์จะอาศัยช่องโหว่นี้  เชื่อมต่อเข้ามาเพื่อขโมยข้อมูลสำคัญออกไปจากหน่วยความจำ
ของเครื่องปลายทางได้

เนื่องจาก ไลบรารีของ OpenSSL ได้ใช้กันอย่างแพร่หลายในปัจจุบัน ดังนั้นทำให้ผลกระทบต่อการใช้งานเป็นวงกว้าง

HeartBeat Extension ก็เลยกลายเป็น The HeartBleed Bug ได้

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

ระบบที่ได้รับผลกระทบ
OpenSSL ตั้งแต่ Version ตั้งแต่ 1.0.1 ถึง 1.0.1f,
Version ที่ต่ำกว่า 1.0.1 และ 1.0.1g ไม่ได้รับผลกระทบ

ระบบปฎิบัติการ ที่มีโอกาสได้รับผลกระทบ เนื่องจาก vulnerable OpenSSL version

Debian Wheezy (stable), OpenSSL 1.0.1e-2+deb7u4

Ubuntu 12.04.4 LTS, OpenSSL 1.0.1-4ubuntu5.11

CentOS 6.5, OpenSSL 1.0.1e-15

Fedora 18, OpenSSL 1.0.1e-4

OpenBSD 5.3 (OpenSSL 1.0.1c 10 May 2012) and 5.4 (OpenSSL 1.0.1c 10 May 2012)

FreeBSD 10.0 – OpenSSL 1.0.1e 11 Feb 2013

NetBSD 5.0.2 (OpenSSL 1.0.1e)

OpenSUSE 12.2 (OpenSSL 1.0.1c)

อ้างอิงจาก //heartbleed.com/

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

ในส่วนของเจ้าหน้าที่ดูแลระบบ จะต้องอัพเกรตเวอร์ชั่นหรือลงแพตช์ป้องกัน ของ OpenSSL
ซึ่งขณะนี้ ทางทีมงานที่พัฒนาไลบรารีของ OpenSSL ได้ออก Version upgrade ที่แก้ไข Bug นี้เรียบร้อยแล้ว
หลังจากนั้น เจ้าหน้าดูแลระบบจะต้องให้ทำการเปลี่ยน SSL Certificate ใหม่ มาทดแทน Certificate อันเดิม
ซึ่ง Certificate อันเดิมนั้น มีความเสี่ยงที่จะถูกลักลอบนำ key ที่ได้จากช่องโหว่ดังกล่าว เอามาใช้ถอดรหัสข้อมูลได้
สำหรับผู้ใข้งาน ควรเปลี่ยนรหัสผ่านกับเว็บไซต์ที่เข้าใช้งาน เช่น เว็บไซต์ธนาคารออนไลน์ เว็บไซต์อีเมล ด้วยรหัสผ่านใหม่
หลังจากมั่นใจว่า ผู้ให้บริการเว็บไซต์ที่เราใช้บริการอยู่ ได้ทำการแก้ไขและป้องกันที่เป็นเรียบร้อยแล้ว
และผู้ใช้ควรจะตรวจสอบเว็บไซต์ ที่ใช้บริการอยู่ ว่า Certificate ได้รับการออกใหม่ หลังจากวันที่  7 เมษายน 2014
ซึ่งเป็นวันที่ประกาศว่าตรวจสอบพบ Bug และมีโอกาสที่แฮกเกอร์ ได้อาศัยช่องโหว่ Heartbleed ก่อนหน้านี้
ได้เจาะและนำข้อมูลที่เป็นรหัสลับหรือ private key มาใช้ในการถอดรหัสข้อมูลสำคัญของผู้ใช้งานได้
ถึงแม้ว่า Server ได้รับการอัพเดตแพตช์ป้องกันแล้วก็ตาม

การตรวจสอบช่องโหว่ HeartBleed
เราสามารถใช้เครื่องมือตรวจสอบ ว่าเว็บไซต์ต่างๆ ที่เราใช้บริการนั้น ปลอดภัยหรือไม่
โดยการ กรอก URL ของเว็บไซต์นั้น ไปยังเครื่องมือตรวจสอบ
ที่ใช้ในการตรวจสอบตาม Link URL ตัวอย่างข้างล่าง

–       //www.ssllabs.com/ssltest/

–       //lastpass.com/heartbleed/

–       //filippo.io/Heartbleed/

–       //al2014ad002.thaicert.or.th/

image005_(2)

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