1. Перейти к содержанию
  2. Перейти к главному меню
  3. К другим проектам DW

Потайные двери в программном коде. Компьютерный червь Lovesun и сбой в подаче электроэнергии в США

Глеб Гаврик «Немецкая волна»

29.09.2003

https://p.dw.com/p/47q9

Компьютерный червьW32.Blaster, более известный как LovSun, вновь подтвердил старую истину – в мире электронных коммуникаций проблемы с обеспечением безопасности могут возникнуть в любой момент и повсеместно. Неважно, что явилось в том или ином случае причиной вторжения «непрошеных гостей», – открытый порт на Интернет-сервере или так называемое переполнение буфера (Buffer-Overflow) – небрежное программирование рано или поздно приводит к более чем печальным последствиям. Выявлением скрытых «лазеек», которыми могут воспользоваться хакеры, решило заняться всерьез Управление национальной безопасности США (NSA). Под его эгидой организован Backdoor Detection Center, название которого можно было бы перевести как Центр обнаружения задних (или потайных) дверей. На одном из заседаний Департамента по национальной безопасности США представитель NSA Дэниел Волф обратил внимание коллег на то, что до сих пор не разработано действенных инструментов по проверке как программного, так и двоичного кода на предмет существования скрытых «лазеек». В необходимости создания таких специальных контрольных программ не сомневается и сотрудник гамбургского исследовательского сетевого центра DFN-CERT Клаус Мёллер (Klaus Moeller), но при этом подчеркивает, что дело это чрезвычайно трудное:

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

К обычным, тривиальным «лазейкам» относится «задняя дверь» в открытом для бесплатного пользования пакете программного обеспечения Borland Interbase Datenbank, предназначенном для обслуживания баз данных:

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

Можно предположить, что коррумпированные разработчики программного обеспечения и шпионы на протяжении долгих лет встраивали подобные «подземные ходы» во многие программы. Так что всерьез говорить об их своевременном обнаружении не приходится. Как же предотвратить и, если это невозможно, то хотя бы уменьшить потери от вторжений злых пришельцев? С этим вопросом мы обратились к Клаусу Мёллеру:

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

В то время как «электронных паразитов» достаточно легко найти при помощи обычных антивирусных программ, скрытые бреши в безопасности могут оставаться нераскрытыми на протяжении долгих лет. К таким опасным дырам относится и переполнение буфера, когда данные системы внезапно становятся доступны для всех «непрошеных гостей». Этот эффект – следствие спровоцированных извне перегрузок, которые и дают хакерам реальный шанс для проникновения внутрь системы. А виноваты в этом в конечном итоге авторы программного обеспечения, в основном работающие с языками C и C++. Программисты часто отказываются от проведения тщательных проверок из соображений экономии времени вместо того, чтобы проверить, как ведет себя их детище в экстремальных ситуациях. Говорит Клаус Мёллер:

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

Как раз, когда LovSun поразил компьютерные сети мира, стало известно о так называемом Blackout`е, когда в результате отключения целого ряда электростанций остались без света более 50-ти миллионов человек в США и Канаде. В тот момент многие решили, что и здесь не обошлось без червя. Однако согласно официальным заявлениям представителей энергетических служб, причины сбоя не имели ничего общего с интернетными паразитами. И, несмотря на это, у некоторых экспертов всё же осталось «нехорошее чувство». Говорит главный редактор известного немецкого интернет-портала по вопросам компьютерной безопасности heise Security Юрген Шмидт (Jürgen Schmidt):

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

LovSun использует дыру в программном обеспечении операционной системы Windows. И именно эта система широко применяется для управления электростанциями США и Канады:

Раньше энергетические сети управлялись при помощи абсолютно автономных компьютерных систем, то есть без связи с Интернетом. По мере того, как из соображений экономии проводилась рационализация энергетических сетей, там во всё большей степени были задействованы наиболее распространенные операционные системы, такие как Windows и Unix. Эти системы обычно связаны с Интернетом, что резко повышает все известные нам факторы риска.

отмечает Юрген Шмидт. Любопытно, что уже и в прошлом американские энергетики сталкивались с серьезными проблемами, возникавшими по вине компьютерных вирусов. Юрген Шмидт:

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