ข้อผิดพลาดเป็นที่รู้จักกันHeartbleed
ฉันกำลังเสี่ยงไหม
โดยทั่วไปแล้วคุณจะได้รับผลกระทบหากคุณใช้เซิร์ฟเวอร์บางตัวที่คุณสร้างคีย์ SSL ไว้ในบางจุด ผู้ใช้ปลายทางส่วนใหญ่จะไม่ได้รับผลกระทบ (โดยตรง) อย่างน้อย Firefox และ Chrome ไม่ใช้ OpenSSL SSH ไม่ได้รับผลกระทบ การกระจายของแพ็คเกจ Ubuntu จะไม่ได้รับผลกระทบ (ขึ้นอยู่กับลายเซ็นของ GPG)
คุณมีความเสี่ยงหากคุณเรียกใช้เซิร์ฟเวอร์ชนิดใดก็ตามที่ใช้ OpenSSL เวอร์ชั่น 1.0–1.0.1f (ยกเว้นรุ่นของหลักสูตรที่ได้รับการแก้ไขเนื่องจากข้อผิดพลาดถูกค้นพบ) เวอร์ชัน Ubuntu ที่ได้รับผลกระทบคือ 11.10 oneiric ผ่าน 14.04 trusty pre-release มันเป็นข้อผิดพลาดในการใช้งานไม่ใช่ข้อบกพร่องในโปรโตคอลดังนั้นเฉพาะโปรแกรมที่ใช้ไลบรารี OpenSSL เท่านั้นที่จะได้รับผลกระทบ หากคุณมีโปรแกรมที่เชื่อมโยงกับ OpenSSL เวอร์ชัน 0.9.x เก่ามันจะไม่ได้รับผลกระทบ เฉพาะโปรแกรมที่ใช้ไลบรารี OpenSSL เพื่อใช้งานโปรโตคอล SSL เท่านั้นที่ได้รับผลกระทบ โปรแกรมที่ใช้ OpenSSL สำหรับสิ่งอื่น ๆ จะไม่ได้รับผลกระทบ
หากคุณใช้เซิร์ฟเวอร์ที่เสี่ยงต่อการสัมผัสกับอินเทอร์เน็ตให้พิจารณาว่าเป็นอันตรายเว้นแต่ว่าไฟล์บันทึกของคุณจะไม่มีการเชื่อมต่อนับตั้งแต่มีการประกาศใน 2014-04-07 (ซึ่งถือว่าเป็นช่องโหว่ที่ไม่ได้ใช้ประโยชน์ก่อนประกาศ) หากเซิร์ฟเวอร์ของคุณเปิดเผยเฉพาะภายในไม่ว่าคุณจะต้องเปลี่ยนคีย์จะขึ้นอยู่กับมาตรการรักษาความปลอดภัยอื่น ๆ
ผลกระทบคืออะไร?
ข้อผิดพลาดช่วยให้ลูกค้าที่สามารถเชื่อมต่อกับเซิร์ฟเวอร์ SSL ของคุณเพื่อเรียกคืนหน่วยความจำประมาณ 64kB จากเซิร์ฟเวอร์ ลูกค้าไม่จำเป็นต้องได้รับการตรวจสอบความถูกต้อง แต่อย่างใด โดยการโจมตีซ้ำลูกค้าสามารถถ่ายโอนข้อมูลส่วนต่าง ๆ ของหน่วยความจำในความพยายามอย่างต่อเนื่อง
ข้อมูลสำคัญชิ้นหนึ่งที่ผู้โจมตีอาจสามารถเรียกคืนได้คือคีย์ส่วนตัว SSL ของเซิร์ฟเวอร์ ด้วยข้อมูลนี้ผู้โจมตีสามารถเลียนแบบเซิร์ฟเวอร์ของคุณ
ฉันจะกู้คืนบนเซิร์ฟเวอร์ได้อย่างไร
ทำให้เซิร์ฟเวอร์ที่ได้รับผลกระทบทั้งหมดออฟไลน์ ตราบใดที่พวกเขากำลังทำงานพวกเขากำลังรั่วข้อมูลสำคัญ
อัปเกรดlibssl1.0.0
แพคเกจและตรวจสอบให้แน่ใจว่าเซิร์ฟเวอร์ที่ได้รับผลกระทบทั้งหมดเริ่มต้นใหม่
คุณสามารถตรวจสอบว่ากระบวนการที่ได้รับผลกระทบยังคงทำงานอยู่หรือไม่ด้วย `` grep 'libssl (ลบแล้ว) '/ proc / / maps`
สร้างคีย์ใหม่ สิ่งนี้จำเป็นเนื่องจากข้อผิดพลาดอาจทำให้ผู้โจมตีสามารถรับคีย์ส่วนตัวเก่าได้ ทำตามขั้นตอนเดียวกันกับที่คุณใช้ในตอนแรก
- หากคุณใช้ใบรับรองที่ลงนามโดยผู้ออกใบรับรองให้ส่งกุญแจสาธารณะใหม่ของคุณไปที่ CA เมื่อคุณได้รับใบรับรองใหม่ให้ติดตั้งบนเซิร์ฟเวอร์ของคุณ
- หากคุณใช้ใบรับรองที่ลงนามเองให้ติดตั้งบนเซิร์ฟเวอร์ของคุณ
- ไม่ว่าจะด้วยวิธีใดให้ย้ายคีย์เก่าและใบรับรองออกไป (แต่ไม่ต้องลบทิ้งเพียงแค่ให้แน่ใจว่าพวกเขาจะไม่ได้ใช้งานอีกต่อไป)
ตอนนี้คุณมีคีย์ใหม่ที่ไม่ยอมแพ้คุณสามารถนำเซิร์ฟเวอร์ของคุณกลับมาออนไลน์ได้
เพิกถอนใบรับรองเก่า
การประเมินความเสียหาย : ข้อมูลใด ๆ ที่อยู่ในหน่วยความจำของกระบวนการที่ให้บริการการเชื่อมต่อ SSL อาจมีการรั่วไหลออกไป ซึ่งอาจรวมถึงรหัสผ่านผู้ใช้และข้อมูลลับอื่น ๆ คุณต้องประเมินว่าข้อมูลนี้อาจเป็นอะไร
- หากคุณใช้บริการที่อนุญาตให้ตรวจสอบรหัสผ่านรหัสผ่านของผู้ใช้ที่เชื่อมต่อตั้งแต่ก่อนที่จะมีการประกาศช่องโหว่ควรได้รับการพิจารณาว่าเป็นอันตราย (ก่อนหน้านี้เล็กน้อยเนื่องจากรหัสผ่านอาจยังไม่ได้ใช้งานในหน่วยความจำชั่วครู่หนึ่ง) ตรวจสอบบันทึกของคุณและเปลี่ยนรหัสผ่านของผู้ใช้ที่ได้รับผลกระทบ
- ยังทำให้คุกกี้เซสชันทั้งหมดใช้งานไม่ได้เนื่องจากคุกกี้อาจถูกโจมตี
- ใบรับรองไคลเอ็นต์จะไม่ถูกบุกรุก
- ข้อมูลใด ๆ ที่มีการแลกเปลี่ยนกันมาตั้งแต่ก่อนที่ช่องโหว่อาจยังคงอยู่ในหน่วยความจำของเซิร์ฟเวอร์และอาจถูกรั่วไหลไปยังผู้โจมตี
- หากมีคนบันทึกการเชื่อมต่อ SSL เก่าและดึงกุญแจเซิร์ฟเวอร์ของคุณตอนนี้พวกเขาสามารถถอดรหัสการถอดเสียงได้ (ยกเว้นว่ามีPFS ที่แน่นอน - หากคุณไม่รู้ก็ไม่ได้)
ฉันจะกู้คืนลูกค้าได้อย่างไร?
มีเพียงไม่กี่สถานการณ์ที่แอปพลิเคชันไคลเอ็นต์ได้รับผลกระทบ ปัญหาด้านเซิร์ฟเวอร์คือทุกคนสามารถเชื่อมต่อกับเซิร์ฟเวอร์และใช้ประโยชน์จากข้อบกพร่อง ในการใช้ประโยชน์จากลูกค้าจะต้องปฏิบัติตามเงื่อนไขสามประการ:
- โปรแกรมไคลเอ็นต์ใช้ไลบรารี OpenSSL เวอร์ชัน buggy เพื่อใช้โปรโตคอล SSL
- ไคลเอ็นต์เชื่อมต่อกับเซิร์ฟเวอร์ที่เป็นอันตราย (ตัวอย่างเช่นหากคุณเชื่อมต่อกับผู้ให้บริการอีเมลนี่ไม่ใช่ข้อกังวล) สิ่งนี้จะเกิดขึ้นหลังจากเจ้าของเซิร์ฟเวอร์เริ่มตระหนักถึงความเสี่ยงดังกล่าวดังนั้นหลังจาก 2014-04-07
- กระบวนการไคลเอนต์มีข้อมูลลับในหน่วยความจำที่ไม่ได้แชร์กับเซิร์ฟเวอร์ (ดังนั้นหากคุณเพิ่ง
wget
จะดาวน์โหลดไฟล์ไม่มีข้อมูลรั่วไหล)
หากคุณทำเช่นนั้นระหว่าง 2014-04-07 ตอนเย็น UTC และอัปเกรดไลบรารี OpenSSL ของคุณให้พิจารณาข้อมูลใด ๆ ที่อยู่ในหน่วยความจำของกระบวนการไคลเอนต์เพื่อให้ถูกบุกรุก
อ้างอิง