Bezpečnost Mac OS X

Image doesn't exist
Foto: Gandalf

Bezpečnost operačního systému není nikdy jednoduchou záležitostí. V případě systému Mac OS X to platí také. Aby se tento operační systém mohl bránit neautorizovaným změnám, zavedl Apple několik bezpečnostních prvků. Vzhledem k tomu, že nemá smysl se bavit o bezpečnosti starých systémů, tyto poznámky se vztahují k Mac OS X 10.6 (Snow Leopard). Pojďme se s nimi trochu seznámit.

Bezpečný hardware

Dlouhá léta byl Mac OS relativně bezpečný systém jednoduše díky tomu, že jej nešlo spustit na jiném než hardware tolik odlišném od IBM PC standardu. To do jisté míry zabezpečovalo platformu i když to lze považovat za řešení "security by obscurity", jinými slovy, komplikováním přístupu k systému tím, že se zde děje vše jinak. Toto však rozhodně není řešení bezpečnosti systému.

Přechodem na Intelovskou architekturu v roce 2005 se toto změnilo. Mac OS přestal mít exotickou architekturu a jeho programy začínají využívat stejný procesor, jako programy Windows. To samozřejmě umožnilo spouštět Windows nativně a Apple tak mohl o rok později představovat Boot Camp.

Nová generace Intelovské platformy však začala umožňovat něco, co dosud nebylo myslitelné - 64-bit architekturu, která neumožňuje nejen přístup k většímu množství paměti, ale také zavádí zajímavý bezpečnostní mechanismus. 64-bit aplikace totiž mohou (klíčové slovo, znamená že nemusí) používat pokročilé bezpečnostní techniky, které zabraňují fungování škodícího kódu:

  • Aplikace mohou udržovat své data v paměti bezpečně díky bezpečnějšímu předávání hodnot funkcím a možnosti hardwarově zablokovat spouštění dat z paměti, která je označena jen pro data
  • Systémová paměť je označena kontrolními součty, což pomáhá zablokovat útoky, které spoléhají na poškození paměti.

Co již není tak dobře známo, funkce execute disable (XD) je k dispozici nejen u 64-bitových systémů, ale také u 32-bitových od systému Mac OS X 10.4.

Bezpečnostní opatření specifická pro Apple

Asi nejzajímavější část je souvisí s tzv. Sandboxem (Mandatory Access Control - MAC), který již byl probrán na těchto stránkách. Dalším bezpečnostním prvkem je pak tzv. Library Randomization, i když se vyskytly kritiky ohledně její implementace, která není příliš dokonalá. Měli bychom připomenout také zabraňování spouštění aplikací stažených z internetu či ochranu virtuální paměti.

Neměli bychom však zapomínat i další části bezpečnostní strategie Apple u Mac OS X, jako je FileVault (probíral se minulý týden), Rodičovská ochrana, antiphishing technologie v Safari či asistenta pro tvorbu hesel v Keychains.

Library randomization

Jedním ze základních typů útoků je technika, která využívá útok na knihovnu libc, kdy je pozměněna návratová adresa na známou návratovou adresu systémové funkce. Technika pak využívá volání funkce jako system() v systémové knihovně C.

Řešením tohoto problém je přidělení náhodné adresy při zavádění operačního systému a když jsou knihovny aktualizované v systému (po aktualizace systému nebo po manuálním spuštění příkazu ). Pro každého Maca je tak umístění příslušné funkce knihovny náhodné. To ztěžuje útoky, protože útočící aplikace nezná příslušnou adresu funkce.

Podle Charlieho Millera Apple zahodil příležitost dotáhnou Library randomization do konce ve Snow Leopardovi a ponechal ji ve stejném stavu, jako byl v Leopardovi.

Kritika vytýká implementaci ASLR (Address Space Randomization) u Leoparda a Snow Leoparda zejména:

  • Umístění knihoven se nemění během spouštění téhož programu
  • Knihovny se nemění během spouštění různých programů (Safari a iChat budou mít CoreServices na stejné adrese)
  • Dynamická knihovna (dyld), která zajišťuje rozhazování knihoven na různé adresy však vždy zůstává na stejné pozici.

V Mac OS 10.7 bylo ASLR vylepšeno. Je dostupné nově i pro 32-bitové aplikace (Čímž ochraňuje i ty aplikace, které tvrdí, že jsou 64-bitové). Prozatím se neobjevily zprávy o tom, jak moc byla vylepšena a zda Apple reagoval na všechny body kritiky (viz výše).

Podepisování aplikací

Podepisováním aplikací může operační systém zajistit svou integritu. V Linuxu je již běžné, že všechny instalační balíčky jsou podepisovány gpg klíčem a pak ověřovány oproti systému veřejných klíčů. Všechny aplikace distribuované s Mac OS X jsou podepsány Apple. Výrobci třetích stran si mohou podepsat vlastní aplikace, což sice nezajistí magickou ochranu, ale hezky integruje aplikaci a přeci jen zvýší ochranu operačního systému.

Podpis aplikací se používá podle aplikace, ať již se jedná o rodičovskou kontrolu, spravované předvolby, Keychain či firewall - všechny tyto funkce potřebují ověřit, že aplikace se kterými pracují jsou správné a nezměněné verze. U Keychain používání podpisu dramaticky snižuje množství dialogů prezentované uživateli. Důvod je nasnadě, uživatel již jednou aplikaci povolil a systém ví, že se jedná o tutéž aplikaci. Pokud aplikaci povolíte ve firewallu, systém ví, že o jakou aplikaci se jedná a nedovolí aplikaci, která nevyhovuje podpisu a jmenuje se stejně, aby firewallem prošla. Totéž se týká i dalších částí systému.

Ochrana před trojskými koni

Soubory stažení přes Safari, Mail, Firefox a z dalších zdrojů jsou automaticky označené metadaty, které indikují tyto soubory jako stažení a odkazují na URL, datum a čas stažení. Tyto metada jsou propagována z archívu ze kterých byla získána (jako ZIP či DMG soubory), takže jakýkoliv soubor z tohoto archívu získá stejnou značku. Stejným způsobem jsou označovány také soubory stažené z USB disků.

Když je poprvé spuštěna takto označená aplikace, uživatel je požádán o zodpovězení otázky, zda si opravdu přeje spustit aplikaci a zobrazí datum, čas a místo odkud byla aplikace stažena. Je pak jen na rozhodnutí uživatele, zda aplikaci spustí. Pokud je aplikace jednou schválena, další spuštění již nezpůsobí zobrazení dialogu.

Ochrana před viry

Apple s velkou slávou zveřejnil, že součástí Mac OS X 10.6 je také antivirus. Je trochu legrační, že tento "antivirus" vás ochrání pouze před dvěma trojskými koni (od minulého týdne od tří) Pokud máte zájem o skutečné antiviry, zkuste se podívat na tyto stránky about.com. Obecně se však dosud (červen 2010) příliš nedoporučuje instalovat jakýkoliv antivir, protože jediného čeho dosáhnete je že se vám zpomalí počítač. Existují však důvody, proč si antivir pořídit.

  • Nebudete přenašečem viru, pokud si přes Maca přepošlete aplikaci pro PC či Wordovský dokument se škodlivým makrem
  • Chcete mít bezpečné prostředí pro virovou analýzu nebo kontrolu připojeného disku z Windows
  • Chcete být zajištěni pro případné nově objevené viry či trojské koně (viz Trojský kůň ve screensaverech)
  • Vyžaduje to standard, který je podkladem pro certifikaci vaší společnosti

Dále bychom neměli zapomínat na Software Update, který v bezpečnosti operačního systému zaujímá nezanedbatelnou roli.

Bezpečnost plynoucí z BSD vrstvy

Zde se jedná o bezpečnostní prvky, které více souvisí s tím, že se jedná o UNIXový systém a tak musí splňovat některé požadavky na podporované protokoly a to včetně těch autorizačních jako:

  • UNIX PAM
  • Offline autorizace
  • Open Directory
  • Kerberos
  • Active Directory
  • NTLMv2 (Podpora pro Windows autorizaci)
  • Smart karty (včetně uzamčení přístupu po vyjmutí smart karty)

Unixová vrstva v sobě zahrnuje běžný model bezpečnosti založený na uživateli. Apple tento model rozšířil o to, že při instalaci zakazuje přístup uživateli root. Všechny aplikace tak běží s tak minimálními oprávněními, jak je to jen možné. Díky tomu jsou v systému tři typy uživatelů:

Běžný uživatel - který má prakticky nejmenší práva a jsou mu umožněny změny, který se týkají pouze jeho účtu. Pokud tento uživatel bude potřebovat přístup k části systému, vyžadující vyšší práva, bude požádán o heslo.

Administrátor - Mac OS X zakládá tento účet při instalaci systému. Administrátor může provádět prakticky všechny úkoly, které provádí root uživatel, kromě přidávání, změny nebo mazání souborů v systému. Administrátor však může používat Instalátor nebo Software Update aplikace podle svého uvážení.

Root - Jako všechny UNIXové systémy má i Mac OS X svého superuživatele pojmenovaného root. Tento uživatel má plná práva k přístupu ke všem souborům na systému (až na pár výjimek). Na rozdíl od tradičních unixových systémů, Mac OS X zakazuje přístup k tomuto účtu, i když může být povolen. Toto opatření umožňuje snížit riziko napadení počítače viry nebo neautorizovanými uživateli.

Stejně jako u jiných operačních systémů tohoto typu, systém používá uživatele bez práv pro spouštění některých systémových služeb či software, který vyžaduje specializovaný přístup avšak nikoliv přístup pro přihlášení.

Aby se zabránilo nechtěným přístupům, Mac OS X zakládá uživatele jako běžné uživatele, administrátora je z nich možné udělat až po jeho založení. K uživateli bez hesla není povolen vzdálený přístup.

UNIXové systémy byly vždy zejména o síťovém provozu, proto by nemělo překvapit, že mnoho bezpečnostních prvků se týká právě této části.

  • Firewall
  • Bezpečný přenos přes síť (využitím OpenSSL, OpenSSH a dalších protokolů)
  • TLS a SSL verze 2 a 3
    Kerberos
  • Autorizace s 802.1x
  • SSH
  • VPN
  • Podepisování SMB paketů
  • Digitální certifikáty

Tyto prvky přesahují rámec tohoto povídání, proto si o nich povíme až někdy příště.

Bezpečnost vašich dat

O bezpečnosti operačního systému jako takového jsme si již řekli, teď se podívejme co vše Apple připravil pro bezpečnost vašich dat v tomto operačním systému

FileVault

Mac OS X od verze 10.3 nabízí uživatelům funkci FileVault, která dovoluje zakódovat informace v domovských složkách uživatelů. FileVault vytváří zvláštní diskový oddíl z domovské složky a její obsah kóduje. Tím ochrání domovskou složku v případě, že uživatel ztratí či mu ukradnou počítač. FileVault využívá Advanced Encryption Standard se s 128/256 bitovými klíči (AES-128/256). Podrobněji se o tomto systému dozvíte ve heslu FileVault ve slovníku.

Kódované diskové obrazy

Kódované diskové obrazy jsou velmi příbuzné FileVault. Používají totiž tutéž technologii. Je to v podstatě rozšíření možnosti vytvoření diskového obrazu o kryptovací technologii. Uživatel si tento diskový obraz vytváří pomocí aplikace Disk Utilities.

Je zajímavé, že se soubory dekryptují pouze podle požadavků aplikace a nikoliv najednou. Například pokud si otevřete QuickTime film, bude dekryptována vždy jen ta část souboru, na kterou se zrovna díváte, nikoliv celý soubor.

Bezpečné vysypání koše

Vymazání souboru se běžně děje tak, že se zničí informace o tom, kde je soubor umístěn na disku. Protože tato informace zůstává na disku do té doby, dokud ji nepřepíší jiná data, bývá možné soubor obnovit. Proto přišel Apple z možností nejen smazat soubor běžným způsobem, ale také přepsat všechna jeho data. Tímto způsobem neautorizovaná osoba nemůže využít tyto data.

Kódování virtuální paměti

Při práci s aplikacemi počítač používá paměť RAM. V této paměti se dějí různé věci, včetně dekryptování hesel, zadávání hesel a podobných věcí. Aby systém odlehčil paměti RAM a umožnil tak spouštění většího množství aplikací, zavádí virtuální paměť - zjednodušeně řečeno kopii paměti RAM na disku. Ačkoliv toto řešení má nesporné výhody, přináší také nevýhody. Viz článek Proč je důležité používat bezpečnou virtuální paměť. Bezpečnostní nevýhodu tohoto řešení pak řeší právě kódování virtuální paměti, které je pro všechny přenosné počítače automaticky zaponuto.

Soukromé prohlížení

Všechny prohlížeče, včetně Safari si ukládají informace o stránkách, které navštívíte, ukládají si jejich kopii v cache, aby se uživateli zrychlil přístup k této stránce. Tímto je systém náchylný ke krádeži historie pomocí CSS. Řešením je právě toto soukromé prohlížení (Private browsing), které neukládá žádné informace o prohlížených stránkách. Zlí jazykové jej také přezdívají na porno mód z pochopitelných důvodů. Tatáž možnost se objevila také u FireFoxu.

Účet pro hosty

Účet pro hosty řeší problém, jak pustit návštěvu na váš počítač. Tímto způsobem totiž umožníte komukoliv práci s počítačem, avšak po jeho odhlášení budou všechny data tohoto uživatele smazána. Účet dovoluje povolit spouštění jen některých aplikací.

Time machine

O Time Machine se na těchto stránkách mluvilo, podrobnější informace naleznete v pod heslem Time Machine ve slovníku. Je však důležité zmínit tuto technologii v souvislosti s bezpečností vašich dat, protože se jedná nejen o to, aby se jiní nedozvěděli vaše data, ale také o to, aby jste ke svým datům měli přístup a to i tehdy, pokud se vám rozbije pevný disk.

Nejslabším článkem operačního systému je vždy uživatel

Ačkoliv jsme se seznámili s několika zajímavými technologiemi, které sebou přináší Mac OS X, aby ochránil uživatele, je třeba mít na paměti, že ani nejlepší operační systém nemůže ochránit uživatele před ním samým. Je nutné si uvědomit, že bezpečnost operačního systému závisí především na chování uživatele. Je na uživateli, aby začal pracovat se systémem bezpečně. Proto se doporučuje dodržovat následující body:

  • Stahujte soubory pouze ze známých a důvěryhodných zdrojů (Může vám v tom trochu pomoci AVG LinkScanner, ale není to magické zaklínadlo na všechny problémy a uživatel by měl především používat vlastní hlavu)
  • Používejte FileVault pro ochranu vašich nejdůležitějších dokumentů
  • Omezte přístup k počítači uzamykáním obrazovky po té co s počítačem určitou dobu nepracujete
  • Citlivé soubory smažte příkazem Secure Empty Trash
  • Pokud můžete, využijte doporučenou konfiguraci svého operačního systému

Odkazy z Tipů a Triků:

 

Změna barev | Autorská práva | Kontakt | Podpora | RSS kanály
© 2006 Gandalf, Design by Mirek
Creative Commons License