Скачиваний:
31
Добавлен:
19.02.2018
Размер:
435.86 Кб
Скачать

отладка (процесс поиска и устранения ошибок)

инспекция (процесс проверки корректности ПО и относящихся к нему материалов (в том числе и документации))

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

Надежность ПО – (все кроме хранения, ремонта и транспортирования)

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

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

В основе характеристик (или показателей) надежности лежат понятия о возможных состояниях системы.

Возможные состояния системы:

исправное состояние (при котором объект соответствует всем требованиям нормативной и конструкторской документации)

неисправное состояние (при котором объект не соответствует хотя бы одному требованию нормативной или конструкторской документации)

работоспособное состояние (при котором объект способен выполнять свои функции с параметрами, установленными требованиями технической документации)

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

предельное состояние (при котором дальнейшее применение объекта по назначению недопустимо или нецелесообразно)

 

Исправное состояние

 

1

 

3

 

Работоспособное состояние

4

5

 

2

 

 

 

Неработоспособное, но не

 

 

предельное состояние

 

 

Предельное состояние

 

Виды отказов:

 

 

1-повреждение

2-отказ

3 -восстановление

4-переход в предельное состояние

5 -ремонт

независимый отказ (отказ объекта, не обусловленный отказов какого-либо другого элемента)

зависимый отказ (отказ, который обусловлен отказом другого элемента)

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

постепенный отказ (имеется тенденция; возможно прогнозирование)

перемежающийся отказ (многократно возникает и самоустраняется)

эксплуатационный отказ (отказ вследствие нарушения установленных правил эксплуатации)

Причина отказа – явления, процессы, события и состояния, обусловившие возникновение отказа.

Существенные отказы ПО:

устойчивый отказ (требует специальных мер по восстановлению работоспособности)

самоустраняющийся отказ – сбой (быстрое восстановление без вмешательства со стороны)

перемежающийся отказ (многократно повторяющийся сбой)

По возможности восстановления работоспособности в процессе эксплуатации объекты делятся на невосстанавливаемые (эксплуатируются до первого отказа) и восстанавливаемые (которые в случае отказа целесообразно перевести в работоспособное состояние по экономическим соображениям).

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

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

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

Показатели надежности:

наработка (продолжительность или объем работы объекта; в единицах времени или в единицах продукции)

наработка до отказа (наработка объекта от начала его эксплуатации до возникновения первого отказа; в единицах времени или в единицах продукции)

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

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

время восстановления работоспособного состояния (продолжительность работ по восстановлению работоспособного состояния объекта)

вероятность безотказной работы (вероятность того, что в пределах заданной наработки отказ объекта не возникает)

средняя наработка до отказа (математическое ожидание наработки до первого отказа)

интенсивность отказов (плотность вероятности)

параметр потока отказа

средний ресурс

вероятность отказа

распределение наработки до i-того отказа

Отказ в аппаратуре – физическое разрушение части объекта, для устранения отказа, как правило, требуется вмешательство ремонтников, использование резервных компонент.

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

Отказ ПО проявляется следующим образом:

останов

зацикливание

искажение накопленных данных

пропуск выполнения группы команд и т.д.

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

Сбой ПО – самоустраняющийся отказ.

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

Сбой ПО отличается от отказа величиной времени, которое требуется для восстановления работоспособности (время восстановления).

T(восст)<T(доп) – сбой

T(восст)>T(доп) – отказ

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

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

Любые аномалии необходимо блокировать и сводить их к сбоям.

Реализуемые

Данные ТЗ

данные

 

 

Корректная +

 

Надежная

 

программа

 

Корректная

Тестовые

программа

данные

 

Для обеспечения надежности программы (т.е. обеспечение T(восст)<T(доп)) необходимо:

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

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

выбирать методы и средства оперативного восстановления

реализовывать оперативное восстановление работоспособности

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

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

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

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

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

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

Проблемы реализации избыточности – недостаток ресурсов, финансы, психологические трудности (оптимизм)

Факторы надежности программы:

1.Особенности пользователей результатов

наработка на отказ

допустимая длительность восстановления

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

2.Искажение исходных данных, а также отклонение реальных данных от тестовых

(характеристики существенно зависят от источника, откуда берутся данные)

данные, вводимые оператором с пульта или клавиатуры (низкая достоверность; вероятность ошибки 10-3 ошибок/символ; в среднем доли ошибок будут равны – от оператора поступает меньше данных)

данные, которые поступают от автоматических измерительных устройств (вероятность ошибки 10-6- 10-5 ошибок/символ, можно поднять до 10-8 ошибок/символ)

3.Ошибки в программах

технологические (подготовка машинных носителей, ввод программы в память, вывод данных на средства отображения)

программные (неправильная запись на языке программирования, ошибки при трансляции)

алгоритмические (некорректная постановка задачки, ошибка в условиях решения, погрешности в алгоритмах)

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

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

Тестирование:

детерминированное

статистическое

динамическое

Последствия ошибок:

зацикливание

останов исполнения

значительное снижение темпов выдачи вследствие перегрузки

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

значительное искажение или полная потеря информации

пропуск модулей или отдельных их частей

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

обработка ложных или сильно искаженных сообщений

МЕТОДЫ КОНТРОЛЯ СОСТОЯНИЯ И ИСПОЛНЕНИЯ ПРОГРАММ

Этапы контроля:

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

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

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

Количественные характеристики процесса контроля и восстановления:

вероятность обнаружения искажения при одной процедуре контроля

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

интервал времени между последовательными процедурами контроля

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

вероятность ложного обнаружения искажения

Методы программного восстановления:

игнорирование искажения (вследствие слабости его влияния)

повторение решения при тех же исходных данных

исключение сообщения из обработки (вследствие его искаженности)

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

перестройка режима работы в связи с потерей части информации

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

восстановление всей информации за счет ее дублирования

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

Основная цель испытаний ПО – установление соответствия ПО требованиям ТЗ и другим руководящим документам; проверяется достоверность и качество технической документации.

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

Разделы программы испытаний:

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

цель испытаний (основные требования ТЗ, которые должны быть проверены и ограничения на проведение испытаний)

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

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

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

Методы испытаний программ (в теории надежности):

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

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

расчетно-экспериментальные (базируются на экспериментальном определении надежности отдельных компонент, а затем математическими методами объединяются и пересчитываются на надежность системы в целом; для аппаратуры более достоверен, чем для ПО)

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

КОРРЕКТИРОВКА ПРОГРАММ

При наличии множества взаимосвязанных модулей необходимо:

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

следить за изменением распределения ресурсов ЭВМ

осуществлять уточнение и корректировку документации

Любая коррекция программы приводит к трем типовым технологическим функциям:

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

вставка части программы на имеющееся свободное место

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

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

Основные режимы функционирования комплексов программ в составе АС:

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

ивспомогательные операции)

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

рабочий режим

отсутствие внешних сообщений и ожидание информации

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

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

Система надежного программирования:

системный анализ (размытость границы между системным анализом и проектированием; системный анализ завершается разработкой требований и составлением спецификаций – что делает ПО? проект – как?)

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

Этапы программирования:

метод сверху – вниз (начинается с модулей, которые выполняют самые общие требования; исключается или сокращается фаза объединения модулей – хорошо для надежности; ранее выявление несоответствий)

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

Повышение надежности ПО прежде всего – исключение ошибок:

ограничение последствий ошибок (ошибки не искажают работу вне того участка, где она возникла)

выявление ошибок (программа проверяет наличие ошибок при вводе данных и при получении промежуточных результатов и реагирует на них)

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

дуальное программирование (программа содержит избыточные ветви, которые самые сложные и сомнительные участки просчитывает разными способами, сопоставляет и выявляет ошибки)

Методы отладки:

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

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

показать, что выполняются все структурные компоненты программы (программист)

продемонстрировать соответствие всем требованиям (заказчик)

динамические

Методы сопровождения ПО:

адаптация ПО – 18%

устранение ошибок – 17%

совершенствование ПО – 6%

прочие работы – 5%

простой (работы нет, режим ожидания) – ~50%

ОСНОВЫ ОЦЕНКИ СООТВЕТСТВИЯ

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

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

Вобласти ИБ примерами видов деятельности по оценки соответствия являются:

сертификация средств ЗИ

аттестация объектов информатизации

аккредитация центров, лабораторий

различные виды деятельности и контроля по требованиям безопасности

аудит программных средств и ИС

Независимость оценки соответствия:

объект оценки (разработчик или поставщик)

пользователь (представитель заказчика, владелец ИС)

независимая сторона (третья сторона; аккредитованная испытательная лаборатория)

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

(СЗИ подлежат оценке соответствия в форме обязательной сертификации).

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

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

Декларация – подтверждение соответствия первой стороной (заказчиком).

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

Вобласти ИБ примерами систем оценки соответствия являются обязательные системы сертификации средств ЗИ:

министерство обороны

службы внешней разведки

ФСБ

ФСТЭК (федеральные службы таможенного и экспортного контроля)

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

Подтверждение соответствия – выдача документа о соответствии или не соответствии (ГОСТ).

Подтверждение соответствия – вид деятельности: сертификация или декларирование соответствия техническому регламенту (ФЗ 183).

Процедуры оценки соответствия:

сертификация (важнейшая)

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

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

испытания АС (предварительные – автономные и комплексные; опытная эксплуатация; приемочные… возможны и другие виды)

аттестация (комплексная проверка защищаемого объекта информатизации в реальных условиях эксплуатации

сцелью оценки соответствия применяемого комплекса мер и средств защиты требуемому уровню безопасности информации; положительный результат аттестации оформляется в виде аттестации соответствия; при аттестационных испытаниях подтверждается соответствие объекта информатизации следующим требованиям: 1 ЗИ от НСД и компьютерных вирусов; 2 от утечки за счет ПЭМИН и наводок при специальном воздействии на объект; 3 от утечки и воздействия на нее за счет специальных устройств, встроенных в объект информатизации)

тестирование (техническая операция, которая заключается в определении одной или нескольких характеристик продукта, процесса или услуги по соответствующей процедуре)

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

внутренний или внешний

технический или организационно-нормативного характера

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

Объектами информатизации могут быть:

сама АС, в том числе ее сегменты

помещения для ведения секретных переговоров

системы связи, отображения и размножения информации вместе с помещениями, где это происходит

Отличия аттестационных испытаний от сертификационных испытаний

проводятся органами ФСТЭК

проводятся испытательными лабораториями

выполнение стандартных процедур

длительные и трудоемкие процедуры

регламентируются специальными требованиями ФСТЭК

технические средства ЗИ

Особенности тестирования ПО:

цель – выявление ошибок, дефектов и недостатков в программной реализации заданных средств ПО

осуществляется на всех этапах жизненного цикла ПО

отдельная научно-техническая дисциплина

Тестирование:

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

структурное ()

модульное (проверяют отдельные модули)

интеграционное (проверяют взаимодействие модулей)

системное (охватывает целиком всю систему и внешние компоненты)

По методологии проверок различают:

статическое тестирование («ручной» просмотр программы либо автономный статический анализ)

динамическое тестирование

Аудит ИБ:

аудит организаций

аудит информационных систем

аудит систем менеджмента

аудит программного кода

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

Риск ИБ – комбинация вероятности нежелательного события и его последствия.

Методы анализа рисков:

качественные (маленький, большой, несущественный и др.)

полуколичественные (численные шкалы – линейные и логарифмические)

количественные (численные единицы)

Методы анализа:

мозговой штурм

структурированный или полу структурированный опрос

метод Дельфи

контрольные листы

анализ сценариев

анализ дерева неисправностей

анализ дерева решений

цепи Маркова

метод Монте-Карло

Байесовский подход

матрица последствий и вероятностей

и т.п…

Соседние файлы в папке С прошлых курсов