Anti-manipulationssoftware - Anti-tamper software

Anti-manipulationssoftware er software, der gør det sværere for en hacker at ændre den. De involverede foranstaltninger kan være passive, såsom obfuscation for at gøre reverse engineering vanskelig eller aktiv manipulationsdetekteringsteknikker, der sigter mod at gøre et program funktionsfejl eller slet ikke fungere, hvis det ændres. Det er i det væsentlige manipulationsmodstand implementeret i softwaredomænet. Det deler visse aspekter, men adskiller sig også fra relaterede teknologier som kopibeskyttelse og pålidelig hardware , selvom det ofte bruges i kombination med dem. Anti-manipulationsteknologi gør typisk softwaren noget større og har også en præstationspåvirkning. Der er ingen beviseligt sikre softwarebekæmpelsesmetoder; marken er således et våbenkapløb mellem angribere og software til manipulation af software.

Manipulering kan være ondsindet for at få kontrol over et eller andet aspekt af softwaren med en uautoriseret ændring, der ændrer computerens programkode og adfærd. Eksempler inkluderer installation af rootkits og bagdøre , deaktivering af sikkerhedsovervågning, undergravende godkendelse, ondsindet kodeinjektion med henblik på datatyveri eller for at opnå højere brugerrettigheder, ændring af kontrolflow og kommunikation, omgåelse af licenskode med henblik på piratkopiering af software , kodeinterferens for at udtrække data eller algoritmer og forfalskning. Softwareapplikationer er sårbare over for virkningen af ​​manipulation og kodeændringer gennem hele deres livscyklus fra udvikling og implementering til drift og vedligeholdelse.

Anti-manipulationsbeskyttelse kan anvendes som enten internt eller eksternt på den applikation, der beskyttes. Ekstern anti-manipulation opnås normalt ved at overvåge softwaren for at registrere manipulation. Denne type forsvar udtrykkes almindeligvis som malware-scannere og antivirusprogrammer . Intern anti-manipulation bruges til at omdanne en applikation til sit eget sikkerhedssystem og udføres generelt med specifik kode i softwaren, der registrerer manipulation, når det sker. Denne type manipulationssikringsforsvar kan antage form af runtime-integritetskontrol såsom cyklisk redundans-kontrolsummer , anti-debugging- foranstaltninger, kryptering eller obfuscation . Udførelse inde i en virtuel maskine er blevet en almindelig anti-manipulationsmetode, der er brugt i de senere år til kommerciel software; det bruges for eksempel i StarForce og SecuROM . Nogle anti-manipulationssoftware bruger hvidboks-kryptografi , så kryptografiske nøgler afsløres ikke, selv når kryptografiske beregninger observeres fuldstændigt i en debugger. En nyere forskningstendens er manipulationstolerant software, der sigter mod at korrigere virkningerne af manipulation og lade programmet fortsætte som om det ikke er ændret. En simpel (og let besejret) ordning af denne art blev brugt i Diablo II- videospillet, som lagrede sine kritiske afspillerdata i to kopier på forskellige hukommelsessteder, og hvis en blev ændret eksternt, brugte spillet den lavere værdi.

Anti-manipulationssoftware bruges i mange typer softwareprodukter, herunder: indlejrede systemer, økonomiske applikationer, software til mobile enheder, netværksapparat-systemer, anti-snyd i spil , militær, software til licensadministration og DRM-systemer ( Digital Rights Management ) . Nogle generelle pakker er udviklet, som kan pakke eksisterende kode med minimal programmeringsindsats; for eksempel SecuROM og lignende sæt, der bruges i spilindustrien, selvom de har ulempen, at der også findes semi-generiske angrebsværktøjer til at imødegå dem. Selve ondsindet software kan og er blevet observeret ved hjælp af anti-manipulationsteknikker, for eksempel Mariposa botnet .

Se også

Referencer