गूगल ने एक नया ओपन-सोर्स प्रोजेक्ट, वनीर (Vanir), लॉन्च किया है, जो कोड में मौजूद उन पैच की पहचान करने के लिए एक स्टैटिक एनालाइज़र विकसित करता है जिन्हें अभी तक लागू नहीं किया गया है और जो सुरक्षा खामियों को दूर करते हैं। वनीर ज्ञात सुरक्षा खामियों और उन्हें दूर करने वाले पैच के सिग्नेचर डेटाबेस का उपयोग करता है। गूगल जुलाई 2020 से इसी तरह का डेटाबेस बनाए हुए है और इसमें प्लेटफॉर्म से संबंधित प्रोजेक्ट्स में मौजूद 95% सुरक्षा खामियों को शामिल किया गया है। Android, включая ядро Linux. В настоящее время поддерживается проверка исходного кода на языках C, C++ и Java. Код Vanir написан на языках С++ и Python, и распространяется под лицензией BSD.
इस परियोजना में दो भाग हैं - एक हस्ताक्षर जनरेटर और एक लापता पैच डिटेक्टर। जनरेटर OSV प्रारूप में भेद्यता विवरण और भेद्यता को ठीक करने वाले पैच या कमिट के लिंक के आधार पर सुधार की अनुपस्थिति की पहचान करने के लिए एक हस्ताक्षर बनाता है। अपने वर्तमान स्वरूप में, यह googlesource.com और git.codelinaro.org रिपॉजिटरी में कमिट्स को संभालने का समर्थन करता है, लेकिन कोड फ़ेच हैंडलर को जोड़कर अन्य सेवाओं के लिए समर्थन आसानी से जोड़ा जा सकता है।
Детектор выполняет разбор кода в указанном репозитории и определяет отсутствие в нём исправлений, описанных в предоставленных сигнатурах. Реализация основана на алгоритмах автоматического уточнения сигнатур и анализа множественных шаблонов, предложенных в исследовательских проектах ReDeBug и VUDDY. На современном ПК с 16-ядерным CPU сканирование дерева исходных текстов платформы Android по OSV-базе с информацией о более чем 2000 уязвимостей занимает 10-20 минут. На выходе формируется отчёт со списком потенциально неисправленных уязвимостей и ссылками на связанные с ними позиции в коде, CVE-идентификаторы и патчи. По статистике, собранной за два года использования Vanir в Google, уровень ложных срабатываний составляет 2.72%.


प्रस्तावित टूलकिट के लाभ:
- Возможность выявления неисправленных уязвимостей в сторонних ответвлениях, модификациях и заимствованиях кода, напрямую не связанных с основным проектом. В контексте Android инструментарий может использоваться для проверки применения исправлений в вариантах платформы Android, развиваемых OEM-производителями устройств.
- केवल विद्यमान कोड के विश्लेषण के आधार पर जांच करना, संस्करण संख्या, प्रतिबद्ध इतिहास और एसबीओएम (सॉफ्टवेयर बिल ऑफ मैटेरियल्स) जैसे मेटाडेटा के संदर्भ के बिना।
- सार्वजनिक रूप से जारी की गई भेद्यता जानकारी और अनुरक्षकों द्वारा प्रकाशित पैच का उपयोग करके स्वचालित हस्ताक्षर निर्माण के लिए समर्थन।
- गतिशील विश्लेषण और बाइनरी असेंबली सत्यापन उपकरणों की तुलना में स्रोत कोड के स्थैतिक विश्लेषण पर आधारित सत्यापन का उच्च प्रदर्शन।
- आत्मनिर्भरता वह क्षमता है जिससे आप बाहरी सेवाओं का सहारा लिए बिना अपने सिस्टम पर बुनियादी ढांचे को तैनात कर सकते हैं।
- Наличие готовой актуальной базы сигнатур, сопровождаемой командой Google Android Security Team.
- सतत एकीकरण और वितरण (सीआई/सीडी) प्रणालियों से जुड़ने के लिए समर्थन। पायथन भाषा में पुस्तकालयों के रूप में वैनिर का उपयोग करके अन्य परियोजनाओं में एकीकरण की संभावना।
- कमजोरियों से संबंधित न होने वाले कार्यों के लिए सिस्टम को अनुकूलित करने की क्षमता, जैसे कोड क्लोनिंग का पता लगाना या अन्य परियोजनाओं में लाइसेंस प्राप्त कोड का उपयोग करना।
स्रोत: opennet.ru
