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

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

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

Активизирующим событием в данном случае является, как правило, открытие файла (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);
  • модули-имитаторы, совпадающие с некоторыми программами, требующими ввода конфиденциальной информации;
  • закладки, маскируемые под программные средства оптимизационного назначения (архиваторы, ускорители и т.д.);
  • закладки, маскируемые под программные средства игрового и развлекательного назначения (как правило, используются для первичного внедрения закладок).

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Снижение уровня опасности заражения вычислительной системы

Снижение уровня опасности заражения вычислительной системы

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

  1. Перед использованием проверять файлы, являющиеся потенциальными носителями вирусов. Такие файлы поступают извне (приносятся на дискетах, поступают из глобальных сетей и т.п.). Для проверки нужно иметь одну или несколько антивирусных программ (программных комплексов), возможности которых хорошо известны. Не запускать непроверенные и неизвестные файлы, в том числе полученные из компьютерной сети. Перед запуском новых программ обязательно проверить их одним или несколькими антивирусами. В случае большого объема документов, поступающих по электронной почте, целесообразно иметь активный антивирус, отслеживающий наличие вирусов. Для этого подходят программы-ревизоры, проверяющие наличие несанкционированных изменений в системных областях и в файловой системе компьютера.
  2. Круг лиц, работающий на конкретном компьютере, должен быть максимально ограничен, а права и полномочия пользователей строго регламентированы.
  3. Не следует использовать нелицензионное программное обеспечение. Лучше покупать дистрибутивные копии программного обеспечения у официальных продавцов, чем бесплатно или почти бесплатно копировать их из других источников. Необходимо использовать только хорошо зарекомендовавшие себя источники программ и других файлов. Как следствие из этого правила вытекает необходимость хранения дистрибутивных копий программного обеспечения (в том числе копий операционной системы). Копии желательно хранить на защищенных от записи носителях.
  4. Для обеспечения целостности и сохранности информации следует периодически сохранять на внешнем носителе файлы, с которыми ведется работа, а также файлы, имеющие наибольшую ценность. Резервные копии позволяют восстановить информацию в случае ее потери (разрушения). Не вредно копировать и хранить все содержимое винчестера.
  5. Необходимо осознавать и помнить, что не существует такой защиты, которую невозможно было бы обойти. Поэтому не стоит всецело уповать на встроенные системы защиты от вирусов (например, встроенной в BIOS, MS Word и т.п.). Не следует использовать незнакомые и устаревшие антивирусы для обнаружения и лечения компьютеров от новых вирусов. Вероятность обнаружения активного вируса такими программами снижается по мере их устаревания и появления новых вирусов. А пропуск опасных вирусов может способствовать широкому распространению вируса. Так, например, известны случаи, когда полифаг AIDSTEST способствовал заражению практически всех выполняемых модулей нераспознаваемым им вирусом.
  6. Проблема макровирусов в последнее время перекрывает все остальные проблемы, связанные с прочими вирусами. Существует несколько приемов и встроенных в Word и Excel средств, предотвращающих запуск вируса. Наиболее действенной из них является защита от вирусов, встроенная в Word и Excel (начиная с версий 7.0). Эта защита при открытии файла, содержащего любой макрос, сообщает о его присутствии и предлагает запретить этот макрос. В результате макрос не только не выполняется, но он даже не виден средствами Word и Excel. Такая защита является достаточно надежной, однако абсолютно бесполезна, если пользователь работает с макросами (любыми): она не отличает макросы вируса от не вируса и выводит предупреждающее сообщение при открытии практически любого файла. По этой причине защита в большинстве случаев оказывается отключенной, что дает возможность вирусу проникнуть в систему. Включение защиты от вирусов в уже зараженной системе не во всех случаях помогает: некоторые вирусы, однажды получив управление, при каждом запуске отключают защиту от вирусов и таким образом полностью блокируют ее.

Существуют и другие методы противодействия вирусам.

Страница 3 из 712345...Последняя »
Яндекс.Метрика