Sieć Internet jest doskonałym i niedrogim kanałem wymiany informacji pomiędzy firmą a klientem pod warunkiem, że istnieje sposób na przechwytywanie i przechowywanie wszystkich niezbędnych danych oraz zwracanie użytkownikom oczekiwanych wyników. Dzięki aplikacjom internetowym użytkownicy mogą wchodzić w interakcję z biznesem za pomocą np. formularzy kontaktowych, koszyków zakupowych czy systemów rezerwacyjnych lub projektowych, a także udostępniać różnego rodzaju informacje (pliki tekstowe, muzykę, zdjęcia) z dowolnego miejsca i dowolnego urządzenia podłączonego do sieci.
Jednak aplikacje internetowe, jak każde oprogramowanie, zawierają w swojej konstrukcji (czy bardziej kodzie) większe lub mniejsze wady. Niestety, niektóre z tych defektów stanowią rzeczywiste podatności, które odpowiednio wykorzystane są w stanie doprowadzić do materializacji zagrożeń i narazić zarówno użytkownika, jak i dostawcę aplikacji na spore straty.
Bezpieczeństwo aplikacji internetowych to proces ochrony witryn internetowych i usług online przed różnymi zagrożeniami, które mogą wykorzystać luki w kodzie aplikacji oraz konfiguracji platformy np. serwera WWW. Jego zapewnienie ma kluczowe znaczenie dla ochrony danych danej organizacji, jak również jej klientów przed kradzieżą danych, przerwami w ciągłości działania biznesu lub innymi szkodliwymi skutkami cyberprzestępczości.
Typowymi celami ataków na aplikacje internetowe są systemy zarządzania treścią (np. WordPress) oraz narzędzia do administrowania bazami danych (np. PhpMyAdmin).
Do najczęstszych form ataku należą:
- Denial-of-Service (DoS)
- Distributed Denial-of-service (DDoS)
- SQL injection (SQLi)
- Cross site scripting (XSS)
- Cross-site request forgery (CSRF)
Pozostałe spotykane rodzaje ataków wynikają głównie z niewystarczająco skutecznej autoryzacji użytkownika oraz luk w logice aplikacji internetowych i skierowane są przede wszystkim na narażenie ich integralności.
Aby mieć pewność, że aplikacja internetowa jest bezpieczna, należy zidentyfikować wszystkie jej podatności i luki w zabezpieczeniach zanim zidentyfikuje je i wykorzysta hacker lub zautomatyzowany malware, dlatego też bardzo ważne jest, aby proces wykrywania luk w zabezpieczeniach aplikacji internetowej był wykonywany na wszystkich etapach jej istnienia, a nie dopiero po jej produkcyjnym uruchomieniu i wystawieniu „na świat”. Istnieje kilka różnych sposobów wykrywania luk w aplikacjach internetowych. Można przeskanować aplikację internetową za pomocą testów typu black box, przeprowadzić ręczny audyt kodu źródłowego, użyć automatycznego skanera typu white box do zidentyfikowania problemów z kodowaniem lub przeprowadzić ręczny audyt bezpieczeństwa wykonując testy penetracjne.
Różne podejścia do bezpieczeństwa aplikacji internetowych dotyczą różnych luk. Oprócz regularnie wykonywanych testów i audytów aplikacji webowych stosowane są zapory sieciowe dedykowane ochronie aplikacji internetowych (Web Application Firewall – WAF). Są rozwiązaniem najbardziej wszechstronnym i chronią aplikacje przed wieloma typami ataków, monitorując i filtrując ruch między aplikacją internetową a dowolnym użytkownikiem. Odpowiednio skonfigurowany WAF będzie w stanie określić, który ruch jest bezpieczny, a który nie – może blokować złośliwy ruch, wyłączając możliwość dotarcie do aplikacji internetowej, a tym samym uniemożliwiając aplikacji przyznanie dostępu do jakichkolwiek danych.
Inne metody zabezpieczeń aplikacji internetowych koncentrują się na przykład na uwierzytelnianiu użytkowników i zarządzaniu dostępem, skanerach luk w aplikacjach, zarządzaniu plikami cookie, widoczności ruchu i na stosowaniu denylist konkretnych adresów IP.
Aktualnie najczęściej wykorzystywanym standardem bezpieczeństwa aplikacji webowych jest zdecydowanie OWASP ASVS (The Open Web Application Security Project – Application Security Verification Standard). Głównym celem projektu jest znormalizowanie sposobu weryfikacji bezpieczeństwa aplikacji internetowych przy użyciu standardu dostępnego dla każdej zainteresowanej strony. Standard ten stanowi podstawę do testowania zarówno zabezpieczeń aplikacji, jak również samego środowiska, w którym się ona znajduje.
O czym warto jeszcze wspomnieć na koniec, obecnie trwają prace nad wprowadzeniem krajowego programu certyfikacji cyberbezpieczeństwa aplikacji webowych. Najpewniej będzie to minimalny standard bezpieczeństwa zgodny z wytycznymi ENISA oraz aktem o cyberbezpieczeństwie, obowiązujący na terenie całej Unii Europejskiej. Więcej szczegółów dotyczących prac w tym obszarze poznamy zapewne wkrótce.
Autor: Tomasz Cieślik