Programvaruskydd är en uppsättning åtgärder som syftar till att skydda programvara från obehörigt förvärv, användning, distribution, modifiering, studier och reproduktion av analoger.
Skydd mot obehörig användning av program - ett system av åtgärder som syftar till att motverka olaglig användning av programvara . Vid skydd kan organisatoriska, juridiska, mjukvara och mjukvara och hårdvara användas.
Kopieringsskydd tillämpas sällan på programvara, på grund av behovet av att distribuera och installera den på användarnas datorer. Däremot kan licensen för applikationen (när den distribueras på fysiska medier) eller dess individuella algoritmer skyddas från kopiering.
Metoder kan klassificeras efter hur den skyddade programvaran distribueras och typen av licensmedia .
Krav på att ange ett serienummer (nyckel) vid installation/start. Historien om denna metod började när applikationer endast distribuerades på fysiska medier (till exempel CD-skivor ). Kartongen med skivan var tryckt med ett serienummer som endast gäller detta exemplar av programmet.
Med spridningen av nätverk var den uppenbara nackdelen problemet med att distribuera diskbilder och serienummer över nätverket. Därför används metoden för närvarande endast i kombination med en eller flera andra metoder (till exempel organisatoriska).
Nätverksskanning utesluter samtidig start av två program med samma registreringsnyckel på två datorer inom samma lokala nätverk.
Nackdelen är att brandväggen kan konfigureras för att blockera paket som tillhör ett skyddat program. Det är sant att det kräver vissa användarkunskaper att sätta upp en brandvägg. Dessutom kan applikationer interagera över nätverket (till exempel när du organiserar ett nätverksspel ). I det här fallet måste brandväggen tillåta sådan trafik .
Om programmet fungerar med någon form av centraliserad server och är värdelöst utan den (till exempel onlinespelservrar , antivirusuppdateringsservrar ) . Hon kan skicka sitt serienummer till servern; om numret är felaktigt nekar servern tjänsten. Nackdelen är att det är möjligt att skapa en server som inte gör denna kontroll. Det fanns till exempel en battle.da -server , som till sin funktion liknade Battle.net (från Blizzard Entertainment), men tillät användare av obehöriga kopior av spel. Nu är denna server stängd, men det finns ett stort antal PvPGN- servrar som inte heller kontrollerar registreringsnummer.
Programmet kan kräva original-CD:n. I synnerhet används denna metod i spel . Hållbarheten för sådana skydd är inte stor, på grund av det breda utbudet av CD-bildverktyg. [ett]
Som regel används denna skyddsmetod för att skydda program inspelade på samma CD, som också är en nyckel.
För kopieringsskydd används:
De två första metoderna är praktiskt taget värdelösa på grund av möjligheten att ta bort en komplett bild från en disk med hjälp av lämplig programvara . Den tredje metoden anses vara mer tillförlitlig (används särskilt i StarForce-skydd ). Men det finns program som kan emulera diskar med hänsyn till dataplatsens geometri, och därigenom kringgå detta skydd också. I StarForce, bland andra kontroller, kontrollerar den också förmågan att skriva till den insatta disken. Om det är möjligt anses skivan vara olicensierad. Men om bilden skrivs till en CD-R- skiva kommer den angivna verifieringen att passera. Det finns ett alternativ att dölja skivtypen så att CD-R eller CD-RW ses som en vanlig CD-ROM . En kontroll för emulering kan dock byggas in i skyddsdrivrutinen.
För närvarande är de mest kända kopieringsskyddssystemen i världen SecuROM , StarForce , SafeDisc , CD-RX och Tages. [2]
För många program är denna skyddsmetod inte tillgänglig på grund av den utmärkta distributionsmetoden (till exempel shareware- program).
En elektronisk nyckel ( dongel ) som sätts in i en av datorportarna (med USB, LPT eller COM-gränssnitt) innehåller nyckeldata, även kallad licens , inskriven av utvecklaren
Fördelar med skydd med elektroniska nycklar:
Skyddets styrka är baserad på det faktum att nyckelsäkerhetsinformation (kryptografiska nycklar, nedladdningsbar kod) inte lämnar nyckeln i processen att arbeta med den.
Huvudsakliga nackdelar:
Tidigare kunde dongelns låga hastighet (i jämförelse med datorns CPU) också tillskrivas nackdelarna. Moderna nycklar uppnår dock en prestanda på 1,25 DMIPS (till exempel HASP , Guardant ), och skyddstekniken med deras hjälp involverar inte konstant utbyte med nyckeln.
De tidigare befintliga problemen med att installera en nyckel på vissa hårdvaruplattformar är nu lösta med hjälp av nätverksnycklar (som kan fungera med en eller flera kopior av en skyddad applikation, bara vara i samma lokala nätverk med den) och med hjälp av mjukvara eller hårdvara " vidarebefordra" USB-enheter över nätverket.
Bindning till information om användaren / serienummer för komponenterna i hans dator och den efterföljande aktiveringen av programvaran används för närvarande ganska brett (exempel: Windows OS).
Under installationsprocessen beräknar programmet en aktiveringskod - ett kontrollvärde som unikt motsvarar de installerade komponenterna på datorn och parametrarna för det installerade operativsystemet. Detta värde skickas till programutvecklaren. Baserat på det genererar utvecklaren en aktiveringsnyckel som är lämplig för att aktivera applikationen endast på den angivna maskinen (kopiering av de installerade körbara filerna till en annan dator kommer att göra programmet obrukbart).
Fördelen är att ingen specifik hårdvara krävs , och programmet kan distribueras via digital distribution (på Internet).
Den största nackdelen: om användaren uppgraderar datorn (vid bindning till hårdvara ) misslyckas skyddet. Författarna till många program är i sådana fall redo att ge en ny registreringskod. Till exempel tillåter Microsoft i Windows XP att du genererar en ny registreringskod en gång var 120:e dag (men i undantagsfall, genom att ringa aktiveringstjänsten, kan du få en ny kod efter utgången av denna period).
Som en bindning används främst serienumret på moderkortets BIOS , serienumret på hårddisken. För att gömma sig från användaren kan skyddsdata finnas i det oallokerade området på hårddisken.
Tills nyligen har sådana skydd utvecklats och implementerats av utvecklarna av själva mjukvaruprodukten. Men nu finns det SDK:er för att arbeta med programnycklar, till exempel HASP SL från Aladdin R. D. Dessutom blir tjänster som erbjuder både den "gångjärnsförsedda" skyddsfunktionen och en aktiverings-/licenseringsserver mer utbredd (till exempel Guardant Online , Protect uppkopplad) .
Ett annat sätt att skydda program är att använda SaaS- metoden , det vill säga tillhandahållandet av funktionerna för dessa program (hela eller delar) som en tjänst. I detta fall lokaliseras och körs programkoden på en server som är tillgänglig i det globala nätverket. Tillgång till den utförs enligt principen om en tunn klient . Detta är ett av få fall där kopieringsskydd implementeras.
Koden exekveras på den "betrodda" sidan, varifrån den inte kan kopieras.
Det finns dock ett antal säkerhetsproblem här också:
Det finns också frågor om förtroende för tjänsten (inklusive juridiska sådana), eftersom både själva programvaran och de uppgifter som den behandlar (till exempel personliga uppgifter om användare) faktiskt överförs till den "i det klara".
Det är möjligt att separat här peka ut sättet att skydda själva applikationskoden från analys och användning i andra program. I synnerhet används obfuscators - program behövs för att fördunkla koden för att skydda den från analys, modifiering och obehörig användning.
Sätt att skydda mjukvara för mobila plattformar från kopiering är vanligtvis baserade på oförmågan hos en vanlig användare att läsa/ändra data som lagras i enhetens PROM . Programvaruaktivering kan också användas.
Andra metoder har använts tidigare för att skydda programvara från olaglig användning .
Metoden var vanlig under MS-DOS- dagarna , nu, på grund av FDD-teknikens föråldrade, används den praktiskt taget inte. Det finns fyra huvudsakliga sätt att skapa icke-kopierade märken på disketter:
Vissa gamla DOS-program skapade icke-kopierbara etiketter på hårddisken . Till exempel, en 1- byte fil upptar ett kluster (minst 512 byte) på disken, och viss information kan skrivas till de återstående 511 byte. Denna praxis används praktiskt taget inte, eftersom risken för dataförlust är hög.
Programlicensen kan kopplas till något fysiskt objekt, till exempel:
Programkoden likställs enligt lagstiftningen med litterära verk och alla relevanta föreskrifter gäller för den. I samband med programvaruskydd används följande terminologi:
Ansvar ges, i enlighet med tillämplig lag, både för användningen av förfalskade kopior av datorprogram och databaser, och för att övervinna de tillämpade tekniska skyddsmedlen .
Grundprincipen för organisatoriska programvaruskyddsåtgärder är omöjligheten av fullständig användning av mjukvaruprodukten utan lämpligt stöd från utvecklaren: detaljerad användardokumentation, teknisk supporthotline, användarutbildningssystem, versions- och databasuppdateringar, etc.
Ibland utförs skyddet av dyra programvarusystem från kopiering genom organisatoriska åtgärder (till exempel tillhandahålla en provkopia av programvaran endast på begäran, eller installation av en fullfjädrad version av mjukvarupaketet under en provperiod efter avslutad lämplig avtal).
Organisatoriska skyddsåtgärder tillämpas som regel av stora utvecklare på ganska stora och komplexa mjukvaruprodukter.
Sårbarheterna hos moderna skyddsmetoder kan klassificeras ganska strikt beroende på vilken skyddsmetod som används.
Många skydd tillhandahåller verktyg för att motverka hacking: destabilisera felsökaren ; kodkryptering , vilket utesluter studiet av kod i statisk användning av en disassembler ; kodförvirring, "falska grenar" som förvirrar hackaren ; kontrollera filens integritet, förhindra att patchar appliceras ; kodvirtualisering med sitt eget kommandosystem. Alla dessa metoder försvårar studiet och analysen av skyddslogiken och ökar dess motstånd.
Det finns ett problem i samband med brist på resurser (inklusive tillfälliga sådana) från mjukvaruutvecklare. De kanske saknar tid, ekonomi eller färdigheter för att implementera sina egna starka försvar. De tvingas använda automatiska programvaruskyddsverktyg från tredje part. Dessa verktyg kopplar en säkerhetsmodul till det kompilerade programmet. Fördelen med ett sådant skydd är att det kan installeras på vilket program som helst (även utan tillgång till programmets källkod). Nackdelen med själva tillvägagångssättet är metodens "mall". Standardskydd är mer benägna att hackas, eftersom de är installerade på flera program och därmed ger efterfrågan på hackningsmarknaden.
Automatiska medel gör det dock svårt att hacka programmet. Det är ibland tillrådligt att använda dem antingen när det inte finns något skydd alls, eller i samband med implementeringen av ditt eget unika skydd.
Detta är ett av de grundläggande problemen med tekniska skyddsmedel. Det består i det faktum att skyddssystemet oundvikligen skapar olägenheter för användaren, och därför är det hackade programmet i någon mening bättre än det ursprungliga ur användarens synvinkel. Till exempel:
Av denna anledning installerar till och med ägare av licensierade kopior ibland knäckt mjukvara i nivå med licensierade.