FAQ – Bezpečnost OS Android

Diskuze o Androidu a příslušných aplikacích

Moderátor: Moderátoři MobilMania.cz

Odeslat příspěvekod mople71 11. 1. 2017 22:45

FAQ – Bezpečnost OS Android


Android je dominantní OS na mobilním trhu (>88% podíl) vyvíjený společností Google, Inc. Díky svému majoritnímu zastoupení se těší velké pozornosti hackerů.

Android má robustní bezpečnostní model, který předpokládá, že aplikace třetích stran běžící v OS nejsou důvěryhodné. Hlavním bezpečnostním problémem je rozmanitost zařízení, z nichž většina modelů nedostává pravidelné bezpečnostní aktualizace a běží na zastaralých verzích OS.

FAQ si můžete přečíst na responzivnějším webu: https://mople71.cz/faq/smart.html


FAQ se dělí na několik sekcí:

  • bezpečnostní model OS (teorie)
  • bezpečná zařízení
  • obecné bezpečnostní rady
  • bezpečné nastavení OS
  • doporučené aplikace
  • bezpečné ROM


1) Bezpečnostní model OS:

Android má robustní vícevrstevný bezpečnostní model. Používá linuxové jádro, implementuje MAC a mitigace proti memory corruption exploitům – Android je jediná linuxová distribuce, která neumožňuje spuštění non-PIE kódu. Každé aplikaci je přiřazen unikátní uživatelský ID, aplikace je uzavřena v sandboxovaném prostředí, nemůže operovat s žádnou jinou aplikací a je jí umožněno operovat pouze se soubory/komponenty OS, ke kterým dostane oprávnění od vlastníka zařízení.

Obrázek

Trocha teorie o bezpečnostním modelu OS Android:
    Jádro:

    Android je postaven na linuxovém jádru. Linuxové jádro Androidu z bezpečnostního hlediska nabízí slušný model oprávnění založený na uživatelích a uživatelských skupinách, izolaci procesů atd. V poslední době se vývojáři linuxového jádra začali více soustředit na zabezpečení samotného jádra, z čehož benefituje i Android.

    MAC:

    Android Kitkat a výše používá silně modifikovanou implementaci linuxového MAC SELinux – tzv. SEAndroid. SEAndroid výrazně snižuje prostor pro exploitaci. Také hraje roli v modelu oprávnění OS Android. Díky implementaci MAC nyní pouze velmi malá část kódu běží s plným root oprávněním.

    Aplikace:

    Android vyžaduje digitální podpis aplikací – nepodepsané aplikace nemohou být nainstalovány. Také implementuje několik bezpečnostních kontrolních bodů pro aplikace, díky kterým aplikaci vyhodnotí jako škodlivou a její instalaci odepře (tato funkce je závislá na službách Google). Ve výchozím nastavením lze také instalovat aplikace pouze z předinstalovaného obchodu aplikací – obvykle Google Play.

    Veškeré aplikace jsou uzavřeny v sandboxu (IsolatedProcess), tudíž každá aplikace je izolovaná od ostatních aplikací a OS. Android také podporuje použití seccomp sandboxu, který nabízí pokročilejší možnosti izolace a vyšší míru bezpečnosti. Je využíván například aplikací Google Chrome.

    Android Marshmallow a výše nabízí rozšířený model oprávnění – uživatel si může zvolit, k jakým komponentům/souborům bude mít daná aplikace přístup. Vestavěný správce oprávnění zatím není perfektní, jelikož neumožňuje nastavení všech důležitých oprávnění, ale funguje spolehlivě, což se nedá říci o správcích oprávnění třetích stran (např. XPrivacy).

    Další funkce závislé na službách Google (např. SafetyNet), zde nebudou rozebírány.



    2) Obecné bezpečnostní rady:

    • používejte aktuální záplatovanou verzi Androidu, minimálně Marshmallow
    • nerootujte své zařízení – rootem rozbíjíte bezpečnostní model OS popsaný výše
    • neodemykejte bootloader svého zařízení a neflashujte potenciálně nebezpečné recovery oddíly (např. TWRP)
    • používejte stock Android s minimálním množstvím předinstalovaných aplikací od výrobce
    • neflashujte nebezpečné ROM se špatnou root implementací (např. CM / Lineage OS)
    • instalujte aplikace pouze z důvěryhodných zdrojů – Google Play, Amazon, F-Droid
    • neinstalujte aplikace vyžadující nesmyslná oprávnění (např. Flashlight+++ vyžadující přístup k SMS a kontaktům)
    • zvažte využívání open source aplikací (FOSS – free and open-source software)
    • nepřipojujte se k nedostatečné zabezpečeným sítím (např. v kavárně), zvažte použití VPN
    • všechny rizikové činnosti provádějte pod uživatelem hosta
    • šifrujte své zařízení, nezapomínejte na fyzické zabezpečení

    Bezpečnostní rady pro pokročilé:

    • nerootujte a už vůbec root oprávnění neposkytujte aplikacím, rozbíjíte tím velmi solidní bezpečnostní model OS a výrazně tím zvyšujete prostor pro exploitaci – škodlivá aplikace, která úspěšně provede exploitaci jiné aplikace běžící s root oprávněním, získává plná root oprávnění, která ve stock Androidu má pouze drobná část kódu
    • používejte aktualizované ROM bez bloatware od výrobce
    • neflashujte do ROM nic typu Open GApps – je to řádově méně bezpečné než správná integrace služeb Google výrobcem
    • kompilujte ROM (+ jádro) a aplikaci sami, ošklivá oprávnění aplikací poté můžete zakázat přímo v AndroidManifest.xml



    3) Bezpečná zařízení:

    Jak již bylo zmíněno, rozmanitost zařízení s OS Android je možná z jistého úhlu výhoda, zároveň ovšem velký bezpečnostní problém.

    V dnešní době není problém pořídit si telefon s OS Android za velmi malou finanční částku. Co již ovšem nikdo neřeší, je podpora a aktualizace. Většina levných zařízení se nikdy nedočkají žádné bezpečnostní aktualizace, natož pak aktualizace na nejnovější verzi OS. Tato zařízení mohou obsahovat stovky známých bezpečnostních děr, které se lehce dají zneužít, pokud zařízení není záplatováno výrobcem. Situace ovšem nemusí být o nic lepší u dražších modelů.

    Níže naleznete několik bodů, které by mělo zařízení splňovat, aby se dalo nazvat bezpečným. Také zde naleznete seznam modelů, které zmíněné požadavky splňují.


    Bezpečnostní požadavky na zařízení s OS Android:

    • 64-bit architektura (x86/ARM)
    • jádro > 3.18 (ideálně 4.x)
    • full verified boot (ideálně i pro custom ROM)
    • časté (ideálně měsíční) bezpečnostní aktualizace pro firmware a proprietární komponenty
    • garance bezpečnostních aktualizací po dobu morální životnosti modelu (min. 1 rok od koupi)

    Zařízení s OS Android splňující bezpečnostní požadavky:

    (tento seznam nebude aktualizován mimo pravidelnou půlroční aktualizaci, proto obsažené informace nemusí být 100% aktuální)

    Zařízení s OS Android splňující bezpečnostní požadavky:
      • aktuální modely řady Nexus / Pixel
        • 64-bit
        • jádro > 3.18
        • full verified boot i pro custom ROM
        • měsíční bezpečnostní aktualizace
        • garance bezpečnostních aktualizací 3 roky od vydání modelu
      • modely značky Blackberry s OS Android
        • 64-bit
        • jádro > 3.18
        • full verified boot
        • měsíční bezpečnostní aktualizace
      • vlajkové lodě značky Huawei
        • 64-bit
        • jádro > 3.18 (Huwaei P9 – aktuálně jediný model s jádrem 4.x)
        • verified boot
        • časté bezpečnostní aktualizace
        • garance bezpečnostních aktualizací 2 roky od vydání modelu
      • vlajkové lodě značky LG
        • 64-bit
        • jádro > 3.18
        • verified boot
        • měsíční bezpečnostní aktualizace
      • vlajkové lodě značky Samsung
        • 64-bit
        • jádro > 3.18
        • verified boot
        • měsíční bezpečnostní aktualizace
      • modely vyšší třídy značky Huawei
        • 64-bit
        • jádro > 3.18
        • verified boot
        • časté bezpečnostní aktualizace
      • ostatní modely
        • záleží model od modelu...
        • vždy ověřte stav modelu před koupí!
        • možnost komunitní podpory pro oblíbená zařízení
        • např. Motorola nabízí kvartální bezpečnostní aktualizace pro vyšší modely
        • atd.



      4) Bezpečné nastavení OS:

      Android je bezpečně nastaven již v základu, není ovšem od věci podívat se do nastavení a zkontrolovat jej.

      Kontrola korektního nastavení OS Android:

        • Otevřete si aplikaci Nastavení.
          Nalezněte podkategorii Zabezpečení a otevřete ji.
          Nemáte-li, nastavte si zámek obrazovky.
          Obrázek
        • Ověřte nastavení šifrování úložište telefonu.
          Obrázek
        • Ověřte vypnutou instalaci aplikací z neznámých zdrojů.
          Obrázek
        • Aplikaci zavřete.


        Využití účtu hosta:

        Pod uživatelem hosta můžete relativně bezpečně např. prohlížet rizikové internetové stránky. Instalaci pochybných aplikací nedoporučuji ani pod uživatelem hosta, jelikož aplikace může OS exploitovat mnohem snadněji než internetová stránka. Pokud by aplikace úspěšně získala root pravomoce (např. pomocí CVE-2015-1805 aka KingRoot), nepomůže vám ani reset zařízení do továrního nastavení.

        Přepnutí se na účet hosta:

          • Stáhněte dolů notifikační lištu dvěma prsty, případně ji rozšiřte kliknutím na šipku v pravém horním rohu.
          • V pravé horní liště klikněte na obrázek svého uživatelského účtu.
            Obrázek
          • Zobrazí se seznam uživatelských účtů. Klikněte na tlačítko Přidat hosta.
            Obrázek
          • Budete automaticky přepnuti na uživatele hosta.
          • Jakmile z účtu hosta budete chtít odejít, stáhněte notifikační lištu a klikněte na tlačítko Odstranit hosta.
            Obrázek
          • Odstranění potvrďte.



          5) Doporučené aplikace:

          V následující sekci naleznete doporučené bezpečnostní aplikace a aplikace s bezpečností úzce související. Aplikace jsou děleny na FOSS (free and open source) a poprietární. Důvod je prostý: někteří lidé nevěří proprietárním aplikacím a používání bezpečnostní aplikace s uzavřeným kódem, považují za nepřijatelné.


          Obchod s aplikacemi:

          Obchod s aplikacemi velmi úzce souvisí s bezpečností, jelikož z něj stahujete a instalujete veškeré aplikace do OS. Z tohoto důvodu musí být důvěryhodný a bezpečný.

          FOSS:


          Proprietární:



          Firewall:

          Firewall je velmi důležitá bezpečnostní vrstva OS, která poskytuje ochranu před síťovými útoky. Na veřejných WiFi připojeních je prakticky nutností.

          Nejlepší volbou je integrovaný FW, bohužel jej prakticky žádná ROM nenabízí. Znásilnění VPN API (NetGuard, NoRoot Data Firewall) není nejlepší a nejspolehlivější implementace FW, ale alespoň nevyžaduje destrukci bezpečnostního modelu OS. Bohužel, vypadá to, že pouze velmi málo lidí má zájem implementovat tyto věci správně – přímo do OS.

          FOSS:


          Proprietární:



          Blokování reklamy:

          Blokování reklamy je z hlediska bezpečnosti esenciální kvůli četnému výskytu škodlivých reklam na internetu. Doporučuji oblíbené stránky podporovat jinou bezpečnější – finanční – formou.

          FOSS lokální VPN:


          Proprietární lokální VPN:


          VPN:


          Internetový prohlížeč:


          DNS:


          Použití DNS je dle mého názoru dobrý způsob, můžete jej nastavit na routeru, ovšem pro mobilní data DNS servery nelze změnit. Potom doporučím použití prohlížeče blokující reklamy, pro pokročilejší prohlížeče umožňující vypnutí JS s výjimkami. VPN je také dobrý způsob, ovšem implementace (Open)VPN na Androidu není 100% ideální.



          Správce oprávnění:

          Správce oprávnění umožňuje nastavit, k jakým informacím a komponentům má konkrétní aplikace přístup. Jedná se více o záležitost soukromí než bezpečnosti.

          FOSS:

          • integrovaný (Marshmallow a výše)
          Využití vestavěného správce oprávnění:
            • Otevřete si aplikaci Nastavení.
            • Nalezněte podkategorii Aplikace a otevřete ji.
            • V pravém horním rohu klikněte na ozubené kolo.
              Obrázek
            • Klikněte na Oprávnění aplikací.
            • Otevřete postupně všechny kategorie a zakažte všem aplikacím nepotřebný přístup.
              Obrázek
              Obrázek
            • Po dokončení nastavení oprávnění se z kategorie Oprávnění aplikací přesuňte o úroveň výše a otevřete si Speciální přístup.
            • Zde můžete nastavit např. které aplikace mají přístup k prémiovým SMS nebo mohou na pozadí neomezeně používat mobilní data.
              Obrázek
            • Aplikaci zavřete.

            XPrivacy. Když pominu, že všechno využívající Xposed je hack a není korektně implementováno do OS, XPrivacy je nefunkční a nedoporučená varianta.

            Technické informace k XPrivacy:
              XPrivacy primárně nahrazuje Java API novým kódem a často pouze kódem strany klienta – většina dat může být stále získána. Například skrývá sériové číslo v Java system property API (link). Sériové číslo je ovšem stále přístupné nativnímu kódu, případně Java kódu používajícímu jiné rozhraní pro přístup. Tímto způsobem evidentně (ne)funguje větší část XPrivacy.

              Mít bezpečnostní aplikaci, kterou lze obejít i bez exploitace, moc nemá smysl. Obrázek


              Internetový prohlížeč:

              Prohlížeč samozřejmě závisí na osobních preferencích. Přesto je fakt, že Chrome(ium) je prohlížeč s nejkvalitnějšími mitigacemi proti exploitům. Prohlížeče založené na Mozilla Firefox jsou několik let za Chromium v oblasti mitigací proti exploitům, na Androidu je situace ovšem méně kritická než na desktopových OS.

              FOSS:


              Proprietární:


              Omezení JS v Google Chrome:
                • Otevřete si aplikaci Google Chrome.
                • Kliknutím na tři tečky v horním pravém rohu otevřete boční panel a klikněte na tlačítko Nastavení.
                • Klikněte na Nastavení webu.
                • Zobrazí se nastavení určující, které internetové stránky mají jaké konkrétní pravomoce. Otevřete podkategorii JavaScript.
                • Kliknutím vypněte JavaScript a následně přidejte výjimky pro všechny stránky, jejichž JS potřebujete.
                  Obrázek
                • Aplikaci zavřete.



                6) Bezpečné ROM:

                Seznam je řazen od nejbezpečnější po nejméně bezpečnou.

                * tyto ROM byly v době psaní FAQ postavené na Marshmallow, který je z pohledu bezpečnosti o úroveň níže než Nougat, po aktualizaci všech ROM na Nougat bude seznam 100% platný



                To je vše. Stay safe. Obrázek
                mople71
                Taťka moderátor
                Uživatelský avatar

                Kdo je online

                Uživatelé procházející toto fórum: Žádní registrovaní uživatelé a 2 návštevníků