Bezpieczeństwo aplikacji mobilnych

Slides:



Advertisements
Podobne prezentacje
CLIMGEN (generator danych pogodowych w modelu CropSyst.
Advertisements

Procedury wyzwalane Procedura wyzwalana (ang. trigger) - stanowi kod użytkownika przechowywany wewnątrz bazy i uruchamiany w określonych sytuacjach np.
SQL INJECTION Wykorzystanie błędów w językach skryptowych
Bezpieczeństwo informatyczne Informatyka śledcza
Bezpieczeństwo aplikacji WWW
Zabezpieczenia w programie MS Access
1 Linux jako system wielozadaniowy i wielodostępny.
PHP + MySQL część II.
Dodawanie i usuwanie oprogramowania
SIECI KOMPUTEROWE (SieKom) PIOTR MAJCHER WYŻSZA SZKOŁA ZARZĄDZANIA I MARKETINGU W SOCHACZEWIE Zarządzanie.
MS Access 2000 Tworzenie bazy danych Piotr Górczyński 2005.
Systemy operacyjne Bibliografia:
1 Podstawy informatyki H. P. Janecki- 2006_ Systemy Operacyjne W6.
Bezpieczeństwo w sieci
Autor: Maciej Piwowarczyk
Budowa, przeglądanie i modyfikacja
USŁUGA FTP 1. Definicja FTP. FTP (File Transfer Protocol, ang. protokół transmisji plików) jest protokołem typu klient-serwer, który umożliwia przesyłanie.
Jak przeżyć w Internecie? Czyli o bezpieczeństwie słów kilka… Michał Jankowski MJ Software Solutions Services.
eFaktura w DHL Express Poland
PRACA DYPLOMOWA INŻYNIERSKA
Linux - polecenia.
Instrukcja MILO moduł klienta.
POZNAJEMY NASZE MIEJSCE PRACY
Opracowała: Weronika Grzybowska. Find – to aplikacja pozornie prosta, służąca do odnajdywania plików / folderów. Przykładowo : #find. -name *.html komenda.
Prezentacja i szkolenie
System raportowania, ewaluacji oraz badania satysfakcji Klienta.
Rejestr systemu Windows
Struktura folderów w systemie Windows
Przeglądanie zasobów komputera - uruchamianie programów
Bezpieczeństwo a zarządzanie projektami
Sieciowe systemy operacyjne - UNIX
Wybrane zagadnienia relacyjnych baz danych
Sieć oparta o serwer Ubuntu 12.10
Komendy SQL do pracy z tabelami i bazami
Narzędzie wspierające zarządzanie organizacj Parentis Sp. z o. o
PL/SQL – dalsza wędrówka
Czym jest Internet Security for Android? To program oparty na nowoczesnych technologiach, zabezpieczających dowolne urządzenie z systemem Android™ przed.
Razem tworzymy bezpieczny Internet
Zagrożenia w Internecie
Linux, to kompletny system operacyjny (jądro i programy użytkownika), który powstał na zasadzie GNU – czyli Powszechnej Licencji Publicznej (General Public.
System plików.
Znaki specjalne Co i jak + brak przykładów.  Aby wstawić symbol lub znak specjalny należy na karcie Wstawianie w grupie Symbole kliknąć na przycisk Symbol.
Jak przeżyć w Internecie? Czyli o bezpieczeństwie słów kilka… Michał Jankowski MJ Software Solutions Services.
Autor: Damian Urbańczyk
1. Logowanie z usługą Active Directory. a) logowanie do domeny Windows 2003 Server odbywa się znacznie szybciej niż w poprzednich wersjach. b) nie ma odwołania.
System operacyjny „DOS”, „MS-DOS” oraz wybrane komendy.
Sposoby zdalnego sterowania pulpitem
Serwery Aplikacji Bezpieczeństwo w Aplikacjach.NET uruchamianych pod IIS Arkadiusz Popa, WMiI, UŁ.
Operacje na plikach i folderach
E-FORMY. e-bank Jak założyć e-konto: Jak założyć e-konto: Najczęściej wystarczy wypełnić formularz umieszczony na stronie banku i przesłać go do siedzibyNajczęściej.
Dowiązania (linki) twarde i symboliczne
Rozpowszechnianie aplikacji KRYSTIAN KOWALCZUK TORUŃ,
Przewodnik Wprowadzenie do
Autorzy: Natalia Krzeszewska Natalia Rozlach. Internet jest bardzo przydatny i pomocny w pracy, ale niestety czyhają w nim zagrożenia tj. wirusy. Aby.
Bezpieczeństwo informacji Jak chronić nasze zasoby w komputerze? Jak zarchiwizować i skompresować pliki?
The OWASP Foundation Copyright © The OWASP Foundation Permission is granted to copy, distribute and/or modify this document under.
Maciej Romanowski. Wirusy komputerowe to programy tworzone specjalnie do zakłócania pracy komputera, rejestrowania, uszkadzania lub rozprzestrzeniania.
Temat: Tworzenie bazy danych
Przewodnik
PROJEKT I IMPLEMENTACJA APLIKACJI MOBILNEJ "INFORMATOR UO”. Autor: Marcin Marcinkowski Promotor: Dr Helena Kiriczenko.
Instalacja klucza HASP.
BEZPIECZEŃSTWO DZIECI W SIECI INTERNET
System operacyjny Linux
PROGRAMY DO KONTROLI RODZICIELSKIEJ
PROGRAMY DO KONTROLI RODZICIELSKIEJ
System operacyjny „DOS”, „MS-DOS” oraz wybrane komendy.
Platforma LearningApps
Zapis prezentacji:

Bezpieczeństwo aplikacji mobilnych Białystok 05 Marca 2018 Magdalena Dziesińska

Agenda ROOT –Czym jest i jaki wpływ ma na bezpieczeństwo aplikacji mobilnych Ataki typu injection, brute force oraz jak się przed nimi bronić Przechowywanie danych na urządzeniu 10 najważniejszych zagrożeń aplikacji mobilnych OWASP MOBILE SECURITY Checklist bezpiecznej aplikacji mobilnej

Kim jestem? Obecnie pracuje Junior Software Deweloper w iAlbatros Poland Mam roczne doświadczenie w pisaniu bankowych aplikacjach mobilnych Jestem szczęśliwą programistką Xamarinowych apek mobilnych Próbuje swoich sił jako Projektantka UX/UX Autorka Aplikacji Dreams Guide

ROOT - Czym jest i jaki wpływ ma na bezpieczeństwo aplikacji mobilnych Root (z ang. dosłownie korzeń) – tradycyjna nazwa uniksowego konta, które ma pełną kontrolę nad systemem operacyjnym. Z założenia konto root nie powinno być używane do pracy, do której wystarczyłoby zwykłe konto z ograniczonymi uprawnieniami[1]. Istotną sprawą jest zabezpieczenie tego konta silnym hasłem i zabezpieczenie przed nieautoryzowanym dostępem. Domyślnie root ma dostęp do wszystkich komend i plików w systemie.

Czy każde urządzenie mobilne do dostęp do roota?

Co zrobić gdy chcemy aby nasze urządzenie miało dostęp do roota?

Jaki na wpływ na bezpieczeństwo?

Wykrywanie roota – Android

Przechowywanie danych na urządzeniu Przechowywanie danych w SharedPreferences. Służy do przechowywania kilku ciągów, liczb , czy ustawienia naszej aplikacji Nie powinny być tam wstawione jakie klucze, tokeny które są dostępne do naszej aplikacji Jeżeli mamy telefon zrotowanym mamy możliwość podejrzenia podanego pliku Korzystanie z bazy danych SQL Lite Służy do przechowywania dużych ilości uporządkowanych danych Aby utworzyć nową bazę danych SQL Lite lub utworzyć już istniejącą, należy skorzystać z metody openOrCreateDatabase() z trybem MODE_PRIVATE, który umożliwia uzyskanie dostępu do bazy tylko przez aplikację. SQLiteDatabase myDB =  openOrCreateDatabase("my.db", MODE_PRIVATE,null);

Przechowywanie danych na urządzeniu Korzystanie za pamięci wewnętrznej Każda aplikacja na Android posiada powiązany z nią prywatny katalog pamięci wewnętrznej, w którym aplikacja może przechowywać pliki tekstowe i binarne Pliki znajdujące się w tym katalogu nie są dostępne dla użytkownika lub innych aplikacji zainstalowanych na urządzeniu. Są również automatycznie usuwanie, gdy użytkownik odinstaluje aplikację.

Czy mamy dostęp to tych danych?

Shredpreference , Bazy danych, Korzystanie z pamięci wewnętrznej – Dostęp do danych 1. Z linii poleceń adb shell – polecenie które uruchamia powłokę linuksa # cd/data/data – polecenie wchodzimy do katalogu w którym są zainstalowane aplikacje # ls – polecenie które wyświetla katalogi naszych aplikacji # cd magdalena.pl.dreamguide – wchodzimy do intersującej dla nas aplikacji # ls - wyświetlamy zwartość naszej aplikacji # cd shared_prefs – wchodzimy do katalogu z danymi # ls – wyświetlamy zawartość podanego folderu # cat – wyświetlamy zawartość pliku <?xml version='1.0'encoding='utf-8'standalone='yes'?> <map>    <stringname="Locale.Helper.Selected.Language">en</string> </map> 2 . Z pomocą narzędzia Android Devie Monitor

Ataki typu injection, buutr force oraz jak się przed nimi bronić

Atak injection – SQL INJECTION SQL INJECTION -  polega na wstrzyknięciu kodu sql w zapytanie wysyłane do bazy danych. Dzięki użyciu znaków specjalnych (apostrofy, cudzysłowy itp), można dowolnie zmodyfikować treść zapytania. Przykład: Znamy login pewnego użytkownika Login : marek’ – (apostrofspacjadwamyslnikispacja) Hasło: iffeelpreety SELECT * FROM USER WHERE login=’marek’ -- AND pass=iffeelpreety wszystko po znaku komentarza (dwa myślniki) zostanie zignorowana bo jest tarkowane jako komentarz, a nie właściwa treść zapytania

Jak przed tym atakiem się zabezpieczyć ?

Atak brute force BRUTE FOURCE - technika łamania haseł lub kluczy kryptograficznych polegająca na sprawdzeniu wszystkich możliwych kombinacji. Jest to prosta metoda pozwalająca w teorii na odgadnięcie każdego klucza. Metoda zabezpieczania przed poddanym atakiem Prostą metodą zabezpieczenia przed atakiem brute force jest ograniczanie możliwej liczby prób logowania w określonym czasie, co znacznie wydłuża czas działania algorytmu.

10 najważniejszych zagrożeń aplikacji mobilnych OWASP MOBILE SECURITY OWASP jest to organizacja, która kojarzy nam się z projektami związanymi z bezpieczeństwem aplikacjami webowymi. Ale od jakiegoś czasu organizacja ta zajmuje się bezpieczeństwem aplikacji mobilnych. W tym celu organizacja ta stworzyła projekt o nazwie  OWASP Mobile Security Project. Podczas tego projektu została stworzona lista zawierająca 10 najważniejszych zagrożenie aplikacji mobilnych. Pierwsza lista została stworzona w 2012 roku. Następna i która jest aktualna została stworzona w 2014 roku.

OWASP: Mobile Top 10 Risks 2014 M1: Weak Server Side Controls M3: Insufficient Transport Layer Protection M4: Unintended Data Leakagex M2: Insecure Data Storage M5: Poor Autharization and Authentication M6: Broken Cryptography M7: Client Side Injection M8: Security Decision via Intrusted Inputs M9: Improper Session Handling M10: Lack of Binary Protection

Chceklista bezpiecznej aplikacji Sprawdź czy urządzenie na którym odpalana jest aplikacja nie ma uprawnień roota. Wyłącz tryb debug w aplikacji produkcyjnej. Nie zapisuj w logach systemowych danych wrażliwych. Nie umieszczaj w kodzie aplikacji kluczy szyfrujących, kodów dostępowych, tokenów. Zaciemniaj kod aplikacji (Android - ProGuard (darmowe, wrarto poprawić domyślne ustawienia), DexGuard(komercyjny, znaczne skuteczniejsze zacienie), iOS llvm, iOS-Class-Guard (darmowe), Arxan (komercyjny) ) Walidacja wprowadzonych  danych – SQL Injection Usuń dane testowe gdy aplikacja będzie wdrożona na produkcji Dane szczególnie wrażliwe (np. hasła dostępu, dane finansowe, danelokalizacji) nie powinny być zapisywane na stałe w sposób umożliwiający dostęp do formy jawnej nawet w katalogach prywatnych aplikacji (Android)lub Keychain (iOS). Dane te mogą być odzyskane z urządzenia np. W przypadku jego kradzieży, zgubienia, malware z uprawnieniami administracyjnymi. I wiele innych danych na temat bezpieczeństwa znajdziesz tutaj

Ciekawe linki Sekurk https://sekurak.pl/ Niebezpiecznik https://niebezpiecznik.pl/ Mobile Security Testing Guide – książka, która pokazuje jak przetestować pod względem bezpieczeństwa aplikację mobilną link

Narzędzia Android Studio DB Browser for SQL Lite

Ciekawe książki na temat bezpieczeństwa aplikacji mobilnych

Znajdź mnie magdalenadziesinska@gmail.com

Dziękuje za uwagę