Proč je 64-bitový kernel na Macovi bezpečnější?

Proč je 64-bitový kernel na Macovi bezpečnější?

O tom, jaká má výhody 64-bitový kernel vzhledem k rychlosti jsem se již bavili v minulém článku, teď se podíváme, jak to vypadá s bezpečností. Ta je totiž u 64-bitového kernelu opravdu o úroveň výše.

Během poslední let, Mac OS X si užíval bezstarostnosti vzhledem k velkým bezpečnostním rizikům a útokům, kterými trpěli uživatelé Windows. Monopol Microsoftu na  PC zajistil, že každý kdo chtěl způsobit velkou škodu, snadno zneužitelnou přes chybu v softwaru zaměřil svou pozornost na Windows.

Bezpečnostní úsilí Microsoftu

Od počátku byl operační systém Microsoftu určen hlavně na počítače ve firmách, které jsou na důvěryhodné síti. Bylo nejen snadné zneužít softwarovou chybu v systému, ale také najít nějakého díru, pomocí které bylo možné posílat viry do jiných systémů. Když se systémy dostaly k otevřenému Internetu, Windows neměly šanci.

Posílení Windows PC, aby přežilo ničivé útoky z Internetu byl komplexní a drahý úkol, úkol který Microsoft okamžitě nepovažoval na prioritní. Nicméně když Windows začaly získávat reputaci díky laxní bezpečnostní politice po té, co se staly obětí známých exploitů koncem 90tých let, Microsoft přehodnotil své priority.

Longhorn, který byl považován za nástupce Windows XP z roku 2001, byl ukončen jak společnost pokračovala ve velké práci při řešení bezpečnostních rizik v XP. V roce 2004 Microsoft vydal XP SP2, produkt velmi usilovné práce při skenování, auditování, testování zdrojových kódů spojených s přehodnocováním základních funkcí a architektury. Přidal se i externí audit zdrojového kódu a penetrační testy.

Kromě snah Microsoftu identifikovat a záplatovat chyby a hrozby v software, společnost také rozjela preventivní opatření, které měla zabránit chybám v budoucnu. To zahrnovalo i firewall, požadavek aby RPC servery autorizovaly komunikaci, takže útočníci museli uvést správné údaje před přístupem k serveru.

Microsoft je nyní velmi otevřený o svých bezpečnostních pokrocích a využívá jakékoliv příležitosti aby upozornil na svou práci ohledně bezpečnosti jako obranu proti kritice za chyby, kterých se dopustil v minulosti.

Bezpečnostní úsilí Apple

Naopak Apple nikdy neprošel žádnou bezpečnostní krizí vzhledem k Mac OS X. Vývojáři virů měli vždy téměř nulovou finanční motivaci pro vytvoření nového útoku, který by byl veden proti Macům. Teoretický potenciál hackerů útočící na Macy pro čest a slávu, prostě dosud neproběhly, ačkoliv jsou prý již blízko k provedení.

I když se objevily exploity, umělé útoky byly navrženy, virová pandemie se u Maců neobjevila, hlavně díky relativně malé instalované základně nutné pro získání kritického množství. Když k tomu připojíte fakt, že Mac OS X nebyl zatažen do stejných promiskuitních základů LAN ve Windows, máte zde sérii faktorů, které dohromady dovolily Apple projít Internetem bez velkého rizika.

Místo toho měl Apple ten luxus naplánovat Mac OS X verze tak, aby se bezpečnostní funkce postupně navyšovaly. Na rozdíl od plánu pro budoucí funkce v Mac OS X, Apple mlčí o mnoha ze svých bezpečnostních snah. Je zde jasný důkaz o tom, že společnost provedl bezpečnostní skenování software, jak byly buffer overflow chyby vyčištěny z mnoha systémových knihoven, podle bezpečnostních expertů kteří znají historii OS.

Mac OS X 10.4 Tiger eliminoval většinu jednodušších buffer overflow chyb, zatímco 10.5 Leopard zrušil mnoho z těch, které napadaly síťové služby. Leopard také přidal stack protection, library randomization a non-executable stack a sandboxing pro některé systémové procesy. Tyto funkce jsou postupným zlepšováním bezpečnosti, které jsou dále rozvinuty ve Snow Leopardovi.

Sandboxing Mac OS X je poskytován frameworkem Mandatory Access Control (MAC), implementací MAC frameworkem z TrustedBSD. Sanboxing vnucuje kontrolu nad tím co proces (aplikace) může dělat,například může omezit procesu přístup na sít, zapisování jakéhokoliv souboru nebo psaní souboru mimo specifické adresáře. Ačkoliv sandboxing nechrání proces před útokem, je schopen omezit dopad toho co útok může provést v aplikaci.

Na iPhone sandboxing je používán pro omezení každé aplikace k přístupu k vlastním datům a předvolbám. Dokonce aplikace, které mají přístup k síťovému API mají zakázány přímý přístup ke komunikaci či síťovému hardware.

Bezpečnost v 64-bitovém Snow Leopardovi

Kromě rozšířeného Sandboxu, přechod k 64-bitové architektuře poskytuje sérii výhod vztažených k bezpečnosti. Všechny 64-bitové aplikace Apple nastavuji zapisovatelnou paměť jako nespustitelnou, včetně thread stack, heapu a dalších zapisovatelných data segmentů.

To bylo již přístupné některým aplikacím u Leopard Serveru, které běhaly v 64-bitovém módu jako třeba Apache Web Server. Pokud použijete příkaz vmmap zjistíte, že žádná paměť alokovaná 64-bitovými aplikacemi není zapisovatelná a spustitelná (vždy je to buď a nebo). Na 32-bitových systémech tato indikace není procesorem vyžadována. Tato funkce zabraňuje zneužití tím, že vložený kód přepíše spustitelný kód v paměti.

Dalším bezpečnostním prvkem, který byl vyřešen přechodem na 64-bitový režim je použití registrů pro volání parametrů funkce. U 32-bitové x86 architektury volání funkce byly vraceny zpět do sady (stack),  takže když útočník sadu přepsal, mohl kompletně převzít kontrolu nad argumenty vracených funkci a přinutit tak funkci provést požadovaný úkol.

Přesun k 64-bitům také velmi zlepšil Address Space Layout Randomization (ASLR) techniku používanou v Leopardovi. 32-bitové binárky byly omezené na relativně malou 4GB alokaci, což činilo snadné předvídat užitečnou adresu pro útok. Dále si Leopard ponechával dyld, Mac OS X dynamický loader (zodpovědný za nahrávání frameworků, dynamických knihoven a bundlů potřebných pro proces) na stejném známém místě, což činilo ASLR relativně zranitelné a snadno jej tak šlo obejít.

S mnohem větším prostorem dostupným pro 64-bitové aplikace, Snow Leopard ASL umožňuje schovat nahraný kód jako jehlu v kupce sena, znemožňuje tak útočníkům uchovat predikovatelné cíle pro kontrolu kódu a dat uložených v paměti. Bez znalosti cílové adresy, velká většina útoků selže.

Bezpečnost před tím, než ji potřebujete

Izolace Apple před pravidelnými útoky malware jej postavila do nevídané pozice umožňující zaměřit se na proaktivní přístup k bezpčnosti místo na odpovídání na probíhající útoky. Pro Macovské uživatele to znamená příležitost uzavřít možné scénáře zneužití malware před tím, než se z platformy stane cíl.

Apple je relativně potichu ohledně svých snah o bezpečnost, protože nechce být příliš srovnáván s Microsoftem, který je v mnoha bezpečnostních oblastech napřed, alespoň v posledních vydání software. Nicméně Microsoft se stále potýká s instalovanou základnou miliard PC, která není chráněná vylepšeními v posledních verzích softwarů a jen relativně málo uživatelů aktualizovala na poslední verzi.

To stále dává Apple silnou pozici v udržování svého bezpečnostního stavu, protože Windows PC je stále vhodnější platformou pro útoky. Uživatelé Maců si tak i nadále mohou uživat ticha, nepoznamenaného bezpečnostními útoky tak jak je to běžný jev u Windows.

Poslat Proč je 64-bitový kernel na Macovi bezpečnější? na facebook
Publikováno 30.11.2008
 

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