05.12.2008

Катастрофическое число уязвимостей – FUD 101

Последние полтора десятка лет, что я занимаюсь безопасностью web-приложений, у меня была возможность пообщаться практически со всеми, кто считает себя экспертом в этой области, и чем дальше, тем легче мне было заставить их признать, что «все ломается».

RSnake
http://ha.ckers.org/blog/20081012/apocalyptic-vulnerability-percentages-fud-101/

Я уже много лет участвую в этой войне и чувствую, что она выматывает меня все больше, если это вообще возможно. Уверен, что, по крайней мере, раз в неделю кто-нибудь слышит от меня: «Все равно все ломается, так какая разница?» Думаю, пора мне объяснить свою мысль. Последние полтора десятка лет, что я занимаюсь безопасностью web-приложений, у меня была возможность пообщаться практически со всеми, кто считает себя экспертом в этой области, и чем дальше, тем легче мне было заставить их признать, что «все ломается». Думаю, при этом они имели в виду, что злоумышленники могут выбрать любую систему, и, если используется достаточно ресурсов для атаки, то злоумышленники смогут проникнуть в систему, сломать ее, отключить – т.е. сделать все, что захотят.

Я спрашивал многих специалистов, какой процент сайтов, по их мнению, они смогли бы взломать или найти в них уязвимости. Несколько лет назад речь шла о примерно 70–80 % сайтов, но тогда мы обсуждали только определенные классы ошибок в системах защиты web-приложений. Может ли это число быть больше? И больше не на какие-то несколько процентов – я имею в виду, может ли это число оказаться близким к 100%? Предположим на секунду, что в каждом из основных web-серверов присутствует, по крайней мере, одна уязвимость, доступная удаленно, которую мы не смогли вовремя обнаружить и исправить. Уязвимости действительно появляются с завидной регулярностью, поэтому давайте просто примем на веру то, что после нашей работы все равно одна из них (или даже больше) осталась не устраненной. Теперь допустим, что большинство уязвимостей из этого небольшого количества оставшихся компрометируют безопасность сети (мы оцениваем эту долю приблизительно в 70%). Далее, предположим, что каналы провайдера или каналы сервера для администрирования могут быть физически прослушаны или напрямую использованы для атаки на основные DSL модемы/маршрутизаторы специалистов, администрирующих сайт. Теперь нужно еще сказать об использовании злоумышленниками DNS, маршрутизаторов и брандмауэров, ASN.1 и т.д. А еще – о человеческом факторе в атаках с использованием хостов посредников, атаках через браузер, электронную почту, службу мгновенных сообщений, мобильный телефон и т.д. Не забудем также и про социальную инженерию. И все эти аспекты не рассматривались нами, когда несколько лет назад мы получили уровень в 80%, о котором я говорил выше.

Итак, раньше мы получали 80% уязвимых сайтов, и это уже было очень неприятно. Вспомним еще высказывание Джоэла Снайдера (Joel Snyder) о том, что взломать 70% сайтов не может никто. Джоэла Снайдера (Joel Snyder) о том, что взломать 70% сайтов не сможет никто. Думаю, он и его единомышленники подразумевали при этом, что 70% – это некоторый предел, за которым следует катастрофа, и что компания Acunetix специально распространяет такие данные. Но что, если ситуация на самом деле еще хуже? Намного хуже. Что скажут люди? Что они подумают? Перестанут ли они тратить средства на защиту информации? Нет – и именно поэтому мне не кажется, что обсуждение данного вопроса можно назвать распространением пугающих слухов или что от потребителей следует скрывать реальное положение дел. Но, самое главное, возникает вопрос: а есть ли вообще смысл продолжать работу в области безопасности? Если все равно все можно взломать, зачем мы снова и снова выпускаем патчи для наиболее критических ошибок? Ведь каждый день на рынке появляется множество новых продуктов, средств и сервисов, каждый со своими уязвимостями!

Потребители не перестанут пользоваться нашими услугами, компании не прекратят разработку заплаток, а хакеры не откажутся от взломов – ни эта статья, ни осознание реальной ситуации не изменят мир. Значит ли это, что я сдаюсь? Конечно же, нет, ведь это моя работа и способ существования! Это значит лишь, что мне уже не так интересны новые методы взлома – это просто другие способы чем-то воспользоваться. Они могут быть интересны новичкам, еще не понявшим суть дела, но если вы достаточно времени пообщаетесь с экспертами, вы, скорее всего, придете к тем же выводам, что и я. И не думайте, что я распространяю через Интернет упаднические настроения – я знаю, идеология потребления все равно возьмет верх над любыми недостатками систем защиты.

Многие руководители отделов IT-безопасности, с которым я общался, говорили, что больше всего их беспокоят эзотерические ошибки. Мне приходилось переубеждать их, объясняя, как мала вероятность того, что их компания подвергнется такому специфическому виду атаки, и насколько чаще реализуются тривиальные угрозы, известные на протяжении вот уже многих лет. Конечно, обсуждение этих атак далеко не так волнующе, но мы до сих пор не нашли достойного решения проблем, которые стоят перед нами уже более 10 лет! Вот простой пример: почему мы до сих пор используем IPv4, DNS, Telnet, FTP и HTTP, хотя в нашем распоряжении имеются IPv6, DNSSEC, SSH, SCP и HTTPS? Повторяю, я не пытаюсь распространять пугающие слухи, я лишь хочу, чтобы мы перестали обсуждать процентные соотношения. Вся правда состоит в том, что какое бы устройство Вы ни подключили к Интернету, оно, возможно, будет каким-то образом использовано злоумышленником. Поверьте мне, не так уж страшно смириться с мыслью, что так было всегда. И если Вы хотите моего совета, то вот он: возьмите у военных криптографический ключ и изолируйтесь от всех, чьего проникновения в систему Вы хотите избежать. На этой грустной ноте позвольте пожелать Вам хороших выходных.