Почему необходимо сообщать о проблемах безопасности

We use cookies. Read the Privacy and Cookie Policy

Почему необходимо сообщать о проблемах безопасности

Прежде всего: почему нужно сообщать о проблемах безопасности? В конце концов, разве сами производители не тестируют свою продукцию, перед тем как предложить ее потребителям? Они обязаны гарантировать отсутствие ошибок. Разумеется, большинство производителей стараются выпускать качественную продукцию. Но они тоже люди и тоже могут ошибаться. Поэтому в любом продукте можно обнаружить уязвимости, точно так же как и другие программные ошибки. Кроме того, при тестировании программного обеспечения невозможно воспроизвести все возможные условия его эксплуатации. Многие проблемы обычно возникают при нестандартном, не предусмотренном производителем использовании программ. Поэтому, несмотря на то что некоторые ошибки и уязвимости выявляются и устраняются самими производителями, в основном большая часть дефектов обнаруживается обычными пользователями и, конечно, специалистами по компьютерной безопасности. Если вы относитесь к числу последних, то, скорее всего, уже знаете, что делать при обнаружении уязвимости программного обеспечения. Однако если вы обычный пользователь, то можете и не подозревать, как и кому сообщить об обнаруженной вами возможной уязвимости. В таком случае, прочитав эту главу, вы узнаете, как принято делать подобные сообщения.

Вы, наверное, считаете, что у вас нет ни времени, ни желания искать уязвимые места в используемых программах. Но дело в том, что специальный поиск не требуется. Большинство дефектов было обнаружено совершенно случайно. Пытаясь понять, почему программа работает с ошибками, вы можете обнаружить, что причиной проблем является намного более сложный дефект, чем вы предполагали вначале.

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

Например, в некоторых кругах уже давно все знали, что для прерывания модемного соединения с Интернетом достаточно послать запрос отклика, в который включена управляющая последовательность символов, заставляющая модем прервать соединение (+++ATH). Производители не беспокоились о решении этой проблемы до тех пор, пока этот вопрос не стал обсуждаться в открытых форумах, посвященных безопасности. Очевидно, что если вы не сообщаете об уязвимости программного обеспечения и ее исправлением никто не занимается, вы оставляете других открытыми для атаки.

Умолчав о найденной вами уязвимости, вы рискуете создать пропасть между теми, кто осведомлен о проблеме, и всеми прочими. Известно, что некоторые недобросовестные команды, проводящие испытания на проникновение, и консультанты по безопасности скрывают информацию о найденной ими уязвимости, чтобы обеспечить возможность успешного проникновения. Другие же могут утверждать, что они еще не закончили исследования масштабов уязвимости, в то время как на самом деле никакие исследования уже не проводятся.

В обоих случаях сокрытие информации должно вызывать обеспокоенность, так как большинство пользователей не осведомлены об уязвимости, известной только немногим. И пока кто-нибудь другой не обнаружит этот дефект или пока эти немногие не объявят о нем, производители не смогут начать работу по устранению проблемы. Следовательно, как только возникают достаточно серьезные основания предполагать существование уязвимости, тот, кто ее обнаружил, должен сообщить о ней (по крайней мере, производителю).

Полное раскрытие

Насколько подробным должно быть сообщение о найденной уязвимости? Какая информацию, кроме необходимой для воспроизведения проблемной ситуации, должна быть обнародована? Стоит ли делать код, использующий уязвимость, доступным широкой публике? Все эти вопросы так или иначе имеют отношение к концепции полного раскрытия (full disclosure), согласно которой обнародованию подлежат все аспекты проблемы. Считается, что пользователям должна быть предоставлена информация, позволяющая воспроизвести ситуацию. Кроме того, необходимо вообще дать им как можно больше информации о проблеме, включая код, использующий уязвимость. Дебаты о концепции полного раскрытия идут до сих пор, ведь у нее имеются и отрицательные стороны. Например, при таком подходе хакеры получают информацию о слабых местах системы, а код, использующий уязвимость, может быть сразу же использован для вторжения. Чтобы лучше понять концепцию полного раскрытия, потребуется историческая справка.

Раньше информация о проблемах безопасности распространялась только среди специалистов. Когда производители получали информацию об уязвимых местах, обнаруженных в их продуктах, они вообще никак не поступали с этой информацией или, в лучшем случае, дожидались, когда выйдет следующая версия продукта, чтобы внести исправления. Широкой публике не сообщалось об этом, так что никто и не знал, что вообще были какие-то проблемы с безопасностью.

Недостаток такого подхода состоит в том, что пользователи не осознают, насколько уязвимо программное обеспечение, которым они пользуются, и, соответственно, не понимают, насколько важно вовремя его обновлять, а также не требуют от производителей более надежных продуктов. Поскольку клиентов мало беспокоит безопасность, производители перестают считать надежность своей продукции первоочередной задачей. В свою очередь потребители не могут составить мнение о том, насколько безопасным является тот или иной продукт, поскольку отсутствует соответствующая информация от производителей. Таким образом, возникает порочный круг.

Ситуация осложняется тем, что даже информация, доступная только узкому кругу специалистов, имеющих непосредственное отношение к проблеме, иногда каким-то образом становится известной хакерам. Впрочем, изредка хакеры самостоятельно обнаруживают те самые уязвимые места, о которых говорят в узких кругах экспертов по безопасности. Некоторые хакеры сделали своей мишенью компьютеры экспертов по безопасности, где они надеются почерпнуть сведения об обнаруженных уязвимостях. Если удается взломать компьютер эксперта и получить новую информацию об уязвимостях, дальнейшее проникновение в чужие системы упрощается.

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

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

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

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

• Производители были вынуждены оперативно выпускать пакеты обновлений, устраняющих изъяны. Поскольку пользователей стали интересовать проблемы безопасности, надежность программного обеспечения и услуг стала для производителей приоритетной задачей.

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

К сожалению, полное раскрытие имеет и отрицательную сторону. Публикация полной информации о проблемах безопасности не только позволяет действующим из лучших побуждений пользователям самостоятельно контролировать свою систему, но и дает возможность людям с менее благородными устремлениями искать уязвимые места чужих компьютеров. К сожалению, невозможно предоставлять информацию только благонамеренным лицам, поэтому одновременно происходит и обучение хакеров. Но предположим, что некоторые хакеры уже имеют доступ к информации о какой-либо уязвимости и распространяют эти сведения в своей среде. Тогда в любом случае, как с полным раскрытием, так и без него, хакеры осведомлены об этой уязвимости. По крайней мере, при полном раскрытии люди, заинтересованные в том, чтобы вовремя исправлять вновь обнаруженные изъяны, имеют шанс устранить уязвимость до того, как ею воспользуются злоумышленники.

Перед тем как сделать информацию о найденной уязвимости достоянием широкой общественности, рекомендуется связаться с производителем соответствующего программного обеспечения. В результате работа над исправлениями начнется примерно тогда же, когда пользователи узнают о существующих проблемах.

Даже в наши дни следует быть осторожным и позаботиться о том, чтобы информация об уязвимости не попала в руки злоумышленников, в то время как производитель с вашей помощью пытается решить проблему. Например, в июле 1999 года была обнаружена уязвимость службы rpc.cmsd в системе Sun Solaris. Есть подозрения, что один из вариантов использования этой уязвимости был придуман хорошо известной фирмой, специализирующейся в области компьютерной безопасности. Создавалось впечатление, что в процессе исследования этой уязвимости произошла утечка информации. Очевидно, что при таких обстоятельствах требовались особое внимание и осторожность, чтобы избежать преждевременного распространения сведений до тех пор, пока уязвимость не была устранена.

Данный текст является ознакомительным фрагментом.