Bezpečnost Linuxu proti virům


Na mnoha místech se můžete setkat s tvrzením, že se objevil první virus pro Linux. Ačkoliv v tuto chvíli nemohu spolehlivě říct, jestli zveřejněný kód je skutečně životaschopný a nebezpečný, mohu alespoň připomenout několik zásadních skutečností o vztahu virů a operačních systémů unixového typu. Uvidíte sami, že situace není nijak vážná.

Na Linuxu existuje jedna základní zásada. Uživatelé nemohou modifikovat soubory, které jim nepatří nebo k nimž nedostali právo zápisu a nemohou vkládat nové soubory do systémových adresářů, ze kterých by je mohli ostatní uživatelé nedopatřením spustit. V základní konfiguraci nemůže běžný uživatel zapisovat do žádného systémového spustitelného souboru.

Protože to platí od nepaměti a systém přístupových práv je integrální součástí systému již od jeho první verze, autoři programů to respektují a vyvářejí programy tak, že spustitelná část programu a globální konfigurační soubory jsou uloženy na místě, kam není běžným uživatelům umožněn zápis. Uživatel má ve svém domovském adresáři uloženy vlastní konfigurační soubory, které ostatní uživatelé nevidí a nevyužívají.

Toto uspořádání efektivně brání jak šíření virů, tak nezbedným uživatelům v poškozování systému. Pokud uživatel do systému přece jen virus dopraví, virus může napadnout pouze spustitelné soubory, do kterých uživatel může zapisovat, pokud vůbec takové soubory existují (třeba na systémech kde se uživatelé učí programovat).

Větší nebezpečí hrozí tradičně v modifikaci konfiguračních souborů. Ty jsou však soukromé a tak napadení zasáhne opět pouze jednoho izolovaného uživatele. Kromě toho se jedná o nebezpečí již dávno známé a tak existují i metody jak se mu efektivně bránit. (Například tím, že programy spuštěné správcem systému nenačítají konfigurační soubory, které nepatří správci systému. Protože každý soubor má svého vlastníka a běžný uživatel nemůže vlastníka změnit, jedná se opět o efektivní ochranu.)

Kromě toho je potřeba brát v úvahu specifický způsob šíření programů v prostředí OS unixového typu. Zvláště v případě Open Source aplikací nejsou téměř nikdy přenášeny binární spustitelné (a virem napadnutelné) soubory, ale jen jejich zdrojový kód, který je teprve na cílovém stroji přeložen do spustitelného tvaru.

Pokud jsou šířeny binární soubory, jsou zpravidla opatřeny digitálním podpisem (třeba RPM balíky) nebo autor zveřejňuje na důvěryhodném místě kontrolní součty balíků, podle kterých si každý může ověřit neporušenost své kopie. Kvalifikovaný správce systému této možnosti využívá a tak chrání jak sebe, tak své uživatele.

Závěrem tohoto krátkého pojednání budiž: Ano, existuje kód, který se může pod Linuxem chovat jako červ. Ano, je potřeba dbát obecných zásad systémové bezpečnosti a nedávat uživatelům práva, která nepotřebují. Ne, nejedná se o akutní hrozbu, nehrozí nám vlna podobná I Love You a podobným. Ne, není to nic nového pod sluncem, způsob jak to udělat byl znám od nepaměti a důvod, že to ještě nikdo nikdy neudělal je ten, že není možné zajistit základní potřebu každého viru = šiřitelnost.

Každopádně mě osobně mrzí, že Česká republika je již podruhé spojována s případem vykonstruovaného a imaginárního nebezpečí, které je veřejností přijímáno se značnými emocemi.

Dan Ohnesorg

Dan@ohnesorg.cz