Dziura w Open/NetBSD - systrace i inne

2007-08-09 00:00:00 +0100


Robert N. M. Watson zaprezentował dziurę, która pozwala na podniesienie uprawnień w systemach OpenBSD i NetBSD z włączoną funkcją systrace. Podatne są także systemy korzystające z systemów bezpieczeństwa GSWTK i CerbNG.

Systrace jest mechanizmem bezpieczeństwa zapewniającym w systemach BSD funkcjonalność podobną do systemów klasy trusted - pozwala na precyzyjne określenie do jakich konkretnie zasobów proces ma dostęp i z jakimi uprawnieniami, nawet jeśli działa on z uprawnieniami roota. Podatność polega na błędnej obsłudze równoległych odwołań do funkcji systemowych chronionych przez systrace co w konsekwencji pozwala na jego obejście.

Dziura została zaprezentowana na konferencji Usenix WOOT 2007. Autor zasugerował by w przyszłości nie budować tego typu systemów w oparciu o wrappery wywołań systemowych tylko o natywną infrastrukturę kernela. Jako przykład implementacji odpornych na tę podatność podał Trusted BSD, kauth i Linux Security Modules.

Na razie implementacja systrace w OpenBSD i NetBSD została załatana i ich użytkownicy powinni natychmiast zaktualizować system. Dziura ma charakter lokalny. Na problem nie jest podatna oryginalna implementacja systrace. Aktualizację systemu zalecają również autorzy opartego o systrace projektu sysjail.

Źródło: