Digitální forenzní analýza: Zrychlení lámání hesel - Hranický, Radek (Vysoké učení technické v Brně. Fakulta informačních technologií, 2022)
Kryptografické zabezpečení patří v oblasti forenzní analýzy digitálních dat mezi největší výzvy. Hesla představují jednak tradiční způsob autentizace, jednak z nich jsou tvořeny šifrovacích klíče. Zabezpečují tak často různá zařízení, systémy, dokumenty, disky, apod. Jediné heslo tak může tvořit zásadní překážku při zkoumání digitálního obsahu. A pokud vlastník tohoto obsahu heslo odmítne poskytnout, je pro forenzní experty jedinou možností heslo prolomit. Byť je lámání hesel principielně jednoduché, jeho výpočetní náročnost je mnohdy extrémní. Při složitějších úlohách je často nutné zkoušet miliardy různých kandidátních hesel, což může trvat dny či měsíce. A proto je cílem této disertační práce prozkoumat způsoby, jak proces lámání hesel urychlit.     Prostudoval jsem metody distribuce úloh mezi více výpočetních uzlů. Při vhodně zvoleném postupu lze dosáhnout vyššího výpočetního výkonu a snížit čas potřebný k řešení úlohy. Pro zodopovězení otázky, jaké postupy jsou "vhodné", jsem analyzoval aspekty, které ovlivňují zrychlení úloh. Můj výzkum ukázal, že efektivita distribuovaného útoku závisí na typu realizovaného útoku, tedy, jak hesla tvoříme, použitých kryptografických algoritmech, technologii a strategii distribuce. Práce proto srovnává existující řešení pro distribované zpracování a představuje možná schémata rozdělení výpočtu. Pro každý typ útoku práce diskutuje použitelné distribuční strategie a vysvětluje, které z nich je vhodné použít a proč. Navržené techniky jsou demonstrovány na prototypu ukázkového řešení - systému Fitcrack, který využívá technologie BOINC a nástroje hashcat jako "lámacího motoru." Přínos navržených řešení je demonstrován na řadě experimentů, které zkoumají zejména čas, výkon a efektivitu distribuovaných útoků. Součástí je také srovnání s distribuovaným systémem Hashtopolis, který také využívá nástroje hashcat.     Dalším způsobem, jak dobu výpočtu zkrátit, je snížit počet zkoušených hesel. Výzkumy ukazují, že uživatelé, pokud mohou, často volí taková hesla, která si lze snadno pamatovat a nevědomky tak následují množství společných vzorů. Ty je pak možné popsat matematicky. Matematický model může vycházet například z dat získaných automatickým zpracováním existujících sad hesel z nejrůznějších bezpečnostních úniků. Vytvořený model pak lze použít k přesnějšímu cílení útoků. Počet zkoušených kandidátních hesel tak můžeme zredukovat pouze na ta nejpravděpodobnější. Lámání hesel pomocí pravděpodobnostních bezkontextových gramatik tak představuje chytrou alternativu ke klasickému útoku hrubou silou, či slovníkovým útokům. Práce vysvětluje principy použití gramatik pro tyto účely a přináší řadu zlepšení existujících metod. Součástí je také návrh paralelního a distribuovaného řešení. Práce popisuje techniku, kdy distribuujeme větné formy v podobě částečně rozgenerovaných hesel, což snižuje množství přenášených dat. Díky toho můžeme úlohy řešit efektivněji a v kratším čase. Navržené řešení je demonstrováno prostřednictvím ukázkového nástroje a přiložené experimenty ukazují jeho použitelnost.

Cryptographic protection of sensitive data is one of the biggest challenges in digital forensics. A password is both a traditional way of authentication and a pivotal input for creating encryption keys. Therefore, they frequently protect devices, systems, documents, and disks. Forensic experts know that a single password may notably complicate the entire investigation. With suspects unwilling to comply, the only way the investigators can break the protection is password cracking. While its basic principle is relatively simple, the complexity of a single cracking session may be enormous. Serious tasks require to verify billions of candidate passwords and may take days and months to solve. The purpose of the thesis is thereby to explore how to accelerate the cracking process. I studied methods of distributing the workload across multiple nodes. This way, if done correctly, one can achieve higher cracking performance and shorten the time necessary to resolve a task. To answer what "correctly" means, I analyzed the aspects that influence the actual acceleration of cracking sessions. My research revealed that a distributed attack's efficiency relies upon the attack mode - i.e., how we guess the passwords, cryptographic algorithms involved, concrete technology, and distribution strategy. Therefore, the thesis compares available frameworks for distributed processing and possible schemes of assigning work. For different attack modes, it discusses potential distribution strategies and suggests the most convenient one. I demonstrate the proposed techniques on a proof-of-concept password cracking system, the Fitcrack - built upon the BOINC framework, and using the hashcat tool as a "cracking engine." A series of experiments aim to study the time, performance, and efficiency properties of distributed attacks with Fitcrack. Moreover, they compare the solution with an existing hashcat-based distributed tool - the Hashtopolis. Another way to accelerate the cracking process is by reducing the number of candidate passwords. Since users prefer strings that are easy to remember, they unwittingly follow a series of common password-creation patterns. Automated processing of leaked user credentials can create a mathematical model of these patterns. Forensic investigators may use such a model to guess passwords more precisely and limit tested candidates' set to the most probable ones. Cracking with probabilistic context-free grammars represents a smart alternative to traditional brute-force and dictionary password guessing. The thesis contributes with a series of enhancements to grammar-based cracking, including the proposal of a novelty parallel and distributed solution. The idea is to distribute sentential forms of partially-generated passwords, which reduces the amount of data necessary to transfer through the network. Solving tasks is thus more efficient and takes less amount of time. A proof-of-concept implementation and a series of practical experiments demonstrate the usability of the proposed techniques.
Digital Forensics: The Acceleration of Password Cracking
Keywords: Forenzní analýza; heslo; lámání; zrychlení; GPGPU; BOINC; hashcat; PCFG; Forensics; password; cracking; acceleration; GPGPU; BOINC; hashcat; PCFG