Группа американских исследователей из колледжа информатики при Технологическом институте Джорджии разработала новый метод анализа исходного кода программ и нашла с его помощью одиннадцать новых уязвимостей в популярных браузерах. За свою работу они заслуженно получили награду Internet Defense Prize на 24-м симпозиуме USENIX Security.
Аспиранты университета Бёнъюн Ли (Byoungyoung Lee) и Чэнгюй Сун (Chengyu Song), а также профессора Таесу Ким (Taesoo Kim) и Венке Ли (Wenke Lee) удостоились не только почетного звания, но и денежного приза $100 000 от компании Facebook за свою работу, которая сделает интернет более безопасным местом.
В опубликованной научной работе авторы приводят алгоритмы поиска ошибок в коде программ на C++, таких как Firefox и Chromium. Разработанный инструмент под названием CaVer способен находить определенные типы ошибок вроде неправильных типов переменных.
![Схема работы CaVer](https://xakep.ru/wp-content/uploads/2015/08/0034.png)
CaVer выполняет статический анализ кода, а затем работает в фоне при запущенном браузере.
![Отчет, который CaVer сгенерировал для уязвимости CVE-2013-0912](https://xakep.ru/wp-content/uploads/2015/08/0044.png)
Таким методом программа сумела найти одиннадцать уязвимостей в браузерах Firefox и Chromium, двум из которых присвоен высокий рейтинг опасности.
![Список уязвимостей, которые обнаружил CaVer в браузерах Firefox и Chromium](https://xakep.ru/wp-content/uploads/2015/08/0052.png)
Все уязвимости уже исправлены разработчиками.
Авторы программы CaVer призывают сообщество более глубоко изучать код браузеров и искать глубинные ошибки в нем. Сообщество преуспело в нахождении простых уязвимостей типа переполнения буфера, а вот CaVer может находить более сложные и глубоко запрятанные баги, такие как 'use-after-free' и 'bad casting".