Журнал "Системы Безопасности" № 3‘2023
В Ц Е Н Т Р Е В Н И М А Н И Я 120 В предыдущей статье 1 мы ознакомились с основными угрозами информационным системам, сейчас мы рассмотрим способы борьбы с ними. Первые антивирусные программы С тех пор как в 1981 г. появились вирусы, несу- щие реальную угрозу функционированию ком- пьютеров, были разработаны и первые антиви- русные программы под именами CHK4BOMB и BOMBSQAD. Их создал американский програм- мист Энди Хопкинс. CHK4BOMB анализировала текст загрузочного модуля и выявляла все подо- зрительные части кода. Программа BOMBSQAD считывала операции форматирования и записи, исполняемые через BIOS. При обнаружении подозрительной операции пользователь мог запретить или разрешить ее выполнение. Пер- вый резидентный антивирус, блокирующий вирусные атаки, появился в 1985 г. Программа DRPROTECT была создана программистом Джи Вонгом. Она блокировала все операции, испол- няемые через BIOS. В случае обнаружения подозрительной операции антивирус требовал перезапуска системы. Антивирусы до начала 90-х гг. были набором из нескольких десятков сигнатур (образцов вирусного кода), храня- щихся в базе программы. Усложнение вирусов, естественно, повлекло за собой и разработку более сложных программ. Вследствие этого разработкой и реализацией антивирусных про- грамм стали заниматься крупные компании, имеющие в штате целые команды программи- стов. Типы и поколения систем защиты С появлением в 1992 г. генератора полиморф- ного (изменяющего) кода стало возможно соз- давать зловредное ПО, против которого метод поиска сигнатур не работал, причем создать полиморфный вирус мог не только опытный, но и начинающий программист. Поэтому такие вирусы стали появляться ежедневно. Решить проблему удалось только с созданием про- грамм эмулятора кода. Программа расшифро- вывала оболочку полиморфного вируса и, добравшись до основного тела зловреда, уни- чтожала его. Первыми такую программу разра- ботали в Лаборатории Касперского. Затем появились системы защиты, использую- щие различные методы обнаружения угроз. Поиск по сигнатурам Сигнатура – это уникальная "строка" байт, кото- рая точно определяет вредоносную программу. Сигнатурный поиск в различных модификациях применяют для поиска вирусов и других вредо- носов до сих пор. Несомненное достоинство сигнатурного поиска – скорость работы (при использовании специально разработанных алгоритмов) и возможность выявления разных вирусов одной сигнатурой. Недостатком являет- ся то, что размер сигнатуры для уверенного детектирования должен быть довольно боль- шой, что резко увеличивает размер антивирус- ной базы. Поиск по контрольным суммам (CRC) Является улучшенной модификацией поиска по сигнатурам. Метод был создан для устранения основных недостатков сигнатурного поиска – размера базы и большой вероятности ложных срабатываний. Его отличие в том, что для обна- ружения вредоносного кода используется не только "опорная" строка – сигнатура, то есть контрольная сумма данной строки, но и место сигнатуры внутри вредной программы. Место- положение применяется для того, чтобы не под- считывать контрольные суммы для всего файла. Таким образом, вместо 10–12 байт сигнатуры (минимально) используется 4 байта для хране- ния контрольной суммы и еще 4 байта – для местоположения. Но все же способ поиска по контрольным суммам медленнее, чем поиск по сигнатурам. Эвристический анализ С ростом количества вирусов до нескольких сотен антивирусные специалисты стали решать проблему определения неизвестных вирусов, сигнатур, которые не имелись в базе данных. Были разработаны эвристические анализато- ры – набор подпрограмм, анализирующих код исполняемых файлов, макросов, скриптов, памяти или загрузочных секторов для обнару- жения в нем разных видов вредоносных про- грамм. Криптоанализ Этот метод заключается в следующем: по известному базовому коду вируса и по известному зашифрованному коду (или по подозрительному коду, похожему на зашифрованный вирус) восстанавливаются ключи и алгоритм программы-расшифровщи- ка. Затем этот алгоритм применяется к зашифрованному участку, и расшифрован- ный вирус обезвреживается. Эмуляция кода программ (Sandboxing) Суть метода состоит в том, чтобы эмулировать исполнение программы (как зараженной виру- сом, так и чистой) в специальном окружении, называемом также буфером эмуляции или песочницей. Если в эмулятор попадает заражен- ный полиморфным вирусом файл, то после эмуляции в буфере оказывается расшифрован- ное тело вируса, готовое к детектированию стандартными методами (сигнатурный или CRC-поиск). Поведенческий блокиратор Программа, расположенная в оперативной памяти компьютера и "перехватывающая" мно- гие действия в системе. В случае обнаружения подозрительных операций, которые может ини- циировать вирус или вредоносная програм- ма, блокиратор или останавливает это дей- ствие, или запрашивает разрешение на это у пользователя. Другими словами, блокиратор не ищет код вируса, но отслеживает и предотвра- щает его действия. База данных – неотъемлемая часть антивирусного "движка" Антивирусная база меняется постоянно, так как именно в ней находятся сигнатуры, контроль- ные суммы и специальные программные моду- ли для детектирования вредоносных программ. Как известно, сетевые черви, новые вирусы и разные вредоносные программы появляются очень часто, поэтому важно, чтобы обновления антивирусной базы совершались также часто. Если пять лет назад достаточным было обнов- ляться раз в неделю, то сегодня просто необхо- димо это делать ежедневно. Киберзащита требует все больше ресурсов На вышеперечисленных принципах работают и современные антивирусные системы. С широ- ким распространением Интернета резко уве- личилось количество вредоносов, распростра- няемых по сети. Это определило повышенные требования к разработчикам антивирусных программ. Было необходимо повысить скорость обработки файловой системы, то есть файлы должны были обрабатывать "на лету", в момент обращения к ним. Для того чтобы защитить компьютер от атак по сети, были созданы файр- волы – межсетевые экраны. Создание защитных программ требовало серьезных ресурсов, июнь – июль 2023 www.secuteck.ru Валентин Пашинцев Независимый эксперт Развитие антивирусных программ В философии есть такое понятие – единство и борьба противоположностей. В приро- де это вода и камень, лед и пламень, в человеческой деятельности, связанной с без- опасностью, – броня и снаряд, замки и отмычки, пожар и средства пожаротушения… Несмотря на то что эти понятия противоположны по сути, их единство в том, что их борьба между собой способствует движению вперед в развитии. Такая же борьба происходит и в сфере компьютерной безопасности 1 В. Пашинцев. Кибербезопасность. Основные угрозы и их нейтрализация // Системы безопасности. 2023. № 2. С. 116–117.
Made with FlippingBook
RkJQdWJsaXNoZXIy Mzk4NzYw