Jak przeżyć w Internecie? Czyli o bezpieczeństwie słów kilka… Michał Jankowski MJ Software Solutions Services.

Slides:



Advertisements
Podobne prezentacje
Internetowe Bazy Danych
Advertisements

20041 Projektowanie dynamicznych witryn internetowych Paweł Górczyński ASP 3.0.
Nowy model komunikacji z emitentami
Marcin Piotrowski. Najpopularniejszymi darmowymi przeglądarkami są Internet Explorer, Opera, Mozilla Firefox, Google Chrome.
Wykorzystanie konta uczelnianego dla potrzeb stron WWW
Decyzje projektowe w .NET Framework
SQL INJECTION Wykorzystanie błędów w językach skryptowych
Wprowadzenie do języka skryptowego PHP
Bezpieczeństwo aplikacji WWW
Kamil Smitkiewicz Bezpieczeństwo w PHP.
Microsoft Windows 2000 dla Administratora. Podstawowe możliwości Wielojęzyczność Wielojęzyczność Usprawnienia interfejsu użytkownika Usprawnienia interfejsu.
Autor Roman Jędras Prowadzący: dr inż. Antoni Izworski Przedmiot:
Uwierzytelnianie i autoryzacja dostępu do portali
SIECI KOMPUTEROWE (SieKom) PIOTR MAJCHER WYŻSZA SZKOŁA ZARZĄDZANIA I MARKETINGU W SOCHACZEWIE PODSTAWOWE.
PODSYSTEM MONITOROWANIA EUROPEJSKIEGO FUNDUSZU SPOŁECZNEGO - PEFS
Obsługa bazy danych z poziomu phpMyAdmin
Obsługa serwera zdalnego przez klienta FTP
Proxy (WWW cache) Sieci Komputerowe
Information Bridge Framework platforma integracji Microsoft Office 2003 z aplikacjami Line of Business Krzysztof Michalski10/01/2005.
Systemy zarządzania treścią CMS
Zarządzanie stanem aplikacji Mechanizm Sesji
Architektura systemów wykorzystujących bazy danych (systemów bazodanowych) Wykład S. Kozielski.
Inżynieria Oprogramowania
SIEĆ P2P 1. Definicja sieci równouprawnionej. To taka sieć, która składa się z komputerów o takim samym priorytecie ważności, a każdy z nich może pełnić.
Integracja aplikacji z Facebookiem
Błażej Miśkiewicz Grupa domowa w Windows 7 Błażej Miśkiewicz MCT MCP MCSA MCTS MCITP.
PowerPivot dla DBA mgr inż. Paweł Potasiński.
Web Serwisy w praktyce Technologie internetowe ( )
… iSCSI … Windows Server 2012 Łukasz Dylewski.
Wirtualna baza SQL zgodna z SQL Server SQL as a Service
Programy do tworzenia stron internetowych
Technologie tworzenia aplikacji internetowych Wykład 3
Jak przeżyć w Internecie? Czyli o bezpieczeństwie słów kilka… Michał Jankowski MJ Software Solutions Services.
Promotor: dr.inż. Aleksandra Werner
Jak to działa? aplikacje desktopowe usługi online urządzenia
Użytkownicy i przywileje Sesja - przykład Błędy Komunikacja międzyskryptowa Wykład 83PD Technologie internetowe.
Informatyka 1 Sieć.
Prezentacja i szkolenie
Model OSI Model OSI (Open Systems Interconnection Reference Model) został wprowadzony w celu ujednolicenia regół komunikacji sieciowej. Obejmuje on cały.
Sieciowe Systemy Operacyjne
Obsługa dostępu do danych i ich dostępności
Sieć oparta o serwer Ubuntu 12.10
SOS SYSTEM OBSŁUGI SZKOŁY
Systemy zarządzania treścią Wykład 5
Podstawy teleinformatyki
Rozdział V: Globalne sieci komputerowe
Serwery Aplikacji Tworzenie bezpiecznych aplikacji.
Aplikacje TCP i UDP. Łukasz Zieliński
Narzędzia klienta usługi archiwizacji Warsztaty „Usługa powszechnej archiwizacji” Michał Białoskórski, CI TASK Bartłomiej Balcerek, WCSS.
Przykłady błędów bezpieczeństwa w kilku krokach, Mateusz Olejarka czyli rzecz o atakowaniu procesów.
Projekt realizowany w ramach Software Development Studio (SDS) Wizualne środowisko do tworzenia aplikacji webowych.
Jak przeżyć w Internecie? Czyli o bezpieczeństwie słów kilka… Michał Jankowski MJ Software Solutions Services.
Bezpieczeństwo w sieci Internet
Temat 2: Instalacja Apache, PHP i bazy danych MySQL.
Zagrożenia.
Treści multimedialne - kodowanie, przetwarzanie, prezentacjaOdtwarzanie treści multimedialnych Andrzej Majkowski informatyka +
Andrzej Majkowski 1 informatyka +. 2 Bezpieczeństwo protokołu HTTP Paweł Perekietka.
Bartosz Pawlak Wiktor Paliwoda Bezpieczeństwo Systemów Operacyjnych IMAP vs POP.
Temat: Porównanie technologii php,c# oraz javascript na przykładzie webaplikacji typu społecznościowy agregator treści Autor: Wojciech Ślawski.
Maciej Wierzchowski Mariusz Sołtysiak. Założenia  Autentykacja użytkownia  Autentykacja dostawcy  Zapewnienie bezpiecznego połączenia.
Elementy przeglądarki internetowej Pasek menu Pasek kart Pasek adresowy Pasek wyszukiwania Okno z zawartością strony internetowej Zakładki (ulubione)
B EZPIECZEŃSTWO D ZIECKA W SIECI Jeremiasz Zielonkiewicz Fundacja „VENTI”
Wady i zalety pracy w chmurze
Wydział Matematyki, Informatyki i Architektury Krajobrazu
Framework css Prezentacje wykonał: szymon kupper
Projekt modułu BANK INTERNETOWY Moduł funkcji banku
PROGRAMY DO KONTROLI RODZICIELSKIEJ
PROGRAMY DO KONTROLI RODZICIELSKIEJ
Aplikacje i usługi internetowe
Bezpieczeństwo aplikacji mobilnych
Zapis prezentacji:

Jak przeżyć w Internecie? Czyli o bezpieczeństwie słów kilka… Michał Jankowski MJ Software Solutions Services

Kontakt Michał Jankowski MJ Software Solutions Services Michał Jankowski MJ Software Solutions Services

Cel prezentacji Zapoznanie z monitorami ruchu sieciowego Zwrócenie uwagi na błędy w aplikacjach internetowych Przedstawienie sposobów zapobiegania atakom

Agenda NarzędziaBłędyDemo

Narzędzia

Microsoft Network Monitor

Darmowy Wersja 3.4 Przechwytywanie i analiza komunikacji sieciowej Parsery dla wielu protokołów Darmowy Wersja 3.4 Przechwytywanie i analiza komunikacji sieciowej Parsery dla wielu protokołów

Microsoft Message Analyzer

(wymagany Microsoft Account) Obecnie w wersji Beta 2 Na razie darmowy Następca Microsoft Network Monitor Nowoczesny interfejs (wstążka) Analiza ruchu sieciowego, Bluetooth, USB (wymagany Microsoft Account) Obecnie w wersji Beta 2 Na razie darmowy Następca Microsoft Network Monitor Nowoczesny interfejs (wstążka) Analiza ruchu sieciowego, Bluetooth, USB

Fiddler

Analiza ruchu http(s) Stworzony przez byłego programistę Microsoft (zespół IE) - Eric Lawrence Darmowy – jak dotąd (przejęty przez Teleric) Gigantyczne możliwości (tworzenie zapytań, podgląd komunikacji, statystyki, filtry) Obowiązkowy program dla każdego webdevelopera Analiza ruchu http(s) Stworzony przez byłego programistę Microsoft (zespół IE) - Eric Lawrence Darmowy – jak dotąd (przejęty przez Teleric) Gigantyczne możliwości (tworzenie zapytań, podgląd komunikacji, statystyki, filtry) Obowiązkowy program dla każdego webdevelopera

Błędy

Środowisko deweloperskie Ujawnienie wrażliwych danych (struktura bazy danych, konfiguracja, użyte moduły, czasami nawet hasła!!!) Często łatwe do znalezienia, wystarczy Google (Symfony/frontend_dev.php) Pozyskanie informacji ułatwiających kolejne ataki Koniecznie wyłączać albo ograniczać dostęp Uważać na domyślną konfigurację serwerów Konta testowe w systemie? Usunąć! Hasła zapisane w systemach kontroli wersji – unikać jeśli można Ujawnienie wrażliwych danych (struktura bazy danych, konfiguracja, użyte moduły, czasami nawet hasła!!!) Często łatwe do znalezienia, wystarczy Google (Symfony/frontend_dev.php) Pozyskanie informacji ułatwiających kolejne ataki Koniecznie wyłączać albo ograniczać dostęp Uważać na domyślną konfigurację serwerów Konta testowe w systemie? Usunąć! Hasła zapisane w systemach kontroli wersji – unikać jeśli można

Brak obsługi błędów Ujawniają wrażliwe dane (strukturę bazy danych, błędy programistów) Odstraszają użytkowników Pozyskanie cennych danych do dalszych ataków Konieczna prawidłowa obsługa błędów w aplikacjach!! Ujawniają wrażliwe dane (strukturę bazy danych, błędy programistów) Odstraszają użytkowników Pozyskanie cennych danych do dalszych ataków Konieczna prawidłowa obsługa błędów w aplikacjach!!

Filtrowanie danych wejściowych Brak prowadzi do ataków XSS, CSRF, … Filtrowanie wszystkich pól formularza Również te przekazywane w nagłówkach HTTP (ciasteczka), nazwy plików, Nie ufać danym od użytkownika Koniecznie uważać przy zapisie do bazy danych – atak SQL Injection Przy zapisywaniu danych, czy przy prezentacji? Brak prowadzi do ataków XSS, CSRF, … Filtrowanie wszystkich pól formularza Również te przekazywane w nagłówkach HTTP (ciasteczka), nazwy plików, Nie ufać danym od użytkownika Koniecznie uważać przy zapisie do bazy danych – atak SQL Injection Przy zapisywaniu danych, czy przy prezentacji?

Walidacja danych wejściowych Konieczna walidacja danych od użytkownika, obojętne, czy była również po stronie klienta – możliwość przesłania danych, których nie oczekujemy Współczesne frameworki znacznie ułatwiają walidację formularzy – warto korzystać Sprawdzenie, czy otrzymujemy dane, o które prosiliśmy – ataki CSRF Konieczna walidacja danych od użytkownika, obojętne, czy była również po stronie klienta – możliwość przesłania danych, których nie oczekujemy Współczesne frameworki znacznie ułatwiają walidację formularzy – warto korzystać Sprawdzenie, czy otrzymujemy dane, o które prosiliśmy – ataki CSRF

Sprawdzanie uprawnień użytkownika Sprawdzanie, czy użytkownik ma uprawnienia do zasobu, który zażądał Atak poprzez prostą podmianę wartości GET, albo POST – interfejs nie jest dobrym miejscem na ograniczanie dostępu Podobny do poprzedniego błędu Sprawdzanie, czy użytkownik ma uprawnienia do zasobu, który zażądał Atak poprzez prostą podmianę wartości GET, albo POST – interfejs nie jest dobrym miejscem na ograniczanie dostępu Podobny do poprzedniego błędu

Ochrona sesji Przejęcie sesji Losowe identyfikatory sesji – czy na pewno losowe? Lepiej przekazywać przez ciasteczko niż jako parametr URL Przesyłanie identyfikatora sesji tylko poprzez szyfrowane połączenie Regenerowanie identyfikatora sesji po zalogowaniu Ważne działania powinny być poprzedzone ponownym uwierzytelnieniem Przejęcie sesji Losowe identyfikatory sesji – czy na pewno losowe? Lepiej przekazywać przez ciasteczko niż jako parametr URL Przesyłanie identyfikatora sesji tylko poprzez szyfrowane połączenie Regenerowanie identyfikatora sesji po zalogowaniu Ważne działania powinny być poprzedzone ponownym uwierzytelnieniem

SQL Injection Wstrzyknięcie złośliwego kodu SQL wraz z danymi przesłanymi przez użytkownika Nie tylko formularze HTML, także parametry GET, ciasteczka, nazwy plików, nagłówki HTTP, zawartość plików – WSZYSTKO co pochodzi od użytkownika a trafia do bazy danych Zawsze filtrować dane pochodzące od użytkownika, korzystać z lepszych mechanizmów – preparowanie zapytań, ORMy (?), budować warstwy abstrakcji – to chyba oczywiste w modelu MVC? Wstrzyknięcie złośliwego kodu SQL wraz z danymi przesłanymi przez użytkownika Nie tylko formularze HTML, także parametry GET, ciasteczka, nazwy plików, nagłówki HTTP, zawartość plików – WSZYSTKO co pochodzi od użytkownika a trafia do bazy danych Zawsze filtrować dane pochodzące od użytkownika, korzystać z lepszych mechanizmów – preparowanie zapytań, ORMy (?), budować warstwy abstrakcji – to chyba oczywiste w modelu MVC?

Skompresowane pliki (Zip bomb) Zagrożenie w postaci przesłania na serwer olbrzymiego skompresowanego pliku Zawsze sprawdzać rozmiar pliku przed rozpakowaniem!! Zagrożenie w postaci przesłania na serwer olbrzymiego skompresowanego pliku Zawsze sprawdzać rozmiar pliku przed rozpakowaniem!!

Demo

Dziękuję za uwagę Prezentacja do pobrania na Prezentacja do pobrania na