Tradycyjny WAF (Web Application Firewall) jest zwykle oparty na regułach stworzonych przez inżynierów bezpieczeństwa na podstawie analizy opublikowanych najnowszych rodzajów podatności oraz przykładów ataków. Reguły te, często bazujące na wyrażeniach regularnych polegają m.in. na znalezieniu określonych ciągów znaków występujących w zapytaniu (sygnatur ataków). Doświadczenie pokazuje jednak, że atakujący stale dostosowują swoje metody, modyfikując zapytania tak, aby nie zostały one dopasowane do istniejących już sygnatur. W rezultacie, potrzebna jest ciągła praca ekspertów od cyberbezpieczeństwa, którzy analizują działanie WAF i aktualizują sygnatury tak, by był on w stanie wykrywać nowe zagrożenia. W prezentacji przedstawione zostanie rozwiązanie mające na celu optymalizację tego procesu poprzez wykorzystanie technik uczenia maszynowego. Posiadając przykłady poprawnych i błędnych zapytań można stworzyć model predykcyjny, który automatycznie będzie klasyfikował nowe żądania jako podejrzane lub prawidłowe, pozwalając na wykrycie nieznanych wcześniej naruszeń. W ten sposób, praca inżynierów bezpieczeństwa nad aktualizacją i ulepszeniem WAF, może zostać w znacznym stopniu zautomatyzowana, a analiza tysięcy zapytań zastąpiona przeglądem niewielkiego podzbioru żądań zaklasyfikowanych jako podejrzane.
http://plnog.pl
https://www.facebook.com/PLNOG/
https://twitter.com/PLNOG
How to run system administrator recruitment process? By creating platform based on open source parts in just 2 nights! I gave this talk in Poland / Kraków OWASP chapter meeting on 17th Octomber 2013 at our local Google for Entrepreneurs site. It's focused on security and also shows how to create recruitment process in CTF / challenge way.
This story covers mostly security details of this whole platform. There's great chance, that I will give another talk about this system but this time focusing on technical details. Stay tuned ;)
How to run system administrator recruitment process? By creating platform based on open source parts in just 2 nights! I gave this talk in Poland / Kraków OWASP chapter meeting on 17th Octomber 2013 at our local Google for Entrepreneurs site. It's focused on security and also shows how to create recruitment process in CTF / challenge way.
This story covers mostly security details of this whole platform. There's great chance, that I will give another talk about this system but this time focusing on technical details. Stay tuned ;)
Twórz bezpieczny kod w PHP!
* Jakie rodzaje ataków mogą Ci zagrozić?
* Jak się przed nimi bronić?
* Jak produkować bezpieczne oprogramowanie?
PHP jest z pewnością jednym z najbardziej popularnych języków programowania, pozwalających na tworzenie dynamicznych aplikacji WWW. Swoją popularność zdobył dzięki prostej składni, łatwej konfiguracji oraz przejrzystym zasadom działania. PHP jest świetnym przykładem na to, że prostota i elegancja bywają lepsze niż nadmierne zaawansowanie i niepotrzebna komplikacja. Pomimo swej prostoty język PHP jest bardzo wymagający w sprawach związanych z bezpieczeństwem. Zmusza on programistę do poświęcenia niezwykłej uwagi kwestii wyboru bezpiecznych rozwiązań.
Z pewnością brakowało Ci książki, która w jednym miejscu gromadziłaby wszelkie informacje związane z bezpieczeństwem w PHP. Dzięki pozycji "PHP5. Bezpieczne programowanie. Leksykon kieszonkowy " poznasz podstawy bezpiecznego programowania, sposoby obsługi danych pobranych z zewnątrz oraz przekazywania ich pomiędzy skryptami. Autor przedstawi Ci rodzaje ataków na aplikacje PHP oraz najlepsze metody obrony przed nimi. Ponadto nauczysz się we właściwy sposób konfigurować PHP oraz zdobędziesz wiedzę na temat zasad bezpiecznej produkcji oprogramowania. Jeżeli chcesz tworzyć bezpieczne rozwiązania w PHP, koniecznie zapoznaj się z tą książką!
* Obsługa danych zewnętrznych
* Wstrzykiwanie kodu
* Dobór odpowiednich uprawnień
* Sposoby uwierzytelniania użytkownika
* Bezpieczne obsługiwanie błędów
* Rodzaje ataków na aplikacje napisane w PHP
* Obrona przed atakami XSS
* Zagrożenie wstrzyknięciem kodu SQL
* Ataki DOS i DDOS
* Bezpieczna konfiguracja PHP
* Sposoby tworzenia bezpiecznego oprogramowania
Wykorzystaj możliwości PHP w pełni i bezpiecznie!
Ożyw swoje witryny WWW
* Poznaj elementy języka JavaScript
* Napisz procedury obsługi zdarzeń
* Stwórz mechanizmy obsługi formularzy HTML
HTML, mimo ciągłego rozwoju, pozostaje wyłącznie językiem służącym do formatowania dokumentów. Przetwarzanie danych wprowadzanych przez użytkowników witryny WWW realizuje się za pomocą innych mechanizmów. Jedną z technologii służących do wykonywania takich operacji jest JavaScript -- język skryptowy interpretowany po stronie przeglądarki, opracowany przez firmę Netscape. JavaScript umożliwia tworzenie i umieszczanie bezpośrednio w kodzie HTML krótkich programów, za pomocą których można wykonywać różne zadania, takie jak rozpoznawanie i obsługiwanie kliknięć myszą, weryfikacja danych wprowadzanych do formularzy czy też nawigowanie pomiędzy stronami. Ma prostą składnię i jest stosunkowo łatwy do opanowania.
Czytając książkę "JavaScript. Ćwiczenia praktyczne. Wydanie II" i wykonując zawarte w niej przykłady, poznasz podstawy tego języka. Dowiesz się, z jakich elementów składa się JavaScript i w jaki sposób umieszczać jego kod w dokumentach HTML. Nauczysz się tworzyć funkcje i korzystać z obiektów. Przeczytasz o tym, w jaki sposób JavaScript może współpracować z przeglądarką internetową, przetwarzać zdarzenia generowane przez użytkownika i interpretować dane pochodzące z formularzy umieszczonych na stronie WWW.
* Umieszczanie skryptów w dokumencie
* Wyświetlanie okien dialogowych
* Typy danych, zmienne i operatory
* Pętle i konstrukcje warunkowe
* Współpraca z przeglądarką
* Obsługa zdarzeń
* Weryfikacja danych z formularzy
Naucz się korzystać z języka JavaScript,
który jest podstawą wielu nowoczesnych technologii sieciowych.
Cometari Dedicated Solutions jest firmą technologiczną zlokalizowaną w Krakowie. Posiadamy wiedzę i kompetencje w zakresie projektowania, produkcji i utrzymania
złożonych systemów informatycznych. Nasi inżynierowie posiadają wieloletnie doświadczenie branżowe dzięki czemu do każdego tematu podchodzimy indywidualnie. Kładziemy nacisk na szybkość komunikacji z klientem oraz jakość wytwarzanych rozwiązań. Specjalizujemy się w produkcji zaawansowanych systemów serwerowych jak również lekkich rozwiązań webowych oraz mobilnych. Jeśli potrzebujesz rzetelnego partnera technologicznego jesteśmy do dyspozycji.
O prezentacji:
Chcąc uzyskać type safety w projekcie możemy zdecydować się na samodzielne tworzenie, utrzymywane oraz współdzielenie typów. Inną możliwością jest skorzystanie z gotowego rozwiązania (np. generatora typów), które stworzy typy za pomocą komendy. Obie te opcje wymagają jednak dodatkowego nakładu pracy. tRPC niweluje ten problem pozwalając na natychmiastową synchronizację zmian między backendem a frontendem.
Podczas prelekcji opowiem o obecnych możliwościach i ograniczeniach tRPC, a także kiedy warto z tego narzędzia skorzystać. Dodatkowo podczas live codingu pokażę jak szybko i wygodnie można stworzyć API za pomocą tRPC i frameworku Next.js.
O prelegencie:
Karierę w IT zaczęła niecałe 3 lata temu jako programistka React Native. Szybko jednak zaciekawił ją także web dev i backend, co rozpoczęło jej drogę jako programistka full-stack. Uwielbia śledzić i wykorzystywać w projektach nowinki ze świata JavaScriptu. Poza pracą spędza czas uprawiając przeróżne sporty - od treningu siłowego i roweru, poprzez jogę, aż po narty.
Testowanie bezpieczeństwa – jak dostosować zakres do realnych zagrożeń i budżetuSecuRing
Jednym z problemów przed którym staje manager bezpieczeństwa lub kierownik projektu, który chce sprawdzić bezpieczeństwo systemu informatycznego to właściwy dobór zakresu testów bezpieczeństwa. Z jednej strony test zbyt ogólny może nie wykryć wielu istotnych słabości, z drugiej strony – dogłębne testy i analizy bezpieczeństwa nie mają ekonomicznego uzasadnienia dla każdego systemu i aplikacji eksploatowanej w firmie. Czas specjalistów, zarówno zewnętrznych jak i wewnętrznych, kosztuje i jest ograniczony, natomiast czas potencjalnych intruzów – nie. Tym bardziej istotne jest optymalne wykorzystanie czasu i budżetu przeznaczonego na testy bezpieczeństwa.
Celem prezentacji jest zachęcenie do dyskusji nad tym jak właściwie dobrać zakres testów bezpieczeństwa.
Prezentacja z konferencji SEMAFOR 2013, 5-6 marca 2013
Obsługa klienta z wykorzystaniem sztucznej inteligencji2040.io
W jaki sposób usprawnić proces obsługi klienta z wykorzystaniem sztucznej inteligencji?
Jak sztuczna inteligencja może poprawić procesy sprzedażowe?
Jak wykorzystać nową technologię w Twojej firmie?
>> https://edward.ai/pl <<
Twórz bezpieczny kod w PHP!
* Jakie rodzaje ataków mogą Ci zagrozić?
* Jak się przed nimi bronić?
* Jak produkować bezpieczne oprogramowanie?
PHP jest z pewnością jednym z najbardziej popularnych języków programowania, pozwalających na tworzenie dynamicznych aplikacji WWW. Swoją popularność zdobył dzięki prostej składni, łatwej konfiguracji oraz przejrzystym zasadom działania. PHP jest świetnym przykładem na to, że prostota i elegancja bywają lepsze niż nadmierne zaawansowanie i niepotrzebna komplikacja. Pomimo swej prostoty język PHP jest bardzo wymagający w sprawach związanych z bezpieczeństwem. Zmusza on programistę do poświęcenia niezwykłej uwagi kwestii wyboru bezpiecznych rozwiązań.
Z pewnością brakowało Ci książki, która w jednym miejscu gromadziłaby wszelkie informacje związane z bezpieczeństwem w PHP. Dzięki pozycji "PHP5. Bezpieczne programowanie. Leksykon kieszonkowy " poznasz podstawy bezpiecznego programowania, sposoby obsługi danych pobranych z zewnątrz oraz przekazywania ich pomiędzy skryptami. Autor przedstawi Ci rodzaje ataków na aplikacje PHP oraz najlepsze metody obrony przed nimi. Ponadto nauczysz się we właściwy sposób konfigurować PHP oraz zdobędziesz wiedzę na temat zasad bezpiecznej produkcji oprogramowania. Jeżeli chcesz tworzyć bezpieczne rozwiązania w PHP, koniecznie zapoznaj się z tą książką!
* Obsługa danych zewnętrznych
* Wstrzykiwanie kodu
* Dobór odpowiednich uprawnień
* Sposoby uwierzytelniania użytkownika
* Bezpieczne obsługiwanie błędów
* Rodzaje ataków na aplikacje napisane w PHP
* Obrona przed atakami XSS
* Zagrożenie wstrzyknięciem kodu SQL
* Ataki DOS i DDOS
* Bezpieczna konfiguracja PHP
* Sposoby tworzenia bezpiecznego oprogramowania
Wykorzystaj możliwości PHP w pełni i bezpiecznie!
Ożyw swoje witryny WWW
* Poznaj elementy języka JavaScript
* Napisz procedury obsługi zdarzeń
* Stwórz mechanizmy obsługi formularzy HTML
HTML, mimo ciągłego rozwoju, pozostaje wyłącznie językiem służącym do formatowania dokumentów. Przetwarzanie danych wprowadzanych przez użytkowników witryny WWW realizuje się za pomocą innych mechanizmów. Jedną z technologii służących do wykonywania takich operacji jest JavaScript -- język skryptowy interpretowany po stronie przeglądarki, opracowany przez firmę Netscape. JavaScript umożliwia tworzenie i umieszczanie bezpośrednio w kodzie HTML krótkich programów, za pomocą których można wykonywać różne zadania, takie jak rozpoznawanie i obsługiwanie kliknięć myszą, weryfikacja danych wprowadzanych do formularzy czy też nawigowanie pomiędzy stronami. Ma prostą składnię i jest stosunkowo łatwy do opanowania.
Czytając książkę "JavaScript. Ćwiczenia praktyczne. Wydanie II" i wykonując zawarte w niej przykłady, poznasz podstawy tego języka. Dowiesz się, z jakich elementów składa się JavaScript i w jaki sposób umieszczać jego kod w dokumentach HTML. Nauczysz się tworzyć funkcje i korzystać z obiektów. Przeczytasz o tym, w jaki sposób JavaScript może współpracować z przeglądarką internetową, przetwarzać zdarzenia generowane przez użytkownika i interpretować dane pochodzące z formularzy umieszczonych na stronie WWW.
* Umieszczanie skryptów w dokumencie
* Wyświetlanie okien dialogowych
* Typy danych, zmienne i operatory
* Pętle i konstrukcje warunkowe
* Współpraca z przeglądarką
* Obsługa zdarzeń
* Weryfikacja danych z formularzy
Naucz się korzystać z języka JavaScript,
który jest podstawą wielu nowoczesnych technologii sieciowych.
Cometari Dedicated Solutions jest firmą technologiczną zlokalizowaną w Krakowie. Posiadamy wiedzę i kompetencje w zakresie projektowania, produkcji i utrzymania
złożonych systemów informatycznych. Nasi inżynierowie posiadają wieloletnie doświadczenie branżowe dzięki czemu do każdego tematu podchodzimy indywidualnie. Kładziemy nacisk na szybkość komunikacji z klientem oraz jakość wytwarzanych rozwiązań. Specjalizujemy się w produkcji zaawansowanych systemów serwerowych jak również lekkich rozwiązań webowych oraz mobilnych. Jeśli potrzebujesz rzetelnego partnera technologicznego jesteśmy do dyspozycji.
O prezentacji:
Chcąc uzyskać type safety w projekcie możemy zdecydować się na samodzielne tworzenie, utrzymywane oraz współdzielenie typów. Inną możliwością jest skorzystanie z gotowego rozwiązania (np. generatora typów), które stworzy typy za pomocą komendy. Obie te opcje wymagają jednak dodatkowego nakładu pracy. tRPC niweluje ten problem pozwalając na natychmiastową synchronizację zmian między backendem a frontendem.
Podczas prelekcji opowiem o obecnych możliwościach i ograniczeniach tRPC, a także kiedy warto z tego narzędzia skorzystać. Dodatkowo podczas live codingu pokażę jak szybko i wygodnie można stworzyć API za pomocą tRPC i frameworku Next.js.
O prelegencie:
Karierę w IT zaczęła niecałe 3 lata temu jako programistka React Native. Szybko jednak zaciekawił ją także web dev i backend, co rozpoczęło jej drogę jako programistka full-stack. Uwielbia śledzić i wykorzystywać w projektach nowinki ze świata JavaScriptu. Poza pracą spędza czas uprawiając przeróżne sporty - od treningu siłowego i roweru, poprzez jogę, aż po narty.
Testowanie bezpieczeństwa – jak dostosować zakres do realnych zagrożeń i budżetuSecuRing
Jednym z problemów przed którym staje manager bezpieczeństwa lub kierownik projektu, który chce sprawdzić bezpieczeństwo systemu informatycznego to właściwy dobór zakresu testów bezpieczeństwa. Z jednej strony test zbyt ogólny może nie wykryć wielu istotnych słabości, z drugiej strony – dogłębne testy i analizy bezpieczeństwa nie mają ekonomicznego uzasadnienia dla każdego systemu i aplikacji eksploatowanej w firmie. Czas specjalistów, zarówno zewnętrznych jak i wewnętrznych, kosztuje i jest ograniczony, natomiast czas potencjalnych intruzów – nie. Tym bardziej istotne jest optymalne wykorzystanie czasu i budżetu przeznaczonego na testy bezpieczeństwa.
Celem prezentacji jest zachęcenie do dyskusji nad tym jak właściwie dobrać zakres testów bezpieczeństwa.
Prezentacja z konferencji SEMAFOR 2013, 5-6 marca 2013
Obsługa klienta z wykorzystaniem sztucznej inteligencji2040.io
W jaki sposób usprawnić proces obsługi klienta z wykorzystaniem sztucznej inteligencji?
Jak sztuczna inteligencja może poprawić procesy sprzedażowe?
Jak wykorzystać nową technologię w Twojej firmie?
>> https://edward.ai/pl <<
Testy wydajnościowe - najlepsze praktyki - Kuba Gajda
PLNOG19 - Andrzej Prałat & Wojciech Rybicki - Jak usprawnić działanie WAF wykorzystując machine learning?
1. Jak usprawnić działanie WAF
wykorzystując uczenie maszynowe?
Andrzej Prałat & Wojciech Rybicki
2. Kim jesteśmy
● Andrzej Prałat
Machine Learning Engineer @ Grey Wizard
● Wojciech Rybicki
Machine Learning Engineer @ Grey Wizard
● WAF
● Ochrona przed atakami DDOS
● Load balancing
● CDN
3. Agenda
1. Wstęp
a. Ogólne informacje dotyczące Web Application Firewall (WAF)
b. Dlaczego WAF stanowi istotny element ochrony
c. Rodzaje błędów popełnianych przez WAF
d. Dlaczego WAF wymaga aktualizacji
e. Problemy związane z aktualizowaniem WAF
2. Opis rozwiązania
a. Wstęp do tematyki uczenia maszynowego
b. Zbiór danych
c. Przygotowywanie atrybutów
d. Jak oceniać model predykcyjny
e. Wybór modelu uczącego
3. Rezultaty
5. Dlaczego WAF stanowi istotny element ochrony?
● Większość aplikacji posiada przynajmniej jedną podatność na atak
○ 86% wg Whitehat Security’s 2015 Report
○ 80% wg Contrast Security’s 2017 Report
○ 99.7% wg Trustwave Global Security’s 2017 Report
● Podatność nie zawsze musi dotyczyć naszego kodu
● Virtual patching
6. Koszt pomyłek
fałszywie pozytywnych
Koszt pomyłek
fałszywie negatywnych
Web Application Firewall Wysoki Wysoki
Filtrowanie spamu Wysoki Niski
Badania przesiewowe Niski Wysoki
Weryfikowanie skuteczności działania WAF
7. Aktualizacja WAF
● Przyczyny potrzeby aktualizacji WAF:
○ Nowe podatności
○ Nowe sposoby ominięcia detekcji oraz błędy w obecnej implementacji reguł
https://github.com/attackercan/regexp-security-cheatsheet
○ Zmiany w sposobie działania chronionej aplikacji
● Celem aktualizacji jest redukcja liczby nowych błędów
● WAF, który nie jest aktualizowany przestaje pełnić swoją funkcję
Wyrażenia regularne
/?x=<script>alert(1)</script>
REGEX: (<script[^>]*>.*?)
8. Jakie problemy wiążą się z utrzymywaniem WAF?
/?x=<script>alert(1)</script>
● Jak ocenić czy WAF działa dobrze?
● Mała widoczność błędów fałszywie negatywnych.
● Dane silnie niezrównoważone (~ 1:2500)
● Wymaga dużej wiedzy
● Czasochłonne
12. Zbiór danych
URL ... Class
/?x=..%2F..%2F..%2F..%2Fetc%2Fpasswd ... 1
/backup.sql ... 1
/suggest/?q=hello%3Cscript%3Ejavascript(%27xss%27)%3B&platform_id=12 ... 1
/ ... 0
/faq ... 0
/index.php ... 0
/ ... 0
/category/251/index.html ... 0
/suggest/?q=gam ... 0
/index.asp ... 0
... ... ...
● Podział na zbiór treningowy i testowy
13. Feature engineering
● URL
○ N-grams
○ Liczba znaków specjalnych jak ‘..’, ‘<’, ‘>’, słowa kluczowe SQL
● IP
○ Geolokalizacja
○ Właściwości IP
○ Obecność na listach
● User agent
○ Wiek przeglądarki
○ Wykorzystywane oprogramowanie
● ...
14. N-Grams
● n=3
b a c k u p . s q l b a c k u p . s q l b a c k u p . s q l b a c k u p . s q l
b a c k u p . s q l b a c k u p . s q l b a c k u p . s q l b a c k u p . s q l
26. Co udało się uzyskać?
● Ciągła weryfikacja poprawności działania WAF - większa kontrola nad
systemem
● Zautomatyzowanie procesu weryfikacji - jego utrzymanie nie wymaga
żadnych czynności
● Szybsze usprawnianie WAF - oszczędność czasu i ludzi