Heartbleed ส่งผลกระทบต่อปุ่ม ssh หรือไม่?


40

Heartbleed bug ล่าสุดส่งผลกระทบต่อปุ่ม ssh ที่ฉันสร้างขึ้นและใช้ในการผลัก / ดึงโค้ดด้วย Github, Heroku และไซต์อื่น ๆ ที่คล้ายกันหรือไม่

ฉันต้องเปลี่ยนกุญแจที่ฉันใช้หรือไม่

คำตอบ:


47

ไม่ Heartbleed ไม่ส่งผลกระทบต่อคีย์ SSH ดังนั้นคุณอาจไม่จำเป็นต้องแทนที่คีย์ SSH ที่คุณใช้งานอยู่

ก่อน SSL และ SSH เป็นสองโปรโตคอลความปลอดภัยที่แตกต่างกันสำหรับการใช้งานที่แตกต่างกันสอง ในทำนองเดียวกัน OpenSSL และ OpenSSH ก็เป็นสองชุดซอฟต์แวร์ที่แตกต่างกันโดยสิ้นเชิงแม้จะมีชื่อเหมือนกัน

ประการที่สองการใช้ประโยชน์จาก Heartbleed ส่งผลให้เพียร์ OpenSSL TLS / DTLS ที่มีช่องโหว่นั้นจะส่งคืนหน่วยความจำ 64kB แบบสุ่ม แต่ก็เกือบจะ จำกัด การเข้าถึงหน่วยความจำของกระบวนการที่ใช้ OpenSSL หากกระบวนการที่ใช้ OpenSSL นั้นไม่มีสิทธิ์เข้าถึงคีย์ส่วนตัว SSH ของคุณแสดงว่าไม่สามารถรั่วไหลผ่าน Heartbleed ได้

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

ขอขอบคุณ @Bob ที่ชี้ให้เห็นว่าช่องโหว่ดังกล่าวสามารถส่งผลกระทบต่อแอพไคลเอ็นต์ที่ใช้ OpenSSL เวอร์ชันที่มีช่องโหว่เป็นห้องสมุด TLS / DTLS ฝั่งไคลเอ็นต์ ตัวอย่างเช่นถ้าเว็บเบราว์เซอร์หรือไคลเอนต์ VPN ที่ใช้ SSL ของคุณใช้ OpenSSL เวอร์ชันที่มีช่องโหว่และเชื่อมต่อกับเซิร์ฟเวอร์ที่เป็นอันตรายเซิร์ฟเวอร์ที่เป็นอันตรายนั้นอาจใช้ Heartbleed เพื่อดูตัวอย่างโค้ดของหน่วยความจำของซอฟต์แวร์ไคลเอ็นต์นั้น หากแอปไคลเอนต์นั้นมีสำเนาของคีย์ส่วนตัว SSH ของคุณในหน่วยความจำด้วยเหตุผลบางอย่างอาจทำให้เกิดการรั่วไหลผ่าน Heartbleed

ฉันไม่ได้นึกถึงซอฟต์แวร์ใด ๆ นอกจาก SSH ที่สามารถมีสำเนาของคีย์ส่วนตัว SSH ที่ไม่ได้เข้ารหัสในหน่วยความจำ ทีนี้สมมุติว่าคุณเก็บรหัสส่วนตัว SSH ไว้ในดิสก์ หากคุณไม่เก็บรหัสส่วนตัว SSH ไว้ในดิสก์ฉันคิดว่าคุณสามารถใช้ OpenSSL TLS โดยใช้การถ่ายโอนไฟล์หรือโปรแกรมสำรองข้อมูลเพื่อคัดลอกหรือสำรองไดเรกทอรีภายในบ้านของคุณผ่านเครือข่าย (รวมถึง~/.ssh/id_rsaกุญแจส่วนตัวของคุณหรือ SSH อื่น ๆ ) จากนั้นอาจมีการคัดลอกคีย์ส่วนตัว SSH ของคุณในหน่วยความจำ จากนั้นอีกครั้งหากคุณสำรองข้อมูลคีย์ส่วนตัว SSH ที่ไม่ได้เข้ารหัสไปยังเซิร์ฟเวอร์ที่เป็นอันตรายคุณอาจมีความกังวลมากกว่า Heartbleed :-)


3
โปรดทราบว่าความคิดเห็นสาธารณะไม่เกี่ยวข้องจริง ๆ - Heartbleed ส่งผลกระทบต่อทั้งลูกค้าและเซิร์ฟเวอร์ แต่คุณถูกต้องใน SSH นั้นแตกต่างและไม่ได้รับผลกระทบจากช่องโหว่นี้
บ๊อบ

1
@Bob ขอบคุณ Heartbleed writeups ได้รับการมุ่งเน้นเพื่อให้เซิร์ฟเวอร์ที่ฉันไม่ได้ตระหนักถึงการแบ่งด้านลูกค้า ฉันได้อัปเดตคำตอบของฉันเป็นที่อยู่ที่ดีขึ้นแล้ว ฉันยังคิดว่าผู้คนไม่น่าจะทิ้งกุญแจส่วนตัวของ SSH ที่ไหนสักแห่งที่กระบวนการที่เสี่ยงต่อการถูก Heartbleed อาจสามารถรั่วไหลได้
Spiff

1
หนึ่งควรพูดถึงว่า SSH ใช้ห้องสมุด OpenSSL สำหรับการเข้ารหัส ดังที่คุณได้ชี้ให้เห็นอย่างไรก็ตาม ssh ไม่ได้รับผลกระทบจากการใช้ประโยชน์จาก Heartbleed เนื่องจากเป็นโปรโตคอลที่แตกต่างกัน
psibar

1

"ประการที่สองการใช้ประโยชน์จาก Heartbleed ทำให้เพียร์ OpenSSL TLS / DTLS ที่มีช่องโหว่กลับมาคืนค่าหน่วยความจำ 64kB แบบสุ่ม

หากเครื่องได้รับอันตรายคุณจะไว้ใจอะไรได้รวมถึง ssh? จาก heartbleed.com

"การรั่วไหลในทางปฏิบัติคืออะไร?

เราได้ทดสอบบริการบางอย่างของเราเองจากมุมมองของผู้โจมตี เราโจมตีตัวเองจากภายนอกโดยไม่ทิ้งร่องรอย เราสามารถขโมยรหัสลับที่ใช้สำหรับใบรับรอง X.509 ชื่อผู้ใช้และรหัสผ่านข้อความโต้ตอบแบบทันทีอีเมลและเอกสารสำคัญทางธุรกิจและการสื่อสารโดยไม่ต้องใช้ข้อมูลหรือข้อมูลรับรองใด ๆ "

บางคนอาจใส่รหัสส่วนตัวโดยไม่มีข้อความรหัสผ่านบนเซิร์ฟเวอร์พวกเขาคิดว่าไม่ได้เป็นอันตราย ... แต่กลับกลายเป็น b / c ข้อผิดพลาด SSL อนุญาตให้ใช้รหัสผ่านของผู้ใช้ผู้ใช้ที่มี 'sudo' ... อาจไม่ใช่ปัญหา .... แต่ ...

คนทำสิ่งที่บ้าบางครั้ง

http://blog.visionsource.org/2010/08/28/mining-passwords-from-public-github-repositories/


ฉันคิดว่าคำพูดหมายถึงชายคนหนึ่งในการโจมตีระดับกลางโดยใช้กุญแจ TLS ที่ถูกขโมย ผู้โจมตีไม่สามารถเข้าถึงหน่วยความจำจากโปรแกรมอื่นเป็นอย่างอื่นที่เน้นปัญหาความปลอดภัยในระบบปฏิบัติการ
Matthew Mitchell

หากผู้ใช้ใส่กุญแจ SSH ส่วนตัวที่ไม่ได้เข้ารหัสบนเซิร์ฟเวอร์แสดงว่าเขาอยู่นอกเหนือความช่วยเหลือของเรา ส่งเขาเชื่อมโยงไปยังpiv.pivpiv.dk
Spiff
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.