Skip to main content

Vad är självrelokalisering?

Självrelokalisering är egendom som har ett mycket litet antal datorprogram.Dessa program kan förändra sina platser i minnet under körning.De flesta program har liten eller ingen kontroll över sin egen basprogrammering;Istället hanteras det av högre ordningsprogram.Dessa system kan ändra sin plats genom att antingen flytta sin programmering eller genom att skapa en kopia av sig själva.När en kopia görs ändras exekveringsplatsen vanligtvis till det nya programmet och den gamla koden lämnas vilande.

I de flesta fall finns ett körande datorprogram i två områden samtidigt.Det ligger i datorns fysiska lagring, som en hårddisk eller annan lagringsenhet och i det flyktiga minnet.Programmet flyttas in i flyktigt minne vid körning för att påskynda åtkomsttiden och få det att fungera snabbare.Dess position på båda dessa platser bestäms vanligtvis av datorns operativsystem.

Platserna för dessa program kallas adresser.Dessa adresser används av systemet och andra program för att snabbt hitta ett program vid behov.Om ett program är uppdelat i lagring kommer det att fungera långsammare än om det är tillsammans;Därför försöker de flesta system lagra större program över sekventiella adresser.Återigen faller valet att göra detta vanligtvis på operativsystemet och programmet har ingen direkt kontroll över det.

När ett program använder självrelokalisering har det betydligt mer kontroll över dessa processer än typiska program.Den har förmågan att kontrollera adresserna där den kör.Även om det används kan programmet flytta sin totala programmering från den plats som det är till en annan plats inom minne av samma dator.Vissa program kan bara ändra en av de två adresserna, medan andra kan ändra båda.

Av sig själv är självrelokalisering en ovanlig, men inte problematisk, process.Den verkliga faran kommer när självrelokalisering används tillsammans med skadlig avsikt.Det är möjligt för ett program att göra ett stort antal oväntade saker när det har kontroll över sig själv.Det kan skapa många fysiska eller flyktiga kopior för att täppa till en dators minne.Detta kan orsaka omstart och kan vara en föregångare till en startattack.

Dessutom kan programmet göra säkerhetskopior för att förhindra att det tar bort.Om ett program med självrelokalisering skulle utföra och sedan kopiera sig själv, kommer det ursprungliga programmet fortfarande att existera även om det inte används.Om programmet är skadligt och systemet försöker ta bort det kan det aktiva programmet helt enkelt aktivera den ursprungliga koden innan det tas bort.