RemDisk: Šifrování a práce s disky trochu jinak

Unicorn College Tento obsah je dostupný zdarma v rámci projektu IT lidem.
Vydávání, hosting a aktualizace umožňují jeho sponzoři.

Jednou z věcí, která na Windows v základu chybí, je možnost vytvářet a mountovat disky, jejichž obsah je uložen v souborech. Což je unixových systémech poměrně triviální záležitost. Existují samozřejmě utility, které toto dokáží (např. ImDisk), ale ne k mé úplné spokojenosti. Obvykle totiž pracují na úrovni svazků (tedy v zásadě jednotlivých oddílů), ne celých diskových zařízení.

A tak vznikl RemDisk, jehož hlavní cíle jsou:

  • "mountovat" celá disková zařízení ze souborů či přímo z RAM,
  • podporovat bezpečné šifrování (alespoň papírově),
  • vyzkoušet si nové technologie.

RemDisk již je tu s námi (ač z logických důvodů nepovšimnut) nějakou tu dobu, nicméně mu schází řada věcí. Například nelze říci, že by tento software patřil mezi ty stabilní. Ale je toho mnohem více:

  • Netriviální instalace. Proces instalace, který není nikde příliš popsán, zahrnuje netriviální kroky v podobě zavádění dvou ovladačů do systému a vytváření virtuální sběrnice, která je interně použita pro připojení všech diskových zařízení. Grafický instalátor by se určitě hodil.
  • Jednoduché šifrování. Aktuální verze pro šifrování používá AES v módu xor-encrypt-xor (XEX), což je podle dnešních standardů bezpečné, ale další požadované vlastnosti chybí. Neřeší ochranu integrity a heslo používá přímo pro generování klíče pro (de)šifrování, což při jeho změně znamená přešifrování obsahu celého zařízení.
  • Nepodporuje skryté disky známé z XXXCryptu. Na tuhle vychytávku se v rámci soutěže pravděpodobně ani nedostane, protože její implementace (ve srovnání s předešlými body) je obtížná, ale je dobré alespoň zmínit, že i na ty, kteří chtějí svůj disk ukrýt tak, aby jeho přítomnost nebylo možné prokázat (teoreticky, ne prakticky), je vzpomenuto.

Najde se pravděpodobně řada dalších malých vylepšení. Mým cílem je v rámci soutěže program odladit a vylepšit v rámci mých časových možností.

Co se týče použitých programovacích jazyků a technologií, celé díslo se skládá z:

  • dvou ovladačů psaných v C,
  • jedné knihovny (též C),
  • jedné konzolové aplikace (opět C/C++), která bude později odstraněna,
  • a GUI aplikace (Lazarus/Delphi).

Jelikož je v dnešní době populární používat při vývoji nějaký ten framework, ani RemDisk není výjimkou. Ovladače jsou psány za vydatné pomoci Kernel Mode Driver Framework (KMDF). Naučit se s ním pracovat je jedna z motivací pro vznik celého projektu.

Zdrojové kódy projektu je možné nalézt na mém GitHubu

Program byl vytvořen v roce 2019.

 

 

Program pro vás napsal Martin Dráb
Avatar
Jak se ti líbí článek?
Ještě nikdo nehodnotil, buď první!
Autor se věnuje studiu obecné teorie operačních systémů, vnitřnímu uspořádání jádra OS Windows, trochu také matematice a šifrování
Všechny články v sekci
ITnetwork summer 2019 - Ceny v hodnotě 10 000 Kč!
Aktivity (2)

 

 

Komentáře

Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zatím nikdo nevložil komentář - buď první!