Hacking na żywo. Tomasz Węgrzanowski CoolKon III



Podobne dokumenty
Metody ataków sieciowych

Wykład 6: Bezpieczeństwo w sieci. A. Kisiel, Bezpieczeństwo w sieci

Wykład 2: Budowanie sieci lokalnych. A. Kisiel, Budowanie sieci lokalnych

System Kancelaris. Zdalny dostęp do danych

Problemy z bezpieczeństwem w sieci lokalnej

tel fax

MidpSSH - analiza bezpieczeństwa

6. Bezpieczeństwo przy współpracy z bazami danych

Kryptografia. z elementami kryptografii kwantowej. Ryszard Tanaś Wykład 11

Zagrożenia trywialne. Zagrożenia bezpieczeństwa aplikacji internetowych. Parametry ukryte. Modyfikowanie parametrów wywołania

Zagrożenia warstwy drugiej modelu OSI - metody zabezpieczania i przeciwdziałania Autor: Miłosz Tomaszewski Opiekun: Dr inż. Łukasz Sturgulewski

SEGMENT TCP CZ. II. Suma kontrolna (ang. Checksum) liczona dla danych jak i nagłówka, weryfikowana po stronie odbiorczej

Bankowość elektroniczna w Centrum Usług Internetowych

Wybrane metody obrony przed atakami Denial of Service Synflood. Przemysław Kukiełka

BEZPIECZEŃSTWO BANKOWOŚCI DETALICZNEJ

Router programowy z firewallem oparty o iptables

Spis treści. Wskazówki prawne Art Art Art. 268a Art Art. 269a Art. 269b... 23

Metody zabezpieczania transmisji w sieci Ethernet

SQL injection. Metody włamań do systemów komputerowych p. 1/13. Bogusław Kluge, Karina Łuksza, Ewa Makosa

Projektowani Systemów Inf.

Instrukcja logowania i realizacji podstawowych transakcji w systemie bankowości internetowej dla klientów biznesowych BusinessPro.

PROJEKT ARAKIS DOŚWIADCZENIA Z OBSERWACJI ZAGROŻEŃ W SIECI Tomasz Grudziecki (CERT Polska / NASK)

Zagrożenia związane z udostępnianiem aplikacji w sieci Internet

QuickStart TechBase S.A. Technical contact - support.techbase.eu 1/8

Usługi sieciowe systemu Linux

Zarządzanie bezpieczeństwem w sieciach

Najbardziej popularne metody włamań

Marta Rybczyńska Nowy atak na systemy anonimowości

11. Autoryzacja użytkowników

SIECI KOMPUTEROWE I TECHNOLOGIE INTERNETOWE

INFORMATYKA Pytania ogólne na egzamin dyplomowy

Robaki sieciowe. + systemy IDS/IPS

Warszawa, 22 marca Wstęp

ZBIÓR DOBRYCH PRAKTYK KORZYSTANIA Z BANKOWOŚCI ELEKTRONICZNEJ

Wdrażanie i zarządzanie serwerami zabezpieczającymi Koncepcja ochrony sieci komputerowej

Podstawy systemów kryptograficznych z kluczem jawnym RSA

BANK SPÓŁDZIELCZY PA-CO-BANK W PABIANICACH. Jak w bezpieczny i wygodny sposób korzystać z bankowości elektronicznej

Szczegółowy program,,laboratorium Bezpieczeństwa Systemów Informatycznych

PIXMA MG5500. series. Przewodnik konfiguracji

BEZPIECZEŃSTWO BANKOWOŚCI KORPORACYJNEJ

Połączenia. Obsługiwane systemy operacyjne. Strona 1 z 5

DESlock+ szybki start

Program szkolenia: Bezpieczny kod - podstawy

Serwer SSH. Wprowadzenie do serwera SSH Instalacja i konfiguracja Zarządzanie kluczami

Aspekty bezpieczeństwa aplikacji internetowych

BSK. Copyright by Katarzyna Trybicka-Fancik 1. Bezpieczeństwo systemów komputerowych. Podpis cyfrowy. Podpisy cyfrowe i inne protokoły pośrednie

ZiMSK. Konsola, TELNET, SSH 1

Problemy z bezpieczeństwem w sieci lokalnej

Konfiguracja własnego routera LAN/WLAN

Bezpieczeństwo systemów komputerowych

N150 Router WiFi (N150R)

TCP/IP formaty ramek, datagramów, pakietów...

PORADNIKI. Atak SMB Man-In-The-Middle

systemów intra- i internetowych Platformy softwarowe dla rozwoju Architektura Internetu (2) Plan prezentacji: Architektura Internetu (1)

Zdalne logowanie do serwerów

Podłączenie urządzenia. W trakcie konfiguracji routera należy korzystać wyłącznie z przewodowego połączenia sieciowego.

BEZPIECZEŃSTWO W SIECIACH

NIP: REGON INSTRUKCJA KONFIGURACJI WIFI NA PRZYKŁADZIE ROUTERA TP-LINK TL-WR740N.

Projekt PaX. Łata na jądro systemu operacyjnego Linux Strona projektu: pax.grsecurity.net

Wybrane ataki na urządzenia sieciowe Secure Michał Sajdak, Securitum sekurak.pl

Kierunek: technik informatyk 312[01] Semestr: II Przedmiot: Urządzenia techniki komputerowej Nauczyciel: Mirosław Ruciński

9. System wykrywania i blokowania włamań ASQ (IPS)

Zasady bezpiecznego korzystania z bankowości elektronicznej

Instrukcja obsługi certyfikatów w systemach ISOF

Bezpieczeństwo usług oraz informacje o certyfikatach

Instrukcja aktywacji tokena w usłudze BPTP

Klient-Serwer Komunikacja przy pomocy gniazd

Instrukcja programu Wireshark (wersja 1.8.3) w zakresie TCP/IP

Data modyfikacji:

INSTRUKCJA INSTALACJI SYSTEMU

Audyt zasobów sprzętowych i systemowych (za pomocą dostępnych apletów Windows oraz narzędzi specjalnych)

Przesyłania danych przez protokół TCP/IP

baza MS SQLEXPRES domyślnie po instalacji nie umożliwia obsługi połączenia z innego komputera

Przebieg instalacji NKP

InPro RCP WEB moduł sieciowy do oprogramowania InPro RCP

Przegląd zagrożeń związanych z DNS. Tomasz Bukowski, Paweł Krześniak CERT Polska

Adresy w sieciach komputerowych

DR INŻ. ROBERT WÓJCIK DR INŻ. JERZY DOMŻAŁ

WINDOWS Instalacja serwera WWW na systemie Windows XP, 7, 8.

Niektóre typowe cechy wiadomości typu phishing to:

Konfiguracja standardowa (automatyczna) podłączenia dekodera do istniejącej sieci Wi-Fi

Kamera. Kamera sieciowa Bullet. Skrócona instrukcja obsługi wersja polska. Niniejsza skrócona instrukcja obsługi dotyczy modeli: UD.

Nr: 12. Tytuł: UDOSTĘPNIANIE DANYCH O SPRAWACH KLIENTOM KANCELARII NA ZEWNĘTRZNYCH SERWERACH WWW. Data modyfikacji:

Wykład 4. komputerowych Protokoły SSL i TLS główne slajdy. 26 października Igor T. Podolak Instytut Informatyki Uniwersytet Jagielloński

Zastosowanie teorii liczb w kryptografii na przykładzie szyfru RSA

Temat: EasyAccess 2.0 Data: 10 Października 2014 Prowadzący: Maciej Sakowicz

Zamek Elektroniczny ENTR Instrukcja obsługi

Zarządzanie bezpieczeństwem w sieciach dr inż. Robert Banasiak, mgr inż. Rafał Jachowicz, Instytut Informatyki Stosowanej PŁ, 2013

Sieci komputerowe. Wykład 11: Podstawy bezpieczeństwa sieci. Marcin Bieńkowski. Instytut Informatyki Uniwersytet Wrocławski

WEP: przykład statystycznego ataku na źle zaprojektowany algorytm szyfrowania

Bezpieczeństwo w sieci lokalnej - prezentacja na potrzeby Systemów operacyjnych

Sieci komputerowe - administracja

Linksys/Cisco RT31P2, WRT54GP2. Instrukcja Konfiguracji

2014 Electronics For Imaging. Informacje zawarte w niniejszej publikacji podlegają postanowieniom opisanym w dokumencie Uwagi prawne dotyczącym tego

KOMPUTEROWY SYSTEM WSPOMAGANIA OBSŁUGI JEDNOSTEK SŁUŻBY ZDROWIA KS-SOMED

Instrukcja obsługi Podręcznik aktualizacji oprogramowania sprzętowego

Aplikacje WWW - laboratorium

SSH - Secure Shell Omówienie protokołu na przykładzie OpenSSH

Pharming zjawisko i metody ochrony

Sieci komputerowe. Wykład 7: Transport: protokół TCP. Marcin Bieńkowski. Instytut Informatyki Uniwersytet Wrocławski

Transkrypt:

Tomasz Węgrzanowski CoolKon III

Bezpieczeńswo komputerowe Ważny element rzeczywistości Obraz w mediach mocno zafałszowany Społeczeństwo wierzy w mity na ten temat Również gracze, pisarze, autorzy filmów Jak też zdecydowana większość informatyków

Wyjątek The Matrix Reloaded

Bezpieczeństwo jest subiektywne To nie jest dziura Polityka bezpieczeństwa Spójne sformalizowane zasady Jedna nieprzewidziana rzecz i... Zwykle wiele nieprzewidzianego Udawanie że problem nie istnieje

The only truly secure system is one that is powered off, cast in a block of concrete and sealed in a lead-lined room with armed guards - and even then I have my doubts. - Eugene H. Spafford

Kilka typów problemów dominuje Przepełnienie bufora Wstrzykiwanie SQL Jak też ludzkie Stare niełatane oprogramowanie Brak odpowiedzialności użytkowników Nie uczenie się na błędach: IE, sendmail, PHP, C

Komputery komunikują się wysyłając pakiety Na jednym komputerze działa jednocześnie wiele aplikacji sieciowych (przeglądarka, gadu gadu, bittorrent). Każda aplikacja ma wiele połączeń. Połączenia są identyfikowane kombinacją: Adres nadawcy, port nadawcy Adres lokalny, port lokalny

Pakiety TCP/IP: SYN prośba o zaakceptowanie połączenia SYN+ACK akceptacja połączenia ACK potwierdzenie otrzymania pakietu RST odrzucenie połączenia Bez flag - Dane FIN zamknięcie połączenia

1 83.27.125.165 3179 209.85.135.99 80 SYN 10 209.85.135.99 80 83.27.125.165 3179 SYN+ACK1 2 83.27.125.165 3179 209.85.135.99 80 ACK10 2 83.27.125.165 3179 209.85.135.99 80 GET /... 11 209.85.135.99 80 83.27.125.165 3179 ACK2 12 3 13 4 209.85.135.99 80 83.27.125.165 3179 83.27.125.165 3179 209.85.135.99 80 ACK12 209.85.135.99 80 83.27.125.165 3179 83.27.125.165 3179 209.85.135.99 80 ACK13 200 OK... <a href=... 14 209.85.135.99 80 83.27.125.165 3179 FIN 5 6 83.27.125.165 3179 209.85.135.99 80 ACK14 83.27.125.165 3179 209.85.135.99 80 FIN 15 209.85.135.99 80 83.27.125.165 3179 ACK6

tcpdump Podsłuchuje pakiety TCP/IP (i inne) Standardowe narzędzie każdego administratora Żeby podsłuchać ciekawe dane, trzeba kontrolować miejsce przez które płyną Przejąć kontrolę nad takim miejscem Przekonać serwery do zmiany trasy przesyłu

Wiele narzędzi podsłuchuje pakiety tcpflow Zachowuje przesłane dane ettercap Wsczechstronne narzędzie podsłuchowe Zbiera hasła ze stron internetowych, email, MSN, nawet do serwerów Quake 3 i Half-Life

Wiedza o systemie ułatwia atak i obronę Skanowanie portów za pomocą nmap Próbuje połączyć się z wszystkimi portami po kolei Tryb naiwny: Jeśli połączenie zaakceptowane, natychmiast zamknij Tryb półotwarty (SYN scan): Wysyłamy SYN Jeśli otrzymamy SYN+ACK, wysyłamy RST, port otwarty Jeśli otrzymamy RST, port zamknięty Wykrywamy bez otwierania pełnego połączenia

Komunikujące się komputery nie są bezpośrednio podłączone Gdy komputer otrzyma pakiet nie do siebie: przekazuje go dalej lub odrzuca być może przy okazji podsłuchując Każdy pakiet może podążać inną drogą przeważnie droga się nie zmienia traceroute

Gdy komputer otrzyma pakiet nie do siebie: przekazuje go dalej lub odrzuca być może przy okazji podsłuchując może też modyfikować komunikację Modyfikacja pakietów umożliwia dzielenie numeru IP (NAT) często stanowi część większego ataku

Jeżeli używa się prawidłowo kryptografii, połączenia szyfrowane są praktycznie nie do złamania Atakowane są inne elementy systemu Kryptografii używa się przeważnie nieprawidłowo Jeśli strony ustaliły wspólny klucz, bez znajomości klucza nie można podsłuchać ani zmodyfikować komunikacji Wspólne klucze można łatwo generować

Generacja klucza g, p publicznie znane liczby a, b prywatne liczby, losowe co połączenie x, y wysyłane jawnie żeby znać k trzeba znać a i b, a i y, lub b i x obliczenie a z x, b z y, lub k z x i y zbyt trudne Alicja Bob a b x = g a mod p y = g b mod p k = y a mod p = g ab mod p k = x b mod p = g ab mod p

Chcemy zdobyć hasło użytkownika do banku Niestety połącznie jest szyfrowane Klucz ustalany przy połączeniu Samo podsłuchiwanie nie wystarcza Użytkownik Router Bank a g a jawne b g b g ab hasło szyfrowane g ab dane

Oryginalne liczb możemy podmienić własnymi Mamy dostęp do haseł i danych bankowych Użytkownik i bank są nieświadomi Użytkownik Router Bank a c d b g a g c g bd g b g ac g ac g bd g bd hasło odszyfrowanie i reszyfrowanie dane

Żeby zapobiec man-in-the-middle banki i inne bezpieczne strony internetowe mają certyfikaty Sfałszowanie certyfikatu niemożliwe Włamanie na serwery banku trudne Włamanie na komputer użytkownika łatwiejsze Na szczęście dla atakującego: Przedstawiamy błędny certyfikat Przeglądarka otwiera okienko z ostrzeżeniem Użytkownik i tak prawie zawsze naciśnie kontynuuj Użytkownik nie ma certyfikatu więc bank nic nie wie

Bezpieczeństwa nie można zignorować Co robić jeśli odkryje się dziurę? Jest tylko jedna słuszna procedura Należy ją natychmiast publicznie ujawnić

Jeśli odkryło się dziurę, można śmiało założyć, że ci źli również o niej wiedzą i z niej korzystają Milczenie to moralna współodpowiedzialność za ataki, którym mogliśmy zapobiec Praktyka wykazuje, że informowanie producenta i liczenie na szybką reakcję nie działa Poprawki są wydawane po miesiącach lub wcale Użytkownicy nie wiedzą o problemie i dalej używają Internet Explorera

Razem ze szczegółami na temat dziury publikowany jest zwykle exploit Exploity są używane do testowania błędu i są pomocne przy jego łataniu Exploity mogą zostać użyte do ataku Bazy danych zawierają exploity na stare wersję prawie wszystkich popularnych programów

SQL język komunikacji z bazami danych SELECT * FROM users WHERE login='admin' AND password='hb376trdvb' Zapytania program zwykle generuje przez wklejanie do szablonu SELECT * FROM users WHERE login='?' AND password='?'

SELECT * FROM users WHERE login='?' AND password='?' Gdy zalogujemy się z: login: admin hasło: ' OR 'x'='x SELECT * FROM users WHERE login='admin' AND password='' OR 'x'='x' Czasem można w ten sposób skasować nawet bazę danych

SQL można traktować jako zwykły tekst przy takim traktowaniu łatwo o dziury Problem znaki specjalne takie jak ' Nie działa 1 ręczne escape'owanie Nie działa 2 ręczne weryfikowanie Nie działa 3 ręczne filtrowanie Nie działa 4 automatyczna modyfikacja danych pochodzących od użytkownika

Rozwiązanie SQL to nie jest zwykły tekst Funkcja budująca zapytania powinna dostać szablon i listę elementów do wstawienia automatycznie zajmie się znakami specjalnymi $query = $sql->prepare("select * FROM users WHERE login=? AND password=?"); $query->execute($user_name, $password); Można też zapomnieć o SQL Use.find_by_login_and_password(login, passwd) PHP samo w sobie jest problemem

Największą grupą dziur są przepełnienia bufora Programy używają wielu tablic Tekst to tablica znaków (1 bajt na znak) Tablicy dostaje fragment pamięci, w której przechowuje dane 60200 do 60299 100-elementowa tablica bajtów 60300 do 60303 inny obiekt i-ty element ma adres 60200+i elementy liczone oczywiście od zera

W większości języków programowania dostęp do elementów tablicy jest weryfikowany Próba dostępu do elementu 122 tablicy 100- elementowej zgłosi wyjątek C nie zawraca sobie takimi problemami głowy Element 0 to 60200 Element 74 to 60274 Element 102 to 60302 tam już jest inny obiekt! Z samego tylko powodu przepełnień bufora żaden program w C nie jest bezpieczny