Tweety na temat @windowsmaniapl
r   e   k   l   a   m   a
  • Sponsor

  • Bezpieczeństwo Windows Phone 7.x i jego braki, przemyślenia, wnioski


    Niniejszy tekst zawierać będzie opis ciekawych mechanizmów zabezpieczeń, jakie są zawarte w Windws Phone 7,5, i jakie braki ma Windows Phone w oparciu o powszechną wiedzę (Gartner itp.) i własne zainteresowania w temacie zabezpieczeń.

    Aplikacje na Windows Phone 7 - 7.5 są pisane przy użyciu technologii Silverlight lub XNA. Należy pamiętać, że właściwy kod tzw. wykonywalny (z ang. Manager code) musi być napisany przy pomocy dostępnej platformy Microsoft .NET oraz języka C# lub VB.NET – czyli języków produkujących tzw. kod zarządzalny (z ang. managed code).

    A więc począwszy od wersji 7.5 bez złamania zabezpieczeń systemu Windows Phone nie można uruchomić aplikacji natywnych lub aplikacji korzystających z interfejsów programistycznych niskiego poziomu, które umożliwiają dostęp do rejestrów systemowych, systemu plików itp. Microsoft Windows Phone posiada szereg wbudowanych mechanizmów bezpieczeństwa, z których najbardziej istotne to:

    Chambers (z ang. Komnaty). Izolacja procesów w oparciu o koncepcję komnat (z ang. chambers). Mechanizm ten polega na uruchamianiu procesów w oddzielnych komnatach (środowiskach), odpowiednie polityki bezpieczeństwa realizują zadania, izolują procesy zarówno na poziomie pamięci operacyjnej jak i systemów plików. Domyślnie w systemie operacyjnym zdefiniowane są cztery typy komnat:
    a) Komnata TCB (z ang. Trusted Computing Base) – jest komnatą, w której procesy mają praktycznie nieograniczony dostęp do zasobów urządzenia. To tutaj w tej warstwie definiujemy polityki bezpieczeństwa. To tutaj funkcjonuje jądro systemu oraz sterowniki
    b) Komnata ERC (z ang. Elevated Rights Chamber) – jest komnatą, w której nie można zmieniać polityk bezpieczeństwa. Tu uruchamiane są sterowniki i usługi.
    c) Komnata SRC (z ang. Standard Rights Chamber) – jest komnatą, w której uruchamiane są aplikacje razem z systemem operacyjnym.
    d) Komnata LPC (z ang. Least Privileged Chamber) – jest komnatą, w której uruchamiane są aplikacje użytkownika. To tutaj działa mechanizm możliwości (z ang. Capabilities), który pozwala zdefiniować dynamicznie uprawnienia. Podam przykład. Aby aplikacja mogła skorzystać np. z modułu odbiornika GPS, w momencie uruchomionej instalacji użytkownik instalacji użytkownik musi wyrazić zgodę na to, aby aplikacja mogła korzystać z zasobu GPS.

    Przedstawienie mechanizmów opartych o komnaty (wydzielone logiczne warstwy) pozwala rozumieć jak działają zabezpieczenia w Systemie Windows Phone.

    Mechanizm Sandbox – każda aplikacja jest uruchamiana w ograniczonym środowisku. To ten mechanizm zwany piaskownicą (znamy to antywirusowych programów).

    Ochrona danych w wbudowanej pamięci. Należy podkreślić, że wewnętrzna (wbudowana) pamięć nie podlega szyfrowaniu. To na poziomie aplikacji ma się odbywać proces szyfrowania danych.

    Ograniczenie możliwości instalacji, funkcjonowania i rozprzestrzeniania się oprogramowania złośliwego: o W systemie Windows Mobile Phone począwszy od wersji 7.5 została zablokowana możliwość uruchamiania kodu korzystającego z natywnych interfejsów programistycznych (ID_CAP_INTEROPSERVICES), dzięki czemu – jeżeli zabezpieczenia urządzenia nie zostały zdjęte przez użytkownika lub nie istnieją niezałatane podatności bezpieczeństwa – uruchamiane aplikacje nie mogą uzyskać dostępu do danych znajdujących się poza prywatną (izolowaną) przestrzenią w systemie plików, aplikacje nie mogą uzyskać również dostępu do kluczy rejestrów.

    Przeglądarka internetowa Internet Explorer Mobile w domyślnej konfiguracji ma zablokowaną możliwość instalacji aplikacji i plug-in’ów firm trzecich, co w istotny sposób ogranicza możliwości instalacji nieautoryzowanego kodu w środowisku przeglądarki mobilnej.

    Funkcje sieciowe (Bluetooth, Wi-Fi) muszą być implementowane tylko i wyłącznie na urządzeniach mobilnych przy użyciu kodu dostarczonego przez Microsoft. Inni producenci nie mogą implementować własnego kodu. Jeśli zabezpieczenia nie zostały zostały zdjęte z telefonu (opis poniżej) aplikacje mogą być instalowane tylko poprzez Windows Phone Marketplace.
    Jak działa mechanizm zabezpieczeń Market Place?. Proces odbywa się dokładnie tak samo jak w Apple iOS. Aplikacje są weryfikowane przez Microsoft przed ich opublikowaniem do sprzedaży/pobrania.
    Aplikacje muszą być certyfikowane oraz cyfrowo podpisane przez Microsoft. Firmy lub osoby wytwarzające aplikacje muszą być zarejestrowane w Microsoft App Hub oraz przejść przez proces weryfikacji. Taki mechanizm pozwala zabezpieczyć rozprzestrzenianie się złośliwego oprogramowania, ale nie znaczy to, że nie jest możliwe obejście zabezpieczeń.

    Zakupiony telefon wraz z system operacyjny Windows Phone standardowo nie oferuje użytkownikom możliwości instalacji aplikacji pochodzących z spoza Marketplace. Wiąże się to z brakiem uprawnień na poziomie komnaty LPC.

    W jaki sposób można w stosowne uprawnienia:
    - Musimy odblokować telefon metodą developerską. Rejestrujemy się, jako developer w Microsoft App Hub. Możemy wtedy przy pomocy odpowiedniego konta zainstalować 10 aplikacji. Koszt rejestracji w lipcu 2012 wynosił 99 USD, na forum za darmo.
    - Odblokowanie telefonu poprzez skorzystanie z usługi ChevronWP7 Labs (http://labs.chevronwp7.com), koszt usługi w styczniu 2012 wynosił 9 USD.
    - Zmodyfikowanie oryginalnego systemu operacyjnego lub jego nadpisanie wersją systemu ze złamanymi zabezpieczeniami (zazwyczaj tzw. Custom ROM’y mają złamane zabezpieczenia) – umożliwia trwałe uzyskanie praw administratora. W przypadku niektórych modeli nie będzie to możliwe ze względu na niedostępność stosownych narzędzi i metod.

    Windows Phone 7.5 nie oferuje możliwości szyfrowania partycji lub plików znajdujących się w pamięci wbudowanej, Jest to największa wada i brak, jeśli chodzi o bezpieczeństwo. Co ciekawe Windows Phone potrafi szyfrować karty SD (urządzenia w nie wyposażone).

    Windows Phone nie oferuje blokady ekranu za pomocą hasł. Jest możliwe użycie zamiast hasła kodu PIN. Może jedynie zmienić długość tego kodu. Windows nie oferuje wsparcia dla haseł alfanumerycznych. Urządzenie jest podatne na ataki typu brute-force. Czym są ataki brute-force? Tu posłużę się Wikipedią. Cytuję: „Algorytm siłowy, algorytm brute force (ang "brutalna siła" tj. niewspomagana umysłem) – określenie algorytmu, który opiera się na sukcesywnym sprawdzeniu wszystkich możliwych kombinacji w poszukiwaniu rozwiązania problemu, zamiast skupiać się na jego szczegółowej analizie”.
    Jeśli natomiast wydłużymy kod pin przy ekranie blokady do 6 znaków mamy 10^6 = 1 000 000 możliwych kombinacji kodu PIN, Jeśli natomiast byśmy mieli 6-znakowe hasło alfanumeryczne (wielkie, małe litery) mielibyśmy ((26*2)+10)^6 = 56 800 235 584 możliwych kombinacji hasła.
    Oczywiście możliwości złamania są znikome. Ten przykład ma na celu pokazanie siły zabezpieczeń.

    Przejęcie hasła i loginu ID do marketplace może skutkować instalację zdalną na urządzeniu. Osoba instalująca zdalnie ma pewien problem. Może użyć tylko aplikacji z marketplace, wcześniej zatwierdzonych przez Micosoft.

    Aplikacja SkyDrive do obsługi chmury. Nie ma w tym nic złego i podejrzanego poza jednym aspektem. Przenosząc dane tracimy defa kto nad nimi kontrolę. Nie wiemy kto zarządza nimi i jak je przetwarza po drugiej stronie.

    Windows Phone nie oferuje szyfrowania wbudowanych systemów plików. Przy uruchomieniu urządzenia z systemem osoby trzeciej możemy nadpisać system plików w sposób umożliwiający zdjęcie blokady. Możemy też modyfikować z poziomu odlokowanego Bootloadera.

    Wbudowana w systemie Windows Phone przeglądarka Mobile Internet Explorer, zapisuje lokalnie informacje. Czym to może grozić? W momencie pobierania np.: z serwera Sharepoint plików, dokumenty pomimo połączenia SSL za zapisywane lokalnie w cache’u przeglądarki. Trzeba uzyskać tylko dostęp do ciastek, które są przechowywane w katalogu \Windows\ Profiles\guest\Cookies. Jakie informacje zawierają ciasteczka nie muszę chyba nikomu przedstawiać, ale przypomnimy: Historii odwiedzanych stron w przeglądarce WWW, Poczty użytkownika, wiadomości SMS/MMS użytkownika, Kontaktów (książki telefonicznej) użytkownika, Kalendarza użytkownika, Plików multimedialnych, Konfiguracji poczty elektronicznej itp.

    Ten artykuł został oryginalne opublikowany na forum: Bezpieczeństwo Windows Phone 7.x i jego braki, przemyślenia, wnioski rozpoczął rakers Zobacz oryginalny post
Kontakt
administracja[at]windowsmania.pl

Kopiowanie zawartości strony bez zezwolenia zabronione
Dołącz do nas