Poznejte temnou stranu Síly

Slova cracking a hacking snad v každém z nás vyvolávají pocit něčeho zakázaného a tajemného. Víte, co se za nimi skrývá? Ukážeme vám, že to může být inteligentní zábava.

Související odkazy

Slovník
assembler
cracker
hacker
kompilace

V poslední době jsme ze všech stran stále častěji bombardováni pojmy, jako je hacking, cracking či softwarové pirátství. Bohužel jen málokdy jsou tato slova volena ve správném kontextu, a tak posluchač získává značně zkreslenou představu o jejich skutečném významu. Veřejnosti se pak každý cracker jeví jako kriminálník, který by měl být za mřížemi. Abychom tyto a podobné nepravdy uvedli na pravou míru a předešli dalším nejasnostem, bude rozumné hned v úvodu definovat tři základní výrazy: cracking, hacking a softwarové pirátství.

Cracking

Softwarový arzenál

debugger – ladící program umožňující krokovat
program v Assembleru. Naprostá nutnost
každého crackera. Z nejznámějších zástupců
jmenujme například SoftICE či v současnosti
velice populární OllyDbg.

disassembler – dekompilátor zpětně překládající
ze strojového kódu do Assembleru. Pro usnadnění
orientace ve výsledném kódu je nabízena řada
funkcí dovolujících vyhledat významná místa
v programu. Jednoznačným králem na poli
disassemblerů je program IDA. Začátečníci ale jistě
ocení i disassembler s názvem W32Dasm,
jehož ovládání je o poznání snazší.

hexadecimální editor – další z řady nástrojů, které
ke crackingu neodmyslitelně patří. Editor umožňující
upravovat program přímo ve strojovém kódu (pro
lepší přehlednost vyjádřeném v šestnáctkové soustavě).
Dostupných hexadecimálních editorů je vskutku mnoho.
Z těch nejznámějších a subjektivně nejlepších jmenujme
například Hiew a Hex Workshop.

dumper – program dovolující ukládat části paměti do
souboru na pevném disku. Velice užitečný nástroj při
obcházení ochran, které nějakým způsobem upravují
program až za jeho běhu (dešifrují ho atd.).

Crackingem rozumíme postup úpravy či zkoumání programového kódu určitého programu. Asi si říkáte, že to není nic zvláštního – to je přece to stejné, co dělá programátor. Jenomže zatímco programátor má přístup k originálním zdrojovým kódům programu a s nimi pracuje, cracker (člověk zabývající se crackingem) tuto možnost nemá. Jinými slovy – programátor upraví zdrojový kód a poté program znovu přeloží (zkompiluje). Cracker pracuje s již přeloženým programem. Přesto je s ním v konečném důsledku schopen dělat totéž, co programátor.

Hacking

Pojmy hacking a cracking bývají často zaměňovány, a to i v odborných publikacích zabývajících se bezpečností informačních technologií. Hackingem je snaha provést něco, k čemu nejsem oprávněn. Typicky se jedná třeba o průnik do počítačového systému, zcizení, zneužití či poškození dat anebo jiných zdrojů počítače. Velmi naivní je totiž představa laika, který ponechá počítač nezabezpečený s tím, že v něm nemá žádná cenná data. Stále častěji se lze setkat s útoky, které nemají za cíl získat informace, ale uchvátit počítač jako takový a použít ho k útokům na větší a významnější cíle.

Softwarové pirátství

Softwarový pirát je člověk, který neoprávněně vytváří, šíří a užívá kopie programů. I když se to řadě crackerů nelíbí, nelze popřít jasnou spojitost mezi crackingem a softwarovým pirátstvím. Dnešní software totiž velmi často obsahuje nejrůznější ochranné prvky, které mají zabránit jeho nelegálnímu šíření. Proto je třeba asistence zkušeného crackera, jenž tyto prvky zneškodní.

Sami jistě uznáte, že rozdíl mezi crackingem a pirátstvím je nemalý. Pirát nepotřebuje ke své práci množství znalostí ani dovedností a jeho činnost je vždy protizákonná. U crackingu, popř. hackingu je tomu často právě naopak – rozsáhlá vědomostní základna je naprostou nutností. Co se týče legálnosti, je třeba přiznat, že tyto techniky jsou se zákonem na štíru. V žádném případě však nelze obecně tvrdit, že jsou vždy nezákonné.

Assembler je klíčem

Počítače při vykonávání programu zpracovávají strojový kód – číselné vyjádření instrukcí – a kdysi se skutečně přímo v tomto kódu programovalo. Lidé ale mají raději textový popis programu, a tak začaly vznikat programovací jazyky. Nejprve přišel Assembler, který je nejblíže základnímu strojovému kódu, později i jazyky vyšší vyžadující náročné překladače do strojového kódu.

Že je v jednoduchosti síla, se potvrdilo také u Assembleru. Je tak jednoduchý, že lze překlad bez problémů provádět oběma směry – jak mezi assemblerem a strojovým kódem, tak naopak (pak hovoříme o zpětném překladu). A právě to je základní stavební blok celého crackingu. Stačí opravdu dobře znát Assembler a opatřit si vhodné nástroje, které umožní zpětný překlad, a je z velké části vyhráno. Celý program pak máte před sebou jako na dlani, stejně jako jeho tvůrci.

Aby byla tato dlaň aspoň trochu zavřená, snaží se tvůrci programů začlenit do kódu různé metody ochrany, které mají znesnadnit nelegální používání.

Sériová čísla na každém kroku

S ochranou programu pomocí sériového či registračního čísla jste se jistě už někdy setkali. Úspěšnost tohoto druhu ochrany je přímo úměrná kvalitě použitých algoritmů. Při návrhu musí být největší důraz kladen na část programu, která ověřuje platnost zadaného čísla. Cracker se totiž nejčastěji pokouší zjistit korektní číslo, které má zadat. Pouze algoritmy, které zadané číslo neověřují, ale třeba s ním přímo dešifrují určitou část programového kódu (přístupnou až po registraci), lze označit jako bezpečné (přímo úměrné bezpečnosti užitého šifrovacího algoritmu). Jinak je pouze otázka času, než cracker zjistí, jak se generuje správné číslo (sloužící pro porovnání se zadaným) a použije je. Programátor mu tuto práci může velmi usnadnit nezodpovědným přístupem – správné číslo přímo vrací nějaká funkce, je v programu uloženo atp.

Méně zkušený útočník volí cestu úpravy programu takovým způsobem, aby se program choval jako zaregistrovaný přesto, že korektní číslo zadáno nebylo. Obrátí logiku všech míst v programu, která kontrolují, zda je program zaregistrován, nebo ne. Nejhorší věc, kterou může programátor udělat, je vytvořit pro potřeby ověřování jedinou centrální funkci, kterou opakovaně volá. Pak útočníkovi stačí změnit jediné místo v programu.

Časová a funkční omezení jen pro legraci

Omezená funkčnost programu bývá nejčastějším způsobem, jak přimět uživatele ke koupi plné verze. Odstranění takové banality, jako je časové omezení nebo omezení počtu spuštění programu, je pro zkušeného crackera otázkou několika málo minut. Proto by si měl programátor dobře rozmyslet, zda má podobnou verzi programu vydat. Mnohem lepší řešení je zakázat některé funkce programu. Avšak nikoli tím, že deaktivuje tlačítko pro přístup k dané funkci, ale celou ji vymaže ze zdrojového kódu. Udělat z deaktivovaného tlačítka aktivní je poměrně snadné.

Ochrany médií a šifrování programů

Nejnovějším trendem a jasným směrem vývoje v oblasti ochrany před pirátstvím i crackingem jsou šifrovací programy provázané s ochranou datového nosiče proti kopírování. Nosič obsahuje informace, které je velmi obtížné, časově náročné a někdy téměř nemožné korektně zkopírovat. Chráněný program (umístěný na nosiči) je pak zašifrován takovým způsobem, aby jej nadále bylo možné spouštět bez potřeby nějakého dodatečného softwaru. Jako dešifrovací klíč je přitom použita právě ona obtížně kopírovatelná informace.

Na takto chráněný software lze zaútočit dvěma způsoby. Buď se útočník pokusí vytvořit dokonalou kopii originálu, nebo program dešifruje. První způsob je časově náročný a s nejistým výsledkem, druhý vyžaduje nemalé zkušenosti.

Co přinese budoucnost?

Je všeobecně přijímaným faktem, že není možné vytvořit dokonalou ochranu, která by přestála jakýkoli útok. Prolomení každé ochrany je pouze otázkou času, úsilí, odhodlání a dostupných prostředků. V souvislosti s crackingem se často zmiňuje pravidlo: „Je-li program funkční s ochranou, bude funkční i bez ní“. Nezbývá než potvrdit jeho platnost. Pokud má zkušený cracker k dispozici funkční kopii softwaru, nemůže ho v jeho snaze upravit ji podle své libosti zastavit vůbec nic. Ochranné prvky ho pouze zpomalí, ale nezastaví.

Jediným způsobem, jak ochránit software, je nevydávat ho. Místo toho, abyste si určitý software instalovali na svůj počítač, bude lepší nainstalovat jej na server společnosti a připojovat se k němu pouze pomocí internetu. S neustále rostoucí propustností datových linek je tato myšlenka stále reálnější.

Učit se, učit se, učit se

Jistě se mezi vámi najdou tací, kteří po přečtení předcházejících řádků zatoužili proniknout do tajuplného světa ochran a jejich překonávání. V takovém případě vás však musím upozornit, že vás čeká dlouhá cesta plná usilovného studia a lemovaná mnoha nezdary. Cvičení dělá mistra a nejinak je tomu také v této oblasti. Nevěřte nikomu, kdo vám bude tvrdit, že k hackingu či crackingu postačí pouze nějaký software, který vše udělá za vás. Bude trvat i několik let, než si budete opravdu jisti tím, co děláte.

A až to budete umět opravdu dobře, buď vás zavřou do vězení, nebo zaměstnají za vysoký plat.


Tři otázky pro tři

Třem společnostem z různých softwarových oblastí jsme položili tři otázky ohledně jejich přístupu k ochraně programů. Zvolili jsme Microsoft, známý svou aktivací programů přes internet či telefon, Grisoft, dodavatele programu s pravidelnou aktualizací přes internet, a Bohemia Interactive, významného tvůrce počítačových her. Na naše otázky odpovídali:

Microsoft: Ladislav Šolc, systémový inženýr pro oblast bezpečnosti
Grisoft: Tomáš Hofer, obchodní ředitel
Bohemia Interactive: Marek Španěl, ředitel

Jaký typ ochrany proti nelegálním kopiím vaše aplikace používají?

Microsoft: V současné době jde především o ověření licenčních čísel při instalaci a následné aktivaci po internetu nebo telefonu. To se týká především operačních systémů a aplikací z rodiny Microsoft Office. Další ochranou je ověření legálních Windows při aplikování opravných balíčků Service Pack. Uživatel může prokazovat to, že má legální systém i při stahování dalších programů z internetu, aktualizací a podobně.

Grisoft: Každá licence je opatřena unikátním licenčním číslem, které v sobě obsahuje informace o typu licence, počtu licencí a užívací době. V případě, že zjistíme, že je toto číslo zveřejněno na internetu nebo nelegálně užíváno, blokujeme jeho použití. Snažíme se však vyhnout těm typům ochrany proti nelegálním uživatelům, které by mohly poškodit uživatele legální.

Bohemia Interactive: Používáme kombinaci standardních ochran, jako je např. Macrovision Safedisc, a našich vlastních řešení, které nazýváme souhrnným názvem FADE. V případě citlivých aplikací pro armádu pak používáme ochranu s pomoci šifrování a hardwarového USB klíče.

Jaká ochrana aplikací má podle vás budoucnost?

Microsoft: Jako zajímavá cesta se dnes jeví Digital Rights Management, čili princip, kdy si nejprve uživatel vyžádá licenci k použití konkrétních dat a následně je příslušným způsobem oprávněn s nimi pracovat. Technologie postavené na principu Application Rights Managementu by mohly vyřešit problémy s neoprávněnou instalací operačních systémů a aplikací. V každém případě je třeba zvolit cestu, kdy příslušné opatření výrazně neomezí práci uživatelů, bude transparentní a jednoduše použitelné.

Stejně důležitá je však prevence a jakýsi morální přístup. Věřím, že je otázkou času, kdy vnímání duševního vlastnictví bude mnohem vyšší, než je tomu dnes. Ostatně stejně jako v jiných vyspělých státech moderního světa. Konečně být legálním uživatelem se vyplatí.

Grisoft: Moc bychom si přáli, aby byla tato ochrana aplikací integrována do mozku všech případných uživatelů. Normální je přece nekrást. Zejména když při tvorbě ceny berete koupěschopnost dané skupiny uživatelů jako jedno z hledisek.

Bohemia Interactive: Jediným skutečným řešením bude principiální ochrana dat na úrovni operačního systému a hardwaru počítačů. I když se toto asi mnohým uživatelům nebude moc líbit, tak se toho jistě jednoho dne dočkáme. Do té doby je to do jisté míry předem prohraná snaha, nejúčinnější bude vždy kombinace více různých přístupů.

Jaké výhody nabízíte legálním uživatelům?

Microsoft: Od 7. února se náš pilotní projekt „Výhody legálních Windows“ rozšířil o výhody pro uživatele legálních Windows v podobě řady zdarma dostupných aplikací, slevy na MSN hry na Zone.com, překladových slovníků pro Microsoft Word nebo vybraných kapitol z knihy Mistrovství Office 2003.

Grisoft: Primárně technickou podporu. Nepracujeme v oboru, kde by koupí produktu starost o uživatele končila, naopak.

Bohemia Interactive: Snažíme se jim nabízet časté upgrady a vylepšení. I ty samozřejmě nakonec skončí i mezi pirátskými uživateli, ale uživatelé legálních verzí tyto upgrady získají bez problémů a bez čekání přímo z oficiálních zdrojů.

Článek vznikl ve spolupráci s časopisem Computer a čerpá z čísla 5/05.

Diskuze (84) Další článek: Google odpovídá na otázky

Témata článku: Software, Microsoft, Správná funkce, Dešifrovací klíč, Program, Jediná aplikace, Různá omezení, Náročné použití, Ochranná funkce, Omezená funkčnost, Jediný způsob, Systémový inženýr, Základní princip, Funkční program, Náročný uživatel, Bohemia, Str, Zkušený uživatel, Příslušné opatření, Určitá doba, Nejznámější systém, Základní stroj, Arsenal, Vysoký plat, Ochrana


Určitě si přečtěte

Google Coral: Raspberry Pi s čipem, který zpracuje 4 biliony operací za sekundu

Google Coral: Raspberry Pi s čipem, který zpracuje 4 biliony operací za sekundu

** Je to velké jako Raspberry Pi ** Ale je to až o několik řádů rychlejší ** Dorazil nám exotický Google Coral s akcelerátorem Edge TPU

Jakub Čížek | 18

Nové iPhony, hodinky a další novinky Applu: Zase bude za co utrácet

Nové iPhony, hodinky a další novinky Applu: Zase bude za co utrácet

Dnes proběhla další velká prezentační akce Applu, na které došlo k odhalení nových iPhonů a dalších novinek. Událost jsme sledovali online, a tak se můžete podívat na chronologický zápis těch nejdůležitějších informací.

David Polesný | 136

Je ta fotka černobílá, nebo barevná? Náš mozek realitu pouze odhaduje a vymýšlí si

Je ta fotka černobílá, nebo barevná? Náš mozek realitu pouze odhaduje a vymýšlí si

** Klasický počítač bezchybně zpracuje bit po bitu dat ** Mozek si realitu naopak spíše představuje a chybuje ** Teď se tím baví internet u další optické iluze

Jakub Čížek | 33



Aktuální číslo časopisu Computer

Megatest 20 procesorů

Srovnání 15 True Wireless sluchátek

Vyplatí se tisknout fotografie doma?

Vybíráme nejlepší základní desky