Softwarový audit pod mikroskopem

Mnoho IT manažerů se již setkalo s požadavkem na řešení softwarových auditů. Důvody mohou být různé. Třeba snaha...


Mnoho IT manažerů se již setkalo s požadavkem na řešení softwarových auditů.
Důvody mohou být různé. Třeba snaha chránit svoji vlastní kůži a mít v provozu
preventivní a obranné mechanismy, které zamezí používání nelegálního softwaru
ve firmě. Nebo nutnost mít po ruce kvalitní nástroj pro provádění softwarového
managementu.
Správa licencí může pomoci ušetřit mnoho prostředků. Napomáhá totiž sjednocení
softwarové platformy ve firmě a zabraňuje tzv. nadužívání licencí. Mnoho
společností kvůli nepořádku v evidenci či její úplné absenci nakupuje další a
další licence, které nejsou potřeba. Taktéž používání nelegálního softwaru, byť
třeba nevědomé, může znamenat citelný finanční postih, ztrátu dobrého jména
firmy nebo ještě něco horšího. Softwarový audit také odhalí stav instalovaného
programového vybavení na všech počítačích. Mnohdy je až šokující, co všechno je
na firemních desktopech nainstalováno. Různorodé exempláře počítačových her,
hudebních nahrávek, obrázků a šikovných kancelářských prográmků mohou jít do
stovek. Většina těchto souborů je ale rovněž chráněna autorským zákonem.
Pořádek v instalacích také výrazně ulehčí počítačové síti od všech nepotřebných
programů, souborů, hudebních nahrávek a her. Najednou se tak najdou netušené
rezervy ve využívání systémových kapacit a pracovní doby zaměstnanců.

Jak vybírat
Na prvním místě při výběru vhodného auditovacího nástroje stojí splnění
několika základních požadavků. Mnohé firmy již mají své interní směrnice, podle
kterých provádějí softwarový audit. Státní správa musí například splňovat
požadavky vládního nařízení č. 624, které obsahuje kritéria jako přesnost a
spolehlivost, použitelnost, opakovatelnost, identifikovatelnost počítače a
uživatele, ochrana dat a podobně. Pokud takové směrnice neexistují, právě toto
vládní nařízení může posloužit jako velmi podrobný a spolehlivý zdroj inspirace.
Vedle těchto základních požadavků existují ovšem i další kritéria, která by
měla být v kupovaném řešení obsažena. Jedním z nich může být např. míra
automatizace procesů softwarového auditu. Požadován bývá plně automatizovaný
sběr dat (není nutné obcházet počítače s tužkou a papírem a nahlížet do složky
Program Files). K dalším kritériím patří detekce hardwaru, generování tiskových
sestav či import co největšího množství informací, které lze získat
automaticky. Taktéž bezproblémová možnost importu dat sebraných z detašovaných
pracovišť je důležitá. Pokud bude IT manažer provádět pravidelné audity stovek
počítačů na několik pobočkách, takové funkce více než ocení.
Pokud jde o systémové požadavky, základní instalace se nejčastěji provádí na
platformu Windows NT a není obvykle o nic složitější než např. instalace
antivirového systému. Klienty pak lze obvykle provozovat v DOSu, na všech
verzích Windows, v Unixu či na dalších platformách.
Důležitým kritériem výběru je i snadnost ovládání a údržby. Uživatelské
rozhraní musí být přehledné, intuitivní, snadno a rychle ovladatelné.
Samozřejmostí by měly být funkce vyhledávání v položkách, ukládání obsahu oken
do souborů nebo podpora drag-and-drop.
Je dobré také zapřemýšlet nad vhodnou architekturou. Výhodné je si zvolit model
3vrstvé architektury, která zjednodušeně spočívá v rozdělení systému do tří
částí (vrstev). Ty lze samostatně rozmístit na více počítačů, které spolu
navzájem komunikují principem klient/server. Je tak zajištěno efektivnější
využití jednotlivých částí, vyšší bezpečnost, nižší míra duplikace binárního
kódu a především škálovatelnost výkonu.
Systémy, které využívají trojvrstvou architekturu, lze rozčlenit na následující
části:
1. Datová vrstva standardní databáze (např. MS SQL, Oracle, Borland). Lze
využít i desktopové verze databází (MSDE nebo BDE). Veškerá přístupová práva
lze standardní cestou libovolně definovat až na úroveň jednotlivých
tabulek/sloupců. Taktéž je možné pravidelně zálohovat a defragmentovat data.
2. Aplikační vrstva jádro představující stěžejní část výkonných funkcí. Je
možno spouštět jako NT službu.
3. Prezentační vrstva ovládání, grafické rozhraní. Se systémem obvykle pracuje
více operátorů.

Jak audit probíhá
Poté, co firma vybere vhodný auditovací nástroj, přichází na řadu samotný
audit. Pokud jde o vlastní metodiku softwarového auditu, je možné ji nalézt
např. na webové stránce http://www.micro soft.com/cze/piratstvi/swaudit/me
todika.asp. My se zde však podíváme na průběh z hlediska použití auditovacího
nástroje. Tady je nejdůležitější fází sběr dat, zjištění nainstalovaného
softwaru a evidence zakoupených licencí.

Sběr dat
Způsob sběru dat může být buď síťový, nebo probíhá pomocí klientského softwaru.
U síťového sběru jsou z jednoho místa (serveru) prohledávány harddisky počítačů
(např. pomocí WMI Windows Management Instrumentation, což je technologie, která
mimo jiné umožňuje také lokálně či vzdáleně detekovat hardware). Vzhledem
zatížení sítě se však tento způsob používá pro účely softwarového auditu jen
zřídka. Při sběru pomocí klientského softwaru je na každé auditované stanici
spuštěna aplikace provádějící sběr dat.
Při sběru dat je nejdříve vytvořen seznam souborů na harddisku. Jde nejčastěji
o typy EXE, COM, DLL, OCX či volitelné datové soubory (např. MP3, AVI, JPG). K
tomu se načítají tzv. hlavičky souborů, obsahující informace jako jméno
výrobce, název programu, verze, jazyk, velikost souboru a další, zjišťuje se
též CRC (checksum) souboru (jedinečné číslo vytvořené matematickým algoritmem
tak, aby jím bylo možné soubor identifikovat). Informace o instalacích v
registrech a záznamy Windows instalátoru slouží jako doplňující údaj o tom, že
byl např. na počítači instalován MS Office, ale už není fyzicky přítomen na
disku (podle autorského zákona je rozhodující právě fyzická přítomnost softwaru
na disku).
Poté dojde k detekci hardwaru. Existují dva hlavní způsoby provedení této
činnosti dotázání se operačního systému či přes vlastní knihovnu známého
hardwaru. Jako příklad lze uvést zjišťování typu a frekvence procesoru,
parametry harddisků, velikosti operační paměti, grafického adaptéru, zvukové a
síťové karty, CD-ROM mechaniky či modemu.
Dotázání se operačního systému je možné realizovat pomocí standardních Windows
API funkcí a informací z registru či pomocí WMI. Výhodou je to, že tato metoda
najde každý hardware, který korektně spolupracuje s Windows.
Druhou již zmíněnou možností je vlastní knihovna známého hardwaru. Při detekci
program komunikuje přímo s hardwarovým zařízením a identifikuje jej podle
informací zapsaných v této knihovně. Výhodou je větší jistota identifikace
zařízení, avšak do porovnávací databáze je nutno každý jednotlivý typ zařízení
vložit.
V závěru jsou zjištěny informace o uživateli. Je např. možné jej požádat o
vyplnění některých údajů, které nelze jinak zjistit (místnost, telefonní číslo).

Implementace
Nyní se detailně podívejme na výhody a nevýhody jednotlivých způsobů volání
klientského softwaru. Možností je celá řada a záleží na organizačních
podmínkách i zkušenostech a potřebách administrátora, pro které řešení se
rozhodne.
Ruční metoda představuje prosté spuštění klientského softwaru, uloženého na
disketě či jiném médiu. Jde o jedinou možnost pro počítače nepřipojené do sítě.
Nevýhodou je nutná fyzická přítomnost auditora u počítače (uložení dat na
disketu).
Další možností je volání login scriptem (dávky automaticky spouštěné při
přihlášení uživatele). Jde o nejjednodušší a nejpoužívanější způsob a ke
spuštění klienta dochází v okamžiku přihlášení uživatele do sítě (možno
plánovat, např. pouze měsíčně). Je také možné zaručit prodlevu ve spuštění
kvůli zátěži systému. Nevýhodou je nutnost sdílet složku pro všechny auditované
počítače.
Realizace prostřednictvím TCP/IP či jiného protokolu. Na straně klienta je
spuštěna aplikace, která čeká na příkazy prostřednictvím protokolu TCP/IP či
jiného (např. NETBEUI). Je tak možné komunikovat i se vzdálenějšími sítěmi, ale
nevýhodou je nutnost permanentního chodu klienta.
Je také možné jít přes sdílenou složku. Jde o stejný princip jako v předchozí
případě s tím, že komunikace probíhá pomocí souborového systému. Nevýhodou je
nutnost sdílet složku pro všechny auditované počítače a permanentní chod
klienta.
Poslední metodou je využití DCOM. V klientovi je pak umístěna DCOM komponenta,
přes jejíž interface je spouštěn klient, zahajován sběr a přenos dat. Ke
spuštění klienta tak dochází na požádání (není permanentně v paměti). Je možné
zvolit i jiný protokol než TCP/IP (např. IPX) a detailněji konfigurovat
bezpečnost. Není ani nutné sdílet složku; přenos dat je realizován přes
protokol DCOM. Stejně tak je možné přistupovat i k počítačům, kde není
přihlášen žádný uživatel. Nevýhodou jsou vyšší nároky administraci.

Nainstalovaný software
Princip zjištění nainstalovaného softwaru spočívá v porovnání dvou tabulek.
První obsahuje nasbíraná data z jednotlivých počítačů. Druhá obsahuje tzv.
známý software, databázi či knihovnu známých softwarových produktů (buď
hlavičky souborů nebo jejich CRC). Průnik obou tabulek je považován za
výsledky, tzn. nalezený nainstalovaný software.
Pokud se pro rozlišování používají hlavičky souborů, je vyhodnocování o něco
pomalejší, avšak není třeba tolik záznamů v databázi známého softwaru. Naproti
tomu pokud hledáme soubory podle jejich CRC, je větší jistota, že jde o soubor,
který jsme původně definovali, avšak takto je třeba definovat mnohonásobně
větší množství souborů.
V obou případech se neobejdeme bez nutnosti rozšiřovat knihovnu známého
softwaru o nové verze aplikací. Špičkové produkty dokonce nabízejí naprosto
komfortní způsob aktualizace, kdy se program před každým spuštěním dotáže na
příslušném místě na internetu, zda existuje nějaká novější verze, a je schopen
ji během několika sekund aktualizovat analogicky k databázím antivirových
programů. K tomu všemu je uživateli auditovacího nástroje umožněno vytvářet
vlastní definice. Dnešní auditovací nástroje obsahují řádově tisíce druhů
známého softwaru a desetitisíce známých souborů.
Klíčovou roli při vkládání nového záznamu hraje tzv. rozhodný (licenci
čerpající) soubor. Například pokud chceme do knihovny známých souborů přidat
Microsoft Visio, je nutné najít na disku soubor visio.exe a zjistit jeho CRC
nebo načíst informace v jeho hlavičce.
Po boku rozhodných souborů existují také tzv. známé soubory, jejichž rolí je
především vytvářet určitý filtr při detailním pohledu na adresářovou strukturu
počítačů.

Evidence
Samozřejmou součástí auditovacích nástrojů je i evidenční část. Zde je třeba
některá data vkládat ručně, např. počty zakoupených licencí a jejich sériová
čísla.
Některé nástroje však umožňují i tuto činnost výrazně usnadnit. Lze třeba
realizovat import evidence z jiných datových zdrojů. Kromě toho je výhodné
neustále aktualizovat seznam auditovaných počítačů a uživatelů. Je to možné
například ze stromové struktury sítě Microsoft Windows nebo podle IP adres či
ve spolupráci s Active Directory pak není třeba zadávat jména a příjmení
uživatelů či další atributy. Vše, co operační systém obsahuje, je možné využít.
Vhodná je existence podpory exportu dat do jiných datových zdrojů nebo do
souborů (Microsoft Access, Excel, XML, text).

Odkud jsou data
Při softwarovém auditu je požadována jednoznačná identifikace počítačů,
garantující spolehlivé a trvalé přiřazení evidenčních údajů (licencí) k
počítačům. Počítače lze identifikovat podle nejrůznějších znaků. Vzhledem k
častým přeinstalacím operačních systémů a výměnám komponent je nutné zvážit typ
identifikátoru. Auditovací nástroje běžně používají identifikaci podle MAC
adresy síťové karty nebo generují vlastní jedinečný identifikátor.

Bezpečnost především
Ochrana dat uživatele musí být zajištěna do té míry, že jsou zjišťovány pouze
názvy (maximálně hlavičky) souborů na disku. V žádném případě nesmí být
zjišťován jejich obsah. Navíc jsou nasbíraná data zpravidla již na klientském
počítači zašifrována a použita komprese pro úsporu kapacity přenosového pásma
při přenosu po síti.
Ostatní prvky bezpečnosti, jako je přístup k hlavní databázi a samotnému
auditovacímu nástroji, lze garantovat nejlépe standardní cestou přes
integrované přihlašování do Windows NT či přes přístupová práva k databázi a
souborovému systému. Auditovací nástroje někdy tuto činnost implementují, někdy
ne. Je možné jít i nadstandardní cestou, např. formou elektronického
podepisování dokumentů, které samozřejmě nebrání konceptu mnohých auditovacích
nástrojů.

Spolupráce s ostatními
Auditovací nástroje obvykle spolupracují se standardními databázemi a pokud
možno nenahrazují bezpečnostní prvky operačních systémů. Převládá rovněž snaha
o využití dalších produktů, jako je např. Microsoft Office. Pomocí Wordu lze
generovat nadstandardní tiskové sestavy a pomocí Excelu pak zobrazovat výsledky
v přehledných souhrnných grafech.
Také Internet Information Server zpřístupňuje uživatelům okrajové, avšak z
hlediska softwarového auditu podstatné funkcionality. Především je možné pomocí
webového rozhraní vkládat požadavky na nákup hardwaru/softwaru nebo lze
zobrazovat/podepisovat různé elektronické dokumenty.

Výkon a dosah
Nároky na úložiště dat se snižují vhodně navrženou filozofií uchovávání
jednotlivých auditů. Při opakování auditu již nedochází k ukládání celých
souborů, avšak analyzují se pouze rozdíly oproti minulosti. A právě rozdíly
(přírůstky a úbytky) se postupem času stávají nejsledovanější částí výsledků.
Středně velká firma má od 100 do 1 000 počítačů. Takový objem lze dnešními
auditovacími nástroji v případě příznivých organizačních podmínek (kritická je
dostupnost všech počítačů a funkčnost počítačové sítě) zvládnout za jediné
dopoledne. Tento proces je plně vizualizovaný a zaznamenávaný. Je možné jej
plánovat a předvídat zatížení sítě i počítačů (volba priority a způsobu sběru
dat, přenosu dat po síti). Pro firmy s více pobočkami a desítkami tisíc
počítačů většinou nepřipadá v úvahu auditovat celou organizaci jako jeden
celek, je však výhodné sestavovat hierarchické reporty se souhrnnými výsledky.
Autor je vedoucím programátorem auditovacího systému AuditPro ve společnosti
truconneXion.









Komentáře
K tomuto článku není připojena žádná diskuze, nebo byla zakázána.