Google telah memperkenalkan projek sumber terbuka baharu, Vanir, yang membangunkan penganalisis statik untuk mengenal pasti tampalan yang tidak digunakan pada kod secara automatik yang menangani kelemahan. Vanir menggunakan pangkalan data tandatangan kelemahan dan tampalan yang diketahui untuk menanganinya. Google telah mengekalkan pangkalan data yang serupa sejak Julai 2020 dan merangkumi 95% kelemahan dalam projek berkaitan platform. Android, termasuk teras LinuxPada masa ini, semakan kod sumber disokong untuk C, C++ dan Java. Vanir ditulis dalam C++ dan Python dan diedarkan di bawah lesen BSD.
Projek ini terdiri daripada dua bahagian - penjana tandatangan dan pengesan tampalan terlepas. Penjana menjana tandatangan untuk mengenal pasti ketiadaan pembetulan berdasarkan penerangan tentang kelemahan dalam format OSV dan pautan ke tampung atau komit yang menghapuskan kelemahan. Dalam bentuk semasa, ia menyokong komit pemprosesan dalam repositori googlesource.com dan git.codelinaro.org, tetapi sokongan untuk perkhidmatan lain boleh ditambah dengan mudah dengan menyambungkan pengendali tarik kod.
Pengesan menghuraikan kod dalam repositori yang ditentukan dan menentukan sama ada ia mengandungi pembetulan yang diterangkan dalam tandatangan yang disediakan. Pelaksanaan ini adalah berdasarkan algoritma untuk penambahbaikan tandatangan automatik dan analisis corak berganda yang dicadangkan dalam projek penyelidikan ReDeBug dan VUDDY. Pada PC moden dengan CPU 16 teras, mengimbas pokok sumber platform Android Menggunakan pangkalan data OSV yang mengandungi maklumat tentang lebih 2000 kerentanan mengambil masa 10-20 minit. Laporan yang terhasil menyenaraikan kerentanan yang berpotensi belum ditampal dan pautan ke lokasi kod yang berkaitan, pengecam CVE dan tampalan. Menurut statistik yang dikumpul selama dua tahun penggunaan Vanir di Google, kadar positif palsu ialah 2.72%.


Kelebihan alat yang dicadangkan:
- Keupayaan untuk mengenal pasti kelemahan yang belum ditambal dalam fork pihak ketiga, pengubahsuaian dan pinjaman kod yang tidak berkaitan secara langsung dengan projek utama. Dalam konteks Android Alat ini boleh digunakan untuk menyemak aplikasi pembetulan merentasi varian platform Android, dibangunkan oleh pengeluar peranti OEM.
- Melakukan semakan hanya berdasarkan analisis kod sedia ada, tanpa merujuk kepada metadata seperti nombor versi, sejarah komit dan SBOM (Bil Bahan Perisian).
- Sokongan untuk penjanaan automatik tandatangan menggunakan maklumat tentang kelemahan yang muncul dalam sumber awam dan tampung yang diterbitkan oleh penyelenggara.
- Prestasi pengesahan yang lebih tinggi berdasarkan analisis kod sumber statik berbanding alat untuk analisis dinamik dan pengesahan himpunan binari.
- Sara diri ialah keupayaan untuk menggunakan infrastruktur pada sistem anda sendiri tanpa menggunakan perkhidmatan luaran.
- Ketersediaan pangkalan data tandatangan yang sedia ada dan terkini, disokong oleh pasukan Google Android Pasukan Keselamatan.
- Sokongan untuk menyambung kepada sistem integrasi dan penghantaran berterusan (CI/CD). Kemungkinan integrasi ke dalam projek lain menggunakan Vanir dalam bentuk perpustakaan Python.
- Keupayaan untuk menyesuaikan sistem untuk tugas yang tidak berkaitan dengan kelemahan, contohnya, untuk mengesan pengklonan kod atau penggunaan kod berlesen dalam projek lain.
Sumber: opennet.ru
