Эскорт-услуги в Москве от Queens Palace


GOUSPO студенческий портал!

форум, учебники, лекции, и многое другое

Лекция ИБ

Информационная безопасность.

Лекция 1.

Информация как объект защиты

План

1. Информация как объект защиты

2. Классификация важности и ценности информации

3. Основные функций безопасности

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

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

По степени важности и ценности защищаемой информации выделя­ется три категории:

• информация, составляющая государственную тайну:

• персональная информация;

• информация, составляющая коммерческую тайну.

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

I» предотвращение утечки, хищения, искажения, подделки инфор­мации;

• обеспечение безопасности личности, общества, государства;

• предотвращение несанкционированных действий по уничтожению, искажению, блокированию информации;

• защита конституционных прав граждан на сохранение личной тай­ны и конфиденциальности персональных данных;

• сохранение государственной тайны, конфиденциальности доку­ментированной информации.

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

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

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

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

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

И, наконец, любая система обеспечения информационной безопас­ности должна выполнять следующий ряд задач:

• своевременное выявление и устранение угроз информационным и техническим ресурсам;

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

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

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

• контроль эффективности мер защиты.


Лекция 2.

Источники угроз и способы нарушения информационной безопасности

План

1. Порядок исследований в сфере нарушений информационной безо­пасности

2. Основные определения ИБ

3. Классификация способов совершения компьютерных преступлений.

4. Угрозы, присущие объектам информатизации.

Порядок исследований в сфере нарушений информационной безо­пасности можно представить в виде трехзтапной схемы:

1)  исследование действий, попадающих под понятие нарушение (пре­ступление) в информационной сфере;

2)  исследование объектов обмена информацией и опасностей, угроз нанесения ущербов субъектам информационных отношений;

3)  исследование факторов, уязвимостей конкретных объектов ин­форматизации и действий, атак, реализующихся через имеющиеся уяз­вимости.

Дадим некоторые определения.

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

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

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

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

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

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

• нарушение секретности (конфиденциальности) информации (раз­глашение, утрата, хищение, утечка и перехват и т.д.);

• нарушение целостности информации (уничтожение, искажение, подделка и т.д.);

• нарушение доступности информации и работоспособности инфор­мационных систем (блокирование данных и информационных си­стем, разрушение элементов информационных систем, компроме­тация системы защиты информации и т.д.).

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

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

1. QA — Несанкционированный доступ и перехват

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

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

QAT — кража времени, с целью неуплаты за пользование компью­терной системой или сетью.

QAZ — прочие виды несанкционированного доступа и перехвата

2. QD — Изменение компьютерных данных

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

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

QD W — компьютерный червь, искажение или хищение данных по­средством компьютерной сети.

QDZ — прочие виды изменения данных, взлом (крэкинг).

3. QF — Компьютерное мошенничество

QFC—мошенничество с банкоматами.

QFF — компьютерная подделка.

QFG — мошенничество с игровыми автоматами.

QFM — манипуляции с программами ввода-вывода.

QFP — мошенничества с платежными средствами.

QFT—телефонное мошенничество.

QFZ—прочие компьютерные мошенничества.

4. QR — Незаконное копирование

QRG—компьютерные игры.

QRS — прочее программное обеспечение.

QRT—топография полупроводниковых изделий.

QRZ — прочее незаконное копирование.

5. QS — Компьютерный саботаж

QSH—с аппаратным обеспечением.

QSS—с программным обеспечением.

QSZ — прочие виды саботажа.

6. QZ — Прочие компьютерные преступления

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

QZE—хищение информации, составляющей коммерческую тайну.

QZS — передача информации конфиденциального характера.

QZZ — прочие компьютерные преступления.

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

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

Перейдем к рассмотрению следующего вопроса: каковы угрозы, присущие объектам информатизации?

Современные объекты информационных систем состоят из следую­щих подсистем:

• рабочих станций или удаленных терминалов сети;

• серверов (служб Интернета, файлов, печати, баз данных и т.п.);

• межсетевых телекоммуникационных средств (коммутаторов, мар­шрутизаторов, серверов удаленного доступа и т.д.);

• каналов связи (проводных, беспроводных, оптических).

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

Источниками внутренних угроз являются:

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

• аппаратные средства и программное обеспечение информацион­ных систем (как объекты, подверженные дефектам, сбоям, отка­зам и авариям).

Источниками внешних угроз являются:

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

• сети инженерных, транспортных и телематических коммуника­ций.

• природные явления и стихийные бедствия.

Все перечисленные угрозы по мотивации действий делятся на:

• непреднамеренные (неумышленные, случайные) угрозы;

• преднамеренные (умышленные, спланированные) угрозы.

По способам воздействия на объекты информационных отношений угрозы делятся на:

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

• программные (дефекты и уязвимости в программном обеспечении; компьютерные вирусы; программные закладки);

• физические (разрушение компьютерных средств и сетей; хищение носителей информации, ключей защиты; воздействие на лиц, име­ющих доступ к информации);

• радиоэлектронные (внедрение средств съема информации в ком­пьютерные средства, сети и помещения; перехват, расшифровка, подмена и уничтожение информации в каналах связи);

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

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


Лекция 3.

Основные преднамереннее и непреднамеренные угрозы

План

1. Основные непреднамеренные угрозы

2. Основные преднамеренные угрозы

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

Основные непреднамеренные угрозы:

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

2)  заражение компьютера вирусами;

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

4)  неправомерное включение оборудования или изменение режимов работы устройств и программ;

5)   неумышленная порча носителей информации;

6)  игнорирование режимов соблюдения информационной безопас­ности;

7)   вход в систему в обход средств защиты (загрузка посторонней операционной системы со сменных магнитных носителей и т.п.);

8)  некомпетентное использование, настройка или неправомерное отключение средств защиты администраторами сетей и персоналом служ­бы безопасности;

9)   пересылка данных по ошибочному адресу абонента (устройства);

10) ввод ошибочных данных.

Основные преднамеренные угрозы:

1)  несанкционированное копирование носителей информации;

2)  хищение носителей информации (магнитных дисков, лент, микро­схем памяти, запоминающих устройств и целых ПК);

3)  незаконное получение паролей и других реквизитов разграниче­ния доступа с последующей маскировкой под зарегистрированного пользователя;

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

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

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

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

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

9)  вскрытие шифров криптозашиты информации;

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

Ввиду неуклонного роста числа пользователей сети Интернет осо­бую значимость приобретают угрозы, связанные с удаленным сетевым доступом — сетевые компьютерные атаки. Существует ряд организа­ций (SA NS Institute, CER T Coordination Center и др.), которые занима­ются экспертизой уязвимостей сетевых компьютерных средств, про­граммного обеспечения, сообщают о найденных уязвимостях и публи­куют предлагаемые меры по их устранению. Приведем распространен­ные службы сетевого программного обеспечения, представляющие наи­большую уязвимость в отношении сетевых компьютерных атак.

На платформе Windows

1. Служба web-сервиса Интернет Internet Information Services (IfS).

2. Компоненты доступа к данным Microsoft Data A ccess Components (MDAC).

3. Сервер баз данных SQL Server.

4. Сетевой протокол NetBIOS, разделяемые сетевые ресурсы.

5. Анонимный вход в операционную систему («ии//»-сессии).

6. Менеджер аутентификации локальной сети (LANMAN hash).

7. Аутентификация входа в Windows.

8. Броузер Интернет Internet Explorer (IE).

9. Удаленный доступ к реестру (Remote Registry Access).

10. Windows-сценарии (скрипты).

На платформе UNIX:

1. Удаленный вызов процедур (RFC).

2. Веб-сервер Apache.

3. SSH (удаленный терминал с шифрованием трафика).

4. Протокол управления сетью SNMP.

5. Протокол передачи файлов FTP.

6. Я57/-сервисы (возможность входа на доверенные системы).

7. Служба печати (LPD Line printer daemon).

8. Почтовый сервер Sendmail.

9. Службы разрешения доменных имен BIND/DNS.

10. Аутентификация входа в систему.

Лекция 4

Средства анализа защищенности систем и сетей

План

1. Инструменталь­ные средства анализа защищенности программного обеспечения

2. Средство сетевого анализа безопасности Cisco Secure Scanner

3. Средства активного аудита безопасности Internet Security Systems

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

• средства анализа защищенности операционных систем (сканеры уязвимостей);

• средства анализа защищенности сетевых служб (сетевые сканеры). Средства анализа защищенности операционных систем позволяют

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

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

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

Средство сетевого анализа безопасности Cisco Secure Scanner

Cisco Secure Scanner (производитель Cisco Systems) позволяет прово­дить активный аудит ресурсов сети на наличие ошибок в области обес­печения защиты от несанкционированного доступа и на соответствие сетевых ресурсов политике безопасности. Cisco Secure Scanner предос­тавляет следующие возможности по анализу сетевой безопасности: ин­вентаризация систем и сервисов в корпоративной сети; определение возможных ошибок в системах безопасности путем сканирования и про­токолирования; эффективное управление уязвимостью данных, приня­тие решений в области зашиты данных на основе отчетов и диаграмм, определение и реализация политики безопасности для новых устройств сети Другими возможностями сканера являются: автоматическое опре­деление узлов и сервисов, предоставление пользователю детальной ин­формации обо всех устройствах, подключенных к наблюдаемой сети, построение карты доступных сервисов сети, используя порты TCP/UDP и запросы SNMP.

Средства активного аудита безопасности Internet Security Systems

Технология Internet Security Systems (производитель ISS) включает:

• технологию анализа защищенности или поиска уязвимостей;

• технологию обнаружения атак.

Реализует эту технологию семейство продуктов SAFEsuite, которое включает в себя:

1. Систему анализа защищенности на уровне сети Internet Scanner.

2. Системы анализа защищенности на уровне операционной системы и прикладного программного обеспечения System Scanner и Online Scanner.

3. Систему анализа защищенности на уровне систем управления ба­зами данных Database Scanner.

4. Системы обнаружения атак на уровнях сети, операционных сис­тем, баз данных и прикладного программного обеспечения RealSecure.

Программный комплекс для распределенного анализа защищенности сетей Distributed CyberCop Scanner

Distributed CyberCop Scanner (производитель Network Associates} позволяет выполнять сканирования на географически распределенных сетях, накапливая результаты в общей базе данных. В дополнение к большому количеству проверок конфигураций межсетевых экранов Distributed CyberCop Scanner тестирует web-сервера, файловые серве­ра, рабочие станции, маршрутизаторы и другие сетевые устройства на предмет обнаружения слабых мест в защите с выдачей подробных гра­фических отчетов и рекомендаций по усилению безопасности. Графи­ческие отчеты значительно упрощают процесс определения приорите­тов, визуально отображая уровень риска обнаруженных уязвимостей и предоставляя возможность администраторам безопасности быстро оп­ределить наиболее слабые места сети. Пользователи имеют возможность осуществлять поиск уязвимостей по уникальному номеру CVE (Common Vulnerabilities and Exposures), первому публичному списку, обеспечи-

вающему стандартизированные имена и описания более чем 500 извест­ных уязвимостей.

Среди некоммерческих средств анализа защищенности можно выде­лить программы Nessus и Nmap, относящиеся к классу сетевых сканеров безопасности. Они используют много различных методов сканирова­ния, основанных на особенностях протоколов стека TCP/IP. Другими возможностями этих программ являются: определение операционной системы удаленного компьютера; «невидимое» сканирование; динами­ческое вычисление времени задержки и повтор передачи пакетов; па­раллельное сканирование; определение неактивных узлов сети методом параллельного опроса; сканирование с использованием ложных узлов сети; определение наличия пакетных фильтров; сканирование с исполь­зованием /Р-фрагментации, а также произвольное указание IP-адресов и номеров портов сканируемых сетей.

Лекция 5.

Антивирусное программное обеспечение

План

1. Основные виды антивирусного программного обеспечения

2. Основные производители антивирусного программного обеспечения и особенности их программного обеспечения

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

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

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

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

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

Среди антивирусного программного обеспечения явно выделяются несколько лидеров: McAfee VirusScan, Symantec Norton Antivirus, AVP Лаборатории Касперского.

McAfee VirusScan обеспечивает антивирусную защиту компьютера, включая обнаружение вирусов при работе с файлами и групповыми при­ложениями, блокирование враждебных объектов Java/A ctiveX, заражен­ных сообщений электронной почты и опасных Интернет-ресурсов. Он способен обезвреживать даже некоторые удаленные сетевые атаки, на­пример, типа Distributed Denial of Service (DDoS).

В Symantec Norton Antivirus включены новые технологии распозна­вания вирусных атак:

• технология Striker32, которая обнаруживает вирусы и восстанав­ливает данные, поврежденные наиболее сложными полиморфными ви­русами, что часто невозможно сделать с помощью других антивирус­ных средств;

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

В антивирусный пакет Лаборатории Касперского А УР входят все передовые способы борьбы с вирусами: антивирусный сканер для про­верки мест хранения данных; антивирусный монитор для проверки всех используемых файлов в масштабе реального времени; ревизор измене­ний для контроля целостности данных на компьютерах; уникальный модуль фонового перехвата скрипт-вирусов; поведенческий блокира­тор, обеспечивающий 100%защиту от макровирусов.


Лекция 6.

План

1. Общие сведения о компьютерных вирусах

2. Причин широко­го распространения компьютерных вирусов

3. История создания компьютерных вирусов

4. Ви­ды вирусных программ

Общие сведения о компьютерных вирусах

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

Можно назвать, по крайней мере, несколько причин широко­го распространения компьютерных вирусов:

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

стандартизация программного обеспечения, массовое исполь­зование операционных систем, дружественных не только для пользователя, но и для вирусов;

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

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

К настоящему времени компьютерная вирусология накопила определенную историю, которую вкратце можно проиллюстри­ровать следующими основными эпизодами [11, 12, 29].

Первая известная публикация относится к 1951 г. В ней Джо­ном фок Нейманом сформулирована и исследована проблема со­здания саморазмножающихся компьютерных программ.

В 1962 г. Высоцкий и Макилрой (США) создали компьютер­ную игру, основанную на конфликтном взаимодействии самовос­производящихся программных механизмов в памяти компьютера. Победителем считался тот игрок, чьи программы захватывали всю память. Эта игра получила широкое распространение во многих учебных и исследовательских центрах США.

В 1977 г. появляется первый персональный компьютер Apple II Число компьютеров этой серии за шесть лет перевалило за три миллиона. В это же время произошло бурное развитие сетей пере­дачи информации на базе обычных телефонных каналов (BBS) Одновременно с этим получили широкое распространение про­граммы-вандалы, которые наряду с выполнением некоторой по­лезной функции разрушали данные в информационной базе пер­сонального компьютера.

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

В 1981 —1982 гг. появился первый бутовый вирус (Elk Cloner), получивший широкое распространение на компьютерах Apple II. Проявлял он себя очень разнообразно: переворачивал изображе­ние и заставлял мигать экран, выводил на экран разнообразные сообщения.

В 1985—1986 гг. произошли вспышки заражения компьютер­ными вирусами многих персональных компьютеров. Причиной было бесконтрольное копирование компьютерных файлов.

Первым широко распространенным вирусом для IBM PC стал Пакистанский компьютерный вирус (загрузочный вирус Brain), разработанный братьями Амджатом и Беситом Алби в 1986 г. Ви­рус заражал компьютеры в отместку за несанкционированное ко­пирование программного обеспечения. Только в США этот вирус заразил около 18000 компьютеров. Он стал первым вирусом, ис­пользовавшим технологию маскировки (СТЕЛС). При попытке чте­ния зараженного загрузочного сектора вирус подставлял его не­зараженную копию. В этом же году Р. Бюргер обосновал и показал практически возможность создания файлового вируса.

В 1987 г. появляется вирус Vienna, дезассемблированная копия которого с комментариями была опубликована Р. Бюргером в кни­ге, специально посвященной компьютерным вирусам.

В ноябре 1988 г. отмечена эпидемия сетевого вируса Морриса. Этот вирус вследствие ошибки в программном коде рассылал свои копии по другим компьютерам сети и инфицировал таким обра­зом более 6000 компьютерных систем в США, включая компь­ютеры NASA Research Institute. Общие убытки от вируса Морриса

были оценены в 96 млн долларов. Для своего размножения он, подбирая пароли из стандартного списка, использовал ошибки в операционной системе Unix.

В 1990 г. появляется первый полиморфный вирус Chameleon, | обнаружение которого невозможно по участку постоянного кода [ (маске или сигнатуре). Это свойство вируса заставило разработчи-! ков антивирусных программ искать другие методы его детектиро­вания.

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

1994 г. отмечен появлением первого вируса, заражающего объек­тные модули.

В августе 1995 г. появляется первый вирус, заражающий доку­менты MS Word (макровирус Concept). Эта вредоносная програм­ма положила начало целой серии макровирусов, поражающих файлы документов (не только текстового редактора Word), име­ющие в своем составе макрорасширения на языке высокого уровня (Visual Basic, Word Basic). Этот факт опроверг бытующее мнение, будто заражение вирусом невозможно при открытии файла. В этом же году очень широкое распространение по всему миру получил полиморфный шифрованный вирус DieHard2 (SW4000).

В январе 1996 г. появился первый вирус для Windows 95 (Win95.Boza). В июне того же года выходит в свет первый полно­ценный вирус (OS2AEP) для OS/2, поражающий ехе модули.

В 1997 г. вирусы заняли еще одну нишу: был обнаружен вирус для Linux (Linux.Bliss). В июне этого же года отмечается появление первого самошифрующегося вируса для Windows 95 российского происхождения.

В октябре 1998 г. отмечается появление первого вируса, заража­ющего файлы HTML.

В марте 1999 г. компьютерный мир потрясла настоящая эпиде­мия вируса Melissa, который распространялся гораздо быстрее и шире, чем любой другой из появившихся когда-либо ранее. С помо­щью почтовой программы MS Outlook Express, из адресной кни­ги которого вирус получал адреса электронной почты коррес­пондентов, Melissa рассылал свои копии по сети. Скорость рас­пространения вируса была действительно впечатляющей: одна из американских организаций сообщила, что вирус сгенериро­вал около полумиллиона сообщений электронной почты в тече­ние всего трех часов. Относясь к категории сетевых червей, Melissa действительно может рассматриваться как опасность принципи­ально нового типа.

4 мая 2000 г. началась новая эпидемия, вызванная сетевым червем «I LOVE YOU/Loveletter/LoveBug». Этот вирус, в отличие

от своего предшественника Melissa, рассылающего копии первым 50 абонентам из адресной книги MS Outlook Express, не щадил никого, одинаково уничтожая файлы с расширениями: .vbs, .vbe, js, jse, .ess, .wsh, .set, .hta, jpg, jpeg. Сообщалось, что в одной из компаний вирусом было уничтожено более 60 Гбайт графики в формате jpeg.

Дополнительно червь пытался скачать из Internet троянского коня, похищающего все пароли Windows. Согласно данным ис­следовательской фирмы Computer Economics, через день после начала распространения этим вирусом было поражено 45 млн ком­пьютеров. Ущерб, причиненный им, оценивается в несколько мил­лиардов долларов.

Таким образом, в настоящее время не существует ни одного программного компонента информационных систем, который не был бы подвержен опасности вредоносного воздействия вирусов. Эксперты считают, что сегодня число существующих вирусов пре­вышает 40 тыс., причем ежедневно появляется, по разным оцен­кам, от 6 до 15 новых. Однако положение вовсе не так трагично, как может показаться. Дело в том, что старые вирусы выходят из обращения. Кроме того, большинство вирусов никогда не поки­дают резерваций — тщательно охраняемых коллекций в исследо­вательских лабораториях, а многие настолько плохо сработаны, что просто не могут распространяться дальше машины своего со­здателя, да еще подпольных Web-страниц и BBS, посвященных проблемам разработки вирусов. Поэтому «диких» (реально цирку­лирующих) вирусов в настоящее время насчитывается около 400, что, впрочем, тоже немало.

Традиционно вирусные программы подразделяют на семь ви­дов [28):

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

2.  Бутовые (загрузочные) вирусы. Заражают диски (дискеты, логические диски, жесткие диски).

3. Файловые вирусы. Они заражают выполняемые модули с рас­ширениями .ехе, .сом .bin, .ovl, Ж.

4. Файлово-бутовые. Редкая разновидность вирусов, заражаю­щая как диски, так и файлы.

5. Макровирусы (макрокомандные вирусы). Заражают файлы до­кументов, содержащие в своем составе программный код макро­расширений (документы Microsoft Word, Exel).

7. Сетевые вирусы (сетевые черви). Редкие и очень сложные по структуре и принципам работы программы, использующие для своего распространения по сети ЭВМ ошибки (дыры) в коде или особенности функционирования сетевого программного обеспе­чения операционной системы.

Практически все виды вирусов бывают резидентными и нере­зидентными. Резидентные вирусы способны оставлять свои копии в оперативной памяти, перехватывать некоторые события (напри­мер, обращения к файлам или дискам) и инициировать при этом процедуры заражения обнаруженных объектов (файлов и секто­ров). Поэтому резидентные вирусы опасны не только во время работы зараженной программы, но и после ее окончания. Рези­дентные копии таких вирусов остаются жизнеспособными вплоть до очередной перезагрузки, даже если на диске уничтожены все зараженные файлы. Часто от таких вирусов невозможно избавить­ся восстановлением всех копий файлов с дистрибутивных дисков или backup-копий. Резидентная копия вируса остается активной и заражает вновь создаваемые файлы. Это характерно и для загрузоч­ных вирусов. Форматирование диска при наличии в памяти рези­дентного вируса не всегда вылечивает диск, поскольку многие ре­зидентные вирусы заражают его повторно после форматирования.

Нерезидентные вирусы, напротив, активны на довольно не­продолжительных интервалах времени: только в момент запуска зараженной программы.

По отношению к информации вирусы опасны по-разному.

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

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

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

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

Даже сегодня бороться с такими вирусами достаточно сложно. В антивирусной базе Norton AntiVirus имеется информация о 1016 полиморфных и 942 СТЕЛС вирусах.

Лекция 7.

Принципы функционирования основных разновидностей вирусов

План

1. Процесс заражения вирусом программных файлов

2. Бутовый вирус.

3. Windows-вирусы.

4. Макровирусы.

Упрощенно процесс заражения вирусом программных файлов (exe, jcom, ovl, dll модулей) можно представить следующим об­разом. Код зараженной программы обычно изменяется таким об­разом, чтобы вирус получил управление первым, до начала рабо­ты программы-носителя. При передаче управления вирусу он на­ходит новую программу и выполняет вставку своей копии в нее. Самый распространенный и часто встречающийся способ зараже­ния файловым вирусом — вставка в конец программы. В этом слу­чае вирус корректирует код заражаемой программы так, чтобы получить управление первым. Для этого обычно первые несколько байтов запоминаются в теле вируса, а на их место вставляется код перехода на начало вируса. В случае com модуля это обычно ко­манда безусловного перехода jmp. В ехе модуле вирус изменяет заголовок программы (часто это первые 24 байт). При запуске про­граммы вирус первым получает управление, отрабатывает свой код, после чего восстанавливает скрытые первые байты и переда­ет управление программе-вирусоносителю.

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

Вставка вируса в середину файла встречается редко. В этом слу­чае вирус переписывает замещаемые блоки программы в конец модуля. Реже всего такой способ используется для заражения (обы­чно специализированными вирусами, в том числе и макровиру­сами) модулей, особенности структуры которых заранее извест­ны (файлы command.com, документы MS Word и т.п.).

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

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

Резидентный вирус при инициализации перехватывает и кон­тролирует некоторые прерывания DOS в соответствии с механиз­мом поиска программ (при запуске, открытии, чтении, записи) обычно перехватываются 21h и 13п прерывания DOS. Заражение *.сот и *.ехе файлов производится по схемам, различающимся лишь числом байт, изменяемых в начале выполняемого модуля, и связанным с различной структурой файлов данного типа. Распоз­навание типа модулей вирусом обычно производится по расши­рению файла и по идентификатору (в *.ехе модуле первые 2 байта обычно mz, реже zm).

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

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

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

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

Бутовый вирус. Он заражает жесткие и гибкие диски (как загру­зочные, так и иные). В отличие от файлового вируса он состоит из двух раздельных секций: головы и хвоста. Положение головы ви­руса всегда одинаково — она расположена в Boot секторе. На же­стком диске начальные байты вируса могут располагаться в одном из его двух Boot секторов: главном (MBR по адресу 0/0/1) или Boot секторе логического диска С. Последние байты — в различных местах, а именно: в кластерах, помеченных в FAT как сбой­ные, последних физических секторах дискеты или диска, в ис­пользуемых или неиспользуемых блоках FAT главного каталога или одного из подкаталогов, на дополнительных дорожках диске­ты или винчестера. В любом случае хвост вируса должен содержат!. копию оригинального Boot сектора. Если она не закодирована, то положение хвоста в большинстве случаев может быть определено глобальным контекстным поиском.

Механизм размножения вируса однотипен. При загрузке с за­раженной дискеты бутовый вирус, заменяющий в Boot секторе загрузчик DOS, получает управление и сначала копирует себя в старшие адреса памяти. Затем он уменьшает размер памяти, заме­няя значения вектора прерываний с Ah для защиты резидентной части вируса и Bh для перехвата обращений к диску. Таким обра­зом, при обращении к диску управление всегда передается вирусу. Вирус запускает стандартный системный загрузчик, и только после этого происходит стандартная загрузка DOS.

Получив управление по прерыванию 13h, вирус анализирует, относится это к дискете или винчестеру. Если это обращение от­носится к дискете, вирус проверяет, заражена она уже или нет. Для этого считывается Boot сектор и проверяется его содержимое. Если дискета заражена, то вирус приступает к обработке непос­редственно прерывания. Если дискета не заражена, то вирус сна­чала заражает ее.

Большая часть загрузочных вирусов не проверяет системную память на наличие своей уже установленной TSR копии: они либо используют СТЕЛС приемы, при которых повторный запуск кода вируса невозможен, либо ориентируются на то, что код вируса загружается однократно в момент загрузки DOS. После первона­чальной загрузки коды загрузочных секторов дисков больше не выполняются ни при каких условиях. Часть вирусов проверяет на­личие своей копии. Для этого используются либо специальные вызовы INT 13h с каким-нибудь нестандартным значением, либо помечается заведомо неиспользуемый байт (или слово) в таблице векторов прерываний или в области данных BIOS (0040:00??). Су­ществуют и другие способы обнаружения своей TSR копии.

Важно, что некоторые бутовые вирусы перехватывают преры­вания от клавиатуры и поэтому могут сохраниться в памяти при быстрой перезагрузке по команде [Ctrl] + [Alt] + [Del].

Windows-вирусы. Для того чтобы оставить выполняемый код в памяти, они используют три способа [11], которые уже применя­лись различными вирусами. Самый простой способ — зарегистри­ровать программу как одно из приложений, работающих в дан­ный момент. Для этого программа регистрирует свою задачу, окно которой может быть свернутым, свой обработчик системных со­бытий и т.д. Второй способ — выделить блок системной памяти

при помощи DPMI вызовов и скопировать в нем свой код (вирус ; РНЗЗг). Третий способ — остаться резидентно как VxD драйвер /indows З.хх и Windows 95) или как драйвер Windows NT.

Перехват обращений к файлам производится одним из двух спо­собов: либо перехватываются вызовы INT 21 h (Hook_V86_lnt_Chain, Get/Set_V86Jnt_Vector, Get/Set_PM_lnt_Vector), либо перехваты- вается системный вызов API. Затем резидентные Windows вирусы г действуют примерно так же, как и DOS вирусы: перехватывают обращения к файлам и заражают их. Для обнаружения уже имею-•щейся в памяти резидентной копии используются примерно те же способы, которые описаны выше, за исключением VxD виру­сов. Известные VxD вирусы загружаются в память при загрузке Windows. Для этого они записывают команду запуска в файл кон­фигурации Windows system.ini. Если в этом файле уже есть коман­да запуска вирусного VxD файла, то вирус не производит по­вторной регистрации своего VxD файла.

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

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

По данным Международной ассоциации компьютерной безо­пасности (w.icsa.net), доля представителей этого класса в общем числе вирусов, циркулирующих по вычислительным системам и сетям, составляет 2/3, а по данным лаборатории Касперского, эта величина составляет порядка 55 %. Причин тому несколько. Во-первых, это широкое распространение объектов их пораже­ния, т.е. офисных приложений. Сегодня практически нет таких людей, которые бы не использовали в своей повседневной рабо­те текстовый процессор, электронные таблицы, систему обра­ботки базы данных или мастер презентаций. Во-вторых, очень низкий уровень встроенной антивирусной защиты перечисленных приложений. В-третьих, простота создания макровирусов. Для того чтобы написать вирус например, для MS Word, достаточно изучить азы языка программирования VBA. Будучи самым про­стым и доступным среди всех остальных языков, он предостав­ляет создателям вирусов все необходимые возможности для того, чтобы уничтожить важную информацию и надолго вывести ком­пьютер из строя. В-четвертых, наиболее популярные офисные приложения (в первую очередь из пакета MS Office), как прави­ло, интегрированы с почтовыми программами (например MS Outlook). Это обстоятельство определяет доступ макровирусов к электронной почте — наиболее удобному и быстрому способу распространения. Поэтому макровирусы имеют неограниченные возможности для молниеносного поражения миллионов компьютеров по всему миру.

Лекция 7.

Принципы функционирования основных разновидностей вирусов

План

1. Полиморфные вирусы

2. Использование СТЕЛС технологии в вирусных программах

Полиморфные вирусы. Обнаружение этих вирусов невозможно (или крайне затруднительно) осуществить при помощи так на­зываемых вирусных масок — участков постоянного кода, специ­фичных для конкретного вируса [11]. Достигается это двумя основными способами: шифрованием основного кода вируса с не­постоянным ключом и случайным набором команд расшифров­щика или изменением самого выполняемого кода вируса. Сушествуют также другие, достаточно экзотические примеры поли морфизма: DOS вирус Bomber, например, не зашифрован, од­нако последовательность команд, которая передает управление коду вируса, является полностью полиморфной. Полиморфизм различной степени сложности встречается в вирусах всех типов: от загрузочных и файловых DOS вирусов до Windows вирусов и даже макровирусов. Сложность кода служит классификационным признаком полиморфных вирусов.

В настоящее время целью вирусных программ наряду с нане­сением максимального ущерба стало получение и контроль дос­тупа к информации (воровство паролей, создание люков в сис­теме зашиты вычислительных сетей, получение привилегирован­ного доступа к данным и т. п.). Эти угрозы особенно актуальны для систем, работающих в локальных и глобальных сетях. При этом собственно вирусы занимают менее половины от передава­емых по почтовым каналам вредных и деструктивных данных. Другая половина — это различные программы для несанкционированного доступа (например, троянские программы и Internet черви) [29].

7.2.3. Использование СТЕЛС технологии в вирусных программах

СТЕЛС вирусы обладают способностью скрывать свое присут­ствие в системе. Известны СТЕЛС вирусы всех типов за исключением Windows вирусов: загрузочные вирусы, файловые DOS ви­русы и даже макровирусы.

Загрузочные СТЕЛС вирусы для скрытия своего кода исполь­зуют два основных способа. Первый способ заключается в том, что вирус перехватывает команды чтения зараженного сектора (INT 13h) и подставляет вместо него незараженный оригинал. Этот спо­соб делает вирус невидимым для любой программы, включая ан­тивирусы, не способные лечить оперативную память компьютера. Возможен перехват команд чтения секторов на уровне более низ­ком, чем INT 13h.

Второй способ направлен против антивирусов, поддерживаю­щих команды прямого чтения секторов через порты контроллера диска. Такие вирусы при запуске любой программы (включая ан­тивирус) восстанавливают зараженные сектора, а после оконча­ния ее работы снова заражают диск. Поскольку для этого вирусу приходится перехватывать запуск и окончание работы программ, то он должен перехватывать также DOS прерывание INT 21h.

С некоторыми оговорками СТЕЛС вирусами можно назвать ви­русы, которые вносят минимальные изменения в заражаемый сек­тор (например, при заражении MBR правят только активный ад­рес загрузочного сектора — изменению подлежат только 3 байт) либо маскируются под код стандартного загрузчика.

Большинство файловых СТЕЛС вирусов либо перехватывают DOS вызовы обращения к файлам (INT 21h), либо временно ле­чат файл при его открытии и заражают при закрытии. Существу­ют файловые вирусы, использующие для своих СТЕЛС функций перехват прерываний более низкого уровня — вызовы драйверов DOS, INT 25h и даже INT 13h.

Некоторые вирусы используют часть функции полноценного СТЕЛС вируса. Чаще всего они перехватывают функции DOS FindFirst и FindNext (INT 21h, AH llh, 12h, 4Eh, 4Fh) и умень­шают размер зараженных файлов. Такой вирус невозможно иден­тифицировать по изменению размеров файлов, если, конечно, он резидентно находится в памяти. Программы, которые не обра­щаются к увязанным функциям DOS (например, утилиты Norton), а напрямую используют содержимое секторов, хранящих каталог, показывают правильную длину зараженных файлов.

Реализация СТЕЛС алгоритмов в макровирусах является, на­верное, наиболее простой задачей — достаточно всего лишь зап­ретить вызов меню File/Templates или Tools/NMacro. Достигается это либо удалением этих пунктов меню из списка, либо их заме­ной на макросы FileTemplates и ToolsMacro.

Частично СТЕЛС вирусами можно назвать небольшую группу макровирусов, которые хранят свой основной код не в самом мак­росе, а в других областях документа: в его переменных или в Autotext.

Лекция 9.

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

План

1. Принципы функционирования программных закладок

2. Классификация программных закладок по методу и месту их внедрения и применения

3. Типы программных закладок

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

Такие программы назвали закладками — по аналогии с тайно помещенными миниатюрными электронными системами перехвата радио-, видео-, и аудиоинформации.

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

Если компьютерная система содержит механизмы защиты от НСД, то несанкционированные действия могут быть вызваны от­ключением или видоизменением защитных механизмов нелегаль­ным пользователем; входом в систему под именем и с полномо­чиями реального пользователя.

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

И в том и другом случаях НСД можно представить моделью опо­средованного доступа — когда проникновение в систему осуществ­ляется на основе некоторого воздействия, произведенного предвари­тельно внедренной в систему одной или несколькими программами.

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

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

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

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

  • закладки, ассоциированные с программно-аппаратной средой (BIOS);
  • закладки, ассоциированные с программами первичной загруз­ки (находящиеся в Master Boot Record или BOOT секторах актив­ных разделов);
  • закладки, ассоциированные с загрузкой драйверов DOS, ко­мандного интерпретатора, сетевых драйверов, т. е. с загрузкой опе­рационной среды;
  • закладки, ассоциированные с прикладным программным обес­печением общего назначения (встроенные в клавиатурные и эк­ранные драйверы, программы тестирования ПЭВМ, утилиты и оболочки типа NORTON);
  • исполняемые модули, содержащие только код закладки (как правило, внедряемые в пакетные файлы типа *.bat);
  • модули-имитаторы, совпадающие с некоторыми программа­ми, требующими ввода конфиденциальной информации;
  • закладки, маскируемые под программные средства оптимиза­ционного назначения (архиваторы, ускорители и т.д.);
  • закладки, маскируемые под программные средства игрового и развлекательного назначения (как правило, используются для пер­вичного внедрения закладок).

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

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

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

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

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

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

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

Таким образом, можно выделить следующие закладки [29].

• Резидентного типа. Такие закладки находятся в памяти посто­янно с некоторого момента времени до окончания сеанса работы персонального компьютера (выключения питания или перезаг­рузки). Закладка может быть загружена в память при начальной загрузке ПЭВМ, загрузке операционной среды или запуске неко­торой программы (которая по традиции называется вирусоноси-телем), а также запущена отдельно.

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

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

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

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

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

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

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

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

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

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

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

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

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

Активизирующим событием в данном случае является, как пра­вило, открытие файла (INT 21h, функция 3Dh) либо его закрытие.

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

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

закладка загружается в память каким-либо способом;

закладка осуществляет перехват (редактирование цепочки) од­ного или нескольких прерываний (прерывания DOS «запуск про­грамм и загрузка оверлеев», прерывания BIOS «считать сектор», прерывание таймера);

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

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

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

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

Особенности применения программно-аппаратных средств за­щиты состоят в следующем:

собственные программы управления аппаратной частью, как правило, находятся в ПЗУ и, следовательно, не могут быть изме­нены программным путем;

под управление аппаратным комплексом выделяются средства низкого уровня (операции с портами либо выделенные преры­вания);

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

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

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