21:58
20/9/2012

Słabość w protokole uwierzytelniania z jakiego korzysta baza danych Oracle umożliwia atakującym wyciągnięcie hasha hasła danego użytkownika i pozwala na jego szybsze złamanie.

Oracle stealth password cracking vulnerability

Podatność na atak wynika ze sposobu generowania kluczy sesyjnych, które Oracle 11g (Releases 1 i 2) wysyła do użytkowników każdorazowo podczas próby logowania. Aby przeprowadzić atak, wystarczy posiadać poprawny login jednego z użytkowników bazy i rozpocząć procedurę logowania do bazy — otrzymamy wtedy klucz sesyjny, tuż po podaniu nazwy użytkownika. Wtedy warto przerwać procedurę logowania, dzięki temu w logu nie pojawi się informacja o nieudanej próbie logowania. Z kolei otrzymany klucz sesyjny zdradzi nam informację co do wyglądu hasha hasła użytkownika. Sam hash z kolei łamiemy już tradycyjną metodą.

Oracle 11g

Oracle 11g

Esteban Martinez Fayo, który odkrył tę podatność stworzył program łamiący 8 znakowe, alfanumeryczne hasło w ok. 5h na “standardowym CPU” (cokolwiek Esteban rozumie przez “standardowy”).

Oracle prawie poprawiło ten błąd…

Oracle poprawiło błędy w wersji 11.2.0.3, ale poprawka nie jest automatycznie włączana — administrator sam musi wybrać nową wersję hashowania w ustawieniach. Równocześnie poinformowało, że nie ma planów co do wydania łatki dla wersji 11.1… dlatego użytkownikom wersji 11g sugeruje się downgrade do 10g (w tej wersji występuje starszy, niepodatny na ten atak protokół uwierzytelniania).

Innym rozwiązaniem może być wdrożenie zewnętrznego uwierzytelniania via SSL (lub directory services), ustawienie SEC_CASE_SENSITIVE_LOGON na FALSE oraz usunięcie hashy 11g (wtedy baza przestawi się na hashe 10g).

Kolejny raz potwierdza się sens korzystania z zasady najmniejszych przywilejów — komu dostęp do bazy nie jest potrzebny, nie powinien go mieć. Ale mamy nadzieję, że już po poprzedniej krytycznej podatności w Oracle nikt z Was nie wystawia bazy na publicznym interfejsie…

Przeczytaj także:



4 komentarzy

Dodaj komentarz
  1. “Oracle fixed it in mid-2011 via the 11.2.0.3 patch set” vs. “Oracle poprawiło błędy w wersji 12” wypuszczacie nowe wersje oracle’a szybciej niż oni patche :)

  2. @igH: Jesteś pewien, że dobrze przetłumaczyłeś sens tego zdania:

    “Disable the protocol in Version 11.1 and start using older versions like Version 10g, which [contains an older protocol that] is not vulnerable,”

    na

    “dlatego użytkownikom wersji 11g sugeruje się downgrade do 10g (w tej wersji występuje starszy, niepodatny na ten atak protokół uwierzytelniania).” ?

    Hint: http://goo.gl/h4x00 (jaki ładny mi się wygenerował (; )

  3. Do poprawy: “że nie ma planów co dy wydania łatki dla wersji 11.1” *co dy*

  4. Kolejny zbieg okolicznosci “made in Oracle”.

Twój komentarz

Zamieszczając komentarz akceptujesz regulamin dodawania komentarzy. Przez moderację nie przejdą: wycieczki osobiste, komentarze nie na temat, wulgaryzmy.

RSS dla komentarzy: