ขั้นแรกก่อนที่จะเริ่มต้นโปรดตรวจสอบให้แน่ใจว่าคุณเข้าใจหรือไม่ว่าช่องโหว่นี้มีผลกับคุณหรือไม่ หากคุณมีเซิร์ฟเวอร์ แต่ไม่เคยมีแอปพลิเคชันใด ๆ ที่ใช้ TLS จริง ๆ นี่ไม่ใช่สิ่งสำคัญสำหรับคุณที่จะแก้ไข ในทางกลับกันถ้าคุณเคยมีแอปพลิเคชั่นที่เปิดใช้งาน TLS อยู่แล้วคุณก็จะได้รับการปฏิบัติ อ่านต่อ:
CVE-2014-0160 คืออะไร "Heartbleed"
มันเป็นเรื่องวุ่นวายที่ยิ่งใหญ่นั่นคือสิ่งที่มันเป็น กล่าวโดยย่อคือช่องโหว่ที่หาประโยชน์จากระยะไกลถูกค้นพบใน OpenSSL เวอร์ชั่น 1.0.1 ถึง 1.0.1f ซึ่งผู้โจมตีสามารถอ่านหน่วยความจำระบบบางส่วนได้ ส่วนเหล่านั้นคือสิ่งที่เก็บข้อมูลที่มีความอ่อนไหวเช่นไพรเวตคีย์, คีย์ที่แบ่งใช้ล่วงหน้า, รหัสผ่านและข้อมูลองค์กรที่มีมูลค่าสูงท่ามกลางสิ่งอื่น ๆ
ข้อผิดพลาดถูกค้นพบโดย Neel Mehta จาก Google Security (21 มีนาคม 2014) และ บริษัท ทดสอบความปลอดภัยด้านไอทีของฟินแลนด์ Codenomicon (2 เมษายน 2014)
สาเหตุคืออะไร?
ดีรหัสผิดใน OpenSSL นี่คือการคอมมิชชันที่แนะนำช่องโหว่และนี่คือคอมมิชชันที่แก้ไขช่องโหว่ ข้อผิดพลาดปรากฏขึ้นในเดือนธันวาคม 2011 และได้รับการติดตั้งแล้ววันนี้ 7 เมษายน 2014
ข้อผิดพลาดสามารถถูกมองว่าเป็นอาการของปัญหาที่ใหญ่กว่า ปัญหาที่เกี่ยวข้องสองประการคือ (1) กระบวนการใดที่มีอยู่เพื่อให้แน่ใจว่าโค้ดที่ผิดพลาดนั้นไม่ได้ถูกนำมาใช้กับฐานของรหัสและ (2) ทำไมโปรโตคอลและส่วนขยายจึงซับซ้อนและยากที่จะทดสอบ รายการ (1) เป็นปัญหาด้านการกำกับดูแลและการดำเนินการกับ OpenSSL และโครงการอื่น ๆ อีกมากมาย นักพัฒนาหลายคนต่อต้านการปฏิบัติเช่นการตรวจสอบโค้ดการวิเคราะห์และการสแกน กำลังสนทนารายการ (2) ใน TLS WG ของ IETF ดูHeartbleed / ซับซ้อนโปรโตคอล
มีการใส่รหัสผิดพลาดไว้อย่างประสงค์ร้ายหรือไม่?
ฉันจะไม่คาดเดาว่านี่เป็นความผิดพลาดอย่างแท้จริงหรืออาจเป็นรหัสที่ลื่นไหลในนามของนักแสดงที่ไม่ดี อย่างไรก็ตามผู้พัฒนารหัสสำหรับ OpenSSL ระบุว่ามันไม่ได้ตั้งใจ ดูคนที่แนะนำบกพร่องด้านความปลอดภัยร้ายแรง 'Heartbleed' ปฏิเสธเขาแทรกมันจงใจ
ระบบปฏิบัติการและเวอร์ชั่นของ OpenSSL มีช่องโหว่อะไรบ้าง?
ดังกล่าวข้างต้นระบบปฏิบัติการใด ๆ ที่ใช้หรือแอปพลิเคชันที่เชื่อมโยงกับ OpenSSL 1.0.1 ถึง 1.0.1f
มีอาการอะไรบ้างมีวิธีการใดในการตรวจสอบหาช่องโหว่ที่ประสบความสำเร็จ?
นี่คือส่วนที่น่ากลัว เท่าที่เราทราบไม่มีวิธีการตรวจสอบว่าช่องโหว่นี้ถูกใช้ประโยชน์หรือไม่ มีความเป็นไปได้ในทางทฤษฎีว่า IDS จะถูกปล่อยออกมาในไม่ช้าซึ่งสามารถตรวจจับการโกงนี้ได้ แต่จากการเขียนนี้จะไม่สามารถใช้งานได้
มีหลักฐานว่า Heartbleed ถูกเอาเปรียบอย่างแข็งขันในช่วงต้นเดือนพฤศจิกายน 2013 ดู EFF's Wild at Heart: มีสำนักข่าวกรองที่ใช้ Heartbleed ในเดือนพฤศจิกายน 2013 หรือไม่? และ Bloomberg รายงานว่า NSA ได้ใช้ประโยชน์จากช่องโหว่นี้ในไม่ช้าหลังจากที่มีการเปิดช่องโหว่ ดูเอ็นเอสเอกล่าวว่าการใช้ประโยชน์จากข้อผิดพลาด Heartbleed หน่วยสืบราชการลับมานานหลายปี อย่างไรก็ตามชุมชนข่าวกรองสหรัฐปฏิเสธข้อเรียกร้องของ Bloomberg ดูIC ในบันทึก
ฉันจะตรวจสอบว่าระบบของฉันได้รับผลกระทบได้อย่างไร?
หากคุณรักษา OpenSSL ไว้ในระบบของคุณคุณสามารถออกopenssl version
:
$ openssl version
OpenSSL 1.0.1g 7 Apr 2014
หากการจัดจำหน่ายคือการรักษา OpenSSL แล้วคุณอาจจะไม่สามารถตรวจสอบรุ่นของ OpenSSL เนื่องจากการกลับมาซ่อมโดยใช้openssl
คำสั่งหรือข้อมูลแพคเกจ (ตัวอย่างเช่นapt-get
, dpkg
, yum
หรือrpm
) กระบวนการปรับปรุงแก้ไขด้านหลังที่ใช้โดยการแจกแจงส่วนใหญ่ (ทั้งหมด?) จะใช้หมายเลขรุ่นพื้นฐานเท่านั้น (ตัวอย่างเช่น "1.0.1e"); และไม่รวมรุ่นความปลอดภัยที่มีประสิทธิภาพ (ตัวอย่างเช่น "1.0.1g")
มีคำถามแบบเปิดเกี่ยวกับ Super User เพื่อพิจารณาเวอร์ชันความปลอดภัยที่มีประสิทธิภาพสำหรับ OpenSSL และแพ็คเกจอื่น ๆ เมื่อแพ็คเกจถูกแบ็คแพ็ต น่าเสียดายที่ไม่มีคำตอบที่เป็นประโยชน์ (นอกเหนือจากตรวจสอบเว็บไซต์ของ distro) ดูกำหนดรุ่นความปลอดภัยที่มีประสิทธิภาพเมื่อประสบกับ Backpatching ?
ตามกฎทั่วไป: หากคุณเคยติดตั้งหนึ่งในเวอร์ชันที่ได้รับผลกระทบและเคยเรียกใช้โปรแกรมหรือบริการที่เชื่อมโยงกับ OpenSSL สำหรับการสนับสนุน TLS แสดงว่าคุณมีความเสี่ยง
ฉันจะหาโปรแกรมที่จะทดสอบช่องโหว่ได้จากที่ใด
ภายในไม่กี่ชั่วโมงหลังจากมีการประกาศ Heartbleed หลายคนบนอินเทอร์เน็ตได้เผยแพร่เว็บแอปพลิเคชั่นที่สาธารณชนเข้าถึงได้ซึ่งคาดว่าจะสามารถใช้เพื่อตรวจสอบเซิร์ฟเวอร์ว่ามีช่องโหว่นี้หรือไม่ จากการเขียนนี้ฉันยังไม่ได้ตรวจสอบใด ๆ ดังนั้นฉันจะไม่เผยแพร่แอปพลิเคชันของพวกเขาต่อไป พวกเขาสามารถพบได้ค่อนข้างง่ายด้วยความช่วยเหลือของเครื่องมือค้นหาที่คุณต้องการ
ช่องโหว่นี้บรรเทาลงได้อย่างไร
อัปเกรดเป็นเวอร์ชันที่ไม่มีความเสี่ยงและรีเซ็ตหรือป้องกันข้อมูลที่มีความเสี่ยงอีกครั้ง ดังที่กล่าวไว้ในเว็บไซต์Heartbleedขั้นตอนการตอบสนองที่เหมาะสมนั้นมีความกว้าง:
- แก้ไขระบบที่มีช่องโหว่
- สร้างคีย์ส่วนตัวใหม่
- ส่ง CSR ใหม่ไปที่ CA ของคุณ
- รับและติดตั้งใบรับรองที่ลงนามใหม่
- ทำให้คีย์เซสชันและคุกกี้ใช้ไม่ได้
- รีเซ็ตรหัสผ่านและความลับที่แชร์
- เพิกถอนใบรับรองเก่า
สำหรับการวิเคราะห์และคำตอบโดยละเอียดเพิ่มเติมโปรดดูที่ผู้ให้บริการเว็บไซต์ควรทำอย่างไรเกี่ยวกับการใช้ประโยชน์จาก Heartbleed OpenSSL ในการแลกเปลี่ยนความปลอดภัยสแต็ค
ฉันควรกังวลว่ากุญแจหรือข้อมูลส่วนตัวอื่น ๆ ของฉันถูกบุกรุกหรือไม่? ฉันควรคำนึงถึงผลข้างเคียงอะไรบ้าง
อย่างแน่นอน ผู้ดูแลระบบจำเป็นต้องสมมติว่าเซิร์ฟเวอร์ของพวกเขาซึ่งใช้รุ่น OpenSSL ที่มีช่องโหว่นั้นถูกบุกรุกและตอบสนองตามความเหมาะสม
ไม่นานหลังจากที่มีการเปิดเผยช่องโหว่ Cloudfare เสนอความท้าทายเพื่อดูว่าสามารถกู้คืนคีย์ส่วนตัวของเซิร์ฟเวอร์ในทางปฏิบัติได้หรือไม่ ความท้าทายได้รับรางวัลอย่างเป็นอิสระจาก Fedor Indutny และ Ilkka Mattila ดูHeartbleed ท้าทาย
ฉันจะหาข้อมูลเพิ่มเติมได้ที่ไหน
ลิงก์ดัมพ์สำหรับผู้ที่ต้องการรายละเอียดเพิ่มเติม:
รายละเอียดระยะเวลาค่อนข้างของเหตุการณ์เปิดเผยสามารถพบได้ที่Heartbleed เปิดเผยระยะเวลา: ใครจะรู้ว่าสิ่งที่และเมื่อ
หากคุณเป็นโปรแกรมเมอร์และมีความสนใจในเทคนิคการเขียนโปรแกรมต่างๆเช่นการตรวจจับการโจมตี Heartbleed ผ่าน OpenSSL ของmsg_cb
การเรียกกลับแล้วเห็น OpenSSL ของการรักษาความปลอดภัยที่ปรึกษา 2014047