28.07.2011

В безопасности ли вы, поставив все последние обновления?

Не все люди понимают, что между появлением уязвимости в программном продукте и выходом обновления этого программного продукта есть промежуток времени. На это хакеры и рассчитывают.

Не все люди понимают, что между появлением уязвимости в программном продукте и выходом обновления этого программного продукта есть промежуток времени. На это хакеры и рассчитывают.

Следуя лучшим практикам, компании устанавливают у себя системы, которые контролируют появление новых обновлений программных продуктов и сразу же их ставят. Это сильно повышает безопасность, но не на 100%. Почему?

Это элементарно, Ватсон. Обновление появляется лишь после того, как программисты компании разработчика напишут и оттестируют это обновление. А до этого они должны получить команду заняться именно этой уязвимостью. А до этого сама компания должна узнать про уязвимость.

Как идет процесс? Он развивается во времени по шагам

  1. Кто-то нашел уязвимость
  2. Кто-то опубликовал уязвимость
  3. Производитель программного продукта узнал об уязвимости
  4. Производитель программного продукта выпустил обновление
  5. Пользователь узнал об обновлении
  6. Пользователь поставил обновление

Сколько времени проходит от 1 до 2? Последний взлом Google (операция Aurora) показал, что есть злоумышленники, которые находят уязвимости и сразу же их используют. Для атаки на Google была использована неизвестная (на момент атаки) уязвимость в Internet Explorer. А поскольку неизвестна была уязвимость, то не было и обновления (патча) для него.

Сколько времени проходит от 2 к 3? Как правило, если уязвимость найдена исследовательскими лабораториями или опубликована в форумах, то она появляется в базе данных уязвимостей (примером такой базы является CVE), и производители софта их используют и думаю что делать. Но не всегда у них есть время и ресурсы, чтобы заняться проблемой. Поэтому ответ на следующий вопрос вам не понравится.

Сколько времени проходит от пункта 3 до 4? По статистике 50% уязвимостей так и не доходят до пункта 4. То есть, на них просто нет обновлений. Простите, не хотел вас огорчать.

Сколько времени проходит от 4 до 5? На эту тему я хотел поговорить в этой статье. Не все компании имеют софт, который автоматически контролирует ВСЕ программные обновления ВСЕХ используемых продуктов. Поэтому даже если выходит обновление, то не все об этом знают и не все его ставят. Если вспомнить вирус Conficker, то время этого шага по установке патчей составляло 3 месяца и более. Обновление, выпущенное 23 октября 2008 года (http://www.microsoft.com/rus/technet/security/bulletin/MS08-067.mspx), никем не было замечено, поэтому неудивительно, что Conficker заразил миллионы компьютеров в январе 2009 года. (Справедливости ради надо сказать, что этот сетевой червь использовал несколько путей распространения – не только через уязвимую службу Server).

Сколько времени проходит между 5 и 6? Это зависит от многих параметров: наличия автоматизированных программ по установке обновлений; наличия политик, требующих сначала протестировать обновления, а потом ставить на работающие серверы; наличия политик, связанных с тем, что любое обновление должно быть сертифицировано соответствующей организацией, что еще больше затягивает этот процесс.

Считается, что автоматизация этого процесса: проверки наличия уязвимостей – скачивания - установки – это самое лучшее решение. И это так. Но почему я сказал, что вы все равно не 100% защищены от уязвимостей? Проще всего посмотреть на примере.

Сегодня 8 июля 2011 года. Заходим на zero day tracker и видим кучу новых уязвимостей. Например, в Internet Explorer 9 сегодня есть уязвимость (почему никто не удивился!?), что описано здесь http://www.eeye.com/Resources/Security-Center/Research/Zero-Day-Tracker/2011/20110402



Понимая, что есть уязвимость, мы можем спросить нашу программу обновлений – ставь обновление. Допустим, мы пользуемся бесплатной Secunia PSI. Что она пишет про IE9 сегодня? Запускаем и смотрим. Сделаю это у себя на компьютере.

Да-да. Secunia PSI радостно меня оповещает, что у меня последние обновления для Internet Explorer 9 и надо жить спокойно. Но это ведь не так! Если бы мы с вами не зашли на zero day tracker, то мы бы никогда и не узнали, что у всех есть уязвимость, потому что моя и ваша программа обновлений нас успокоила. Я не обвиняю конкретный продукт или компанию. Так работают почти все системы обновлений! Они лишь заботятся о наличии у вас последних обновлений, но совершенно не в курсе про последние уязвимости.

Вывод: если вы установили все последние обновления, то это не значит, что вы устранили все известные на сегодняшний день уязвимости.
Что же делать? Здесь на помощь приходят системы предотвращения атак (IPS). Производители таких систем гораздо раньше вендоров узнают об уязвимостях и пишут защиту от атак на эти уязвимости. Хакеры пытаются атаковать – у них не получается, как-будто обновление стоит. Такая защита называется «виртуальный патч». Обновления (на жаргоне - патча) реально нет, но атаковать уязвимость невозможно.

В корне сдвинуть с мертвой точки ситуацию, что производители слишком поздно узнают об уязвимостях помог проект Zero Day Initiative компании HP TippingPoint. Компания стала платить исследователям за найденные уязвимости, в результате HP знает про уязвимости гораздо раньше производителя программного обеспечения и ставит защиту «виртуальный патч». В 2010 году, например, проект ZDI нашел и помог защититься от 310 уязвимостей, неизвестных ранее. Это рекорд. Достигнут он тем, что на сегодняшний день в этом проекте участвуют 1500 человек. Таким образом, пользуясь ZDI, HP TippingPoint IPS решает проблемы с отсутствием патчей во всей сети и дает время вам на их установку. Так что вывод грустный: у кого нет IPS – того скоро взломают.

BDV