ЗИ._Шпоры

Оглавление

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

2.Основные функциональные блоки компьютерного вируса2

3.Техника сканирования сигнатур компьютерных вирусов2

4.Техника мониторинга компьютерных вирусов3

5.Цели и виды сертификационных испытаний ПО4

6.Характеристика факторов, определяющих надежность ПС5

7.Средства обеспечения надежности ПС5

8.Типы ошибок в ПО5

9.Надежность ПО и язык программирования6

10.Математическая модель распределения ошибок в программах7

11.Простая интуитивная модель надежности ПО7

12.Функция риска в теории надежности ПО7

13.Основные характеристики надежности8

14.Функция надежности аппаратных средств ИС8

15.Средняя наработка РЭС до отказа и её связь с другими характеристиками надёжности9

16.Достоверность функционирования и функциональная надежность ИС10

17.Надежность сложных ИС при последовательном соединении элементов10

18.Надежность сложных ИС при параллельном соединении элементов11

19.Статистические методы исследования надежности. Закон Пуассона11

20.Статистические методы исследования надёжности. Распределение Вейбулла11

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

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

В настоящее время не существует единой системы классификации и именования вирусов. Принято разделять вирусы:

по поражаемым объектам:

файловые вирусы;

загрузочные вирусы – заражают загрузочный (boot) сектор флоппи-диска и boot-сектор или Master Boot Record (MBR) винчестера.

скриптовые вирусы;

макровирусы – поражают файлы форматов с поддержкой языка макрокоманд (напр., MS Word);

вирусы, поражающие исходный код.

по поражаемым операционным системам и платформам:

DOS;

Microsoft Windows;

Unix;

Linux.

по технологиям, используемым вирусом:

полиморфные вирусы – вирусы, способные изменить свой собственный код;

стелс-вирусы (вирус-невидимка) – вирус, полностью или частично скрывающий свое присутствие в системе;

руткиты – программы или технологии, скрывающие наличие другого вредоносного ПО в системе.

по языку, на котором написан вирус;

по дополнительной вредоносной функциональности:

бэкдоры – вредоносные программы, предназначенные для скрытого удалённого управления пораженным компьютером;

кейлоггеры – программное обеспечение или аппаратное устройство, регистрирующее каждое нажатие клавиши на клавиатуре компьютера;

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

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

Основные функциональные блоки компьютерного вируса

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

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

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

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

Функциональные блоки вируса (из лк.):

Механизм распространения.

Механизм инфекции.

Механизм репликации.

Механизм деструкции.

Дополнительный блок.

Техника сканирования сигнатур компьютерных вирусов

Portable Executable – (PE, произносится как [по́тэбл экзэкью́тэбл] – переносимый исполняемый) –формат исполняемых файлов, объектного кода и динамических библиотек, используемый в 32- и 64-битных версиях операционной системы Microsoft Windows. Формат PE представляет собой структуру данных, содержащую всю информацию, необходимую PE загрузчику для проецирования файла в память. Исполняемый код включает в себя ссылки для связывания динамически загружаемых библиотек, таблицы экспорта и импорта API функций, данные для управления ресурсами и данные локальной памяти потока (TLS). В операционных системах семейства Windows NT формат PE используется для EXE, DLL, SYS (драйверов устройств), и других типов файлов.

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

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

Сканер анализирует PE-заголовки, загрузочные сектора, память и проч. в поиске характерных шестнадцатеричных знаков (сигнатур).

Недостатки и достоинства синтаксических сигнатур:

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

Неспособны выявить какие-либо новые атаки.

Беззащитны перед полиморфными вирусами и изменёнными версиями того же вируса.

Требуют регулярного и крайне оперативного обновления.

Требуют кропотливого ручного анализа вирусов.

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

Техника мониторинга компьютерных вирусов

Монитор – программа, которая постоянно находится в оперативной памяти ПК. Монитор может анализировать действия, выполняемые ОС и запущенными службами/процессами.

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

Технологии проактивной защиты:

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

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

Анализ поведения. Технология анализа поведения основывается на перехвате всех важных системных функций или установке т.н. мини-фильтров, что позволяет отслеживать всю активность в системе пользователя. Технология поведенческого анализа позволяет оценивать не только единичное действие, но и цепочку действий, что многократно повышает эффективность противодействия вирусным угрозам. Также, поведенческий анализ является технологической основой для целого класса программ – поведенческих блокираторов (HIPS – Host-based Intrusion Systems).

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

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

Цели и виды сертификационных испытаний ПО

Цели:

Защита интересов пользователей.

Подготовка и принятие решений о целесообразности выдачи сертификата соответствия.

Виды:

Обязательная сертификация.

Добровольная сертификация.

Решение о выдаче сертификата на программное средство основывается на степени его соответствия специально разработанным документам:

Международные и национальные стандарты на тестирование.

Стандарт на сопровождающую ПС документацию.

Нормативные документы и проч.

Основным выходным документом является протокол испытаний. Он должен содержать:

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

Исходную информацию.

Выходную информацию.

Сведения о нормативных документах, на основе которых производилось тестирование.

Итоговую информацию.

Систематическое тестирование импортных программных средств:

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

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

Характеристика факторов, определяющих надежность ПС

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

Все факторы, влияющие на надежность АПК (аппаратно-программный комплекс), можно разделить на три группы:

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

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

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

Основными факторами, определяющими корректность программ (уровень проектной надежности ПО) являются:

Технология разработки, в том числе технология программирования.

Структурная упорядоченность программ и данных, структурированность ПО.

Уровень автоматизации проектирования и испытаний.

Выбор способов и критериев отладки.

Создание инструментальной среды, максимально близкой к реальной.

Организационно-человеческие факторы.

Средства обеспечения надежности ПС

Средства, использующие временную избыточность:

Авторизация доступа пользователей к системе.

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

Разграничение прав доступа пользователей и отдельных задач.

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

Открытая система кодирования.

Механические проверки контрольных сумм.

Автоматическое резервирование, копирование и восстановление данных.

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

Специальные алгоритмы пересчётов.

Средства обнаружения и регистрации ошибок в сетевом и локальном потоках.

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

Типы ошибок в ПО

Ошибки, скрытые в программе:

Ошибки вычислений.

Логические ошибки.

Ошибки ввода-вывода.

Ошибки манипулирования данными.

Ошибки совместимости.

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

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

Средние ошибки (ошибки средней тяжести).

Существенные ошибки – ошибки, не устранимые без приостановки функционирования ПС.

Надежность ПО и язык программирования

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

Математическая модель распределения ошибок в программах

где n0 – число первичных ошибок, dn/dt – интенсивность обнаружения ошибок при отладке, K – некоторый коэффициент (характеризует изменение скорости появления искажений).

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

.

При t = 0 решение этого уравнения имеет вид:

.

Число оставшихся в комплексе ПО ошибок:

.

Математические модели предназначены для приближенной оценки:

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

Числа ошибок, оставшихся не выявленными в анализируемых программах.

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

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

Простая интуитивная модель надежности ПО

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

Пусть N – множество всех ошибок; N1 – множество ошибок, выявленное первой группой; N2 – множество ошибок, выявленное второй группой; N12 – пересечение множеств N1 и N2.

Эффективность обнаружения ошибок каждой из групп E1=N1/N, E2=N2/N.

Интуитивное предположение: E1 = N1/N = N12/N2 =>

N = N12 / (E1E2).

Последнее соотношение позволяет оценить количество ошибок в программном продукте.

В среднем считается, что в ПО одна ошибка на 100 операций.

Пример. N1 = 20, N2 = 30, N12 = 8. E1 = N12/N2, E2 = N12/N1, E1 = N12/N2 => N = 74.

Функция риска в теории надежности ПО

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

Пусть P(t) – вероятность того, что ни одной ошибки не будет обнаружено на временном интервале [0,t]. Тогда вероятность хотя бы одного отказа за этот период будет Q(t) = 1 – P(t), и плотность вероятности можно записать как

Рассмотрим функцию риска R(t) как условную плотность вероятности отказа программы в момент времени t, при условии, что до этого момента отказов не было

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

Из последнего выражения ясно, что , и, следовательно,

, или

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

Основные характеристики надежности

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

Вероятность безотказной работы P(t) – вероятность того, что изделие будет работоспособно в течение заданной наработки при заданных условиях эксплуатации:

Вероятность отказа Q(t) – вероятность того, что при заданных условиях эксплуатации в течение заданной наработки произойдет хотя бы один отказ:

Отказ и безотказная работа – противоположные события, поэтому

Число отказов a(t) есть плотность распределения времени безотказной работы (наработки) изделия до первого отказа. Согласно вероятностному определению,

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

Функция надежности аппаратных средств ИС

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

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

Опыт эксплуатации показывает, что изменение интенсивности отказов подавляющего большинства объектов описывается U-образной кривой («ванна»):

Кривая изменения интенсивности отказов

Кривую можно условно разделить на три характерных участка:

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

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

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

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

Средняя наработка РЭС до отказа и её связь с другими характеристиками надёжности

Основные характеристики надёжности РЭС (радиоэлектронных средств):

Вероятность безотказной работы P(t) – вероятность того, что изделие будет работоспособно в течение заданной наработки при заданных условиях эксплуатации:

Вероятность отказа Q(t) – вероятность того, что при заданных условиях эксплуатации в течение заданной наработки произойдет хотя бы один отказ:



Страницы: 1 | 2 | Весь текст