Sebuah file dapat memiliki permission read atau execute biasa tetapi tetap gagal pada pemeriksaan integritas di batas kernel. Appraisal Integrity Measurement Architecture (IMA) Linux dapat menerapkan rule policy pada hook terpilih dan mewajibkan isi file sesuai dengan metadata integritas sebelum operasi yang tercakup dilanjutkan. Kondisi ini menambahkan syarat integritas konten pada keputusan akses tanpa mengubah Unix mode bit atau otorisasi aplikasi menjadi mekanisme integritas.

IMA memiliki beberapa fungsi yang saling terkait tetapi berbeda. Measurement mencatat state file dalam integrity measurement list dan dapat memperluas measurement ke TPM. Appraisal mengevaluasi file terhadap metadata integritas dan dapat menolak akses ketika policy serta mode enforcement mensyaratkan hasil yang valid. Audit mencatat state yang relevan bagi keamanan. Deployment yang hanya mengukur file memperoleh bukti mengenai state yang teramati; kondisi tersebut tidak otomatis memberikan perilaku blocking yang terkait dengan appraisal.

Policy memilih file dan hook yang menerima appraisal

Policy IMA menjadi batas yang menentukan objek mana yang dikenai suatu tindakan. Rule dapat memilih operasi dan atribut objek seperti identitas filesystem, kepemilikan file, atau field policy lain yang didukung. Appraisal karena itu bukan properti universal yang melekat pada setiap file hanya karena IMA aktif di kernel.

Hook penting karena integritas diperiksa dalam kaitannya dengan suatu operasi. Policy dapat mencakup eksekusi, memory mapping untuk eksekusi, pembacaan file, pemuatan module, pemuatan firmware, dan kelas fungsi lain yang didukung sesuai konfigurasi kernel serta sintaks policy. Klaim bahwa executable mendapat appraisal hanya seluas rule dan hook yang benar-benar memilih akses tersebut.

Scope ini sangat penting pada sistem dengan beberapa filesystem. Policy dapat sengaja mengecualikan pseudo-filesystem atau area data mutable sambil mewajibkan appraisal untuk pohon software yang dikendalikan. Properti keamanan yang dihasilkan bersifat selektif: akses melalui hook yang tercakup ke objek yang tercakup menerima appraisal. Objek di luar pilihan tersebut tetap diatur oleh mekanisme kontrol akses lain di sistem.

security.ima membawa nilai integritas untuk appraisal

IMA umumnya menyimpan metadata integritas dalam extended attribute security.ima. Bergantung pada policy dan konfigurasi, metadata tersebut dapat mewakili hash file atau digital signature atas hash file. Jalur appraisal menghitung atau memperoleh digest file saat ini lalu mengevaluasinya terhadap informasi integritas yang diharapkan.

Hash xattr dapat mendeteksi perubahan konten relatif terhadap digest tersimpan, tetapi digest dan file dapat ditulis oleh aktor dengan wewenang yang memadai. Signature mengubah model trust tersebut. Dengan signature appraisal, verifier mengandalkan trusted key dan signature yang valid, bukan menerima digest pengganti arbitrer sebagai nilai otoritatif.

Perbedaan tersebut memisahkan pemeriksaan integritas dari autentisitas. Hash mutable yang cocok dapat menetapkan konsistensi antara dua nilai berdasarkan asumsi deployment. Signature dapat mengikat digest yang disetujui dengan kepemilikan signing key, selama verification key dipercaya dan signing key tetap terkendali. Keduanya tidak membuktikan bahwa file merupakan software yang aman; keduanya hanya membuktikan properti integritas yang direpresentasikan oleh metadata dan trust anchor yang dipilih.

Keyring menentukan signature yang dianggap tepercaya

Signature appraisal bergantung pada key yang tersedia bagi kernel melalui integrity keyring yang relevan. Jalur pemuatan key secara tepat bergantung pada konfigurasi boot, konfigurasi kernel, platform trust, dan tooling deployment. Signature dari key arbitrer tidak menjadi dapat diterima hanya karena operasi kriptografinya valid.

Hal ini menempatkan enrollment key di dalam security boundary. Jika penyerang dapat menambahkan signing key yang tidak tepercaya ke keyring yang diterima untuk appraisal, signature valid tidak lagi memisahkan konten yang disetujui dari konten yang dikendalikan penyerang. Sebaliknya, sistem yang tidak dapat memuat verification key yang dibutuhkan dapat menolak file yang ditandatangani dengan benar setelah enforcement aktif.

Rotasi key secara operasional karena itu memiliki dua sisi: mendistribusikan signature baru dan mengatur trust pada verification key terkait. Menghapus key lama sebelum seluruh file yang dibutuhkan dimigrasikan dapat menimbulkan kegagalan availability. Mempertahankan key lama lebih lama dari yang direncanakan memperluas kumpulan signature yang masih dapat diterima sistem.

Perilaku kegagalan appraisal bergantung pada state enforcement

IMA dapat diterapkan dalam mode yang mencatat masalah appraisal tanpa selalu memblokir operasi, serta dalam konfigurasi yang menegakkan kegagalan appraisal. Perbedaan ini penting saat rollout. Bukti audit bahwa file akan gagal appraisal tidak setara dengan penolakan yang ditegakkan kernel.

Enforcement juga cepat memperlihatkan masalah lifecycle metadata. Update package yang sah mengubah isi file, sehingga metadata integritas harus diperbarui melalui jalur yang diotorisasi. Menyalin file melalui tool atau filesystem yang tidak mempertahankan extended attribute yang dibutuhkan dapat meninggalkan konten tanpa metadata appraisal. Restore dari backup dapat menghasilkan mismatch yang sama jika xattr integritas tidak disertakan.

Karena itu, instalasi package, pembuatan image, backup, restore, dan migrasi filesystem semuanya menjadi bagian dari pipeline integritas. Kernel dapat menegakkan kondisi akhir, tetapi tidak dapat membuat proses distribusi software yang tidak lengkap menghasilkan metadata valid.

File mutable memerlukan model integritas berbeda

Pohon executable statis cocok untuk signature appraisal karena konten yang disetujui dapat ditandatangani sebelum deployment lalu diperlakukan sebagai immutable oleh policy. Data aplikasi yang sering berubah memiliki kebutuhan berbeda. Mewajibkan signature yang sudah tersedia setelah setiap write yang sah akan membutuhkan jalur signing tepercaya untuk setiap update, dan hal itu dapat tidak sesuai dengan threat model aplikasi.

Policy IMA dapat memisahkan kelas-kelas tersebut alih-alih menerapkan satu rule pada setiap objek. Pemisahan itu juga mencegah mekanisme integritas untuk software tepercaya berubah menjadi pengganti umum bagi kepemilikan file, otorisasi tingkat aplikasi, atau kontrol konsistensi database.

Lokasi executable yang writable memerlukan perhatian khusus. Jika service update dengan privilege dapat mengganti executable, security boundary mencakup persyaratan appraisal dan jalur yang memasok metadata integritas baru yang valid. Membatasi write tanpa mengendalikan penerbitan signature menghasilkan batas berbeda dari mengendalikan signature tanpa membatasi operasi penggantian file.

Appraisal dan EVM melindungi permukaan integritas berbeda

Appraisal IMA terutama menangani integritas konten file yang direpresentasikan metadata IMA. Extended Verification Module (EVM) menangani integritas metadata file terpilih, termasuk extended attribute yang sensitif bagi keamanan, dengan HMAC atau signature sesuai konfigurasi. Kedua mekanisme dapat digabungkan, tetapi tidak dapat saling menggantikan.

Perbedaan ini relevan ketika keputusan keamanan bergantung pada metadata yang dapat diubah secara terpisah dari isi file. Melindungi digest konten tidak dengan sendirinya mengautentikasi setiap atribut inode. Demikian pula, melindungi metadata tidak menggantikan rule appraisal konten. Klaim deployment perlu mengidentifikasi properti yang dicakup IMA, properti yang dicakup EVM, dan properti yang tetap dilindungi permission filesystem atau subsistem kernel lain.

Enforcement integritas hanya seluas trust chain yang dipakai

Appraisal IMA dapat memindahkan keputusan integritas konten ke jalur kernel untuk operasi file terpilih. Batas efektifnya mencakup lebih dari perhitungan digest: policy memilih hook, security.ima menyediakan metadata integritas, keyring menentukan signer tepercaya untuk signature appraisal, tooling update menjaga metadata tetap valid, dan state enforcement menentukan apakah kegagalan memblokir akses.

Sistem karena itu dapat mengaktifkan IMA tetapi memberikan properti yang jauh lebih sempit dari perkiraan operator. Measurement tanpa appraisal, appraisal tanpa enforcement, cakupan policy yang tidak lengkap, atau wewenang signing yang tidak terkendali masing-masing mengubah hasil secara material. Klaim deployment yang presisi perlu menyatakan operasi yang tercakup, kumpulan file yang dilindungi, bentuk metadata integritas, jalur trust key, dan mode kegagalan.

Properti keamanan yang bernilai bukan sekadar keberadaan hash atau signature pada file. Properti tersebut muncul ketika operasi yang tercakup policy mencapai titik appraisal kernel tempat objek saat ini harus memenuhi metadata integritas yang berakar pada jalur trust yang benar-benar dikendalikan deployment.