Můžete si nainstalovat antivirus jestli chceš. Nemělo by to poškodit váš počítač, ale neočekávejte velkou ochranu vašeho systému a nepovažujte se za zcela bezpečné . Účinnost antivirového softwaru je velmi relativní a většinou se používají, aby se zabránilo šíření starého malwaru, zejména pokud máte ve svém ekosystému počítače se systémem Windows. Měli byste očekávat pokles výkonu, i když k dnešnímu dni neexistují žádné referenční hodnoty AV výkonu na Linuxu, takže jej nelze kvantifikovat.
Proč nejste v bezpečí pouze s antivirem? Protože jsou pouze jednou částí potřebných mechanismů. V současné době na Linuxu chybí mnoho nástrojů pro zabezpečení desktopů. Jaké jsou různé bezpečnostní mechanismy relevantní pro stolní počítače?
- Zabezpečení grafického zásobníku (aby se zabránilo keyloggerům, clickjackingu, nahrávání obrazovky, šňupání schránky atd.)
- Schémata distribuce aplikací s bezpečnostními kontrolami (obchody s aplikacemi a repozitáře se statickou analýzou aplikací) a rychlými aktualizacemi zabezpečení
- Detekce malwaru :založený na signaturách (pro ochranu před identifikovanými hrozbami) a založený na heuristice (nebo tak říkají, nikdy jsem nepoužil žádné AV založené na heuristice a mám podezření, že jde většinou o marketingové řeči, které říkají:„vyvrhneme spoustu bezpečnostních varování na vaši tvář, když používáte novou aplikaci")
- Sandbox (který spočívá ve vzájemné izolaci aplikací podle návrhu)
- Kontextové oprávnění k používání zařízení a uživatelských dat se zabezpečením podle označení / uživatelsky řízená kontrola přístupu / powerboxy / smlouvy; vyžaduje sandboxing
V současnosti jedinou slušnou věcí na Linuxu jsou aktualizace zabezpečení aplikací prostřednictvím repozitářů. Vše ostatní je nestandardní.
Zabezpečení grafického zásobníku
Všichni se spoléháme na grafický server X11. X.Org existuje 30 let a původní design se na serveru stále používá. V té době nebyly žádné problémy se zabezpečením desktopu a nebudete překvapeni, když zjistíte, že to není vůbec bezpečné. Máte hned po vybalení API pro implementaci keyloggerů, provádění vzdáleného zneužívání kódu, pokud má uživatel otevřenou nějakou kořenovou konzoli, výměnu uzamčení relace za účelem krádeže hesel atd., atd.
Je těžké hodnotit, jak si Windows 8 a OS X vedou v tomto tématu, protože jsem nenašel žádné podrobné vysvětlení jejich implementace grafického zásobníku. Jejich aplikace v sandboxu mají omezený přístup k nejviditelnějším vektorům útoků, ale je opravdu nejasné, jak dobře je to navrženo a implementováno. Zdá se mi, že Win 8 nutí aplikace Store, aby spouštěly celou obrazovku a jednu po druhé, skrývají problémy při navrhování bezpečného správce oken v plném rozsahu. Existuje mnoho problémů, které je třeba vzít v úvahu wrt. poloha a velikost okna, použití průhlednosti a celé obrazovky atd. při implementaci správce oken s ohledem na bezpečnost. Nemám ponětí, jak to dělá OS X.
Linux v nadcházejících letech přejde na Wayland, který je navržen s ohledem na bezpečnost. Máme jasný model toho, jaké schopnosti by měly existovat, a obecnou představu o tom, jak budou vynucovány a jak lze získat oprávnění. Hlavní osobou za touto prací je Martin Peres, i když se náhodou podílím na diskuzi o zkušenostech uživatelů a vývojářů za těmito schopnostmi. Design a vývoj pokračují, takže v dohledné době nic nečekejte. Přečtěte si tento příspěvek pro více informací. Wayland bude bezproblémově poskytovat zabezpečení při použití ve spojení s sandboxingem aplikací.
Distribuce aplikací
Linux má systém úložišť s různou úrovní důvěry, který vycvičil naše uživatele, aby se spoléhali pouze na poskytnuté aplikace a aby se měli na pozoru před proprietárním kódem. To je teoreticky velmi dobré.
V praxi neznám jediného distributora, který by u svých zabalených aplikací vynucoval i ty nejzákladnější bezpečnostní kontroly . Žádná statická analýza pro podivná systémová volání a pro jakoukoli komunitu opravdu není jasné, zda jsou skripty před a po instalaci (které běží jako root) vůbec ověřovány na zjevné špatné věci.
Bezpečnostní kontroly prováděné na rozšířeních GNOME Shell jsou velmi lehké a manuální, ale alespoň existují. Nevím o rozšířeních KDE nebo jiných aplikacích.
Jednou z oblastí, kde svítíme, je, že dokážeme stáhnout bezpečnostní aktualizace velmi rychle, obvykle během několika dní pro jakoukoli bezpečnostní chybu. Až donedávna byl Microsoft mnohem pomalejší, i když to dohnal.
Detekce malwaru
Jediný antivirový software, který znám na Linuxu, je ClamAV. Zdá se mi, že to funguje pouze na základě signatur, ale znovu, jak jste zdůraznil, nemáme žádný identifikovaný počítačový malware, před kterým bychom se chránili.
Ve světě Advanced Persistent Threats jsou pravděpodobně lidé, kteří píší malware pro stolní počítače pro Linux. Příklad viz Maska. Je nepravděpodobné, že standardní AV dokáže něco udělat proti těm, protože autoři malwaru APT jsou obvykle dostatečně talentovaní, aby přišli s zero-day exploity.
Nyní Microsoft inzeruje fuzz testování veškerého svého softwaru po desítky tisíc hodin, na rozdíl od prakticky žádných bezpečných kódovacích postupů v linuxovém ekosystému. Z osobních experimentů s fuzzingem jsem naprosto přesvědčen, že v některém populárním linuxovém softwaru je několik málo věrných zero-day exploitů . To nás postihne v den, kdy budeme mít finančně životaschopnou uživatelskou základnu pro běžné autory malwaru, a pak uvidíme, jak dobrý bude ClamAV, ale mám podezření, že mechanismus aktualizace aplikací bude mít větší dopad na řešení s objevenými zranitelnostmi.
Netřeba dodávat, že jak Windows, tak OS X jsou v těchto kritériích výrazně lepší než Linux.
Sandbox a kontextová autorizace
OS X i Windows 8 poskytují sandboxing pro aplikace hostované v jejich obchodě. Nedokončím zkoumání zvláštností OS X, ale aplikace pro Windows 8 Store mají velmi vážná omezení, pokud jde o podporované jazyky a rozhraní API, dostupné funkce a obecnou uživatelskou zkušenost, kterou s nimi lze poskytnout. To znamená, že desktopové aplikace, které nejsou v izolovaném prostoru, tu zůstanou a sandbox společnosti Microsoft nebude chránit před malwarem, pouze před vytvořenými dokumenty v chybovém softwaru (App Store). Zdá se, že OS X si vede mnohem lépe, i když žádná aplikace mimo obchod také není izolovaná.
Linux nemá žádný izolovaný prostor aplikací s grafickým uživatelským rozhraním, který by v tuto chvíli fungoval dostatečně hladce. Máme základní technologii pro omezení (nejlepšími kandidáty jsou kontejnery založené na jmenných prostorech Linuxu, viz LXC a Docker, a dalším nejlepším jsou systémy pro vynucování MAC, které by bylo třeba vyvinout, aby podporovaly určitou míru dynamiky). Díky úžasné práci na kdbus a systemd máme téměř IPC a mechanismy správy procesů potřebné k nasazení a zpracování těchto sandboxových aplikací. Chybí pár drobností, přičemž několik návrhů prosazuje většinou nadace GNOME (viz toto video o Sandboxingu na GUADEC 13). Podílím se také na diskuzi o tom, jak může dojít k přístupu k datům a autorizaci, ale mezi několika zainteresovanými lidmi neexistuje shoda a návrh a vývoj nějakou dobu trvá. Pravděpodobně bude trvat ještě několik let, než budou existovat slušné prototypy a než bude sandboxing nasazen v Linuxu v jakémkoli relevantním měřítku.
Jedním z velkých problémů, kterým čelí všechny platformy, je zjistit, jak autorizovat aplikace, aby získaly přístup k datům a možnostem zařízení ve správném měřítku. To znamená, jak je nechat dělat to, co potřebují, aniž by uživatele obtěžovali výzvami k autorizaci a zároveň zabránili aplikacím ve zneužívání oprávnění. Existují vážné mezery v tom, jak Windows 8 umožňuje aplikacím Store zpracovávat nejnovější dokumenty a budoucí přístupový seznam aplikací. V této fázi je další zabezpečení přístupu k dokumentům bez zvýšení nákladů na zabezpečení pro vývojáře a uživatele otevřenou otázkou, na které spousta lidí náhodou také pracuje :)
Malware se nestará, pokud používáte „standardní instalaci Ubuntu pouze pro stolní počítače“. Malware poběží, pokud systém podporuje správnou sadu instrukcí, pro kterou byl zkompilován binární soubor ELF. Ubuntu je založeno na debianu a podporuje následující instrukční sady:IA-32, x86-64, ARMv7, ARM64, PowerPC. Obecně zjistíte, že většina je postavena na systémech IA-32 nebo x86-64.
Protože mým úkolem je zvrátit malware, jsou chvíle, kdy ho potřebuji ladit, takže mám virtuální počítače z edice Ubuntu Desktop (32 i 64bitové), které používám ke každodennímu vzdálenému ladění linuxového malwaru prostřednictvím IDA.
Pokud chcete hovořit o metodě infekce, pak jistě, je méně pravděpodobné, že budete mít jízdu na Linuxu než na Windows. Během posledních několika měsíců jsem si však při hraní s některými skripty PHP všiml, že podporují stále více platforem bez oken. Jednoduše zkontrolujte platformu, kterou prohlížeč oznamuje, a doručte relevantní exploit.
TL;DR- Infikuji desktopové instalace Ubuntu (VM) na denní bázi a zároveň ruším linuxový malware.
Otázka je položena pro Ubuntu. Pokud mohu trochu rozšířit otázku na desktopové edice Linuxu, typ SELinux "Walled Garden " řešení by bylo velmi užitečné. V SELinuxu mohou povinné politiky řízení přístupu (MAC) zastavit nebo omezit poškození při pokusu o infekci. Na rozdíl od AV, které běží jako samostatný proces, který zatěžuje OS, má SELinux nativní podporu linuxového jádra a zabezpečení štítky jsou uloženy v inodech.
Výhody:
Můžete implementovat velmi složité bezpečnostní zásady. (Tj. webový prohlížeč nemá přístup k jiné složce než ~/.mozilla)
Nevýhody:
V SELinuxu však budete potřebovat dobrou bezpečnostní politiku. Nevýhodou je, že úprava těchto zásad je složitá.
Jak vím, Ubuntu standardně nepodporuje SELinux. Ale operační systémy jako Fedora ano.
Sečteno a podtrženo:
Sečteno a podtrženo, Linux má skutečně dobré bezpečnostní mechanismy (File Permission, SELinux ), kde je život malwarů opravdu těžký, pokud jste jim neudělali nepořádek.