Kontekst jest najważniejszy Application Security (WALLF-ng) Leszek Miś Head of IT Security Department lm@linuxpolska.pl Linux Polska Sp. z o.o. 1
Fakty 2 Aplikacje webowe jako cel czyli zagrożenia kryją się wszędzie: Aplikacja (ich ilość) Protokół Implementacja HTTP Język/Framework Konfiguracja System operacyjny
Fakty Rzeczywistość weryfikuje: Shellshock: BASH command injection Zimbra: priv_esc poprzez LFI: 3 /res/i18nmsg,ajxmsg,zmsg,zmmsg,ajxkeys,zmkeys,zdmsg,ajx%20templatemsg.js.zgz? v=091214175450&skin=../../../../../../../../../opt/zimbra/conf/localconfig.xml OSSIM: SQL Injection Apache Struts: RCE F5 BigIQ priv_esc JIRA: directory traversal Katello: users/update_roles I wiele, wiele innych... Dostępność kodu/możliwość zakupu->hacklab Wiele podobnych instalacji
Fakty 4 Różne rodzaje błędów i podatności
Fakty Jak wygląda badanie dedykowanej aplikacji biznesowej? Fingerprinting Analiza nagłówków HTTP Analiza wygenerowanego HTML Fuzzing Skanery aplikacyjne Modyfikacja nagłówków i ich wartości local proxy Spear phishing -> APT Dużo egzotycznych logów O ataku dowiemy się zazwyczaj...po ataku. 5
Fakty Problem z patchowaniem podatności: Wysoki koszt Kod źródłowy firmy zewnętrznej Ograniczony kontrakt/umowa Brak zasobów Brak skillsów SDLC -> TST->ACC->PROD Niedostępność aplikacji Inne: 6 Najpierw trzeba o niej wiedzieć ;-)
Fakty 7 Web Application Firewall (L7): Wykrywanie Blokowanie Monitorowanie Audytowanie Reakcja Firewall sieciowy, a WAF
Posiadanie WAF 8 Już po fakcie Analiza powłamaniowa False positives Trudne w utrzymaniu (change mgmt + niekontrolowany payload aplikacyjny) Brak kontekstu użytkownika ze względu na odseparowane urządzenie WAF Fingerprinting zachowania WAF + omijanie BL Informowanie o zagrożeniach Podstawowa ochrona
Posiadanie WAF Open Web Application Security Project Misja: Poprawa stanu bezpieczeństwa aplikacji Projekty dokumentacja, narzędzia Edukacja Współpraca (rządy, inne organizacje, twórcy standardów) Linux Polska jako Silver Chapter Support 9
Ochrona sensorowa 10 Użytkownik raczej się nie pomylił, gdy: Podmieniane są wartości parametrów w locie ><script>alert(/securitymasterclass/)</script> x'; DROP TABLE users; SELECT '1 Wysłany został GET zamiast POST User-Agent jest URL-em 5x JSESSIONID 10x przelew na kwoty minusowe
Ochrona sensorowa 11 Podobieństwo w zachowaniu: czujniki dymu w budynkach systemy alarmujące systemy natychmiastowego reagowania automatyczne uruchomienie procedury kryzysowej
Ochrona sensorowa 12 Aplikacja powinna potrafić: Logować każdą krytyczną operację z uwzględnieniem kontekstu użytkownika Identyfikować zachowania użytkownika odchodzące od normy Wykrywać próby ataków/ sondowanie Punktować/blokować atakujących lub w sytuacji zarobaczenia blokować podatną część aplikacji Rozumieć i akceptować zachowanie zwykłego usera Informować jak i czerpać -> SIEM
Ochrona sensorowa Ilość żądań HTTP Minimalizacja ryzyka 13
Ochrona sensorowa 14
Ochrona sensorowa Ilość rq Minimalizacja ryzyka 15
Ochrona sensorowa 16 Obsługiwane wyjątki: Dedykowane dla: Request Secure API Authentication ESB Session SSO Access Control Login/logout Input Password reset Encoding Command Honey traps Reputation System Trend
Ochrona sensorowa 17 IDS/IPS dla aplikacji webowych: Detekcja Punktowanie Odpowiedź Big Data Sensorowe podejście działa dla podatności: Znanych Nieznanych Hybryd
A co z aplikacjami bez dostępu do kodu źródłowego? 18
Secure Reverse Proxy Hardened Linux distro Isolation HA Separation LB/Clustering Scalability WAF/Appsensor Monitoring SSL configuration Caching Access Control Performance tuning Change Mgmt 2FA Logging Mgmt Auditing Incident Response Mgmt Logout 19
Demonstracja działania sensorowej ochrony aplikacji webowej - WALLF-ng Leszek Miś Head of IT Security Department lm@linuxpolska.pl Linux Polska Sp. z o.o. 20
Podsumowanie Appsensor jako podejście przyszłościowe Modelowanie zagrożeń Biznesowa krytyczność webaplikacji WAF = ubezpieczenie Open source jako platforma i źródło najlepszej wiedzy Some people, wether vemdors or customers, believe in "auto learning mode". My experience with such systems is that the (generated) rule set becomes unmanageable after a couple of time. - Achim Hoffman - OWASP 21
Oferta z zakresu Podejście wbudowane: Podejście zewnętrzne (Reverse Proxy): Współpraca deweloperska Współpraca wdrożeniowa Warsztaty i szkolenia: Web Security skuteczna ochrona aplikacji webowych Integracja z systemem SIEM Utrzymanie i asysta techniczna SLA Testy penetracyjne 22
Dziękuję za uwagę. Czas na Q&A :) Leszek Miś Head of IT Security Department lm@linuxpolska.pl Linux Polska Sp. z o.o. 23