Tersedia TUF 1.0, kerangka kerja untuk mengatur pengiriman pembaruan yang aman

Rilis TUF 1.0 (The Update Framework) telah diterbitkan, menyediakan alat untuk memeriksa dan mengunduh pembaruan dengan aman. Tujuan utama dari proyek ini adalah untuk melindungi klien dari serangan umum terhadap repositori dan infrastruktur, termasuk melawan promosi pembaruan fiktif yang dilakukan oleh penyerang yang dibuat setelah mendapatkan akses ke kunci untuk menghasilkan tanda tangan digital atau menyusupi repositori. Proyek ini dikembangkan di bawah naungan Linux Foundation dan digunakan untuk meningkatkan keamanan pengiriman pembaruan dalam proyek-proyek seperti Docker, Fuchsia, Automotive Grade Linux, Bottlerocket dan PyPI (dimasukkannya verifikasi unduhan dan metadata di PyPI diharapkan dalam tidak lama lagi). Kode implementasi referensi TUF ditulis dengan Python dan didistribusikan di bawah lisensi Apache 2.0.

Proyek ini mengembangkan serangkaian perpustakaan, format file, dan utilitas yang dapat dengan mudah diintegrasikan ke dalam sistem pembaruan aplikasi yang ada, memberikan perlindungan jika terjadi kompromi utama di pihak pengembang perangkat lunak. Untuk menggunakan TUF, cukup menambahkan metadata yang diperlukan ke repositori, dan mengintegrasikan prosedur yang disediakan di TUF untuk mengunduh dan memverifikasi file ke dalam kode klien.

Kerangka kerja TUF bertugas memeriksa pembaruan, mengunduh pembaruan, dan memverifikasi integritasnya. Sistem instalasi pembaruan tidak secara langsung mengganggu metadata tambahan, yang verifikasi dan pemuatannya dilakukan oleh TUF. Untuk integrasi dengan aplikasi dan sistem instalasi pembaruan, API tingkat rendah untuk mengakses metadata dan implementasi klien API tingkat tinggi, siap untuk diintegrasikan dengan aplikasi, ditawarkan.

Di antara serangan yang dapat dilawan TUF adalah penggantian rilis lama dengan kedok pembaruan untuk memblokir koreksi kerentanan perangkat lunak atau pengembalian pengguna ke versi lama yang rentan, serta promosi pembaruan berbahaya yang ditandatangani dengan benar menggunakan yang dikompromikan. kuncinya, serangan DoS pada klien, seperti mengisi disk dengan pembaruan tanpa akhir.

Perlindungan terhadap penyusupan infrastruktur penyedia perangkat lunak dicapai dengan memelihara catatan status repositori atau aplikasi yang terpisah dan dapat diverifikasi. Metadata yang diverifikasi oleh TUF mencakup informasi tentang kunci yang dapat dipercaya, hash kriptografi untuk mengevaluasi integritas file, tanda tangan digital tambahan untuk memverifikasi metadata, informasi tentang nomor versi, dan informasi tentang masa pakai catatan. Kunci yang digunakan untuk verifikasi memiliki masa pakai terbatas dan memerlukan pembaruan terus-menerus untuk melindungi terhadap pembentukan tanda tangan oleh kunci lama.

Mengurangi risiko kompromi seluruh sistem dicapai melalui penggunaan model kepercayaan bersama, di mana masing-masing pihak dibatasi hanya pada bidang yang menjadi tanggung jawab langsungnya. Sistem menggunakan hierarki peran dengan kuncinya sendiri, misalnya, peran root menandatangani kunci untuk peran yang bertanggung jawab atas metadata dalam repositori, data tentang waktu pembuatan pembaruan dan rakitan target, pada gilirannya, peran yang bertanggung jawab atas rakitan tanda peran yang terkait dengan sertifikasi file yang dikirimkan.

Tersedia TUF 1.0, kerangka kerja untuk mengatur pengiriman pembaruan yang aman

Untuk melindungi dari kompromi kunci, mekanisme pencabutan dan penggantian kunci secara cepat digunakan. Setiap kunci individual hanya berisi kekuatan minimum yang diperlukan, dan operasi otentikasi memerlukan penggunaan beberapa kunci (kebocoran satu kunci tidak memungkinkan serangan langsung pada klien, dan untuk menyusupi seluruh sistem, kunci semua peserta harus dikompromikan. ditangkap). Klien hanya dapat menerima file yang lebih baru dari file yang diterima sebelumnya, dan data diunduh hanya sesuai dengan ukuran yang ditentukan dalam metadata bersertifikat.

Rilis TUF 1.0.0 yang diterbitkan menawarkan implementasi referensi spesifikasi TUF yang ditulis ulang dan distabilkan sepenuhnya, yang dapat Anda gunakan sebagai contoh siap pakai saat membuat implementasi Anda sendiri atau untuk integrasi ke dalam proyek Anda. Implementasi baru ini berisi kode yang jauh lebih sedikit (1400 baris dibandingkan 4700), lebih mudah dipelihara dan dapat diperluas dengan mudah, misalnya, jika perlu menambahkan dukungan untuk tumpukan jaringan, sistem penyimpanan, atau algoritma enkripsi tertentu.

Sumber: opennet.ru

Tambah komentar