Hva er selvelokasjon?
Selvelokasjon er eiendom som er besatt av et veldig lite antall dataprogrammer. Disse programmene kan endre stedene deres i minnet mens de utfører. De fleste programmer har liten eller ingen kontroll over sin egen baseprogrammering; I stedet blir det håndtert av høyere ordenprogrammer. Disse systemene kan endre plasseringen deres ved å enten flytte programmeringen eller ved å lage en kopi av seg selv. Når en kopi er laget, endres utførelsesstedet typisk til det nye programmet og den gamle koden blir sovende.
I de fleste tilfeller er et utførende dataprogram lokalisert i to områder samtidig. Det ligger i datamaskinens fysiske lagring, som en harddisk eller annen lagringsenhet, og i det flyktige minnet. Programmet flyttes inn i flyktig minne ved utførelse for å få fart på tilgangstiden og få det til å fungere raskere. Posisjonen på begge disse stedene bestemmes generelt av datamaskinens operativsystem.
Plasseringene av disse programmene kalles adresser. Disse tilleggeneSES brukes av systemet og andre programmer for raskt å finne et program når det er nødvendig. Hvis et program blir brutt opp i lagring, vil det fungere saktere enn om det hele er sammen; Derfor prøver de fleste systemer å lagre større programmer over sekvensielle adresser. Nok en gang faller valget om å gjøre dette vanligvis på operativsystemet, og programmet har ingen direkte kontroll over det.
Når et program bruker selvelokasjon, har det betydelig mer kontroll over disse prosessene enn typiske programmer. Den har muligheten til å kontrollere adressene den utfører. Mens det er i bruk, kan programmet flytte sin totale programmering fra stedet det er inn til et annet sted innenfor minnet til den samme datamaskinen. Noen programmer kan bare endre en av de to adressene, mens andre kan endre begge deler.
I seg selv er selvelokasjon en uvanlig, men ikke problematisk prosess. Den sanne faren kommerNår selvlokalisering brukes sammen med ondsinnet intensjon. Det er mulig for et program å gjøre et stort antall uventede ting når det har kontroll over seg selv. Det kan lage mange fysiske eller flyktige kopier for å tette datamaskinens minne. Dette kan forårsake en omstart og kan være en forløper for et bootangrep.
I tillegg kan programmet gjøre sikkerhetskopier av seg selv for å forhindre fjerning. Hvis et program med selvelokasjon skulle utføre og deretter kopiere seg selv, vil det originale programmet fortsatt eksistere selv når det ikke blir brukt. Hvis programmet er ondsinnet og systemet prøver å fjerne det, kan det aktive programmet ganske enkelt aktivere den opprinnelige koden før det fjernes.