2. Модели воздействия программных закладок на компьютеры

Модели воздействия программных закладок на компьютеры

Перехват

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

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

Модель типа "перехват" может быть эффективно использована при атаке на защищенную операционную систему Windows NT. После старта Windows NT на экране компьютерной системы появляется приглашение нажать клавиши <Ctrl>+<Alt>+<Del>. После их нажатия загружается динамическая библиотека MSGINA.DLL, осуществляющая прием вводимого пароля и выполнение процедуры его проверки (аутентификации). Описание всех функций этой библиотеки можно найти в файле Winwlx.h. Также существует простой механизм замены исходной библиотеки MSGINA.DLL на пользовательскую (для этого необходимо просто добавить специальную строку в реестр операционной системы Windows NT и указать местоположение пользовательской библиотеки). В результате злоумышленник может модифицировать процедуру контроля за доступом к компьютерной системе, работающей под управлением Windows NT.

Искажение

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

Можно выделить статическое и динамическое искажение. Статическое искажение происходит всего один раз. При этом модифицируются параметры программной среды компьютерной системы, чтобы впоследствии в ней выполнялись нужные злоумышленнику действия. К статическому искажению относится, например, внесение изменений в файл AUTOEXEC.BAT операционной системы Windows 95/98, которые приводят к запуску заданной программы, прежде чем будут запущены все другие, перечисленные в этом файле.

Специалистам российского Федерального агентства правительственной связи и информации (ФАПСИ) удалось выявить при анализе одной из отечественных систем цифровой подписи интересное статистическое искажение Злоумышленник (сотрудник отдела информатизации финансовой организации, в которой была внедрена данная система) исправил в исполняемом ЕХЕ-модуле программы проверки правильности цифровой подписи символьную строку "ПОДПИСЬ НЕКОРРЕКТНА" на символьную строку "ПОДПИСЬ КОРРЕКТНА". В результате вообще перестали фиксироваться документы с неверными цифровыми подписями, и, следовательно, в электронные документы стало можно вносить произвольные изменения уже после их подписания электронной цифровой подписью.

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

Практика применения цифровой подписи в системах автоматизированного документооборота показала, что именно программная реализация цифровой подписи особенно подвержена влиянию программных закладок типа "динамическое искажение", которые позволяют осуществлять проводки фальшивых финансовых документов и вмешиваться в процесс разрешения споров по фактам неправомерного применения цифровой подписи. Например, в одной из программных реализаций широко известной криптосистемы PGP электронный документ, под которым требовалось поставить цифровую подпись, считывался блоками по 512 байт, причем процесс считывания считался завершенным, если в прочитанном блоке данные занимали меньше 512 байт. Работа одной программной закладки, выявленной специалистами ФАПСИ, основывалась на навязывании длины файла. Эта закладка позволяла считывать только первые 512 байт документа, и в результате цифровая подпись определялась на основе только этих 512 байт. Такая же схема действовала и при проверке поставленной под документом цифровой подписи. Следовательно, оставшаяся часть этого документа могла быть произвольным образом искажена, и цифровая подпись под ним продолжала оставаться "корректной".

Существуют 4 основных способа воздействия программных закладок на цифровую подпись:

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

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

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

При инициировании динамической ошибки для некоторой операции генерируется ложная ошибка из числа тех ошибок, которые могут возникать при выполнении данной операции. Например, для блокирования приема или передачи информации в компьютерной системе может постоянно инициироваться ошибочная ситуация "МОДЕМ ЗАНЯТ". Или при прочтении первого блока информации длиной 512 байт может устанавливаться соответствующий флажок для того, чтобы не допустить прочтения второго и последующих блоков и в итоге подделать цифровую подпись под документом.

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

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

Уборка мусора

Как известно, при хранении компьютерных данных на внешних носителях прямого доступа выделяется несколько уровней иерархии: сектора, кластеры и файлы. Сектора являются единицами хранения информации на аппаратном уровне. Кластеры состоят из одного или нескольких подряд идущих секторов. Файл — это множество кластеров, связанных по определенному закону.

Работа с конфиденциальными электронными документами обычно сводится к последовательности следующих манипуляций с файлами:

  • создание;
  • хранение;
  • коррекция;
  • уничтожение.

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

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

Важно помнить и о том, что при записи отредактированной информации меньшего объема в тот же файл, где хранилась исходная информация до начала сеанса ее редактирования, образуются так называемые "хвостовые" кластеры, в которых эта исходная информация полностью сохраняется. И тогда "хвостовые" кластеры не только не подвергаются воздействию программ шифрования, но и остаются незатронутыми даже средствами гарантированного стирания информации. Конечно, рано или поздно информация из "хвостовых" кластеров затирается данными из других файлов, однако по оценкам специалистов ФАПСИ из "хвостовых" кластеров через сутки можно извлечь до 85%, а через десять суток — до 25—40% исходной информации.

Пользователям необходимо иметь в виду и то, что команда удаления файла (DEL) операционной системы DOS2 не изменяет содержания файла, и оно может быть в любой момент восстановлено, если поверх него еще не был записан другой файл. Распространенные средства гарантированного стирания файлов предварительно записывают на его место константы или случайные числа и только после этого удаляют файл стандартными средствами DOS. Однако даже такие мощные средства оказываются бессильными против программных закладок, которые нацелены на то, чтобы увеличить количество остающихся в виде "мусора" фрагментов конфиденциальной информации. Например, программная закладка может инициировать статическую ошибку, пометив один или несколько кластеров из цепочки, входящей в файл, меткой "СБОЙНЫЙ". В результате при удалении файла средствами операционной системы или средствами гарантированного уничтожения та его часть, которая размещена в сбойных кластерах, останется нетронутой и впоследствии может быть восстановлена с помощью стандартных утилит.

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

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