Alyssa Rosenzweig se v příspěvku na svém blogu Vulkan 1.3 na M1 za 1 měsíc rozepsala o novém Vulkan 1.3 ovladači Honeykrisp pro Apple M1 splňujícím specifikaci Khronosu. Vychází z ovladače NVK pro GPU od Nvidie. V plánu je dále rozchodit DXVK a vkd3d-proton a tím pádem Direct3D, aby na Apple M1 s Asahi Linuxem běžely hry pro Microsoft Windows.
Byla vydána (𝕏) květnová aktualizace aneb nová verze 1.90 editoru zdrojových kódů Visual Studio Code (Wikipedie). Přehled novinek i s náhledy a animovanými gify v poznámkách k vydání. Ve verzi 1.90 vyjde také VSCodium, tj. komunitní sestavení Visual Studia Code bez telemetrie a licenčních podmínek Microsoftu.
Byla vydána (Mastodon, 𝕏) nová verze 2024.2 linuxové distribuce navržené pro digitální forenzní analýzu a penetrační testování Kali Linux (Wikipedie). Přehled novinek se seznamem nových nástrojů v oficiálním oznámení.
Počítačová hra Tetris slaví 40 let. Alexej Pažitnov dokončil první hratelnou verzi 6. června 1984. Mezitím vznikla celá řada variant. Například Peklo nebo Nebe. Loni měl premiéru film Tetris.
MicroPython (Wikipedie), tj. implementace Pythonu 3 optimalizovaná pro jednočipové počítače, byl vydán ve verzi 1.23.0. V přehledu novinek je vypíchnuta podpora dynamických USB zařízení nebo nové moduly openamp, tls a vfs.
Canonical vydal Ubuntu Core 24. Představení na YouTube. Nová verze Ubuntu Core vychází z Ubuntu 24.04 LTS a podporována bude 12 let. Ubuntu Core je určeno pro IoT (internet věcí) a vestavěné systémy.
Databáze DuckDB (Wikipedie) dospěla po 6 letech do verze 1.0.0.
Intel na veletrhu Computex 2024 představil (YouTube) mimo jiné procesory Lunar Lake a Xeon 6.
Na blogu Raspberry Pi byl představen Raspberry Pi AI Kit určený vlastníkům Raspberry Pi 5, kteří na něm chtějí experimentovat se světem neuronových sítí, umělé inteligence a strojového učení. Jedná se o spolupráci se společností Hailo. Cena AI Kitu je 70 dolarů.
Byla vydána nová verze 14.1 svobodného unixového operačního systému FreeBSD. Podrobný přehled novinek v poznámkách k vydání.
Mnoho problémů s bezpečností linuxových strojů může být připisováno chabému zabezpečení, pokud má útočník fyzický přístup k počítači. Tehdy si s ním může dělat co si jen zamane (včetně získání všech dat na počítači uložených). Napadne nás jistě pousta scénářů, kdy k něčemu podobnému může dojít a kdy zneužití (prozrazení) může náš život přinejmenším zkomplikovat.
Je tedy jistě vhodné tomu nějak zabránit. Jednou z nepříliš rozumných možností by bylo před naším počítačem hlídkovat nebo jej uložit někde do trezoru. Tento postup je jistě vhodný, ale musíme být dostatečne silní, aby se našeho harddisku stejně nikdo nezmocnil.
Daleko elegantnější bude, když obsah našeho disku zašifrujeme a případný útočník pak dostane pro něj naprosto nepoužitelnou hromádku dat. Postup jak šifrovaný filesystém vytvořit si právě zde vysvětlíme.
Než se pustíme do vytvoření šifrovaného filesystému, je potřeba začít poněkud zeširoka. V dnešní době můžeme pomocí externích patchů linuxového jádra zašifrovat disk, síťové spojení atd. V tomto článku se zaměříme hlavně na Linux CryptoAPI.
Nemusíme si zde jistě dlouze vysvětlovat, o co to vlastně v šifrování jde. Pokud si v této oblasti někdo není příliš jistý, na internetu se jistě dá objevit spousta materiálů, které pomohou nejasnosti eliminovat.
Tím, že jsme přidali podporu šifrování do "kernel space", jsme získali spoustu nových možností jak důležité informace více zabezpečit. Od šifrování disků po IPsec a jiné druhy šifrování komunikace.
V současné době jsou k dispozici dvě možnosti podpory šifrování na úrovni kernelu. Je jím loop-AES a CryptoAPI, kterým se budeme zabývat dále. Obě z těchto variant umožňují použití bez nutnosti kompilace nového kernelu (stačí pouze zkompilovat příslušné moduly), a dokonce bez nutnosti restartu stroje. Oba způsoby tedy umožňují podporu šifrování v kernelu formou modulů. V našem seriálu si ukážeme jak zprovoznit CryptoAPI při kompilaci kernelu.
Loop-AES je navržen pouze pro šifrování filesystému. Pro šifrování používá Advanced Encryption Standard (AES). Jeho implementace je rychlá a pro Intel x86 procesory je dokonce přímo v assembleru (pro ostatní platformy musíme použít implementaci v jazyce C). Další informace najdeme na domovské stránce tohoto projektu http://loop-aes.sourceforge.net/.
Naopak CryptoAPI poskytuje daleko rozsáhlejší možnosti použití. Obsahuje v sobě rozhraní, které umožňuje ostatním modulům využít možnosti šifrování dat. Šifrování filesystému je pouze jednou z aplikací. Další výhodou je možnost využití 12 různých šifrovacích technik a podpora použití filesystémů šifrovaných pomocí loop-AES.
Budeme se zde zabývat instalací s kernelem řady 2.4, v případě 2.5 je problém jednodušší, jelikož podpora je přímo součástí jádra. K instalaci CryptoAPI tedy budeme potřebovat zdrojový kód kernelu (je také dobré vědět, o jaký kernel se jedná), dále pak zdrojové kódy CryptoAPI. Zde je nutno říci, že díky lehce zavádějícím informacím na domovských stránkách projektu CryptoAPI. instalace není úplně triviální záležitostí, Možností, jak CryptoAPI nainstalovat je více. My si zde povíme o jedné z nich, která by měla fungovat.
Předpokládejme kernel 2.4.20, jistě jej spousta z nás používá. Je nutné si
stahnout zdrojové kódy tohoto kernelu (pokud je na svém stroji již nemáme).
Dále získáme patch z adresy:
http://www.kernel.org/pub/linux/kernel/people/hvr/testing/.
Pro náš příklad se bude jednat o soubor patch-int-2.4.20.1.gz
. Následující
postup není jedinou možností, nicméně v praxi fungoval. Tedy vzhůru do
práce!
Nejprve musíma patch rozbalit a poté aplikovat na zdrojové kódy připraveného kernelu. Čili zkopírujeme jej do adresáře se zdrojovými kódy kernelu a aplikujeme následujícím příkazem:
patch -p1 < patch-int-2.4.20.1
Nyní musíme nastavit konfigurační soubor kernelu, abychom poté mohli
získat potřebné moduly (nebo jádro s přímou podporou CryptoAPI). Po
aplikování patche nám přibude ve výběru (jádro nejlépe nastavíme utilitou
spuštěnou příkazem make menuconfig
případně
xconfig
) další položka v menu s názvem Cryptography support
(CryptoAPI). V ní je nutné zaškrtnout položky CryptoAPI support a v
Crypto Devices položku Loop Crypto support. Dále si vybíráme z několika možných
šifer a tzv. one-way (jednocestné) funkce. Je vhodné vybrat alespoň jednu
šifru, jelikož bychom pak neměli čím šifrovat. Při výběru té správné nám
částečně pomůže následující kapitola. Také nesmíme zapomenout zaškrtnout
podporu Loopback device v sekci Block devices! Je to jediná položka,
kterou potřebujeme a která je mimo sekci Cryptography support. Proto je
celkem jednoduché ji vynechat.
Předpokládejme, že již máme vybrány všechny nutné volby. Můžeme se tedy pustit do kompilace kernelu. Postup se od tohoto okamžiku neliší od běžné praxe, proto jím nebudeme zdržovat a půjdeme dále.
Dalším nezbytným krokem je stahnutí a nainstalování programu losetup, který je součástí balíčku util-linux. Ukážeme si tedy, jak jej správně nainstalovat.
Nejdříve si musíme balíček stáhnout. Najdeme jej například na serveru ftp.kernel.org nebo na dalších mirrorech se zdrojovými kódy kernelu. Pro správný chod tohoto softwaru ještě potřebujeme patch, který najdeme například zde.
Jelikož není k dispozici patch pro nejnovější verzi util-linux, použijeme verzi 2.11r. Stáhneme tedy util-linux-2.11r.tar.gz a odpovídající patch util-linux-2.11r.patch.gz. Rozbalíme util-linux i patch a patch na nej aplikujeme běžným způsobem:
patch -p1 < util-linux-2.11r.patch
Dále postupujeme podle přiloženého souboru INSTALL, obvykle klasickou kombinací příkazů:
./configure
make
make install
Nyní máme vše připraveno a můžeme začít používat šifrované filesystémy.
Výběr šifry, kterou použijeme pro náš filesystém, je jistě také důležitou volbou. Nebudeme si zde uvádět fakta o bezpečnosti jednotlivých šifer, zaprvé se to na tento server tolik nehodí a navíc by to bylo moc obsáhlé. Všem zájemcům doporučuji použít vyhledávače a najít si potřebné informace na internetu, určitě neco najdou.
Kromě bezpečnosti nás však bude zajímat i rychlost jednotlivých šifer, jelikož nikdo si nechce svůj počítač příliš zpomalovat. Hodnoty uvedené v tabulce nesouvisí přímo s CryptoAPI a dokonce nebyly získány na operačním systému Linux. Nám však mohou posloužit k porovnání jednotlivých šifer mezi sebou, o což nám jde.
U každé šifry je uveden počet zašifrovaných bytů dat za sekundu. Test byl proveden z dnešního hlediska již na zastaralém počítači (s procesorem Intel Celeron 450MHz). V dnešní době dosáhneme hodnot výrazně vyšších.
Sifra | B/s |
AES (Rijndael) | 11751322 |
Blowfish | 9013043 |
CAST5 (CAST-128) | 9019403 |
DES | 7372170 |
GOST | 5216999 |
IDEA | 6388278 |
MARS | 16690115 |
RC5 | 26025058 |
RC6 | 20230270 |
Serpent | 6982324 |
Twofish | 10168780 |
3DES | 2457390 |
To je pro dnešek vše. Příště si povíme něco o vytváření a používání šifrovaných filesystémů.
Nástroje: Tisk bez diskuse
Tiskni Sdílej: