Věřím že čtenáři Roota jsou občas donuceni používat/spravovat operační systémy, o které by si jinak „neopřeli ani kolo“ a mají různorodé zkušenosti z toho unixového i z toho windowsového světa. Určitě si každý z vás vybral svoji platformu, na kterou nahlíží jiným úhlem než ostatní. S Windows se setkal snad každý z nás a i kdyby ne, tak vám určitě neunikla reklamní masáž antivirových společností, které slibují, že budou chránit váš počítač ve dne v noci a div nepopisují případy, kdy se do vašeho počítače něco dostalo, i když byl vypnutý. Ochrana před nebezpečím byl vždy dobrý byznys a u virů nebo správněji malwaru a podobné havěti to platí dvojnásob.
Zatímco na jednom systému stačí vyživovat obavy a občas nechat nějaký virus se rozšířit, u linuxových distribucí to není tak jednoduché. Bezpečnost mají zakořeněnu v sobě, k aktualizacím je uživatel vyloženě nucen, výchozí nastavení distribuce většinou pro desktop vyhovuje a uživatelé instalují balíčky jen z repositářů. Těžko se tu hledá velká skupina uživatelů, která by dělala něco stejně a k tomu ještě špatně. Nemyslím si, že je linuxová platforma tak roztříštěná, jak se někdy můžeme dočíst, a že by ji to chránilo. Ano, jsou tu různé distribuce a jsou tu různá prostředí, ale základ je stejný. Není problém vytvořit aplikaci, kterou bude možné spustit na 99 % linuxových systémů a bude schopna komunikovat se sítí a procházet se po samotném systému. Problém je jen v tom, jak zákeřný kód do počítače běžného uživatele dostat, a to se ještě nějaký čas na masové úrovni nepodaří vyřešit.
Viry, červy, koně
Když se bavíme ve společnosti o virech, často máme ve skutečnosti na mysli buď trojského koně nebo červa. Souhrnně se tomuto druhu zákeřného software říká malware. V našich končinách a v době, kdy na Windows existují statisíce různého malware, tyto tři názvy splynuly pod jedno společné označení virus. Někdo může být na nesprávné označení alergický, někomu to může být jedno, je ale dobré mít podvědomí o tom, co který typ zákeřného kódu dělá.
Smyslem klasického viru je rozšířit se na co nejvíce počítačů tím, že se nalepí na nějaký spustitelný soubor, případně používá jinou více či méně podobnou formu šíření. Pak je tu jejich druhá stránka, která se něco snaží dokázat. V případě Linuxu jde třeba o relativně neškodnou změnu hostname nebo upozornění na sebe jiným způsobem, ale na Linuxu nemají viry jako takové moc živné půdy. Jedním z prvních byl Bliss, o kterém je řeč níže.
Druhou skupinou jsou červy. Ty zneužívají děr v systému a v Linuxu jde o každodenní hrozbu, i když většinou včas zastavenu. V minulosti se červům podařilo projít třeba přes Apache nebo OpenSSL. Dobrým příkladem je červ Devnull, který si dokonce sám na cílovém počítači zkompiloval program, kterým hledal další možné oběti. Nekompatibility tedy řešil velmi nápaditou formou.
Trojský kůň je známý způsob zákeřného softwaru, který má za úkol na cílovém stroji otevřít díru, kterou bude moci útočník využít. Často například pro účast na DDoS útoku. Jedním z příkladů je Linux.Backdoor.Kaiten objevený v roce 2006. Trojské koně nebývají pro linuxové uživatele nějakou vážnou hrozbou, stejně jako viry. Uživatel si je do systému musí zavést sám, a to u Linuxu není tak jednoduché. Navíc když už se tak stane, má vir nebo kůň omezená práva.
Tak existují ty viry pro Linux nebo ne?
Malware na Linux musel vzniknout, ať už jako opravdový pokus nějakým způsobem škodit nebo jako proof of concept, aby se ukázalo, že to jde, ale ne moc dobře. Ještě nikdy se nestalo, aby nějaký malware paralyzoval významnou část linuxových desktopů či serverů a o podobné hrozbě se nemluví ani v blízké budoucnosti. Jestli jste si tedy mysleli, že budete potřebovat antivirový program i na Linux, není to pravda. Pokud se vás o tom někdo bude snažit přesvědčit, bude to pan Kaspersky a jemu podobní.
V týdnu jsme do zpráviček zařadili odkaz na článek o historii virů a vůbec všeho škodlivého, co bylo pro Linux napsáno. Není to výčet kompletní, ale je zajímavý. Začíná rokem 1996, kdy crackerská skupina VLAD, která byla zodpovědná i za první virus pro Windows 95, vytvořila Staog. Ten zneužíval chyby v jádře a když se mu podařilo zakořenit ve vašem systému, čekal, až mu něco nebo někdo pošle kód, který spustí. Chyba byla opravena a virus pak upadl v zapomnění.
V roce 2000 se objevil další virus se jménem Virus.Linux.Winter.341, který se přidával do linuxových ELF souborů (formát pro linuxové binární spustitelné soubory). Navíc změnil jméno počítače na Wintermute. Nic dalšího od něj naštěstí nehrozilo. V roce 2001 se objevilo více podobných typů virů, ale prakticky nezpůsobily žádné škody.
Skutečné nebezpečí ale přišlo v roce 2002, kdy červ Mighty zneužíval chyby ve web serveru Apache a když se mu podařilo proniknout do nic netušícího serveru, připojil se na IRC a očekával příkazy svého pána. Jeho varianta se objevila znovu v roce 2006.
Nová doba ovšem vyžadovala nový přístup a tak se v roce 2007 objevil virus pro OpenOffice.org, jenž ovlivňoval všechny platformy, na kterých OpenOffice.org běží. V roce 2009 se podařilo na stránky pro uživatele GNOME propašovat spořič obrazovky obsahující zákeřný kód, který otevřel bezpečnostní díru do vašeho systému. Tím se váš počítač stal nástrojem pro následný DDoS útok.
Závěr
I když pro Linux nevznikají červi, trojany ani viry jak na běžícím páse, občas se nějaký objeví. Z toho tedy plyne, že nemůžete být naprosto bez obav. Když už na nějaký zákeřný kód dojde a něco se opravdu stane, bude útok pravděpodobně namířen konkrétně proti vám, respektive proti vašim serverům. Proto je nutné držet systém co nejvíce zkrátka, a i když dojde k nějakému průniku kvůli chybě, nemělo by to složit systém jako takový. Na serveru vždy oddělujte služby jak je to jen možné, pracujte s firewallem a nějaké pokusy se SELinuxem nebo AppArmorem nejsou nikdy na škodu, i kdyby to nemělo být dokonalé.
Bojíte se linuxových virů?
Na desktopu dbejte na to, abyste nespouštěli každý skript na který narazíte, mějte na mysli, že každý repositář, který si do systému přidáváte, propůjčuje práva roota někomu úplně neznámému. Určitě nezapomeňte na firewall. Pokud se k vám něco dostane, bude to pravděpodobně síťovou službou. I kdybyste nějaké pravidlo porušili, hrozba napadení vašeho systému je u dnešních linuxových systémů stále mizivá. Zneužitelné chyby jsou většinou opraveny dřív, než se objeví exploit, který by je použil.