Ochrana softwaru je soubor opatření zaměřených na ochranu softwaru před neoprávněným získáváním, používáním, distribucí, modifikací, studiem a reprodukcí analogů.
Ochrana před neoprávněným používáním programů – systém opatření zaměřených na boj proti nelegálnímu používání softwaru . Při ochraně lze využít organizační, právní, softwarové a softwarové a hardwarové prostředky.
Ochrana proti kopírování se na software používá jen zřídka, protože je potřeba jej distribuovat a instalovat na počítače uživatelů. Licence k aplikaci (pokud je distribuována na fyzickém médiu) nebo její jednotlivé algoritmy však mohou být chráněny před kopírováním.
Metody lze klasifikovat podle způsobu distribuce chráněného softwaru a typu licenčního média .
Požadavek na zadání sériového čísla (klíče) během instalace/spouštění. Historie této metody začala, když byly aplikace distribuovány pouze na fyzických médiích (například CD ). Na krabici s diskem bylo potištěno sériové číslo, které se vztahuje pouze na tuto kopii programu.
S rozšířením sítí byl zjevnou nevýhodou problém distribuce obrazů disků a sériových čísel po síti. Proto se v tuto chvíli metoda používá pouze v kombinaci s jednou nebo více jinými metodami (například organizačními).
Síťové skenování vylučuje současné spuštění dvou programů se stejným registračním klíčem na dvou počítačích ve stejné lokální síti.
Nevýhodou je, že firewall lze nakonfigurovat tak, aby blokoval pakety patřící chráněnému programu. Pravda, nastavení firewallu vyžaduje určité dovednosti uživatele. Kromě toho mohou aplikace interagovat přes síť (například při organizování síťové hry ). V tomto případě musí firewall takový provoz povolit .
Pokud program pracuje s nějakým centralizovaným serverem a je bez něj k ničemu (například servery online her , servery s aktualizací antivirů ). Může poslat své sériové číslo na server; pokud je číslo nesprávné, server službu odmítne. Nevýhodou je, že je možné vytvořit server, který tuto kontrolu neprovádí. Například existoval server battle.da , který byl svou funkcí podobný Battle.netu (od Blizzard Entertainment), ale umožňoval uživatelům neoprávněné kopie her. Nyní je tento server uzavřen, ale existuje značný počet PvPGN serverů, které také nekontrolují registrační čísla.
Program může vyžadovat originální CD. Tato metoda se používá zejména ve hrách . Trvanlivost takových ochran není velká, vzhledem k široké škále nástrojů pro zobrazování CD. [jeden]
Tento způsob ochrany se zpravidla používá k ochraně programů nahraných na stejném CD, které je také klíčové.
Pro ochranu proti kopírování se používá:
První dva způsoby jsou prakticky nepoužitelné kvůli možnosti odstranění kompletního obrazu z disku pomocí příslušného aplikačního softwaru . Třetí metoda je považována za spolehlivější (používá se zejména v ochraně StarForce ). Existují ale programy, které umí emulovat disky s přihlédnutím ke geometrii umístění dat, čímž obcházejí i tuto ochranu. Ve StarForce kromě jiných kontrol kontroluje i schopnost zápisu na vložený disk. Pokud je to možné, pak je disk považován za nelicencovaný. Pokud je však obraz zapsán na disk CD-R , zadané ověření projde. Existuje možnost skrýt typ disku, takže CD-R nebo CD-RW je považováno za běžný CD-ROM . Kontrola emulace však může být zabudována do ovladače ochrany.
V současnosti jsou nejznámější systémy ochrany proti kopírování na světě SecuROM , StarForce , SafeDisc , CD-RX a Tages. [2]
U mnoha programů není tato metoda ochrany dostupná kvůli vynikající distribuční metodě (například sharewarové programy).
Elektronický klíč ( dongle ) vložený do jednoho z počítačových portů (s rozhraním USB, LPT nebo COM) obsahuje klíčová data, nazývaná také licence , zapsaná vývojářem.
Výhody ochrany pomocí elektronických klíčů:
Síla ochrany je založena na tom, že klíčové bezpečnostní informace (kryptografické klíče, kód ke stažení) neopouštějí klíč v procesu práce s nimi.
Hlavní nevýhody:
Dříve se k nevýhodám dala přičíst i nízká rychlost dongle (ve srovnání s CPU počítače). Moderní klíče však dosahují výkonu 1,25 DMIPS (například HASP , Guardant ) a technika ochrany s jejich pomocí nezahrnuje neustálou výměnu s klíčem.
Dříve existující problémy s instalací klíče na určité hardwarové platformy jsou nyní vyřešeny pomocí síťových klíčů (které jsou schopny pracovat s jednou nebo více kopiemi chráněné aplikace, pouze jsou s ní ve stejné místní síti) a pomocí softwaru nebo hardwaru “ předávání" USB zařízení přes síť.
Vazba na informace o uživateli / sériová čísla komponent jeho počítače a následná aktivace softwaru je v současné době poměrně široce využívána (příklad: OS Windows).
Během procesu instalace program vypočítá aktivační kód - kontrolní hodnotu, která jednoznačně odpovídá nainstalovaným komponentám počítače a parametrům nainstalovaného OS. Tato hodnota je předána vývojáři programu. Na jeho základě vývojář vygeneruje aktivační klíč vhodný pro aktivaci aplikace pouze na zadaném stroji (zkopírování nainstalovaných spustitelných souborů na jiný počítač způsobí nefunkčnost programu).
Výhodou je, že není potřeba žádný specifický hardware a program lze distribuovat digitální distribucí (na internetu).
Hlavní nevýhoda: pokud uživatel upgraduje počítač (v případě vazby na hardware ), ochrana selže. Autoři mnoha programů jsou v takových případech připraveni dát nový registrační kód. Například Microsoft ve Windows XP umožňuje vygenerovat nový registrační kód jednou za 120 dní (ve výjimečných případech ale po zavolání aktivační služby můžete nový kód získat i po uplynutí této doby).
Jako vazba se používá především sériové číslo BIOSu základní desky, sériové číslo pevného disku. Za účelem skrytí před uživatelem mohou být ochranná data umístěna v nepřidělené oblasti pevného disku.
Donedávna takové ochrany vyvíjeli a implementovali vývojáři samotného softwarového produktu. Nyní však existují sady SDK pro práci se softwarovými klíči, například HASP SL od společnosti Aladdin R. D. Stále více se rozšiřují také služby, které nabízejí jak funkci „sklopné“ ochrany, tak aktivační / licenční server (například Guardant Online , Protect online) .
Dalším způsobem ochrany programů je použití přístupu SaaS , tedy poskytování funkcí těchto programů (celých nebo jejich částí) jako služby. V tomto případě je programový kód umístěn a spuštěn na serveru dostupném v globální síti. Přístup k němu probíhá na principu tenkého klienta . Toto je jeden z mála případů, kdy je implementována ochrana proti kopírování.
Kód se spouští na „důvěryhodné“ straně, odkud jej nelze zkopírovat.
I zde však existuje řada bezpečnostních problémů:
Existují také otázky důvěry ve službu (včetně právních), protože jak samotný software, tak data, která zpracovává (například osobní údaje uživatelů), jsou do ní skutečně předávány „naprosto“.
Zde je možné samostatně vyčlenit prostředky ochrany samotného aplikačního kódu před analýzou a použitím v jiných programech. Používají se zejména obfuskátory – programy jsou potřebné k obfuskaci kódu, aby jej ochránily před analýzou, modifikací a neoprávněným použitím.
Způsoby ochrany softwaru pro mobilní platformy před kopírováním jsou obvykle založeny na neschopnosti běžného uživatele číst / měnit data uložená v PROM zařízení. Lze použít i softwarovou aktivaci.
K ochraně softwaru před nelegálním používáním byly v minulosti používány i jiné metody .
Metoda byla běžná v dobách MS-DOS , nyní se kvůli zastaralosti technologie FDD prakticky nepoužívá. Existují čtyři hlavní způsoby, jak vytvořit nekopírovací značky na disketách:
Některé staré programy pro DOS vytvořily nekopírovatelné štítky na pevném disku . Například 1bajtový soubor zabírá jeden cluster (alespoň 512 bajtů) na disku a některé informace lze zapsat do zbývajících 511 bajtů. Tato praxe se prakticky nepoužívá, protože riziko ztráty dat je vysoké.
Licence programu může být vázána na nějaký fyzický objekt, například:
Programový řád je podle legislativy postaven na roveň literárním dílům a vztahují se na něj všechny příslušné předpisy. V kontextu ochrany softwaru se používá následující terminologie:
Odpovědnost je poskytována v souladu s platnou legislativou jak za použití padělaných kopií počítačových programů a databází, tak za překonání použitých technických prostředků ochrany .
Základním principem opatření na ochranu softwaru organizace je nemožnost plného využití softwarového produktu bez patřičné podpory ze strany vývojáře: podrobná uživatelská dokumentace, hotline technické podpory, systém školení uživatelů, aktualizace verzí a databází atd.
Někdy je ochrana drahých softwarových systémů před kopírováním prováděna organizačními opatřeními (například poskytnutím zkušební kopie softwaru pouze na vyžádání nebo instalací plnohodnotné verze softwarového balíku na zkušební dobu po uzavření příslušného dohoda).
Opatření na ochranu organizace uplatňují zpravidla velcí vývojáři na poměrně velké a složité softwarové produkty.
Zranitelnost moderních metod ochrany lze poměrně přísně klasifikovat v závislosti na použité metodě ochrany.
Mnoho ochran poskytuje nástroje pro boj proti hackerům: destabilizace debuggeru ; šifrování kódu , které vylučuje studium statického kódu pomocí disassembleru ; zmatek kódu, "falešné větve", které mate hacker ; kontrola integrity souboru, zabránění použití záplat ; virtualizace kódu s vlastním příkazovým systémem. Všechny tyto metody brání studiu a analýze ochranné logiky a zvyšují její odolnost.
Existuje problém spojený s nedostatkem zdrojů (včetně dočasných) od vývojářů softwaru. Mohou mít nedostatek času, financí nebo dovedností na implementaci své vlastní silné obrany. Jsou nuceni používat nástroje automatické ochrany softwaru třetích stran. Tyto nástroje připojují ke zkompilovanému programu bezpečnostní modul. Výhodou takové ochrany je, že ji lze nainstalovat na jakýkoli program (i bez přístupu ke zdrojovému kódu programu). Nevýhodou v samotném přístupu je „šablona“ metody. U standardních ochran je pravděpodobnější, že budou napadeny hackery, protože jsou instalovány na několika programech a poskytují tak poptávku na hackerském trhu.
Automatické prostředky však znesnadňují hackování programu. Někdy je vhodné je použít buď v případě, že neexistuje žádná ochrana, nebo ve spojení s implementací vlastní jedinečné ochrany.
To je jeden ze základních problémů technických prostředků ochrany. Spočívá v tom, že ochranný systém nevyhnutelně vytváří nepříjemnosti pro uživatele, a proto je z pohledu uživatele hacknutý program v jistém smyslu lepší než ten původní. Například:
Z tohoto důvodu i majitelé licencovaných kopií někdy instalují cracknutý software na stejné úrovni jako licencovaný.