Разрушающие программные средства
Программными закладками называются своеобразные программы, использующие вирусную технологию скрытного внедрения, распространения и активизации. Однако, в отличие от вирусов, которые просто уничтожают информацию, программные закладки, прежде всего, предназначены для ее несанкционированного скрытного получения. Типичная программная закладка может, например, сохранять вводимую с клавиатуры информацию (в том числе и пароли) в нескольких зарезервированных для этого секторах, а затем пересылать накопленные данные по сети на компьютер злоумышленника.
Программные закладки можно классифицировать по методу и месту их внедрения и применения (т.е. по способу доставки в систему).
1. Закладки, ассоциированные с программно-аппаратной средой.
2. Закладки, ассоциированные с программами первичной загрузки.
3. Закладки, ассоциированные с загрузкой драйверов, командного интерпретатора, сетевых драйверов, т.е. с загрузкой операционной среды.
4. Закладки, ассоциированные с прикладным программным обеспечением общего назначения (встроенные клавиатурные и экранные драйверы, программы тестирования ПЭВМ, утилиты и оболочки).
5. Используемые модули, содержащие только код закладки (как правило, внедряемые в пакетные файлы типа BAT).
6. Модули-имитаторы, совпадающие с некоторыми программами, требующими ввода конфиденциальной информации (по внешнему виду).
7. Закладки, маскируемые под программные средства оптимизационного назначения (архиваторы, ускорители и т.д.).
8. Закладки, маскируемые под программные средства игрового и развлекательного назначения (как правило, используются для первичного внедрения закладок типа “исследователь”).
Для того чтобы закладка смогла выполнить какие-либо функции, она должна получить управление, т.е. процессор должен начать выполнять инструкции (команды), относящиеся к коду закладки. Это возможно только при одновременном выполнении двух условий:
- закладка должна находиться в оперативной памяти до начала работы программы, которая является целью воздействия закладки, следовательно, она должна быть загружена раньше или одновременно с этой программой;
- закладка должна активизироваться по некоторому общему, как для закладки, так и для программы, событию, т.е. при выполнении ряда условий в аппаратно-программной среде управление должно быть передано на программу-закладку.
- прерывания от системного таймера;
- прерывания от внешних устройств;
- прерывания от клавиатуры;
- прерывания при работе с диском;
- прерывания операционной среды (в том числе прерывания для работы с файлами и запуска выполняемых модулей).
- в массив данных, не совпадающий с пользовательской информацией (хищение информации);
- в массив данных, совпадающий с пользовательской информацией и ее подмножества (искажение, уничтожение или навязывание информации закладкой).
- сохранение фрагментов информации, возникающей при работе пользователя, прикладных программ, вводе/выводе данных, на локальном или сетевом диске;
- разрушение функций самоконтроля или изменение алгоритмов функционирования прикладных программ;
- навязывание некоторого режима работы (например, при уничтожении информации — блокирование записи на диск без уничтожения информации), либо навязывание посторонней информации вместо полезной информации при записи последней на диск.
Это достигается путем анализа и обработки закладкой общих для закладки и прикладной программы воздействий (как правило, прерываний). Причем выбираются прерывания, которые наверняка используются прикладной программой или операционной системой. В качестве таких прерываний можно выделить:
В противном случае активизации кода закладки не произойдет, и он не сможет оказать какого-либо воздействия на работу программы ЗИ.
Кроме того, возможны случаи, когда при запуске программы (в этом случае активизирующим событием является запуск программы) закладка разрушает некоторую часть кода программы, уже загруженной в оперативную память, и, возможно, систему контроля целостности кода или контроля иных событий и на этом заканчивает свою работу.
Таким образом, можно выделить следующие типы закладок.
1. Резидентная — находится в памяти постоянно с некоторого момента времени до окончания сеанса работы ПЭВМ (выключения питания или перегрузки).
Закладка может быть загружена в память при начальной загрузке ПЭВМ, загрузке операционной среды или запуске некоторой программы (которая по традиции называется вирусоносителем), а также запущена отдельно.
2. Нерезидентная — начинает работу по аналогичному событию, но заканчивают ее самостоятельно по истечению некоторого промежутка времени или некоторому событию, при этом выгружая себя из памяти целиком.
Несанкционированная запись закладкой может происходить:
Следовательно, можно рассматривать три основные группы деструктивных функций, которые могут выполняться закладками: