Ana Sayfa

ELF Suçları: Program Yorumlayıcısıyla Eğlence

1 dk okuma

ELF (Executable and Linkable Format) dosya biçiminin derinliklerine inen bir makale, dinamik bağlama için kullanılan program yorumlayıcı (interpreter) işlevselliğini ele alıyor. PT_INTERP adlı program segmenti, dinamik bağlayıcının/yükleyicinin sabit kodlanmış yolunu içerir (örneğin /lib64/ld-linux-x86-64.so). Bir ELF dosyasında bu segment bulunduğunda, işletim sistemi yükleyicisi programı doğrudan çalıştırmaz. Bunun yerine, belirtilen yoldaki dinamik bağlayıcıyı çalıştırır. Bu bağlayıcı, gerekli dinamik kütüphaneleri belleğe yükler, yürütülebilir dosyanın referanslarını günceller ve ardından orijinal yürütülebilir dosyayı çalıştırır.

Ancak makale, işletim sisteminin yorumlayıcıyı ele alış biçiminin daha basit olduğunu vurguluyor. Yorumlanacak yürütülebilir dosya belleğe yüklendikten sonra, işletim sistemi yorumlayıcı yürütülebilir dosyasını da aynı işlem adres alanına yükler ve yorumlayıcının kodunu çalıştırır. İşletim sistemi, yorumlayıcıdan belirli bir davranış veya işlevsellik beklemez, hatta orijinal yürütülebilir dosyanın çalıştırılmasını bile garanti etmez; sadece yorumlayıcının geri kalan her şeyi yapmasını bekler. Bu durum, ilginç ve alışılmadık kullanım senaryolarına kapı aralıyor.

Yazar, bu basitliğin getirdiği potansiyeli keşfederek, ELF dosyalarını veri depolama biçimi olarak kullanmayı veya programlama dillerinin bytecode'unu doğrudan çalıştırmayı öneriyor. Bu sayede xdg-open veya dosya uzantısına dayalı MIME türleri gibi mekanizmalara gerek kalmadan, ELF'i çalıştırarak veriye doğrudan erişim sağlanabilir. Yazar, bu fikri test etmek amacıyla bir ELF dosyasını elle bir hex editöründe yazmaya çalışmış ancak bu girişimi kısa sürede terk etmiştir. Makale, ELF yorumlayıcılarının standart dışı ancak yaratıcı kullanımlarına dair düşündürücü bir bakış açısı sunuyor.

İçgörü

ELF yürütülebilir dosya formatındaki program yorumlayıcılarının beklenenden daha esnek bir şekilde kullanılabileceği, veri depolama ve bytecode çalıştırma gibi yaratıcı uygulamalara olanak tanıdığı ortaya konuyor.

Kaynak