Skip to main content

Co je to sebeovládání?

Self-relokace je vlastnost vlastněná velmi malým počtem počítačových programů.Tyto programy mohou při provádění změnit jejich umístění v paměti.Většina programů nemá malou až žádnou kontrolu nad vlastním programováním základních základů;Místo toho je řešeno programy vyššího řádu.Tyto systémy mohou změnit jejich umístění přesunutím jejich programování nebo vytvořením jejich kopie sebe sama.Když je kopie provedena, umístění provádění se obvykle mění v novém programu a starý kód je ponechán spící.

Ve většině případů je provádějící počítačový program umístěn ve dvou oblastech současně.Nachází se ve fyzickém úložišti počítače, jako je pevný disk nebo jiná úložná jednotka a v těkavé paměti.Program se při provádění přesune do volatilní paměti, aby se zrychlil čas přístupu a aby byl rychlejší.Jeho pozice v obou těchto místech je obecně určována operačním systémem počítače.

Umístění těchto programů se nazývá adresy.Tyto adresy používají systém a další programy k rychlému nalezení programu v případě potřeby.Pokud je program rozdělen do úložiště, bude fungovat pomaleji, než kdyby byl všechno dohromady;Většina systémů se proto snaží ukládat větší programy přes sekvenční adresy.Opět platí, že volba to provést obvykle na operační systém a program nemá nad ním žádnou přímou kontrolu.Má schopnost ovládat adresy, při kterých se provádí.I když se používá, program může přesunout své celkové programování z místa, kde je na jiném místě v paměti stejného počítače.Některé programy mohou změnit pouze jednu ze dvou adres, zatímco jiné mohou změnit obojí.Skutečné nebezpečí přichází, když se používá samo-relokace spolu se zákonem.Program je možné dělat velké množství neočekávaných věcí, když má kontrolu nad sebou.Může vytvářet četné fyzické nebo volatilní kopie, aby ucpal paměť počítače.To může způsobit restart a může to být předchůdcem zaváděcího útoku.Pokud měl program se samo-relokací provést a poté zkopírovat, původní program bude stále existovat, i když se nepoužívá.Pokud je program škodlivý a systém se ho pokusí odstranit, může aktivní program jednoduše znovu povolit původní kód dříve, než bude odstraněn.