Jeden 0-day i...
Jakiś czas temu na Niebezpieczniku pojawił się wpis Jeden 0day na WordPressa i leżymy! Co do zasady muszę się zgodzić z prezentowanym w tym wpisie stanowiskiem, ale... No właśnie, czy tak musi być?
Dziś pojawiła się informacja o dość istotnym błędzie w Serendipity, który spowodował wydanie wersji 1.5.5. Czy musiałem się rzucić do aktualizacji oprogramowania? Nie, nie musiałem. I wcale nie kosztowało mnie to jakoś strasznie wiele wysiłku.
Jakiś czas temu napisałem wpis Bezpieczniejszy hosting i po raz kolejny okazało się, że podejście typu defence-in-depth się sprawdza. Sam atak mógłby wyglądać następująco:
- atakujący znajduje (nieużywany) komponent,
- za pomocą tego komponentu przekazuje plik na serwer (jakiś shell),
- odwołuje się do tego shella i ma (pełny) dostęp do serwera,
A jak się broni konfiguracja, z której korzystam? Mniej więcej tak:
- konfiguracja serwera (.htaccess) pozwala na dostęp tylko do tych zasobów, które są używane,
- brak jest praw do zapisu, nie można przekazać pliku shella ,
- nawet jeśli plik by się udało przekazać (w kilku miejscach prawo do zapisu jest wymagane), nie można się odwołać do tego zasobu (patrz: Uczmy się na błędach: apache.org incident report, sekcja W^X),
Swoją droga podatność ta jest dobrym przykładem na to, że bezpieczeństwo aplikacji nie zależy tylko od (jej) kodu, ale również od bezpieczeństwa wszystkich wykorzystywanych (albo i nie) przez nią modułów.
Oczywiście nie oznacza to, że mój blog jest niezniszczalny. Pokazuję jedynie, że zastosowanie pewnych środków zaradczych powoduje, że nawet 0-day nie musi oznaczać końca świata... W końcu w bezpieczeństwie nie chodzi tylko o ograniczenie ilości podatności, ale również o ograniczenie skutków wykorzystania tych podatności, których nie uda się znaleźć, zanim zrobią to ONI.
Przy okazji przypomnę o moim wyzwaniu: Lekcja 25: Wyzwanie V. Jak na razie dotarł do mnie jeden raport, a podatności do znalezienia jeszcze kilka zostało.
Oryginał tego wpisu dostępny jest pod adresem Jeden 0-day i...
Autor: Paweł Goleń