Основной способ активизации разрушающих закладок

Основной способ активизации разрушающих закладок

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

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

Особенности применения программно-аппаратных средств защиты состоят в следующем:

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

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

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

Перехват и обработка файловых операций

Перехват и обработка файловых операций

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

Активизирующим событием в данном случае является, как правило, открытие файла (INT 21h, функция 3Dh) либо его закрытие.

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


style="display:block; text-align:center;"
data-ad-layout="in-article"
data-ad-format="fluid"
data-ad-client="ca-pub-6007240224880862"
data-ad-slot="8925203109">

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

Тогда алгоритм действия закладки может быть таким:

  • закладка загружается в память каким-либо способом;
  • закладка осуществляет перехват (редактирование цепочки) одного или нескольких прерываний (прерывания DOS «запуск программ и загрузка оверлеев», прерывания BIOS «считать сектор», прерывание таймера);
  • по одному из трех событий закладка получает управление на себя, и далее выполняются проверка принадлежности запущенной программы или уже работающей (для таймерного прерывания) к интересующим программам, определение сегмента, в который загружена программа, запись относительно определенного сегмента загрузки некоторых значений в оперативной памяти так, чтобы отключить схемы контроля и (или) исправить программу нужным образом.


style="display:block; text-align:center;"
data-ad-layout="in-article"
data-ad-format="fluid"
data-ad-client="ca-pub-6007240224880862"
data-ad-slot="8925203109">

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

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

Сохранение фрагментов информации

Сохранение фрагментов информации

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

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

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

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

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

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

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

Закладка разрушающая часть кода программы

Закладка разрушающая часть кода программы

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

Таким образом, можно выделить следующие закладки:

  • Резидентного типа. Такие закладки находятся в памяти постоянно с некоторого момента времени до окончания сеанса работы персонального компьютера (выключения питания или перезагрузки). Закладка может быть загружена в память при начальной загрузке ПЭВМ, загрузке операционной среды или запуске некоторой программы (которая по традиции называется вирусоносителем), а также запущена отдельно.
  • Нерезидентного типа. Такие закладки начинают работу по аналогичному событию, но заканчивают ее самостоятельно по истечении некоторого промежутка времени или некоторому событию, при этом целиком выгружая себя из памяти.

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

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

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

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

«Троянский конь»

«Троянский конь»

Часто используют синонимы термина «закладка»: «логическая бомба», «логический люк», «троянский конь». Обычно в литературе понятие закладки в основном связано с разработкой программного обеспечения, а конкретно — с написанием исходных текстов программ, в которых создаются дополнительные функции. Следовательно, ранее закладка понималась как внутренний объект защищенной системы. Однако закладка может быть и внешним объектом по отношению к защищенной системе.

Программные закладки можно классифицировать по методу и месту их внедрения и применения:

  • закладки, ассоциированные с программно-аппаратной средой (BIOS);
  • закладки, ассоциированные с программами первичной загрузки (находящиеся в Master Boot Record или BOOT секторах активных разделов);
  • закладки, ассоциированные с загрузкой драйверов DOS, командного интерпретатора, сетевых драйверов, т.е. с загрузкой операционной среды;
  • закладки, ассоциированные с прикладным программным обеспечением общего назначения (встроенные в клавиатурные и экранные драйверы, программы тестирования ПЭВМ, утилиты и оболочки типа NORTON);
  • исполняемые модули, содержащие только код закладки (как правило, внедряемые в пакетные файлы типа *.bat);
  • модули-имитаторы, совпадающие с некоторыми программами, требующими ввода конфиденциальной информации;
  • закладки, маскируемые под программные средства оптимизационного назначения (архиваторы, ускорители и т.д.);
  • закладки, маскируемые под программные средства игрового и развлекательного назначения (как правило, используются для первичного внедрения закладок).

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

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

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

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

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

Программные закладки

Программные закладки

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

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

Такие программы назвали закладками — по аналогии с тайно помещенными миниатюрными электронными системами перехвата радио- , видео- , и аудиоинформации.

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

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

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

И в том и другом случаях НСД можно представить моделью опосредованного доступа — когда проникновение в систему осуществляется на основе некоторого воздействия, произведенного предварительно внедренной в систему одной или несколькими программами.

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

Яндекс.Метрика