Co to jest samodzielna relokacja?

Przeniesienie to własność bardzo niewielkiej liczby programów komputerowych. Programy te mogą zmieniać swoje lokalizacje w pamięci podczas wykonywania. Większość programów ma niewielką lub żadną kontrolę nad własnym programowaniem podstawowym; zamiast tego jest to obsługiwane przez programy wyższego rzędu. Systemy te mogą zmienić swoją lokalizację, przenosząc swoje programy lub tworząc własną kopię. Po utworzeniu kopii lokalizacja wykonywania zwykle zmienia się w nowy program, a stary kod pozostaje uśpiony.

W większości przypadków wykonujący program komputerowy jest zlokalizowany jednocześnie w dwóch obszarach. Znajduje się w fizycznej pamięci komputera, takiej jak dysk twardy lub inny moduł pamięci, oraz w pamięci ulotnej. Program jest przenoszony do pamięci ulotnej podczas wykonywania, aby przyspieszyć czas dostępu i przyspieszyć jego działanie. Jego pozycja w obu tych lokalizacjach jest ogólnie określona przez system operacyjny komputera.

Lokalizacje tych programów nazywane są adresami. Adresy te są używane przez system i inne programy do szybkiego znalezienia programu w razie potrzeby. Jeśli program zostanie zerwany w pamięci, będzie działał wolniej niż wtedy, gdy wszystko będzie razem; dlatego większość systemów próbuje przechowywać większe programy pod adresami sekwencyjnymi. Po raz kolejny wybór takiego rozwiązania zazwyczaj spoczywa na systemie operacyjnym, a program nie ma nad nim bezpośredniej kontroli.

Gdy program korzysta z samodzielnej relokacji, ma znacznie większą kontrolę nad tymi procesami niż typowe programy. Ma możliwość kontrolowania adresów, pod którymi wykonuje. Podczas używania program może przenieść całe programowanie z miejsca, w którym się znajduje, do innego miejsca w pamięci tego samego komputera. Niektóre programy mogą zmienić tylko jeden z dwóch adresów, podczas gdy inne mogą zmienić oba.

Sama relokacja sama w sobie jest rzadkim, ale nie problematycznym procesem. Prawdziwe niebezpieczeństwo pojawia się, gdy do relokacji wykorzystywane są złośliwe zamiary. Możliwe jest, że program zrobi wiele nieoczekiwanych rzeczy, gdy ma kontrolę nad sobą. Może tworzyć liczne kopie fizyczne lub ulotne w celu zatkania pamięci komputera. Może to spowodować ponowne uruchomienie i może być prekursorem ataku rozruchowego.

Ponadto program może samodzielnie tworzyć kopie zapasowe, aby zapobiec jego usunięciu. Jeśli program z samodzielną relokacją miałby zostać wykonany, a następnie sam się skopiować, oryginalny program będzie nadal istniał, nawet jeśli nie będzie używany. Jeśli program jest złośliwy, a system próbuje go usunąć, aktywny program może po prostu ponownie włączyć oryginalny kod przed jego usunięciem.

INNE JĘZYKI

Czy ten artykuł był pomocny? Dzięki za opinie Dzięki za opinie

Jak możemy pomóc? Jak możemy pomóc?