Уязвимости нулевого дня – головная боль разработчиков, ходовой товар на черном рынке и оружие, с которым спецслужбы и хакеры не спешат расставаться. Но так ли они полезны и как долго остаются актуальны? На что чаще полагаются хакеры, на «козырь», в виде 0-day, или на тривиальный фишинг, социальную инженерию и примитивные пароли? Наконец, стоит ли правительству утаивать информацию об уязвимостях нулевого дня, продолжая эксплуатировать их с якобы благими намерениями? Исследователи RAND Corporation попытались разобраться и ответить на эти вопросы, изучив более 200 уязвимостей нулевого дня.
Исследование, опубликованное RAND Corporation, получило поэтичное название Zero Days, Thousands of Nights. Для проведения этого анализа эксперты изучили более 200 уязвимостей нулевого дня и эксплоитов для них, собрав данные за последние 14 лет, то есть с 2002 по 2016 годы. В частности в этот список вошли эксплоиты для платформ Microsoft и Linux, а также атаки, направленные против продуктов Mozilla, Google и Adobe.
При этом исследователи не раскрывают своих источников и пишут, что около половины изученных ими уязвимостей до сих пор неизвестны широкой публике, то есть это самые настоящие 0-day, для которых пока не существует патчей, и о которых не знают разработчики проблемных продуктов. Единственное, что известно о происхождении этих данных – они предоставлены некой группой исследователей, которая носит имя BUSBY, но это лишь кодовое имя, придуманное специально для отчета. Эксперты RAND Corporation отмечают, что некоторые участники BUSBY работают на правительство.
Первая и одна из наиболее интересных цифр в отчете, это «срок жизни» среднестатистической 0-day уязвимости и эксплоитов для нее. Оказалось, что уязвимости нулевого дня в среднем «живут» 6,9 года, то есть 2521 день. При этом четверть уязвимостей сохраняют статус 0-day всего полтора года, тогда как еще четверть не теряют актуальности даже спустя девять с половиной лет. Исследователи пишут, что им не удалось обнаружить никакой связи между «временем жизни» и типом уязвимости, то есть предсказать, какой 0-day баг «проживет» дольше, не представляется возможным.
Еще один интересный факт: шанс, что разные люди сумеют обнаружить одну и ту же уязвимость нулевого дня, ничтожно мал. Эксперты оценивают эту «частоту столкновений» всего в 5,7% в год. Таким образом, получается, что спецслужбы, которые годами «накапливают» 0-day уязвимости в своем арсенале, не ставят тем самым под удар миллионы пользователей и «всю индустрию», как любят заявлять ИБ-эксперты? Ведь шанс, что ту же проблему обнаружили и эксплуатируют хакеры, очень мал. Бывший сотрудник АНБ Дэвид Айтель (David Aitel), которому журналисты издания Vice Motherboard задали этот вопрос, ответил: «Это верная на сто процентов интерпретация».
Сами исследователи не делают категоричных выводов. Они пишут: «Обычные white hat исследователи чаще склонны уведомлять производителей ПО о уязвимостях нулевого дня сразу, как только их обнаружили. Другие, к примеру, фирмы, оказывающие услуги пентестинга и grey hat организации, более склонны накапливать уязвимости. Однако решение накапливать или публично раскрыть данные о 0-day уязвимости (или об эксплоите для нее) – это игра компромиссов, в основном на уровне правительств». Вместе с этим исследователи отмечают, что слабые пароли, фишинг и устаревшее, давно не обновлявшееся ПО зачастую представляют куда больший риск, чем «разрекламированные» 0-day уязвимости, окруженные шумихой.
С этой позицией согласен представитель компании AlienVault, Джаввад Малик (Javvad Malik). «Уязвимости нулевого дня — не такой уж большой повод для беспокойства для среднестатистических пользователей. Чтобы атаковать пользователей, киберпреступники чаще обращаются к проверенным методам, у них разработаны действенные процессы, такие как фишинг и вымогательское ПО. Фактор направленных атак и 0-day уязвимостей больше нужен для атак на более крупные предприятия: финансовые сервисы, критические объекты национальной инфраструктуры, а также правительства», — говорит специалист.
Впрочем, некоторые эксперты уже выразили несогласие с выводами, представленными в отчете RAND Corporation. Например, Крейг Янг (Craig Young), сотрудник компании Tripwire, вообще назвал опубликованный доклад «антинаучным», потому как 200 изученных уязвимостей, по его мнению, это слишком мало, ведь из года в год эксперты обнаруживают тысячи различных проблем. Еще одним несоответствием действительности Янг назвал среднее время, которое, по мнению RAND Corporation, требуется для создания работающего эксплоита: 22 дня. Янг отмечает, что время на разработку эксплоита может отличаться радикально, и здесь все зависит от конкретной уязвимости.