Security - oder auch nicht. Das schwächste Glied der Kette.
Transcrição
Security - oder auch nicht. Das schwächste Glied der Kette.
Security - oder auch nicht. Das schwächste Glied der Kette. Wolfgang Dautermann FH JOANNEUM Chemnitzer Linuxtage 2009 www.fh-joanneum.at FAHRZEUGTECHNIK AUTOMOTIVE ENGINEERING & RAILWAY ENGINEERING 1 Netzwerkprotokolle 2 Verschlüsselung mit SSL 3 Gegenseitige Authentifizierung 4 Arten von Zertifikaten 4 Secure Shell (SSH) 5 Zusammenfassung www.fh-joanneum.at FAHRZEUGTECHNIK AUTOMOTIVE ENGINEERING & RAILWAY ENGINEERING Netzwerkprotokolle Übliche und bekannte Netzwerkprotokolle HTTP - Hypertext Transfer Protocol - (RFC 1945, Mai 19961 ) POP3 - Post Office Protocol Version 3 - (RFC 918, Oktober 19842 ) IMAP - Interactive Mail Access Protocol - (RFC 1064, Juli 19882,3 ) FTP - File Transfer Protocol - (RFC 765, Juni 19802 ) (telnet - Teletype Networking - (RFC 137, April 19712 )) ... ...sind relativ ALTE Netzwerkprotokolle. 1 RFC von 1996, entwickelt 1990 1. RFC, inzwischen öfters erweitert und weiterentwickelt 3 Heute: Internet Message Access Protocol 2 www.fh-joanneum.at FAHRZEUGTECHNIK AUTOMOTIVE ENGINEERING & RAILWAY ENGINEERING Netzwerkprotokolle II Sind definiert als ASCII-Klartextprotokolle + Einfach zu definieren + Einfach zu verstehen + Einfach zu implementieren. - Daten gehen unverschlüsselt durch die Weltgeschichte Das ist in den 70ern und 80ern nicht so wichtig, die Kriminellen sind noch nicht online, im Internet sind nur die Guten , + Wenig Rechenleistung erforderlich (und wenig Rechenleistung vorhanden!) www.fh-joanneum.at FAHRZEUGTECHNIK AUTOMOTIVE ENGINEERING & RAILWAY ENGINEERING Beispiel: Mailabfrage mit POP3 >> >> >> >> $ telnet 127.0.0.1 pop3 Trying 127.0.0.1... Connected to localhost (127.0.0.1). Escape character is ’^]’. +OK example.com POP3-Server ready USER dauti +OK Password required for dauti. PASS strenggeheim +OK dauti has 2 visible messages (0 hidden) in 1220 octets. RETR 2 +OK 662 octets Date: Sat, 28 Oct 2006 12:29:07 +0200 From: Wolfgang Dautermann <[email protected]> To: [email protected] Subject: testsubject testbody >> . quit +OK Pop server at example.com signing off. Connection closed by foreign host. www.fh-joanneum.at FAHRZEUGTECHNIK AUTOMOTIVE ENGINEERING & RAILWAY ENGINEERING Passwort-Sniffing - ettercap, dsniff & Co. www.fh-joanneum.at FAHRZEUGTECHNIK AUTOMOTIVE ENGINEERING & RAILWAY ENGINEERING Passwort-Sniffing - ettercap, dsniff & Co. II www.fh-joanneum.at FAHRZEUGTECHNIK AUTOMOTIVE ENGINEERING & RAILWAY ENGINEERING Passwort-Sniffing - ettercap, dsniff & Co.III ettercap, dsniff4 , etc. liefern: Protokoll IP-Adresse Portnummer Username Passwort . . . alles was man haben will. . . , 4 wird leider seit 2000 nicht mehr weiterentwickelt www.fh-joanneum.at FAHRZEUGTECHNIK AUTOMOTIVE ENGINEERING & RAILWAY ENGINEERING Lösung des Sicherheitsproblems: Verschlüsselung üblicherweise SSL - Secure Socket Layer entwickelt von Netscape Communications 1994 oberhalb der Transportschicht (z. B. TCP) und unter Anwendungsprotokollen wie HTTP oder IMAP existierende Protokolle können verschlüsselt werden. www.fh-joanneum.at FAHRZEUGTECHNIK AUTOMOTIVE ENGINEERING & RAILWAY ENGINEERING ENDE? Zwischen dem Sender und dem Empfänger kann nichts mehr mitgesnifft werden. Ende des Vortrags? ...oder gibts da doch noch ein paar Kleinigkeiten, die man beachten sollte? www.fh-joanneum.at FAHRZEUGTECHNIK AUTOMOTIVE ENGINEERING & RAILWAY ENGINEERING Real-World-Beispiel: Bankomatbehebung Sicherheit durch Karte und Pincode (bzw. am Mailserver: Username/Passwort) www.fh-joanneum.at FAHRZEUGTECHNIK AUTOMOTIVE ENGINEERING & RAILWAY ENGINEERING Real-World-Beispiel: Bankomatbehebung II Das ist EINE Authentifizierung ...und die Gegenstelle ist wer? www.fh-joanneum.at FAHRZEUGTECHNIK AUTOMOTIVE ENGINEERING & RAILWAY ENGINEERING Authentifizierung der Gegenstelle Routing im Internet geht über nicht vertrauenswürdige Knoten (Rechner/Router/Provider (ev. von Behörden/Gesetzgebern verpflichtet, Daten weiterzugeben)/...) Keine Ahnung, mit wem ich wirklich kommuniziere. Wie authentifiziert sich der ’Server’ mir gegenüber? (Im Real-Life: Bankomat sieht ’bankomatmässig’ aus, ist bei einer Bank (die ich kenne?), ich kenne die Adresse des Standorts). Im Internet: Keine Ahnung, mit wem ich verschlüsselt kommuniziere! Mit dem Server meiner Bank? Mit dem Webserver eines Betrügers? Im Internet bin ich blind... www.fh-joanneum.at FAHRZEUGTECHNIK AUTOMOTIVE ENGINEERING & RAILWAY ENGINEERING Authentifizierung der Gegenstelle II ...Bankomat ist bei einer Bank? www.fh-joanneum.at FAHRZEUGTECHNIK AUTOMOTIVE ENGINEERING & RAILWAY ENGINEERING Authentifizierung der Gegenstelle III ...Bankomat ist bei einer Bank? www.fh-joanneum.at FAHRZEUGTECHNIK AUTOMOTIVE ENGINEERING & RAILWAY ENGINEERING Authentifizierung der Gegenstelle IV ...Bankomat(kasse) ist vertrauenswürdig? 450.000 Euro Schaden: Bankomatkarten-Betrüger gefasst Kasse mit Speicherchip manipuliert Laut Polizei war das Vorgehen immer gleich: Ein oder zwei Bandenmitglieder brachen in Geschäfte ein und manipulierten die Kassen, in dem sie einen Speicherchip einbauten; darauf wurden die Daten der Kunden, die mit Bankomatkarte gezahlt haben, kopiert. Bei einem zweiten Einbruch wurde der Speicher wieder entfernt. Mit den gestohlenen Daten wurden schließlich neue Bankomatkarten hergestellt, mit denen die Betrüger dann in Italien, Frankreich und Spanien Geld behoben. Siehe: http://steiermark.orf.at/stories/148251/ www.fh-joanneum.at FAHRZEUGTECHNIK AUTOMOTIVE ENGINEERING & RAILWAY ENGINEERING Authentifizierung der Gegenstelle Die Gegenstelle (der Server) muss sich mir gegenüber ’ausweisen’, damit ich sicher bin, mit dem richtigen Server zu kommunizieren. Nicht mit Username/Passwort, sondern mit Zertifkaten (SSL) bzw. Hostkeys (SSH). www.fh-joanneum.at FAHRZEUGTECHNIK AUTOMOTIVE ENGINEERING & RAILWAY ENGINEERING Zertifikats-Bestandteile Issued to: An wen wurde das Zertifikat ausgestellt. Common Name: Domainname. Name des Servers, mit dem ich zu kommunizieren glaube. Issued from: VON WEM wurde das Zertifikat ausgestellt. Validity: Gültigkeitsdatum von-bis Fingerprints: SHA1 und MD5 Prüfsummen. www.fh-joanneum.at FAHRZEUGTECHNIK AUTOMOTIVE ENGINEERING & RAILWAY ENGINEERING Zertifikate kosten (üblicherweise) Geld Die Stelle, die im Issued from genannt ist - die ausstellende Behörde – muss prüfen, ob der Antragsteller tatsächlich der ist, der er vorgibt zu sein5 . Wirkliche (durch Gesetze ermächtigte) Behörden (im Real-Life: Passamt, KFZ-Zulassungsstelle, . . . ) gibt es im Internet nicht. Zertifikate werden von privaten Firmen ausgestellt. Einige Firmen sind in den Browsern vorinstalliert und werden von den Browsern daher als vertrauenswürdig eingestuft. 5 was Verisign bei einem Microsoft-Zertifikat 2001 nicht wirklich gemacht hat... www.fh-joanneum.at FAHRZEUGTECHNIK AUTOMOTIVE ENGINEERING & RAILWAY ENGINEERING Vorinstallierte Certificate Authorities www.fh-joanneum.at FAHRZEUGTECHNIK AUTOMOTIVE ENGINEERING & RAILWAY ENGINEERING Arten von Zertifkaten Zertifikate von vorinstallierten (kommerziellen) Authorities + Authority in den Browsern vorinstalliert, User werden nicht durch Fehlermeldungen verunsichert. + Identität des Zertifikats-Empfängers wird beim Ausstellen vom Aussteller geprüft! - ...kosten Geld / - Verisign erfindet Verisign Extended Verification Certificates – noch teurer, soll in der Browser-Adressleiste mit anderer Farbe (weiß für unverschlüsselt, gelb für SSL (ist nicht einheitlich) und jetzt neu: grün für extrateuer) angezeigt werden — kostet noch mehr Geld / www.fh-joanneum.at FAHRZEUGTECHNIK AUTOMOTIVE ENGINEERING & RAILWAY ENGINEERING Arten von Zertifikaten Selbst signiertes Zertifikat, Screenshot von Firefox 2 (2006) www.fh-joanneum.at FAHRZEUGTECHNIK AUTOMOTIVE ENGINEERING & RAILWAY ENGINEERING Selbst signierte Zertifikate Bitte NICHT einfach wegklicken! Mit wem kommuniziere ich verschlüsselt? Bankserver oder Betrügerserver? Wenn mir das egal ist, kann ich mir die Verschlüsselung gleich schenken... Viele Zertifikats-Warnung lassen die User abstumpfen - die Bedeutung der Warnung wird vernachlässigt. Browser kennt die Authority nicht Server-Fehlkonfiguration Ich kommuniziere verschlüsselt mit einem anderen! www.fh-joanneum.at FAHRZEUGTECHNIK AUTOMOTIVE ENGINEERING & RAILWAY ENGINEERING Selbst signierte Zertifikate II Screenshot Firefox 3 www.polizei.sachsen-anhalt.de war bei der Google Suche nach ”selbst signiertes Zertifikat” auf Platz 4. . . www.fh-joanneum.at FAHRZEUGTECHNIK AUTOMOTIVE ENGINEERING & RAILWAY ENGINEERING Selbst signierte Zertifikate III Screenshot Firefox 3 www.fh-joanneum.at FAHRZEUGTECHNIK AUTOMOTIVE ENGINEERING & RAILWAY ENGINEERING Selbst signierte Zertifikate IV www.fh-joanneum.at FAHRZEUGTECHNIK AUTOMOTIVE ENGINEERING & RAILWAY ENGINEERING Selbst signierte Zertifikate V Selbst signiertes Zertifikat. Ausgestellt von der Polizei Sachsen Anhalt für die Polizei Sachsen Anhalt Genauso gut wie ein selbst erstellter Personalausweis oder ein selbst erfundenes KFZ-Kennzeichen. . . . www.fh-joanneum.at FAHRZEUGTECHNIK AUTOMOTIVE ENGINEERING & RAILWAY ENGINEERING Selbst signierte Zertifikate VI Zitat von http://www.ssl-faq.info/technisches.html Bietet ein selbst signiertes Zertifikat auch Sicherheit? Klares Nein!! Bei der Benutzung eines selbst signiertes Zertifikates erhällt der Besucher eine Warnmeldung, das das Zertifikat nicht geprüft werden kann, da es nicht von einer Zertifizierungsstelle signiert ist. Für den Besucher ist nicht erkennbar ob die Kommunikation tatsächlich mit dem gewünschten Ziel erfolgt oder nicht. Wenn der Besucher das Zertifikat manuell akzeptiert, erfolgt die Kommunikation zwar verschlüsselt, allerdings zu einem unbekannten Ziel. Das Ziel kann auch ein Server eines Angreifers sein. Daher ist ein selbst signiertes Zertifikat für den professionellen Einsatz ungeeignet. Wenn man intern (Firma, Schule, Hochschule, Verein,. . . ) selbst signierte Zertifikate verwendet, Zertifikate in den verwendeten Browsern vorinstallieren. www.fh-joanneum.at FAHRZEUGTECHNIK AUTOMOTIVE ENGINEERING & RAILWAY ENGINEERING Zertifikate von cacert.org Community-Lösung Wer: CAcert Inc., a non-profit Association of Members incorporated in New South Wales, Australia. Im Real-Life wird meine Identität überprüft (amtlicher Ausweis). Zuordnung: Reale Person ↔ E-Mail-Adresse ↔ Account auf www.cacert.org Eigene Domain auf www.cacert.org eintragen und Zertifikate signieren lassen – das signierte Zertifikat kommt per Mail an einen Admin-Account der Domain (z.B. [email protected]). Wenn ich die Mail an den Admin-Account bekomme, bekomme ich auch das signierte Zertifikat. - (Noch) ist cacert.org nicht standardmässig in den Browsern als Authority eingetragen. Wenn man CAcert vertraut, ev. das CAcert-Root-Zertifikat selbst in den Browsern vorinstallieren. www.fh-joanneum.at FAHRZEUGTECHNIK AUTOMOTIVE ENGINEERING & RAILWAY ENGINEERING Zertifikate von cacert.org II CAcert “Assurer“ überprüfen die Identitität von neuen Mitgliedern. Früher hat das schon gereicht, um neuer Assurer zu werden. So soll sich ein Web-of-trust bilden. Neu: “Assurer“ müssen zusätzlich eine Prüung ablegen. Ebenso bisherige Assurer, wenn sie neue Mitglieder “assuren“ wollen (Ziel: Aufnahme von CAcert in Mozilla-Browsern, erforderlich durch Mozilla-Policies) Links: CAcert Community Agreement: http: //www.cacert.org/policy/CAcertCommunityAgreement.php Introduction to the CAcert Assurance Program: http://wiki.cacert.org/wiki/FAQ/AssuranceIntroduction Introduction to the CAcert Assurance Program: http://wiki.cacert.org/wiki/AssuranceHandbook2 www.fh-joanneum.at FAHRZEUGTECHNIK AUTOMOTIVE ENGINEERING & RAILWAY ENGINEERING Weitere Anwendungen von Zertifikaten Signierung von Software Kein Server, keine Internetverbindung muss gehackt werden! Problematik fehlerhaftes Verisign Zertifikat besonders akut – fremde Software konnte als ’von Microsoft zertifiziert’ (für MS-User ’vertrauenswürdig’) auf den Rechner kommen! www.fh-joanneum.at FAHRZEUGTECHNIK AUTOMOTIVE ENGINEERING & RAILWAY ENGINEERING Vortrag vom 25th Chaos Communication Congress (25C3) MD5 Considered Harmful Today – Creating a rogue CA certificate (30.12.2008) Ein internationales Forscherteam berechnet auf einem Cluster (200 x Playstation 3) MD5-Kollissionen und fälscht mit MD5 signierte Zertifikate einer CA. Für Details bitte die Vortragsfolien des Vortrags vom 25C3 ansehen – ich mag mich nicht mit fremden Federn schmücken. . . http://events.ccc.de/congress/2008/Fahrplan/ attachments/1251_md5-collisions-1.0.pdf http://www.heise.de/security/artikel/121148 Hoffen wir, daß die CAs dazugelernt haben. . . . www.fh-joanneum.at FAHRZEUGTECHNIK AUTOMOTIVE ENGINEERING & RAILWAY ENGINEERING Vortrag vom 25th Chaos Communication Congress (25C3) Feststellen des Signaturverfahrens (MD5 oder SHA1) www.fh-joanneum.at FAHRZEUGTECHNIK AUTOMOTIVE ENGINEERING & RAILWAY ENGINEERING Ein paar Worte zum Debian OpenSSL ’Patch’ Das Debian-Projekt überprüfte OpenSSL mit Valgrind - einer Software zum Debuggen von Speicherproblemen und findet einen Zugriff auf eine uninitialisierte Speicherstelle. Nach Rückfrage bei den OpenSSL-Entwicklern (if it helps with debugging), entfernen sie zwei Codezeilen, die auf uninitialisieren Speicher zugreifen. damit wird der Zufallszahlengenerator sehr eingeschränkt, hängt nur mehr von der PID ab - OpenSSL erzeugte nur mehr 32768 verschiedene Zertifikate (bzw. ggf. auch SSH Keys,. . . ), sehr leicht fälschbar. www.fh-joanneum.at FAHRZEUGTECHNIK AUTOMOTIVE ENGINEERING & RAILWAY ENGINEERING SSH-Hostkeys $ ssh linux-tage.de The authenticity of host ’linux-tage.de (88.198.147.212)’ can’t be established. RSA key fingerprint is cc:09:d5:c3:54:30:be:4c:48:e4:1b:62:3f:57:a3:b7. Are you sure you want to continue connecting (yes/no)? no Host key verification failed. Keine Zertifizierungsstellen, nur selbst erstellte Hostkeys keine vorinstallierten Hostkeys Trotzdem die einzige Authentifizierung des Servers gegenüber mir. (ggf. Fingerprint beim ersten connect vergleichen!) www.fh-joanneum.at FAHRZEUGTECHNIK AUTOMOTIVE ENGINEERING & RAILWAY ENGINEERING SSH-Hostkeys II Viel grösser kann man ja die Warnung nicht hinschreiben... $ ssh linux-tage.de @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @ WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! @ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY! Someone could be eavesdropping on you right now (man-in-the-middle attack)! It is also possible that the RSA host key has just been changed. The fingerprint for the RSA key sent by the remote host is cc:09:d5:c3:54:30:be:4c:48:e4:1b:62:3f:57:a3:b7. Please contact your system administrator. Add correct host key in /home/daute/.ssh/known_hosts to get rid of this message. Offending key in /home/daute/.ssh/known_hosts:364 RSA host key for linux-tage.de has changed and you have requested strict checking. Host key verification failed. Bei einer Neuinstallation (bekannte) SSH-Hostkeys übernehmen. User von einer ev. Änderung der Hostkeys (vorher) informieren. www.fh-joanneum.at FAHRZEUGTECHNIK AUTOMOTIVE ENGINEERING & RAILWAY ENGINEERING SSH-Hostkeys visualisiert eine ASCII-Art Graphik ist (für Menschen) einfacher zu merken als eine 48stellige Zeichenkombination (OpenSSH Client >= 5.1 erforderlich) $ ssh -o VisualHostKey=yes 127.0.0.1 The authenticity of host ’127.0.0.1 (127.0.0.1)’ can’t be established. RSA key fingerprint is 5e:e3:64:1e:10:29:c8:c9:c6:46:f8:68:00:13:d6:0e. +--[ RSA 1024]----+ |=o.*.o .. | |oE..O . .. | | .o= .. | | o.. . | | . S * | | . * o | | . o | | | | | +-----------------+ Are you sure you want to continue connecting (yes/no)? ^C www.fh-joanneum.at FAHRZEUGTECHNIK AUTOMOTIVE ENGINEERING & RAILWAY ENGINEERING SSH-Hostkeys visualisiert II $ ssh -o VisualHostKey=yes linux-tage.de The authenticity of host ’linux-tage.de (88.198.147.212)’ can’t be established. RSA key fingerprint is cc:09:d5:c3:54:30:be:4c:48:e4:1b:62:3f:57:a3:b7. +--[ RSA 2048]----+ | .+++o. | | + o+. | | + + o.o | | . * * + . | | S = . | | o . . | | E | | | | | +-----------------+ Are you sure you want to continue connecting (yes/no)? ^C www.fh-joanneum.at FAHRZEUGTECHNIK AUTOMOTIVE ENGINEERING & RAILWAY ENGINEERING SSH-Hostkeys im DNS (RFC4255) Interessante Idee, aber ohne DNSsec noch nicht sicher. . . $ ssh-keygen -r hostname -f /etc/ssh/ssh_host_rsa_key.pub hostname IN SSHFP 1 1 f52b34ef558f52dc4887d0338bfeedf6671c4a92 $ ssh-keygen -r hostname -f /etc/ssh/ssh_host_dsa_key.pub hostname IN SSHFP 2 1 ce5f6d5ad1ac4ace7016bf397c3a0df06e649ff1 Diese Records in den Nameserver übernehmen (BIND Nameserver >= 9.3.0, OpenSSH >= 3.4). Dann kann man mit $ ssh -o "VerifyHostKeyDNS ask" host.example.com bzw. $ ssh -o "VerifyHostKeyDNS yes" host.example.com zum Server connecten, der Hostkey wird via DNS überprüft. Statt -o "VerifyHostKeyDNS yes" kann man die Option auch fix in die Datei /etc/ssh/ssh_config bzw. ~/.ssh/config eintragen. www.fh-joanneum.at FAHRZEUGTECHNIK AUTOMOTIVE ENGINEERING & RAILWAY ENGINEERING Zusammenfassung Security besteht aus (mindestens!) folgenden Punkten Einer verschlüsselten sicheren Verbindung zwischen User und Server Authentifizierung des Users gegenüber dem Server Authentifizierung des Servers gegenüber dem User Nicht kompromittierten Endpunkten! Einem Benutzer, der mitdenkt und nicht auf alles klickt, was anklickbar ist... , Browser (Mailclient,. . . ) Fehlermeldungen sind nicht nur zum User ärgern und Wegklicken da. Wenn eine Meldung angezeigt wird, soll man sich vor dem Wegklicken darüber im Klaren sein, was die Meldung bedeutet (bzw. bedeuten könnte) – und was für Konsequenzen das Ignorieren der Meldung haben könnte. www.fh-joanneum.at FAHRZEUGTECHNIK AUTOMOTIVE ENGINEERING & RAILWAY ENGINEERING Fragen? Feedback? Vielen Dank für Ihre Aufmerksamkeit Wolfgang Dautermann wolfgang.dautermann [AT] fh-joanneum.at