Hier mal der volle Text in Deutsch:
-- Thorsten Gowik mailto:[EMAIL PROTECTED] The cause of the problem is: We ran out of dial tone and we're and waiting for the phone company to deliver another bottle.
------------------------------------------------------------------------ Das Debian-Projekt http://www.debian.org/ Debian-Untersuchungsbericht [EMAIL PROTECTED] 2. Dezember 2003 ------------------------------------------------------------------------ Debian-Untersuchungsbericht nach Serverkompromittierungen Das Debian-Administrationsteam und Sicherheitsexperten k�nnen schluss- endlich die Quelle des Einbruchs in vier Rechner des Projekts genau festlegen. Jedoch ist die Person, die es getan hat, noch nicht eruiert. Die Paket-Archive wurden vom Eindringling nicht ver�ndert. Die Debian-Administration und Sicherheitsteams haben diese Archive (security, us, non-us) ziemlich fr�h w�hrend den Untersuchungen und dem Neuinstallationsprozess gepr�ft. Das ist der Grund, warum das Projekt die Sicherheitsarchive wieder �ffnen konnte und best�tigte, dass die Aktualisierung f�r stable (3.0r2) nicht beeintr�chtigt war. Falls das Projekt vorhergesehen h�tte, zur gleichen Zeit kompromittiert zu werden wie die stable-Aktualisierung durchgef�hrt wurde, h�tten die daran arbeitenden Personen es zur�ckgestellt. Jedoch waren die aktualisierten Pakete im stable-Archiv und auf den Spiegel-Servern zum Zeitpunkt der Entdeckung des Einbruchs bereits installiert, daher war es nicht m�glich, es noch zur�ckzuhalten. Mehrere Methoden basierend auf verschiedenen Kontrolldaten wurden verwendet, um die Pakete zu verifizieren und sicherzustellen, dass die Archive vom Angreifer nicht ver�ndert wurde: . extern gespeicherte Listen von auf nicht beeintr�chtigten Rechnern gesammelten MD5-Summen w�hrend der vergangenen Wochen . digital unterschriebene .changes-Dateien von externen debian-devel-changes Archiven auf nicht beeintr�chtigten Rechnern . digital signierte .changes-Dateien auf den entsprechenden Archiv-Servern . extern gespeicherte Spiegel-Logdateien Zeitablauf Unterhalb ist der Zeitablauf der Entdeckung und Restaurierung der kompromittierten Rechner zu finden. Alle Zeiten sind in UTC angegeben. Einige Zeiten sind nur gesch�tzt, da unsere Konversation keine genauen Zeitstempel enth�lt. 28. Sep 01:33 Linus Torvalds gab 2.6.0-test6 mit do_brk()-Behebung frei 2. Okt 05:18 Marcello Tosatti wendet do_brk()-Grenzpr�fung an 19. Nov 17:00 Angreifer meldet sich auf klecker mit einem mitprotokollierten Passwort an 19. Nov 17:08 Root-Kit auf klecker installiert 19. Nov 17:20 Angreifer meldet sich auf master mit dem selben mitprotokollierten Passwort an 19. Nov 17:47 Root-Kit auf master installiert 19. Nov 18:30 Angreifer meldet sich auf murphy mit einem Service-Konto von master aus an 19. Nov 18:35 Root-Kit auf murphy installiert 19. Nov 19:25 Kernel-Oops auf murphy beginnen 20. Nov 05:38 Kernel-Oops auf master beginnen 20. Nov 20:00 Entdeckung der Kernel-Oops auf master und murphy 20. Nov 20:54 Root-Kit auf gluck installiert 20. Nov 22:00 Best�tigung, dass in debian.org eingebrochen wurde 21. Nov 00:00 Deaktivierung aller Konten 21. Nov 00:34 security.debian.org heruntergefahren 21. Nov 04:00 gluck heruntergefahren (www, cvs, people, ddtp) 21. Nov 08:30 www.debian.org auf www.de.debian.org umgestellt 21. Nov 10:45 �ffentliche Ank�ndigung 21. Nov 16:47 Entwicklerinformationen aktualisiert 21. Nov 17:10 murphy (lists) heruntergefahren 22. Nov 02:41 security.debian.org wieder Online 25. Nov 07:40 lists.debian.org wieder Online 28. Nov 22:39 Linux 2.4.23 freigegeben Entdeckung Am Abend (GMT) von Donnerstag, dem 20. November, bemerkten das Administrationsteam mehrere Kernel-Oops auf master. Da das Rechner �ber eine lange Zeit ohne Probleme lief, wurde der Rechner f�r genauere Untersuchungen von m�glichen Hardwareproblemen in Wartung genommen. Jedoch hat ein zweiter Rechner, murphy, zur gleichen Zeit genau die gleichen Probleme gezeigt, was die Administratoren misstrauisch werden lies. Desweiteren haben klecker, murphy und gluck �Advanced Intrusion Detection Environment� (Paket aide) installiert, um Dateisystem- �nderungen zu �berwachen und zur etwa der gleichen Zeit fing es an zu warnen, dass /sbin/init ersetzt wurde und dass sich die mtime- und ctime-Werte f�r /usr/lib/locale/en_US ver�ndert haben. Weitere Untersuchungen ergaben als Ursache f�r beide diese Probleme das SucKIT-Root-Kit. Es enth�lt einen Passwortschn�ffler und Versteck- F�higkeiten (d.h. Werkzeuge, um Prozesse und Dateien zu verbergen), die direkt in den Kernel installiert werden, was die Kernel-Oops verursacht hat, die entdeckt wurden. Detaillierte Angriffsanalyse Am Mittwoch, dem 19. November, um etwa 17:00 GMT wurde ein mitprotokolliertes Passwort verwendet, um sich mit einem nicht bevorrechtigtes Entwicklerkonto auf dem Rechner klecker (.debian.org) anzumelden. Der Angreifer holte sich dann �ber HTTP den Quellcode f�r eine (zu diesem Zeitpunkt) unbekannte lokale Kernel-Ausnutzung und erhielt root-Berechtigungen mittels dieses Programms. Anschlie�end wurde das SucKIT-Root-Kit installiert. Die selben Konto- und Passwort-Daten wurden dann verwendet, um sich auf dem Rechner master anzumelden, um root-Berechtigungen mit dem selben Programm zu erlangen und ebenfalls das SucKIT-Root-Kit zu installieren. Der Angreifer versuchte anschlie�end, Zugriff auf den Rechner murphy mit dem selben Konto zu erlangen. Dies schlug fehl, da murphy eine begrenzter Rechner ist und sein einziger Zweck es ist, als Listen-Server zu dienen, auf den sich nur eine kleine Anzahl von Entwicklern anmelden k�nnen. Da der urspr�ngliche Login-Versuch nicht funktionierte, verwendete die Person ihren root-Zugriff auf master, um ein administra- tives Konto zu verwenden, das f�r Backup-Zwecke verwendet wurde, und dadurch ebenfalls Zugriff auf murphy zu erlangen. Das SucKIT-Root-Kit wurde auf diesem Rechner ebenfalls installiert. Am n�chsten Tag verwendete der Angreifer ein auf master mitprotokolliertes Passwort, um sich auf gluck anzumelden, dort root zu erhalten und ebenfalls das SucKIT-Root-Kit zu installieren. Die forensische Analyse enth�llte die genauen Daten und Zeiten, wann das Programm /sbin/init �berschrieben und das Root-Kit installiert wurde. Die Analysten entdeckten ebenfalls die ausf�hrbare Datei, die verwendet wurde, um root-Zugriff auf den Rechnern zu erlangen. Diese wurde durch Burneye verschleiert und gesch�tzt. Bei der Disassemblierung und Entschl�sselung der Datei entdeckten die Sicherheitsexperten, welcher Kernelfehler verwendet wurde. Ein Integer-�berlauf im brk-Systemaufruf wurde ausgenutzt, um Kernelspeicher (�change page protection bits�) zu �berschreiben. Dadurch erhielt der Angreifer komplette Kontrolle �ber den Kernelspeicher und so war es ihm m�glich, jeden Wert im Speicher zu �ndern. Selbst obwohl dieser Kernelfehler im September von Andrew Morton entdeckt und bereits in aktuellen pre-release-Kernel seit Oktober behoben ist, wurden seine Sicherheitsauswirkungen als nicht so schwerwiegend angenommen. Deshalb wurde von keinem Distributor ein Sicherheitsgutachten ausgestellt. Jedoch hat das �Common Vulnerabilities and Exposures�-Projekt diesem Problem die Kennzeichnung CAN-2003-0961 zugewiesen, nachdem entdeckt wurde, dass es f�r eine lokale root- Ausbeutung benutzt werden kann. Es ist im Debian-Gutachten DSA 403 und im Linux-Kernel 2.4.23 behoben, der w�hrend des vergangenen Wochenende freigegeben wurde. Linux 2.2.x ist f�r diesen Angriff nicht verwundbar, da hier die Grenzpr�fung zuvor stattfindet. Es wird ebenfalls angenommen, dass Sparc- und PA-RISC-Kernel nicht daf�r anf�llig sind, da Benutzer- und Kernel-Adressen auf diesen Architekturen in verschiedenen Adressr�umen gespeichert werden. Bitte verstehen Sie, dass wir den verwendeten Exploit nicht an zuf�llige Personen weitergeben k�nnen, die wir nicht kennen. Also fragen Sie uns bitte nicht danach. Wiederherstellung Nachdem die Rechner heruntergefahren wurden, wurden Images von allen beeintr�chtigten Festplatten erstellt und auf getrennten Rechnern gespeichert. Diese wurden an die Leute verteilt, die die forensische Analyse durchf�hrten. Die drei Rechner in den USA (master, murphy und gluck) wurden anschlie�end neu installiert und ihre Dienste einer nach dem anderem nach deren Untersuchung durch den entsprechenden Dienst- Administrator wieder eingesetzt. Auf klecker jedoch wurde dies f�r eine eine sp�ter angesetzte Wartung verschoben, damit das Sicherheitsarchiv rascher alls die anderen Dienste wieder Online gebracht werden konnte. Zu dieser Zeit hatten wir keinen physikalischen Zugriff auf klecker, daher musste die Wiederherstellung aus der Ferne geschehen. Nachdem ein Plattenimage �ber eine Login auf einer serielle Konsole auf einen lokalen Rechner �ber eine gesch�tzte Netzverbindung erstellt wurde, wurde das Root-Kit entfernt, der Kernel ausgetauscht und geh�rtet, die Programme doppelt �berpr�ft und das Sicherheitsarchiv gegen mehrere verschiedene externe Quellen gepr�ft. Dieser Rechner wird in den n�chsten Wochen neu installiert werden. Als Sicherheitsvorkehrung wurden alle Entwicklerkonten im LDAP deaktiviert und ssh-Schl�ssel auf den wichtigeren Rechnern entfernt, damit keine weiteren Rechner beeintr�chtigt werden k�nnen. Dies jedoch deaktiviert jegliche �ffentliche Debianarbeit, die das Hochladen von Dateien und den Zugriff auf die CVS-Repositories bed�rfen. Alle auf quantz verwendeten Passw�rter (d.h. alle Alioth-, arch- und Subversion-Passw�rter) wurden ebenfalls f�r ung�ltig erkl�rt. Alle berechtigten ssh-Schl�ssel wurden ebenfalls gel�scht. Bitte verwenden Sie das �Verlorenes Passwort�-System, um ein neues zu erhalten: https://alioth.debian.org/account/lostpw.php Wenn alle Dienste wieder laufen und die Rechner hinreichend gesichert sind, wird LDAP zur�ckgesetzt, damit die Entwickler wieder ein neues Passwort (<http://db.debian.org/password.html>) erstellen k�nnen. Es kann zur Zeit jedoch nicht abgesch�tzt werden, wann dies passieren wird. W�hrend dem Wiederherstellen wurde SSH auf den beeintr�chtigten Rechnern neu installiert. Daher gibt es neue RSA-Rechnerschl�ssel und Schl�ssel-Fingerabdr�cke f�r diese Rechner. Die Schl�ssel werden sobald sie erstellt sind ins LDAP eingef�gt und sind unter <http://db.debian.org/machines.cgi> verf�gar. Konsequenzen !! Erneuern Sie Ihre Passw�rter! !! Da Passw�rter auf den beeintr�chtigten Rechnern mitprotokolliert wurden, muss jede von dort ausgehende Verbindung ebenfalls als kompromittiert betrachtet werden, d.h. die Passw�rter d�rften dem Angreifer bekannt sein. Sie sollten daher dringend ge�ndert werden. Desweiteren, falls jemand Zugriff auf einen Debian-Rechner hatte und das selbe Passwort oder Mantra auch auf anderen Rechnern oder mit anderen Schl�sseln verwendet hat, empfehlen wir dringend, so rasch wie m�glich die Passw�rter und Mantras zu �ndern. Falls ein SSH-Schl�ssel auf einem dieser Rechner generiert oder gespeichert wurde und verwendet wurde, um sich auf anderen Rechnern anzumelden (d.h. durch das Installieren in .ssh/authorized_keys), sollte dieser ebenfalls gel�scht werden. Die geheimen GnuPG-/PGP-Schl�ssel, die auf debian.org-Rechnern gefunden wurden, wurden ebenfalls aus dem Debian-Schl�sselring und gel�scht und dadurch deaktiviert. Entwickler, die sich Sorgen um ihre eigenen Rechner machen, sollten zumindest chkrootkit aufrufen und dessen Ausgabe pr�fen. Matt Taggart betreut eine R�ckportierung der aktuellen Version f�r woody unter der folgenden Adresse: deb http://lackof.org/taggart/debian woody/chkrootkit main deb-src http://lackof.org/taggart/debian woody/chkrootkit main Zus�tzlich gibt es eine von Wichert Akkerman und Matt Taggart erstellte ausf�hrliche Liste von Vorsichtsma�nahmen unter: http://www.wiggy.net/debian/developer-securing/ SucKIT Root-Kit SucKIT ist ein Root-Kit, das in der Phrack-Ausgabe 58, Artikel 0x07 (�Linux-Kernel im Vorbeigehen ohne LKM patchen�, von sd & devik), vorgestellt wurde. Es ist ein komplett funktionst�chtiges Root-Kit, das �ber /dev/kmem geladen wird, d.h. es ben�tigt keinen Kernel mit Unterst�tzung f�r ladbare Kernel-Module. Es bietet eine per Passwort gesch�tzte entfernt nutzbare Shell, die durch ein gef�lschtes Paket (das die meisten Firewall-Konfigurationen umgeht) gestartet wird, und versteckt Prozesse, Dateien und Verbindungen. �blicherweise wird SucKIT als /sbin/init beim Booten des Systems gestartet, forkt sich, um sich selbst in den Kernel zu installieren, startet eine Hintert�r, und ruft eine Kopie des Original-�init�- Programms aus dem Mutterprozess (mit der PID 1) auf. Alle weiteren Ausf�hrungen von /sbin/init werden an den urspr�nglichen init weitergeleitet. TESOs Burneye-Schutz Burneye ist eine Art des Verschleiens von ELF-Programmen auf der UNIX-Platform, die in Phrack-Ausgabe 58, Artikel 0x05 (�ELF sch�tzen: Bin�r-Verschl�sselung auf der UNIX-Platform�, von grugq & scut), vorgestellt wurde. Durch die Verwendung von Hilfsprogrammen wie TESOs Burneye kann ein Angreifer ein ausf�hrbares Programm so ver�ndern, um seinen wahren Zweck zu verschl�sseln, was es vor Firewall-Filtern, Intrusion-Detecktion-Systemen, Anti-Viren-Software und dem neugierigen Auge der Forscher verbirgt. Dank geb�hrt . James Troup und Ryan Murray f�r ihre allgemeine Arbeit an allen Rechnern . Adam Heath und Brian Wolfe f�r ihre Arbeit an master und murphy . Wichert Akkerman f�r seine Arbeit an klecker . Dann Frazier �nd Matt Taggart f�r ihre Arbeit an gluck . Michael Stone und Robert van der Meulen f�r ihre forensische Arbeit . Marcus Meissner f�r das Disassemblieren des verwendeten Exploits . Jaakko Niemi f�r seine Arbeit beim Pr�fen und Wiederaktivieren von lists.debian.org . Colin Watson f�r seine Arbeit beim Pr�fen und Wiederaktivieren von bugs.debian.org . Josip Rodin f�r seine Arbeit beim Pr�fen und Wiederaktivieren der Listen-Webarchive Kontaktinformationen F�r weitere Informationen besuchen Sie bitte die Debian-Webseiten unter <http://www.debian.org/> oder schicken Sie eine E-Mail an <[EMAIL PROTECTED]>.

