zabezpieczanie aplikacji i systemów · zabezpieczanie aplikacji i systemów marek zachara ......
TRANSCRIPT
![Page 1: Zabezpieczanie aplikacji i systemów · Zabezpieczanie aplikacji i systemów Marek Zachara ... Procedury uzyskiwania i odwoływania dostępu Security by design Walidacja danych Hasła](https://reader035.vdocuments.net/reader035/viewer/2022071513/6134d8f0dfd10f4dd73bfe48/html5/thumbnails/1.jpg)
1/23
ZabezpieczanieZabezpieczanieaplikacji i systemówaplikacji i systemów
Marek ZacharaMarek Zacharahttp://marek.zachara.namehttp://marek.zachara.name
![Page 2: Zabezpieczanie aplikacji i systemów · Zabezpieczanie aplikacji i systemów Marek Zachara ... Procedury uzyskiwania i odwoływania dostępu Security by design Walidacja danych Hasła](https://reader035.vdocuments.net/reader035/viewer/2022071513/6134d8f0dfd10f4dd73bfe48/html5/thumbnails/2.jpg)
2/23
Główne aspekty
Bezpieczeństwo nie jest „dodatkową funkcjonalnością” Trudno jest „dodać bezpieczeństwo” Powinno być wpisane w proces tworzenia i wdrażania aplikacji
Security by designDefence in Depth
Security bydesign
Walidacjadanych
Hasła...
Inne metody
Zaporyogniowe
Dane
AplikacjaHost
Sieć
![Page 3: Zabezpieczanie aplikacji i systemów · Zabezpieczanie aplikacji i systemów Marek Zachara ... Procedury uzyskiwania i odwoływania dostępu Security by design Walidacja danych Hasła](https://reader035.vdocuments.net/reader035/viewer/2022071513/6134d8f0dfd10f4dd73bfe48/html5/thumbnails/3.jpg)
3/23
Bezpieczeństwo zaczyna się na poziomie specyfikacja wymagań
Poziomy użytkowników / role / prawa Powiązanie funkcjonalności z prawami Określenie zbiorów danych i ich wrażliwości Konsekwencje złamania zabezpieczeń Logowanie zdarzeń Audyt danych (w tym historia) Metody transmisji i przekazywania danych Procedury uzyskiwania i odwoływania dostępu
Security bydesign
Walidacjadanych
Hasła...
Inne metody
Zaporyogniowe
![Page 4: Zabezpieczanie aplikacji i systemów · Zabezpieczanie aplikacji i systemów Marek Zachara ... Procedury uzyskiwania i odwoływania dostępu Security by design Walidacja danych Hasła](https://reader035.vdocuments.net/reader035/viewer/2022071513/6134d8f0dfd10f4dd73bfe48/html5/thumbnails/4.jpg)
4/23
Podejście Defenceindepth Minimalne uprawnienia na bazie danych Widoki, procedury składowane itp. Aktualny i bezpieczny system operacyjny Firewall aplikacyjny (WAF) Firewall i ochrona na poziomie sieciowym IDS/IPS Centralizowany system logowania (niewidoczny, „oneway”)
Można w ten sposób do pewnego stopnia „ratować” problematyczną aplikację
Security bydesign
Walidacjadanych
Hasła...
Inne metody
Zaporyogniowe
![Page 5: Zabezpieczanie aplikacji i systemów · Zabezpieczanie aplikacji i systemów Marek Zachara ... Procedury uzyskiwania i odwoływania dostępu Security by design Walidacja danych Hasła](https://reader035.vdocuments.net/reader035/viewer/2022071513/6134d8f0dfd10f4dd73bfe48/html5/thumbnails/5.jpg)
5/23
Walidacja danych
Typ danych
Rozmiar
Struktura (np. telefon, PESEL)
Znaki składowe
Wzorzec
integerdouble datestring?id=A34BX
[az,AZ.09]
"^[azAZ09_.+]+@[azAZ09]+\.[azAZ09.]+$"
Security bydesign
Walidacjadanych
Hasła...
Inne metody
Zaporyogniowe
![Page 6: Zabezpieczanie aplikacji i systemów · Zabezpieczanie aplikacji i systemów Marek Zachara ... Procedury uzyskiwania i odwoływania dostępu Security by design Walidacja danych Hasła](https://reader035.vdocuments.net/reader035/viewer/2022071513/6134d8f0dfd10f4dd73bfe48/html5/thumbnails/6.jpg)
6/23
Strategie walidacji Blacklist odrzucamy znane niebezpieczne wzorce Whitelist
dopuszczamy tylko znane 'bezpieczne' Sanityzacja
usunięcie lub unieszkodliwienie znaków Whitelist Blacklist
/home/?id=A34BX&pass=' OR 1==1'
Security bydesign
Walidacjadanych
Hasła...
Inne metody
Zaporyogniowe
![Page 7: Zabezpieczanie aplikacji i systemów · Zabezpieczanie aplikacji i systemów Marek Zachara ... Procedury uzyskiwania i odwoływania dostępu Security by design Walidacja danych Hasła](https://reader035.vdocuments.net/reader035/viewer/2022071513/6134d8f0dfd10f4dd73bfe48/html5/thumbnails/7.jpg)
7/23
Zasada minimalnych uprawnień
Dane
Aplikacja
HostSieć
Tylko niezbędne uprawnienia SELECT / INSERT CREATE / DROP Granulacja per tabela
Uprawnienia per moduł Java security policy
Prawa dostępu do plików dla użytkownika (ów) (nie root/admin!)
Filtrowanie pakietówPortów, protokołów, nagłówków, SRC IP
Security bydesign
Walidacjadanych
Hasła...
Inne metody
Zaporyogniowe
![Page 8: Zabezpieczanie aplikacji i systemów · Zabezpieczanie aplikacji i systemów Marek Zachara ... Procedury uzyskiwania i odwoływania dostępu Security by design Walidacja danych Hasła](https://reader035.vdocuments.net/reader035/viewer/2022071513/6134d8f0dfd10f4dd73bfe48/html5/thumbnails/8.jpg)
8/23
Metody uwierzytelniania Hasło („coś co wiem”) Token/SMS („coś co mam”) Biometria („coś czym jestem”)
Uwierzytelnianie dwuskładnikowe Dla skuteczności musi korzystać z dwóch NIEZALEŻNYCH kanałów Bankowość mobilna z autoryzacją SMS na tym samym telefonie
Security bydesign
Walidacjadanych
Hasła...
Inne metody
Zaporyogniowe
![Page 9: Zabezpieczanie aplikacji i systemów · Zabezpieczanie aplikacji i systemów Marek Zachara ... Procedury uzyskiwania i odwoływania dostępu Security by design Walidacja danych Hasła](https://reader035.vdocuments.net/reader035/viewer/2022071513/6134d8f0dfd10f4dd73bfe48/html5/thumbnails/9.jpg)
9/23
Sposoby przechowywania haseł Hashowanie / szyfrowanie Ataki bruteforce Solenie haseł
Ataki słownikowe i bruteforce Reguły haseł Ograniczenie prób logowania
Ograniczanie skutków Okres ważności haseł Minimalne uprawnienia
Security bydesign
Walidacjadanych
Hasła...
Inne metody
Zaporyogniowe
![Page 10: Zabezpieczanie aplikacji i systemów · Zabezpieczanie aplikacji i systemów Marek Zachara ... Procedury uzyskiwania i odwoływania dostępu Security by design Walidacja danych Hasła](https://reader035.vdocuments.net/reader035/viewer/2022071513/6134d8f0dfd10f4dd73bfe48/html5/thumbnails/10.jpg)
10/23
Wymuszanie zachowań na użytkowniku
Automatyczne wylogowanie (timeout) (Prawie) same zalety
Reguły tworzenia i zmiany haseł Ryzyko „upraszczania życia”
Ograniczenie dostępu Określone terminale / IP Określone godziny
Security bydesign
Walidacjadanych
Hasła...
Inne metody
Zaporyogniowe
![Page 11: Zabezpieczanie aplikacji i systemów · Zabezpieczanie aplikacji i systemów Marek Zachara ... Procedury uzyskiwania i odwoływania dostępu Security by design Walidacja danych Hasła](https://reader035.vdocuments.net/reader035/viewer/2022071513/6134d8f0dfd10f4dd73bfe48/html5/thumbnails/11.jpg)
11/23
Security by ObscurityHasła i dane dostępowe
Gdy raz się „wydostaną”, to jest game over
Algorytmy szyfrujące Czy na pewno mamy najlepszych kryptologów na świecie?
Zaciemnianie kodu „Obfuscation”
Obscurity jako dodatkowa warstwa np. port knock
Security bydesign
Walidacjadanych
Hasła...
Inne metody
Zaporyogniowe
![Page 12: Zabezpieczanie aplikacji i systemów · Zabezpieczanie aplikacji i systemów Marek Zachara ... Procedury uzyskiwania i odwoływania dostępu Security by design Walidacja danych Hasła](https://reader035.vdocuments.net/reader035/viewer/2022071513/6134d8f0dfd10f4dd73bfe48/html5/thumbnails/12.jpg)
12/23
Analiza zachowań użytkowników Z reguły „wisienka na torcie”
Może być realizowana na różnym poziomie Wzorców czasu logowań Rozkładu geograficznego Wykonywanych operacji Parametrów zapytań
HTTP,SQL itp.
Security bydesign
Walidacjadanych
Hasła...
Inne metody
Zaporyogniowe
![Page 13: Zabezpieczanie aplikacji i systemów · Zabezpieczanie aplikacji i systemów Marek Zachara ... Procedury uzyskiwania i odwoływania dostępu Security by design Walidacja danych Hasła](https://reader035.vdocuments.net/reader035/viewer/2022071513/6134d8f0dfd10f4dd73bfe48/html5/thumbnails/13.jpg)
13/23
Przykład analizy parametrów zapytań HTTP
Security bydesign
Walidacjadanych
Hasła...
Inne metody
Zaporyogniowe
![Page 14: Zabezpieczanie aplikacji i systemów · Zabezpieczanie aplikacji i systemów Marek Zachara ... Procedury uzyskiwania i odwoływania dostępu Security by design Walidacja danych Hasła](https://reader035.vdocuments.net/reader035/viewer/2022071513/6134d8f0dfd10f4dd73bfe48/html5/thumbnails/14.jpg)
14/23
Honeypot Specjalnie spreparowana pułapka
Może przybierać różne formy Wirtualne osoby (spam/phishing) Konto użytkownika ze słabym hasłem Podatna strona internetowa Dedykowany host / system
Ważne procedury 'obsługi' Raportowanie Blokowanie Śledzenie / Forensic
Security bydesign
Walidacjadanych
Hasła...
Inne metody
Zaporyogniowe
![Page 15: Zabezpieczanie aplikacji i systemów · Zabezpieczanie aplikacji i systemów Marek Zachara ... Procedury uzyskiwania i odwoływania dostępu Security by design Walidacja danych Hasła](https://reader035.vdocuments.net/reader035/viewer/2022071513/6134d8f0dfd10f4dd73bfe48/html5/thumbnails/15.jpg)
15/23
Warstwy komunikacyjne modelu OSI
IP Firewalls
TCP Stateful Firewalls
Web ApplicationFirewalls (WAF)
Security bydesign
Walidacjadanych
Hasła...
Inne metody
Zaporyogniowe
![Page 16: Zabezpieczanie aplikacji i systemów · Zabezpieczanie aplikacji i systemów Marek Zachara ... Procedury uzyskiwania i odwoływania dostępu Security by design Walidacja danych Hasła](https://reader035.vdocuments.net/reader035/viewer/2022071513/6134d8f0dfd10f4dd73bfe48/html5/thumbnails/16.jpg)
16/23
Zasada działania firewalla
Version Header
Length Type of Service Total Length
Fragment Identification Flags Fragment Offset
TTL Protocol Header Checksum
Source Address
Destination Address
Options & Padding
0 32 Bit
Listareguł
Security bydesign
Walidacjadanych
Hasła...
Inne metody
Zaporyogniowe
![Page 17: Zabezpieczanie aplikacji i systemów · Zabezpieczanie aplikacji i systemów Marek Zachara ... Procedury uzyskiwania i odwoływania dostępu Security by design Walidacja danych Hasła](https://reader035.vdocuments.net/reader035/viewer/2022071513/6134d8f0dfd10f4dd73bfe48/html5/thumbnails/17.jpg)
17/23
Rodzaje firewalla Firewall bezstanowy: analizuje każdy pakiet oddzielnie Firewall stanowy (stateful): analizuje pakiet w kontekście sesji TCP (lub innych zmiennych stanu)
Zastosowania firewalli Separacja sieci DMZ
![Page 18: Zabezpieczanie aplikacji i systemów · Zabezpieczanie aplikacji i systemów Marek Zachara ... Procedury uzyskiwania i odwoływania dostępu Security by design Walidacja danych Hasła](https://reader035.vdocuments.net/reader035/viewer/2022071513/6134d8f0dfd10f4dd73bfe48/html5/thumbnails/18.jpg)
18/23
Konfiguracja firewalla w systemie Windows
Source: http://www.howtogeek.com/112564
Security bydesign
Walidacjadanych
Hasła...
Inne metody
Zaporyogniowe
![Page 19: Zabezpieczanie aplikacji i systemów · Zabezpieczanie aplikacji i systemów Marek Zachara ... Procedury uzyskiwania i odwoływania dostępu Security by design Walidacja danych Hasła](https://reader035.vdocuments.net/reader035/viewer/2022071513/6134d8f0dfd10f4dd73bfe48/html5/thumbnails/19.jpg)
19/23
iptables
Mangle/NAT Routing Forward Routing
INPUT OUTPUT
Processes
Security bydesign
Walidacjadanych
Hasła...
Inne metody
Zaporyogniowe
![Page 20: Zabezpieczanie aplikacji i systemów · Zabezpieczanie aplikacji i systemów Marek Zachara ... Procedury uzyskiwania i odwoływania dostępu Security by design Walidacja danych Hasła](https://reader035.vdocuments.net/reader035/viewer/2022071513/6134d8f0dfd10f4dd73bfe48/html5/thumbnails/20.jpg)
20/23
$IPT -F INPUT$IPT -F OUTPUT$IPT -F FORWARD $IPT -t nat -F $IPT -P INPUT DROP$IPT -P OUTPUT ACCEPT$IPT -P FORWARD DROP # zabezpieczenie przed skanerami ssh z kont uzytkownikow $IPT -A FORWARD -o eth0 -p tcp --dport 22 -d 10.0.0.0/8 -j ACCEPT $IPT -A FORWARD -o eth0 -p tcp --dport 22 -j DROP
$IPT -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT$IPT -A INPUT -s $MYNETWORK -j ACCEPT$IPT -A INPUT -i lo -j ACCEPT$IPT -A INPUT -p icmp -j ACCEPT$IPT -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT$IPT -A FORWARD -i eth1 -o eth0 -j ACCEPT
$IPT -t nat -A PREROUTING -d $EXTIP -p tcp --dport 22 -j DNAT --to-destination $LOCAL$IPT -t nat -A PREROUTING -d $EXTIP -p tcp --dport 80 -j DNAT --to-destination $LOCAL:8080$IPT -t nat -A PREROUTING -d $EXTIP -p tcp --dport 443 -j DNAT --to-destination $LOCAL$IPT -A FORWARD -d $LOCAL -p tcp --dport 22 -j ACCEPT$IPT -A FORWARD -d $LOCAL -p tcp --dport 80 -j ACCEPT$IPT -A FORWARD -d $LOCAL -p tcp --dport 443 -j ACCEPT
$IPT -t nat -A POSTROUTING -o eth0 -j MASQUERADE
Przykładowe reguły iptables
Security bydesign
Walidacjadanych
Hasła...
Inne metody
Zaporyogniowe
![Page 21: Zabezpieczanie aplikacji i systemów · Zabezpieczanie aplikacji i systemów Marek Zachara ... Procedury uzyskiwania i odwoływania dostępu Security by design Walidacja danych Hasła](https://reader035.vdocuments.net/reader035/viewer/2022071513/6134d8f0dfd10f4dd73bfe48/html5/thumbnails/21.jpg)
21/23
ModSecurity Powstał jako moduł reguł do Apache Rozwój w kierunku WAF Dostępne zbiory reguł Darmowe (OWASP Core Rule Set)
DoS Protection Generic Web Attack Protection Error detection i inne...
Komercyjne Możliwość tworzenia własnych reguł
Security bydesign
Walidacjadanych
Hasła...
Inne metody
Zaporyogniowe
![Page 22: Zabezpieczanie aplikacji i systemów · Zabezpieczanie aplikacji i systemów Marek Zachara ... Procedury uzyskiwania i odwoływania dostępu Security by design Walidacja danych Hasła](https://reader035.vdocuments.net/reader035/viewer/2022071513/6134d8f0dfd10f4dd73bfe48/html5/thumbnails/22.jpg)
22/23
Przykłady reguł ModSecurity (CRS)XSS:SecRule ARGS "(?i)(<script[^>]*>[\s\S]*?
<\/script[^>]*>|<script[^>]*>[\s\S]*?....
Operatory SQLSecRule REQUEST_COOKIES|!REQUEST_COOKIES:/__utm/|!
REQUEST_COOKIES:/_pk_ref/|REQUEST_COOKIES_NAMES|ARGS_NAMES|ARGS|XML:/* "(?i:(\!\=|\&\&|\|\||>>|<<|>=|<=|<>|<=>|\bxor\b|\brlike\b|\bregexp\b|\bisnull\b)..
Malware118.216.255.31/
123.143.98.5/ 123.242.165.138/ 125.163.251.219/ ...
więcej: https://www.owasp.org/index.php/Category:OWASP_ModSecurity_Core_Rule_Set_Project
Security bydesign
Walidacjadanych
Hasła...
Inne metody
Zaporyogniowe
![Page 23: Zabezpieczanie aplikacji i systemów · Zabezpieczanie aplikacji i systemów Marek Zachara ... Procedury uzyskiwania i odwoływania dostępu Security by design Walidacja danych Hasła](https://reader035.vdocuments.net/reader035/viewer/2022071513/6134d8f0dfd10f4dd73bfe48/html5/thumbnails/23.jpg)
23/23
Dziękuję za uwagę.
Pytania?
więcej informacji: http://marek.zachara.name
Dokument udostępniany na licencji
Creative Commons
AttributionShareAlike
Wykorzystane materiały które nie miały wcześniej podanego źródła:● Clipart – openclipart.org● Packet flow in NetFilter – Wikimedia CommonsElementy licencjonowane (royaltyfree), nie mogą być wykorzystywane oddzielnie:● Tło prezentacji, awatary postaci