FAQ – Velká příručka bezpečnosti logo

Problematika počítačová bezpečnost je v dnešní době velmi důležitou záležitostí, stále je ovšem často podceňovaná, jelikož není ve společnosti dostatečně probírána. Toto platí dvojnásob pro chytré telefony a IoT zařízení. Zmíněná zařízení se od běžných počítačů liší v drobném detailu – denně je nosíme v kapse. Navíc obsahují různé senzory a mikrofony. Infikované zařízení tedy může odposlouchávat rozhovory s ostatními lidmi, sledovat geografickou polohu uživatele, fotit a natáčet jej, jeho rodinu i domácnost. Možností zneužití existuje téměř neomezené množství.

„We used to say a man's home is his castle. Today, a man's phone is his castle.“
– Edward Snowden


OS Android


► Obsah

FAQ – 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/nebo běží na zastaralých verzích OS.

► Trocha teorie o bezpečnostním modelu OS Android

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í.

Android Security Model

The Android security model (upraveno). Zdroj: Android Security 2015 Annual Report

Jádro:

Android je postaven na linuxovém jádru. Linuxové jádro není nejbezpečnější jádro na trhu, Androidu ovšem 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 OS 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. Výrazná zlepšení z pohledu MAC byla představena ve verzích Lollipop a Oreo.

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 může vyhodnotit 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 implementuje seccomp sandbox, který nabízí pokročilejší možnosti izolace a vyšší míru bezpečnosti. Interně 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).

Funkce závislé na službách Google (např. VerifyApps, Google Play Protect), zde nebudou rozebírány.

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


Bezpečná zařízení:

Jak již bylo zmíněno, rozmanitost zařízení s OS Android je z pohledu bezpečnosti velký problém.

V dnešní době není problém pořídit si telefon s OS Android za směšnou finanční částku. Pořizovací cena ovšem není všechno, a neměla by být hlavním faktorem při výběru. Většina levných zařízení se nikdy nedočká žádné bezpečnostní aktualizace, natož pak aktualizace na novější verzi OS. Tato zařízení mohou obsahovat stovky známých bezpečnostních děr, které lze lehce zneužít, pokud zařízení není záplatováno výrobcem. Situace u dražších modelů ale nemusí být o nic lepší. Níže naleznete několik bodů, které by mělo zařízení splňovat, aby se s ním z hlediska bezpečnosti dalo pracovat.

Bezpečnostní kritéria pro zařízení s OS Android:

  • 64-bit architektura (x86/ARM)
  • jádro >= 3.18 (ideálně 4.4)
  • verze dodávaného OS minimálně Oreo (8.1)
  • podpora Treble
  • full verified boot (ideálně i pro custom ROM)
  • časté (měsíční, minimálně čtvrtletní) bezpečnostní aktualizace pro firmware a proprietární komponenty
  • garance bezpečnostních aktualizací po dobu morální životnosti modelu (jak dlouho chcete zařízení používat)
► Proč záleží na verzi OS

Každá verze OS Android přináší mnohá bezpečnostní a jiná vylepšení. Kitkat (4.4) přinesl implementaci SELinux, která byla ve verzi Lollipop (5.0) výrazně zrobustněna. Marshmallow přinesl správu oprávnění pro aplikace, kdy si uživatel může zvolit, jaká aplikace má k čemu přístup.

Nougat přinesl přepsaný MediaServer, který likviduje celé rodiny exploitů a zabraňuje exploitaci na principu exploitu Stagefright. Je možné s klidným svědomím říci, že žádná verze OS Android před verzí Nougat není bezpečná a neměla by být používána.

Oreo posunul sandboxing na mnohonásobně vyšší úroveň díky Project Treble, zároveň přinesl celoplošené využítí seccomp pro veškeré aplikace. Také výrazně zvýšil bezpečnost WebView, zrobustnil model oprávnění aplikací atd.

Treble case study: media stack

Treble case study: media stack (upraveno). Zdroj: What's New in Android Security (Google I/O '17) | © 2017 Google

Drobný příklad. Nainstalujete škodlivou aplikaci na Android 5.0 – nemáte kontrolu nad oprávněními aplikace, aplikace si může dělat, co chce. Nainstalujete škodlivou aplikaci na Android 8.1 – aplikaci můžete odebrat oprávnění, která nechcete. Už se tedy nestane, aby aplikace na svítilnu měla přístup k vašim datům, mikrofonu a videu.

► Proč záleží na bezpečnostních aktualizacích

Další příklad. Nainstalujete si škodlivou aplikaci na 8.1 – máte kontrolu nad oprávněními aplikace a všechna nepotřebná oprávnění tedy můžete zakázat. Nemáte ovšem nejnovější bezpečnostní záplaty. Aplikace tedy může využít známou bezpečnostní díru a dostat se díky ní na úroveň OS, který následně infikuje a uživatel se o tom nikdy nedozví. Toto v praxi aplikuje každý slušný malware pro OS Android, jelikož se jedná o nejjednodušší cestu infekce – cca. 90% zařízení nemá základní bezpečnostní záplaty. Z mediálně známých např. Kemoge, Godless,...


Přijatelné modely dle bezpečnostních kritérií:

  • libovolný model řady Pixel
  • libovolný model výrobce Nokia
  • Essential Phone
  • vlajkové lodě výrobců Samsung, LG, Huawei a SONY
  • vyšší modely výrobců Samsung a SONY

Tip
Pro inspiraci se také můžete podívat na seznam doporučených modelů pro firemní sféru od Google.





Bezpečné nastavení OS:

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

► Kontrola nastavení zabezpečení
  • Otevřete si Nastavení.
  • Nalezněte podkategorii Zabezpečení a poloha a otevřete ji.
  • Zkontrolujte bezpečnou konfiguraci Zámku obrazovkyPIN nebo Heslo
  • Zkontrolujte Administrátorské aplikace v zařízení. Neměly by zde být žádné aplikace kromě aplikací Google, pokud je používáte.
  • Zkontrolujte Šifrování vašeho zařízení.
  • Aplikaci zavřete.
► Kontrola aktuálního OS
  • Otevřete si Nastavení.
  • Nalezněte podkategorii Systém a otevřete ji.
  • Klikněte na Informace o telefonu.
  • Zkontrolujte, zdali máte aktuální verzi systému Android8.1 či výše.
  • Zkontrolujte, zdali máte nejnovější úroveň opravy zabezpečení Android.
  • andinf
  • Máte-li starší verzi systému Android než 8.1 a výrobce nepotvrdil aktualizaci, zařízení je implicitně nebezpečné – můžete se dívat po náhradě. Máte-li starší úroveň opravy zabezpečení Android než 3 měsíce, zařízení není bezpečné – můžete se dívat po náhradě.
  • Aplikaci zavřete.

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.

► Nastavení oprávnění aplikací
  • Otevřete si Nastavení.
  • Nalezněte podkategorii Aplikace a oznámení a otevřete ji.
  • Klikněte na Oprávnění aplikací.
  • Otevřete postupně všechny kategorie a zakažte všem aplikacím nepotřebný přístup.
  • andapp
  • andapp1
  • Po dokončení nastavení oprávnění se z kategorie Oprávnění aplikací přesuňte o úroveň výše, rozklikněte Rozšířená nastavení.
  • Otevřete Přístup ke spec. aplikacím.
  • Zde můžete nastavit např. které aplikace mají přístup k prémiovým SMS nebo mohou měnit nastavení systému.
  • andapp2
  • Aplikaci zavřete.

Využití účtu hosta:

Pod účtem hosta můžete relativně bezpečně např. prohlížet rizikové internetové stránky. Instalace pochybných aplikací není doporučena 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 dolním rohu.
  • V pravém dolním sloupci klikněte na obrázek svého uživatelského účtu.
  • Zobrazí se seznam uživatelských účtů. Klikněte na tlačítko Přidat hosta.
  • andg
  • 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.
  • andg1
  • Odstranění potvrďte.




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 proprietární.

Obchod s aplikacemi:

Obchod s aplikacemi velmi úzce souvisí s bezpečností, jelikož z něj stahujete a instalujete veškeré aplikace do OS.

FOSS:

Proprietární:

Amazon má zdlouhavý proces kontroly aplikací (jsou kontrolovány manuálně), proto má téměř vždy zastaralé verze aplikací, zvláště těch, které jsou často aktualizovány.


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í. Zneužití 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 nezbytné z důvodu výskytu škodlivých reklam na internetu. Rozumnější je oblíbené stránky podporovat jinou a bezpečnější – finanční – formou.

FOSS lokální VPN:

Proprietární lokální VPN:

VPN:

Internetový prohlížeč:

VPN je dobrý způsob blokace reklam, ovšem implementace OpenVPN na Androidu není perfektní. Lokální VPN tímto problémem netrpí. Použití prohlížeče blokující reklamy je na OS Android nejlepším řešením. Chrome již umožňuje nativně blokovat agresivní reklamy nesplňující podmínky. Prohlížeč Brave v základu integruje blokování reklam a trackerů.


Internetový prohlížeč:

Chrome/Chromium je prohlížeč s nejkvalitnějšími mitigacemi proti exploitům na Linuxu – tedy i na Androidu. Prohlížeče založené na Mozilla Firefox stále v této oblasti za Chromium zaostávají.

FOSS:

Proprietární:

► Bezpečné nastavení Brave
  • Otevřete prohlížeč Brave.
  • Přes menu v pravém rohu otevřete Nastavení.
  • Rozklikněte nabídku Ochrana soukromí. Zatrhněte položky Režim ochrany proti sledování, Blokování reklam, Blokování regionálních reklam a Ochrana proti otisku prohlížeče.
  • brvand
  • Vraťte se o úroveň výše a rozklikněte nabídku Nastavení webu.
  • V sekci JavaScript zablokujte spouštění JS.
  • brvand1
  • V sekci Schránka zablokujte webům přístup k datům ve schránce.
  • brvand2

Info
Nyní máte ve výchozím nastavení vypnutý JS pro všechny weby. Jakmile budete chtít spuštění JS pro určitý web povolit, stačí kliknout na ikonu prohlížeče v horním panelu a skripty povolit.

brvand3

► Omezení JavaScriptu v Google Chrome / Chromium
  • Otevřete si Google Chrome / Chromium.
  • 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 a otevřete podkategorii JavaScript.
  • Zablokujte spouštění JS.
  • chmandrjs
  • Klikněte na tlačítko Přidat výjimku pro konkrétní web.
  • Zadejte adresu důvěryhodného webu, na kterém se může spouštět JS. Syntax je oproti desktopové verzi značně omezený.
  • chmandrjs1
  • Klikněte na Přidat.



To je vše. Stay safe! smile

Changelog



FAQ 2.3 (17.11.2018):

  • Základní informace
    • přidána sekce Bezpečné používání mobilních zařízení
    • Bitwarden v sekci Doporučené klíčenky
  • Internetové prohlížeče
    • přidán prohlížeč Brave
    • aktualizace pro Firefox
  • OS Windows
    • restrukturalizace
    • aktualizováno pro September 2018 Update
    • rozšířena sekce Virtualizace
    • Heimdal Free vyměněn za Kaspersky Software Updater
    • návod na VirtualBox a Unchecky
  • OS Windows pro pokročilé
    • přepracována sekce Bezpečnostní aplikace
  • OS Linux
    • aktualizováno pro GNOME 3.30
    • návod na vytváření snapshotů v GNOME Boxes
  • OS Linux pro pokročilé
    • odebrána sekce Ostatní doporučení
    • odebrán linux-hardened
  • OS Android
    • restrukturalizace
    • rozšířena sekce Bezpečná zařízení
    • odebrán CopperheadOS
► Starší změny

FAQ 2.2.1 (18.02.2018):

  • OS Windows
    • srovnání úrovně podpory aktuální a starší verze OS
    • nová verze SafeSVC
    • rozšířena sekce Bezpečné nastavení sítě
    • rozšířena sekce Antivirus / Antimalware
  • OS Android – rozšíření sekce Bezpečné nastavení OS

FAQ 2.2 (04.12.2017):

  • Základní informace – revize bezpečnostních doporučení
  • OS Windows
    • poznámka o podporovaných verzích OS
    • přidáno upozornění k NVT Anti-AutoExec
    • rozšířena sekce Anti-exploit
  • OS Linux
    • přepracováno pro GNOME 3.26 a Fedora 27
    • rozšířena sekce Virtualizace, návod na GNOME Boxes
    • revize sekce Flatpak
  • Internetové prohlížeče
    • přidán prohlížeč Epiphany (GNOME Web)
    • aktualizace pro Firefox 57
  • OS Android
    • přepracováno pro 8.1
    • Blokada v sekci Blokování reklamy

FAQ 2.1 (12.08.2017):

  • WWW – změna URL
  • Základní informace – nová sekce doporučené klíčenky
  • OS Windows
    • přepracováno pro Fall Creators Update
    • nová verze skriptu SafeSVC
    • návod na Heimdal Free a HashTab
    • návod na zakázání AutoPlay
  • OS Windows pro pokročilé
    • přepracováno pro Fall Creators Update
    • restrukturalizace, odebrány zbytečné sekce
  • OS Linux – aktualizace/rozšíření sekce Flatpak, odebrána sekce firejail
  • OS Linux pro pokročilé – odebráno/nahrazeno grsecurity, aktualizace příkazů
  • Internetové prohlížeče
    • návod na používání Chromium na Windows
    • návod na omezení JS ve Chromium / Google Chrome
    • stabilní blokování reklamy pro MS Edge
    • částečná aktualizace nastavení Mozilla Firefox
  • OS Android – přepracováno pro O

FAQ 2.0 a starší:

  • 16.04.2017 – FAQ v2 dokončeno
    • WWW – upraven design
    • OS Windows – revize, nyní primárně soustředěno na nejnovější verzi OS (W10 CU)
    • OS Linux – revize, přidáno openSUSE a Flatpak
    • OS Windows pro pokročilé – revize pro W10 CU, rozšířena sekce FW, přidány sekce AppContainer, FIDES, MemProtect
    • OS Linux pro pokročilé – overhaul
  • 15.04.2017 – FAQ pro pokročilé – OS Windows – dokončeno
  • 14.04.2017 – započat přechod na FAQ v2 (chybí FAQ pro pokročilé)
  • 12.11.2016 – aktualizace FAQ dokončena
  • 15.10.2016
    • OS Windows – započata revize sekce, chybí konfigurace pro pokročilé
    • OS Linux – přidán návod na bezpečné nastavení Chromium
  • 27.07.2016
    • OS Linux – dokončeno
    • OS Windows – zrevidována sekce Anti-exploit
    • OS Windows – odebrán audit ovladačů kvůli nízké účinnosti proti moderním rootkitům
    • návod na uBlock Origin přepsán do češtiny
  • 14.04.2016 – OS Windows – dokončeno
  • 16.11.2015 – započat převod na stable release včetně Linuxu
  • 02.07.2015 – uvedena beta verze – chybí Linux
  • 21.03.2015 – uvedena alfa verze
Top