Влияет ли Heartbleed на ssh-ключи?

24185
LikeMaBell

Влияет ли недавняя ошибка Heartbleed на ssh-ключи, которые я сгенерировал и использовал для отправки / извлечения кода с Github, Heroku и другими подобными сайтами?

Нужно ли заменить ключи, которые я использовал?

40

2 ответа на вопрос

47
Spiff

Нет, Heartbleed на самом деле не влияет на ключи SSH, поэтому вам, вероятно, не нужно заменять используемые вами ключи SSH.

Во-первых, SSL и SSH - это два разных протокола безопасности для двух разных применений. Аналогично, OpenSSL и OpenSSH также являются двумя совершенно разными программными пакетами, несмотря на сходство их названий.

Во-вторых, эксплойт Heartbleed заставляет уязвимый узел TLS / DTLS OpenSSL возвращать случайные 64 КБ памяти, но он почти наверняка ограничен памятью, доступной этому процессу, использующему 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. :-)

Обратите внимание, что общественное обсуждение действительно не имеет значения - Heartbleed влияет как на клиентов, так и на серверы. Но вы правы в том, что SSH отличается [и не подвержен этой конкретной уязвимости] (http://security.stackexchange.com/questions/55076/what-should-a-website-operator-do-about-the-heartbleed -openssl-эксплуатируют # comment87050_55076). Bob 10 лет назад 3
@Bob Спасибо, рецензии Heartbleed были настолько ориентированы на сервер, что я не осознавал разветвлений на стороне клиента. Я обновил свой ответ, чтобы лучше решить эту проблему. Я до сих пор думаю, что люди вряд ли оставят где-нибудь закрытый ключ SSH, чтобы процесс, уязвимый для Heartbleed, мог его утечь. Spiff 10 лет назад 1
Следует отметить, что SSH использует библиотеку OpenSSL для шифрования. Как вы указали, однако, ssh не подвержен уязвимости, поскольку это другой протокол. psibar 10 лет назад 1
1
don bright

"Second, the Heartbleed exploit causes the vulnerable OpenSSL TLS/DTLS peer to return a random 64kB of memory, but it's almost certainly limited to memory accessible to that OpenSSL-using process. "

if the machine gets compromised then how can you trust anything on it, including ssh? from heartbleed.com

" What leaks in practice?

We have tested some of our own services from attacker's perspective. We attacked ourselves from outside, without leaving a trace. Without using any privileged information or credentials we were able steal from ourselves the secret keys used for our X.509 certificates, user names and passwords, instant messages, emails and business critical documents and communication. "

someone might have put a private key, with no passphrase, on a server they assumed wasnt malicious... but turned out to be. b/c SSL bug allowed a user's password out, a user who had 'sudo'... its probably not an issue.... but...

people do crazy stuff sometimes

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

Я думаю, что цитата относится к человеку в середине атаки, использующему украденные ключи TLS. Злоумышленник не должен иметь доступ к памяти из других программ, в противном случае это указывает на проблему безопасности в операционной системе. Matthew Mitchell 10 лет назад 0
Если пользователь помещает свой незашифрованный закрытый SSH-ключ на серверы, он нам не поможет. Отправьте ему ссылку на http://piv.pivpiv.dk/. Spiff 10 лет назад 0

Похожие вопросы