Beeinflusst Heartbleed ssh-Schlüssel?

40

Hat der letzte Heartbleed-Fehler Auswirkungen auf die SSH-Schlüssel, die ich generiert und zum Pushen / Ziehen von Code mit Github, Heroku und anderen ähnlichen Sites verwendet habe?

Muss ich die von mir verwendeten Schlüssel ersetzen?

LikeMaBell
quelle

Antworten:

47

Nein, Heartbleed wirkt sich nicht wirklich auf SSH-Schlüssel aus, sodass Sie die von Ihnen verwendeten SSH-Schlüssel wahrscheinlich nicht ersetzen müssen.

Erstens sind SSL und SSH zwei verschiedene Sicherheitsprotokolle für zwei verschiedene Zwecke. Ebenso sind OpenSSL und OpenSSH auch zwei völlig unterschiedliche Softwarepakete, trotz der Ähnlichkeiten in ihren Namen.

Zweitens führt der Heartbleed-Exploit dazu, dass der anfällige OpenSSL TLS / DTLS-Peer zufällige 64 KB Arbeitsspeicher zurückgibt, der jedoch mit ziemlicher Sicherheit auf den für diesen OpenSSL-Prozess verfügbaren Arbeitsspeicher beschränkt ist. Wenn dieser OpenSSL-Prozess keinen Zugriff auf Ihren privaten SSH-Schlüssel hat, kann er nicht über Heartbleed weitergeleitet werden.

Außerdem legen Sie Ihren öffentlichen SSH- Schlüssel in der Regel nur auf Servern ab, zu denen Sie über SSH eine Verbindung herstellen. Wie der Name schon sagt, können Sie einen öffentlichen Schlüssel veröffentlichen. Es ist egal, wer es weiß. In der Tat möchten Sie, dass die Öffentlichkeit Ihren richtigen öffentlichen Schlüssel kennt.

Vielen Dank an @Bob für den Hinweis, dass die Sicherheitsanfälligkeit Client-Apps betreffen kann, die anfällige Versionen von OpenSSL als clientseitige TLS / DTLS-Bibliothek verwenden. Wenn beispielsweise Ihr Webbrowser oder Ihr SSL-basierter VPN-Client eine anfällige Version von OpenSSL verwendet und eine Verbindung zu einem böswilligen Server hergestellt hat, könnte dieser böswillige Server Heartbleed verwenden, um zufällige Auszüge aus dem Speicher der Client-Software anzuzeigen. Wenn diese Client-App aus irgendeinem Grund eine Kopie Ihrer privaten SSH-Schlüssel im Speicher hat, kann dies über Heartbleed passieren.

Ich habe keine andere Software als SSH im Kopf, die eine Kopie Ihres unverschlüsselten privaten SSH-Schlüssels im Speicher haben könnte. Das setzt voraus, dass Sie Ihre privaten SSH-Schlüssel auf der Festplatte verschlüsselt halten. Wenn Sie Ihre privaten SSH-Schlüssel nicht auf der Festplatte verschlüsselt haben, hätten Sie wahrscheinlich ein OpenSSL TLS-verwendendes Dateiübertragungs- oder Sicherungsprogramm zum Kopieren oder Sichern Ihres Home-Verzeichnisses über das Netzwerk (einschließlich Ihres ~/.ssh/id_rsaoder eines anderen privaten SSH-Schlüssels) verwenden können ), dann könnte sich eine unverschlüsselte Kopie Ihres privaten SSH-Schlüssels im Speicher befinden. Wenn Sie Ihren unverschlüsselten privaten SSH-Schlüssel auf einem böswilligen Server sichern, haben Sie wahrscheinlich größere Sorgen als Heartbleed. :-)

Spiff
quelle
3
Beachten Sie, dass der öffentliche Kommentar wirklich irrelevant ist - Heartbleed betrifft sowohl Clients als auch Server. Sie haben jedoch Recht, dass SSH anders ist und von dieser besonderen Sicherheitsanfälligkeit nicht betroffen ist .
Bob
1
@ Bob Danke, die Heartbleed-Beschreibungen waren so serverorientiert, dass ich die clientseitigen Auswirkungen nicht bemerkt hatte. Ich habe meine Antwort aktualisiert, um das besser anzugehen. Ich denke immer noch, dass es sehr unwahrscheinlich ist, dass Leute einen privaten SSH-Schlüssel irgendwo hinterlassen haben, damit ein Heartbleed-anfälliger Prozess ihn möglicherweise verlieren kann.
Spiff
1
Zu erwähnen ist, dass SSH die OpenSSL-Bibliothek zur Verschlüsselung verwendet. Wie Sie bereits betont haben, ist ssh vom Heartbleed-Exploit nicht betroffen, da es sich um ein anderes Protokoll handelt.
Psibar
1

"Zweitens führt der Heartbleed-Exploit dazu, dass der anfällige OpenSSL TLS / DTLS-Peer zufällige 64 KB Arbeitsspeicher zurückgibt, aber mit ziemlicher Sicherheit ist er auf den für diesen OpenSSL-Prozess verfügbaren Arbeitsspeicher beschränkt."

Wenn die Maschine kompromittiert wird, wie können Sie dann irgendetwas darauf vertrauen, einschließlich ssh? von heartbleed.com

"Was leckt in der Praxis?

Wir haben einige unserer eigenen Dienste aus der Sicht eines Angreifers getestet. Wir griffen uns von außen an, ohne eine Spur zu hinterlassen. Ohne die Verwendung privilegierter Informationen oder Anmeldeinformationen konnten wir die geheimen Schlüssel für unsere X.509-Zertifikate, Benutzernamen und Kennwörter, Sofortnachrichten, E-Mails sowie geschäftskritische Dokumente und die Kommunikation stehlen. "

Möglicherweise hat jemand einen privaten Schlüssel ohne Passphrase auf einem Server abgelegt, von dem angenommen wurde, dass er nicht böswillig ist. b / c SSL-Fehler erlaubte es einem Benutzer, sein Passwort auszugeben, ein Benutzer, der 'sudo' hatte ... es ist wahrscheinlich kein Problem ... aber ...

Leute machen manchmal verrückte Sachen

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

Don Bright
quelle
Ich denke, dieses Zitat bezieht sich auf einen Mann im mittleren Angriff mit den gestohlenen TLS-Schlüsseln. Ein Angreifer sollte nicht in der Lage sein, von anderen Programmen aus auf den Speicher zuzugreifen, da sonst ein Sicherheitsproblem im Betriebssystem hervorgehoben wird.
Matthew Mitchell
Wenn ein Benutzer seinen unverschlüsselten privaten SSH-Schlüssel auf Servern abgelegt hat, ist er unserer Hilfe nicht zugänglich. Senden Sie ihm einen Link zu piv.pivpiv.dk .
Spiff