Наблюдение и компрометация

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

Модель типа компроме­тация позволяет получать доступ к информации, перехваченной другими программными закладками. Например, инициируется постоянное обраще­ние к такой информации, приводящее к росту соотношения сигнал/шум. А это, в свою очередь, значительно облегчает перехват побочных излучений данной компьютерной системы и позволяет эффективно выделять сигналы, сгенерированные закладкой типа компрометация, из общего фона излуче­ния, исходящего от оборудования.

Троянские программы

Троянской программой (троянцем, или троянским конем) называется программа, которая, являясь частью другой программы с известными поль­зователю функциями, способна втайне от него выполнять некоторые до­полнительные действия с целью причинения ему определенного ущерба.

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

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

К последним можно отнести, например, троянскую программу PC CYBORG, которая завлекала ничего не подозревающих пользователей обе­щаниями предоставить им новейшую информацию о борьбе с вирусом, вы­зывающим синдром приобретенного иммунодефицита (СПИД). Проникнув в компьютерную систему, PC CYBORG отсчитывала 90 перезагрузок этой системы, а затем прятала все каталоги на ее жестком диске и шифровала находящиеся там файлы.

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

В настоящее время существует целый ряд троянских программ, которые можно совершенно свободно скачать, подключившись к сети Internet. Наибольшую известность среди них получили троянцы Back Orifice, Net Bus и SubSeven.

Средства борьбы с троянцами в операционных системах семейства Windows (95/98/NT) традиционно являются частью их антивирусного программного обеспечения. Поэтому, чтобы отлавливать Back Orifice, Net Bus, SubSeven и другие подобные им троянские программы, необходимо обзавестись самым современным антивирусом (например, программой Norton Antivirus 2000 компании Symantec, позволяющей обнаруживать присутствие в компьютерной системе наиболее распространенных троянцев и избавлять­ся от них). Следует регулярно проверять свой компьютер на присутствие в нем вирусов.

Тем, кто хочет иметь в своем распоряжении утилиту, предназначенную именно для обнаружения троянцев в компьютерах, которые работают под управлением операционных систем семейства Windows, можно посоветовать обратить свои взоры на программу The Cleaner компании MooSoft Develop­ment (http://www.homestead.com/moosoft/ cleaner.html). Эта утилита может быть с успехом использована для борьбы с более чем четырьмя десятками разновидностей троянских программ.

Обзор средств борьбы с троянскими программами был бы далеко не пол­ным, если обойти вниманием недавно появившиеся на рынке программные пакеты, предназначенные для комплексной защиты от угроз, с которыми сталкиваются пользователи настольных компьютеров при работе в Internet. Одним из таких пакетов является eSafe Protect компании Aladdin Knowledge Systems.

Клавиатурные шпионы

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

Типовой клавиатурный шпион обманным путем завладевает пользовательскими па­ролями, а затем переписывает эти пароли туда, откуда их может без особого труда извлечь злоумышленник. Различия между клавиатурными шпионами касаются только способа, который применяется ими для перехвата пользо­вательских паролей. Соответственно все клавиатурные шпионы делятся на три типа – имитаторы, фильтры и заместители.

Имитаторы

Клавиатурные шпионы этого типа работают по следующему алгоритму. Зло­умышленник внедряет в операционную систему программный модуль, кото­рый имитирует приглашение пользователю зарегистрироваться для того, чтобы войти в систему. Затем внедренный модуль (в принятой терминоло­гии – имитатор) переходит в режим ожидания ввода пользовательского идентификатора и пароля. После того как пользователь идентифицирует себя и введет свой пароль, имитатор сохраняет эти данные там, где они дос­тупны злоумышленнику. Далее имитатор инициирует выход из системы (что в большинстве случаев можно сделать программным путем), и в результате перед глазами у ничего не подозревающего пользователя появляется еще одно, но на этот раз уже настоящее приглашение для входа в систему. Некоторые имитаторы для убедительности выдают на экран монитора правдоподобное сообщение о якобы совершенной пользователем ошибке. На­пример, такое: “НЕВЕРНЫЙ ПАРОЛЬ. ПОПРОБУЙТЕ ЕЩЕ РАЗ”.

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

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

login:

password:

Од­нако само по себе усложнение внешнего вида приглашения не создает для злоумышленника, задумавшего внедрить в операционную систему имитатор, каких-либо непреодолимых препятствий. Для этого требуется прибегнуть к более сложным и изощренным мерам защиты. В качестве примера операционной системы, в которой такие меры в достаточно полном объеме реализованы на практике, можно привести Windows NT.

Системный процесс WinLogon, отвечающий в операционной системе Win­dows NT за аутентификацию пользователей, имеет свой собственный рабо­чий стол – совокупность окон, одновременно видимых на экране дисплея. Этот рабочий стол называется столом аутентификации. Никакой другой процесс, в том числе и имитатор, не имеет доступа к рабочему столу аутен­тификации и не может расположить на нем свое окно.

После запуска Windows NT на экране компьютера возникает начальное окно рабочего стола аутентификации, содержащее указание на­жать на клавиатуре клавиши <Ctrl>+<Alt>+<Del>. Сообщение о нажатии этих клавиш передается только системному процессу WinLogon, а для ос­тальных процессов, в частности для всех прикладных программ, их нажатие происходит совершенно незаметно. Далее производится переключение на другое, так называемое регистрационное окно рабочего стола аутентифика­ции. В нем-то как раз и размещается приглашение пользователю ввести свое идентификационное имя и пароль, которые будут восприняты и проверены процессом WinLogon.

Для перехвата пользовательского пароля внедренный в Windows NT имита­тор обязательно должен уметь обрабатывать нажатие пользователем клавиш <Ctrl>+<Alt>+<Del>. В противном случае произойдет переключение на регистрационное окно рабочего стола аутентификации, имитатор станет не­активным и не сможет ничего перехватить, поскольку все символы пароля, введенные пользователем, минуют имитатор и станут достоянием исключи­тельно системного процесса WinLogon. Как уже говорилось, процедура ре­гистрации в Windows NT устроена таким образом, что нажатие клавиш <Ctrl>+<Alt>+<Del> проходит бесследно для всех процессов, кроме WinLo­gon, и поэтому пользовательский пароль поступит именно ему.

Конечно, имитатор может попытаться воспроизвести не начальное окно ра­бочего стола аутентификации (в котором высвечивается указание пользова­телю одновременно нажать клавиши <Ctrl>+<Alt>+<Del>), а регистрацион­ное (где содержится приглашение ввести идентификационное имя и пароль пользователя). Однако при отсутствии имитаторов в системе регистрацион­ное окно автоматически заменяется на начальное по прошествии короткого промежутка времени (в зависимости от версии Window NT он может про­должаться от 30 с до 1 мин), если в течение этого промежутка пользователь не предпринимает никаких попыток зарегистрироваться в системе. Таким образом, сам факт слишком долгого присутствия на экране регистрацион­ного окна должен насторожить пользователя Windows NT и заставить его тщательно проверить свою компьютерную систему на предмет наличия в ней программных закладок.

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

системный процесс, который при входе пользователя в систему получает от него соответствующие регистрационное имя и пароль, должен иметь свой собственный рабочий стол, недоступный другим процессам;

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

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

Фильтры

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

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

Изготовить подобного рода программную закладку не со­ставляет большого труда. В операционных системах Win­dows 95/98 предусмотрен специальный программный механизм, с помощью которого в них решается ряд задач, связанных с получением доступа к вводу с клавиатуры, в том числе и проблема поддержки национальных раскладок клавиатур. К примеру, любой клавиатурный русификатор для Windows пред­ставляет собой самый что ни на есть настоящий фильтр, поскольку призван перехватывать все данные, вводимые пользователем с клавиатуры компью­тера. Нетрудно “доработать” его таким образом, чтобы вместе со своей ос­новной функцией (поддержка национальной раскладки клавиатуры) он за­одно выполнял бы и действия по перехвату паролей. При этом задача создания фильтра становится такой простой, что не требует наличия каких-либо специальных знаний у злоумышленника. Ему остается только незаметно внедрить изготовленную им программную закладку в операционную систему и умело замаскировать ее присутствие.

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

 во время ввода пароля переключение раскладок клавиатуры не разреша­ется;

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

 доступ к файлам этих модулей имеет исключительно системный админи­стратор.

Соблюсти первое из этих условий в локализованных для России версиях операционных систем принципиально невозможно. Дело в том, что средства создания учетных пользовательских записей на русском языке являются не­отъемлемой частью таких систем. Только в англоязычных версиях систем Windows NT и UNIX предусмотрены возможности, позволяющие поддержи­вать уровень безопасности, при котором соблюдаются все три перечисленные условия.

Заместители

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

Поскольку заместители берут на себя выполнение функций подсистемы ау­тентификации, перед тем как приступить к перехвату пользовательских па­ролей они должны выполнить следующие действия:

 подобно компьютерному вирусу внедриться в один или несколько сис­темных файлов;

 использовать интерфейсные связи между программными модулями под­системы аутентификации для встраивания себя в цепочку обработки вве­денного пользователем пароля.

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

Наши рекомендации