После изучения динамики отправки отчётов об уязвимостях и аварийных завершениях работы, а также разбора связанных с безопасностью инцидентов и результатов fuzzing-тестирования, был сделан вывод, что внедрение MiraclePtr предоставило защиту от 57% уязвимостей класса use-after-free, благодаря переводу на использование MiraclePtr полей классов и параметров callback-вызовов.
Кроме того, упоминается, что 5 из 6 выявленных за прошлый год критических уязвимостей в стабильной ветке Chrome были идентифицированы благодаря изучению отчётов об аварийных завершениях, связанных с использованием MiraclePtr.
Ценой применения MiraclePtr является повышение потребления памяти, так как для указателей требуется хранить дополнительные 4 байта со счётчиком ссылок. Потребление памяти основным процессом браузера при применении MiraclePtr увеличивается на 5.5-8% в сборках для настольных систем и на 2% в версии для Android. Среднее повышение потребления для всех процессов оценивается в 1-3%. Кроме того, при использовании MiraclePtr зафиксированы отдельные регрессии, приводящие к снижению производительности, но не связанные с ключевыми метриками, такими как время загрузки и отрисовки страницы. Из выявленных регрессий отмечается задержка на 1.5% первого ввода в Chrome OS, замедление на 1.5% открытие вкладок на платформе Android, а также увеличение вероятности задержки ввода из-за конкуренции в основном потоке (увеличение вероятности на 10% в 99-ом процентиле).
Источник: http://www.opennet.ru/opennews/art.shtml?num=60482