Ataki SQL Injection
Środa, grudzień 9th, 2009Jeśli jesteśmy administratorami serwerów oferujących hosting to koniecznie powinniśmy przeczyta ten artykuł.
Ataki tego typu celują w same serce naszego serwisu www czyli bazę danych. Napastnik ma możliwość za pomocą ataku tego typu zdobycie, modyfikację a nawet usunięcie bazy danych. Musimy sprawdzić podatność naszej bazy danych na atak tego typu jeśli jesteśmy administratorami serwera. Podstawowa metoda to określenie wektora ataku. Następny krok to wykorzystanie jego za pomocą przeglądarki www. Bardzo ważne jest znalezienie luki w systemie którą będziemy musieli wyeliminować. Testy dzielimy na trzy kategorie, pierwsza to atak na składnię zapytania. Wstawia się typowe znaki SQL które generują błędy pomocne przy określeniu wektora ataku. Druga to atak na składnię języka który ma na celu wygenerowanie błędów SQL. Ostatni typ to atak na logikę zapytania. Możemy połączyć wszystkie te typy co pomoże nam na poprawne pokreślenie podatności na ataki tego typu. Podstawową a zarazem najlepszą obroną przed atakami tego typu jest korzystanie z filtrów poprawnościowych. Filtry poprawności danych wejściowych są podstawą obrony ale nie jest to proste rozwiązanie. Większym problemem jest brak odizolowania między logiką zapytań a danymi odczytywanymi z bazy lub do nij zapisywanymi. Kolejną przydatną metodą może być spreparowanie wyrażeń albo zapisanych procedur. Mają one za zadanie oddzielić logikę zapytań od warstwy danych. Jednak musimy w tym przypadku dokonać zmian w aplikacji. W ten sposób możemy doprowadzić do zmniejszenia wydajności.
