PIC

Aus IT-Forensik Wiki

Position-independent Code (PIC) ist ein Typ von Maschinencode, der effizient an einer beliebigen Speicheradresse ausgeführt werden kann, ohne dass seine Instruktionen geändert werden müssen. Dies ist im Gegensatz zu absolutem Code, der an einer spezifischen Speicheradresse fixiert ist.

Überblick

Die Verwendung von positionsunabhängigem Code bietet Vorteile in Bezug auf die Sicherheit. Ein Feature namens Address Space Layout Randomization (ASLR) kann PIC verwenden, um die Speicheradressen, an denen Code ausgeführt wird, zufällig zu ändern. Dies erschwert es Angreifern, vorherzusagen, wo im Speicher bestimmte Codeblöcke platziert werden, wodurch die Wahrscheinlichkeit eines erfolgreichen Angriffs verringert wird.

PIC wird auch in der Malware-Entwicklung eingesetzt:

1. Umgehung von Sicherheitsmechanismen: PIC kann Sicherheitsfeatures wie ASLR umgehen, da er an jeder Speicheradresse ausgeführt wird.

2. Tarnung und Integration: Durch seine Flexibilität kann PIC-basierende Malware an verschiedenen Speicherorten laufen, wodurch sie schwerer zu entdecken ist. Sie kann sich zudem leicht in laufende Prozesse integrieren.

3. Shellcode: PIC ist wesentlicher Bestandteil des Shellcodes, einer häufig genutzten Technik in der Exploit-Entwicklung