Разработчики WhatsApp заменили 160 тысяч строк кода на C++ для повышения безопасности мессенджера.
В WhatsApp появился новый уровень защиты, который работает незаметно для пользователя, но помогает блокировать скрытые вредоносные файлы. Разработчики внедрили крупный компонент, написанный на языке программирования Rust , чтобы снизить риск атак через изображения, видео и документы.
Команда мессенджера рассказала , что система проверки медиафайлов теперь использует библиотеку на Rust, развернутую сразу на миллиардах устройств и в браузерах. Этот шаг стал частью стратегии усиления защиты от вредоносных вложений. Несмотря на сквозное шифрование переписки, опасность могут представлять сами файлы. Иногда вредоносный код маскируется под обычную картинку или ролик и пытается использовать уязвимости операционной системы или встроенных библиотек обработки медиа.
Поводом для пересмотра подхода стала известная уязвимость Android под названием Stagefright , обнаруженная в 2015 году. Тогда проблема находилась в системных средствах обработки медиафайлов, и разработчики приложений не могли быстро её исправить. Обновления операционной системы доходили до пользователей месяцами. В WhatsApp тогда доработали собственную библиотеку обработки MP4, чтобы заранее выявлять подозрительные отклонения в структуре файлов и не допускать их использования. Это позволило защитить людей быстрее, чем ожидание обновлений платформы.
Со временем стало ясно, что такие проверки должны выполняться максимально безопасным кодом, так как они работают с недоверенными данными. Поэтому вместо постепенной переделки старой библиотеки на C++ разработчики создали новую версию параллельно, уже на Rust. Обе реализации долго сравнивали с помощью автоматического тестирования и методов поиска ошибок. В итоге объём кода сократился, а производительность и расход памяти улучшились.
Новая библиотека заменила около 160 000 строк кода на C++ версией примерно из 90 000 строк на Rust вместе с тестами. Сейчас она используется на Android, iOS, macOS, в веб-версии и на носимых устройствах. В компании заявляют, что это одно из самых масштабных внедрений Rust в пользовательских продуктах.
Дополнительно система получила набор проверок под названием «Калейдоскоп». Она выявляет подозрительные структуры в файлах, отслеживает опасные типы документов и случаи, когда один формат выдаётся за другой. Отдельное внимание уделяется PDF , так как они часто используются для распространения вредоносного кода, особенно при наличии встроенных файлов и сценариев. Исполняемые файлы и приложения помечаются как потенциально опасные.
Разработчики подчёркивают, что проверки формата не могут остановить 100% атак, но заметно снижают риск. Ежемесячно эти защитные компоненты доставляются на миллиарды телефонов и компьютеров пользователей сервисов компании.
В WhatsApp отмечают, что большинство критических уязвимостей в отрасли связано с ошибками работы с памятью в программах на C и C++ . Поэтому команда делает ставку на языки с встроенной защитой памяти для нового кода, усиливает проверки старых компонентов и сокращает потенциальную поверхность атаки. Ожидается, что доля Rust в инфраструктуре безопасности сервиса будет расти и дальше.
В WhatsApp появился новый уровень защиты, который работает незаметно для пользователя, но помогает блокировать скрытые вредоносные файлы. Разработчики внедрили крупный компонент, написанный на языке программирования Rust , чтобы снизить риск атак через изображения, видео и документы.
Команда мессенджера рассказала , что система проверки медиафайлов теперь использует библиотеку на Rust, развернутую сразу на миллиардах устройств и в браузерах. Этот шаг стал частью стратегии усиления защиты от вредоносных вложений. Несмотря на сквозное шифрование переписки, опасность могут представлять сами файлы. Иногда вредоносный код маскируется под обычную картинку или ролик и пытается использовать уязвимости операционной системы или встроенных библиотек обработки медиа.
Поводом для пересмотра подхода стала известная уязвимость Android под названием Stagefright , обнаруженная в 2015 году. Тогда проблема находилась в системных средствах обработки медиафайлов, и разработчики приложений не могли быстро её исправить. Обновления операционной системы доходили до пользователей месяцами. В WhatsApp тогда доработали собственную библиотеку обработки MP4, чтобы заранее выявлять подозрительные отклонения в структуре файлов и не допускать их использования. Это позволило защитить людей быстрее, чем ожидание обновлений платформы.
Со временем стало ясно, что такие проверки должны выполняться максимально безопасным кодом, так как они работают с недоверенными данными. Поэтому вместо постепенной переделки старой библиотеки на C++ разработчики создали новую версию параллельно, уже на Rust. Обе реализации долго сравнивали с помощью автоматического тестирования и методов поиска ошибок. В итоге объём кода сократился, а производительность и расход памяти улучшились.
Новая библиотека заменила около 160 000 строк кода на C++ версией примерно из 90 000 строк на Rust вместе с тестами. Сейчас она используется на Android, iOS, macOS, в веб-версии и на носимых устройствах. В компании заявляют, что это одно из самых масштабных внедрений Rust в пользовательских продуктах.
Дополнительно система получила набор проверок под названием «Калейдоскоп». Она выявляет подозрительные структуры в файлах, отслеживает опасные типы документов и случаи, когда один формат выдаётся за другой. Отдельное внимание уделяется PDF , так как они часто используются для распространения вредоносного кода, особенно при наличии встроенных файлов и сценариев. Исполняемые файлы и приложения помечаются как потенциально опасные.
Разработчики подчёркивают, что проверки формата не могут остановить 100% атак, но заметно снижают риск. Ежемесячно эти защитные компоненты доставляются на миллиарды телефонов и компьютеров пользователей сервисов компании.
В WhatsApp отмечают, что большинство критических уязвимостей в отрасли связано с ошибками работы с памятью в программах на C и C++ . Поэтому команда делает ставку на языки с встроенной защитой памяти для нового кода, усиливает проверки старых компонентов и сокращает потенциальную поверхность атаки. Ожидается, что доля Rust в инфраструктуре безопасности сервиса будет расти и дальше.
- Источник новости
- www.securitylab.ru