Коллектив авторов - Защита от хакеров корпоративных сетей
Справедливости ради стоит заметить, что выдвинутое фирмой Microsoft требование стандартизации процедуры отправки сообщений и ограничения немедленного распространения сведений о найденной уязвимости содержит рациональное зерно. Однако запрет на распространение определенной информации (например, кода, использующего уязвимость) и создание «закрытого общества» для обсуждения проблем компьютерной безопасности не служат интересам сообщества пользователей.
Когда и кому направить сообщение
Если вы хотите опубликовать сообщение о найденной вами уязвимости, необходимо определить, будет ли оно отправлено производителю или же вы сделаете его достоянием широкой публики. Также нужно проверить, достаточно ли собранной вами информации. Может оказаться, что нужно произвести дополнительные изыскания для более полного описания проблемы.
Кому направить сообщение о проблемах безопасности?
Обычно нелегко выбрать адресата, которому следует направить сообщение о проблемах безопасности, хотя вариантов и немного: вы можете проинформировать непосредственно производителя, выложить сведения в открытый форум или сразу опубликовать статью в средствах массовой информации. Проще всего сделать выбор, попытавшись понять, кто больше всего пострадает от обнаруженной вами уязвимости.
Предположим, вы обнаружили новую уязвимость некоего программного продукта или службы. Все уязвимости можно разделить на три категории в зависимости от того, в каких продуктах они находятся: это может быть узкоспециализированный (low-profile) продукт или служба, продукт или служба, рассчитанные на широкий круг пользователей (high profile), или же продукты или службы, работающие на различных платформах.
Рассмотрим подробные примеры для каждой из категорий.
• Примером узкоспециализированного продукта, рассчитанного на одну платформу, является приложение CD-Ex, предназначенное для извлечения цифровых звукозаписей. Оно используется в операционной системе Windows. Любая уязвимость этого приложения касается только его непосредственных пользователей. В таких случаях все возможные потери доходов грозят только тем, кто производит данный продукт или предоставляет данный сервис.
• Почтовый сервис Hotmail от Microsoft является примером сервиса, предназначенного для широкого использования, поскольку на этом сервисе находятся многочисленные учетные записи пользователей Интернета. Обнаруженные уязвимости окажут влияние на непосредственных потребителей данного сервиса, а если уязвимость позволяет спаммерам рассылать сообщения, то и на остальных пользователей Интернета. В данном случае использование уязвимости может нанести ущерб тем, кто предоставляет этот сервис, а также тем, кто этим сервисом пользуется.
• Примером продукта, работающего на различных платформах, является ядро Linux. Связанная с ним уязвимость касается всех пользователей, работающих с данным ядром. Также открытыми для атаки оказываются все приложения, запускаемые на этом ядре. В их число могут попасть брандмауэры и базы данных, содержащие секретную информацию. Исправление уязвимостей этого типа – очень сложное и дорогостоящее дело.
...Примечание
Можно привести и другие примеры: я вовсе не хочу сказать, что именно эти продукты и сервисы являются особенно уязвимыми.
Если обнаруженная уязвимость находится в бесплатном сервисе электронной почты, таком как Hotmail, это затронет только пользователей данного сервиса. С другой стороны, если дефект обнаружен в ядре Linux, все пользователи этой операционной системы окажутся открытыми для атаки.
Вообще говоря, ваш выбор адресата сообщения об обнаруженной уязвимости должен определяться числом пользователей, которым может быть причинен ущерб. Вот список вариантов для каждой из категорий.
• Сообщение о найденной уязвимости узкоспециализированных продуктов или услуг следует отправлять производителю, а желательно также сообществу пользователей этого продукта или службы. Таким способом информируются только те, кому может принести вред найденная уязвимость. Остальные об этом не узнают и, соответственно, не станут тратить время и усилия на борьбу с дефектом, который их непосредственно не касается. Если брать приведенное в качестве примера приложение CD-Ex, то вряд ли стоит оповещать о найденной в нем уязвимости всех, кто занимается компьютерной безопасностью. Все равно большинство из этих специалистов не смогут ничем помочь в борьбе с уязвимостью конкретного приложения. Лучше направить их усилия на устранение проблем безопасности, относящихся к следующим двум категориям.
• О проблемах, обнаруженных в программном обеспечении или службе, рассчитанных на широкий круг пользователей, например в таких, как почтовая служба Hotmail, необходимо сообщать непосредственно производителю, а затем, после истечения некоторого срока, также пользовательскому сообществу и специалистам в области компьютерной безопасности. В этом случае производитель имеет возможность начать работу над устранением уязвимости до того, как ее начнут использовать в злонамеренных целях.
• Таким же образом нужно сообщать о проблемах безопасности в программах и службах, предназначенных для использования на различных платформах. Сначала нужно проинформировать об уязвимости производителя программного обеспечения или провайдера службы. В зависимости от серьезности проблемы через какое-то время можно сообщить о ней пользовательскому сообществу и специалистам в области компьютерной безопасности. В это сообщение следует включить меньшее количество деталей. Можно указать, что дополнительные сведения будут сообщены через некоторое время или же после того, как производитель выпустит исправленную версию. В этом случае пользователи будут поставлены в известность о существовании проблемы, определенным образом влияющей на программу или службу, но этой информации будет недостаточно для использования уязвимости в злонамеренных целях. Это даст производителю время для изучения проблемы. Например, при обнаружении уязвимости в ядре Linux разумнее всего обратиться к его разработчику и к лицам, ответственным за безопасность в фирмах-производителях версий операционной системы Linux, в число которых входят такие фирмы, как Red Hat, SUSE и Debian. Через некоторое время допустимо сообщить о найденной уязвимости в списки рассылки Linux. Полное описание проблемы можно опубликовать только через определенный период времени.
Учтите, что вышеприведенная информация призвана помочь вам определить, кого следует уведомлять о найденной уязвимости. Через сколько времени допустимо обнародовать полное описание проблемы, какое количество информации можно включать в сообщение, предназначенное для широкой публики, и с кем конкретно следует контактировать по данному вопросу, до сих пор не установлено. Специалисты в области компьютерной безопасности пока не пришли к единому мнению по этим вопросам.
Как сообщить производителю о проблемах безопасности
Процедура направления производителю сообщения о проблемах безопасности регламентирована, порядок ее выполнения будет описан в данном разделе. Прежде чем браться за подготовку сообщения, нужно узнать, не сообщил ли кто-нибудь об обнаруженной вами уязвимости раньше вас. В таком случае запись об этом должна находиться в информационной базе производителя или в системе сообщения об ошибках. Также нужно проверить общедоступные базы данных, такие как Common Vulnerabilities and Exposures (CVE) (http://cve.mitre.org) и SecurityFocus Vulnerability Database (www.security-focus.com/bid).
Постарайтесь включить в сообщение все сведения, которыми вы располагаете, в противном случае есть вероятность, что производитель не сможет воспроизвести проблемную ситуацию и внести исправления в программный продукт. В сообщении об уязвимости программного обеспечения нужно указать, какие операционную систему, конфигурацию аппаратных средств, дополнительные программы, установленные на вашем компьютере вы используете, а также указать дату и время обнаружения проблемы, порядок действий в момент обнаружения уязвимости. Всегда следует сообщать также номер версии программного обеспечения и контактную информацию. Аналогично в сообщении о проблемах аппаратных средств следует указать номер модели и серийный номер устройства, версии «зашитых» программ (firmware) и описать действия, которые вы выполняли в момент обнаружения проблемы.
Подготовка сообщения об уязвимости различных служб (сервисов) является крайне непростым делом, и нужно быть вдвойне внимательным, чтобы не переступить границы дозволенного при сборе информации. Если вы обнаружили проблему, четко опишите, в чем она состоит и при каких обстоятельствах возникает. Пусть детали проблемы выясняют те, кто обеспечивает эти службы. В этом случае вы не сможете ничего случайно повредить и избежите проблем с законом.