Vad är självflyttning?

Självflyttning är egendom som ägs av ett mycket litet antal datorprogram. Dessa program kan ändra sina platser i minnet när de körs. 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 är ett exekverande datorprogram beläget i två områden samtidigt. Den finns i datorns fysiska lagring, som en hårddisk eller annan lagringsenhet, och i det flyktiga minnet. Programmet flyttas till flyktigt minne vid körning för att påskynda åtkomsttiden och få det att arbeta 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 fungerar det långsammare än om det är tillsammans; därför de flesta system försöker lagra större program över sekvensiella adresser. Återigen faller valet att göra detta på operativsystemet och programmet har ingen direkt kontroll över det.

När ett program använder självflyttning har det betydligt mer kontroll över dessa processer än vanliga program. Det har förmågan att kontrollera adresserna som den kör till. Medan det används kan programmet flytta sin totala programmering från den plats som det är på till en annan plats i minnet på samma dator. Vissa program kan bara ändra en av de två adresserna, medan andra kan ändra båda.

Självutflyttning är en ovanlig, men inte problematisk process. Den verkliga faran kommer när självflyttning 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 datorns minne. Detta kan orsaka omstart och kan vara en föregångare till en startattack.

Dessutom kan programmet göra säkerhetskopior av sig själv för att förhindra att det tas bort. Om ett program med självflyttning skulle köras 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 den tas bort.

ANDRA SPRÅK

Hjälpte den här artikeln dig? Tack för feedbacken Tack för feedbacken

Hur kan vi hjälpa? Hur kan vi hjälpa?