Langsung ke konten

Arsip

Batas Privilege

2 artikel
Keamanan Siber 19 Sep 2026 4 min read

no_new_privs Memblokir Penambahan Privilege Saat Eksekusi

Sebuah service dapat perlu mengeksekusi program helper setelah menerima input yang tidak tepercaya. Jika salah satu program tersebut memiliki set-user-ID, set-group-ID, atau file capabilities, execve() biasa dapat melintasi batas privilege meskipun proses pemanggil tidak bermaksud memperoleh otoritas tambahan. Linux no_new_privs mengubah transisi tersebut: setelah atribut ini ditetapkan pada sebuah thread, pemanggilan execve() berikutnya tidak dapat memberikan privilege yang tidak dimiliki pemanggil pada saat eksekusi. Properti ini sengaja memiliki cakupan sempit. Ia membatasi penambahan privilege melalui eksekusi program; ia tidak menghapus otoritas yang sudah dimiliki proses. Perbedaan tersebut membuat no_new_privs berguna sebagai batas eksekusi satu arah, tetapi tidak cukup sebagai sandbox lengkap.

Keamanan Siber 17 Sep 2026 5 min read

no_new_privs Membuat Peningkatan Privilege Saat Eksekusi Bersifat Irreversibel

no_new_privs Membuat Peningkatan Privilege Saat Eksekusi Bersifat Irreversibel Sebuah layanan Linux dapat dengan sengaja mengeksekusi program yang memiliki bit set-user-ID atau file capabilities sambil bermaksud tetap berada pada tingkat privilege yang sudah dimilikinya. Tanpa batas eksekusi eksplisit, execve() dapat menjadi transisi privilege: metadata pada executable dapat mengubah kredensial efektif atau menyumbangkan capability kepada program baru. Atribut task no_new_privs mengubah transisi tersebut. Setelah aktif, execve() yang berhasil tidak dapat memberikan privilege yang sebelumnya tidak dapat digunakan task sebelum pemanggilan itu. Atribut ini diwariskan kepada turunan, bertahan melewati eksekusi, dan tidak dapat dinonaktifkan. Sifat tersebut menjadikannya constraint satu arah pada garis keturunan proses, bukan opsi sementara untuk satu executable.