Программная закладка
Закла́дка (программная закладка[1]) — скрытно внедрённая в защищенную систему программа, либо намеренно изменённый фрагмент программы, который позволяет злоумышленнику осуществить несанкционированный доступ к ресурсам системы на основе изменения свойств системы защиты[2]. Закладка может быть внедрена самим разработчиком программного обеспечения.
Часто программные закладки выполняют роль перехватчиков паролей, трафика, а также служат в качестве проводников для компьютерных вирусов. Программные закладки невозможно обнаружить при помощи стандартных антивирусных средств, их выявление возможно только специальными тестовыми программами. Данные программы доступны в специализированных компаниях, которые занимаются сертификацией и стандартизацией компьютерного программного обеспечения[3].
Классификация
По методу внедрения
По методу внедрения в компьютерную систему программные закладки делятся на:
- программно-аппаратные закладки, которые ассоциированы с аппаратными средствами. Их средой обитания является BIOS;
- загрузочные закладки, которые ассоциированы с программами начальной загрузки, располагающимися в загрузочных секторах жесткого диска;
- драйверные закладки, которые ассоциированы с драйверами периферийных устройств персонального компьютера;
- прикладные закладки, которые ассоциированы с прикладным программным обеспечением;
- исполняемые закладки, которые ассоциированы с программными модулями, содержащими код программной закладки;
- закладки-имитаторы, имитирующие интерфейс служебных программ, исполнение которых предполагает ввод конфиденциальной информации;
- замаскированные закладки, маскирующиеся под программы, позволяющие оптимизировать работу персонального компьютера, компьютерные игры и прочие развлекательные программы.
По назначению
По основным действиям деструктивного характера, осуществляемым в компьютерной системе, закладки делятся на:
- закладки, осуществляющие копирование пользовательской конфиденциальной информации, которая находится в оперативной памяти, внешней памяти системы, либо в памяти другой системы, подключенной по локальной или глобальной сети;
- закладки, осуществляющие изменение алгоритмов функционирования системных, прикладных и служебных программ;
- закладки, осуществляющие изменение режимов работы программного обеспечения.
Условия функционирования
Для того, чтобы программная закладка начала функционировать, то есть совершать действия в отношении других компьютерных программ или данных, необходимо одновременное соблюдение некоторых условий, заставляющих процессор исполнять команды, входящие в код программной закладки:
- программная закладка должна попасть в оперативную память;
- должен быть выполнен ряд активизирующих условий, зависящих от типа программной закладки.
По условиям нахождения в оперативной памяти компьютера программные закладки делятся на:
- резидентные закладки, постоянно находящиеся в оперативной памяти до перезагрузки или завершения работы компьютера;
- нерезидентные закладки, выгружающиеся из оперативной памяти по истечении определённого времени, либо при выполнении определённых условий[4].
Защита от программных закладок
Защита от программных закладок осуществляется в следующих вариантах:
- защита от внедрения закладки в систему;
- выявление внедренной закладки;
- удаление внедренной закладки.
Защита от внедрения закладок
Защита от внедрения программных закладок в большинстве случаев осуществляется путём создания изолированного персонального компьютера, защищенного от проникновения программных закладок извне. Для того, чтобы считаться изолированным, компьютер должен удовлетворять следующим условиям:
- BIOS не должен содержать программных закладок;
- установленная операционная система должна быть проверена на наличие программных закладок;
- должна быть установлена неизменность BIOS и операционной системы;
- на персональном компьютере не должны были запускаться и не запускаются программы, которые не прошли проверку на наличие в них программных закладок;
- должен быть исключен запуск проверенных программ вне персонального компьютера.
Выявление внедренных закладок
Выявление внедренных программных закладок осуществляется путём обнаружения признаков их присутствия в системе, которые делятся на:
- качественные и визуальные;
- обнаруживаемые средствами диагностики.
К качественным и визуальным относят признаки, которые могут быть идентифицированы пользователем во время работы с системой. Это могут быть как отклонения от привычной работы системы, так и изменения в пользовательских и системных файлах. Наличие данных признаков свидетельствует о необходимости проведения проверки на наличие программных закладок в системе.
Признаки, обнаруживаемые средствами диагностики, идентифицируются специальным тестовым программным обеспечением, сигнализирующим о наличии вредоносного программного кода в системе.
Удаление внедренных закладок
Метод удаления внедренных программных закладок зависит от метода их внедрения в систему. При обнаружении программно-аппаратной закладки необходимо перепрограммировать ПЗУ компьютера. При обнаружении загрузочной, драйверной, прикладной, замаскированной закладки или закладки-имитатора необходимо произвести их замену на соответствующее от доверенных источников. При обнаружении исполняемой закладки следует убрать текст закладки из исходного текста программного модуля и откомпилировать модуль заново[5].
В популярной культуре
Примечания
- ГОСТ Р 51275-2006 п 3.7
- Программные закладки Программные закладки в защищенных системах
- Программные закладки Что такое программные закладки? Степень опасности и способы выявления
- Программные закладки Техническая библиотека на lib.qrz.ru
- Защита от программных закладок Техническая библиотека на lib.qrz.ru