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)
Najciekawsze podatności znalezione przez nasz zespół w trakcie testowania bezpieczeństwa aplikacji Android – przede
wszystkim bankowości czy płatności mobilnych.
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
Najciekawsze podatności znalezione przez nasz zespół w trakcie testowania bezpieczeństwa aplikacji mobilnych – przede wszystkim finansowych (bankowość, płatności).
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.
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
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.
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 Android – przede
wszystkim bankowości czy płatności mobilnych.
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
Najciekawsze podatności znalezione przez nasz zespół w trakcie testowania bezpieczeństwa aplikacji mobilnych – przede wszystkim finansowych (bankowość, płatności).
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.
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
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.
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.
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.
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.
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.
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ń.
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.
Socjotechnika w Internecie - metody ataku i obronyLogicaltrust pl
Wystąpienie poświęcone było najciekawszym ukierunkowanym atakom socjotechnicznym... a także tym mniej spektakularnym, ale równie skutecznym atakom phishingowym, wycelowanym w szeregowych internautów. Oprócz przybliżenia problemu, celem prezentacji jest także próba znalezienia odpowiedzi na pytanie jak w poszczególnych przypadkach można było pokrzyżować plany cyberprzestępców i ustalenia podstawowych zasad, których przedstrzeganie pozwoli internautom na zmniejszenie powodzenia kolejnych tego typu działań.
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.
Aplikacje mobilne tworzone w technologiach webowychTomasz Borowski
Android, iOS, Windows Phone... Czy zróżnicowanie platform i języków programowania musi być przeszkodą w tworzeniu aplikacji mobilnych? Na szczęście nie! Dzięki technologiom webowym możemy tworzyć oprogramowanie działające na wielu platformach, a posiadane doświadczenie w HTML i JavaScript może znacznie przyspieszyć pracę i ukończenie projektu. Podczas wystąpienia zostaną przedstawione dostępne narzędzia i biblioteki do tworzenia cross-platformowych aplikacji mobilnych.
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.
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.
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.
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ń.
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.
Socjotechnika w Internecie - metody ataku i obronyLogicaltrust pl
Wystąpienie poświęcone było najciekawszym ukierunkowanym atakom socjotechnicznym... a także tym mniej spektakularnym, ale równie skutecznym atakom phishingowym, wycelowanym w szeregowych internautów. Oprócz przybliżenia problemu, celem prezentacji jest także próba znalezienia odpowiedzi na pytanie jak w poszczególnych przypadkach można było pokrzyżować plany cyberprzestępców i ustalenia podstawowych zasad, których przedstrzeganie pozwoli internautom na zmniejszenie powodzenia kolejnych tego typu działań.
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.
Aplikacje mobilne tworzone w technologiach webowychTomasz Borowski
Android, iOS, Windows Phone... Czy zróżnicowanie platform i języków programowania musi być przeszkodą w tworzeniu aplikacji mobilnych? Na szczęście nie! Dzięki technologiom webowym możemy tworzyć oprogramowanie działające na wielu platformach, a posiadane doświadczenie w HTML i JavaScript może znacznie przyspieszyć pracę i ukończenie projektu. Podczas wystąpienia zostaną przedstawione dostępne narzędzia i biblioteki do tworzenia cross-platformowych aplikacji mobilnych.
Sześć sposobów na przejęcie sieci przemysłowej w twojej firmieSecuRing
Agenda:
1. Wstęp - kto i po co chciałby zaatakować naszą infrastrukturę
2. Przykłady w jaki sposób mógłby wyglądać atak – omówienie na konkretnych sytuacjach:
atak „z Internetu”
przejęcie stacji w LAN
przejęcie telefonu
atak lokalny na transmisje bezprzewodowe
atak lokalny na okablowanie, niezabezpieczone gniazdka, switche...
ataki na transmisję przez Internet - słabości VPN, łącza GSM, ...
3. Czy skuteczna separacja sieci przemysłowej jest możliwa? Czy zawsze jest zgodna z założeniami? Jak zidentyfikować nieoczywiste punkty styku i ocenić ich bezpieczeństwo?
4. Porady i wskazówki, jak minimalizować zagrożenie
Upowszechnienie rozwiązań IoT i M2M z pewnością wpłynie na zainteresowanie przestępców atakami na nowe rozwiązania. Rozwój łatwo dostępnych narzędzi służących do realizacji ataku będzie uzasadniony ekonomicznie, a ryzyko użycia danej technologii zamiast maleć może rosnąć w czasie. Podatności związane z urządzeniami (m.in. liczniki inteligentne, beacon-y, moduły bluetooth low energy) a także ze wspierającą je infrastrukturą Big Data – na rzeczywistych przykładach. Zastanowimy się także nad realnym wpływem na ryzyko (warunki i skutki wykorzystania) prezentowanych podatności – dla użytkownika końcowego oraz operatora, oraz nad sposobami ich uniknięcia.
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.
3. Agenda
Wykorzystanie aplikacji mobilnych w bankowości
Ograniczenia środowiska mobilnego – wpływ na
bezpieczeństwo
Podatności aplikacji mobilnych
Typowe podatności aplikacji webowych (przegląd wg
OWASP Top10)
Podatności specyficzne dla aplikacji mobilnych
Podsumowanie
3
4. Bankowość mobilna
SMS / text
Powiadomienia
Autoryzacja transakcji
Tekstowe serwisy transakcyjne
MMI / USSD
Przeglądarka
Dostęp do serwisów banku (w tym
transakcyjnych)
– mobilnych (dostosowanych do
małego ekranu)
– tradycyjnych
Grafika: pocztowy.pl, aliorbank.pl 4
5. Bankowość mobilna
Aplikacje
Autoryzacja transakcji (kody
jednorazowe, challenge –
response)
Serwisy transakcyjne
Inne
Technologie zbliżeniowe
(Near Field Communication)
Lokalizacja
….?
Grafika: raiffeisen.pl, blog.bzwbk.pl 5
6. Ograniczenia platformy
laptop telefon
Ekran duży mały
Klawiatura wygodna niewygodna
Multitasking jest (widoczny) jest (niewidoczny)
Kradzież / zgubienie rzadkie częstsze
Blokowanie częste (w firmach) rzadkie (nawet w
urządzenia firmach)
Świadomość mała mniejsza
użytkowników
Grafika: bankofamerica.com 6
8. Czy podatności typowe dla aplikacji webowych
mogą dotyczyć aplikacji mobilnych?
Webowe Mobilne Mobilne
OWASP Top 10 (przeglądarka) („aplikacja”)
A1 – Injection TAK TAK
A2 – Corss Site Scripting (XSS) TAK (raczej) NIE
A3 – Broken Authentication and Session TAK (!) TAK
Management
A4 – Insecure Direct Object References TAK TAK
A5 – Cross Site Request Forgery TAK (raczej) NIE
A6 – Security Misconfiguration TAK TAK
A7 – Insecure Cryptographic Storage TAK TAK
A8 – Failure to Restrict URL Access TAK zależy
A9 – Insufficient Transport Layer TAK TAK
Protection
A10 – Unvaidated Redirects and TAK zależy
Forwards 8
10. Man in the Mobile
Grafika: ingbank.pl, cert.pl 10
11. Man in the Mobile
Uwaga: Każda bankowość internetowa jest podatna na tego
typu atak
(wykorzystująca telefon do autoryzacji operacji)
To nie zależy od banku i rodzaju bankowości internetowej !
Istotą ataku jest nieświadomy użytkownik i jego „zarażony”
komputer
Wrogi kod na komputerze skłania użytkownika do podania nr
tel.
Instalacja wrogiego kodu na telefonie (za zgodą użytkownika)
11
13. Kradzież / zgubienie
laptop telefon
Prawdopodobieństwo wystąpienia
Ilość (w Polsce) kilka mln 47,15 mln 1
smartfony 11,5% 2
Kradzież / zgubienie średnio bardzo często
Zabezpieczenia
Hasło (przy starcie) średnio PIN do SIM-karty
Dane aplikacji mogą być
dostępne bez PIN-u
Hasło (po rzadko Rzadziej
nieaktywności)
Szyfrowanie dysku rzadko Na razie niszowe
- BlackBerry: w systemie
- Nokia, Android: dodatek
1 Telepolis IV kwartał 2010
2 Gfk Polonia, styczeń 2011
13
14. Sposób dystrybucji aplikacji
Grafika: blogs.strategyanalytics.com
Zwolnienie użytkownika z odpowiedzialności
Aplikacje są rozpowszechniane za
pośrednictwem „zaufanego” źródła
iTunes App Store, Android Market, MS Marketplace, BlackBerry
App World, Nokia OVI Store, …
Można zezwolić na instalacje z
„niezaufanych” źródeł
m-banking: Dystrybucja za pomocą „sklepu”
albo poinstruowanie użytkowników, że mają
zezwolić na instalacje „niezaufanej” aplikacji
Czy faktycznie można mieć zaufanie do
aplikacji nawet ze „sprawdzonych” źródeł?
14
15. Sposób dystrybucji aplikacji
Malware DroidDream (Android Market – 1 marca 2011)
Sklonowane ponad 50 popularnych aplikacji
Opublikowano je ponownie z dodanym malware
„DroidDream”
Te same lub podobne nazwy aplikacji
(developer: “Kingmall2010″, “we20090202″, “Myournet”)
Ponad 200 tys. ściągniętych kopii w ciągu pierwszego dnia
Malware zawiera dwa exploity umożliwiające uruchomienie
wrogiego kodu z przywilejami „administratora”
Wykrada dane użytkownika. Umożliwia instalacje innych
programów.
Grafika: ubergizmo.com 15
16. Uwierzytelnienie
Uwierzytelnienie hasłem
Niewygodna klawiatura
Czy użytkownik ustawi „silne” hasło? Czy będzie chciał wpisywać
hasło za każdym razem?
Zapamiętanie użytkownika
Zwiększona podatność na kradzież / zgubienie
PIN do aplikacji
Co jest faktycznymi danymi uwierzytelniającymi do serwera?
Bardzo często – błędy implementacji
– Np. przechowywanie danych uwierzytelniających otwartym tekstem
Na ekranie dotykowym zostają ślady
Grafika: engadget.com
16
17. Uwierzytelnienie
Uwierzytelnienie hasłem
Niewygodna klawiatura
Czy użytkownik ustawi „silne” hasło? Czy będzie chciał wpisywać
hasło za każdym razem?
Zapamiętanie użytkownika
Zwiększona podatność na kradzież / zgubienie
PIN do aplikacji
Co jest faktycznymi danymi uwierzytelniającymi do serwera?
Bardzo często – błędy implementacji
– Np. przechowywanie danych uwierzytelniających otwartym tekstem
Na ekranie dotykowym zostają ślady
Grafika: engadget.com
17
18. Zakończenie sesji
Jak użytkownik zwykle kończy działanie?
Na niektórych platformach mobilnych nie ma pojęcia
„wyjścia” z aplikacji
Aplikacja pozostaje w pamięci ale nie dostaje czasu
procesora
Jeśli użytkownik ponownie uruchomi aplikację, to system
wróci do „zamrożonej” aplikacji (łącznie z jej stanem)
18
19. Zakończenie sesji
Scenariusz
Użytkownik loguje się do aplikacji bankowości mobilnej
Nie wylogowuje się ale kończy korzystanie (exit, przycisk
„home”, odebranie połączenia telefonicznego, etc.)
Intruz przejmuje telefon
Aplikacja bankowości nadal jest aktywna – z sesją
użytkownika
Kluczowym zabezpieczeniem staje się niszczenie sesji
(na serwerze!) po dłuższej nieaktywności użytkownika
19
20. Rozwój platform mobilnych
Żadne oprogramowanie nie jest pozbawione błędów
Uaktualnienia
Znacznie rzadsze niż w przypadku systemów
operacyjnych na komputerach
Skomplikowany proces przygotowania nowej wersji
systemu
– Platforma Producent telefonu Operator
– Kilka miesięcy
20
21. Rozwój platform mobilnych
Wiele platform
iOS, Android, Symbian, Windows Phone,
BlackBerry, Bada, …
Aplikacja musi być przygotowana na każdą
wspieraną platformę
Komplikacja procesu Zwiększone ryzyko
wprowadzenia podatności
Dynamiczny rozwój technologii
Zawsze w historii powodowało to problemy ;)
Nowe technologie = nowe techniki ataku
– Np. Near Filed Communication
21
22. Błędy implementacji - przykład
Listopad 2010
Firma viaForensics ujawnieniła podatności w bankowości
mobilnej dużych amerykańskich banków
Sprawdzali tylko czy aplikacje przechowują w telefonie dane
wrażliwe bez szyfrowania
Artykuł w Wall Street Journal
Przykłady:
Wells Fargo (Android) – nazwa użytkownika + hasło, salda rachunków
USAA (Android) – kopie „odwiedzanych stron”
Bank of America (Android) – odpowiedź na pytanie do odzyskiwania hasła
JP Morgan Chase (iPhone) – nazwa użytkownika i hasło (opcjonalnie)
TD Ameritrade (iPhone i Android) – nazwa użytkownika
Źródło: http://online.wsj.com/article/SB10001424052748703805704575594581203248658.html
22
http://viaforensics.com/appwatchdog/
23. Podsumowanie
m-Banking ≠ e-Banking
Jak każda nowa technologia również technologie mobilne
niosą ze sobą nowe zagrożenia
Środowiska mobilne nie dostarczają mechanizmów
bezpieczeństwa zbliżonych do współczesnych
komputerów
23
24. Podsumowanie
m-Banking ≠ e-Banking
Trzeba uaktualnić model zagrożeń
Czy potwierdzenie tożsamości na podstawie faktu
posiadania komórki (numeru telefonicznego) jest
wystarczające?
Czy telefon to urządzenie zaufane?
Czy telefon jest bezpieczniejszy od komputera?
Jaki jest wpływ zagrożeń typowych dla urządzeń
przenośnych na naszą aplikację? Np. strata urządzenia
24
25. Bezpieczniejsza bankowość mobilna?
Planowanie i projektowanie
Szczegółowa analiza wpływu na bezpieczeństwo
– Identyfikacja zagrożeń, analiza ryzyka
– Modelowanie zagrożeń
– Niestandardowe zachowania użytkownika
Dodatkowe zabezpieczenia (np. limity, powiadomienia,
fraud detection)
Zabezpieczenia na przyszłość – nie tylko na dzisiaj !
25
26. Bezpieczniejsza bankowość mobilna?
Implementacja
Szczegółowe testy bezpieczeństwa
– Przy uwzględnieniu zagrożeń
– ..i technik charakterystycznych dla technologii
mobilinych
– Scenariusze ataku łączące mobilny i webowy dostęp do
usług
– Większość istotnych podatności istnieje po stronie
serwera
– Ale trzeba uwzględnić zagrożenia wynikające
z „mobilności”
26