Šifrované souborové systémy v linuxovém jádře

Rozměr: px
Začít zobrazení ze stránky:

Download "Šifrované souborové systémy v linuxovém jádře"

Transkript

1 Masarykova Univerzita Fakulta informatiky Šifrované souborové systémy v linuxovém jádře bakalářská práce Antonín Víteček Brno, 2008

2 Prohlášení Prohlašuji, že tato práce je mým původním autorským dílem, které jsem vypracoval samostatně. Všechny zdroje prameny a literaturu, které jsem při vypracování používal nebo z nich čerpal, v práci řádně cituji s uvedením úplného odkazu na příslušný zdroj. V Hustopečích dne 20. května

3 Poděkování Děkuji Mgr. Václavu Lorencovi za pomoc, vstřícnost, trpělivost a odbornou pomoc při vedení této práce. Děkuji také svým blízkým za podporu a pochopení při vypracování bakalářské práce.

4 Shrnutí Práce zachycuje současný stav nástrojů pro šifrování metodou OTFE pod operačním systémem GNU/Linux. Zabývá se bezpečností konkrétní implementace nástroje TrueCrypt 4.3a. V závěru pak shrnuje nejnovější poznatky o útocích na tyto nástroje. Klíčová slova TrueCrypt, Dm-Crypt, Device-mapper, Linux, Coldboot, Kryptografie, CryptoAPI

5 Obsah 1 Úvod Principy a popis použitých pojmů Kryptografie Šifrování Implementace šifrování Kernel jádro Soubory v Linuxu Device mapper VFS The Linux Virtual File Systém Přehled šifrovacích nástrojů, jejich historie a současnost Loop AES Cryptoloop Dm Crypt Dm Crypt LUKS TrueCrypt 4.3a TrueCrypt 5.x ScramDisk for Linux EncFS CryptoFS CryptFS a NCryptFS ecryptfs CFS TCFS Bezpečnostní analýza TrueCryptu Analýza Vlastimila Klímy Naše analýza Obslužná utilita Modul Linuxového jádra Popis funkcí jednotlivých částí modulu Zjištěné problémy Nová hrozba TrueCrypt a CryptoAPI Závěr Literatura Přílohy

6 7.1 truecrypt.patch

7 1 Úvod Článek sedm listiny základních práv a svobod, který je součástí ústavy České republiky říká: Nedotknutelnost osoby a jejího soukromí je zaručena. Omezena může být jen v případech stanovených zákonem. [1] Tato listina má přirozeně právní původ. Vychází z přirozených potřeb člověka.[2] V českém jazyce slovo soukromí zahrnuje také schopnost, či právo zadržovat informace o sobě.[3] Lze tedy pozorovat, že soukromí je něco, co chceme přirozeně chránit. V současné době jsme při své práci a ve svém soukromém životě stále více závislí na využívání nejrůznějších elektronických zařízení typu mobilní telefon, počítač (notebook), PDA aj. A stejně tak jako člověk při své činnosti zanechává známky opotřebení na nástrojích, které používá. I my zanecháváme známky používání na těchto zařízeních. Navíc jsme si zvykli těmto zařízením důvěřovat a svěřovat jim naše soukromá data. Díky této důvěře pak v těchto zařízeních vzniká náš informační otisk, naše informační dvojče. Je tvořeno například historií navštívených stránek, soukromou a pracovní ovou komunikací, historií rozhovorů v IM (instant messanger), našimi dokumenty, ale třeba i našimi plány do budoucna v podobě Google Calendar. [59] Je-li dvojče opravdu kvalitní, má povědomí také o většině našich hesel, která jsme kdy zadali, protože se nám snaží ulehčit práci a ochotně si je pamatuje. Pokud se ho později správně ptáme, podrobně nám odpovídá, protože má mnohem lepší paměť než my. Bohužel i přes to, že toho o nás tolik ví a zná, nedokáže úplně spolehlivě rozlišit, zda se se ho ptáme právě my, nebo někdo úplně cizí. Dostáváme se do situace, kdy různá elektronická zařízení obsahují uložena naše citlivá soukromá data v nijak nechráněné, čitelné podobě. S přihlédnutím k pokračujícímu trendu mobilizace a miniaturizace bychom se měli zamyslet nad tímto stále narůstajícím nebezpečím. Útočníkovi stačí chvilka naší nepozornosti při tlačenici v MHD a zmocní se notebooku i s naším bezbranným informačním dvojčetem, ochotným vypovídat. Jen těžko si představit, že by to byl právě případ narušení našeho soukromí stanovený zákonem. Tato bakalářská práce seznámí čtenáře s nástroji pro šifrování dat v operačním systému Linux, jako prostředek ochrany proti offline útokům zaměřeným na získání citlivých dat. Popisuje jejich historický vývoj, současný stav a zhodnocuje výhody a nevýhody jednotlivých řešení. Zejména s přihlédnutím k nástrojům TrueCrypt a Dm-Crypt, jejich implementaci a možným bezpečnostním problémům. Druhá kapitola je zaměřena na obecný přehled pojmů užitých v této bakalářské práci, usnadňujících pochopení probíraného tématu. Třetí kapitola nabízí obecný přehled nástrojů, historický vývoj a jejich současný stav. Čtvrtá kapitola se sestává z analýzy zdrojového kódu a popisu fungovaní modulu TrueCrypt 4.3a. Zaměřuje na možné způsoby kompromitace tohoto nástroje ve světle nejnovějších výzkumů. Pátá kapitola shrnuje tuto práci a nabízí možné směry dalšího zkoumání.

8 2 Principy a popis použitých pojmů V následujících několika odstavcích se pokusím vysvětlit několik pojmů usnadňujících další pochopení a porozumění textu. 2.1 Kryptografie Šifrování Kryptografie[4] je věda, která se zabývá metodami utajení sdělení do formy, která je smysluplná pouze se speciální znalostí tzv. klíče. Proces transformace prostého textu do podoby nesrozumitelné, se nazývá šifrování. Algoritmus, kterým proběhla transformace se nazývá šifrovací algoritmus a produktem je šifrovaný text. Proces opačný, kdy z šifrovaného textu, za pomocí klíče získáme text původní, nazýváme dešifrování. Moderní kryptografické algoritmy se řídí Kerchkoffovým pravidlem: Pouze bezpečnost klíče je bezpečnost systému., nebo Shannonovou verzí: Nepřítel zná tvůj systém. V momentě kdy se snažíme před útočníkem utajit fungování systému a bezpečnost systému závisí na této neznalosti, nazývá se toto anglickým termínem security through obscurity. Kryptografické algoritmy můžeme dělit do tří základních skupin. Asymetrické a symetrické algoritmy a hašovací funkce[57]. Asymetrické algoritmy, někdy též nazývané algoritmy s veřejným klíčem pracují s párem klíčů. Veřejným klíčem se data šifrují a soukromým klíčem se data dešifrují. Veřejný klíč může být bez obav zveřejněn na Internetu. Ze znalosti veřejného klíče totiž není možné odvodit klíč soukromý a data zašifrovaná veřejným klíčem lze dešifrovat pouze soukromým klíčem. Chceme-li tedy někomu poslat zašifrovanou zprávu, zašifrujeme ji pomocí veřejného klíče cílového subjektu. A po obdržení ji cílový subjekt dešifruje pomocí svého soukromého klíče. Problém u asymetrického šifrování spočívá v náročnosti výpočtů. Asymetrické klíče mají řádově větší délku a práce s nimi je dosti výpočetně náročná. Dalším problémem je ověření pravosti, zda veřejný klíč opravdu náleží požadovanému cílovému subjektu, kterému chceme poslat šifrovanou zprávu. V momentě kdy by nám útočník podstrčil svůj veřejný klíč jako veřejný klíč cílového subjektu a my jím data zašifrovali, útočník by si zprávu pohodlně rozšifroval svým soukromým klíčem. Symetrické algoritmy pracují pouze s jedním klíčem. Data jsou tímto klíčem zašifrována a stejný klíč se používá k dešifrování. Symetrické šifrování je výpočetně méně náročné než asymetrické a dalo by se tedy říci, že poměrně rychlé. Je však problém jak si bezpečně vyměnit sdílený šifrovací klíč. Buď se pro výměnu používá jiný zajištěný kanál, jako například telefon. Nebo vstupuje do hry opět asymetrická kryptografie a sdílený klíč je vyměněn její pomocí. V praxi to pak vypadá tak, že zpráva je zašifrována symetrickou šifrou. Klíč je zašifrován pomocí veřejného klíče příjemce a je mu odeslán spolu se zprávou. Příjemce si pak pomocí soukromého klíče dešifruje symetrický klíč a pomocí něj dešifruje obsah zprávy. Symetrické šifry dále dělíme na blokové a proudové. Proudové šifry zpracovávají data bit po bitu. Blokové šifry si data nejdříve rozdělí do bloků o určitém počtu bitů a poté pracují s těmito bloky jako s celky. V případě že velikost vstupních dat není násobkem velikosti bloku, je nutno přistoupit k různým technikám pro zarovnání dat na násobek velikost bloku. Pro konkrétní vstup a konkrétní klíč produkují symetrické šifry vždy stejný výstup. Což nám u blokových šifer trochu komplikuje situaci. Pokud vezmeme dlouhou zprávu, ve které se opakují nějaké údaje, například jména, bude se ve výsledné zašifrované zprávě na stejných pozicích opakovat

9 bitové vzorky, což jistým způsobem vyzrazuje obsah zprávy. Jako ochrana proti této slabině se u blokových šifer používají různé režimy práce - modusy. Modusy blokových šifer zajišťují, že pokud se ve vstupu opakují nějaká data, nevede to opakovaně ke stejnému výstupu a je tak zajištěno utajení obsahu zprávy. Výjimkou je modus ECB (Electronic Codebook). Oázek č. 1, který je zašifrován pomocí ECB nádherně ilustrují nedokonalost tohoto režimu. Obrázek č. 1 Na dlouhou dobu se stal nejrozšířenějším modusem CBC (Cipher Block Chaining). Zpracovává každý sektor zvlášť a u každého používá nový inicializační vektor. Inicializační vektor je dodatečný náhodný vstup modusu, o velikostí shodné jako je velikost bloku šifry, díky kterému je zajištěna jedinečnost zašifrovaných dat i při použití stejného šifrovacího klíče. Tedy bez inicializačního vektoru by dva shodné vstupy vždy produkovaly shodný výstup. Princip CBC je znázorněn na obrázku č. 2 a 3. Na blok vstupního textu je provedena operace XOR[5] s předchozím zašifrovaným blokem. Jedinou výjimku tvoří první blok, který je takto zpracován s inicializačním vektorem. Dešifrování probíhá obdobně, blok šifrovaného textu je dešifrován a je provedena operace XOR s předchozím blokem zašifrovaného textu. Výjimku opět tvoří první blok, který je dešifrován a poté je provedena operace XOR s inicializačním vektorem. Modus CBC však není také dokonalý a trpí různými bezpečnostními neduhy, plynoucími zejména z nenáhodného inicializačního vektoru. Proti těmto zranitelnostem byly vyvinuty různé metody generování inicializačního vektoru, jako například mód ESSIV, kdy je IV generován z čísla sektoru a soli dodatečného náhodného vstupu. Při použití CBC musí šifrování probíhat serializovaně, dešifrovat však lze souběžně.

10 Obrázek č. 2 znázorňující šifrování modusem CBC Obrázek č. 3 znázorňující dešifrování modusem CBC LRW (Liskov, Rivest, Wagner) se od CBC liší tím, že již nebere sektory v potaz a pracuje s každým blokem jednotlivě. Pokud se útočník pokusí vyměnit nějaký blok, jsou při dešifrování obdržena nesmyslná data. Tento modus při své činnosti používá dva klíče. Klíč blokové šifry se nazývá primární a druhý klíč sekundární o délce 128 bitů. Sekundární klíč je modifikován v závislosti na indexu bloku. Takto získaná hodnota se nazývá tweak. [35] Prozatím nejmodernější modus blokových šifer je XEX a na jeho principu založený XTS. Tyto modusy jsou již používány novějšími verzemi šifrovacích nástrojů. Jedinou slabinou, která je u těchto nástrojů známá je tzv. minor leak. Útočník je schopen na základě změny šifrovaného textu detekovat, v kterém bloku otevřeného textu proběhla změna. I proti této slabině se dá bránit, cena operací navíc již však není úměrná zvýšení bezpečnosti. Hašovací funkce [6] je funkce, která převede vstup jakékoliv velikosti na řetězec konstantní délky nazývaný haš nebo otisk. Haš je jakousi reprezentací vstupu. A změna i jediného bitu ve vstupu by měla zapříčinit podstatnou změnu haše. Z kryptografického hlediska by bezpečná hašovací funkce měla navíc splňovat tyto dvě vlastnosti. Pokud známe haš, tak by mělo být složité najít vstup, který má právě tento haš. A pokud známe zprávu a její haš, mělo by být složité najít jinou zprávu, která by měla stejný haš. Hašovací funkce se používá na mnoha místech například pro uložení hesel, pro ověřování integrity souborů, jako otisk u digitálně podepsaných zpráv nebo pro indexaci a vyhledávání souborů v sítích P2P (Peer-to-Peer). 2.2 Implementace šifrování Výše zmíněné kryptografické algoritmy a funkce můžeme různě implementovat. Právě implementace

11 bývá často kámen úrazu, kdy jinak bezpečný a ověřený algoritmus je nevhodně použit a útočník je schopen ho kompromitovat. Implementovat můžeme buď přímo na hardwarové úrovni, nebo implementaci na úrovni softwaru. Mezi hlavní výhody hardwarové implementace patří vysoká rychlost a možnost integrace do zařízení s omezenými výpočetními schopnostmi. Nás zajímá zejména implementace hardwarového šifrování do řadiče pevného disku, které nabízejí některé firmy. Z našeho pohledu je taková hardwarová implementace nevhodná z několika důvodů. Ve většině případů se jedná o proprietární řešení a jako uživatelé nemáme možnost ověřit, že implementovaný mechanismus je korektní a opravdu správně šifruje. Není vyloučeno, že se jedná pouze o security through obscurity a nezbývá než věřit slovu výrobce. Další problém může nastat v okamžiku hardwarové závady, kdy bez přesně stejného řadiče nejsme schopni číst data z disku. Softwarová implementace se jeví mnohem lépe. Nedosahuje sice takového výkonu jako hardwarová, ale v dnešní době výkonných procesorů se tento rozdíl stává stále zanedbatelnějším. Nespornou výhodou softwarové implementace pak bývá dostupnost zdrojových kódů, kdy je nám uživatelům umožněno zkontrolovat si korektnost proklamovaných a ve skutečnosti použitých mechanismů. Při objevení nějakých bezpečnostních problému stávajícího řešení, jsme pak schopni bez velkých problému vyměnit řešení za jiné. V dalším textu bakalářské práce se zaměříme výhradně na softwarové implementace šifrovacích nástrojů s dostupnými zdrojovými texty. Přičemž je můžeme rozdělit do dvou skupin. Nástroje šifrující na úrovni blokového zařízení a nástroje šifrující na úrovni souborového systému. 2.3 Kernel jádro Je základem každého operačního systému. Funguje jako prostředník mezi hardwarem počítače a jeho softwarovým vybavením. Plánuje a přiděluje strojový čas procesům, přiděluje jim paměť a obsluhuje vstupně-výstupní operace. Aplikace využívají služeb jádra voláním systémových volání. V rámci této bakalářské práce pak pod pojmem kernel jádro myslíme konkrétně jádro Linux řady 2.6, které je dostupné v podobě zdrojových textů ze stránek Vývojáři jádra zveřejňují různé patche, což jsou textové soubory popisující změnu zdrojového kódu, které opravují chybu nebo přidávají jistou funkcionalitu. Linuxové jádro je monolitické. [8] Veškerý kód jádra sdílí stejný paměťový prostor. Dodatečné funkce, ovladače či jiné části jádra, lze kompilovat v podobě modulů a nahrávat je až v momentě potřeby. Šetříme tak paměť, která by jinak byla zabrána nepoužívaným kódem. Pokud je však při bootování, tedy při startování systému, potřeba nějaké funkcionality, která je zkompilována jako modul - ovladač disku, souborový systém použitý na kořenovém adresáři. Musí být vytvořen takzvaný initial ramdisk initrd [9]. Jedná se o dočasný souborový systém obsahující potřebné moduly, aby byl umožněn start systému. Jádro se sestává z několika subsystémů, přičemž každý subsystém má na starosti určitou množinu úkolů, která je logicky celistvá. Například subsystém pro správu paměti, subsystém pro práci se souborovými systémy nebo například subsystém pro práci s kryptografickými algoritmy tzv. CryptoAPI. CryptoAPI nabízí tři druhy manipulace se vstupními daty - transformace. hašovací funkce, šifrovací algoritmy a komprimační algoritmy. CryptoAPI sjednotilo v jádře přístup k šifrovacím funkcím a subsystémy užívající šifrování nemusí již pokaždé implementovat požadovanou šifru, ale stačí standardně využít volání služeb jádra. Díky tomu můžeme tvořit malé programy nenáročné na

12 paměť. Protože je API součástí jádra, lze jeho služeb využívat v průběhu bootování. 2.4 Soubory v Linuxu Jedno ze základních pravidel unixových systémů, které do jisté míry přebral i Linux říká, že na všechno je nahlíženo jako na soubor a je s tím takto i pracováno. V Linuxu existuje několik různých typů souborů. Adresáře, speciální soubory, odkazy, sockety a pojmenované roury. Speciální soubory reprezentují hardwarová zařízení a mohou být bloková nebo znaková. Tyto soubory představují ovladače zařízení a pomocí těchto souborů komunikuje Linux se zařízeními. Bloková zařízení jsou disky a požadavky jsou zpracovávány v dávkách blocích. Znaková zařízení jsou například terminály a tato zařízení komunikují znak po znaku. Některé ze speciálních souborů však nereprezentují přímo reálné zařízení, ale plní pouze specifický účel. Takové soubory nazýváme pseudo-zařízení. Nejznámější pseudo-zařízení je /dev/null známé jako černá díra. Cokoliv do tohoto souboru zapíšeme, přestane existovat. Při čtení je pak soubor vždy prázdný. Loop device [10] je pseudo-zařízení, které plní pouze funkci jakési smyčky, přes kterou prochází data. Podstatná je však bloková povaha tohoto pseudo-zařízení. Čtení a zápis do tohoto speciálního souboru probíhá v blocích, obdobně jako blokové operace u diskových zařízení. Tato vlastnost nám umožňuje přistupovat k obsahu souboru, jakoby se jednalo o diskové zařízení a také s ním tak pracovat. Této vlastnosti využívají některé šifrovací nástroje uvedené v kapitole č. 3, které si takto namapují soubor jako disk a šifrování probíhá při průchodu dat tímto zařízením. 2.5 Device-mapper Jedná se o novou komponentu jádra řady 2.6. Původně byl vyvinut pro LVM 2 (Linux Volume Management) [11], což je nástroj pro správu logických disků. V průběhu času se ukázalo, že ho lze využít i pro jiné účely, například pro šifrování. Sám název napovídá, co tato komponenta dělá mapuje zařízení. V popisu práce má převádět operace s nějakým blokovým zařízením na operace s jiným blokovým zařízením. Například při práci s LVM mapuje bloky a sektory logické jednotky na jednotlivé fyzické disky, přes které je logická jednotka rozprostřena. Z uživatelského hlediska je tato operace transparentní a plně v režii device-mapperu. Mezi další schopnosti device-mapperu patří například vytvoření zapisovatelného snímku existujícího blokového zařízení.

13 Obrázek č. 4 - Schéma device-mapperu [58] 2.6 VFS The Linux Virtual File Systém Je abstraktní vrstva Linuxového jádra [12], pomocí které Linux přistupuje k různým souborovým systémům za užití jednotného API. Každý souborový systém musí implementovat množinu základních operací jako je například vytvoření, otevření, uzavření souboru atp. VFS si drží v paměti pro každý použitý souborový systém množinu těchto operací. Představme si modelovou situaci a chtějme otevřít soubor zavoláním systémového volání open(). Vrstva VFS v tomto momentě vyhledá patřičnou implementaci v závislosti na tom, na jakém souborovém systému hodláme soubor otevřít a zavolá ji. Souborový systém [13] je označení pro způsob organizace dat na disku. V terminologii VFS je to pak struktura operací implementujících přímo nízkoúrovňovou práci s diskem. Díky této abstrakci máme možnost celkem jednoduše doimplementovat nový souborový systém jako modul a dynamicky ho nahrávat podle potřeby. Implementace souborového systému se nejprve zaregistruje u Linuxového jádra a naplní požadované struktury operací. Abychom mohli pracovat s obsahem nějakého disku, je nejprve nutné ho přimountovat. Přimountováním/připojením disku se rozumí zavolání příkazu mount s patřičnýmy parametry. Tedy jaký souborový systém, na jakém zařízení, se má přimountovat/připojit do jakého adresáře. Případně je možno přidat další nastavení dle druhu souborového systému. Příkaz mount zajistí, že ukazatele na operace v připojeném adresáři ukazují na konkrétní implementaci patřičného souborového systému.

14 3 Přehled šifrovacích nástrojů, jejich historie a současnost Začne-li se někdo zajímat o nástroje na šifrování metodou OTFE (On-the-fly encryption), [14] může být snadno zahlcen a dezorientován velkým množstvím dostupných nástrojů. Pro snazší orientaci a jako přehled této oblasti nám poslouží právě tato kapitola, která popisuje nejvýznamnější zástupce a rozdíly mezi nimi. 3.1 Loop-AES Prvním představovaným je projekt loop-aes [15]. Náleží do skupiny nástrojů šifrujících na úrovni blokového zařízení a tímto blokovým zařízením je loop device. V situaci kdy není použito loop-aes a disk je namountován pomocí příkazu mount do stromové struktury. Jsou veškeré požadavky na čtení a zápis uvnitř přimountovaného podstromu předávány ke zpracování linuxové vrstvě VFS. VFS dále zajistí zpracování požadavku korektním souborovým systémem a souborový systém fyzicky přistupuje k diskovému zařízení. Je-li použito loop-aes je nejdříve nutno pomocí nástroje losetup asociovat k loop device soubor, nebo disk. Jako parametry jsou losetupu předány hašovací funkce a použitý šifrovací algoritmus. Poté lze loop device namountovat stejně jako normální disk. V tomto momentě jsou požadavky na čtení a zápis opět předány VFS a dále pak souborovému systému. Rozdíl je v tom, že souborový systém fyzicky nepracuje přímo s diskem, ale s loop device. Loop device je stěžejní bod loop-aes. Právě při zpracování požadavků uvnitř loop device procházejí data procesem šifrování/dešifrování a loop device fyzicky přistupuje k losetupem asociovaným zařízením. Díky loop device jsme schopni přimountovat nejenom blokové zařízení jako je disk, ale i obyčejný soubor. S obsahem souboru je pak pracováno v blocích stejně jako s blokovým zařízením a souborový systém pracuje s tímto poskytovaným virtuálním blokovým zařízením. Loop-AES je dostupný jako modul nebo patch pro linuxové jádro, vyvíjený Jari Ruusuem. Nahrazuje v jádru funkci loop device, aby v něm mohlo probíhat šifrování. Lze jej používat s jádry řady 2.x, 2.2.x, 2.4.x, 2.6.x. I přes to, že je poměrně starým nástrojem z našeho přehledu, první verze vyšla [16], je stále udržován a aktualizován. Archiv obsahuje i nezbytný patch pro obslužné utility mount, umount, losetup, swapon a swapoff. V současné verzi lze šifrovat algoritmy AES, twofish, blowfish a serpent. Pro procesory x86 a AMD64 je také dostupná optimalizovaná assemblerovská implementace algoritmu AES a MD5, což snižuje negativní dopad na výkon při práci s šifrovaným diskem. Šifrování algoritmem AES používá modus CBC a jsou dostupné tři režimy práce s klíči, přičemž je doporučenou používat poslední jmenovaný[17]: 1. single-key na šifrování všech sektorů loop device je použit IV (inicializační vektor) a jeden klíč. Tento režim trpí slabostí proti watermark útokům 2. multi-key-v2 IV je vypočítán pomocí MD5, sektory jsou šifrovány 64 klíči, první sektor prvním klíčem, druhý sektor druhým klíčem, atd. 3. multi-key-v2 stejný jako multi-key-v2, navíc však slouží 65. klíč jako další vstup pro

15 výpočet IV Loop-AES umí šifrovat nejen swap oddíl, ale s vhodným initrd zvládá i šifrování kořenového adresáře. Jedná se o vyzrálý kus softwaru s dobrou dokumentací, jeho autor Jari Ruusu také aktivně pomáhá a řeší problémy v mailových konferencích. 3.2 Cryptoloop Tento projekt [18] spadá také do kategorie nástrojů šifrujících na úrovni blokového zařízení loop device. Pro jádra řady 2.4 je dostupný jako patch a řady 2.6 je přímou součástí. Jeho implementace byla do jádra zařazena [19] Cryptoloop pracuje na stejném principu jako loop-aes. Na rozdíl od něj však šifrování není implementováno přímo v modulu, ale bylo vyčleněno do nového jaderného subsystému CryptoAPI a probíhá voláním služeb tohoto subsystému. Stejně jako u předchozího nástroje, i Cryptoloop potřebuje ke své činnosti pozměněné utility losetup, mount, umount, swapon a swapoff. Tyto však nejsou kompatibilní s upravenými utilitami loop-aes a není tedy možno je používat současně. Umožňuje také šifrovat soubor, swap oddíl, diskový oddíl nebo i kořenový adresář. Navzdory své velké popularitě a značnému rozšíření, trpí Cryptoloop již od svého počátku několika bezpečnostními problémy. Tyto problémy nejsou kryptografického rázu, ale plynou z nevhodného použití šifrovacích a hašovacích algoritmů, tedy problémy implementační. Cryptoloop není například odolný proti watermark a plaintext [20,21] útokům. Jari Ruusu, autor modulu loop-aes, na tyto skutečnosti několikrát upozorňoval v linux-crypto mailing listu [22]. Jeho y se však i přes jeho velkou trpělivost nesetkaly u vývojářů Cryptoloopu s příznivou reakcí ani s očekávaným efektem nápravy [23]. Cryptoloop byl tedy spíše z politických důvodů [24] ponechán v jádře 2.6 a byl označen jako deprecated (zastaralý, neudržovaný, určený k odstranění) Je doporučeno používat například jeho nástupce Dm-Crypt popsaného na následujících řádcích. 3.3 Dm-Crypt Dm-Crypt [25] je linuxový modul a další zástupce z rodiny nástrojů šifrujících na úrovni blokového zařízení. Tímto zařízením však není loop device, jak je tomu v předchozích příkladech, ale novinka v jádrech od verze 2.6.4, device-mapper. Jak bylo zmíněno, Dm-Crypt je doporučovaným následníkem Cryptoloopu. První verze vyšla Protože je však zpětně kompatibilní, trpí stejnými bezpečnostními problémy jako on. S postupem času byly doimplementovány nové modusy ( ESSIV, LRW, XTS) [26], které již nejsou náchylné na tento druh útoků. Dm-Crypt je čistší a přímější implementace než nástroje používající loop device. Je totiž lépe navržen přímo pro práci s blokovými zařízeními. Při své činnosti používá tzv. mempoools [27], což jsou předem alokované paměťové stránky. Díky tomu dosahuje v porovnání s Cryptoloopem mnohem větší stability[28], ale netrpí ani náchylností k deadlocku při namapování na soubor. [29] Šifrování je prováděno pomocí volání služeb CryptoAPI a velkou výhodou u tohoto řešení je, že již není třeba instalovat pozměněnou verzi utilit mount, umount atd. Nastavení a ovládání probíhá pomocí utilit dmsetup, cryptsetup a cryptmount.

16 3.4 Dm-Crypt LUKS V tomto případě se nejedná o nový nástroj, ale pouze o jisté vylepšení předchozího. V současné době lze pro Dm-Crypt využít dva diskové formáty. Původní nativní formát a nebo nový kontejnerový formát LUKS [30]. Linux Unified Key Setup je formát vyvíjený Clemensem Fruhwirtem. Má volně dostupnou specifikaci a vzorovou implementaci, která byla poprvé zveřejněna Formát LUKS nabízí použití až osmi různých hesel pro přístup k šifrované jednotce. Tato hesla jsou na sobě nezávislá a lze je i revokovat bez nutnosti přešifrovat znovu celou jednotku. Což u všech předchozích nástrojů nebylo možné. Můžeme tedy sdílet šifrovanou jednotku mezi více uživateli bez nutnosti sdílet heslo. Protože se jedná o kontejnerový formát, usnadňuje uživatelům práci s jednotkou. Informace o použitých šifrách, hašovacích funkcích a modusech blokové šifry jsou přímo uloženy v hlavičce šifrované jednotky. Uživatel si tyto informace nemusí tedy pamatovat a zadává pouze heslo. Ovládání a nastavení šifrovaných jednotek LUKS se provádí pomocí nástroje cryptsetup-luks. Díky projektu FreeOTFE[31] lze jak s kontejnery LUKS, tak i Cryptoloop jednotkami pracovat v operačních systémech rodiny Windows. 3.5 TrueCrypt 4.3a Původně se jednalo pouze o nástroj pro OS rodiny Windows, který vycházel ze zdrojových kódů programu E4M (Encryption For Masses) a první verze byla vydána S postupem času byly přidávány nové a nové funkce až nakonec přibyl i linuxový port. Tento linuxový port nástroje TrueCrypt [32] je vyvíjený jako svobodný software společností TrueCrypt Foundation a spadá do kategorie nástrojů šifrujících na úrovni blokového zařízení devicemapperu. Je tedy alternativou k Dm-Cryptu, neboť je na device-mapper napojen stejným mechanismem. Díky této skutečnosti mají TrueCrypt a Dm-Crypt celou řádku podobných vlastností. Není třeba instalovat upravenou sadu utilit pro práci s diskovými svazky jako mount atp. Navíc však lze tyto dva nástroje používat i souběžně. Po instalaci modulu lze TrueCrypt šifrované jednotky ovládat pomocí utility truecrypt. Stejně jako Dm-Crypt LUKS i TrueCrypt je kontejnerový formát. Nenabízí sice možnost přístupu pod více hesly, ale informace o použitých šifrách, hašovacích algoritmech a použitých modusech blokové šifry si nese ve své hlavičce, která je čitelná (srozumitelná) pouze po zadání správného hesla. Vše co uživatel musí znát je tedy pouze správné heslo. Podobnost obou modulů není pouze na úrovni vlastností, ale i na úrovni zdrojového kódu. Tato skutečnost je podmíněná napojením obou modulů na stejné API a využívání stejného subsystému kernelu. TrueCrypt však pro šifrování nevyužívá linuxové CryptoAPI, ale obsahuje své vlastní implementace šifrovacích algoritmů. Takto je zajištěna kompatibilita a přenositelnost šifrovaných kontejnerů mezi linuxovou a windowsovou verzí. Další společná vlastnost je, že k jednotkám TrueCryptu lze v OS rodiny Windows přistupovat nejen pomocí windowsové verze TrueCryptu, ale také pomocí nástroje FreeOTFE a ScramDisk4L [33]. Zašifrovaná jednotka TrueCryptu není nijak identifikovatelná. Obsah takového souboru nebo diskové oblasti vypadá jako náhodný binární šum, což může být velice užitečná vlastnost v momentě, kdy potřebujeme utajit i samotnou existenci nějakých dat tzv. steganografie [34]. Případně lze zajít ještě dál a vytvořit skrytou jednotku v TrueCrypt jednotce. Existence této jednotky je také utajena do momentu, než kdy je zadáno heslo k této skryté jednotce. Nabízí se nám několik scénářů, kdy lze této skryté jednotky s výhodou využít. Například v nedůvěryhodném prostředí si můžeme dovolit zadat heslo k TrueCrypt jednotce

17 a přečíst dokumenty, ale skrytá jednotka obsahující GPG klíče zůstane utajena. Nebo v momentě kdy jsme někým donuceni prozradit heslo a vydat tajné dokumenty. Jsou vydány falešné dokumenty, zatímco originály uložené ve skryté jednotce jsou stále v bezpečí. Zajímavou avšak spornou funkcí je možnost využití tzv. keyfiles klíčových souborů. Entropie zadaného hesla je ještě zvýšena daty z vybraného souboru/ů, algoritmus je však velmi nenáročný a z kryptografického hlediska téměř zanedbatelný[35]. Funkce těchto souborů tedy spočívá především v obraně proti rozšifrování jednotky pouze pomocí odchycení hesla keyloggerem. Z uživatelského hlediska skýtá TrueCrypt několik vylepšení a celkově je poznat důraz na uživatelskou přívětivost. Uživatel je například zbaven nutnosti připojovat jednotku, toto provádí TrueCrypt automaticky, o možnost manuálního nastavení však připraven není. 3.6 TrueCrypt 5.x Letos na jaře, 5. února 2008, vyšla nová řada tohoto šifrovacího nástroje. Mnoho uživatelů již dlouhou dobu očekávalo, co tato verze přinece. A opravdu nových vylepšení nebylo málo. Přibyla verze TrueCryptu pro operační systém MAC OS X. Konečně se dočkali i linuxoví uživatelé a TrueCrypt jim nábídl grafické rozhraní. Největší radost však měli uživatelé operačního systému rodiny Windows. Pro které přibyla možnost pre-boot autentizace. Důležitou novinkou byl i přechod na modernější modus XTS. Nadšení uživatelů ale netrvalo příliš douho. Windowsová pre-boot autentizace nebyla dostatečně odladěna a na internetových fórech se vyrojilo množství nešťastníků, kteří se nebyli schopni přihlásit do svého systému. V průběhu měsíce byly v krátkém intervalu vydány další čtyři verze a prozatím se zdá, že jsou všechny problémy vyřešeny. Zklamání čekalo i uživatele Linuxu. Vývojářům se nelíbilo, že v průběhu vývoje nových verzí jádra, se stává jejich produkt nefunkčním a upustili od vývoje svého modulu na bázi device-mapperu a přešli pod křídla souborových systému na bázi FUSE. Obslužná utilita byla přepsána do jazyka C++ a změnili se i možné volby pro práci z textového režimu, což je velmi nepříjemné. I když se nová verze potýkala s velkými porodními bolestmi, jedná se opět o krok kupředu. Uživatelé nejsou odkázáni na textové rozhraní a mohou si se svými šifrovanými disky pohodlně pracovat z grafického prostředí. Navíc již nepotřebují ani práva superuživatele, aby si mohli jednotku připojit. 3.7 ScramDisk for Linux Má podobnou historii jako TrueCrypt. Nejprve existovala windowsová verze tohoto nástroje, která byla následně zkomercializovaná jako DriveCrypt [36]. Na původní, volně šiřitelný produkt navázal právě ScramDisk for Linux [37]. První kompletní a funkční verze byla zveřejněna na stránkách V našem přehledu se jedná o posledního zástupce skupiny nástrojů šifrujících na úrovni blokového zařízení. ScramDisk se však vydal svou vlastní cestou, rozdílnou od všech předchozích nástrojů. Nešifruje ani s využitím loop device, ani device-mapperu. Ke své činnosti vytváří bloková zařízení /dev/scramdisk/vol01-15 a práce s šifrovanými disky a soubory probíhá pomocí těchto speciálních souborů. SD4L(ScramDisk For Linux) je stejně jako TrueCrypt a Dm-Crypt nástroj také tvořící kontejnerový formát šifrovaných jednotek. Stačí nám tedy znát heslo pro přístup a veškeré kryptografické nastavení si nastaví ScramDisk sám. S jednotkami můžeme pracovat buď pomocí textových utilit sdmount, sdumount, sdcreate, sdchange, sdreformat, nebo pomocí grafické utility

18 scramdisk. Od verze 1.0 umožňuje SD4L pracovat i s jednotkami TrueCryptu kompatibilními s kontejnery TrueCryptu verzí a. Podpora verzí 5.x zatím neexistuje, ale je v plánu. I když SD4L nabízí velmi obdobnou funkcionalitu jako TrueCrypt, není tak rozšířen. Pravděpodobně je to způsobeno masovější propagací TrueCryptu na úkor ostatních šifrovacích nástrojů. 3.8 EncFS EncFS [38] je první představovaný a zároveň asi nejznámější zástupce ze skupiny kryptografických souborových systémů. Při své činnosti využívá funkce komponenty FUSE (Filesystem in USErspace) [39], která je přítomna v jádře od verze a exportuje funkcionalitu souborového systému do uživatelského prostoru. Princip činnosti je znázorněn na obrázku č. 5. Volání služeb VFS jsou předána modulu FUSE. FUSE tato volání předává aplikaci v uživatelském prostoru, aplikace zpracuje požadavek a výsledek je předán zpět. EncFS je právě ona aplikace běžící v uživatelském prostoru, která provádí zpracování volání souborového systému. Při tomto zpracování dochází v aplikaci k šifrování/dešifrování dat a je k tomu použito externí knihovny OpenSSL [40]. První verze tohoto souborového systému byla vydána Na rozdíl od předcházejících nástrojů, u kterých jsme bez znalosti hesla měli pouze binární šum. EncFS chrání v šifrovaném adresáři pouze obsah souborů, jejich názvy a názvy podadresářů. I bez znalosti hesla jsou souborům a složkám dále čitelná oprávnění, velikosti a časové otisky. Na druhou stranu je možné provádět zálohu jednotlivých modifikovaných souborů. Velká výhoda tohoto řešení spočívá v tom, že pro připojení šifrovaného adresáře nejsou potřeba práva superuživatele. Připojení, vytvoření a obsluha probíhá pomocí utility encfs. Při vytváření šifrovaného adresáře je uživatel vyzván k zodpovězení několika otázek ovlivňujících následně použité kryptografické mechanismy. Zároveň je však nutno dbát zvýšené opatrnosti na odkládací soubory, které mohou být uloženy v nešifrovaném adresáři a může tak dojít k nechtěnému úniku informací. Obrázek č. 5 [62]

19 3.9 CryptoFS Je další zástupce kryptografického souborového systému [41]. Stejně jako v předchozím případě se jedná o souborový systém v uživatelském prostoru, fungující buď pomocí modulu FUSE, nebo LUFS [42]. První verze vyšla Výhodou u kryptografických souborových systémů je flexibilní velikost šifrovaného adresáře. Zatímco u nástrojů šifrujících na úrovni blokového zařízení je potřeba již při vytvoření jednotky stanovit její velikost, zde tomu tak není. Šifrovaný adresář je omezen pouze velikostí hostujícího diskového oddílu a případných omezení souborového systému. Je-li použito modulu FUSE probíhá přimountování zdrojového adresáře s šifrovaným obsahem pomocí utility cryptofs. V případě, že je použito modulu LUFS probíhá pomocí utility lufsmount. Konfigurace se načítá z textového souboru.cryptofs ve zdrojovém adresáři. Šifrování probíhá pomocí kryptografické knihovny libgcrypt [43]. Díky portování modulu FUSE pod Mac OS X, známe jako MacFUSE [44] se tento modul dočkal portace pod Mac OS X jako cryptomfs [45] CryptFS a NCryptFS CryptFS [46] je podle jeho autora pouze proof of concept, tedy něco jako testovací prototyp. Skutečně použitelný stohovatelný šifrovací souborový systém byl až NcryptFS [47]. Nezdá se však, že by byl v současné době aktivně vyvíjen. Zatímco CryptFS umožňoval použít pouze šifru Blowfish, Ncryptfs umožňuje použití více šifer, více klíčů a omezení časové platnosti těchto klíčů. Také nabízí možnost vytvářet své vlastní uživatelské skupiny a delegovat jim oprávnění. Na obrázku č. 6 je znázorněno propojení CryptoFS vrstvy nad regulérní souborový systém.

20 Obrázek č. 6 [63] 3.11 ecryptfs Jedná se o stohovatelný šifrovací souborový systém [48], který je odvozen z CryptFS. První verze byla vydána a jako součást jádra byl začleněn od verze Je generovaný pomocí FiST frameworku [49], který usnadňuje tvorbu a portování souborových systémů. K šifrování ecryptfsužívá služeb subsystému CryptoAPI, umí pracovat s veřejnými klíči a spolupracovat s jadernou klíčenkou či TPM [50]. Šifrovací klíč si nese každý soubor ve své hlavičce, což umožňuje zálohování na úrovni šifrovaných souborů, či případnou inkrementální zálohu. K dešifrování poté stačí vlastnit potřebný klíč, nebo znát potřebné heslo. Na obrázku č. 7 je znázorněno schéma zapojení ecryptfs při činnosti. Tento souborový systém se nachází nad regulérními souborovými systémy a požadavky jsou při činnosti šifrovány/dešifrovány v této vrstvě a následně předány další vrstvě. Dle autorů modulu je možno ecryptfs používat nad jakýmkoliv souborovým systémem. Jedině u souborového systému XFS [51] je potřeba ověřit, zda nedochází k přetečení zásobníku.

21 Obrázek č. 7 [64] 3.12 CFS Cryptographic File System [52] je již dost starý šifrovací souborový systém vytvořený Mattem Blazem. Jeho vznik se datuje do roku 1989 a poslední verze vyšla v roce CFS běží v user-space jako démon a není tedy potřeba kompilovat jádro. Ke své činnosti používá lokální NFS export a jeho lokální přimountování. Při instalaci je potřeba nainstalovat obslužné nástroje cfsd, cdetach, ccat, cmkdir, cname a cattach. Šifrovanou složku vytvoříme příkazem cmkdir, který si vyžádá heslo. Takto vytvořený adresář je však jenom úložiště pro šifrovaný obsah. Chceme-li tento obsah dešifrovat a začít s ním pracovat, musíme příkazem cattach CFS oznámit, že s ním má pracovat. Je vyžádáno opět heslo a dešifrovaný adresář je dostupný v přimountovaném adresáři NFS exportu. Po skončení práce je opět potřeba odpojit obsah pomocí příkazu cdetach TCFS Transparent Cryptographic File System [53] je souborový systém pro šifrovaný přenos souborů přes NFS (Network File System) [54]. Navazuje na projekt CFS. Po přimountování exportovaného NFS adresáře a nastavení šifrovacího klíče pomocí utility tcfs_setkey jsou veškeré soubory s rozšířeným příznakem X šifrovány. Šifrování probíhá pomocí volání služeb linuxového subsystému CryptoAPI přímo na straně klienta. Požadavky aplikací na čtení/zápis jsou zpracovány v dešifrované formě a poté jsou předány jako normální požadavky mechanismu NFS, jejich obsah je však již šifrovaný. Není potřeba provádět žádné úpravy na straně NFS serveru, neboť tento modul je plně kompatibilní s NFS v3. Oproti CFS je více transparentní pro uživatele a rychlejší, protože běží v kernel-space. Nedochází tedy ke kopírování dat do user-space a zase zpět do kernel-space.

22 4 Bezpečnostní analýza TrueCryptu 4.1 Analýza Vlastimila Klímy V červenci roku 2007 byly zveřejněny výsledky analýzy [35] provedené předním českým kryptologem Vlastimilem Klímou [55]. Jeho analýza byla zaměřena zejména na použité kryptografické algoritmy. Uveďme alespoň několik podstatných informací. Každá jednotka TrueCryptu si nese v prvním sektoru 512 bytů dlouhou hlavičku, která obsahuje veškeré údaje potřebné pro práci s jednotkou. Struktura je popsána v tabulce č. 1. Hlavička je zašifrována pomocí klíčů odvozených od uživatelem zadaného hesla. Tabulka č. 1 - struktura hlavičky TrueCryptu [35] Odvození klíčů probíhá pomocí složité funkce PBKDF2, která zadané heslo a sůl 1000x nebo 2000x iteruje v závislosti na vybrané hašovací funkci. Je to způsob ochrany proti útoku hrubou silou. Při běžné práci nám toto zdržení nepůsobí žádné problémy, ale útočník nedisponuje dostatečným výpočetním výkonem, aby mohl vyzkoušet v reálném čase všechny možnosti a rozluštit tak obsah jednotky. Z nabízených hašovacích algoritmů pak Klíma doporučuje používat algoritmus s názvem Whirpool. Ověřil, že použité klíče jsou generovány náhodným generátorem a je proveden test, zda nejsou slabé. Při změně hesla, dochází k přegenerování hlavičky a jejím 23 přepisům pokaždé s jinou solí, aby se zabránilo možnosti obnovy původních dat. Kryptolog Klíma neobjevil v TrueCryptu žádná zadní vrátka, která některé společnosti implementují do svých produktů. A ověřil, že se TrueCrypt chová v souladu s jeho dokumentací. Z analýzy vyplynulo, že se tedy jedná o důvěryhodný produkt a můžeme mu svěřit svá data. 4.2 Naše analýza Provedená bezpečnostní analýza se zabývala implementací TrueCryptu verze 4.3a, která se skládá z jaderného modulu a obslužné utility. Analýza probíhala na základě ověřených zdrojových kódů

23 stažených ze stránek dne U získání zdrojových kódů můžeme upozornit na malý nedostatek, neboť zdrojové kódy lze stáhnout pouze pomocí nešifrovaného protokolu http. Útočník by tak při stahování mohl podstrčit upravené zdrojové kódy. Lze též stáhnout PGP podpis zdrojových kódů, ale většina uživatelů ověřování neprovádí, neboť jsou to úkony navíc. Přitom protokol https lze použít, ale pouze při nahlašování chyb TrueCryptu. Po stažení, ověření a rozbalení zdrojových kódů je nutno nejprve zkompilovat zdrojové kódy a poté je nainstalovat. Tato činnost probíhá pomocí skriptů v adresáři Linux s názvy build.sh a install.sh. Oba dva skripty vyžadují spuštění s právy superuživatele. Pro kompilaci potřebujeme také zdrojové kódy jádra, na kterém bude TrueCrypt provozován. Minimální verze jádra musí být V případě prvního skriptu build.sh probíhá pouze kompilace a práva superuživatele jsou zde z bezpečnostního hlediska nadbytečná. Autoři se tak pravděpodobně rozhodli předejít problémům s oprávněními k zápisu při rekompilaci jaderných modulů. Neboť do adresáře /usr/src/, kde se většinou nachází zdrojové kódy jádra, nemá ve většině distribucí běžný uživatel právo zápisu. Skript install.sh již práva superuživatele opravdu potřebuje, neboť instaluje zkompilovaný modul, obslužnou utilitu a dokumentaci do systémových adresářů. Zkontroluje také přítomnost potřebných speciálních souborů, utitlit a modulů. Ve skriptech nebyla nalezena žádná jiná problémová partie. Analýza je dále rozdělená zvlášť na analýzu obslužné utility a na analýzu jaderného modulu Obslužná utilita Jako výsledek kompilace souboru Linux/Cli.c vznikne binární spustitelný soubor se jménem truecrypt. Tato aplikace je z uživatelského hlediska nejdůležitější, neboť právě pomocí ní uživatelé vytvářejí a pracují s TrueCrypt jednotkami. Ve zdrojových kódech jsme ověřili, že utilita pracuje s hesly bezpečně. Celý proces běží v neodswapovatelné paměti, tedy hesla zůstávají v RAM počítače a nejsou zapisována na disk. Při rozdvojení procesu voláním služby fork(), jsou synovskému procesu hesla okamžitě přepsána nulovými hodnotami. Utilita také hlídá signály přerušení a v případě nečekaného ukončení hesla také nuluje. Při ukončení práce jsou hesla opět bezpečně přemazána. Tato utilita ke svému běhu vyžaduje práva superuživatele. Požadavek je to oprávněný, neboť při své činnosti volá systémové utility jako mount, losetup či dmsetup. Autoři se preventivně rozhodli nepovolit pracovat s touto utilitou, pokud je spuštěna jako setuid a brání se tak případné nechtěné eskalaci práv. Pokud program detekuje, že je spuštěn a má nastavený suid bit, okamžitě se ukončí, aniž by provedl jakoukoliv akci. Buď tedy budeme s TrueCryptem pracovat pod účtem superuživatele, nebo budeme používat příkaz sudo. Autoři přímo do programu zahrnuli využití příkazu sudo a potřebné akce, vyžadující práva superuživatele spouští přes něj. V implementaci tohoto volání byla odhalena chyba, která by mohla být za určitých okolností zneužita. Funkce, která zajišťuje použití suda má nešťastně zvolené pořadí operací, nejdříve ověří má-li uživatel superuživatelská práva. Pokud ano, nastaví bezpečně systémovou proměnnou PATH a skončí. Pokud ne, spustí celý příkaz přes sudo, které se zeptá na heslo a spustí ho již s právy superuživatele. Systémová proměnná PATH obsahuje cesty do systémových složek, v kterých se nachází příkazy. Uživatel tak nemusí pokaždé zadávat absolutní cestu k příkazům, ale pouze jejich jednoslovné názvy.

24 Příkaz sudo je však v rutině spuštěný pomocí volání execvp(), které při svém spuštění prohledává systémovou proměnnou PATH a hledá v ní program, který má spustit. Když se útočníkovi podaří upravit PATH proměnnou uživatele, nebo pokud má uživatel v této proměnné nastavený pracovní adresář, je příkaz sudo nejdříve hledán v těchto adresářích. Útočník do těchto prohledávaných adresářů může podstrčit binární soubor s názvem sudo a tento může být spuštěn místo systémového příkazu sudo. Dojde-li až k tomuto spuštění, má útočník v podstatě volné pole působnosti. V příloze je obsažen velmi jednoduchý příklad takto upravené implementace suda. V momentě, kdy se ptá poprvé na heslo, zaloguje si tyto informace a spustí již opravdu požadovaný příkaz. Čili se snaží chovat nenápadně. Toto chování by však mohlo být i daleko více nebezpečné. V současné době má většina běžných uživatelů povoleno spouštění jakéhokoliv příkazu přes sudo. Po takto úspěšně provedeném útoku má útočník plnou kontrolu nad systémem. Obrana proti takovému útoku je velmi jednoduchá. Stačí již při spuštění nastavit bezpečný obsah proměnné PATH. Opravená verze je v příloze Modul Linuxového jádra Tou před uživateli skrytou, ale nejdpodstatnější částí TrueCryptu je jeho jaderný modul. Modul v podstatě vykonává veškerou těžkou práci TrueCryptu při jeho šifrování/dešifrování. Modul vznikne po kompilaci zdrojového kódu Linux/Kernel/Dm-target.c a jmenuje se truecrypt.ko. Instalačním skriptem je nainstalován do patřičného adresáře linuxových modulů, aby mohl být v případě potřeby zaveden. TrueCrypt je při své činnosti závislý na device-mapperu. Což je jaderný mechanismus pro mapování blokových zařízení. Při tomto mapování může a dochází k různým transformacím. Této skutečnosti nejdříve využil pro šifrování Dm-Crypt. Později ho následoval i TrueCrypt a implementoval svůj modul podobným způsobem. Device-mapper nabízí rozhraní a jednotlivé moduly pak pouze implementují základní funkce, podobně jako tomu bylo v případě souborových systémů. Vývojářům je takto nabídnuta možnost poměrně efektivně, bez větších problémů a především velmi čistě psát moduly pro rozšíření funkčnosti device-mapperu. Je tomu tak i v případě TrueCryptu. Rozšiřující moduly se v terminologii device-mapperu nazývají targets, česky cíle. Moduly se při zavedení do paměti zaregistrují voláním funkce dm_register_target() a jako parametr předají strukturu obsahující jméno cíle, verzi a odkazy na obslužné rutiny. TrueCrypt ve svém modulu implementuje základní rutiny truecrypt_ctr, truecrypt_dtr, truecrypt_map, truecrypt_status a dvě pomocné truecrypt_endio a work_process. Nemusí tedy řešit žádné z hlediska bezpečnosti kritické sekce. Veškerá bezpečnostní rozhodnutí zůstávají v režii ochranných mechanismů jádra. Ve své režii si spravuje pouze šifrovací klíče. Protože je device-mapper součástí oficiálního jádra, je pod bedlivým dozorem vývojářů a mnoha testerů v různých prostředích. Zvyšuje se tak šance, že případná bezpečnostní nebo jakákoliv jiná chyba bude brzy nalezena a opravena. Naše analýza se tedy zaměří přímo na implementaci funkcí TrueCryptu. Na obrázku č. 8 je znázorněno postavení TrueCryptu k device-mapperu jiným subsystémům jádra jako např. VFS. Šipky znázorňují požadavky na čtení a zápis.

25 Obrázek č. 8 - Napojení TrueCryptu na vrstvy jádra Popis funkcí jednotlivých částí modulu Zdrojový kód TrueCryptového modulu je poměrně dobře čitelný, některé části by však mohly být lépe okomentovány. Problém se snaží řešit přímočaře a také se mu to daří, velikost zdrojového kódu je o 7kB menší než zdrojový kód Dm-Cryptu. Tento rozdíl je především cena za vývoj modulu v hlavní vývojové větvi Linuxového jádra a za zpětnou podporu zastaralých algoritmů. Aby se nový kód dostal do oficiálního jádra, musí být patrné, co která část kódu dělá. Toho je docíleno pomocí kvalitních komentářů a transparentní implementací bez krkolomných triků. Pokud na nějakém triku přece jen trváme, musí být pak dobře okomentovaný. Správci jádra jsou poměrně nároční a pokud se jim kód nezdá, odmítnou ho začlenit. Linuxový mailing list[60] je plný důkazů o takových odmítnutích. Následující přehled zevrubně popisuje vnitřní činnost modulu. Načtení modulu V případě, že selže jeden z následujících kroků, je uvolněna použitá paměť a je vrácena chyba -ENOMEM je vytvořena pracovní fronta s názvem truecryptq, která slouží pro opožděné spuštění naplánovaných úloh v paměti je alokována cache s názvem truecrypt-bioctx kvůli rychlejší alokaci objektů a efektivnímu využití paměti voláním funkce dm_register_target() je do interních struktur device-mapperu zaregistrován cíl truecrypt a jsou mu předány potřebné parametry Vymazání modulu voláním funkce dm_unregister_target() je odregistrován cíl truecrypt

26 pracovní fronta truecryptq je vyprázdněna a zrušena z paměti uvolní se paměť alokovaná cachi truecrypt-bioctx Funkce truecrypt_ctr Funkce je volána po získání potřebných informací z hlavičky TrueCrypt jednotky. Obslužná utilita spustí příkaz dmsetup create truecrypt a na jeho vstup vypíše řetězec obsahující potřebné údaje pro vytvoření blokového zařízení TrueCryptu. Blokové zařízení je vytvořeno v adresáři /dev/mapper/, je přimountováno do požadované složky a takto je umožněna práce s dešifrovaným obsahem jednotky. Utilita dmsetup komunikuje s devicemapperem pomocí systémových volání ioctl (input output control) zaslaných zařízení /dev/mapper/control Pokud dojde k selhání v některém z následujících kroků, citlivé údaje jsou přepsány nulami a je uvolněna případná alokovaná paměť. Proběhne kontrola na počet parametrů a jejich typ. Alokuje se neodswapovatelná paměť pro strukturu obsahující kryptografické informace. Je vytvořen mempool stránek a slabů pro zpracování požadavků. Mempooly zajišťují úspěšnou alokaci paměti i při jejím značném zaplnění. Datové struktury jsou inicializovány předanými parametry. Proběhne inicializace šifrovacích algoritmů a blokové zařízení, které bylo vytvořeno voláním dmsetupu je schopno provádět šifrování. Funkce truecrypt_dtr je spuštěna při rušením blokového zařízení TrueCrypt jednotky. Jsou přepsány citlivé údaje nulami, uvolní alokovanou paměť. Funkce truecrypt_status vypisuje textové informace o TrueCrypt jednotce. Například použitý algoritmus, modus blokové šifry, id uživatele atp. Funkce truecrypt_map Je spouštěna device-mapperem a náplň její činnosti je převod mezi šifrovanou a dešifrovanou podobou dat. Jako parametr je jí předána BIO (Block I/O) struktura, což je interní struktura Linuxového jádra, určená pro provádění blokových vstupně/výstupních operací. Každá BIO struktura je samostatná a představuje jeden požadavek na čtení/zápis blokového zařízení. Moderní hardware je schopen zpracovat i více požadavků najednou. Kvůli zvýšení výkonu jsou tedy BIO struktury organizovány do seznamů a zpracovávány zaráz. V BIO struktuře jsou obsaženy důležité informace, potřebné k úspěšnému vykonání požadavku. Údaje o blokovém zařízení, různé příznaky a odkazy na další struktury. Pro nás je podstatnou částí BIO struktury její obsah. Ten je adresován pomocí pole struktur, odkazujících již na jednotlivé stránky v paměti, nesoucí obsah. Důležitý je pro nás také příznak čtení/zápis, který určuje zda se bude šifrovat/dešifrovat. Při požadavku o zápis je ověřena ochrana proti zápisu a případně je vrácena chyba -EPERM. Ověří se správná velikost sektorů, při špatně velikosti je vrácena chyba -EINVAL. Je alokována nová struktura BIO, do které jsou nakopírovány technické informace o blokovém zařízení, počátečním sektoru atp. V případě že jde o požadavek čtení je zkopírováno i pole struktur odkazujících na stránky s obsahem Při požadavku na zápis Je ověřena ochrana proti zápisu a ocharna skryté jednotky proti přepisu, v případě porušení je uvolněna vrácena chyba -EPERM nebo -ENOMEM. Jsou alokovány stránky pro šifrovaný obsah a je do nich překopírovaný obsah nešifrovaný. Přímo v takto nově alokovaných stránkách proběhne zašifrování jejich obsahu.

Šifrovaný disk v Linuxu

Šifrovaný disk v Linuxu Šifrovaný disk v Linuxu data v bezpečí Petr Krčmář 4. března 2018 Uvedené dílo (s výjimkou obrázků) podléhá licenci Creative Commons Uveďte autora 3.0 Česko. Petr Krčmář (Root.cz, vpsfree.cz) Šifrovaný

Více

Použití šifrovaných disků v Linuxu

Použití šifrovaných disků v Linuxu Použití šifrovaných disků v Linuxu Milan Brož mbroz@redhat.com LinuxAlt 2008, 1.listopadu 2008, Brno Tato prezentace je licencována za podmínek GNU Free Documentation License - http://www.gnu.org/copyleft/fdl.html

Více

Šifrování flash a jiných datových úložišť

Šifrování flash a jiných datových úložišť 24. dubna 2014 Obsah přednášky Úvod Pár slov úvodem Proč šifrovat? ochrana citlivých dat nebo záloh sdílení dat jen s vybranými osobami Pár slov úvodem Proč šifrovat? ochrana citlivých dat nebo záloh sdílení

Více

Linux CryptoFS. Petr Novický <P.Novicky@sh.cvut.cz>

Linux CryptoFS. Petr Novický <P.Novicky@sh.cvut.cz> Linux CryptoFS Petr Novický Osnova přednášky Loop-AES Úvod Příprava, kompilace, instalace Použití Diskový oddíl Soubor Závěr Diskový oddíl s použitím semínka Loop-AES (úvod) - šifrovaný

Více

Středoškolská technika 2015. Encryption Protection System

Středoškolská technika 2015. Encryption Protection System Středoškolská technika 2015 Setkání a prezentace prací středoškolských studentů na ČVUT Encryption Protection System Jaroslav Vondrák Vyšší odborná a Střední škola Varnsdorf Mariánská 1100, Varnsdorf 1

Více

Správa linuxového serveru: Šifrování s dm crypt/luks

Správa linuxového serveru: Šifrování s dm crypt/luks Home» Články» Praxe» Správa linuxového serveru» Správa linuxového serveru: Šifrování s... Předchozí kapitola Zpět na obsah Následující kapitola Správa linuxového serveru: Šifrování s dm crypt/luks Ve třetím

Více

Open Source a šifrování dat OFTE. Pavel Machula

Open Source a šifrování dat OFTE. Pavel Machula Open Source a šifrování dat OFTE Pavel Machula Zkratka OFTE zkratka angl. On-The-Fly Encryption (šifrování za letu / v reálném čase): Diskové šifrování, Dostupnost souborů ihned po zadání klíče. Data jsou

Více

Výsledky bezpečnostního auditu TrueCryptu. Ing. Josef Kokeš. CryptoFest 2015

Výsledky bezpečnostního auditu TrueCryptu. Ing. Josef Kokeš. CryptoFest 2015 Výsledky bezpečnostního auditu TrueCryptu Ing. Josef Kokeš CryptoFest 2015 Obsah TrueCrypt Bezpečnostní audity TrueCryptu Audit č. 1 Audit č. 2 Zhodnocení Diskuse TrueCrypt Populární nástroj pro šifrování

Více

Informatika / bezpečnost

Informatika / bezpečnost Informatika / bezpečnost Bezpečnost, šifry, elektronický podpis ZS 2015 KIT.PEF.CZU Bezpečnost IS pojmy aktiva IS hardware software data citlivá data hlavně ta chceme chránit autorizace subjekt má právo

Více

Architektura rodiny operačních systémů Windows NT Mgr. Josef Horálek

Architektura rodiny operačních systémů Windows NT Mgr. Josef Horálek Architektura rodiny operačních systémů Windows NT Mgr. Josef Horálek = Velmi malé jádro = implementuje jen vybrané základní mechanismy: = virtuální paměť; = plánování vláken; = obsluha výjimek; = zasílání

Více

Šifrování disků a TrueCrypt

Šifrování disků a TrueCrypt Šifrování disků a TrueCrypt Milan Brož EurOpen 2013 xbroz@fi.muni.cz Vranov nad Dyjí TrueCrypt transparentní šifrování disku FDE - Full Disk Encryption multiplatformní Windows, Linux, MacOS původně odvozeno

Více

Systém souborů (file system, FS)

Systém souborů (file system, FS) UNIX systém souborů (file system) 1 Systém souborů (file system, FS)! slouží k uchování dat na vnějším paměťovém médiu a zajišťuje přístup ke struktuře dat! pro uživatele možnost ukládat data a opět je

Více

Bootkity v teorii a praxi. Martin Dráb martin.drab@email.cz Http://www.jadro-windows.cz

Bootkity v teorii a praxi. Martin Dráb martin.drab@email.cz Http://www.jadro-windows.cz Bootkity v teorii a praxi Martin Dráb martin.drab@email.cz Http://www.jadro-windows.cz Definice Pod pojmem bootkit budeme rozumět software, který začíná být aktivní během procesu startu počítače ještě

Více

Identifikátor materiálu: ICT-2-04

Identifikátor materiálu: ICT-2-04 Identifikátor materiálu: ICT-2-04 Předmět Téma sady Informační a komunikační technologie Téma materiálu Zabezpečení informací Autor Ing. Bohuslav Nepovím Anotace Student si procvičí / osvojí kryptografii.

Více

Základy šifrování a kódování

Základy šifrování a kódování Materiál byl vytvořen v rámci projektu Nové výzvy, nové příležitosti, nová škola Tento projekt je spolufinancován Evropským sociálním fondem a státním rozpočtem České republiky Základy šifrování a kódování

Více

Přednáška. Vstup/Výstup. Katedra počítačových systémů FIT, České vysoké učení technické v Praze Jan Trdlička, 2012

Přednáška. Vstup/Výstup. Katedra počítačových systémů FIT, České vysoké učení technické v Praze Jan Trdlička, 2012 Přednáška Vstup/Výstup. Katedra počítačových systémů FIT, České vysoké učení technické v Praze Jan Trdlička, 2012 Příprava studijního programu Informatika je podporována projektem financovaným z Evropského

Více

Management procesu I Mgr. Josef Horálek

Management procesu I Mgr. Josef Horálek Management procesu I Mgr. Josef Horálek Procesy = Starší počítače umožňovaly spouštět pouze jeden program. Tento program plně využíval OS i všechny systémové zdroje. Současné počítače umožňují běh více

Více

Souborové systémy Mgr. Josef Horálek

Souborové systémy Mgr. Josef Horálek Souborové systémy Mgr. Josef Horálek Souborové systémy = Prostředky pro práci se souborovými systémy patří mezi nejsilnější stránky linuxového jádra. = Využívají unixový přístup k souborové hierarchii

Více

Základy kryptografie. Beret CryptoParty 11.02.2013. 11.02.2013 Základy kryptografie 1/17

Základy kryptografie. Beret CryptoParty 11.02.2013. 11.02.2013 Základy kryptografie 1/17 Základy kryptografie Beret CryptoParty 11.02.2013 11.02.2013 Základy kryptografie 1/17 Obsah prezentace 1. Co je to kryptografie 2. Symetrická kryptografie 3. Asymetrická kryptografie Asymetrické šifrování

Více

Simluátor Trilobota. (projekt do předmětu ROB)

Simluátor Trilobota. (projekt do předmětu ROB) Simluátor Trilobota (projekt do předmětu ROB) Kamil Dudka Jakub Filák xdudka00 xfilak01 BRNO 2008 1 Úvod Jako školní týmový projekt jsme si zvolili simulátor trilobota 1 a jeho prostředí. Simulátor komunikuje

Více

konec šedesátých let vyvinut ze systému Multics původní účel systém pro zpracování textů autoři: Ken Thompson a Denis Ritchie systém pojmnoval Brian

konec šedesátých let vyvinut ze systému Multics původní účel systém pro zpracování textů autoři: Ken Thompson a Denis Ritchie systém pojmnoval Brian 02 konec šedesátých let vyvinut ze systému Multics původní účel systém pro zpracování textů autoři: Ken Thompson a Denis Ritchie systém pojmnoval Brian Kernighan v r. 1973 přepsán do jazyka C Psát programy,

Více

Systém adresace paměti

Systém adresace paměti Systém adresace paměti Základní pojmy Adresa fyzická - adresa, která je přenesena na adresní sběrnici a fyzicky adresuje hlavní paměť logická - adresa, kterou má k dispozici proces k adresaci přiděleného

Více

Bezpečnostní aspekty informačních a komunikačních systémů KS2

Bezpečnostní aspekty informačních a komunikačních systémů KS2 VŠFS; Aplikovaná informatika; SW systémy 2005/2006 1 Bezpečnost informací BI Ing. Jindřich Kodl, CSc. Bezpečnostní aspekty informačních a komunikačních systémů KS2 VŠFS; Aplikovaná informatika; SW systémy

Více

Integrovaný informační systém Státní pokladny (IISSP) Dokumentace API - integrační dokumentace

Integrovaný informační systém Státní pokladny (IISSP) Dokumentace API - integrační dokumentace Česká republika Vlastník: Logica Czech Republic s.r.o. Page 1 of 10 Česká republika Obsah 1. Úvod...3 2. Východiska a postupy...4 2.1 Způsob dešifrování a ověření sady přístupových údajů...4 2.2 Způsob

Více

09. Memory management. ZOS 2006, L.Pešička

09. Memory management. ZOS 2006, L.Pešička 09. Memory management ZOS 2006, L.Pešička Správa paměti paměťová pyramida absolutní adresa relativní adresa počet bytů od absolutní adresy fyzický prostor adres fyzicky k dispozici výpočetnímu systému

Více

BRICSCAD V15. Licencování

BRICSCAD V15. Licencování BRICSCAD V15 Licencování Protea spol. s r.o. Makovského 1339/16 236 00 Praha 6 - Řepy tel.: 235 316 232, 235 316 237 fax: 235 316 038 e-mail: obchod@protea.cz web: www.protea.cz Copyright Protea spol.

Více

Šifrování Kafková Petra Kryptografie Věda o tvorbě šifer (z řečtiny: kryptós = skrytý, gráphein = psát) Kryptoanalýza Věda o prolamování/luštění šifer Kryptologie Věda o šifrování obecné označení pro kryptografii

Více

UKRY - Symetrické blokové šifry

UKRY - Symetrické blokové šifry UKRY - Symetrické blokové šifry Martin Franěk (frankiesek@gmail.com) Fakulta jaderná a fyzikálně inženýrská, ČVUT Praha 18. 3. 2013 Obsah 1 Typy šifer Typy šifer 2 Operační mody Operační mody 3 Přiklady

Více

Pár odpovědí jsem nenašla nikde, a tak jsem je logicky odvodila, a nebo jsem ponechala odpověď z pefky, proto je možné, že někde bude chyba.

Pár odpovědí jsem nenašla nikde, a tak jsem je logicky odvodila, a nebo jsem ponechala odpověď z pefky, proto je možné, že někde bude chyba. Odpovědi jsem hledala v prezentacích a na http://www.nuc.elf.stuba.sk/lit/ldp/index.htm Pár odpovědí jsem nenašla nikde, a tak jsem je logicky odvodila, a nebo jsem ponechala odpověď z pefky, proto je

Více

Vlákno (anglicky: thread) v informatice označuje vlákno výpočtu neboli samostatný výpočetní tok, tedy posloupnost po sobě jdoucích operací.

Vlákno (anglicky: thread) v informatice označuje vlákno výpočtu neboli samostatný výpočetní tok, tedy posloupnost po sobě jdoucích operací. Trochu teorie Vlákno (anglicky: thread) v informatice označuje vlákno výpočtu neboli samostatný výpočetní tok, tedy posloupnost po sobě jdoucích operací. Každá spuštěná aplikace má alespoň jeden proces

Více

- PC musí být připojené v lokální síti - je bezpodmínečně nutné, aby aplikace Outlook nebyla aktivní)

- PC musí být připojené v lokální síti - je bezpodmínečně nutné, aby aplikace Outlook nebyla aktivní) (CETIN) INSTALACE nové verze aplikace Entrust (ESP Entrust Security Provider) (určeno k šifrování souborů a podepisování souborů a zabezpečení e-mailu (šifrování, podpis), aplikace umožňuje současné použití

Více

2015 GEOVAP, spol. s r. o. Všechna práva vyhrazena.

2015 GEOVAP, spol. s r. o. Všechna práva vyhrazena. 2015 GEOVAP, spol. s r. o. Všechna práva vyhrazena. GEOVAP, spol. s r. o. Čechovo nábřeží 1790 530 03 Pardubice Česká republika +420 466 024 618 http://www.geovap.cz V dokumentu použité názvy programových

Více

Podzim 2008. Boot možnosti

Podzim 2008. Boot možnosti Sedí dva velmi smutní informatici v serverové místnosti. Přijde k nim třetí a ptá se: "A cože jste tak smutní?" "No, včera jsme se trošku ožrali a měnili jsme hesla... Podzim 2008 PV175 SPRÁVA MS WINDOWS

Více

MATLABLINK - VZDÁLENÉ OVLÁDÁNÍ A MONITOROVÁNÍ TECHNOLOGICKÝCH PROCESŮ

MATLABLINK - VZDÁLENÉ OVLÁDÁNÍ A MONITOROVÁNÍ TECHNOLOGICKÝCH PROCESŮ MATLABLINK - VZDÁLENÉ OVLÁDÁNÍ A MONITOROVÁNÍ TECHNOLOGICKÝCH PROCESŮ M. Sysel, I. Pomykacz Univerzita Tomáše Bati ve Zlíně, Fakulta aplikované informatiky Nad Stráněmi 4511, 760 05 Zlín, Česká republika

Více

ISMS. Autentizace ve WiFi sítích. V Brně dne 5. a 12. prosince 2013

ISMS. Autentizace ve WiFi sítích. V Brně dne 5. a 12. prosince 2013 ISMS Případová studie Autentizace ve WiFi sítích V Brně dne 5. a 12. prosince 2013 Pojmy Podnikové WiFi sítě Autentizace uživatelů dle standardu 802.1X Hlavní výhodou nasazení tohoto standardu je pohodlná

Více

1 Uživatelská dokumentace

1 Uživatelská dokumentace 1 Uživatelská dokumentace Systém pro závodění aut řízených umělou inteligencí je zaměřen na závodění aut v prostředí internetu. Kromě toho umožňuje testovat jednotlivé řidiče bez nutnosti vytvářet závod

Více

Zapomeňte už na FTP a přenášejte soubory bezpečně

Zapomeňte už na FTP a přenášejte soubory bezpečně Petr Krčmář Zapomeňte už na FTP a přenášejte soubory bezpečně 8. listopadu 2009 LinuxAlt, Brno O čem to bude? Proč říct ne protokolu FTP Jak si FTP trochu vylepšit Co máš proti FTP? FTP je bohužel velmi

Více

Implementace systémů HIPS: historie a současnost. Martin Dráb

Implementace systémů HIPS: historie a současnost. Martin Dráb Implementace systémů HIPS: historie a současnost Martin Dráb martin.drab@secit.sk HIPS: základní definice Majoritně používané operační systémy disponují bezpečnostními modely, které dovolují jednotlivým

Více

Asymetrická kryptografie a elektronický podpis. Ing. Mgr. Martin Henzl Mgr. Radim Janča ijanca@fit.vutbr.cz

Asymetrická kryptografie a elektronický podpis. Ing. Mgr. Martin Henzl Mgr. Radim Janča ijanca@fit.vutbr.cz Asymetrická kryptografie a elektronický podpis Ing. Mgr. Martin Henzl Mgr. Radim Janča ijanca@fit.vutbr.cz Obsah cvičení Asymetrická, symetrická a hybridní kryptografie Matematické problémy, na kterých

Více

Šifrování Autentizace Bezpečnostní slabiny. Bezpečnost. Lenka Kosková Třísková, NTI TUL. 22. března 2013

Šifrování Autentizace Bezpečnostní slabiny. Bezpečnost. Lenka Kosková Třísková, NTI TUL. 22. března 2013 Šifrování Autentizace ní slabiny 22. března 2013 Šifrování Autentizace ní slabiny Technologie Symetrické vs. asymetrické šifry (dnes kombinace) HTTPS Funguje nad HTTP Šifrování s pomocí SSL nebo TLS Šifrování

Více

Souborové systémy a logická struktura dat (principy, porovnání, příklady).

Souborové systémy a logická struktura dat (principy, porovnání, příklady). $TECH 13 Str. 1/5 Souborové systémy a logická struktura dat (principy, porovnání, příklady). Vymezení základních pojmů Soubor První definice: označuje pojmenovanou posloupnost bytů uloženou na nějakém

Více

Autentizace uživatelů

Autentizace uživatelů Autentizace uživatelů základní prvek ochrany sítí a systémů kromě povolování přístupu lze uživatele členit do skupin, nastavovat různá oprávnění apod. nejčastěji dvojicí jméno a heslo další varianty: jednorázová

Více

Činnost počítače po zapnutí

Činnost počítače po zapnutí Projekt: Inovace oboru Mechatronik pro Zlínský kraj Registrační číslo: CZ.1.07/1.1.08/03.0009 Činnost počítače po zapnutí Paměť RWM(Read Write Memory - paměť pro čtení a zápis, označovaná také jako RAM)

Více

Šifrování. Tancuj tak, jako když se nikdo nedívá. Šifruj tak, jako když se dívají všichni! Martin Kotyk IT Security Consultnant

Šifrování. Tancuj tak, jako když se nikdo nedívá. Šifruj tak, jako když se dívají všichni! Martin Kotyk IT Security Consultnant Šifrování Tancuj tak, jako když se nikdo nedívá. Šifruj tak, jako když se dívají všichni! Martin Kotyk IT Security Consultnant Šifrování pevných disků Don't send the encryption key by email! Šifrování

Více

Projekt: 1.5, Registrační číslo: CZ.1.07/1.5.00/ Digitální podpisy

Projekt: 1.5, Registrační číslo: CZ.1.07/1.5.00/ Digitální podpisy VY_32_INOVACE_BEZP_08 Projekt: 1.5, Registrační číslo: CZ.1.07/1.5.00/34.0304 Digitální podpisy Základní myšlenkou elektronického podpisu je obdoba klasického podpisu, jež má zaručit jednoznačnou identifikaci

Více

pouˇzití USB nebo SPI

pouˇzití USB nebo SPI Připojení modulů IQRF k platformě Android za pouˇzití USB nebo SPI Bc. Josef Jebavý, http://xeres.cz 25. srpna 2015 Obsah 1 Operační systém Android 2 2 Moˇznosti řešení 2 2.1 USB........................................

Více

Operační systémy 1. Přednáška číslo 11 3. 5. 2010. Souborové systémy

Operační systémy 1. Přednáška číslo 11 3. 5. 2010. Souborové systémy Operační systémy 1 Přednáška číslo 11 3. 5. 2010 Souborové systémy Dělení dle bezpečnosti Souborové systémy s okamžitým zápisem pouze jeden druh operace a další musí čekat. Data se nemohou ztratit, ale

Více

DNSSEC Validátor - doplněk prohlížečů proti podvržení domény

DNSSEC Validátor - doplněk prohlížečů proti podvržení domény DNSSEC Validátor - doplněk prohlížečů proti podvržení domény CZ.NIC z.s.p.o. Martin Straka / martin.straka@nic.cz Konference Internet a Technologie 12 24.11.2012 1 Obsah prezentace Stručný úvod do DNS

Více

Prostředí pro výuku vývoje PCI ovladačů do operačního systému GNU/Linux

Prostředí pro výuku vývoje PCI ovladačů do operačního systému GNU/Linux KONTAKT 2011 Prostředí pro výuku vývoje PCI ovladačů do operačního systému GNU/Linux Autor: Rostislav Lisový (lisovy@gmail.com) Vedoucí: Ing. Pavel Píša, Ph.D. (pisa@cmp.felk.cvut.cz) Katedra řídicí techniky

Více

OPS Paralelní systémy, seznam pojmů, klasifikace

OPS Paralelní systémy, seznam pojmů, klasifikace Moorův zákon (polovina 60. let) : Výpočetní výkon a počet tranzistorů na jeden CPU chip integrovaného obvodu mikroprocesoru se každý jeden až dva roky zdvojnásobí; cena se zmenší na polovinu. Paralelismus

Více

Jazz pro Účetní (export) Příručka uživatele

Jazz pro Účetní (export) Příručka uživatele JAZZ pro Účetní - export (SQL/E1) Příručka uživatele 1 / 8 JAZZ pro Účetní export (SQL/E1) Příručka uživatele 2019 Václav Petřík JAZZWARE.CZ Příručka k programu Jazz pro Účetní - export (SQL/E1) pro Windows

Více

www.circletech.net Aplikace pro ochranu mobilní komunikace před odposlechem a zneužitím citlivých informací.

www.circletech.net Aplikace pro ochranu mobilní komunikace před odposlechem a zneužitím citlivých informací. www.circletech.net Aplikace pro ochranu mobilní komunikace před odposlechem a zneužitím citlivých informací. Radim Rindler Obchodní ředitel CircleTech s.r.o. 2013 CircleTech s.r.o. Společnost CircleTech,

Více

BM Software, Databáze Docházky 3000 na NAS serveru (pro MySQL) Němčičky 84, 69107 Němčičky u Břeclavi. Úvodní informace:

BM Software, Databáze Docházky 3000 na NAS serveru (pro MySQL) Němčičky 84, 69107 Němčičky u Břeclavi. Úvodní informace: BM Software, Němčičky 84, 69107 Němčičky u Břeclavi Vývoj, výroba, prodej a montáž docházkových a identifikačních systémů Tel: 519 430 765, Mobil: 608 447 546 e-mail: bmsoft@seznam.cz web: http://www.dochazka.eu

Více

Instalace programu ProVIS

Instalace programu ProVIS Instalace programu ProVIS Tento program umožňuje instalovat program ProVIS. Umožňuje vybrat, kam se bude instalovat, a jednotlivé součásti instalace. Instalace probíhá v několika krocích. Každý krok má

Více

Úvod - Podniková informační bezpečnost PS1-2

Úvod - Podniková informační bezpečnost PS1-2 VŠFS; Aplikovaná informatika - 2006/2007 1 Bezpečnost informací BI Ing. Jindřich Kodl, CSc. Úvod - Podniková informační bezpečnost PS1-2 VŠFS; Aplikovaná informatika - 2006/2007 2 Literatura Kovacich G.L.:

Více

Moderní metody substitučního šifrování

Moderní metody substitučního šifrování PEF MZLU v Brně 11. listopadu 2010 Úvod V současné době se pro bezpečnou komunikaci používají elektronická média. Zprávy se před šifrováním převádí do tvaru zpracovatelného technickým vybavením, do binární

Více

Téma 10: Správa hardwarových zařízení a ovladačů II

Téma 10: Správa hardwarových zařízení a ovladačů II Téma 10: Správa hardwarových zařízení a ovladačů II 1 Teoretické znalosti V tomto cvičení budete detailněji pracovat se Správcem zařízení a nastavením ovladačů zařízení hardware. Správce zařízení S tímto

Více

KRYPTOGRAFIE VER EJNE HO KLI Č E

KRYPTOGRAFIE VER EJNE HO KLI Č E KRYPTOGRAFIE VER EJNE HO KLI Č E ÚVOD Patricie Vyzinová Jako téma jsem si vybrala asymetrickou kryptografii (kryptografie s veřejným klíčem), což je skupina kryptografických metod, ve kterých se pro šifrování

Více

RadioBase 3 Databázový subsystém pro správu dat vysílačů plošného pokrytí

RadioBase 3 Databázový subsystém pro správu dat vysílačů plošného pokrytí Databázový subsystém pro správu dat vysílačů plošného pokrytí RadioBase je datový subsystém pro ukládání a správu dat vysílačů plošného pokrytí zejména pro služby analogové a digitální televize a rozhlasu.

Více

TSM for Virtual Environments Data Protection for VMware v6.3. Ondřej Bláha CEE+R Tivoli Storage Team Leader. TSM architektura. 2012 IBM Corporation

TSM for Virtual Environments Data Protection for VMware v6.3. Ondřej Bláha CEE+R Tivoli Storage Team Leader. TSM architektura. 2012 IBM Corporation TSM for Virtual Environments Data Protection for VMware v6.3 Ondřej Bláha CEE+R Tivoli Storage Team Leader TSM architektura 2012 IBM Corporation Tradiční zálohování a obnova dat ze strany virtuálního stroje

Více

Newsletter RIBTEC automatické aktualizace Praktická novinka v servisu a podpoře k softwaru RIBTEC od verzí 15.0

Newsletter RIBTEC automatické aktualizace Praktická novinka v servisu a podpoře k softwaru RIBTEC od verzí 15.0 1.1 Automatické aktualizace RIBTEC Pomocí nového Prostředí automatických aktualizací můžete udržovat Váš software stavební statiky RIBTEC od verzí 15.0 a vyšších na aktuálním stavu. Tento systémový nástroj

Více

Registrační číslo projektu: CZ.1.07/1.5.00/34.0553 Elektronická podpora zkvalitnění výuky CZ.1.07 Vzděláním pro konkurenceschopnost

Registrační číslo projektu: CZ.1.07/1.5.00/34.0553 Elektronická podpora zkvalitnění výuky CZ.1.07 Vzděláním pro konkurenceschopnost Registrační číslo projektu: CZ.1.07/1.5.00/34.0553 Elektronická podpora zkvalitnění výuky CZ.1.07 Vzděláním pro konkurenceschopnost Projekt je realizován v rámci Operačního programu Vzdělávání pro konkurence

Více

Praktické šifrování dat pomocí programu PGP

Praktické šifrování dat pomocí programu PGP Instalace prostředí Praktické šifrování dat pomocí programu PGP Jako první je nutné stáhnout program GPG a extrahovat jeho obsah do vybraného adresáře. Program získáme např. na adrese http://www.gnupg.org/.

Více

SSL Secure Sockets Layer

SSL Secure Sockets Layer SSL Secure Sockets Layer internetové aplikační protokoly jsou nezabezpečené SSL vkládá do architektury šifrující vrstvu aplikační (HTTP, IMAP,...) SSL transportní (TCP, UDP) síťová (IP) SSL poskytuje zabezpečenou

Více

GTL GENERATOR NÁSTROJ PRO GENEROVÁNÍ OBJEKTŮ OBJEKTY PRO INFORMATICA POWERCENTER. váš partner na cestě od dat k informacím

GTL GENERATOR NÁSTROJ PRO GENEROVÁNÍ OBJEKTŮ OBJEKTY PRO INFORMATICA POWERCENTER. váš partner na cestě od dat k informacím GTL GENERATOR NÁSTROJ PRO GENEROVÁNÍ OBJEKTŮ OBJEKTY PRO INFORMATICA POWERCENTER váš partner na cestě od dat k informacím globtech spol. s r.o. karlovo náměstí 17 c, praha 2 tel.: +420 221 986 390 info@globtech.cz

Více

Slovník pro Acronis True Image 2017

Slovník pro Acronis True Image 2017 Slovník pro Acronis True Image 2017 A Acronis Secure Zone Spolehlivý diskový oddíl určený k zálohování (str. 172) na pevném disku. Výhody: Umožňuje obnovení disku na stejný disk, kde je umístěna záloha

Více

Přidělování paměti II Mgr. Josef Horálek

Přidělování paměti II Mgr. Josef Horálek Přidělování paměti II Mgr. Josef Horálek Techniky přidělování paměti = Přidělování jediné souvislé oblasti paměti = Přidělování paměti po sekcích = Dynamické přemisťování sekcí = Stránkování = Stránkování

Více

Obsah. Úroveň I - Přehled. Úroveň II - Principy. Kapitola 1. Kapitola 2

Obsah. Úroveň I - Přehled. Úroveň II - Principy. Kapitola 1. Kapitola 2 Úroveň I - Přehled Úroveň II - Principy Kapitola 1 Kapitola 2 1. Základní pojmy a souvislosti 27 1.1 Zpráva vs. dokument 27 1.2 Písemná, listinná a elektronická podoba dokumentu 27 1.3 Podpis, elektronický

Více

Obsah. Zpracoval:

Obsah. Zpracoval: Zpracoval: houzvjir@fel.cvut.cz 03. Modelem řízený vývoj. Doménový (business), konceptuální (analytický) a logický (návrhový) model. Vize projektu. (A7B36SIN) Obsah Modelem řízený vývoj... 2 Cíl MDD, proč

Více

ICZ - Sekce Bezpečnost

ICZ - Sekce Bezpečnost ICZ - Sekce Bezpečnost Petr Řehoř, ICZ a.s. 31. října 2013 1 Agenda Sekce Bezpečnost Důvěryhodná výpočetní základna bezpečnost sítí Microsoft Windows ICZ Protect Boot ochrana dat při ztrátě nebo odcizení

Více

Paměťový podsystém počítače

Paměťový podsystém počítače Paměťový podsystém počítače typy pamětových systémů počítače virtuální paměť stránkování segmentace rychlá vyrovnávací paměť 30.1.2013 O. Novák: CIE6 1 Organizace paměťového systému počítače Paměťová hierarchie...

Více

Disková pole (RAID) 1

Disková pole (RAID) 1 Disková pole (RAID) 1 Architektury RAID Důvod zavedení RAID: reakce na zvyšující se rychlost procesoru. Pozice diskové paměti v klasickém personálním počítači vyhovuje pro aplikace s jedním uživatelem.

Více

Novinky. Autodesk Vault helpdesk.graitec.cz,

Novinky. Autodesk Vault helpdesk.graitec.cz, Novinky Autodesk Vault 2018 www.graitec.cz www.cadnet.cz, helpdesk.graitec.cz, www.graitec.com Novinky Autodesk Vault 2018 PDF dokument obsahuje přehled novinek produktu Autodesk Vault 2018. Obsah: Úvod...

Více

Téma 12: Správa diskových jednotek a system souborů. Téma 12: Správa diskových jednotek a systémů souborů

Téma 12: Správa diskových jednotek a system souborů. Téma 12: Správa diskových jednotek a systémů souborů Téma 12: Správa diskových jednotek a systémů souborů 1 Teoretické znalosti V tomto cvičení se podíváte na práci s diskovými jednotkami. Naučíte se používat nástroj správy disků, který se poprvé objevil

Více

monolitická vrstvená virtuální počítač / stroj modulární struktura Klient server struktura

monolitická vrstvená virtuální počítač / stroj modulární struktura Klient server struktura IBM PC 5150 MS DOS 1981 (7 verzí) DR DOS, APPLE DOS, PC DOS 1. 3. Windows grafická nástavba na DOS Windows 95 1. operační systém jako takový, Windows XP 2001, podporovány do 2014, x86 a Windows 2000 Professional

Více

Operační systém. Mgr. Renáta Rellová. Výukový materiál zpracován v rámci projektu EU peníze školám

Operační systém. Mgr. Renáta Rellová. Výukový materiál zpracován v rámci projektu EU peníze školám Operační systém Mgr. Renáta Rellová Výukový materiál zpracován v rámci projektu EU peníze školám Autorem materiálu a všech jeho částí, není-li uvedeno jinak, je Mgr. Renáta Rellová. Dostupné z Metodického

Více

ZÁLOHA A OBNOVA ABRA GEN

ZÁLOHA A OBNOVA ABRA GEN ABRA Software a.s. Jeremiášova 1422/7b 155 00 Praha 13 IČ 25097563 DIČ: CZ2597563 Zapsal Městský soud v Praze OR odd. B, vložka 4475 ZÁLOHA A OBNOVA ABRA GEN DB Firebird Vypracoval: Martin Bohuslav Datum:

Více

Testovací protokol. webový generátor PostSignum. sada PIIX3; 1 GB RAM; harddisk 20 GB IDE OS: Windows Vista Service Pack 2 SW: Internet Explorer 9

Testovací protokol. webový generátor PostSignum. sada PIIX3; 1 GB RAM; harddisk 20 GB IDE OS: Windows Vista Service Pack 2 SW: Internet Explorer 9 Příloha č. 4 1 Informace o testování estovaný generátor: 2 estovací prostředí estovací stroj č. 1: estovací stroj č. 2: estovací stroj č. 3: Certifikáty vydány autoritou: estovací protokol webový generátor

Více

EPLAN Electric P8 2.7 s databázemi na SQL serveru

EPLAN Electric P8 2.7 s databázemi na SQL serveru EPLAN Electric P8 2.7 s databázemi na SQL serveru EPLAN Electric P8 2.7 k dispozici pouze ve verzi 64bit. EPLAN Electric P8 využívá k ukládání některých dat databáze. Artikly, překladový slovník 1 ) a

Více

Střední odborná škola a Střední odborné učiliště, Hořovice

Střední odborná škola a Střední odborné učiliště, Hořovice Kód DUM : VY_32_INOVACE_LIN.1.19 Název materiálu: Anotace Autor Jazyk Očekávaný výstup 19_ Bezpečnost dat zálohování a obnova dat programem dd DUM seznámí žáky s možnostmi zálohování komprimačním programem

Více

Výpočet v módu jádro. - přerušení (od zařízení asynchronně) - výjimky - softvérové přerušení. v důsledku událostí

Výpočet v módu jádro. - přerušení (od zařízení asynchronně) - výjimky - softvérové přerušení. v důsledku událostí Výpočet v módu jádro v důsledku událostí - přerušení (od zařízení asynchronně) - výjimky - softvérové přerušení řízení se předá na proceduru pro ošetření odpovídající události část stavu přerušeného procesu

Více

Zranitelnosti ovladačů jádra v praxi Martin Dráb martin.drab@email.cz

Zranitelnosti ovladačů jádra v praxi Martin Dráb martin.drab@email.cz Zranitelnosti ovladačů jádra v praxi Martin Dráb martin.drab@email.cz Obsah Ovladače a zařízení Virtuální paměť Komunikace s ovladači Útoky na chybné ošetřování vstupů Systémová volání Útok záměnou argumentů

Více

Řízení IO přenosů DMA řadičem

Řízení IO přenosů DMA řadičem Řízení IO přenosů DMA řadičem Doplňující text pro POT K. D. 2001 DMA řadič Při přímém řízení IO operací procesorem i při použití přerušovacího systému je rychlost přenosu dat mezi IO řadičem a pamětí limitována

Více

2.2 Acronis True Image 19

2.2 Acronis True Image 19 Obsah Kniha první Acronis True Image 9.0 1. Úvod 15 1.1 Co je Acronis True Image? 15 1.2 Co je nového v aplikaci Acronis True Image 9.0? 15 1.3 Jaký je rozdíl mezi zálohami a diskovými obrazy disků/diskových

Více

KAPITOLA 1 - ZÁKLADNÍ POJMY INFORMAČNÍCH A KOMUNIKAČNÍCH TECHNOLOGIÍ

KAPITOLA 1 - ZÁKLADNÍ POJMY INFORMAČNÍCH A KOMUNIKAČNÍCH TECHNOLOGIÍ KAPITOLA 1 - ZÁKLADNÍ POJMY INFORMAČNÍCH A KOMUNIKAČNÍCH TECHNOLOGIÍ KLÍČOVÉ POJMY technické vybavení počítače uchování dat vstupní a výstupní zařízení, paměti, data v počítači počítačové sítě sociální

Více

BusinessNet Connect Integrační příručka UniCredit Bank Czech Republic and Slovakia, a.s.

BusinessNet Connect Integrační příručka UniCredit Bank Czech Republic and Slovakia, a.s. BusinessNet Connect Integrační příručka UniCredit Bank Czech Republic and Slovakia, a.s. BusinessNet Connect Prosinec 2013 2 ÚVOD Vážený kliente, Integrace firemních systémů s bankovními systémy je stále

Více

Bezpečnostní politika společnosti synlab czech s.r.o.

Bezpečnostní politika společnosti synlab czech s.r.o. Bezpečnostní politika společnosti synlab czech s.r.o. Platnost dokumentu: 14. ledna 2015 Datum vypracování: 8. ledna 2015 Datum schválení: 13. ledna 2015 Vypracoval: Schválil: Bc. Adéla Wosková, Ing. Jaroslav

Více

Instalace a konfigurace web serveru. WA1 Martin Klíma

Instalace a konfigurace web serveru. WA1 Martin Klíma Instalace a konfigurace web serveru WA1 Martin Klíma Instalace a konfigurace Apache 1. Instalace stáhnout z http://httpd.apache.org/ nebo nějaký balíček předkonfigurovaného apache, např. WinLamp http://sourceforge.net/projects/winlamp/

Více

1/1 ČESKÁ ZEMĚDĚLSKÁ UNIVERZITA V PRAZE PROVOZNĚ EKONOMICKÁ FAKULTA PŘIJÍMACÍ ŘÍZENÍ 2017/2018

1/1 ČESKÁ ZEMĚDĚLSKÁ UNIVERZITA V PRAZE PROVOZNĚ EKONOMICKÁ FAKULTA PŘIJÍMACÍ ŘÍZENÍ 2017/2018 ČESKÁ ZEMĚDĚLSKÁ UNIVERZITA V PRAZE PROVOZNĚ EKONOMICKÁ FAKULTA PŘIJÍMACÍ ŘÍZENÍ 2017/2018 Informační technologie 1 - Doporučená doba zpracování: 40 minut 1) Termín DCL v relačně databázové technologii

Více

Gymnázium a Střední odborná škola, Rokycany, Mládežníků 1115

Gymnázium a Střední odborná škola, Rokycany, Mládežníků 1115 Gymnázium a Střední odborná škola, Rokycany, Mládežníků 1115 Číslo projektu: Číslo šablony: 12 Název materiálu: Ročník: Identifikace materiálu: Jméno autora: Předmět: Tématický celek: Anotace: CZ.1.07/1.5.00/34.0410

Více

Elektronický podpis. Základní princip. Digitální podpis. Podpis vs. šifrování. Hashování. Jednosměrné funkce. Odesílatel. Příjemce

Elektronický podpis. Základní princip. Digitální podpis. Podpis vs. šifrování. Hashování. Jednosměrné funkce. Odesílatel. Příjemce Základní princip Elektronický podpis Odesílatel podepíše otevřený text vznikne digitálně podepsaný text Příjemce ověří zda podpis patří odesílateli uvěří v pravost podpisu ověří zda podpis a text k sobě

Více

SIM karty a bezpečnost v mobilních sítích

SIM karty a bezpečnost v mobilních sítích Spojujeme software, technologie a služby SIM karty a bezpečnost v mobilních sítích Václav Lín programátor 19.5.2009 1 Osnova SIM karty Role SIM karet v telekomunikacích Hardwarové charakteristiky Bezpečnost

Více

Principy operačních systémů. Lekce 7: Obrana proti deadlocku

Principy operačních systémů. Lekce 7: Obrana proti deadlocku Principy operačních systémů Lekce 7: Obrana proti deadlocku Deadlock Deadlock = uváznutí, zablokování Vznik problému: proces drží určité prostředky, požaduje přidělení dalších prostředků, tyto nedostane

Více

Přednáška 2. Systémy souborů OS UNIX. Nástroje pro práci se souborovým systémem. Úvod do Operačních Systémů Přednáška 2

Přednáška 2. Systémy souborů OS UNIX. Nástroje pro práci se souborovým systémem. Úvod do Operačních Systémů Přednáška 2 Přednáška 2 Systémy souborů OS UNIX. Nástroje pro práci se souborovým systémem. 1 Systém souborů (FS) I 2 Systém souborů II Logický systém souborů pro běžného uživatele se jeví jako jediná homogenní struktura

Více

Semestrální práce z předmětu Speciální číslicové systémy X31SCS

Semestrální práce z předmětu Speciální číslicové systémy X31SCS Semestrální práce z předmětu Speciální číslicové systémy X31SCS Katedra obvodů DSP16411 ZPRACOVAL: Roman Holubec Školní rok: 2006/2007 Úvod DSP16411 patří do rodiny DSP16411 rozšiřuje DSP16410 o vyšší

Více

FREEWAROVÉ ŘEŠENÍ DICOM SERVERU S NÍZKÝMI NÁROKY NA HARDWAROVÉ VYBAVENÍ

FREEWAROVÉ ŘEŠENÍ DICOM SERVERU S NÍZKÝMI NÁROKY NA HARDWAROVÉ VYBAVENÍ FREEWAROVÉ ŘEŠENÍ DICOM SERVERU S NÍZKÝMI NÁROKY NA HARDWAROVÉ VYBAVENÍ Daniel Smutek 1), Ludvík Tesař 2) 1) 3. interní klinika 1.LF UK a VFN, Praha 2) Ústav teorie informace a automatizace, Akademie věd

Více

Přednáška 10. X Window. Secure shell. Úvod do Operačních Systémů Přednáška 10

Přednáška 10. X Window. Secure shell. Úvod do Operačních Systémů Přednáška 10 Přednáška 10 X Window. Secure shell. 1 X Window systém I Systém pro správu oken. Poskytuje nástroje pro tvorbu GUI (Graphical User Interface) a grafických aplikací. Nezávislý na hardwaru. Transparentní

Více

Operační systémy 1. Přednáška číslo 10 26. 4. 2010. Struktura odkládacích zařízení

Operační systémy 1. Přednáška číslo 10 26. 4. 2010. Struktura odkládacích zařízení Operační systémy 1 Přednáška číslo 10 26. 4. 2010 Struktura odkládacích zařízení Základní pojmy Paměťové médium periferní zařízení nejvyšší důležitosti samotný OS je obvykle uložen na paměťovém zařízení.

Více

Základní typy struktur výpočetních systémů

Základní typy struktur výpočetních systémů Základní typy struktur výpočetních systémů Struktury výpočetních systémů Monolitická struktura Vrstvená (hierarchická) struktura Virtuální počítače (virtuální stroje) Abstraktní počítače Modulární struktura

Více