Защита от вирусов и программных закладок
В современных информационных системах программное обеспечение различного назначения используется в едином комплексе (операционные системы, системы управления базами данных, интегрированные офисные системы, коммуникационные программы и т.д.). Главное условие правильного функционирования системы - обеспечение защиты от вмешательства в процесс обработки информации "нелегальных" программ, которые не были установлены в ней обычным способом. К таким программам относятся в первую очередь компьютерные вирусы. Кроме того, к "вредоносным" программам относятся программные закладки и троянские программы.
Компьютерным вирусом называется программа, способная, "размножаясь", внедряться в другие программы. Вирус обычно представляет собой небольшую программу, которая при выполнении "приписывает" себя к другим программам, вставляет свой код в файлы, содержащие другие программы (т.е. "заражает" их).
Программа, в которую внедрился компьютерный вирус, становится "зараженной", при ее запуске управление получает компьютерный вирус, который находит и заражает другие программы. Многие вирусы организованы так, что даже после завершения "зараженной" программы они остаются в памяти резидентно, продолжая разрушать информационную систему.
Программы-вирусы выполняют нежелательные или даже опасные для нормальной работы информационной системы действия: разрушают файловые системы, "засоряют" память и диски, нарушают работоспособность системных программ, модифицируя их или системные данные. Вирусы могут активизироваться при каждом запуске "зараженной" программы или только по определенным событиям или датам.
Вирусами заражаются, в основном, программные файлы, загрузчики ОС, загрузочные записи дисков, драйверы. Однако в настоящее время широкое распространение получили макровирусы, заражающие документы. Например, в приложениях Microsoft Office макровирусы "живут" в макросах, созданных с помощью VBA (язык разработки офисных приложений, макросов - Visual Basic for Applications). Выполнение этих макросов может быть связано с некоторыми событиями, происходящими в приложении (например, с открытием файла), макровирусы могут "маскироваться" за командами приложений.
Приложения Microsoft Office не имеют собственных средств защиты (сканирования памяти и дисков для обнаружения и удаления содержащихся там вирусов), но пользователь может подстраховаться от неприятностей, включив флажок защиты от вирусов в макросах (в этом случае приложение MS Office будет предупреждать о наличии макросов в документе и даст возможность отключить их, если запуск макросов не предусматривается необходимостью при выполнении работы). Обнаружить макровирусы можно также с помощью антивирусных программ.
Еще один класс программ, которые можно считать особой разновидностью вирусов - "черви" (или репликаторы). Основная их особенность состоит в способность к "размножению" для распространения без внедрения в другие программы. Репликаторы распространяются по компьютерных сетям (через электронную почту, например). В качестве "начинки" репликаторы могут содержать программы-вирусы.
Для защиты информационной системы от разрушительного действия вирусов лучше предупредить их появление. Основными каналами проникновения вирусов в компьютеры являются накопители на сменных носителях информации (дискетах, компакт-дисках) и средства коммуникации (компьютерные сети).
Для защиты от вирусов можно использовать:
- · общие средства защиты информации от ее потери (резервное копирование и архивацию данных и т.п.);
- · профилактические меры, уменьшающие опасность проникновения вирусов (разграничение доступа в информационную систему, запрет бесконтрольного копирования данных и установки программ, проверка всех поступающих извне данных, проверка и тестирование программ перед началом работы с ними);
- · специализированные антивирусные программы.
Для защиты от вирусов можно также использовать средства, встроенные в "железо" компьютера, а также возможности ОС.
Специализированные программы, обеспечивающие защиту от вирусов, можно разделить на несколько групп:
- · детекторы - программы, позволяющие обнаружить известные вирусы;
- · доктора (или фаги) - программы, которые лечат зараженные программы и диски;
- · ревизоры - программы, сравнивающие текущее состояние системных областей и программ с их исходным состоянием и выдающие пользователям информацию в случае установления несоответствия;
- · фильтры - программы, загружаемые в память резидентно и перехватывающие обращения других программ к функциям, которые могут использоваться вирусами для размножения.
Обычно одни и те же антивирусные программы сочетают в себе несколько из перечисленных выше функций.
Все эти меры должны применяться в комплексе, средства защиты должны дополнять друг друга.
Общая черта программных закладок - обязательная запись информации в оперативную или внешнюю память системы. При отсутствии этой операции закладки не могут вызвать никаких негативных последствий. Воздействия закладок можно разделить на три основные группы:
- · копирование конфиденциальной информации (паролей, кодов доступа, документов и т.п.) в память другой компьютерной системы;
- · изменение алгоритмов функционирования программ (например, в программу ограничения доступа, программы управления данными или принятия решений);
- · изменение режима работы системы (например, блокирование удаления информации, что позволяет скопировать данные, которые должны быть уничтожены).
При использовании в качестве воздействия на компьютерную систему перехвата программная закладка внедряется в программное обеспечение и перехватывает информацию, вводимую с внешних устройств компьютера или выводимую на внешние устройства. Этот вид атаки может быть выполнен, например, заменой системных программ, осуществляющих ввод и вывод информации.
Программные закладки, реализующие искажение, изменяют информацию, записываемую в память компьютера, или инициирует/подавляет возникновение ошибочных ситуаций. Практика показала, что при использовании программной реализации цифровых подписей наиболее часто используется динамическое искажение информации, что позволяет осуществлять проводки фальшивых финансовых документов, вмешиваться в процесс разрешения споров по фактам неправомерного использования цифровых подписей. Существует несколько способов воздействия программных закладок на цифровую подпись:
- · искажение входной информации (изменяется поступающий на подпись электронный документ);
- · искажение результата проверки истинности цифровой подписи (цифровая подпись объявляется подлинной вне зависимости от результатов проверки);
- · навязывание длины электронного документа (проверяется только часть информации, а под остальной частью документа фактически подпись не ставится и она может модифицироваться);
- · искажение программы цифровой подписи.
Искажение может использоваться также для инициирования ошибок, затрудняющих или блокирующих нежелательные для злоумышленника действия (например, уничтожение после обработки конфиденциальной информации).
Разновидностью искажения является также модель типа "троянский конь". В данном случае программная закладка встраивается в постоянно используемое программное обеспечение и по некоторому активизирующему событию вызывает действия, определенные злоумышленником (например, сбой, парализующий нормальное функционирование системы и дающий злоумышленнику возможность получить доступ к системе).
Программные закладки могут также заниматься "сборкой мусора". Если при хранении информации в базах данных или при передаче ее по линиям связи используются различные способы защиты конфиденциальных данных (шифрование, например), то во время обработки данных, при создании документов создаются временные файлы, которые уничтожаются по окончании работы. Проблема состоит в том, что при изменении данных на дисках остаются так называемые "хвостовые кластеры", в которых исходная информация сохраняется в незашифрованном виде. Эта информация постепенно затирается данными других файлов, размещаемых на диске, но по оценкам ФАПСИ (Федерального агентства правительственной связи и информации) из "хвостовых кластеров" даже через сутки можно извлечь до 85% исходной информации.
Программные закладки используют также наблюдение (закладка встраивается в сетевое или коммуникационное программное обеспечение и следит за всеми процессами обработки и передачи информации) и компрометацию.
Средства защиты от программных закладок действенны только тогда, когда сами эти средства не подвержены действию закладок, которые могут навязывать результаты проверок, изменять алгоритмы контроля и т.п. Универсальным средством защиты здесь является создание "изолированного" компьютера, имеющего BIOS, не содержащий программных закладок, работающего под управлением ОС, проверенной на наличие закладок, имеющего средства контроля неизменности BIOS и ОС в течение каждого сеанса работы, исключающего запуск программ, не прошедших проверки на присутствие в них закладок или прошедших проверку вне изолированного компьютера.
Троянцы (или "троянские кони") - это программы, которые, являясь частью других программ с известными пользователю функциями, способны втайне от него выполнять дополнительные, нежелательные для пользователя операции, разрушительные действия с целью причинения определенного ущерба. Это особый вид программных закладок. Троянцы разрабатываются программистами при создании программного обеспечения. Для борьбы с ними необходимо использовать как специальные программные средства контроля, так и меры организационно-правового характера.
Одной из самых распространенных разновидностей программных закладок являются клавиатурные шпионы, нацеленные на перехват информации, вводимой с клавиатуры. В зависимости от способа перехвата различают клавиатурные шпионы нескольких типов.
Имитаторы (перехватывают информацию, провоцируя пользователя на ее ввод, имитируя для него приглашение для ввода данных (например, имени и пароля при регистрации в системе) и сохраняя затем эти данные в доступном для злоумышленника месте).
Фильтры "охотятся" за всей информацией, вводимой с клавиатуры. Они являются резидентными программами, перехватывающими прерывания. В самом простом случае фильтры просто сбрасывают всю вводимую информацию, а более сложные варианты фильтров подвергают вводимые данные анализу и отфильтровывают нужную информацию.
Заместители полностью или частично замещают собой программные модули операционной системы, отвечающие за ввод конфиденциальной информации (например, за аутентификацию пользователей).
Клавиатурные шпионы представляют реальную угрозу для безопасности информационной системы. Для предотвращения этой угрозы необходимо реализовать целый комплекс административных мер и программно-аппаратных средств защиты. Надежную защиту можно обеспечить только в том случае, когда операционная система обладает соответствующими возможностями, затрудняющими внедрение и работу клавиатурных шпионов (например, Windows NT). Эти средства конфигурируются администраторами системы.
Если не принимать меры для защиты от компьютерных вирусов, то следствия заражения могут быть очень серьёзными. В ряде стран уголовное законодательство предусматривает ответственность за компьютерные преступления, в том числе за внедрение вирусов. Для защиты информации от вирусов используются общие и программные средства.
К общим средствам, помогающим предотвратить заражение и его разрушительных последствий относят:
Основными мерами профилактики вирусов являются:
· резервное копирование информации (создание копий файлов и системных областей жестких дисков);
· избегание пользования случайными и неизвестными программами. Чаще всего вирусы распространяются вместе с компьютерными программами;
· перезагрузка компьютера перед началом работы, в частности, в случае, если за этим компьютером работали другие пользователи;
· ограничение доступа к информации, в частности физическая защита дискеты во время копирования файлов с неё;
· применение различных защитных средств при работе на компьютере в любой информационной среде (например, в Интернете).
· Проверка на наличие вирусов файлов, полученных по сети;
К программным средствам защиты относят разные антивирусные программы (антивирусы). Антивирус - это программа, выявляющая и обезвреживающая компьютерные вирусы.
Следует заметить, что вирусы в своём развитии опережают антивирусные программы, поэтому даже в случае регулярного пользования антивирусов, нет 100% гарантии безопасности. Антивирусные программы могут выявлять и уничтожать лишь известные вирусы, при появлении нового компьютерного вируса защиты от него не существует до тех пор, пока для него не будет разработан свой антивирус.
Однако, много современных антивирусных пакетов имеют в своём составе специальный программный модуль, называемый эвристическим анализатором, который способен исследовать содержимое файлов на наличие кода, характерного для компьютерных вирусов. Это даёт возможность своевременно выявлять и предупреждать об опасности заражения новым вирусом.
Различают такие типы антивирусных программ:
1) программы-детекторы: предназначены для нахождения заражённых файлов одним из известных вирусов. Некоторые программы-детекторы могут также лечить файлы от вирусов или уничтожать заражённые файлы. Существуют специализированные, то есть предназначенные для борьбы с одним вирусом детекторы и полифаги, которые могут бороться с многими вирусами;
2) программы-лекари: предназначены для лечения заражённых дисков и программ. Лечение программы состоит в изъятии из заражённой программы тела вируса. Также могут быть как полифагами, так и специализированными;
3) программы-ревизоры: предназначены для выявления заражения вирусом файлов, а также нахождение повреждённых файлов. Эти программы запоминают данные о состоянии программы и системных областей дисков в нормальном состоянии (до заражения) и сравнивают эти данные в процессе работы компьютера. В случае несоответствия данных выводится сообщение о возможности заражения;
4) лекари-ревизоры: предназначены для выявления изменений в файлах и системных областях дисков и, в случае изменений, возвращают их в начальное состояние.
5) программы-фильтры: предназначены для перехвата обращений к операционной системе, которые используются вирусами для размножения и сообщают об этом пользователя. Пользователь может разрешить или запретить выполнение соответствующей операции. Такие программы являются резидентными, то есть они находятся в оперативной памяти компьютера.
6) программы-вакцины: используются для обработки файлов и boot-секторов с целью предупреждения заражения известными вирусами (в последнее время этот метод используется все чаще).
Следует заметить, что выбор одного "наилучшего" антивируса крайне ошибочное решение. Рекомендуется использовать несколько разных антивирусных пакетов одновременно. Выбирая антивирусную программу следует обратить внимание на такой параметр, как количество распознающих сигнатур (последовательность символов, которые гарантированно распознают вирус). Второй параметр - наличие эвристического анализатора неизвестных вирусов, его присутствие очень полезно, но существенно замедляет время работы программы. На сегодняшний день существует большое количество разнообразных антивирусных программ. Рассмотрим коротко, распространённые в странах СНГ.
DRWEB
Один из лучших антивирусов с мощным алгоритмом нахождения вирусов. Полифаг, способный проверять файлы в архивах, документы Word и рабочие книги Excel, выявляет полиморфные вирусы, которые в последнее время, получают все большее распространение. Достаточно сказать, что эпидемию очень опасного вируса OneHalf остановил именно DrWeb. Эвристический анализатор DrWeb, исследуя программы на наличие фрагментов кода, характерных для вирусов, разрешает найти почти 90% неизвестных вирусов. При загрузке программы, в первую очередь DrWeb проверяет самого себя на целостность, после чего тестирует оперативную память. Программа может работать в диалоговом режиме, имеет удобный настраиваемый интерфейс пользователя.
ADINF
Антивирус-ревизор диска ADINF (Avanced DiskINFoscope) разрешает находить и уничтожать, как существующие обычные, stealth- и полиморфные вирусы, так и совсем новые. Антивирус имеет в своем распоряжении лечащий блок ревизора ADINF - Adinf Cure Module - что может обезвредить до 97% всех вирусов. Эту цифру приводит "Диалогнаука", исходя из результатов тестирования, которое происходило на коллекциях вирусов двух признанных авторитетов в этой области - Д.Н.Лозинского и фирмы Dr.Sоlомоn's (Великобритания).
ADINF загружается автоматически в случае включения компьютера и контролирует boot-сектор и файлы на диске (дата и время создания, длина, контрольная сумма), выводя сообщения про их изменения. Благодаря тому, что ADINF осуществляет дисковые операции в обход операционной системы, обращаясь к функциям BIOS, достигаются не только возможность выявления активных stеаlth-вірусів, но и высокая скорость проверки диска. Если найден boot-вирус, то ADINF просто восстановит предшествующий загрузочный сектор, который хранится в его таблице. Если вирус файловый, то здесь на помощь приходит лечащий блок Adinf Cure Module, который на основе отчета основного модуля о зараженных файлах сравнивает новые параметры файлов с предыдущими, хранящиеся в специальных таблицах. При выявлении расхождений ADINF восстанавливает предыдущее состояние файла, а не уничтожает тело вируса, как это делают полифаги.
AVP
Антивирус AVP (AntiVirus Program) относится к полифагам, в процессе работы проверяет оперативную память, файлы, в том числе архивные, на гибких, локальных, сетевых и CD-ROM дисках, а также системные структуры данных, такие как загрузочный сектор, таблицу разделов и т.д. Программа имеет эвристический анализатор, который, по утверждениям разработчиков антивируса способен находить почти 80% всех вирусов. Программа AVP является 32-разрядным приложением для работы в среде операционных систем Windows, имеет удобный интерфейс, а также одну из самых больших в мире антивирусную базу. Базы антивирусов к AVP обновляются приблизительно один раз в неделю и их можно получить с Internеt. Эта программа осуществляет поиск и изъятие разнообразнейших вирусов, в том числе:
· полиморфных, или самошифрующихся вирусов;
· стелс-вирусов, или вирусов-невидимок;
· новых вирусов для Windows;
· макровирусов, заражающих документы Word и таблицы Excel.
Кроме того, программа AVP осуществляет контроль файловых операций в системе в фоновом режиме, выявляет вирус до момента реального заражения системы, а также определяет неизвестные вирусы с помощью эвристического модуля.
Антивирус Касперского Personal - разработка "Лаборатории Касперского", воплощающая результаты многолетних исследований ведущих экспертов в области защиты от вредоносных программ. Продукт сочетает уникальную функциональность, удобный пользовательский интерфейс и высокий уровень защиты от вирусов. Программный комплекс позволяет организовать полномасштабную систему антивирусной защиты персонального компьютера. Он охватывает все возможные источники проникновения вирусной угрозы - съемные и постоянные файловые носители, электронную почту и Интернет. Использование "Антивируса Касперского" обеспечивает полное восстановление работоспособности системы при вирусной атаке. В то же время функция антивирусной проверки и лечения электронной почты позволяет очистить от вирусов входящую и исходящую корреспонденцию в режиме реального времени. В случае необходимости пользователю также доступны проверка и лечение почтовых баз различных почтовых систем.
Регулярное использование нескольких постоянно обновляемых антивирусных программ для проверки не только собственных носителей информации при переносе на них сторонних файлов, но и любых “чужих” дискет и дисков с любой информацией на них, в т.ч. и переформатированных позволяет поддерживать информационную безопасность.
Защита от программных закладок
Задача защиты от программных закладок может рассматриваться в трех принципиально различных вариантах:
- не допустить внедрения программной закладки в компьютерную систему;
- выявить внедренную программную закладку;
- удалить внедренную программную закладку.
При рассмотрении этих вариантов решение задачи защиты от программных закладок сходно с решением проблемы защиты компьютерных систем от вирусов. Как и в случае борьбы с вирусами, задача решается с помощью средств контроля за целостностью запускаемых системных и прикладных программ, а также за целостностью информации, хранимой в компьютерной системе и за критическими для функционирования системы событиями. Однако данные средства действенны только тогда, когда сами они не подвержены влиянию программных закладок, которые могут:
- навязывать конечные результаты контрольных проверок;
- влиять на процесс считывания информации и запуск программ, за которыми осуществляется контроль;
- изменять алгоритмы функционирования средств контроля.
При этом чрезвычайно важно, чтобы включение средств контроля выполнялось до начала воздействия программной закладки либо когда контроль осуществлялся только с использованием программ управления, находящихся в ПЗУ компьютерной системы.
Защита от внедрения программных закладок
Универсальным средством защиты от внедрения программных закладок является создание изолированного компьютера. Компьютер называется изолированным, если выполнены следующие условия:
- в нем установлена система BIOS, не содержащая программных закладок;
- операционная система проверена на наличие в ней закладок;
- достоверно установлена неизменность BIOS и операционной системы для данного сеанса;
- на компьютере не запускалось и не запускается никаких иных программ, кроме уже прошедших проверку на присутствие в них закладок;
- исключен запуск проверенных программ в каких-либо иных условиях. кроме перечисленных выше, т. е. вне изолированного компьютера.
Для определения степени изолированности компьютера может использоваться модель ступенчатого контроля. Сначала проверяется, нет ли изменений в BIOS. Затем, если все в порядке, считывается загрузочный сектор диска и драйверы операционной системы, которые, в свою очередь, также анализируются на предмет внесения в них несанкционированных изменений. И наконец, с помощью операционной системы запускается драйвер контроля вызовов программ, который следит за тем, чтобы в компьютере запускались только проверенные программы.
Интересный метод борьбы с внедрением программных закладок может быть использован в информационной банковской системе, в которой циркулируют исключительно файлы-документы. Чтобы не допустить проникновения программной закладки через каналы связи, в этой системе не допускается прием никакого исполняемого кода. Для распознавания событий типа "ПОЛУЧЕН ИСПОЛНЯЕМЫЙ КОД" и "ПОЛУЧЕН ФАЙЛ-ДОКУМЕНТ" применяется контроль за наличием в файле запрещенных символов: файл признается содержащим исполняемый код, если в нем присутствуют символы, которые никогда не встречаются в файлах-документах.
Выявление внедренной программной закладки
Выявление внедренного кода программной закладки заключается в обнаружении признаков его присутствия в компьютерной системе. Эти признаки можно разделить на следующие два класса:
- качественные и визуальные;
- обнаруживаемые средствами тестирования и диагностики.
К качественным и визуальным признакам относятся ощущения и наблюдения пользователя компьютерной системы, который отмечает определенные отклонения в ее работе (изменяется состав и длины файлов, старые файлы куда-то пропадают, а вместо них появляются новые, программы начинают работать медленнее, или заканчивают свою работу слишком быстро, или вообще перестают запускаться). Несмотря на то что суждение о наличии признаков этого класса кажется слишком субъективным, тем не менее, они часто свидетельствуют о наличии неполадок в компьютерной системе и, в частности, о необходимости проведения дополнительных проверок присутствия программных закладок. Например, пользователи пакета шифрования и цифровой подписи "Криптоцентр" с некоторых пор стали замечать, что цифровая подпись под электронными документами ставится слишком быстро. Исследование, проведенное специалистами ФАПСИ, показало присутствие программной закладки, работа которой основывалась на навязывании длины файла. В другом случае тревогу забили пользователи пакета шифрования и цифровой подписи "Криптон", которые с удивлением отметили, что скорость шифрования по криптографическому алгоритму ГОСТ 28147-89 вдруг возросла более, чем в 30 раз. А в третьем случае программная закладка обнаружила свое присутствие в программе клавиатурного ввода тем, что пораженная ею программа перестала нормально работать.
Признаки, выявляемые с помощью средств тестирования и диагностики, характерны как для программных закладок, так и для компьютерных вирусов. Например, загрузочные закладки успешно обнаруживаются антивирусными программами, которые сигнализируют о наличии подозрительного кода в загрузочном секторе диска. С инициированием статической ошибки на дисках хорошо справляется Disk Doctor, входящий в распространенный комплект утилит Norton Utilities. А средства проверки целостности данных на диске типа Adinf позволяют успешно выявлять изменения, вносимые в файлы программными закладками. Кроме того, эффективен поиск фрагментов кода программных закладок по характерным для них последовательностям нулей и единиц (сигнатурам), а также разрешение выполнении только программ с известными сигнатурами.
Удаление внедренной программной закладки
Конкретный способ удаления внедренной программной закладки зависит от метода ее внедрения в компьютерную систему. Если это программно-аппаратная закладка, то следует перепрограммировать ПЗУ компьютера. Если это загрузочная, драйверная, прикладная, замаскированная закладка или закладка- имитатор, то можно заменить их на соответствующую загрузочную запись, драйвер, утилиту, прикладную или служебную программу, полученную от источника, заслуживающего доверия. Наконец, если это исполняемый программный модуль, то можно попытаться добыть его исходный текст, убрать из него имеющиеся закладки или подозрительные фрагменты, а затем заново откомпилировать.
Задача защиты от программных закладок может рассматриваться в трех принципиально различных вариантах:
- не допустить внедрения программной закладки в компьютерную систему;
- выявить внедренную программную закладку;
- удалить внедренную программную закладку.
Как и в случае борьбы с вирусами, задача решается с помощью средств контроля за целостностью запускаемых системных и прикладных программ, а также за целостностью информации, хранимой в компьютерной системе и за критическими для функционирования системы событиями. Однако данные средства действенны только тогда, когда сами они не подвержены влиянию программных закладок.
При этом чрезвычайно важно, чтобы включение средств контроля выполнялось до начала воздействия программной закладки, либо когда контроль осуществлялся только с использованием программ управления, находящихся в ПЗУ компьютерной системы.
Универсальным средством защиты от внедрения программных закладок является создание изолированного компьютера. Компьютер называется изолированным, если выполнены следующие условия:
- в нем установлена система BIOS, не содержащая программных закладок;
- операционная система проверена на наличие в ней закладок;
- достоверно установлена неизменность BIOS и операционной системы для данного сеанса;
- на компьютере не запускалось и не запускается никаких иных программ, кроме уже прошедших проверку на присутствие в них закладок;
- исключен запуск проверенных программ в каких-либо иных условиях, кроме перечисленных выше, т. е. вне изолированного компьютера.
Для определения степени изолированности компьютера может использоваться модель ступенчатого контроля. Сначала проверяется, нет ли изменений в BIOS. Затем, если все в порядке, считывается загрузочный сектор диска и драйверы операционной системы, которые, в свою очередь, также анализируются на предмет внесения в них несанкционированных изменений. И, наконец, с помощью операционной системы запускается драйвер контроля вызовов программ, который следит за тем, чтобы в компьютере запускались только проверенные программы.
Выявление внедренного кода программной закладки заключается в обнаружении признаков его присутствия в компьютерной системе. Эти признаки можно разделить на следующие два класса:
- качественные и визуальные;
- обнаруживаемые средствами тестирования и диагностики.
К качественным и визуальным признакам относятся ощущения и наблюдения пользователя компьютерной системы, который отмечает определенные отклонения в ее работе. Несмотря на то, что суждение о наличии признаков этого класса кажется слишком субъективным, тем не менее, они часто свидетельствуют о наличии неполадок в компьютерной системе.
Конкретный способ удаления внедренной программной закладки зависит от метода ее внедрения в компьютерную систему. Если это программно-аппаратная закладка, то следует перепрограммировать ПЗУ компьютера. Если это загрузочная, драйверная, прикладная, замаскированная закладка или закладка-имитатор, то можно заменить их на соответствующую загрузочную запись, драйвер, утилиту, прикладную или служебную программу, полученную от источника, заслуживающего доверия. Наконец, если это исполняемый программный модуль, то можно попытаться добыть его исходный текст, убрать из него имеющиеся закладки или подозрительные фрагменты, а затем заново откомпилировать.
Большинство программных средств, предназначенных для защиты от троянских программ, в той или иной степени использует так называемое согласование объектов. При этом в качестве объектов фигурируют файлы и каталоги, а согласование представляет собой способ ответить на вопрос, изменились ли файлы и каталоги с момента последней проверки. В ходе согласования характеристики объектов сравниваются с характеристиками, которыми они обладали раньше. Берется, к примеру, архивная копия системного файла и ее атрибуты и сравниваются с атрибутами этого файла, который в настоящий момент находится на жестком диске. Если атрибуты различаются и никаких изменений в операционную систему не вносилось, значит в компьютер, скорее всего, проникла троянская программа.
Одним из атрибутов любого файла является отметка о времени его последней модификации. Однако отметка времени не может служить надежным индикатором наличия в системе троянского программного обеспечения.
Размер текстовых файлов легко подогнать, гораздо труднее подогнать размер двоичных файлов. Вставить в чужую программу фрагмент собственного кода так, чтобы она не утратила работоспособности и в откомпилированном виде сохранила свой размер, достаточно непросто. Поэтому размер файла является более надежным показателем, чем отметка о времени внесения в него последних изменений для двоичных файлов.
Злоумышленник, решивший запустить в компьютер троянскую программу, обычно пытается сделать его частью системного файла. Такие файлы входят в дистрибутив операционной системы и их присутствие не вызывает подозрений. Однако любой системный файл имеет вполне определенную длину. Если данный атрибут будет каким-либо образом изменен, это будет сигналом.
Зная это, злоумышленник постарается достать исходный текст соответствующей программы и внимательно проанализирует его на предмет присутствия в нем избыточных элементов, которые могут быть удалены безо всякого ощутимого ущерба. Тогда вместо найденных избыточных элементов он вставит в программу свой троянский код и перекомпилирует ее заново. При этом необходимо будет подогнать размер нового файла.
Более надежной в этом отношении является так называемая контрольная сумма файла. Для ее подсчета элементы файла суммируются, и получившееся в результате число объявляется его контрольной суммой. Однако и контрольную сумму нетрудно подделать. Поэтому для проверки целостности файловой системы используется особая разновидность алгоритма вычисления контрольной суммы, называемая односторонним хэшированием. Попытка злоумышленника изменить какой-либо файл так, чтобы значение, полученное путем одностороннего хэширования осталось неизменным, обречена на неудачу.
Исторически сложилось так, что большинство утилит, позволяющих бороться с проникновением в компьютерную систему троянских программ путем однонаправленного хэширования файлов, было создано для операционных систем семейства UNIX. Например, утилита Trip Wire, которая позволяет производить однонаправленное хэширование файлов. Вычисленные хэш-значения файлов хранятся в специальной базе данных, которая, в принципе, является самым уязвимым звеном утилиты, поэтому пользователям предлагается в обязательном порядке принимать дополнительные меры защиты для исключения доступа к этой базе данных со стороны злоумышленника (например, помещать ее на съемном носителе, предназначенном только для чтения).
Последнее изменение этой страницы: 2017-02-21; Нарушение авторского права страницы
Читайте также: