Библиотека hickory-proto развивается разработчиками DNS-сервера Hickory, задействованного в инфраструктуре Let's Encrypt и написана на набирающем популярность языке программирования Rust, который потенциально может обеспечить лучшую защиту памяти, чем классический C++.
В прошлом Google уже исправляла критические ошибки в коде прошивок устройств Pixel, связанные с сетевыми функциями, например, в 2024 году была найдена уязвимость CVE-2024-27227, механизмом действия которой было переполнение буфера при обработке специально оформленных DNS-ответов.
Компания предполагает, что использование библиотеки Hickory поможет избавится от целого класса уязвимостей, связанных с низкоуровневой обработкой запросов к памяти. Проект также рассматривается как базис для более широкого внедрения в другие компоненты блоков на безопасных языках.
Однако данное решение пока что неидеально. В частности результирующий объем кода слишком велик для встраиваемых устройств из-за отсутствия оптимизации под такие задачи. Размер компонента составил 371KB, из которых 350KB hickory-proto и зависимости, 17KB — вспомогательные функции, выделенные из стандартной библиотеки, 4KB — прослойка для использования библиотеки для обработки ответов от DNS-серверов.
Для прошивки модема Pixel это не является проблемой, но для более ограниченных в ресурсах устройств это решение может оказаться неподходящим. В будущем в Hickory-proto планируют реализовать флаги, оставляющие при компиляции только требуемую функциональность.