Адрес: ул. Б. Очаковская 32 Москва Россия
Наши официальные канал и чат в telegram
Поднимем Devuan на вершину Distrowatch! Просто перейдите по ссылке один раз в день.

Компания Meta переписала часть мессенджера WhatsApp на языке Rust

Новости собранные из разных RSS источников
Аватара пользователя
root:#
Site Admin
Сообщения: 1384
Зарегистрирован: Вт ноя 08, 2022 3:27 pm
Благодарил (а): 47 раз
Поблагодарили: 26 раз

Компания Meta переписала часть мессенджера WhatsApp на языке Rust

Сообщение root:# »

Компания Meta переписала часть мессенджера WhatsApp на языке Rust
Инженеры из компании Meta* опубликовали отчёт о переработке компонентов мессенджера WhatsApp с использованием языка Rust. В рамках инициативы по усилению безопасности проекта был подготовлен новый вариант библиотеки wamedia, изначально написанной на языке C++ и применяемой в WhatsApp для отправки и обработки мультимедийных файлов в формате MP4. Мотивом для переработки послужило выявление в wamedia ошибок, возникавших при обработке некорректно оформленных MP4-файлов. Подобные ошибки были устранены и добавлены проверки корректности файлов, но потенциально библиотека представляла угрозу безопасности из-за вероятного наличия ещё не выявленных похожих ошибок и использования библиотеки при автоматической обработке присылаемых данных. Эксплуатация неисправленной уязвимости в wamedia могла бы привести к выполнению кода через отправку пользователю специально оформленных мультимедийных данных, как это недавно было продемонстрировано в библиотеке Dolby Unified Decoder. Вместо постепенного переписывания wamedia был создан новый вариант библиотеки на языке Rust, который разрабатывался параллельно с оригинальной версией на C++. В конечном счёте удалось заменить около 160 тысяч строк кода на C++ на 90 тысяч строк кода на Rust. Ключевыми проблемами при задействовании в WhatsApp кода на Rust стало увеличение размера исполняемого файла из-за интеграции стандартной библиотеки Rust и необходимость адаптации системы сборки с сохранением всех поддерживаемых платформ. При этом версия на Rust не только отличалась заметным сокращением числа строк в коде, но и показала прирост производительности и снижение потребления памяти по сравнению в реализацией на C++. В настоящее время версия WhatsApp с кодом на Rust доведена до пользователей Android, iOS, macOS, Web, носимых устройств и некоторых других платформ. Утверждается, что опыт внедрения Rust в WhatsApp и распространение новой библиотеки wamedia на миллиарды устройств и браузеров показывает готовность к применению языка Rust в глобальном масштабе. По данным Meta большинство опасных уязвимостей в развиваемых продуктах вызвано проблемами при работе с памятью в коде на C и C++. Для предотвращения появления подобных уязвимостей компания продвигает три стратегии: использование для нового кода языков, безопасно работающих с памятью; снижение поверхности атаки при проектировании; инвестирование в развитие средств для обеспечения безопасности остающегося кода на C и C++.
Источник: https://www.opennet.ru/opennews/art.shtml?num=64719