Commit untuk proyek OpenSSH menambah perlindungan untuk private key dalam memori ketika mereka tidak digunakan, hal ini membuat lebih sulit bagi musuh untuk mengekstraksinya melalui serangan side-channel.
Modifikasi tersebut berasal dari Damien Miller, pengembang OpenBSD dan peneliti keamanan di Google. Perlindungan yang diberikan melalui perubahannya terdiri dari penerapan enkripsi simetris ke private key OpenSSH yang disimpan dalam RAM.
Menjaga private key OpenSSH terenkripsi
Miller mengatakan bahwa commit-nya membuat serangan seperti Spectre, Meltdown, Rowhammer dan RAMBleed, yang ditunjukkan demonstrasinya oleh para peneliti dengan mencuri kunci OpenSSH dari RAM.
Kunci simetris yang menjaga private key dalam memori itu “berasal dari ‘prekey’ yang relatif besar, yang terdiri dari data acak (saat ini 16KB),” jelas Miller dalam catatan commit.
Cara kerjanya adalah kunci dienkripsi saat dimuat di memori dan didekripsi kapan pun diperlukan untuk masuk atau harus disimpan.
Meskipun tindakan pencegahan ini bukan solusi lengkap terhadap serangan perangkat keras, hal itu membuat penyerang lebih sulit untuk mencapai kesuksesan.
“Penyerang harus memulihkan seluruh prekey dengan akurasi tinggi sebelum mereka dapat mencoba mendekripsi private key yang terlindungi, tetapi generasi serangan saat ini memiliki tingkat kesalahan bit yang, ketika diterapkan secara kumulatif ke seluruh prekey, membuat ini tidak mungkin.”
Perubahan dalam OpenSSH ini dimaksudkan untuk jangka panjang tetapi tujuannya bukan untuk menjadi permanen; Miller berharap commit-nya dapat ditarik ketika perangkat keras menjadi lebih aman.