NTP – masowe podatności w demonie synchronizacji czasu

27 grudnia 2014, 09:56 | W biegu | komentarze 3
: zin o bezpieczeństwie - pobierz w pdf/epub/mobi.

Rok 2014 kończy się odkryciem zbioru podatności w kolejnym szeroko stosowanym oprogramowaniu open source – NTP. Badacze z Google Research team, m.in. odkrywca Heartbleeda – Neel Mehta, ujawnili zbiór podatności w kodzie demona Network Time Protocol. Najbardziej krytyczna z odkrytych luk umożliwia zdalne wykonanie kodu. Szczegółowy opis podatności dostępny jest na stronie ntp.org.

Podatności:

CVE-2014-9293 – Uwierzytelnianie – NTP utworzy słaby 31-bitowy klucz, jeśli ten nie zostanie jawnie przygotowany w pliku konfiguracyjnym.
CVE-2014-9294 – Uwierzytelnianie – Funkcja ntp-keygen używa słabego generatora liczb losowych do tworzenia kluczy.
CVE-2014-9295 – Zdalne wykonanie kodu – Atakujący wykorzystując podatność buffer-overflow może wykonać zdalnie kod z uprawnieniami ntpd. Podatności znajduje się w aż 3 funkcjach: crypto_recv(),configure(),ctl_putdata().
CVE-2014-9296 – Brakujące wiadomości o błędach (integralność) – W funkcji ntp_proto.c:receive() brakuje return; co może prowadzić do utraty integralności, w przypadku wystąpienia rzadkiego typu błędu.

Skala:
Demon NTP działający jako klient lub serwer jest szeroko spotykany w wielu urządzeniach i serwerach są to m.in. switche, routery, serwery pocztowe, bramki VOIP, serwery CA, urządzenia przemysłowe. Potrzeba synchronizacji czasu sprawia, że zagrożone wykorzystaniem powyższych podatności są tysiące lokalizacji.

Rozwiązanie:
1. Aktualizacja NTP(wersja 4.2.8) rozwiązuje jeszcze nie wszystkie, ale na szczęście najbardziej krytyczne problemy.
2. Jeśli z jakichś powodów reinstalacja jest niemożliwa, to rekonfiguracja NTP również pozwala zminimalizować ryzyko ataku z wykorzystaniem demona czasu. W pliku ntp.conf należy dodać wpis:
restrict … noquery – żeby ograniczyć odpytywanie o status demona NTP przez niezaufanych klientów i wykorzystanie odkrytych podatności.
Powyższe rozwiązanie eliminuje ryzyka wywołane przez wszystkie oprócz ostatniej podatności .
3. Johannes Ullrich wskazuje na swoim blogu, że prosty firewall stanowy może nieodfiltrować zewnętrznych pakietów skierowanych przeciwko wewnętrznemu serwerowi NTP, jeśli ten w ostatnim czasie zainicjował połączenie wychodzące. Ulrich podaje, że usunięcie wpisów w pliku ntp.conf zaczynających się od crypto wyliminuje ryzko podatności buffer-overflow związanej z crypto_recv()

–j23

Spodobał Ci się wpis? Podziel się nim ze znajomymi:



Komentarze

  1. Ten rok BARDZO obfituje we wszelkiego rodzaju dziury. Ciekaw jestem co nas czeka w kolejnym.

    Odpowiedz
    • Może po prostu coraz więcej osób zajmuje się profesjonalnie IT sec?

      Odpowiedz
      • Jest to dobrze życzenie na Nowy Rok.

        Jednak będę trochę bardziej pesymistą. Lukę wykrył zespół Google, a nie inna grupa. Kolejna sprawa dotyczy poziomu, który dotyka już warstwy, na którą większość osób nie zwraca uwagi. Kto się przejmuje przepełnieniem buforu w dobie framework’ów. NTP ma już swoje lata i wydawał się na tyle zaufanym protokołem, że nie zawracał na siebie uwagi. Po prostu działał.

        Nasuwa mi się pytanie ile jeszcze takich usług ukaże swoje słabości?

        Odpowiedz

Odpowiedz