Prezentacja z konferencji Mobilization 2014.
Abstrakt:
Na rzeczywistych przykładach pokażę jak wygląda proces oceny bezpieczeństwa aplikacji mobilnych. Zobaczymy m.in. jak wykrywać słabości związane z przechowywaniem danych na urządzeniu, nieprawidłowości w transmisji, oraz najgroźniejsze - błędy w API po stronie serwera (np. błędy logiczne, kontroli dostępu, REST). Jednocześnie okaże się jakie techniki utrudniają ataki, jaki jest faktyczny wpływ na ryzyko poszczególnych podatności, oraz jakie zabezpieczenia warto zastosować w różnych aplikacjach.
Najciekawsze podatności znalezione przez nasz zespół w trakcie testowania bezpieczeństwa aplikacji Android – przede
wszystkim bankowości czy płatności mobilnych.
Urządzenia przenośne w tym w szczególności telefony komórkowe coraz częściej zastępują komputer w roli klienta aplikacji. Jednym z nowych trendów jest przenoszenie różnego rodzaju aplikacji internetowych (np. bankowości internetowej) na platformy mobilne. W swojej prezentacji chciałbym omówić problemy dotyczące bezpieczeństwa informacji jakie należy rozpatrzyć wdrażając usługi mobilne. Dla skoncentrowania uwagi analiza problemu będzie dotyczyć bankowości mobilnej dostępnej za pośrednictwem telefonu komórkowego.
- Czym pod względem bezpieczeństwa różni się terminal przenośny (np. telefon komórkowy) od komputera?
- Rodzaje aplikacji mobilnych – przeglądarka vs „gruby klient”.
- Jak obecnie jest implementowana bankowość mobilna?
- Wykorzystanie telefonów komórkowych do autoryzacji transakcji w bankowości internetowej (kody jednorazowe, tokeny challenge-response).
- Ograniczenia środowiska mobilnego – wpływ na bezpieczeństwo.
- Typowe podatności dla aplikacji internetowych – czy są one aktualne dla aplikacji mobilnych? Przegląd według listy OWASP Top 10.
- Ryzyka, które zyskują na znaczeniu (np. zgubienie, kradzież, obserwacja, podsłuch)
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
Testowanie bezpieczeństwa aplikacji dedykowanych na platformę AndroidSecuRing
Celem prezentacji jest zapoznanie słuchaczy z metodami badania bezpieczeństwa aplikacji przeznaczonych na Androida. Zaprezentowane zostaną faktyczne przykłady podatności znalezionych w trakcie testów penetracyjnych. Dodatkowo, omówione będą podstawowe narzędzia oraz techniki niezbędne do przeprowadzanych testów bezpieczeństwa.
Wykład z konferencji 4Developers 2015.
OWASP - Open Web Applications Security Project to fundacja non-profit której celem jest eliminacja problemów bezpieczeństwa aplikacji.
W trakcie wykładu przedstawie krótko OWASP Top 10 w wydaniu dla programistów, czyli "Top 10 Proactive Controls" a więc najważniejsze zalecenia pozwalające na uniknięcie kluczowych błędów bezpieczeństwa.
Większość banków stosuje w swoich systemach bankowości internetowej i mobilnej metody autoryzacji transakcji (np. hasła SMS, "podpis elektroniczny", tokeny OTP, tokeny challenge-response). Stosowanie tego typu metod nie jest ograniczone tylko do systemów finansowych, są np. szeroko stosowane do autoryzowania operacji odzyskiwania hasła w różnego rodzaju aplikacjach.
Autoryzacja transakcji ma ograniczać skutki wynikające z działania wrogiego oprogramowania na stacji użytkownika, przechwytywania sesji oraz zgadywania czy kradzieży haseł.
W ostatnich latach widzimy jednak, że strategie działania grup przestępczych dostosowują się do tych zabezpieczeń i niejednokrotnie skutecznie je omijają. Prezentacja ma na celu skonfrontowanie obecnych metod autoryzacji operacji ze współczesnymi scenariuszami ataku przy użyciu malware oraz wskazanie typowych błędów w implementacji, które mogą przyczynić się do możliwości obejścia tych zabezpieczeń.
Agenda (draft):
- Krótka prezentacja metod autoryzacji transakcji.
- Kilka "case study" - jak malware obchodzi autoryzacje transakcji (w tym własne doświadczenia zdobyte podczas analizy przypadków ataków w bankach).
- Jak wybrać skuteczną metodę autoryzacji transakcji?
- Na co uważać? Typowe błędy implementacji, które mogą przyczynić się do osłabienia mechanizmu autoryzacji transakcji.
Najciekawsze podatności znalezione przez nasz zespół w trakcie testowania bezpieczeństwa aplikacji mobilnych – przede wszystkim finansowych (bankowość, płatności).
Nawet w aplikacjach o wysokim profilu ryzyka, przy rygorystycznych procedurach tworzenia kodu oraz wyczerpujących testach, zdarzają się krytyczne błędy bezpieczeństwa. W prezentacji pokazane zostaną rzeczywiste przykłady takich błędów (znalezione w trakcie testów bezpieczeństwa bankowości elektronicznej), sposoby ich wykorzystania przez intruza, a także przyczyny ich występowania i sposoby unikania.
Najciekawsze podatności znalezione przez nasz zespół w trakcie testowania bezpieczeństwa aplikacji Android – przede
wszystkim bankowości czy płatności mobilnych.
Urządzenia przenośne w tym w szczególności telefony komórkowe coraz częściej zastępują komputer w roli klienta aplikacji. Jednym z nowych trendów jest przenoszenie różnego rodzaju aplikacji internetowych (np. bankowości internetowej) na platformy mobilne. W swojej prezentacji chciałbym omówić problemy dotyczące bezpieczeństwa informacji jakie należy rozpatrzyć wdrażając usługi mobilne. Dla skoncentrowania uwagi analiza problemu będzie dotyczyć bankowości mobilnej dostępnej za pośrednictwem telefonu komórkowego.
- Czym pod względem bezpieczeństwa różni się terminal przenośny (np. telefon komórkowy) od komputera?
- Rodzaje aplikacji mobilnych – przeglądarka vs „gruby klient”.
- Jak obecnie jest implementowana bankowość mobilna?
- Wykorzystanie telefonów komórkowych do autoryzacji transakcji w bankowości internetowej (kody jednorazowe, tokeny challenge-response).
- Ograniczenia środowiska mobilnego – wpływ na bezpieczeństwo.
- Typowe podatności dla aplikacji internetowych – czy są one aktualne dla aplikacji mobilnych? Przegląd według listy OWASP Top 10.
- Ryzyka, które zyskują na znaczeniu (np. zgubienie, kradzież, obserwacja, podsłuch)
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
Testowanie bezpieczeństwa aplikacji dedykowanych na platformę AndroidSecuRing
Celem prezentacji jest zapoznanie słuchaczy z metodami badania bezpieczeństwa aplikacji przeznaczonych na Androida. Zaprezentowane zostaną faktyczne przykłady podatności znalezionych w trakcie testów penetracyjnych. Dodatkowo, omówione będą podstawowe narzędzia oraz techniki niezbędne do przeprowadzanych testów bezpieczeństwa.
Wykład z konferencji 4Developers 2015.
OWASP - Open Web Applications Security Project to fundacja non-profit której celem jest eliminacja problemów bezpieczeństwa aplikacji.
W trakcie wykładu przedstawie krótko OWASP Top 10 w wydaniu dla programistów, czyli "Top 10 Proactive Controls" a więc najważniejsze zalecenia pozwalające na uniknięcie kluczowych błędów bezpieczeństwa.
Większość banków stosuje w swoich systemach bankowości internetowej i mobilnej metody autoryzacji transakcji (np. hasła SMS, "podpis elektroniczny", tokeny OTP, tokeny challenge-response). Stosowanie tego typu metod nie jest ograniczone tylko do systemów finansowych, są np. szeroko stosowane do autoryzowania operacji odzyskiwania hasła w różnego rodzaju aplikacjach.
Autoryzacja transakcji ma ograniczać skutki wynikające z działania wrogiego oprogramowania na stacji użytkownika, przechwytywania sesji oraz zgadywania czy kradzieży haseł.
W ostatnich latach widzimy jednak, że strategie działania grup przestępczych dostosowują się do tych zabezpieczeń i niejednokrotnie skutecznie je omijają. Prezentacja ma na celu skonfrontowanie obecnych metod autoryzacji operacji ze współczesnymi scenariuszami ataku przy użyciu malware oraz wskazanie typowych błędów w implementacji, które mogą przyczynić się do możliwości obejścia tych zabezpieczeń.
Agenda (draft):
- Krótka prezentacja metod autoryzacji transakcji.
- Kilka "case study" - jak malware obchodzi autoryzacje transakcji (w tym własne doświadczenia zdobyte podczas analizy przypadków ataków w bankach).
- Jak wybrać skuteczną metodę autoryzacji transakcji?
- Na co uważać? Typowe błędy implementacji, które mogą przyczynić się do osłabienia mechanizmu autoryzacji transakcji.
Najciekawsze podatności znalezione przez nasz zespół w trakcie testowania bezpieczeństwa aplikacji mobilnych – przede wszystkim finansowych (bankowość, płatności).
Nawet w aplikacjach o wysokim profilu ryzyka, przy rygorystycznych procedurach tworzenia kodu oraz wyczerpujących testach, zdarzają się krytyczne błędy bezpieczeństwa. W prezentacji pokazane zostaną rzeczywiste przykłady takich błędów (znalezione w trakcie testów bezpieczeństwa bankowości elektronicznej), sposoby ich wykorzystania przez intruza, a także przyczyny ich występowania i sposoby unikania.
Bankowość i płatności mobilne - Jak zrobić to bezpiecznie?SecuRing
Urządzenia przenośne (smartfony, tablety) coraz częściej zastępują komputer w roli klienta aplikacji. Ponadto ich zastosowanie umożliwia wdrożenie nowych, niestosowanych dotąd funkcji zmieniających sposób korzystania przez klienta z usług finansowych czy płatności. W swojej prezentacji chciałbym omówić problemy dotyczące bezpieczeństwa informacji jakie należy rozpatrzyć wdrażając usługi mobilne. W szczególności chciałbym się skupić na defektach w oprogramowaniu, które mogą przyczynić się do wzrostu ryzyka stosowania technologii mobilnych.
Omawiane problemy:
- Profil ryzyka: Czym pod względem bezpieczeństwa różni się aplikacja mobilna od aplikacji przeglądarkowej?
- Ograniczenia środowiska mobilnego – wpływ na bezpieczeństwo.
- Typowe podatności dla aplikacji internetowych – czy są one aktualne dla aplikacji mobilnych?
- Ryzyka i podatności specyficzne dla aplikacji mobilnych – Przykłady.
- Dane przechowywane na urządzeniu.
- Autoryzacja transakcji.
- Wrogie oprogramowanie (malware).
- Bezpieczna aplikacja mobilna – Jak to osiągnąć?
- Wymagania (również niefunkcjonalne) odnośnie bezpieczeństwa – Przykłady dla bankowości mobilnej
- Ocena projektu
- Testy bezpieczeństwa
Co z bezpieczeństwem aplikacji mobilnych? - studium przypadków (KrakWhiteHat ...Logicaltrust pl
Na podstawie ponad stu testów aplikacji mobilnych przedstawienie tego co robimy źle, a co jeszcze gorzej. Skupiając się głównie na platformach iOS oraz Android, przeanalizujemy garść typowych i nietypowych błędów. Przestudiujemy problemy, które można napotkać podczas testów bezpieczeństwa oraz pokażemy jak zaradny pentester może sobie z nimi poradzić, dobry programista unikać, a świadomy użytkownik zdawać sobie sprawę, że nosi dziurawy software w kieszeniach.
OWASP Mobile TOP 10 na przykładzie aplikacji bankowych - Semafor 2016 - Mateu...Logicaltrust pl
Wnioski z technicznego badania kilkudziesięciu polskich aplikacji bankowych przeznaczonych na platformy Android oraz iOS pod kątem występowania w nich podatności z OWASP Mobile TOP 10. Prezentacja rzeczywistych błędów w oprogramowaniu mobilnym, praktycznych porad jak zabezpieczyć aplikacje oraz odniesienie uzyskanych rezultatów do badań przeprowadzonych w innych krajach.
Wyciek danych w aplikacjach - Artur Kalinowski, 4DevelopersLogicaltrust pl
Prezentacja zagadnienia wycieku danych oraz możliwości pozyskania i późniejszego wykorzystania podczas ataków. Omówienie typowych błędów popełnianych podczas projektowania, kodowania oraz wdrażania aplikacji, które mają negatywne konsekwencje dla bezpieczeństwa aplikacji. Prezentacja prostych metod identyfikacji wycieków danych i pozyskiwania istotnych informacji z wykorzystaniem publicznie dostępnych i darmowych narzędzi, które każdy może przetestować w praktyce. Prezentowane metody i techniki nie wymagają dogłębnej wiedzy i nie są skomplikowane, co ułatwia ich zapamiętanie, jak również późniejsze wykorzystanie podczas testów bezpieczeństwa własnych aplikacji, zwłaszcza w momencie wdrażania ich w środowisku produkcyjnym. Opisy wycieków danych bazują na rzeczywistych sytuacjach, jakie spotykane są podczas przeprowadzania testów penetracyjnych, a więc obejmują błędy i niedociągnięcia, które są powszechnie spotykane, a które stanowią potencjalną furtkę dla atakującego.
W skład poruszanych zagadnień wchodzą m.in.:
1. Błędne założenia projektowe podstawą przyszłych kłopotów
2. Typowe błędy, które niosą poważne konsekwencje
2. Na co zwraca uwagę atakujący 3. Darmowe narzędzia ułatwiające pozyskanie pożądanych informacji
4. Analiza działania aplikacji
5. Pozostałości developerskie, środowiska testowe oraz niewłaściwa konfiguracja środowisk produkcyjnych 6. "Bez
komentarza" :)
7. Pozyskiwanie wrażliwych danych z pamięci operacyjnej
8. Czy stosowanie restrykcyjnych zabezpieczeń ułatwia ataki? 9. Aplikacje mobilne a bezpieczeństwo
Wykład ukierunkowany pod kątem przekazania praktycznej wiedzy, projektantom, developerom i administratorom oraz wskazania konsekwencji braku właściwego podejścia do polityki bezpieczeństwa.
Narzędzia do zautomatyzowanego testowania bezpieczeństwa aplikacji WWWLogicaltrust pl
Konferencja TestFest - 20.02.2016 - Wrocław
Prezentacja ma za zadanie przedstawić zestaw narzędzi ułatwiających zautomatyzowane testy bezpieczeństwa aplikacji webowych. Dodatkowo zostaną omówione wady i zalety każdego z rozwiązań.
Prezentacja z konferencji ISSA InfoTRAMS Holistic Application Security
Od kilku lat na świecie jest promowane podejście polegające na wpisaniu bezpieczeństwa w cały cykl rozwojowy oprogramowania. W polskiej praktyce, nadal kwestie związane z bezpieczeństwem najczęściej poruszane są na dopiero na końcu projektu, tuż przed wdrożeniem gdy wykonywane są testy bezpieczeństwa. Bardzo często takie podejście skutkuje znacznymi kosztami usuwania błędów i sporym "zamieszaniem" w projekcie, ale o tym firma przekonuje się dopiero "za 5 dwunasta", po wykonaniu testów bezpieczeństwa. Z reguły, usuwanie podatności na tym etapie projektu polega na "gaszeniu pożarów" i przyklejaniu kolejnych łatek zamiast wprowadzenia systemowych zmian. W rezultacie, w dalszym cyklu życia, po wprowadzeniu zmian funkcjonalnych wypływają nowe przypadki wystąpienia starych błędów.
Jak to zmienić? Czy zastosowanie podstawowych zasad tworzenia bezpiecznego oprogramowania jest faktycznie takie skomplikowane jak by mogło się wydawać?
W trakcie prezentacji zostaną przedstawione metodyki wprowadzania bezpieczeństwa do całego cyklu rozwojowego oprogramowania (na przykładzie OWASP SAMM), również z uwzględnieniem sytuacji, gdy stworzenie aplikacji zlecane jest dla firmy zewnętrznej. Krótko omówiona zostanie skuteczność i potencjalne problemy tych metodyk w naszych, polskich realiach. Przedstawione zostanie także kilka prostych sposobów, które zdaniem autora pozwolą na skuteczniejsze osiągnięcie zamierzonego efektu - czyli aplikacji nieobarczonej podatnościami.
Kolejny startup stworzył nowe urządzenie: do automatycznego otwierania samochodu za pomocą smartfona. Przekonani iż użycie AES czyni komunikację niemożliwą do złamania, w celu promocji kampanii crowdfundingowej zorganizowali nietypowy konkurs - "hacking challenge": jeśli komuś uda się przełamać zabezpieczenia i "ukraść" samochód, wówczas legalnie trafi on do "złodzieja".
W trakcie prezentacji - przy aktywnej pomocy widowni, wspomaganej niezbędnym do zrozumienia nowej technologii wprowadzeniem - krok po kroku przeprowadzimy analizę bezpieczeństwa tego rozwiązania: zaczynając od aplikacji mobilnej, przez warstwę radiową Bluetooth Low Energy,
słabości stworzonego protokołu komunikacyjnego, niewłaściwe założenia i brak zrozumienia ograniczeń bezpieczeństwa użytych komponentów. Ostatecznie wspólnie odkryjemy nowy, zaskakujący dla twórców atak: złamiemy zabezpieczenia, przejmując pełną kontrolę nad samochodem, po
uprzednim jednokrotnym zbliżeniu się do nieświadomego właściciela.
Podzielę się prawdziwym doświadczeniem sukcesu i porażki udziału w konkursie "hacking challenge" - trudnych do spełnienia warunków, problemów technicznych, przeszkód organizacyjnych i kontaktu z organizatorem - przed i po upadku kampanii. Opowiem o ekonomii startup-ów podporządkowanej twardym zasadom crowdfundingu, oraz o
urządzeniach które wkrótce nieuchronnie staną się częścią otaczającej nas rzeczywistości.
Uczestnicy wyniosą wyczerpującą wiedzę dotyczącą bezpiecznego użycia najpopularniejszej technologii IoT: Bluetooth 4 (Low Energy) - na przykładzie nie tylko samochodu, ale także innych urządzeń - m.in. coraz
popularniejszych beacon-ów. Wspólnie zastanowimy się również nad warunkami wykorzystania potencjalnych słabości, oraz ich rzeczywistym wpływem na ryzyko.
JDD2014/ 4Developers 2015: Błędy uwierzytelniania i zarządzania sesją w JEE -...PROIDEA
Celem wykładu jest pokazanie na czym polega Broken Authetication and Session Management – co to tak naprawdę oznacza. Jakie mogą być tego konsekwencje i czy to występuje obecnie w JEE.
Wykład jest przeznaczony dla osób tworzących aplikacje korzystając z WEBowych frameworków Java.
Broken Authetication and Session Management jest od wielu lat klasyfikowany przez OWASP (Open Web Application Security Project) jako jedna z groźniejszych podatność aplikacji WEBowych.
prezentacja na jubileuszowej konferencji POLCAAT2019 (IIA) na temat błędów poznawczych, różnicy pomiędzy postrezganiem triady i praktyk bezpieczeństwa informacji przez "bezpiecznikow" i regularnych użytkownikow sieci.
[Confidence 2016] Red Team - najlepszy przyjaciel Blue TeamuPiotr Kaźmierczak
Piotr Kaźmierczak, Red Team Leader opowiadał jak ważną rolę w podnoszeniu kompetencji specjalistów od cyberbepieczeństwa pełni redteaming oraz zespół ofensywny. Zaprezentował różne narzędzia oraz przedstawił metody pracy Red Teamu. Prezentację zilustrowały przykłady z ostatnich treningów na poligonie cybernetycznym CDeX.
Czy twoje zabezpieczenia są skuteczne? Błędy i podatności w rozwiązaniach zab...SecuRing
Prezentacja z konferencji Bezpieczeństwo firmowych sieci (Warszawa, 2012-09-26)
Zabezpieczenia sprzętowe i programowe to bardzo istotny element infrastruktury IT każdej firmy, niezależnie od skali. Jest to również bardzo istotny składnik kosztów. Czy rozwiązania, w które inwestujemy są skuteczne? Czy faktycznie podnoszą poziom bezpieczeństwa?
Na te pytania nie ma oczywiście prostej odpowiedzi. Wydawać by się mogło, że tak ale czy każdy sprawdza skuteczność wdrożonych zabezpieczeń, czy raczej jest to sprawdzenie ich „w boju”?
Podczas mojej praktyki zawodowej, wielokrotnie spotykałem się z rozwiązaniami zabezpieczającymi, które nie działają, działają niezgodnie z założeniami lub wręcz same stanowią źródło zwiększonego ryzyka. Wynika to z tego, że rozwiązania zabezpieczające z reguły wymagają uważnego planowania i konfiguracji i w większości przypadków nie są to rozwiązania „plug & forget” niezależnie od tego co mówią dostawcy tych rozwiązań. Ponadto rozwiązania zabezpieczające (jak każdy element infrastruktury IT) mogą zawierać podatności, które mogą przyczynić się do obniżenia ich skuteczności albo nawet stanowić wyłom w całym systemie zabezpieczeń. W końcu – znowu jak każdy element infrastruktury IT – są one podatne na błędy ludzi, którzy je instalują i którzy nimi administrują.
Jak uniknąć takich sytuacji? Należy testować zabezpieczenia przed wdrożeniem (a w niektórych wypadkach – również przed zainwestowaniem w nie czasu i pieniędzy), tak jak każdy inny element infrastruktury IT. Z tym że w przypadku zabezpieczeń należy przede wszystkim uwzględnić testy skuteczności działania tych zabezpieczeń a więc testy w realnych warunkach ataku.
W trakcie mojej prezentacji postaram się przedstawić kilka przykładów i scenariuszy pokazujących jak nieprawidłowo działające zabezpieczenia techniczne mogą paradoksalnie przyczynić się do obniżenia poziomu bezpieczeństwa. Omówię zarówno podatności znajdywane w różnych rozwiązaniach zabezpieczających, ciekawe błędy konfiguracji a także nieprawidłowe procedury eksploatacji.
Testowanie bezpieczeństwa aplikacji mobilnychSlawomir Jasek
Prezentacja z konferencji Mobilization 2014.
Abstrakt:
Na rzeczywistych przykładach pokażę jak wygląda proces oceny bezpieczeństwa aplikacji mobilnych. Zobaczymy m.in. jak wykrywać słabości związane z przechowywaniem danych na urządzeniu, nieprawidłowości w transmisji, oraz najgroźniejsze - błędy w API po stronie serwera (np. błędy logiczne, kontroli dostępu, REST). Jednocześnie okaże się jakie techniki utrudniają ataki, jaki jest faktyczny wpływ na ryzyko poszczególnych podatności, oraz jakie zabezpieczenia warto zastosować w różnych aplikacjach.
Bankowość i płatności mobilne - Jak zrobić to bezpiecznie?SecuRing
Urządzenia przenośne (smartfony, tablety) coraz częściej zastępują komputer w roli klienta aplikacji. Ponadto ich zastosowanie umożliwia wdrożenie nowych, niestosowanych dotąd funkcji zmieniających sposób korzystania przez klienta z usług finansowych czy płatności. W swojej prezentacji chciałbym omówić problemy dotyczące bezpieczeństwa informacji jakie należy rozpatrzyć wdrażając usługi mobilne. W szczególności chciałbym się skupić na defektach w oprogramowaniu, które mogą przyczynić się do wzrostu ryzyka stosowania technologii mobilnych.
Omawiane problemy:
- Profil ryzyka: Czym pod względem bezpieczeństwa różni się aplikacja mobilna od aplikacji przeglądarkowej?
- Ograniczenia środowiska mobilnego – wpływ na bezpieczeństwo.
- Typowe podatności dla aplikacji internetowych – czy są one aktualne dla aplikacji mobilnych?
- Ryzyka i podatności specyficzne dla aplikacji mobilnych – Przykłady.
- Dane przechowywane na urządzeniu.
- Autoryzacja transakcji.
- Wrogie oprogramowanie (malware).
- Bezpieczna aplikacja mobilna – Jak to osiągnąć?
- Wymagania (również niefunkcjonalne) odnośnie bezpieczeństwa – Przykłady dla bankowości mobilnej
- Ocena projektu
- Testy bezpieczeństwa
Co z bezpieczeństwem aplikacji mobilnych? - studium przypadków (KrakWhiteHat ...Logicaltrust pl
Na podstawie ponad stu testów aplikacji mobilnych przedstawienie tego co robimy źle, a co jeszcze gorzej. Skupiając się głównie na platformach iOS oraz Android, przeanalizujemy garść typowych i nietypowych błędów. Przestudiujemy problemy, które można napotkać podczas testów bezpieczeństwa oraz pokażemy jak zaradny pentester może sobie z nimi poradzić, dobry programista unikać, a świadomy użytkownik zdawać sobie sprawę, że nosi dziurawy software w kieszeniach.
OWASP Mobile TOP 10 na przykładzie aplikacji bankowych - Semafor 2016 - Mateu...Logicaltrust pl
Wnioski z technicznego badania kilkudziesięciu polskich aplikacji bankowych przeznaczonych na platformy Android oraz iOS pod kątem występowania w nich podatności z OWASP Mobile TOP 10. Prezentacja rzeczywistych błędów w oprogramowaniu mobilnym, praktycznych porad jak zabezpieczyć aplikacje oraz odniesienie uzyskanych rezultatów do badań przeprowadzonych w innych krajach.
Wyciek danych w aplikacjach - Artur Kalinowski, 4DevelopersLogicaltrust pl
Prezentacja zagadnienia wycieku danych oraz możliwości pozyskania i późniejszego wykorzystania podczas ataków. Omówienie typowych błędów popełnianych podczas projektowania, kodowania oraz wdrażania aplikacji, które mają negatywne konsekwencje dla bezpieczeństwa aplikacji. Prezentacja prostych metod identyfikacji wycieków danych i pozyskiwania istotnych informacji z wykorzystaniem publicznie dostępnych i darmowych narzędzi, które każdy może przetestować w praktyce. Prezentowane metody i techniki nie wymagają dogłębnej wiedzy i nie są skomplikowane, co ułatwia ich zapamiętanie, jak również późniejsze wykorzystanie podczas testów bezpieczeństwa własnych aplikacji, zwłaszcza w momencie wdrażania ich w środowisku produkcyjnym. Opisy wycieków danych bazują na rzeczywistych sytuacjach, jakie spotykane są podczas przeprowadzania testów penetracyjnych, a więc obejmują błędy i niedociągnięcia, które są powszechnie spotykane, a które stanowią potencjalną furtkę dla atakującego.
W skład poruszanych zagadnień wchodzą m.in.:
1. Błędne założenia projektowe podstawą przyszłych kłopotów
2. Typowe błędy, które niosą poważne konsekwencje
2. Na co zwraca uwagę atakujący 3. Darmowe narzędzia ułatwiające pozyskanie pożądanych informacji
4. Analiza działania aplikacji
5. Pozostałości developerskie, środowiska testowe oraz niewłaściwa konfiguracja środowisk produkcyjnych 6. "Bez
komentarza" :)
7. Pozyskiwanie wrażliwych danych z pamięci operacyjnej
8. Czy stosowanie restrykcyjnych zabezpieczeń ułatwia ataki? 9. Aplikacje mobilne a bezpieczeństwo
Wykład ukierunkowany pod kątem przekazania praktycznej wiedzy, projektantom, developerom i administratorom oraz wskazania konsekwencji braku właściwego podejścia do polityki bezpieczeństwa.
Narzędzia do zautomatyzowanego testowania bezpieczeństwa aplikacji WWWLogicaltrust pl
Konferencja TestFest - 20.02.2016 - Wrocław
Prezentacja ma za zadanie przedstawić zestaw narzędzi ułatwiających zautomatyzowane testy bezpieczeństwa aplikacji webowych. Dodatkowo zostaną omówione wady i zalety każdego z rozwiązań.
Prezentacja z konferencji ISSA InfoTRAMS Holistic Application Security
Od kilku lat na świecie jest promowane podejście polegające na wpisaniu bezpieczeństwa w cały cykl rozwojowy oprogramowania. W polskiej praktyce, nadal kwestie związane z bezpieczeństwem najczęściej poruszane są na dopiero na końcu projektu, tuż przed wdrożeniem gdy wykonywane są testy bezpieczeństwa. Bardzo często takie podejście skutkuje znacznymi kosztami usuwania błędów i sporym "zamieszaniem" w projekcie, ale o tym firma przekonuje się dopiero "za 5 dwunasta", po wykonaniu testów bezpieczeństwa. Z reguły, usuwanie podatności na tym etapie projektu polega na "gaszeniu pożarów" i przyklejaniu kolejnych łatek zamiast wprowadzenia systemowych zmian. W rezultacie, w dalszym cyklu życia, po wprowadzeniu zmian funkcjonalnych wypływają nowe przypadki wystąpienia starych błędów.
Jak to zmienić? Czy zastosowanie podstawowych zasad tworzenia bezpiecznego oprogramowania jest faktycznie takie skomplikowane jak by mogło się wydawać?
W trakcie prezentacji zostaną przedstawione metodyki wprowadzania bezpieczeństwa do całego cyklu rozwojowego oprogramowania (na przykładzie OWASP SAMM), również z uwzględnieniem sytuacji, gdy stworzenie aplikacji zlecane jest dla firmy zewnętrznej. Krótko omówiona zostanie skuteczność i potencjalne problemy tych metodyk w naszych, polskich realiach. Przedstawione zostanie także kilka prostych sposobów, które zdaniem autora pozwolą na skuteczniejsze osiągnięcie zamierzonego efektu - czyli aplikacji nieobarczonej podatnościami.
Kolejny startup stworzył nowe urządzenie: do automatycznego otwierania samochodu za pomocą smartfona. Przekonani iż użycie AES czyni komunikację niemożliwą do złamania, w celu promocji kampanii crowdfundingowej zorganizowali nietypowy konkurs - "hacking challenge": jeśli komuś uda się przełamać zabezpieczenia i "ukraść" samochód, wówczas legalnie trafi on do "złodzieja".
W trakcie prezentacji - przy aktywnej pomocy widowni, wspomaganej niezbędnym do zrozumienia nowej technologii wprowadzeniem - krok po kroku przeprowadzimy analizę bezpieczeństwa tego rozwiązania: zaczynając od aplikacji mobilnej, przez warstwę radiową Bluetooth Low Energy,
słabości stworzonego protokołu komunikacyjnego, niewłaściwe założenia i brak zrozumienia ograniczeń bezpieczeństwa użytych komponentów. Ostatecznie wspólnie odkryjemy nowy, zaskakujący dla twórców atak: złamiemy zabezpieczenia, przejmując pełną kontrolę nad samochodem, po
uprzednim jednokrotnym zbliżeniu się do nieświadomego właściciela.
Podzielę się prawdziwym doświadczeniem sukcesu i porażki udziału w konkursie "hacking challenge" - trudnych do spełnienia warunków, problemów technicznych, przeszkód organizacyjnych i kontaktu z organizatorem - przed i po upadku kampanii. Opowiem o ekonomii startup-ów podporządkowanej twardym zasadom crowdfundingu, oraz o
urządzeniach które wkrótce nieuchronnie staną się częścią otaczającej nas rzeczywistości.
Uczestnicy wyniosą wyczerpującą wiedzę dotyczącą bezpiecznego użycia najpopularniejszej technologii IoT: Bluetooth 4 (Low Energy) - na przykładzie nie tylko samochodu, ale także innych urządzeń - m.in. coraz
popularniejszych beacon-ów. Wspólnie zastanowimy się również nad warunkami wykorzystania potencjalnych słabości, oraz ich rzeczywistym wpływem na ryzyko.
JDD2014/ 4Developers 2015: Błędy uwierzytelniania i zarządzania sesją w JEE -...PROIDEA
Celem wykładu jest pokazanie na czym polega Broken Authetication and Session Management – co to tak naprawdę oznacza. Jakie mogą być tego konsekwencje i czy to występuje obecnie w JEE.
Wykład jest przeznaczony dla osób tworzących aplikacje korzystając z WEBowych frameworków Java.
Broken Authetication and Session Management jest od wielu lat klasyfikowany przez OWASP (Open Web Application Security Project) jako jedna z groźniejszych podatność aplikacji WEBowych.
prezentacja na jubileuszowej konferencji POLCAAT2019 (IIA) na temat błędów poznawczych, różnicy pomiędzy postrezganiem triady i praktyk bezpieczeństwa informacji przez "bezpiecznikow" i regularnych użytkownikow sieci.
[Confidence 2016] Red Team - najlepszy przyjaciel Blue TeamuPiotr Kaźmierczak
Piotr Kaźmierczak, Red Team Leader opowiadał jak ważną rolę w podnoszeniu kompetencji specjalistów od cyberbepieczeństwa pełni redteaming oraz zespół ofensywny. Zaprezentował różne narzędzia oraz przedstawił metody pracy Red Teamu. Prezentację zilustrowały przykłady z ostatnich treningów na poligonie cybernetycznym CDeX.
Czy twoje zabezpieczenia są skuteczne? Błędy i podatności w rozwiązaniach zab...SecuRing
Prezentacja z konferencji Bezpieczeństwo firmowych sieci (Warszawa, 2012-09-26)
Zabezpieczenia sprzętowe i programowe to bardzo istotny element infrastruktury IT każdej firmy, niezależnie od skali. Jest to również bardzo istotny składnik kosztów. Czy rozwiązania, w które inwestujemy są skuteczne? Czy faktycznie podnoszą poziom bezpieczeństwa?
Na te pytania nie ma oczywiście prostej odpowiedzi. Wydawać by się mogło, że tak ale czy każdy sprawdza skuteczność wdrożonych zabezpieczeń, czy raczej jest to sprawdzenie ich „w boju”?
Podczas mojej praktyki zawodowej, wielokrotnie spotykałem się z rozwiązaniami zabezpieczającymi, które nie działają, działają niezgodnie z założeniami lub wręcz same stanowią źródło zwiększonego ryzyka. Wynika to z tego, że rozwiązania zabezpieczające z reguły wymagają uważnego planowania i konfiguracji i w większości przypadków nie są to rozwiązania „plug & forget” niezależnie od tego co mówią dostawcy tych rozwiązań. Ponadto rozwiązania zabezpieczające (jak każdy element infrastruktury IT) mogą zawierać podatności, które mogą przyczynić się do obniżenia ich skuteczności albo nawet stanowić wyłom w całym systemie zabezpieczeń. W końcu – znowu jak każdy element infrastruktury IT – są one podatne na błędy ludzi, którzy je instalują i którzy nimi administrują.
Jak uniknąć takich sytuacji? Należy testować zabezpieczenia przed wdrożeniem (a w niektórych wypadkach – również przed zainwestowaniem w nie czasu i pieniędzy), tak jak każdy inny element infrastruktury IT. Z tym że w przypadku zabezpieczeń należy przede wszystkim uwzględnić testy skuteczności działania tych zabezpieczeń a więc testy w realnych warunkach ataku.
W trakcie mojej prezentacji postaram się przedstawić kilka przykładów i scenariuszy pokazujących jak nieprawidłowo działające zabezpieczenia techniczne mogą paradoksalnie przyczynić się do obniżenia poziomu bezpieczeństwa. Omówię zarówno podatności znajdywane w różnych rozwiązaniach zabezpieczających, ciekawe błędy konfiguracji a także nieprawidłowe procedury eksploatacji.
Testowanie bezpieczeństwa aplikacji mobilnychSlawomir Jasek
Prezentacja z konferencji Mobilization 2014.
Abstrakt:
Na rzeczywistych przykładach pokażę jak wygląda proces oceny bezpieczeństwa aplikacji mobilnych. Zobaczymy m.in. jak wykrywać słabości związane z przechowywaniem danych na urządzeniu, nieprawidłowości w transmisji, oraz najgroźniejsze - błędy w API po stronie serwera (np. błędy logiczne, kontroli dostępu, REST). Jednocześnie okaże się jakie techniki utrudniają ataki, jaki jest faktyczny wpływ na ryzyko poszczególnych podatności, oraz jakie zabezpieczenia warto zastosować w różnych aplikacjach.
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 ;)
Jak kraść miliony, czyli o błędach bezpieczeństwa, które mogą spotkać również...The Software House
Często zdarza się, że na testy bezpieczeństwa nie ma czasu lub budżetu. Testy te często są wykonywane na sam koniec, gdy nie ma możliwości na dłuższą analizę. Przez takie myślenie, padają firmy lub zwykli obywatele tracą dostęp do swoich danych czy po prostu te dane wyciekają. Przeanalizujemy kilka ostatnich ataków, zastanowimy się jak można było temu zapobiec.
Wbrew powszechnym opiniom, nie tak prosto jest zrobić dobre Code Review. Robione w pośpiechu, tylko po to by je "odbębnić", często stwarza więcej szkody niż pożytku. Opowiem wam dlaczego code review jest ważne i jak wykorzystać ten proces aby upewnić się, że napisany kod jest najwyższej jakości. Będę nie tylko mówił o tym kto powinien robić code reviews, i dla kogo, jakie informacje są potrzebne do przeprowadzenia skutecznego code review, ale także jak zrobić dobre code review w najkrótszym możliwym czasie.
4Developers 2015: Frameworki jee vs cross-site scripting (xss) - Piotr BuckiPROIDEA
Speaker: Piotr Bucki
Language: Polish
Celem wykład jest pokazanie na czym polega atak XSS i jakie są jego rodzaje oraz dostępne zabezpieczenia w popularnych frameworkach Java. Wykład jest przeznaczony dla osób tworzących aplikacje korzystając z WEBowych frameworków Java.
XSS (Cross-site scripting) jest rodzajem ataku na użytkownika serwis WWW, który polega na wykonaniu kodu przygotowanego przez atakującego (zazwyczaj JavaScript, ale także AciveX, Flash czy Silverlight) w przeglądarce ofiary.
4Developers: http://4developers.org.pl/pl/
Jak zacząć, aby nie żałować - czyli 50 twarzy PHPPiotr Horzycki
Prezentacja na phpCE Polska 2017. Omawiam historię PHP oraz sposób, w jaki wykorzystujemy go dzisiaj. Pokazuję, w jaki sposób wybierać narzędzia i architekturę, aby nasze projekty żyły na produkcji długo i szczęśliwie.
Girls in It - Front-end & Back-end. Jak zacząćmonterail
“Girls in IT” to cykl spotkań dla kobiet, które mają na celu pokazać od kuchni jak wygląda praca w firmie technologicznej i pomóc im podjąć właściwą decyzję na temat kariery zawodowej.
W pierwszej części, przeznaczonej dla przyszłych Front-end Developerek, opowiemy na czym polega tworzenie strony internetowej i podzielimy się listą niezbędnych źródeł dla początkujących.
Druga część zawiera praktyczne informacje dotyczące Backend development'u. Przedstawimy specyfikę pracy na tym stanowisku, dobre praktyki, a także cenne wskazówki od naszych ekspertek.
https://www.youtube.com/watch?v=ww36brBuxU8
Łebski Development czyli kiedy i dlaczego tworzyć oprogramowanie pod klucz i ...Wojciech Sznapka
- oprogramowanie dedykowane vs. produkty Open Source gotowe do użycia – w którym momencie te drugie przestają być wystarczające,
- jaką wartością jest indywidualne podejście do zagadnienia i gdzie każdy z udziałowców projektu otrzymuje największe korzyści,
- po co komu framework, skoro można wszystko samemu napisać najlepiej?
- Symfony2, jego historia, możliwości i usytuowanie na rynku,
- przykłady z życia codziennego, jak PHP i Symfony2 zwinnie daje radę w przeróżnych dziedzinach software developmentu.
Zhakuj swojego Wordpressa, WordUP Trojmiastosecman_pl
Prezentacja na WordUP Trójmiasto poświęcona metodom testowania bezpieczeństwa tworzonych przez deweloperów dodatków do Wordpressa. W prezentacji skontrowano się na wybranych atakach na aplikacje webowe: SQL injection, XSS, Upload PHP shell
O zagadnieniu:
Czy następuje taki moment w życiu programisty, kiedy może on stwierdzić, że jego warsztat jest już doskonały? Nie, jeżeli pracuje w technologiach internetowych. Ta dziedzina informatyki rozwija się w niesamowicie szybkim tempie, a stworzone wczoraj rozwiązania warto stosować już dziś!
Cel i korzyści spotkania:
Podczas spotkania słuchacze poznają aktualnie wykorzystywane technologie oraz kluczowe umiejętności w produkcji aplikacji internetowych, jak również metody programowania ekstremalnego i techniki zwinnego wytwarzania oprogramowania. Osobom, które dopiero zaczynają swoją przygodę z web development, zostanie przedstawiona propozycja działań, których sumienne podjęcie się gwarantuje odniesienie sukcesu zawodowego.
DynamoDB jest z nami od dłuższego czasu i pomimo rosnącej popularności dla części z nas logika kryjąca się za DynamoDB nie wydaje się być jasna. Wymaga od nas zmiany myślenia o strukturze danych, zmiany naszych przyzwyczajeń oraz dostosowania się do mocno wyznaczonych reguł. W swojej prezentacji Marcin postara się wytłumaczyć skąd biorą się różnice pomiędzy dobrze nam znanym światem SQL a światem NoSQL. Opowie również o tym, jak zacząć modelowanie tabel oraz czym są i do czego służą GSI.
JDD 2017: Bezpieczny wypoczynek - czyli uwierzytelnianie RESTa (Krzysztof Be...PROIDEA
Aplikacje REST-owe są obecnie niezwykle popularne: tak te w pełni RESTful jak i te udostępniające mniej lub bardziej udane REST API. Nie znaczy to jednak, że mamy świetnie rozpoznane i doskonale opanowane mechanizmy uwierzytelniania w takich aplikacjach. Przeciwnie: wiele popularnych podejść niesie za sobą duże ryzyko i liczne problemy. Podczas prelekcji postaram się przybliżyć wady i zalety najważniejszych metod i odpowiedzieć na fundamentalne pytania: czy można zrealizować bezpieczne uwierzytelnianie bezstanowej aplikacji RESTowej w sposób równie bezstanowy? Czy JWT jest magicznym narzędziem rozwiązującym wszystkie problemy? Czy, jak i kiedy stosować OAuth i OpenID Connect?
Developer in a digital crosshair, 2023 edition - 4DevelopersSecuRing
Recent years show a significant increase in attacks against libraries, tools, and infrastructure used in application development, as well as directly against developers and software companies. From fake libraries and malicious changes to popular libraries or programming languages to vulnerabilities in CI/CD infrastructure components.
During the presentation, you will discover a handful of interesting, fresh examples and attack techniques and, perhaps most importantly, learn how to work safely as a programmer. You will find out about typosquatting, dependency confusion, protestware and discover stories of attacks on PHP, Codecov, Homebrew, npm, Ruby Gems, or GitHub.
Developer in a digital crosshair, 2022 edition - Oh My H@ck!SecuRing
Attacks on third-party libraries and tools that are often used while developing software have become dramatically frequent.
Among these attacks, one can find dependency confusion, issues in popular dev tools (Codecov, Homebrew, npm...), typosquatting, incidents (PHP, GitHub...), or malicious changes in popular dependencies (UAParser.js, coa, node-ipc...). I will share a lot of gripping real-life examples of such attacks, their causes and effects, and help you stay secure while developing software.
Developer in a digital crosshair, 2022 edition - No cON NameSecuRing
The frequency of attacks on third-party libraries and tools used in software development has dramatically increased in recent years.
Typosquatting, dependency confusion, malicious changes in popular dependencies (UAParser.js, coa, node-ipc...), issues in popular dev tools (Codecov, Homebrew, npm...) or incidents (PHP, GitHub...). In this presentation, I will go over many fascinating, recent examples of these attacks, their causes and effects, and recommend to you how to stay secure when developing software.
Is persistency on serverless even possible?!SecuRing
In addition to being a common option in cloud environments, serverless computing is also a suggested method for creating plenty of things! Did you ever consider its mechanics? Is serverless truly server-less? How does the execution environment function? In this event-driven compute service, is persistency even conceivable?
I will not lie – Remote Code Executions and Command Injections are uncommon, but what if one occurs in your function? Additionally, it may be brought in by an attacker through dependency injection. I will demonstrate how to use it to obtain persistency and exfiltrate more data than the function role gives.
Let us figure out:
- How serverless infrastructure functions.
- Why persistency is possible in this semi-volatile environment.
- How to use pseudo shell over HTTP for serverless environment research.
- An exploitation demo – how can we make use of an RCE vulnerability to obtain a persistency.
- Possible mitigations.
Let us hijack the data real-time from the AWS Lambdas and GCP Cloud Functions!
Presented at: Confidence 2022, AlligatorCon 2022, Secops Polska Meetup #32, DevSecCon Poland 2022, AWS Community Day Warsaw 2022.
What happens on your Mac, stays on Apple’s iCloud?!SecuRing
“$ sudo ls ~/Desktop: Operation not permitted”. Apple’s Transparency, Consent, and Control (TCC) framework limits access to private information like documents, a camera, a microphone, emails, and more in order to preserve your privacy. Since authorisation is required to grant such access, the mechanism key design priority was clear user consent.
At Black Hat USA 2021, I co-presented considerable research on abusing the TCC mechanisms, however, this time, we won’t be directly exploiting the TCC. Given that iCloud has tons of macOS users’ secrets, why keep attacking the TCC? The default configuration makes Mac synchronize a lot of data. Don’t you have your iMessages/Photos/Calendars/Reminders/Notes accessible from iCloud? That’s good because you take care of your privacy… but most users don’t. :)
The brand-new research on abusing Apple’s iCloud to gain access to users’ sensitive data will be shared during the presentation. All that from a malicious applications’ perspective without any additional permissions.
0-Day Up Your Sleeve - Attacking macOS EnvironmentsSecuRing
Do you have Macs in your company's infrastructure? Nowadays, I bet that in most cases the answer would be YES. Macs stopped being computers only used in startups. We can observe them even in huge legacy environments in banks and other corporations. The problem is that they are usually not symmetrically secured, compared to the rest of Windows stations. Macs are not immune, they can be insecurely configured and now...even Apple admits that malware is present on Macs.
In this presentation I will:
1. Introduce you to macOS security mechanisms
2. Perform step-by-step macOS infection based on my 0-day (live demo)
3. Show you post-exploitation techniques
4. Attack installed apps and collect data from them
5. Give recommendations on how to harden your Mac and macOS infrastructure
Developer in a digital crosshair, 2022 editionSecuRing
This presentation takes you through recent attacks aimed at software developers and software companies. First it starts with attacks on libraries you install or have installed (typosquatting, pushing malicious library updates due to maintainer's credential takeover, protestware), even your private ones (dependency confusion). Second it shows attack on tools which are used in software development (package managers). Third, there are examples of attacks onto developer's infrastructure (PHP programming language git sever, GitHub OAuth incident with Heroku and Travis-CI).
20+ Ways To Bypass Your Macos Privacy MechanismsSecuRing
In this presentation, we showed multiple techniques that allowed us to bypass this prompt, and as a malicious application, get access to protected resources without any additional privileges or user’s consent.
In the search for a webinar platform, we have tested the security of 14 of them. As a result, in half of tested platforms we have identified high-severity vulnerabilities for example access control issues allowing unprivileged attendees to become a host/presenter or sensitive data leakage.
20+ Ways to Bypass Your macOS Privacy MechanismsSecuRing
"TotallyNotAVirus.app" would like to access the camera and spy on you. To protect your privacy, Apple introduced Transparency, Consent, and Control (TCC) framework that restricts access to sensitive personal resources: documents, camera, microphone, emails, and more. Granting such access requires authorization, and the mechanism's main design concern was clear user consent.
In this talk, we will share multiple techniques that allowed us to bypass this prompt, and as a malicious application, get access to protected resources without any additional privileges or user's consent. Together, we submitted over 40 vulnerabilities just to Apple through the past year, which allowed us to bypass some parts or the entire TCC. We also found numerous vulnerabilities in third-party apps (including Firefox, Signal, and others), which allowed us to avoid the OS restrictions by leveraging the targeted apps' privileges.
In the first part of the talk, we will give you an overview of the TCC framework, its building blocks, and how it limits application access to private data. We will explore the various databases it uses and discuss the difference between user consent and user intent.
Next, we will go through various techniques and specific vulnerabilities that we used to bypass TCC. We will cover how we can use techniques like process injection, mounting, application behavior, or simple file searches to find vulnerabilities and gain access to the protected resources.
The audience will leave with a solid understanding of the macOS privacy restrictions framework (TCC) and its weaknesses. We believe there is a need to raise awareness on why OS protections are not 100% effective, and in the end, users have to be careful with installing software on their machines. Moreover - as we're going to publish several exploits - red teams will also benefit from the talk.
Author: Paweł Rzepa
In this talk I'm going to show you various attack vectors against the serverless applications built from AWS Lambda functions. You'll see:
- my findings on publishing malicious NPM packages to smuggle malicious code into legitimately looking dependences,
- examples of validation errors in serverless applications, including Denial of Wallet attacks and RCE in a fugacious, serverless environment
- serverless attacks and security nuances in Azure and GCP
- recipes to prevent those attacks
XPC is a well-known interprocess communication mechanism used on Apple devices. Abusing XPC led to many severe bugs, including those used in jailbreaks. While the XPC bugs in Apple's components are harder and harder to exploit, did we look at non-Apple apps on macOS? As it turns out, vulnerable apps are everywhere - Anti Viruses, Messengers, Privacy tools, Firewalls, and more.
This presentation:
1.Explain how XPC/NSXPC work
2.Present you some of my findings in popular macOS apps (e.g. local privilege escalation to r00t)
3.Abuse an interesting feature on Catalina allowing to inject an unsigned dylib
4.Show you how to fix that vulnz finally!
WebApps vs Blockchain dApps (SmartContracts): tools, vulns and standardsSecuRing
The presentation focuses on the whole process of security testing and present it by analogies to the web applications which are quite well-known. It covers the whole SDLC and show the similarities and differences in the arsenal of vulnerabilities, security tools and standards between the smart contracts and web applications on each step. Even though there exist a lot of great security projects for smart contracts, we do not have single, widely accepted security standard (such as ASVS in web apps world). That is why we introduce SCSVS (Smart Contract Security Verification Standard), a open-source 13-part checklist created to standardize the security of smart contracts for developers, architects, security reviewers and vendors.
WebApps vs Blockchain dApps (SmartContracts): tools, vulns and standardsSecuRing
The presentation focuses on the whole process of security testing and present it by analogies to the web applications which are quite well-known. It covers the whole SDLC and show the similarities and differences in the arsenal of vulnerabilities, security tools and standards between the smart contracts and web applications on each step. Even though there exist a lot of great security projects for smart contracts, we do not have single, widely accepted security standard (such as ASVS in web apps world). That is why we introduce SCSVS (Smart Contract Security Verification Standard), a open-source 13-part checklist created to standardize the security of smart contracts for developers, architects, security reviewers and vendors.
Author: Jakub Kaluzny
Let's talk about large-scale security programmes and maintaining security with tens of project teams - agile or waterfall, in-house or outsourced. I will discuss how to effectively track security requirements, organise threat modelling sessions, log output from those and translate it into penetration testing scope and test cases. We will dive deep into evil brainstorming, come up with abuser stories for each user story and define what makes the SDLC process secure or not. This talk is based on my work with different organisations in multiple countries and observations what works well in regards to security at scale and what does not.
While it is quite common practice to do periodic security assessments of your local network, it is really rare to find a company who puts the same effort for testing the security in their cloud. We have to understand what new threats and risks appeared with the cloud and how should we change our attitude to testing cloud security. The goal of my presentation is to show how security assessment of cloud infrastructure it is different from testing environments in classic architecture. I'll demonstrate a hypothetical attack on a company which is fully deployed in the AWS environment. I’m going to show the whole kill chain starting from presenting cloud-applicable reconnaissance techniques. Then I’ll attack the web application server hosted on EC2 instance to access its metadata. Using the assigned role, I’ll access another AWS EC2 instance to escalate privileges to the administrator and then present how to hide fingerprints in CloudTrail service. Finally, I’ll demonstrate various techniques of silent exfiltrating data from AWS environment, setting up persistent access and describe another potential, cloud-specific threats, e.g. cryptojacking or ransomware in the cloud. The presentation shows practical aspects of attacking cloud services and each step of the kill chain will be presented in a form of an interactive, live demo. On the examples of presented attacks, I’ll show how to use AWS exploitation framework Pacu and other handy scripts.
Web Apps vs Blockchain dApps (Smart Contracts): tools, vulns and standardsSecuRing
Last year at AppSec EU I had a presentation about the Ethereum smart contracts and did a technical showcase of some of their potential vulnerabilities and security flaws. I also presented my proposition on how to handle the responsible disclosure process in the smart contracts world.
This year I want to focus on the whole process of security testing and present it by analogies to the web applications which are quite well-known. Smart contracts are described as Web3 decentralized apps and I believe that my talk will not only bring new light on this subject but will also help to understand and organize the way of testing. I am going to cover the whole SDLC and show the similarities and differences between the smart contracts and web applications on each step.
The presented overview is especially important nowadays when the biggest companies are building their own blockchain platforms and cryptocurrencies – i.e. Libra introduced by Facebook (which by the way also supports smart contracts).
I am also going to show the differences in the arsenal of vulnerabilities, security tools and standards by the analogy to web apps arsenal. I think that, even though there exist a lot of great security projects for smart contracts, we do not have a single, widely accepted security standard (such as ASVS in web apps world). I would like to discuss potential work that needs to be done in that area and show my preliminary work on that matter.
After this presentation audience will know what are the similarities and differences between smart contracts and web apps in the SDLC, an arsenal of tools and standards, but also will have a fresh overview of possible options and current trends.
Budowanie i hakowanie nowoczesnych aplikacji iOSSecuRing
Po ostatniej prezentacji dotyczącej pentestów bez jailbreaka, autor zdecydował stworzyć prezentację defensywną. Znajdują się w niej informacje o najczęściej występujących problemach w nowoczesnych aplikacjach iOS oraz wskazówki jak sobie z nimi radzić. W prezentacji przedstawiona jest równie nowa otwartoźródłowa biblioteka iOS Security Suite dostępna pod adresem https://github.com/securing/IOSSecuritySuite
We need t go deeper - Testing inception apps.SecuRing
When it comes to thick-clients, java applets, embedded devices or mobile apps - often, the idea is to forget about HTTP/S stack, plaintext POST parameters, and instead, implement a custom communication protocol. - Sending files for printing? Caesar cipher does not support full UTF-8, so use AES in ECB mode. - Malware attacking online banking? Even over HTTPS, double-encrypt POST parameters. If your clients are rich, use asymetric encryption, for better protection. - Planning SOAP WS? Use WCF Binary XML and put it in a START-TLS tunnel wrapped over a TCP connection. Welcome to the world of application/x-inception-data content types, <meta charset=obscure> encoding and custom cryptography. Ideas that usually implement methods of 'security by obscurity'. Once the outer layer of obfuscation is off, very often the server backend reveals simple access control issues, SQL query shells or code execution vulnerabilities. I will discuss real-world examples from enterprise solutions tests which require a bit more effort to allow tampering with data send from the client: - intercepting the traffic, bypassing NAC - decapsulating encryption and encoding layers - hooking into function calls, modifying packages - reverse-engineer proprietary protocols and encryption.
After my offensive presentation "Testing iOS Apps without Jailbreak in 2018" it is time to focus also on building not just breaking. This talk will cover the most important milestones in reaching secure iOS/macOS apps. I'm going to show you how to develop modern & secure iOS/macOS apps using new security features presented at the latest Apple's Worldwide Developers Conference. Hackers will be satisfied as well, since I'm going to cover also pen tester's perspective. What's more - I will share with you details of multiple vulnerabilities (*including not disclosed previously*) that I found during security assessments and my research of Apple's applications.
2. Dzień dobry!
Sławomir Jasek
Pentester / konsultant bezpieczeństwa
Od 2003 roku:
Ocena bezpieczeństwa aplikacji, systemów, sieci...
Najskuteczniej pomagamy już od etapu projektowania.
3. Co będzie
● Spojrzenie pentestera (= intruza) na aplikacje mobilne
● Testowanie – na przykładach głównie Android
– Analiza paczki i kodu
– Dane zapisywane w urządzeniu i w logach
– RPC
– Transmisja
– API
● Podsumowanie
5. Jak?
Inna aplikacja na
urządzeniu
Podatności systemu
Kradzież, zgubienie
urządzenia, przypadkowy
dostęp, inna aplikacja...
Social engineering,
słabości użytkowników
np. słabe hasło, zbyt
trudne mechanizmy
Ataki na
transmisję -
podsłuch,
słabości SSL
API – błędy kontroli
dostępu, logiczne,
konfiguracji...
Analiza
paczki
6. Kto?
„grubszy cwaniak”
„script-kiddie”
Krzysztof Jarzyna
ze Szczecina
Dorwał się do narzędzi,
wali na oślep, zwykle nie
bardzo rozumiejąc co się
dzieje.
Coś mu się przypadkiem
udało (lub nie), i afera
gotowa.
Ma motywację, zasoby
oraz możliwości
przeprowadzenia ataku
nakierowanego
7. Po co?
● Jak to po co?
Bo może!
● Dla sławy!
● Dla satysfakcji
● Dla pieniędzy
● Dla innych korzyści
● ...
https://www.flickr.com/photos/viirok/2498157861
9. Paczka aplikacji
● Android
– Aplikacje bez root
np. „My App Sharer”
– APK Leecher
– Playdrone – masowe
pobieranie do chmury
– (nie wspominając root)
● iOS, inne – DRM nie jest problemem
11. Analiza kodu
● Do ataku jakiegoś procesu przydaje się rozumieć
jak on działa
● Własna kryptografia, błędy implementacji...
● Hasła, klucze, tokeny zaszyte w aplikacji
Np. tokeny FB, Google, MS, Yahoo i Linkedin aplikacji Airb2b – 10 milionów użytkowników
http://viennot.com/playdrone.pdf
● Tak, znaleźliśmy token FB w aplikacji ;)
12. Przykład
● Przesyłanie mailem danych do „bazy” –
support@pewnafirma.com
● Założenie : wysyłamy bezpośrednio przez nasz serwer
pocztowy – mail.pewnafirma.com, nie angażujemy kont
użytkownika
● Serwer oczywiście nie jest open-relayem, do wysłania maila
wymaga uwierzytelnienia
● Hasło zaszyte w aplikacji
● Co możemy zrobić? (oprócz wysyłania spamu)
To samo hasło do POP3 = dostęp do skrzynki!
13. Wytęż wzrok i znajdź klucz „szyfrujący”
w zaobfuskowanym kodzie
public final class a
implements b
{
private static final char[] a = { 67,72,65,82,84,79,83,67,72,76,85,68,78,73,69 };
private static void a(char[] paramArrayOfChar, char paramChar)
{
paramArrayOfChar[0] = paramChar; int i = 0;
if (i < paramArrayOfChar.length)
{
if (i % 2 == 0) { paramArrayOfChar[i] = a[(i % a.length)]; }
for (;;)
{
i++; break; paramArrayOfChar[0] = paramChar;
}
}
}
14. Wytęż wzrok i znajdź klucz „szyfrujący”
w zaobfuskowanym kodzie
public final class a
implements b
{
private static final char[] a = { 67,72,65,82,84,79,83,67,72,76,85,68,78,73,69 };
private static void a(char[] paramArrayOfChar, char paramChar)
{
paramArrayOfChar[0] = paramChar; int i = 0;
if (i < paramArrayOfChar.length)
{
if (i % 2 == 0) { paramArrayOfChar[i] = a[(i % a.length)]; }
for (;;)
{
i++; break; paramArrayOfChar[0] = paramChar;
}
}
}
„CHARSCHLUDNIE”
19. Logi, cache...
● Dość często zawierają pełne żądania HTTP,
wprowadzane klawisze – np. hasło użytkownika
INSERT INTO "cfurl_cache_response"
VALUES(2,0,1594297610,0,'http://dev/service/auth/createFirstSession?password=35
971831&sessionId=857006 &userId=24384344','1970-01-21 23:03:36');
20. Logi, cache...
● Dość często zawierają pełne żądania HTTP,
wprowadzane klawisze – np. hasło użytkownika
I/System.out( 1098): BaseActivity calling: /login onResponseData:
{"response":{"mask":"c794ffa2ffbdffc180ff41ff","phi":"/(...)
D/InputEventConsistencyVerifier( 1098): 0: sent at 6529438000000, KeyEvent { action=ACTION_UP,
keyCode=KEYCODE_3, scanCode=4, metaState=0, flags=0x8, repeatCount=0, eventTime=6529438,
downTime=6529371, deviceId=0, source=0x301 }
D/InputEventConsistencyVerifier( 1098): 0: sent at 6532144000000, KeyEvent { action=ACTION_UP,
keyCode=KEYCODE_5, scanCode=6, metaState=0, flags=0x8, repeatCount=0, eventTime=6532144,
downTime=6532032, deviceId=0, source=0x301 }
D/InputEventConsistencyVerifier( 1098): 0: sent at 6534378000000, KeyEvent { action=ACTION_UP,
keyCode=KEYCODE_7, scanCode=8, metaState=0, flags=0x8, repeatCount=0, eventTime=6534378,
downTime=6534277, deviceId=0, source=0x301 }
D/InputEventConsistencyVerifier( 1098): 0: sent at 6536876000000, KeyEvent { action=ACTION_UP,
keyCode=KEYCODE_0, scanCode=11, metaState=0, flags=0x8, repeatCount=0, eventTime=6536876,
downTime=6536811, deviceId=0, source=0x301 }
I/System.out( 1098): BaseActivity calling: /login/maskedPassword onResponseData:
{"response":{"state":"A","authenticated":true},"msgId":"1344674218830418930","errorCode":0,"time"
:1351588394408,"errorDesc":""}
21. Logi, cache – skutki
● Warunki wykorzystania trudne do spełnienia
– Kto może te logi czytać?
– Jak długo są przetrzymywane?
– Czy problem dotyczy tylko jednego feralnego builda?
– Czy problem występuje na wszystkich wersjach OS?
– Jakie dodatkowe warunki muszą być spełnione?
– ...
● Ale to może nie mieć żadnego znaczenia w obliczu
klęski wizerunkowej – np. Starbucks, styczeń 2014
22. Logi, cache – skutki
● Warunki wykorzystania trudne do spełnienia
– Kto może te logi czytać?
– Jak długo są przetrzymywane?
– Czy problem dotyczy tylko jednego feralnego builda?
– Czy problem występuje na wszystkich wersjach OS?
– Jakie dodatkowe warunki muszą być spełnione?
– ...
● Ale to może nie mieć żadnego znaczenia w obliczu
klęski wizerunkowej – np. Starbucks, styczeń 2014
23. Logi, cache – skutki
● Warunki wykorzystania trudne do spełnienia
– Kto może te logi czytać?
– Jak długo są przetrzymywane?
– Czy problem dotyczy tylko jednego feralnego builda?
– Czy problem występuje na wszystkich wersjach OS?
– Jakie dodatkowe warunki muszą być spełnione?
– ...
● Ale to może nie mieć żadnego znaczenia w obliczu
klęski wizerunkowej – np. Starbucks, styczeń 2014
24. Logi, cache – skutki
● Warunki wykorzystania trudne do spełnienia
– Kto może te logi czytać?
– Jak długo są przetrzymywane?
– Czy problem dotyczy tylko jednego feralnego builda?
– Czy problem występuje na wszystkich wersjach OS?
– Jakie dodatkowe warunki muszą być spełnione?
– ...
● Ale to może nie mieć żadnego znaczenia w obliczu
klęski wizerunkowej – np. Starbucks, styczeń 2014
25. Logi, cache – skutki
● Warunki wykorzystania trudne do spełnienia
– Kto może te logi czytać?
– Jak długo są przetrzymywane?
– Czy problem dotyczy tylko jednego feralnego builda?
– Czy problem występuje na wszystkich wersjach OS?
– Jakie dodatkowe warunki muszą być spełnione?
– ...
● Ale to może nie mieć żadnego znaczenia w obliczu
klęski wizerunkowej – np. Starbucks, styczeń 2014
26. Logi, cache – skutki
● Warunki wykorzystania trudne do spełnienia
– Kto może te logi czytać?
– Jak długo są przetrzymywane?
– Czy problem dotyczy tylko jednego feralnego builda?
– Czy problem występuje na wszystkich wersjach OS?
– Jakie dodatkowe warunki muszą być spełnione?
– ...
● Ale to może nie mieć żadnego znaczenia w obliczu
klęski wizerunkowej – np. Starbucks, styczeń 2014
27. Logi, cache – skutki
● Warunki wykorzystania trudne do spełnienia
– Kto może te logi czytać?
– Jak długo są przetrzymywane?
– Czy problem dotyczy tylko jednego feralnego builda?
– Czy problem występuje na wszystkich wersjach OS?
– Jakie dodatkowe warunki muszą być spełnione?
– ...
● Ale to może nie mieć żadnego znaczenia w obliczu
klęski wizerunkowej – np. Starbucks, styczeń 2014
37. BAD INTENTions
<permission android:name ="com.dobreprogramy.permission"
android:protectionLevel = "signature" ...
<receiver android:name ="dobryReceiver" android:exported="true"
android:permission="com.dobreprogramy.permission">
...
</receiver>
Intruz może zarejestrować to samo wcześniej
<permission android:name ="com.dobreprogramy.permission"
android:protectionLevel="normal" ...>
<uses-permission android:name ="com.dobreprogramy.permission"/>
38. Analiza/atak RPC
● Mnóstwo narzędzi
– Drozer
https://www.mwrinfosecurity.com/products/drozer/
– Android Hooker, comdroid, chex, epicc, iSEC intent
fuzzer/sniffer...
● Ręcznie
am broadcast -n com.aplikacja/com.aplikacja.BroadcastReceiver
am start -a android.intent.action.CALL -d tel://000-0000
39. Transmisja
Intruz musi mieć dostęp
do transmisji – pasywny
(podsłuch), lub aktywny –
aby modyfikować ruch
Ataki na
transmisję -
podsłuch,
słabości SSL
40. Przechwytywanie ruchu
● Local proxy – co się dzieje „na łączu” (np. żądania HTTP)
– Burp: wersja darmowa na początek wystarczy
portswigger.net/burp
– Fiddler – MS
www.telerik.com/fiddler
– wiele innych
● Emulator przez proxy:
www.telerik.com/fiddler/
emulator -avd emu -http-proxy 127.0.0.1:8080
42. Co zrobi klient?
● Jeśli ten sam certyfikat byłby
podpisany innym CA?
[POWINIEN] wyświetlić
ostrzeżenie, przerwać
transmisję...
Zaakceptuje bez
mrugnięcia.
CA nie jest w
zaufanych
CA w zaufanych
43. Certyfikaty CA zaszyte w urządzeniach
● Ćwiczenie: sprawdź jakie CA masz w swoim
telefonie
● Np. iOS8 ma m.in. certyfikaty rządów:
Chin: China Internet Network Information Center
Hong Kongu: Hongkong Post e-Cert.
Japonii: 3 CA
Holandii: 3 CA (PKIoverheid)
Taiwanu: Government Root Certification Authority
Turcji: Scientific and Technological Research Council of Turkey
USA: 5 CA, Department of Defense
44. SSL – „Man in the middle”
CA
?
Verisign
www.pewnafirma.pl
Verisign
www.pewnafirma.pl
45. Stosunkowo często...
sslcontext = SSLContext.getInstance("TLS");
atrustmanager = new TrustManager[1];
atrustmanager[0] = new EasyX509TrustManager(null);
sslcontext.init(null, atrustmanager, null);
Pusty TrustManager – akceptuje wszystkie certyfikaty
47. Instalujemy w urządzeniu
● Aplikacja używa domyślnego
truststore urządzenia
– Android > 4 – w interfejsie
– Wrzucamy na kartę SD (plik .crt)
adb push cacert.der /sdcard/cacert.crt
– „Zainstaluj z karty SD”
● Certyfikat zaszyty w aplikacji
(pinning)
– Podmieniamy w paczce aplikacji
48. API
API – błędy kontroli
dostępu, logiczne,
konfiguracji...
49. Mobile CAPTCHA
● Proces rejestracji, potwierdzanej SMS
● CAPTCHA w celu ograniczenia masowego
nadużycia procesu (koszty SMS, przeciążenie
systemu...)
● Należy kliknąć w odpowiedni obrazek (1 z 6)
50.
51. Mobile CAPTCHA
● Pomysł chybiony już w założeniach
– Prawdopodobieństwo trafienia „na ślepo” bardzo
wysokie
● W implementacji jeszcze gorzej
– Każdy obrazek to inny statyczny plik, intruz może je zindeksować
i ustalić w którym miejscu jest obrazek przedstawiający żądane
słowo
56. Dane użytkownika
Użytkownik 1
2
GET /services/user/profile HTTP/1.1
SA-DeviceId: d4c79a0fd994b1f8
940109f08ba56a89
SA-SessionId: 850075
850071
Accept: application/json
Host: acc
Connection: Keep-Alive
User-Agent: Apache-HttpClient/UNAVAILABLE (java 1.4)
DeviceId jedynym zabezpieczeniem
57. Historia pewnej aplikacji...
● Mnóstwo błędów kontroli dostępu
● Po zgłoszeniu dostawcy:
„Kontrola dostępu w aplikacji jest, tylko na
testowym środowisku wyłączona”
● Pomimo napiętych terminów włączyć się udało
dopiero po kilku tygodniach ;)
59. Prawdopodobnie powstrzyma
przypadkowych...
http://www.recreateweb.com.au/web-development/respond-2014-what-responsive-web-design-can-learn-from-accessibility-best-practice/