Przejdź do głównej treści
Certyfikaty SSL klasy Premium
od Platinum Partnera DigiCert
Bezpieczeństwo bez kompromisów

5 sposobów na ochronę przed atakami SQL injection

     
Ocena: 4,51/5,00

Ktoś włamał się do Twojej bazy danych, szkodliwe oprogramowanie zainfekowało Twoje systemy, a dane wrażliwe zostały udostępnione do pobrania w Internecie? Pierwszą reakcją jest przeprowadzenie śledztwa i zebrania informacji na temat włamania. Raport pokazuje jednak, że wrażliwość systemu była wykorzystywana przez długie miesiące, a wszystkie logi serwera dotyczące podejrzanej działalności zostały usunięte.

SQL injection nie jest żadną nowością i towarzyszy nam już od ponad 10 lat, większość firm inwestuje jednak ogromne środki w systemy wykrywania i zapobiegania włamaniom do sieci, firewalle, bramki bezpieczeństwa oraz oprogramowanie antywirusowe. Częstotliwość ataków na aplikacje webowe rośnie w zastraszającym tempie i większość zespołów odpowiedzialnych w firmach za bezpieczeństwo skupia się na ochronie sieci, a nie kluczowych danych biznesowych, które faktycznie znajdują się w bazach danych. Oczywiście, do czasu kiedy nastąpi włamanie – wtedy jest już jednak zbyt późno.

Na czym polega SQL injection?

SQL injection to bardzo prosta i łatwa do wykonania forma ataku. Zasadniczo, polega ona na tym, że atakujący wprowadza instrukcję SQL w odpowiednim polu internetowego formularza kontaktowego i próbuje dzięki niej zmodyfikować, wydobyć, dodać lub usunąć informacje znajdujące się w bazie danych.

Michael Giagnovoco wykorzystuje prostą analogię: idziemy do sądu, gdzie rejestrujemy swoje imię jako „Krzysztofie, jesteś wolny, możesz wyjść”. Kiedy więc sędzia zwraca się do nas po imieniu „Krzysztofie, jesteś wolny, możesz wyjść”, pomocnik sądowy wypuszcza nas z sali, gdyż sędzia dał mu właśnie do zrozumienia, że może to uczynić.

W tym przykładzie instrukcja „jesteś wolny, możesz wyjść” została wstrzyknięta (ang. „injection”) do pola w formularzu, które zostało przeznaczone do przechowywania jedynie informacji o imieniu. Spowodowało to, że niepożądane dane zinterpretowano jako instrukcję, którą należy wykonać. Tak właśnie wygląda idea, na której opiera się działanie ataków typu SQL injection.

Jaki wpływ może mieć SQL injection na funkcjonowanie Twojego biznesu?

Podobnie jak wszystkie inne typy ataków, SQL injection ewoluowało. Kiedy odkryto jego pierwsze przypadki, atakujący próbowali po prostu pobrać wszystkie dane zawarte w bazie. Dzisiaj SQL injection jest z reguły jednym z narzędzi wykorzystywanych przez hackerów do przeprowadzania całej serii ataków. Wyzwaniem przestało być wydobycie rekordów z bazy danych, stała się nim natomiast instalacja szkodliwego oprogramowania w głębi systemu ofiary, wymagająca ominięcia bardzo drogich firewalli i innych tego pokroju form zabezpieczeń. Szkodliwe oprogramowanie jest o wiele bardziej niebezpieczne i niszczycielskie niż prosty atak na bazę danych. Wyobraźmy sobie hackera, który podsłuchuje poufną komunikację na wysokim szczeblu organizacji, wykorzystuje pliki zawierające prywatne hasła, aby dostać się do systemów o ograniczonym dostępie lub wykrada klucze prywatne do Twoich certyfikatów SSL czy Code Signing. Klucze prywatne można zabezpieczyć używając Symantec Secure App Service, niestety jednak nie wszystkie wrażliwe zasoby wykorzystują do ochrony odpowiednie środki bezpieczeństwa, przez co są podatne na kradzież.

Jaki wpływ może mieć SQL injection na przeciętnego konsumenta?

Wyobraźmy sobie, że mamy się właśnie zalogować do swojego ulubionego sklepu internetowego. Wprowadzamy nazwę użytkownika i hasło. Kiedy jednak patrzymy na historię naszych zamówień, zauważamy kilka zamówień, których wcale nie składaliśmy. Przyczyną takiego stanu rzeczy mógł być właśnie atak typu SQL injection. Z powodu niepoprawnej struktury kodu, czy zwyczajnie małych umiejętności tworzących je programistów, niektóre serwisy internetowe umożliwiają zalogowanie się na stronę podszywając się pod poprzedniego użytkownika – Ciebie. Jeżeli z kontem użytkownika powiązane są informacje o Twojej karcie kredytowej, można być pewnym, że hacker do tej pory uzyskał do nich dostęp. Czy korzystałeś z tej samej nazwy użytkownika i hasła dostępu w przypadku innych serwisów typu e-commerce? Istnieje prawdopodobieństwo, że ktoś wykorzysta wykradnięte podczas pierwszego ataku dane również w ich przypadku.

Jak ochronić swoją firmę przed atakami typu SQL injection?

  1. Zainstaluj Web Application Firewal (WAF)
    Należy mieć na uwadze, że WAF, ze względu na wykorzystywanie sygnatur, nie potrafi właściwie zinterpretować „zaciemnionych” ataków typu SQL injection.
  2. Używaj Symantec Malware Scan
    Otrzymasz go w pakiecie z dowolnym certyfikatem SSL z oferty firmy Symantec. Symantec Malware Scan zapewnia codzienne skanowanie Twoich aplikacji webowych, dzięki czemu otrzymasz szczegółowy raport informujący Cię o tym, czy znaleziono jakąkolwiek podatność na atak typu SQL injection.
  3. Zatrudnij specjalistę od przeprowadzania testów penetracyjnych w celu sprawdzenia wszystkich aplikacji webowych, które wykorzystują do swego działania relacyjne bazy danych.
    Świetne, lecz czasochłonne rozwiązanie, a testy penetracyjne muszą być przeprowadzane bezustannie.
  4. Przepisz na nowo wszystkie aplikacje webowe
    Do wykonania, lecz wymaga dużych nakładów zasobów i pieniędzy. Wyszkolenie personelu w programowaniu uwzględniającym kwestie bezpieczeństwa to kluczowa i bardzo dobra inwestycja.
  5. Zastosuj strategię dogłębnej ochrony bazy danych
    Jedynym sposobem na ochronę biznesu przed zagrożeniami, które niosą ze sobą ataki typu SQL injection, jest monitorowanie instrukcji SQL na poziomie bazy danych przy wykorzystaniu całego arsenału narzędzi.

Nie istnieją perfekcyjne zabezpieczenia, ale postępowanie według wymienionych powyżej praktyk znacznie przybliży Cię do tej granicy.

Oceń ten artykuł
Średnia ocena czytelników 4,51/5,00 na podstawie 96 głosów
Informacja o plikach cookies

Ta strona wykorzystuje technologię plików cookies. Korzystając z naszego serwisu bez zmiany ustawień dotyczących cookies wyrażasz zgodę na ich używanie, zgodnie z aktualnymi ustawieniami przeglądarki. Pozwalają nam one m.in. rozpoznawać użytkowników i ich preferencje, jak również dostarczają informacji, które elementy naszej strony są najpopularniejsze i najbardziej użyteczne dla osób odwiedzających nasz serwis.

Rozumiem
SSL24 na Facebooku