Программы для ЭВМ с потенциально опасными последствиями

И борьба с ними

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

— скрыть признаки своего присутствия в программной среде ПЭВМ или другого компьютерного устройства;

— самодублироваться, ассоциировать себя с другими программами и/или переносить свои фрагменты в какие-либо области оперативной или внешней памяти, не принадлежащие программе;

— изменять код программ в оперативной или внешней памяти;

— сохранять фрагменты информации из оперативной памяти в некоторых областях внешней памяти (локальных или удаленных);

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

Программы с потенциально опасными последствиями можно условно под­разделить:

— на классические программы – «вирусы»;

— программы типа «троянский конь» и фрагменты программ типа «логический люк» («потайной ход», «лазейка»);

— программы типа «логическая бомба»;

— программные закладки – обобщенный класс программ с потенциально опасными последствиями.

Программные закладки можно классифицировать по методу и месту их внедрения и применения (т.е. по «способу доставки» в систему):

— закладки, связанные с программно-аппаратной средой (BIOS);

— закладки, связанные с программами первичной загрузки;

— закладки, связанные с драйвером DOS, командным интерпретатором, се­тевыми драйверами, т.е. с загрузкой и работой операционной среды;

— закладки, связанные с программным обеспечением общего назначения (встроенные в клавиатурные и экранные драйверы, программы тестирования ПЭВМ, утилиты, файловые оболочки);

— исполняемые модули, содержащие только код закладки (как правило, внедряемые в пакетные файлы типа ВАТ);

— модули-имитаторы, совпадающие по внешнему виду с легальными программами, требующими ввода конфиденциальной информации;

— закладки, маскируемые под программные средства оптимизационного назначения (архиваторы, ускорители и т.д.);

— закладки, маскируемые под программные средства игрового и развлекательного назначения (как правило, используются для первичного внедрения других закладок; условное название – «исследователь»).

 

Компьютерные вирусы

 

Общие сведения о компьютерных вирусах. В настоящее время под компьютерным вирусом принято понимать программный код, обладающий следующими свойствами:

— способностью к созданию собственных копий, не обязательно совпадающих с оригиналом, но обладающих свойствами оригинала (самовоспроизведение);

— наличием механизма, обеспечивающего внедрение создаваемых копий в исполняемые объекты вычислительной системы.

— свойствами деструктивности и скрытности действий данной вредоносной программы в вычислительной среде.

Своим названием компьютерные вирусы обязаны определенному сходству с биологическими вирусами по:

— способности к саморазмножению;

— высокой скорости распространения;

— избирательности поражаемых систем (каждый вирус поражает только определенные системы или однородные группы систем);

— способности «заражать» еще незараженные системы;

— трудности борьбы с вирусами и т.д.

Структурно компьютерный вирус можно представить состоящим из двух частей; головы и хвоста (или тела). Головой называется часть вируса, которая первой получает управление. Хвост вируса – это части вируса, расположенные отдельно от головы. В простейшем случае вирус может состоять из одной головы. Такие вирусы будем называть несегментированными. В отличие от них сегментированные вирусы имеют располагающийся отдельно хвост.

Основные этапы жизненного цикла компьютерных вирусов. Жизненный цикл компьютерного вируса может включать следующие этапы:

— внедрение (инфицирование);

— латентная фаза, в течение которой вирус не выполняет никаких действий;

— инкубационный период, в процессе которого вирус осуществляет саморазмножение;

— этап выполнения специальных целевых функций;

— фаза проявления, в процессе которой компьютерный вирус явно дает понять пользователю, что его компьютер заражен.

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

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

Сразу укажем, что основными путями проникновения вирусов в компьютер являются съемные диски (гибкие и лазерные), USB флэш накопители, а также компьютерные сети. Заражение жесткого диска вирусами может произойти при загрузке программы с внешнего накопителя, содержащего вирус. Такое заражение может быть и случайным, например, если съемный диск не вынули из дисковода и перезагрузили компьютер. Заразить съемный диск гораздо проще. На него вирус может попасть, даже если диск просто вставили в дисковод зараженного компьютера и, например, прочитали его оглавление.

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

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

Вирус может иметь также фазу проявления, которая сопровождается визуальными или звуковыми эффектами. Отдельные вирусы явно сообщают пользователю о себе и заражении компьютера.

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

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

— файловые вирусы, инфицирующие программные файлы;

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

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

Файловые вирусы могут внедряться в файлы следующих типов: программные файлы с компонентами операционной системы, например, IO.SYS, MSDOS.SYS, COMMAND.COM, W1N.COM, WININIT. EXE; любые исполняемые файлы с расширениями .EXE и. COM; командные файлы и файлы конфигурирования, например, AUTOEXEC. ВАТ, CONFIG.SYS, SYSTEM.INI, WIN.INI; файлы, составляемые на макроязыках программирования, или файлы, которые могут включать выполняемые макросы, например, файлы документов редактора WORD, файлы баз данных СУБД ACCESS; файлы с внешними драйверами устройств (обычно имеют расширения .SYS и. BIN); объектные модули и библиотеки, файлы которых, как правило, имеют расширение .OBJ; оверлейные файлы (обычно имеют расширение. OV? и .RTL); библиотеки динамической компоновки, файлы которых имеют расширение .DLL; исходные тексты программ.

Загрузочные вирусы могут заражать следующие программы: системный загрузчик, расположенный в стартовом секторе (BR) дискет и логических дисков; внесистемный загрузчик, расположенный в стартовом секторе (MBR) жестких дисков.

Компьютерный вирус может функционировать резидентно или транзитно.

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

Резидентные вирусы после активизации постоянно находятся в оперативной памяти компьютера вплоть до его полной перезагрузки, выполняемой путем нажатия кнопки Reset или отключения и последующего включения питания компьютера. При неполной перезагрузке резидентный вирус может сохранить свое тело в оперативной памяти. Более того, существуют резидентные вирусы, которые, если им помогают конструктивные особенности компьютера, могут сохранять свое тело в оперативной памяти даже после полной перезагрузки, выполняемой путем нажатия кнопки Reset. Поэтому единственным надежным путем удаления резидентного вируса из оперативной памяти является перезагрузка компьютера, реализуемая отключением и последующим (не ранее, чем через 20–30 секунд) включением его питания.

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

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

Можно выделить две стратегии в выполнении вирусами своих специальных функций:

- нанесение крупного ущерба за короткий промежуток времени, что обнаруживается сразу же;

- периодическое выполнение мелких вредных действий, которых пользователь может не замечать длительное время.

Очень опасными являются мелкие повреждения содержимого информационных файлов, например, замена отдельных байтов, которые по причине трудности мгновенного обнаружения могут со временем привести к «порче» значительного объема информации на внешних носителях.

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

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

Более редко используются схемы заражения, при которых вирус (его тело, голова и тело, голова) внедряется в начало или внутрь инфицируемой программы. Такие схемы заражения требуют переразмещения части исполняемого файла, что может быть сопряжено со значительной сложностью их реализации применительно к программам типа .EXE. Для облегчения процесса внедрения некоторые вирусы переделывают программы типа .EXE в тип .СОМ, так как программы с расширением .СОМ по причине своих конструктивных особенностей сразу же готовы к запуску и не требуют никаких настроек после загрузки в оперативную память. Вирус может внедряться в любое место СОМ -программы, раздвигая ее и изменяя точку входа в программу для передачи управления телу вируса (рис. 2.30).

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

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

 

 

компонент вируса, восстанавливающий исходный поток управления программы

Рис. 2.30. Схемы заражения файлов исполняемых программ

 

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

 

 

 

Рис. 2.31. Схемы заражения файлов драйверов

 

При внедрении вируса в файлы, которые явно не являются исполняемыми программами или драйверами, например в объектные модули, библиотеки динамической компоновки или файлы, которые могут включать выполняемые макросы, место внедрения вируса определяется структурой и форматом файла каждого конкретного вида.

Особо опасными видами вирусов являются вирусы, прикрепляемые к объектной библиотеке какого-либо компилятора. Такие вирусы автоматически внедряются в любую программу, при компиляции которой была использована инфицированная объектная библиотека. При внедрении вируса в объектную библиотеку в нее вставляется подпрограмма с вирусом, а в начало остальных либо отдельных подпрограмм вставляется вызов вирусной подпрограммы.

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

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

Схема заражения загрузчиков компьютерными вирусами. Загрузчик является компонентом операционной системы, продолжающим ее загрузку после аппаратной передачи ему управления  процедурой  начальной загрузки базовой системы ввода-вывода (BIOS).

Существует два основных загрузчика, используемых для загрузки операционной системы: внесистемный, расположенный в главной загрузочной записи (MBR), находящейся в начале жесткого диска; системный, расположенный в загрузочной записи (BR), находящейся в начале каждой дискеты и логического диска.

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

Системный загрузчик применяется в процессе загрузки операционной системы с логического диска активного раздела винчестера или дискеты и предназначен для загрузки в оперативную память модуля расширения BIOS, а также передачи ему управления.

При заражении загрузчика вирус копирует исходное содержимое загрузочного сектора (BR или MBR) в свободный сектор диска, зарезервированный под нужды операционной системы, и затем внедряет свою копию на место загрузчика в загрузочный сектор. Если длина вируса больше длины загрузчика, то в загрузочный сектор помещается только компонент активизации вируса, а тело вируса размещается в других секторах, которые могут быть объявлены вирусом дефектными (рис. 2.32).

Активизация загрузочного вируса осуществляется в процессе загрузки операционной системы. При этом происходит следующая последовательность действий: после инициирования пользователем процесса загрузки операционной системы, например включения компьютера или нажатия кнопки Reset, вместо загрузчика в оперативную память загружается вирус или компонент его активизации, и далее загруженной вирусной программе передается управление; если запускается на выполнение компонент активизации вируса, то он находит тело вируса и активизирует его; получив управление, вирус выполняет самоинициализацию (перенос своего тела в другую область памяти, перехват необходимых прерываний и т.д.); после окончания своей инициализации вирус находит неповрежденный загрузчик в зарезервированном при заражении содержимым загрузочного сектора и загружает его в оперативную память с передачей ему управления.

После загрузки операционной системы вирус остается резидентно в оперативной памяти, выполняя запрограммированные в его теле действия.

 

 

 

Рис. 2.32. Схема заражения загрузочным вирусом

 

Способы маскировки, используемые компьютерными вирусами. Для затруднения своего обнаружения антивирусными программами компьютерные вирусы применяют множество способов маскировки, которые можно разбить на две базовые группы.

1) способы маскировки, основанные на перехвате прерываний, используемых операционной системой для доступа к компьютерным ресурсам;

2) способы маскировки, основанные на шифровании основного кода вируса.

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

В результате выполнения перечисленных приемов вирусы могут быть невидимыми для антивирусных программ. Именно поэтому такие вирусы прозвали Stealth- вирусами (вирусами-невидимками).

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

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

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

Вирус-мутант состоит из двух основных частей: расшифровщика, предназначенного для расшифровки основного кода вируса перед его исполнением; зашифрованного основного кода вируса. Основной код вируса, кроме компонентов, присущих обычному вирусу, содержит также шифратор, предназначенный для зашифровывания основного кода вируса при саморазмножении.

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

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

Уточненная классификация компьютерных вирусов. Один из авторитетнейших «вирусологов» страны Евгений Касперский предлагает условно классифицировать вирусы по следующим признакам:

— по среде обитания вируса;

— по способу заражения среды обитания;

— по деструктивным возможностям;

— по особенностям алгоритма вируса.

Более подробная классификация внутри этих групп представлена ниже.

По среде обитания вируса они разделяются на:

— сетевые;

— файловые;

— загрузочные;

— комбинированные (файлово-загрузочные).

Сетевые вирусы распространяются по компьютерной сети.

Файловые вирусы внедряются в выполняемые файлы.

Загрузочные вирусы внедряются в загрузочный сектор диска (Boot- сектор) или в сектор, содержащий системный загрузчик винчестера (Masttr Boot Record).

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

По способу заражения среды обитания вирусы разделяются на:

— резидентные;

— нерезидентные.

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

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

По деструктивным возможностям вирусы разделяются на:

— безвредные;

— неопасные;

— опасные;

— очень опасные.

 Безвредные вирусы не влияют на работу компьютера (кроме уменьшения свободной памяти на диске в результате своего распространения).

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

Опасные вирусы могут привести к серьезным сбоям в работе.

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

По особенностям алгоритма вирусы разделяются на:

— компаньон-вирусы (companion);

— «черви» (worm);

— паразитические;

— студенческие;

— стелс-вирусы (вирусы-невидимки, stealth);

— полиморфик-вирусы (или полиморфные вирусы);

— макровирусы.

Компаньон-вирусы (companion) не изменяют файлы. Алгоритм работы этих вирусов состоит в том, что они создают для ехе -файлов файлы-спутники, имеющие то же самое имя, но с расширением .сот, например, для файлаx copy.exe создается файл copy.com. Вирус записывается в сот- файл и никак не изменяет ехе-файл. При запуске такого файла ОС первым обнаружит и выполнит сот -файл, т.е. вирус, который затем запустит одноименный ехе-файл.

«Черви» (worm) распространяются в компьютерной сети и, так же как и компаньон-вирусы, не изменяют файлы или сектора на дисках. Они проникают в память компьютера из компьютерной сети, вычисляют сетевые адреса других компьютеров и рассылают по этим адресам свои копии. Такие вирусы иногда создают рабочие файлы на дисках системы, но могут вообще не обращаться к ресурсам компьютера (за исключением оперативной памяти).

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

Студенческие – это примитивные вирусы, часто нерезидентные и содержащие большое число ошибок.

Стелс-вирусы (вирусы-невидимки, stealth) представляют собой весьма совершенные программы, которые перехватывают обращения ОС к пораженным файлам или секторам дисков и «подставляют» вместо себя незаряженные участки информации. Кроме этого, такие вирусы при обращении к файлам используют достаточно оригинальные алгоритмы, позволяющие «обманывать» резидентные антивирусные мониторы.

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

Сигнатура – это фрагмент кода, встречающийся во всех копиях вируса и только в них. Сигнатура однозначно определяет наличие или отсутствие вируса. Поэтому разработчики антивирусных средств для поиска вирусов хранят их сигнатуры. Такой поиск кодов вирусов называется сигнатурным поиском. Естественно, для поиска полиморфик-вирусов сигнатурный поиск не может быть применен.

Макровирусы используют возможности макроязыков, встроенных в системы обработки данных (текстовые редакторы, электронные таблицы и т.д.).

Методы и технологии борьбы с компьютерными вирусами. Под комплексной защитой от компьютерных вирусов понимают реализацию следующих направлений:

защита внешних каналов связи (в интерфейсе внешней и внутренней информационно-телекоммуникационной сети). Защита внешних каналов связи осуществляется с использование межсетевых экранов. Для осуществления фильтрации вирусов на входе в эти экраны необходимо использовать модуль антивирусной защиты. Этот подход позволяет значительно снизить вероятность распространения вирусов во внутренней сети;

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

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

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

Для защиты от компьютерных вирусов могут использоваться следующие методы и средства:

— общие методы и средства защиты информации;

— специализированные программы для защиты от вирусов;

— профилактические меры, позволяющие уменьшить вероятность заражения вирусами.

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

средства резервного копирования информации – применяются для создания копий файлов и системных областей дисков;

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

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

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

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

Второй эшелон обороны составляют программы-ревизоры, программы-доктора и доктора-ревизоры.

Ревизоры обнаруживают нападение даже тогда, когда вирус сумел «просочиться» через передний край обороны. Они сначала запоминают сведения об исходном состоянии программ и системных областей дисков, а затем сравнивают их состояние с текущим. При выявлении несоответствий, об этом сообщается пользователю.

Программы-доктора, или фаги, применяются для восстановления зараженных программ, если ее копий нет в архиве. Они «лечат» зараженные программы или диски, «выкусывая» из зараженных программ тело вируса, т.е. восстанавливая программу в том состоянии, в котором она находилась до заражения вирусом. Однако лечение не всегда проходит правильно.

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

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

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

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

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

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

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

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

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

— прекращение работы или неправильная работа ранее успешно функционировавших программ;

— медленная работа компьютера;

— невозможность загрузки операционной системы;

— исчезновение файлов и каталогов или искажение их содержимого;

— изменение даты и времени модификации файлов;

— изменение размеров файлов;

— неожиданное значительное увеличение количества файлов на диске;

— существенное уменьшение размера свободной оперативной памяти;

— вывод на экран непредусмотренных сообщений или изображений;

— подача непредусмотренных звуковых сигналов;

— частые зависания и сбои в работе компьютера.

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

Отметим, что специалистами используется такое понятие, как уровни антивирусной защиты.

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

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

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

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

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

Люки

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

Люки чаще всего являются результатом забывчивости разработчиков. В процессе разработки программы разработчики часто создают временные механизмы, облегчающие ведение отладки за счет прямого доступа к отлаживаемым частям продукта. По окончанию отладки большинство люков убирается из программы; но люди есть люди – зачастую они забывают о существовании каких-то мелких «лючков».

Одним из наиболее показательных примеров использования «забытых» люков является, пожалуй, широко известный в компьютерном мире инцидент с вирусом Морриса. Одной из причин, обусловивших возможность распространения этого вируса, была ошибка разработчика программы электронной почты, входящей в состав одной из версий операционной системы UNIX, приведшая к появлению малозаметного лючка. Американские специалисты оценивают ущерб, нанесенный в результате инцидента, более чем в 100 миллионов долларов.

Люки могут образовываться также в результате часто практикуемой технологии разработки программных продуктов «сверху вниз». При этом программист приступает сразу к написанию управляющей программы, заменяя предполагаемые в будущем подпрограммы так называемыми «заглушками». В теории моментом завершения разработки конечной программы по такой технологии можно считать момент замены последней заглушки реальной подпрограммой.

В действительности дело обстоит несколько сложнее. Вся беда в том, что авторы часто оставляют заглушки в конечном программном продукте, передаваемом в эксплуатацию. Делают это порой неумышленно: например, на ранних стадиях разработки предполагалось наличие в конечном программном продукте некоторой подпрограммы, однако в процессе разработки выяснилось, что эта подпрограмма в силу каких-либо причин не нужна. Но заглушка-то осталась! Удалить заглушку, не заменяя ее подпрограммой, бывает весьма сложно. Это может спровоцировать программиста оставить заглушку «до лучших времен».

Возможен вариант, когда заглушки оставляются в конечной программе сознательно, в расчете на подключение в дальнейшем к работающей программе новых подпрограмм, реализующих некоторые новые возможности, либо предполагая возможное подключение к программе тестирующих средств для более точной настройки программы. Кто может дать гарантию, что в один прекрасный день такой заглушкой кто-нибудь не воспользуется для подключения к программе совсем иной подпрограммы, работающей в интересах этого «кого-нибудь», то есть деструктивного субъекта информационной безопасности, а не законного владельца?

Наконец, еще одним распространенным источником люков является так называемый «неопределенный ввод» ‒ ввод «бессмысленной» информации, абракадабры в ответ на запросы системы. Реакция недостаточно хорошо написанной программы на неопределенный ввод может быть, в лучшем случае, непредсказуемой (когда при повторном вводе той же неверной команды программа реагирует каждый раз по-разному); гораздо хуже, если программа в результате одинакового «неопределенного» ввода выполняет некоторые повторяющиеся действия, ‒ это дает возможность потенциальному захватчику планировать свои действия по нарушению безопасности. Например, он может искусственно вызвать аварийное завершение программы, работающей в привилегированном режиме, с тем, чтобы перехватить управление, оставшись в этом привилегированном режиме.

Борьба с возможностью нестандартного прерывания, в конечном счете, выливается в необходимость предусмотреть при разработке программ комплекса механизмов, образующих так называемую «защиту от дурака». Смысл этой защиты состоит в том, чтобы гарантированно отсекать всякую вероятность обработки неопределенного ввода и разного рода нестандартных ситуаций (в частности, ошибок) и тем самым не допускать нарушения безопасности компьютерной системы даже в случае некорректной работы с программой.

Таким образом, люк (или люки) может присутствовать в программе ввиду того, что программист:

— забыл или не сумел удалить его;

— умышленно оставил его в программе для обеспечения тестирования или выполнения оставшейся части отладки;

— умышленно оставил его в программе в интересах облегчения окончательной сборки конечного программного продукта;

— умышленно оставил его в программе с тем, чтобы иметь скрытое средство доступа к программе уже после того, как она вошла в состав конечного продукта.

Троянские кони

Существуют программы, реализующие, помимо функций, описанных в документации, и некоторые другие функции, в том числе деструктивные, в документации не описанные. Такие программы называются «троянскими конями».

 

Логическая бомба

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

Мировая компьютерная общественность достаточно хорошо знакома с логическими бомбами. Логическая бомба является одним из излюбленных способов мести программистов компаниям, которые их уволили или чем-либо обидели, При этом чаще всего срабатывание бомбы ставится в зависимость от установки в системе даты – так называемые «часовые» бомбы. Это очень удобно: допустим, программист знает, что его уволят 1 марта; в таком случае он может установить «часовую» бомбу на взрыв, допустим, 6 июля или даже на Новый год, когда сам он будет уже вне пределов досягаемости для пострадавшей компании.

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

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

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

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

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

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

Исполнение кода закладки может быть сопровождено операциями несанкционированной записи (НСЗ), например, для сохранения некоторых фрагментов информации, и несанкционированного считывания (НСЧ), которое может происходить отдельно от операций чтения прикладной программы или совместно с ними. При этом операции считывания и записи, возможно, не связаны с получением конфиденциальной информации, например считывание параметров устройства или его инициализация (закладка может использовать для своей работы такие операции, в частности, для инициирования сбойных ситуаций или переназначения ввода-вывода).

Несанкционированная запись закладкой может происходить:

— в массив данных, не совпадающий с пользовательской информацией, – сохранение информации;

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

Следовательно, можно рассматривать три основные группы деструктивных функций, которые могут выполняться закладками:

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

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

— навязывание некоторого режима работы (например, при уничтожении информации – блокирование записи на диск, при этом информация, естественно, не уничтожается) либо замена записываемой информации информацией, навязанной закладкой (например, при выводе на экран слово «неверно» заменяется словом «верно», а «рубль» – «доллар» и т.д.).

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

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

Рассмотренные действия особенно опасны для программ подтверждения подлинности электронных документов («электронная подпись» – ЭП). При считывании приготовленного для подписи файла-документа может произойти изменение имени автора, даты, времени, цифровых данных, заголовка документа (например, изменение суммы платежа в платежных поручениях и др.).

Закладки такого типа могут, например, навязывать истинность электронной подписи, даже если файл был изменен.

Широко известна и использовалась во многих банках система ЭП Pretty Good Privace (PGP). Многие стали жертвой простейшей программной закладки против этой системы.

Рассмотрим процесс «электронного подписывания», реализованный в программе PGP. Программа считывает файл для вычисления хеш-функции блоками по 512 байт, причем завершением процесса чтения является считывание блока меньшей длины.

Работа закладки была основана на навязывании длины файла. Закладка позволяет программе ЭП считать только первый 512-байтный блок и вычислять подпись только на его основе.

Такая же схема действует и при проверке подписи. Следовательно, основная часть файла может быть произвольным образом искажена.

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

Отметим четыре основных метода воздействия программных закладок на ЭП:

1. Метод навязывания входной информации – связан с искажением поступающего на подпись файла.

2.  Метод навязывания результата проверки – связан с влиянием на признак правильности подписи независимо от результатов работы.

3. Метод навязывания длины сообщения – предъявление программе ЭП электронного документа меньшей длины, следовательно, производится подпись только части документа.

4. Метод искажения программы ЭП – связан с изменением исполняемого кода самой программы ЭП.

Задача борьбы с программными закладками весьма сложна и многопланова. Можно рассматривать следующие частные постановки задач для ее решения:

1. Неизвестно наличие в каком-либо множестве программ фрагментов закладок, ставится задача определения факта их наличия или отсутствия; при этом программы не выполняются (статическая задача).

2. В условиях п. 1 программы используются по своему назначению, ставится та же задача выявления закладки, но в данном случае – по результатам работы (динамическая задача).

3. Происходит обмен программным продуктом (в пространстве – передача по каналу связи или на материальном носителе, во времени – хранение), свободным от потенциально опасных действий, программный продукт не исполняется, задача защиты (статическая) ставится в трех вариантах: не допустить внедрения закладки; выявить внедренный код закладки; удалить внедренный код закладки.

4. В условиях п. 3 решается динамическая задача – защита от воздействия закладки в ходе работы программ.

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

Далее рассмотренные задачи будем упоминать как задачи 1 – 5.

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

1) Общие методы защиты программного обеспечения, решающие задачи борьбы со случайными сбоями оборудования и несанкционированным доступом:

а.        Контроль целостности системных областей, запускаемых прикладных программ и используемых данных (решение задачи 3).

б.        Контроль критических для безопасности системы событий (решение задачи 2).

Методы а и б действенны лишь тогда, когда контрольные элементы не подвержены воздействию закладок и разрушающее воздействие входит в контролируемый класс. Например, если система контроля за вызовом прерываний не будет отслеживать обращение на уровне портов, то контроль может быть обойден путем:

■ навязывания конечного результата проверок;

■ влияния на процесс считывания информации;

■ изменения хеш-функций, хранящихся в общедоступных файлах или в оперативной памяти.

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

в.        Создание безопасной и изолированной операционной среды (решение задачи 4).

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

2) Специальные методы выявления программ с потенциально опасными последствиями: поиск фрагментов кода по характерным последствиям (сигнатурам), свойственным закладкам, либо, наоборот, разрешение на выполнение или внедрение в цепочку прерываний только программам с известными сигнатурами (решение задач 1,2). Поиск критических участков кода методом семантического анализа, т.е. анализа фрагментов кода на выполняемые ими функции, например выполнение НСЗ часто сопряжено с дисассемблированием или эмуляцией выполнения (решение задач 1, 2).

Весьма важным является комплекс организационно-технических мер защиты от вирусов и программных закладок.

Меры защиты можно подразделить на две основные группы:

I. Меры защиты на этапе разработки программного обеспечения (ПО) системы.

II. Меры защиты на этапе эксплуатации.

В группу I входят:

— Меры защиты на этапе разработки прикладного ПО, содержащего внутреннюю защиту от несанкционированного доступа (НСД).

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

— Меры защиты при разработке ПО защиты от НСД (должны быть предусмотрены меры по проверке целостности хранимых на внешних носителях программных средств защиты, контроль целостности их в оперативной памяти и т.д.).

В группу II входят:

1. Регулярные меры защиты и контроля, применяемые постоянно с фиксированными временными интервалами.

2. Эпизодические защитные мероприятия (в дополнение к п. 1 в период повышения опасности вирусного нападения).

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

К общим способам защиты системы относятся:

 - ограничение физического доступа к программам и оборудованию путем установления соответствующего организационного режима и применения аппаратных или программных средств ограничения доступа к ПЭВМ и ее компонентам;

 -  при активизации прикладного ПО контроль его целостности, целостности областей DOS, BIOS и CMOS путем просчета контрольных сумм (вычисления хеш-функций) и сравнения их с эталонными значениями для каждой ПЭВМ;

- максимальное ограничение и контроль за передачей по сети исполняемых файлов (типа.ЕХЕ и.COM),.SYS- и.BIN-файлов в целях предотвращения распространения файловых вирусов, вирусов типа Driver, загрузочно-файловых вирусов, а также размножающихся закладок по сети; использование фильтров и шлюзов при передаче данных;

- организация выборочного и внезапного контроля работы операторов ПЭВМ с целью выявления фактов использования нерегламентированного ПО;

 - защита от записи на съемных магнитных носителях, учет и надежное хранение архивных копий;

 - немедленное уничтожение ценной информации сразу по истечении потребности в ней;

- периодическая оптимизация внешних носителей (винчестеров) на предмет выявления сбойных или псевдосбойных кластеров и стирания фрагментов конфиденциальной информации при помощи средств типа SPEED DISK.

Средства защиты, учитывающие специфику работы фрагментов системы:

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

б) для серверов локальных сетей (СЛС): контроль состава и порядка использования ПО, находящегося на СЛС; дублирование стандартных средств защиты от НСД в ПО сети Novell и других разновидностей сетевого ПО дополнительными средствами защиты; запрет записи на общий диск файл-сервера локальной сети исполняемых файлов, не имеющих отношения к обработке информации в сети.

Что же касается мер защиты от вирусов и закладок в процессе разработки самих программ защиты (п. 2 группы I), то в данном случае необходимо предусмотреть встроенный самоконтроль ПО системы защиты, установленный на сети, путем просчета контрольных сумм по файлам и коду программ в оперативной памяти, переопределение «на себя» существенно важных прерываний (intOlh, 03h, 08h, 10h, 13h, 21h) для предотвращения перехвата ввода ключей паролей и их сохранения закладкой на внешнем носителе, а также блокирование проникновения в логику работы программ защиты при помощи стандартных отладочных средств; защиту от переноса установленного ПО защиты коммуникации на другую ПЭВМ, проводимого с целью детального изучения ПО и поиска обходных путей для преодоления защиты; это может быть достигнуто «привязкой» ПО к индивидуальным параметрам ПЭВМ – тем самым работоспособность ПО будет обеспечиваться только на данной ЭВМ сети.

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

 

Атака «салями»

 

А теперь поговорим о биче финансово-бухгалтерских и банковских компьютерных систем – атаке «салями».

При разработке финансово-бухгалтерских и банковских систем устанавливается правило округлении (или усечения), используемое при выполнении всех операций. Вся хитрость состоит в том, как запрограммировать обработку округлений. Можно, конечно просто удалять несуществующие величины. Но можно и не удалять, а накапливать на некоем специальном счете. Там пол цента, тут пол цента… – а в сумме? Как свидетельствует практика, сумма, составленная буквально из ничего, за пару лет эксплуатации «хитрой» программы в среднем по размеру банке может исчисляться тысячами долларов.

Можно сказать, что атака «салями» – компьютерная реализация известной поговорки «С миру по нитке – голому рубаха».

 


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: