Apakah Heartbleed memengaruhi kunci ssh?

40

Apakah bug Heartbleed terbaru memengaruhi kunci ssh yang saya buat dan gunakan untuk mendorong / menarik kode dengan Github, Heroku, dan situs serupa lainnya?

Apakah saya perlu mengganti kunci yang telah saya gunakan?

SukaMaBell
sumber

Jawaban:

47

Tidak, Heartbleed tidak terlalu memengaruhi kunci SSH, jadi Anda mungkin tidak perlu mengganti kunci SSH yang telah Anda gunakan.

Pertama, SSL dan SSH adalah dua protokol keamanan yang berbeda untuk dua penggunaan yang berbeda. Demikian juga, OpenSSL dan OpenSSH juga dua paket perangkat lunak yang sama sekali berbeda, meskipun ada kesamaan dalam namanya.

Kedua, exploit Heartbleed menyebabkan peer OpenSSL TLS / DTLS yang rentan mengembalikan memori 64kB secara acak, tetapi hampir pasti terbatas pada memori yang dapat diakses oleh proses penggunaan OpenSSL. Jika proses penggunaan OpenSSL tidak memiliki akses ke kunci pribadi SSH Anda, maka itu tidak dapat membocorkannya melalui Heartbleed.

Selain itu, Anda biasanya hanya memasukkan kunci publik SSH di server yang Anda gunakan untuk menyambungkan SSH, dan seperti namanya, kunci publik adalah kunci yang dapat Anda publikasikan. Tidak masalah siapa tahu itu. Bahkan, Anda ingin publik mengetahui kunci publik Anda yang benar.

Terima kasih kepada @Bob untuk menunjukkan bahwa kerentanan dapat memengaruhi aplikasi klien yang menggunakan versi rentan OpenSSL sebagai pustaka TLS / DTLS sisi klien mereka. Jadi jika, misalnya, browser web Anda atau klien VPN berbasis SSL menggunakan versi OpenSSL yang rentan, dan terhubung ke server jahat, server jahat itu dapat menggunakan Heartbleed untuk melihat potongan acak dari memori perangkat lunak klien itu. Jika aplikasi klien itu karena suatu alasan memiliki salinan kunci pribadi SSH Anda dalam memori, maka itu dapat bocor melalui Heartbleed.

Dari atas kepala saya, saya tidak memikirkan perangkat lunak selain SSH yang dapat memiliki salinan kunci pribadi SSH tidak terenkripsi Anda dalam memori. Nah, itu mengasumsikan Anda menyimpan kunci pribadi SSH Anda dienkripsi pada disk. Jika Anda tidak menyimpan kunci pribadi SSH Anda dienkripsi pada disk, maka saya kira Anda bisa menggunakan beberapa OpenSSL TLS menggunakan transfer file atau program cadangan untuk menyalin atau membuat cadangan direktori rumah Anda melalui jaringan (termasuk ~/.ssh/id_rsakunci pribadi SSH Anda atau lainnya ), maka itu dapat memiliki salinan kunci pribadi SSH Anda yang tidak dienkripsi dalam memori. Kemudian lagi, jika Anda mencadangkan kunci pribadi SSH yang tidak terenkripsi ke server jahat, Anda mungkin memiliki kekhawatiran lebih besar daripada Heartbleed. :-)

Spiff
sumber
3
Perhatikan bahwa komentar publik benar-benar tidak relevan - Heartbleed memengaruhi klien dan server. Tetapi Anda benar karena SSH berbeda dan tidak terpengaruh oleh kerentanan khusus ini .
Bob
1
@ Bob Terima kasih, Langgan Heartbleed telah sangat berfokus pada server sehingga saya tidak menyadari konsekuensi dari sisi klien. Saya telah memperbarui Jawaban saya ke alamat yang lebih baik itu. Saya masih berpikir orang sangat tidak mungkin meninggalkan kunci pribadi SSH di suatu tempat bahwa proses rentan Heartbleed mungkin dapat membocorkannya.
Spiff
1
Orang harus menyebutkan bahwa SSH menggunakan pustaka OpenSSL untuk enkripsi. Seperti yang Anda tunjukkan, ssh tidak terpengaruh oleh eksploit yang hati-hati karena ini adalah protokol yang berbeda.
psibar
1

"Kedua, exploit Heartbleed menyebabkan peer OpenSSL TLS / DTLS yang rentan mengembalikan memori 64kB acak, tetapi hampir pasti terbatas pada memori yang dapat diakses oleh proses penggunaan OpenSSL."

jika mesin dikompromikan lalu bagaimana Anda bisa mempercayai apa pun di dalamnya, termasuk ssh? dari heartbleed.com

"Kebocoran apa dalam praktek?

Kami telah menguji beberapa layanan kami sendiri dari sudut pandang penyerang. Kami menyerang diri sendiri dari luar, tanpa meninggalkan jejak. Tanpa menggunakan informasi atau kredensial istimewa, kami dapat mencuri dari diri kami kunci rahasia yang digunakan untuk sertifikat X.509, nama pengguna dan kata sandi, pesan instan, email, serta dokumen dan komunikasi penting bisnis kami. "

seseorang mungkin telah meletakkan kunci pribadi, tanpa frasa sandi, pada server yang mereka anggap tidak berbahaya ... tetapi ternyata demikian. b / c Bug SSL mengizinkan kata sandi pengguna keluar, pengguna yang memiliki 'sudo' ... mungkin bukan masalah .... tapi ...

terkadang orang melakukan hal-hal gila

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

jangan cerah
sumber
Saya pikir kutipan mengacu pada seorang pria dalam serangan tengah menggunakan kunci TLS yang dicuri. Penyerang seharusnya tidak dapat mengakses memori dari program lain jika tidak menyoroti masalah keamanan dalam sistem operasi.
Matius Mitchell
Jika pengguna telah meletakkan kunci SSH pribadi yang tidak terenkripsi di server, maka ia berada di luar bantuan kami. Kirimi dia tautan ke piv.pivpiv.dk .
Spiff