Wat is PIE (position-independent executable)?

Uitvoerbaar bestand waarvan ook het hoofdprogramma uit positie-onafhankelijke code bestaat. Het werkt waar het ook wordt geladen, dus met ASLR kunnen ook de adressen van de hoofdcode willekeurig worden gemaakt.

Japanse benaming: PIE(位置独立実行ファイル)

“PIE (position-independent executable)” komt voor in 1 oefenvragen uit 1 onderwerpen, bijv. Linker, loader en uitvoerbare formaten.

Vakgebied: Linker, loader en uitvoerbare formaten

Nu oefenen: vragen over PIE (position-independent executable)

Wat is de belangrijkste reden om een uitvoerbaar bestand als PIE (position-independent executable) te bouwen?

  1. AOm het uitvoerbare bestand op elk OS te laten werken
  2. BOm alle bibliotheken in het uitvoerbare bestand op te nemen
  3. CZodat ook de code van het uitvoerbare bestand zelf met ASLR bij elke uitvoering op een ander adres kan worden geplaatst
Antwoord en toelichting tonen

Antwoord: C. Zodat ook de code van het uitvoerbare bestand zelf met ASLR bij elke uitvoering op een ander adres kan worden geplaatst

Oude uitvoerbare bestanden werden gemaakt in de veronderstelling dat ze op een vast adres worden geladen, dus ook met ASLR konden alleen bibliotheken en stack worden verschoven en waren de adressen van de hoofdcode bij aanvallers bekend. PIE maakt ook de hoofdcode als position-independent code die overal werkt, zodat ook de adressen van de hoofdcode willekeurig kunnen zijn. Veel huidige Linux-distributies gebruiken PIE standaard.

“PIE (position-independent executable)” in de toelichting

Vragen met “PIE (position-independent executable)” (1)

  1. Wat is de belangrijkste reden om een uitvoerbaar bestand als PIE (position-independent executable) te bouwen?

Verwante termen

ASLR BSS-sectie Dynamisch linken Dynamische linker ELF Entry point Fragmentatie Gedeelde bibliotheek (shared library) GOT (global offset table) Heap

Naar de woordenlijst