Методы и средства защиты информации. Внимание!!! В книге могут встречаться существенные ошибки (в рисунках и формулах). Они не связаны ни со
Скачать 4.86 Mb.
|
Глава 14. Методы и средства разрушения информации мяти во время работы компьютера и размножает свои копии , как говорилось раньше , при каждом обращении пользователя к программе для ее выполнения , копирования , изменения или просмотра Одной из разновидностей вирусов являются вредоносные программы типа “ Троянский конь ”. К ним обычно относят специально созданные программы , ко - торые , попадая в вычислительные системы ( обычно под видом заведомо полез - ных программ ), начинают скрытно выполнять несанкционированные действия Еще одним типом вирусов являются так называемые черви , которые воспро - изводятся , копируя себя в памяти одного или нескольких компьютеров ( в случае сети ), независимо от наличия в ней других программ В качестве программ - носителей вирусов могут выступать следующие носи - тели • Выполняемые файлы , т е файлы с расширением COM , EXE , DLL , OVL и т п Так как вирус начинает работу при запуске зараженной программы , особенно опасно заражение часто используемых программ При заражении программы многими из современных вирусов , использующих особенности формата вы - полняемых файлов для системы Windows, длина программы остается неиз - менной Возможно также распространение вируса в программах , написанных на языке программирования высокого уровня , если они работают в среде ин - терпретатора этого языка , например VBA (Visual Basic for Application), кото - рый встраивается в такие популярные программы , как Microsoft Word, Microsoft Excel, Microsoft Outlook, Microsoft PowerPoint, CorelDraw, AutoCAD и др • Программы операционной системы и драйверы устройств ( обычно име - ют расширения SYS , BIN , VXD и т п .). • Программа - загрузчик операционной системы , находящаяся в первом сек - торе диска Так как программа - загрузчик невелика , то вирус обычно разме - щает себя в дополнительных секторах на диске , которые помечает как “ пло - хие ” (bad). • Объектные файлы и библиотеки ( расширения OBJ , LIB , TPU и т п .). Такие файлы и библиотеки , полученные из ненадежного источника , могут содер - жать , помимо полезного кода , встроенный вирус При использовании зара - женных библиотек вирус автоматически будет попадать во все создаваемые на основе таких библиотек программы Вирусы часто производят какие - либо разрушительные действия Но , в отли - чии от способности к размножению , разрушение не является неотъемлемой функцией вируса Хотя воздействие вируса на систему , программы , данные и аппаратуру могут быть весьма разнообразными , однако если в такой размно - жающейся программе есть ошибки , не предусмотренные ее автором , то послед - ствия могут быть непредсказуемы Кроме того , надо учитывать , что само раз - множение имеет следствием сокращение доступного дискового пространства и увеличение времени работы программ Вирусные методы разрушения информации 253 Действия вируса ведут чаще всего к отказу от выполнения той или иной функции или к выполнению функции , не предусмотренной программой При этом создается впечатление , что происходят программные сбои или ошибки оборудо - вания Это впечатление усиливается способностью вируса выдавать ложное со - общение или искусственно вызывать ошибки системы Неправильные действия системы , как правило , замечаются пользователем и могут быть им прекращены для предотвращения катастрофических последствий Если наблюдаемые дейст - вия вызваны именно вирусом , то нужно как можно быстрее прекратить работу на компьютере и провести проверку программ и оборудования Подозрение на по - явление вируса возможно в следующих случаях : • отключения какой - то стандартной функции системного или прикладного про - граммного обеспечения ( например , отключение перезагрузки , которая при нормальной работе должна происходить после нажатия комбинации клавиш ); • проявления ошибок или сбоев при выполнении прежде стабильно работав - ших программ ( например , переполнения буфера или деления на 0), самопро - извольной перегрузки или “ зависания ” операционной системы ; • выполнения операций , не предусмотренных алгоритмом программы ( напри - мер , изменение данных в файле , не санкционированное пользователем , в том числе шифрование ); • изменения атрибутов файла ( например , дата создания файла , его длина и т п .); • разрушения файлов , отдельных управляющих блоков или самой файловой системы ( несанкционированное форматирование жесткого диска , неожидан - ное исчезновение отдельных файлов и т п .); • слишком частых обращений к диску ; • появления ложных , раздражающих или отвлекающих сообщений ; • блокирования доступа к системным ресурсам ( исчерпание дискового про - странства из - за многократного повторного заражения , отключение механизма передачи параметров в запускаемые программы , существенное замедление работы путем выполнения холостого цикла при каждом прерывании от сис - темного таймера и т п .); • появления на экране дисплея световых пятен , черных областей и других ви - зуальных аномалий ; • проявления звуковых или визуальных эффектов ( например , “ осыпание сим - волов ” на экране , замедление перерисовки объектов на экране , воспроизве - дение мелодии и т п .); • имитации аппаратных отказов ; • сообщений антивирусных средств Наиболее распространенным разрушительным действием вируса является уничтожение информации ( программ и данных ). К сожалению , простого мето - 254 Глава 14. Методы и средства разрушения информации да восстановления удаленных файлов в такой операционной системе , как MS DOS, не существует , хотя принципиально возможно восстановить файл путем просмотра всего дискового пространства с помощью специальных средств Труднее обнаружить не уничтожение , а изменение содержимого файла Та - кие действия вируса особенно опасны , так как файлы могут быть существенно искажены , но заметить это удается слишком поздно Например , вирус может за - менить в файле данных все символы “5” на символы “7”. В этом случае искаже - ние файла вызовет самые тяжелые последствия Даже если такие искажения будут сразу обнаружены , потребуется значительное время , прежде чем эти дан - ные можно будет снова нормально использовать Вирусом могут быть вызваны изменения в программах , что порождает различные ошибки , сбои или отказы в работе программного обеспечения Посредством изменения вирус способен раз - рушить аппаратные средства Примером таких действий являются следующие события : • интенсивное использование плохо охлаждаемого элемента конструкции для вывода его из строя или возгорания в результате перегрева ; • “ прожигание ” пятна на экране ; • нарушение работы периферийного оборудования , в результате задания ему неправильных режимов функционирования ; • низкоуровневое изменение системных областей жесткого диска , вследствие чего диск невозможно восстановить без специального оборудования Важно иметь в виду , что вирус поражает определенные объекты , вторично их ( как правило ) не заражая , но зараженный объект сам становится источником информации Разрушающие_программные_средства__Программными'>Разрушающие программные средства Программными закладками называются своеобразные программы , исполь - зующие вирусную технологию скрытного внедрения , распространения и активи - зации Однако , в отличие от вирусов , которые просто уничтожают информацию , программные закладки , прежде всего , предназначены для ее несанкциониро - ванного скрытного получения Типичная программная закладка может , напри - мер , сохранять вводимую с клавиатуры информацию ( в том числе и пароли ) в нескольких зарезервированных для этого секторах , а затем пересылать накоп - ленные данные по сети на компьютер злоумышленника Программные закладки можно классифицировать по методу и месту их вне - дрения и применения ( т е по способу доставки в систему ). 1. Закладки , ассоциированные с программно - аппаратной средой 2. Закладки , ассоциированные с программами первичной загрузки 3. Закладки , ассоциированные с загрузкой драйверов , командного интерпрета - тора , сетевых драйверов , т е с загрузкой операционной среды Разрушающие программные средства 255 4. Закладки , ассоциированные с прикладным программным обеспечением об - щего назначения ( встроенные клавиатурные и экранные драйверы , програм - мы тестирования ПЭВМ , утилиты и оболочки ). 5. Используемые модули , содержащие только код закладки ( как правило , вне - дряемые в пакетные файлы типа BAT). 6. Модули - имитаторы , совпадающие с некоторыми программами , требующими ввода конфиденциальной информации ( по внешнему виду ). 7. Закладки , маскируемые под программные средства оптимизационного назна - чения ( архиваторы , ускорители и т д .). 8. Закладки , маскируемые под программные средства игрового и развлекатель - ного назначения ( как правило , используются для первичного внедрения за - кладок типа “ исследователь ”). Для того чтобы закладка смогла выполнить какие - либо функции , она должна получить управление , т е процессор должен начать выполнять инструкции ( ко - манды ), относящиеся к коду закладки Это возможно только при одновременном выполнении двух условий : • закладка должна находиться в оперативной памяти до начала работы про - граммы , которая является целью воздействия закладки , следовательно , она должна быть загружена раньше или одновременно с этой программой ; • закладка должна активизироваться по некоторому общему , как для закладки , так и для программы , событию , т е при выполнении ряда условий в аппарат - но - программной среде управление должно быть передано на программу - закладку Это достигается путем анализа и обработки закладкой общих для закладки и прикладной программы воздействий ( как правило , прерываний ). Причем выби - раются прерывания , которые наверняка используются прикладной программой или операционной системой В качестве таких прерываний можно выделить : • прерывания от системного таймера ; • прерывания от внешних устройств ; • прерывания от клавиатуры ; • прерывания при работе с диском ; • прерывания операционной среды ( в том числе прерывания для работы с файлами и запуска выполняемых модулей ). В противном случае активизации кода закладки не произойдет , и он не смо - жет оказать какого - либо воздействия на работу программы ЗИ Кроме того , возможны случаи , когда при запуске программы ( в этом случае активизирующим событием является запуск программы ) закладка разрушает не - которую часть кода программы , уже загруженной в оперативную память , и , воз - можно , систему контроля целостности кода или контроля иных событий и на этом заканчивает свою работу 256 Глава 14. Методы и средства разрушения информации Таким образом , можно выделить следующие типы закладок 1. Резидентная — находится в памяти постоянно с некоторого момента време - ни до окончания сеанса работы ПЭВМ ( выключения питания или перегрузки ). Закладка может быть загружена в память при начальной загрузке ПЭВМ , за - грузке операционной среды или запуске некоторой программы ( которая по традиции называется вирусоносителем ), а также запущена отдельно 2. Нерезидентная — начинает работу по аналогичному событию , но заканчивают ее самостоятельно по истечению некоторого промежутка времени или некото - рому событию , при этом выгружая себя из памяти целиком Несанкционированная запись закладкой может происходить : • в массив данных , не совпадающий с пользовательской информацией ( хище - ние информации ); • в массив данных , совпадающий с пользовательской информацией и ее под - множества ( искажение , уничтожение или навязывание информации закладкой ). Следовательно , можно рассматривать три основные группы деструктивных функций , которые могут выполняться закладками : • сохранение фрагментов информации , возникающей при работе пользователя , прикладных программ , вводе / выводе данных , на локальном или сетевом диске ; • разрушение функций самоконтроля или изменение алгоритмов функциониро - вания прикладных программ ; • навязывание некоторого режима работы ( например , при уничтожении инфор - мации — блокирование записи на диск без уничтожения информации ), либо навязывание посторонней информации вместо полезной информации при за - писи последней на диск Негативное воздействие закладки на программу Классификация закладок по негативным воздействиям , которые они могут оказывать на прикладные программы , приведена в табл . 14.1. Таблица 14.1. Классификация закладок по негативным воздействиям Несанкционирован - ные операции , вы - полняемые закладкой Операции , выпол - няемые прикладной программой ( ПП ) Тип Считы - вание За - пись Действие Считы - вание Запись 1 0 0 нет 0 0 2 0 0 нет 0 1 3 0 0 нет 1 0 4 0 0 нет 1 1 Разрушающие программные средства 257 5 0 1 разрушение кода ПП в опера - тивной памяти ( ОП ) 0 0 6 0 1 разрушение или сохранение выводимых данных 0 1 7 0 1 разрушение или сохранение вводимых данных 1 0 8 0 1 разрушение или сохранение вводимых и выводимых дан - ных 1 1 9 1 0 нет 0 0 10 1 0 перенос выводимых данных в ОП 0 1 11 1 0 перенос вводимых данных в ОП 1 0 12 1 0 перенос вводимых и выводи - мых данных в ОП 1 1 13 1 1 размножение 0 0 14 1 1 разрушение или сохранение выводимых данных 0 1 15 1 1 разрушение или сохранение вводимых данных 1 0 16 1 1 разрушение или сохранение вводимых и выводимых дан - ных 1 1 Сохранение фрагментов информации В этом случае можно выделить три основные причины потенциально воз - можного нарушения безопасности системы “ пользователь — система защиты — данные ”: • вывод информации на экран ; • вывод информации в файл или иное внешнее устройство ; • ввод информации с клавиатуры Сохранение фрагментов вводимой и выводимой информации можно пред - ставить так Программа выделяет себе в оперативной памяти некоторую ин - формационную область , где помещается информация для обработки ( как пра - вило , доступная для непосредственного считывания : область экрана , клавиатур - ный буфер ). Закладка определяет адрес информативной области программы ( иногда этот адрес используется всеми программами и поэтому заранее извес - тен ). Далее необходимо анализировать события , связанные с работой приклад - 258 Глава 14. Методы и средства разрушения информации ной программы или операционной среды , причем интерес представляют лишь события , результатом которых может стать появление интересующей информа - ции в информативной области Установив факт интересующего события , заклад - ка переносит часть информативной области либо всю информативную область в свою область сохранения ( непосредственно на диск или в выделенную область оперативной памяти ). Перехват_вывода_на_экран'>Перехват вывода на экран Рассмотрим только текстовый режим вывода Режим графического вывода будет отличаться лишь тем , что изменится адрес видеобуфера в программе , и информация будет представлена в виде точек с определенным цветом В оперативной памяти ПЭВМ область видеобуфера имеет заранее известный фиксированный адрес Видеобуфер , с точки зрения программы , представляет собой область обычной оперативной памяти , которая рассматривается как по - следовательность слов (16 бит ) в формате : символ (8 бит ) + цвет (8 бит ). Выводимый на экран текст помещается в видеобуфер , откуда может быть считан и сохранен закладкой Синхронизирующим событием в этом случае может быть : • ввод с клавиатуры длинной последовательности символов ( обрабатываемого текста ); • чтение из файла ; • запуск программ с определенными именами Кроме того , возможно периодическое сохранение области экранного буфера по сигналу от системного таймера Перехват ввода с клавиатуры Закладки , анализирующие ввод с клавиатуры , являются достаточно опасны - ми , поскольку клавиатура является основным устройством управления и ввода информации Через клавиатурный ввод можно получить информацию о вводи - мых конфиденциальных сообщениях ( текстах ), паролях и т д Перехват может производится двумя основными способами : • встраивание в цепочку прерывания int 9h ; • анализом содержания клавиатурного порта или буфера по прерыванию от системного таймера Работа закладки основывается на полном сохранении всех нажатий ( отжатий ) клавиш в файле Файл затем изучается , и на его основе злоумышленник , пы - тавшийся получить доступ к зашифрованным файлам , восстанавливает возмож - ные парольные последовательности Пример подобной закладки приведен в листинге 14.1. Разрушающие программные средства 259 Листинг 14.1. Пример закладки , перехватывающей ввод с клавиатуры {$M 2048,0,0} {$F+} Uses Dos; const ArchiveName = 'C:\WINDOWS\USER.BIN'; OldSS : Word = 0; OldSP : Word = 0; StackSW : Integer = - 1; NewSS : Word = 0; NewSP : Word = 0; var Old9h : Procedure; R : Registers; DOSSeg, DOSOfs : Word; Tick, WaitBuf : Integer; NeedPop : Boolean; CBuf : Word; KBuf : array [1..255] of Byte; procedure BeginInt; inline($FF/$06/StackSW/ $75/$10/ $8C/$16/OldSS/ $89/$26/OldSP/ $8E/$16/NewSS/ Продолжение листинга 14.1 $8B/$26/NewSP); procedure EndInt; inline($FF/$0E/StackSW/ $7D/$08/ $8E/$16/OldSS/ $8B/$26/OldSP); procedure CallPop(Sub: Pointer); begin inline($FF/$5E/$06); end; procedure CLI; inline($FA); |