[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: offizieller Kernel Fix fuer ptrace Bug verfuegbar ?



Andreas Metzler schrieb:
> Meines Wissens bis dato noch nicht. In woody-proposed-updates gibt es
> aber ein kernel-source-2.4.20, das entsprechend gepatcht ist.
>
> Das Update ist in Arbeit, aber eben fuer Debian extrem aufwendig, mit
> potato und woody betrifft das drei verschieden Kernelversionen, einen
> Haufen Abwandlungen (-i386 -k7, -bf, ...) und das ganze multipliziert
> mit sehr sehr vielen Architekturen (11).
>
> Man kann bis dahin ja das autoloading deaktivieren
> echo /bin/true > /proc/sys/kernel/modprobe
> wirklich zufriedenstellend ist aber zugegebenermassen nicht.

Nein, so hilft es gar nicht. 

Der Exploit funktioniert auch bei /bin/true. Es darf auf keinen Fall ein 
ausführbares Programm angeben werden. Es muss - wie in meinem Beispiel 
vor ein paar Tagen - ein 100% nichtexistentes Ziel sein, z.B: /nicht/da

Kurz eine vereinfachte Darstellung, wie das Problem funktioniert. ptrace 
(=Prozessverfolgung) ist eine Kernelfunktion, die es erlaubt die 
Ausführung von Tochterprozessen zu kontrollieren. Diese Funktion wird 
hauptsächlich im Debugger, aber z.B. auch von Usermode-Linux verwendet. 
Sobald ein getracter Prozess ein Signal erhält, kann die Kontrolle 
übernommen und Code des Prozesses analysiert oder verändert werden.

Beim ptrace Bug wird diese Funktion von einem User (nur mit Userrechten) 
auf einen Prozess angewendet, der Root-Rechte hat. Der User kann dann 
in den Root-Prozess seinen eigenen Code plazieren und sich somit 
weiteren Zugang verschaffen. Das Einfallstor auf den meistens Systemen 
ist daher der Kernel-Module-Loader. Hier kann der User durch Ansprache 
einer selten (oder auf keinen Fall vorhanden Moduls) den Aufruf des für 
modprobe definierten Programms provozieren, dass sich dann tracen lässt 
und Root-Rechte hat. Ob das Programm wirklich modprobe ist oder 
/bin/true ist egal. Hauptsache Programm.

Mit dem Work-around ist das Problem nicht wirklich eliminiert, sondern 
nur der Hauptangriffstpunkt der meisten betroffenen Systeme mit einem 
Flicken verstopft. Der Patch von Alan Cox (in kernel-source-2.4.20-6) 
ist auch keine endgültige Lösung und bringt weitere Problemchen im 
Detail mit sich. Die einzige saubere und sichere Lösung ist zur Zeit 
sys_ptrace komplett raus zu werfen bzw. mit einem "return -EPERM" 
direkt wieder zu beenden. Nicht-Kernelhacker können den Kernel ohne 
automatischen Modulloader kompilieren.

-- 
rainer@ellinger.de



Reply to: