Защита от хакеров корпоративных сетей
Шрифт:
• О проблемах, обнаруженных в программном обеспечении или службе, рассчитанных на широкий круг пользователей, например в таких, как почтовая служба Hotmail, необходимо сообщать непосредственно производителю, а затем, после истечения некоторого срока, также пользовательскому сообществу и специалистам в области компьютерной безопасности. В этом случае производитель имеет возможность начать работу над устранением уязвимости до того, как ее начнут использовать в злонамеренных целях.
• Таким же образом нужно сообщать о проблемах безопасности в программах и службах, предназначенных для использования на различных платформах. Сначала нужно проинформировать об уязвимости производителя программного обеспечения или провайдера
Учтите, что вышеприведенная информация призвана помочь вам определить, кого следует уведомлять о найденной уязвимости. Через сколько времени допустимо обнародовать полное описание проблемы, какое количество информации можно включать в сообщение, предназначенное для широкой публики, и с кем конкретно следует контактировать по данному вопросу, до сих пор не установлено. Специалисты в области компьютерной безопасности пока не пришли к единому мнению по этим вопросам.
Как сообщить производителю о проблемах безопасности
Процедура направления производителю сообщения о проблемах безопасности регламентирована, порядок ее выполнения будет описан в данном разделе. Прежде чем браться за подготовку сообщения, нужно узнать, не сообщил ли кто-нибудь об обнаруженной вами уязвимости раньше вас. В таком случае запись об этом должна находиться в информационной базе производителя или в системе сообщения об ошибках. Также нужно проверить общедоступные базы данных, такие как Common Vulnerabilities and Exposures (CVE) и SecurityFocus Vulnerability Database (www.security-focus.com/bid).
Постарайтесь включить в сообщение все сведения, которыми вы располагаете, в противном случае есть вероятность, что производитель не сможет воспроизвести проблемную ситуацию и внести исправления в программный продукт. В сообщении об уязвимости программного обеспечения нужно указать, какие операционную систему, конфигурацию аппаратных средств, дополнительные программы, установленные на вашем компьютере вы используете, а также указать дату и время обнаружения проблемы, порядок действий в момент обнаружения уязвимости. Всегда следует сообщать также номер версии программного обеспечения и контактную информацию. Аналогично в сообщении о проблемах аппаратных средств следует указать номер модели и серийный номер устройства, версии «зашитых» программ (firmware) и описать действия, которые вы выполняли в момент обнаружения проблемы.
Подготовка сообщения об уязвимости различных служб (сервисов) является крайне непростым делом, и нужно быть вдвойне внимательным, чтобы не переступить границы дозволенного при сборе информации. Если вы обнаружили проблему, четко опишите, в чем она состоит и при каких обстоятельствах возникает. Пусть детали проблемы выясняют те, кто обеспечивает эти службы. В этом случае вы не сможете
Не стоит думать, что производитель волшебным способом предоставит вам средство для устранения уязвимости в течение нескольких часов. Если даже вы сами способны быстро справиться с проблемами собственной системы, производитель должен протестировать внесенные исправления на системах различных конфигураций и на различных платформах. В конце концов, речь идет о его репутации.
Время от времени производитель будет связываться с вами, чтобы уточнить не до конца ясные детали сообщения. Также ему требуется время на изыскание ресурсов для решения проблемы, поэтому реакция может последовать не сразу, если проблема не настолько серьезна, что требует неотложной помощи. После внесения исправлений некоторое время уходит на серьезное тестирование обновленной версии. Только после этого она может быть предложена для использования.
Какие подробности следует опубликовать
После того как вы обнаружили и выявили уязвимость, потребуется определить, какие именно сведения следует включить в сообщение. В основном ваше решение будет зависеть от того, кому вы собираетесь направить сообщение. Но обычно в него входит информация, позволяющая независимо обнаружить и воспроизвести проблемную ситуацию. Самым сложным является вопрос, включать ли в сообщение код, использующий уязвимость.
Публикация кода, использующего уязвимость
Предположим, вы обнаружили уязвимость. Нужно ли обнародовать вместе с описанием проблемы код, использующий уязвимость? На этот сложный вопрос вам придется отвечать самостоятельно.
Создание кода, использующего уязвимость, позволяет другим быстро протестировать систему на ее наличие. Иным способом это сделать сложно. Например, если направить такой код производителю вместе с сообщением, это позволит ему быстрее воспроизвести проблемную ситуацию и начать работу над исправлениями. Кроме того, создание данного кода вынуждает производителя признать существование проблемы. Некоторые производители дешевой продукции отрицают существование любых проблем безопасности, пока вы не докажете обратное.
Обнародование кода, использующего уязвимость, ускоряет разработку производителем исправленной версии, так как отрицать наличие проблемы уже невозможно. С другой стороны, публикуя подобный код, вы даете оружие в руки хакеров. Впрочем, на этот счет имеется еще одно соображение. Если хакер может написать такой код за один день, в то время как системный администратор не имеет на это времени, как вы думаете, кому вы окажете помощь, если не опубликуете его?
Некоторые пользователи при создании такого кода стараются сделать так, чтобы он позволял тестировать систему на наличие проблемы, но не мог бы причинить вреда. Это делается для того, чтобы не дать злоумышленникам готового инструмента для проникновения в чужие системы. Впрочем, эффективность такого подхода не очень велика, так как образец кода легко можно модифицировать, сделав его вредоносным. Другими словами, этот способ создает препятствия только для неопытных хакеров, в то время как человек, обладающий необходимыми знаниями, получит в руки опасное оружие.
С подобным вопросом сталкиваются и многие производители программ для обнаружения уязвимости (security scanners). Они хотят продавать продукт, позволяющий пользователям тестировать систему на наличие уязвимостей, не давая им при этом в руки легкого в применении инструмента взлома. Впрочем, эти производители могут позволить себе роскошь создавать очень «шумные» сканеры, работу которых обнаружит любой, наблюдающий за сетью. В другом положении находятся те, кто публикует сообщение об обнаруженной уязвимости, обычно содержащее исходный код, поскольку опытный хакер может просто убрать из него любой «шум».