Основы информационной безопасности
Анализ рисков и характеристик качества программного обеспечения. Дестабилизирующие факторы и угрозы надежности. Антивирусные программы: классификация, сравнительный анализ. Средства и протоколы шифрования сообщений. Файрвол, его задачи и настройка.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | учебное пособие |
Язык | русский |
Дата добавления | 09.01.2023 |
Размер файла | 512,6 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
1
МИНИСТЕРСТВО ЦИФРОВОГО РАЗВИТИЯ, СВЯЗИ И МАССОВЫХ
КОММУНИКАЦИЙ РОССИЙСКОЙ ФЕДЕРАЦИИ
Федеральное государственное образовательное бюджетное учреждение
высшего образования
«Поволжский государственный университет телекоммуникаций и информатики»
КОЛЛЕДЖ СВЯЗИ
Основы информационной безопасности
УЧЕБНОЕ ПОСОБИЕ ПО ОП.01
для специальности: - 10.05.02 - Обеспечение информационной безопасности автоматизированных систем
Самара
2021
Рассмотрено на заседании П(Ц)К
«Телекоммуникационные системы и сети связи»
Протокол №___ от ____________2021 г.
Председатель П(Ц)К __________Сироткина О.В.
Утверждаю
Зам. директора по УВР
_________Логвинов А.В.
«____»___________2021 г.
Матулина Т.С. Основы информационной безопасности, учебное пособие, Самара КС ПГУТИ, 2021г. - 3,6 п. л.
СОДЕРЖАНИЕ
Часть 1 Основные методы обеспечения качества функционирования
Тема 1.1 Многоуровневая модель качества ПО
Тема 1.2 Объекты уязвимости
Тема 1.3 Дестабилизирующие факторы и угрозы надежности
Тема 1.4 Методы предотвращения угроз надежности
Тема 1.5 Оперативные методы повышения надежности
Тема 1.6 Первичные ошибки, вторичные ошибки и их проявление
Тема 1.7 Математические модели описания статистических характеристик ошибок
Тема 1.8 Анализ рисков и характеристик качества программного обеспечения
Тема 1.9 Целесообразность разработки модулей адаптации
Часть 2. Методы и средства защиты компьютерных систем
Тема 2.1 Вредоносные программы: классификация, методы обнаружения
Тема 2.2 Антивирусные программы: классификация, сравнительный анализ
Тема 2.3 Файрвол: задачи, сравнительный анализ, настройка
Тема 2.4 Групповые политики. Аутентификация. Учетные записи
Тема 2.5 Тестирование защиты программного обеспечения
Тема 2.6 Средства и протоколы шифрования сообщений
Тема 2.7 Криптографические механизмы конфиденциальности, целостности и аутентичности информации
Тема 2.8 Криптографические алгоритмы DES и ГОСТ 28147-89
Перечень используемых источников
Часть 1. Основные методы обеспечения качества функционирования
Тема 1.1 Многоуровневая модель качества ПО
Технология программирования - совокупность принципов разработки, обеспечивающих массовое производство ПО требуемого качества в установленные сроки.
Методами технологии программирования называются способы и приемы организации производственных процессов при разработке программных средств.
Методы ТП определяют организационную структуру коллектива разработчиков, способы разбиения процесса разработки на отдельные этапы, последовательность этих этапов и т.д.
Средствами технологии программирования называются утилиты, обеспечивающие автоматизированную или автоматическую поддержку методов.
Совместно используемые утилиты объединяются в системы автоматизированной разработки ПО. Такие системы принято называть CASE-средствами (Computer Aided Software Engineering)
Свойство программы, характеризующееся отсутствием в ней ошибок по отношению к целям разработки, называется правильностью программы. Даже для «малых» программ обеспечение их правильности является чрезвычайно сложной задачей, а для «больших» программ оно становится практически бессмысленным.
Качество ПО - это вся совокупность его характеристик, относящихся к возможности удовлетворять высказанные или подразумеваемые потребности всех заинтересованных лиц (стандарт ISO 9126).
Основными критериями качества ПО (criteria of software quality) являются:
- функциональность (Способность ПО выполнять набор функций (действий), удовлетворяющих заданным или подразумеваемым потребностям пользователей. Набор указанных функций определяется во внешнем описании ПО);
- надежность (это его способность с достаточно большой вероятностью безотказно выполнять определенные функции при заданных условиях и в течение заданного периода времени);
- эффективность (Соотношение уровня услуг, предоставляемых ПО пользователю при заданных условиях, и объема используемых для этого ресурсов. К числу таких ресурсов могут относиться требуемые аппаратные средства, время выполнения программ, затраты на подготовку данных и интерпретацию результатов);
- эргономичность (Характеристики ПО, которые позволяют минимизировать усилия пользователя по подготовке исходных данных, применению ПО и оценке полученных результатов, а также вызывать положительные эмоции определенного или подразумеваемого пользователя);
- модифицируемость (Характеристики ПО, которые позволяют минимизировать усилия по внесению изменений для устранения ошибок и по его модификации в соответствии с изменяющимися потребностями пользователей. Модифицируемость ПО существенно зависит от степени и качества его документированности);
- мобильность (Способность ПО быть перенесенным из одной среды (окружения) в другую, в частности, с одной аппаратной платформы на другую).
Стандарт ISO 9126 - Международный стандарт, определяющий оценочные характеристики качества программного обеспечения. Разделяется на 4 части, описывающие следующие вопросы:
- модель качества;
- внешние метрики качества;
- внутренние метрики качества;
- метрики качества в использовании.
Качество определяется в стандарте ISO 9126 как вся совокупность его характеристик, относящихся к возможности удовлетворять высказанные или подразумеваемые потребности всех заинтересованных лиц.
Различаются понятия:
- внутреннего качества,
- внешнего качества,
- качества ПО при использовании.
Рисунок 1. Многоуровневая модель качества ПО в стандарте ISO 9126
программное обеспечение антивирус файрвол
Три аспекта качества ПО
- Внутреннее качество связано с характеристиками ПО самого по себе, без учета его поведения;
- Внешнее качество характеризующего ПО с точки зрения его поведения;
- Качества ПО при использовании - это то качество, которое ощущается пользователями при конкретных сценариях работы ПО.
Качество определяется в стандарте ISO 9126 как вся совокупность его характеристик, относящихся к возможности удовлетворять высказанные или подразумеваемые потребности всех заинтересованных лиц.
Стандарт ISO 9126 предлагает использовать для описания внутреннего и внешнего качества ПО многоуровневую модель.
На верхнем уровне выделено 6 основных характеристик качества ПО. Каждая характеристика описывается при помощи нескольких входящих в нее атрибутов. Для каждого атрибута определяется набор метрик, позволяющих его оценить.
Рисунок 2. Характеристики и атрибуты качества ПО по ISO 9126
Стратегии и модели процесса разработки программных средств? Модель жизненного цикла программных средств. Фазы жизненного цикла.
Стратегии разработки ПО: Модель процесса разработки ПО выделяет конкретные наборы видов деятельности, артефактов, ролей и их взаимосвязи, а также дает рекомендации по организации процесса в целом.
Отдельные модели соответствуют одной из стратегий разработки - линейной, инкрементной или эволюционной.
Линейная стратегия предполагает однократное прохождение всех этапов разработки ПО.
Инкрементная стратегия предполагает, что в начале процесса определяются все пользовательские и системные требования. Разработка выполняется в виде последовательности версий с нарастающей функциональностью.
Эволюционная стратегия также основана на выпуске последовательности версий ПО, но допускает возможность постепенного уточнения требований к нему в процессе разработки на основе анализа предыдущих версий. Основные проблемы создания сложных программных систем связаны с нахождением разумного компромисса между затратами на разработку и качеством ее результата.
Тема 1.2 Объекты уязвимости
Под угрозой безопасности информации в компьютерной системе (КС) понимают событие или действие, которое может вызвать изменение функционирования КС, связанное с нарушением защищенности, обрабатываемой в ней информации.
Уязвимость информации -- это возможность возникновения на каком-либо этапе жизненного цикла КС такого ее состояния, при котором создаются условия для реализации угроз безопасности информации.
Атакой на КС называют действие, предпринимаемое нарушителем, которое заключается в поиске и использовании той или иной уязвимости. Иначе говоря, атака на КС является реализацией угрозы безопасности информации в ней.
Угрозы информационной безопасности могут быть разделены на угрозы, не зависящие от деятельности человека (естественные угрозы физических воздействий на информацию стихийных природных явлений), и угрозы, вызванные человеческой деятельностью (искусственные угрозы), которые являются гораздо более опасными.
Искусственные угрозы исходя из их мотивов разделяются на непреднамеренные (случайные) и преднамеренные (умышленные).
К непреднамеренным угрозам относятся:
- ошибки в проектировании КС;
- ошибки в разработке программных средств КС;
- случайные сбои в работе аппаратных средств КС, линий связи, энергоснабжения;
- ошибки пользователей КС;
- воздействие на аппаратные средства КС физических полей других электронных устройств (при несоблюдении условий их электромагнитной совместимости) и др.
К умышленным угрозам относятся:
- несанкционированные действия обслуживающего персонала КС (например, ослабление политики безопасности администратором, отвечающим за безопасность КС);
- несанкционированный доступ к ресурсам КС со стороны пользователей КС и посторонних лиц, ущерб от которого определяется полученными нарушителем полномочиями.
В зависимости от целей преднамеренных угроз безопасности информации в КС угрозы могут быть разделены на три основные группы:
- угроза нарушения конфиденциальности, т.е. утечки информации ограниченного доступа, хранящейся в КС или передаваемой от одной КС к другой;
- угроза нарушения целостности, т. е. преднамеренного воздействия на информацию, хранящуюся в КС или передаваемую между КС (заметим, что целостность информации может быть также нарушена, если к несанкционированному изменению или уничтожению информации приводит случайная ошибка в работе программных или аппаратных средств КС; санкционированным является изменение или уничтожение информации, сделанное уполномоченным лицом с обоснованной целью);
- угроза нарушения доступности информации, т. е. отказа в обслуживании, вызванного преднамеренными действиями одного из пользователей КС (нарушителя), при котором блокируется доступ к некоторому ресурсу КС со стороны других пользователей КС (постоянно или на большой период времени).
Опосредованной угрозой безопасности информации в КС является угроза раскрытия параметров подсистемы защиты информации, входящей в состав КС. Реализация этой угрозы дает возможность реализации перечисленных ранее непосредственных угроз безопасности информации.
Результатом реализации угроз безопасности информации в КС может быть утечка (копирование) информации, ее утрата (разрушение) или искажение (подделка), блокирование информации. Поскольку сложно заранее определить возможную совокупность угроз безопасности информации и результатов их реализации, модель потенциальных угроз безопасности информации в КС должна создаваться совместно собственником (владельцем) КС и специалистами по защите информации на этапе проектирования КС. Созданная модель должна затем уточняться в ходе эксплуатации КС.
Рассмотрим возможные каналы утечки информации в КС.
Косвенными каналами утечки называют каналы, не связанные с физическим доступом к элементам КС:
- использование подслушивающих (радиозакладных) устройств;
- дистанционное видеонаблюдение;
- перехват побочных электромагнитных излучений и наводок (ПЭМИН). Побочные электромагнитные излучения создаются техническими средствами КС при обработке информации, существуют в диапазоне от единиц герц до 1,5 ГГц и могут распространять обрабатываемую информацию с дальностью до 1 км. Наиболее опасными с точки зрения ПЭМИН являются дисплеи, кабельные линии связи, накопители на магнитных дисках, матричные принтеры. Для перехвата ПЭМИН используется специальная портативная аппаратура, включающая в себя широкополосный автоматизированный супергетеродинный приемник с устройством регистрации информации на магнитном носителе и (или) дисплеем.
Побочные электромагнитные наводки представляют собой сигналы в цепях электропитания и заземления аппаратных средств КС и в находящихся в зоне воздействия ПЭМИН работающих аппаратных средств КС кабелях вспомогательных устройств (звукоусиления, связи, времени, сигнализации), металлических конструкциях зданий, сантехническом оборудовании. Эти наведенные сигналы могут выходить за пределы зоны безопасности КС.
Другим классом каналов утечки информации являются непосредственные каналы, связанные с физическим доступом к элементам КС. К непосредственным каналам утечки, не требующим изменения элементов КС, относятся:
- хищение носителей информации;
- сбор производственных отходов с информацией (бумажных и магнитных носителей);
- намеренное копирование файлов других пользователей КС;
- чтение остаточной информации после выполнения заданий других пользователей (областей оперативной памяти, удаленных файлов, ошибочно сохраненных временных файлов);
- копирование носителей информации;
- намеренное использование для несанкционированного доступа к информации незаблокированных терминалов других пользователей КС;
- маскировка под других пользователей путем похищения их идентифицирующей информации (паролей, карт и т.п.);
- обход средств разграничения доступа к информационным ресурсам вследствие недостатков в их программном обеспечении и др.
К непосредственным каналам утечки, предполагающим изменение элементов КС и ее структуры, относятся:
- незаконное подключение специальной регистрирующей аппаратуры к устройствам или линиям связи (пассивное для фиксации и сохранения передаваемых данных или активное для их уничтожения, искажения или подмены);
- злоумышленное изменение программ для выполнения ими несанкционированного копирования информации при ее обработке;
- злоумышленный вывод из строя средств защиты информации.
Пассивное подключение нарушителя к устройствам или линиям связи легко предотвратить (например, с помощью шифрования передаваемой информации), но невозможно обнаружить. Активное подключение, напротив, легко обнаружить (например, с помощью хеширования и шифрования передаваемой информации), но невозможно предотвратить.
Помимо утечки информации в КС возможны также ее несанкционированное уничтожение или искажение (например, заражение компьютерными вирусами), а также несанкционированное использование информации при санкционированном доступе к ней
Наличие в КС значительного числа потенциальных каналов утечки информации является объективным фактором и обусловливает уязвимость информации в подобных системах с точки зрения ее несанкционированного использования.
Поскольку наиболее опасные угрозы информационной безопасности вызваны преднамеренными действиями нарушителя, которые в общем случае являются неформальными, проблема защиты информации относится к формально не определенным проблемам. Отсюда следуют два основных вывода:
- надежная защита информации в КС не может быть обеспечена только формальными методами (например, только программными и аппаратными средствами);
- защита информации в КС не может быть абсолютной.
При решении задачи защиты информации в КС необходимо применять так называемый системно-концептуальный подход. В соответствии с ним решение задачи должно подразумевать:
- системность целевую, при которой защищенность информации рассматривается как составная неотъемлемая часть ее качества;
- системность пространственную, предполагающую взаимосвязанность защиты информации во всех элементах КС;
- системность временную, предполагающую непрерывность защиты информации;
- системность организационную, предполагающую единство организации всех работ по защите информации в КС и управления ими. Концептуальность подхода к решению задачи защиты информации в КС предусматривает ее решение на основе единой концепции (совокупности научно обоснованных решений, необходимых и достаточных для оптимальной организации защиты информации в КС).
Обеспечение информационной безопасности КС является непрерывным процессом, целенаправленно проводимым на всех этапах ее жизненного цикла с комплексным применением всех имеющихся методов и средств.
Существующие методы и средства защиты информации можно подразделить на четыре основные группы:
- методы и средства организационно-правовой защиты информации;
- методы и средства инженерно-технической защиты информации;
- криптографические методы и средства защиты информации;
- программно-аппаратные методы и средства защиты информации.
Тема 1.3 Дестабилизирующие факторы и угрозы надежности
Анализ надежности ПС базируется на модели взаимодействия следующих компонент:
- объектов уязвимости;
- дестабилизирующих факторов и угроз надежности;
- методов предотвращения угроз надежности;
- методов повышения надежности.
Объектами уязвимости, влияющими на надежность ПС являются:
- вычислительный процесс;
- объектный код программ;
- информация БД;
- информация, выдаваемая потребителям.
На эти объекты воздействуют различные дестабилизирующие факторы, которые делятся на внутренние и внешние.
Внутренние источники угроз надежности функционирования сложных ПС присущи самим объектам уязвимости:
- ошибки проектирования при постановке задачи;
- алгоритмические ошибки разработки при спецификации функций ПС, при определении структуры и взаимодействия компонент комплексов программы, а также при использовании информации БД.
- ошибки программирования в текстах программ и ошибки в документации на ПС.
- недостаточное качество средств защиты.
Внешние дестабилизирующие факторы обусловлены средой, в которой функционируют объекты уязвимости. Ими являются:
- ошибки персонала при эксплуатации;
- искажение информации в каналах связи;
- сбои и отказы аппаратуры;
- изменение конфигурации аппаратуры информационной системы.
Полностью исключить все эти факторы невозможно. Поэтому необходимо разрабатывать средства и методы уменьшения их влияния на надежность ПС. Степень влияния всех внутренних дестабилизирующих факторов и некоторых внешних на надежность ПС в наибольшей степени определяется качеством технологий проектирования, разработки, сопровождения и документирования ПС.
Методы предотвращения угроз надежности:
- предотвращение ошибок проектирования;
- систематическое тестирование;
- обязательная сертификация.
Методы повышения надежности:
- временная избыточность;
- информационная избыточность;
- программная избыточность.
Последствия нарушения надежности:
- разрушение вычислительного процесса;
- разрушение информации БД;
- разрушение текста программы;
- разрушение информации для потребителей.
Методы обеспечения НПО: в современных автоматических технологиях создания ПО есть методы, позволяющие:
- создавать программные модули и функциональные компоненты высокого качества;
- предотвращать дефекты проектирования за счет эффективных технологий;
- обнаруживать и устранять различные ошибки и дефекты проектирования, разработки и сопровождения программы путем систем тестирования на всех этапах ЖЦ ПС.
- удостоверять достигнутого качества и надежности ПС в процессе их испытаний и сертификации;
- оперативно выявлять последствия дефектов программ и данных и восстанавливать надежное функционирование программ.
Комплексное применение этих методов позволяет значительно уменьшить влияние угроз. Т.е. уровень достигаемой надежности зависит от ресурсов, выделяемых на его достижение, и от качества технологии, используемой на всех этапах ЖЦ ПС. Предотвращение ошибок и улучшение технико-экономических показателей ПС обеспечивается применением современных технологий и САПР, которые объединяются понятием CASE-технологии и языки IV поколения. CASE-технологии - это высокопроизводительные ресурсосберегающие технологии создания комплексов программ. Они позволяют значительно снизить уровень системных, алгоритмических и программных ошибок. Для обнаружения и устранения ошибок проектирования все этапы разработки и сопровождения ПС д.б. поддержаны методами и средствами системного автоматизированного тестирования.
Тестирование - это основной метод измерения качества, определения корректности и реальной надежности функционирования программ на любых этапах разработки. Результаты тестирования должны сравниваться с требованием технического задания или спецификации.
Кроме вышеперечисленных методов предотвращения угроз надежности существуют оперативные методы повышения надежности: временная, информационная и программная избыточности.
Тема 1.4 Методы предотвращения угроз надежности
В современных автоматизированных технологиях создания сложных ПС с позиции обеспечения их необходимой и заданной надежности можно выделить методы и средства позволяющие:
- создавать программные модули и функциональные компоненты высокого, гарантированного качества;
- предотвращать дефекты проектирования за счет эффективных технологий и средств автоматизации обеспечения всего жизненного цикла комплексов программ и баз данных;
- обнаруживать и устранять различные дефекты и ошибки проектирования, разработки и сопровождения программ путем систематического тестирования на всех этапах жизненного цикла ПС;
- удостоверять достигнутые качество и надежность функционирования ПС в процессе их испытаний и сертификации перед передачей в регулярную эксплуатацию;
- оперативно выявлять последствия дефектов программ и данных и восстанавливать нормальное, надежное функционирование комплексов программ.
Внешние дестабилизирующие факторы имеют различную природу. Современные достижения микроэлектроники значительно снизили влияние сбоев и отказов вычислительных средств на надежность функционирования программных средств. Однако ошибки персонала, искажения данных в каналах телекоммуникации, а также случайные (при отказах части аппаратуры) и необходимые изменения конфигурации вычислительных средств остаются существенными внешними угрозами надежности ПС. Негативное влияние этих факторов может быть значительно снижено соответствующими методами и средствами защиты и восстановления программ и данных. Степень влияния всех внутренних дестабилизирующих факторов и некоторых внешних угроз на надежность ПС в наибольшей степени определяется качеством технологий проектирования, разработки, сопровождения и документирования ПС и их основных компонент. При ограниченных ресурсах на разработку ПС для достижения заданных требований по надежности необходимо управление обеспечением качества в течение всего цикла создания программ и данных. Для обнаружения и устранения ошибок проектирования все этапы разработки и сопровождения программных средств должны быть поддержаны методами и средствами систематического тестирования.
Тестирование - это основной метод измерения качества, определения корректности и реальной надежности функционирования программ на каждом этапе разработки. Результаты тестирования должны сравниваться с требованиями технического задания или спецификацией. Кроме того, обеспечение качества ПС предполагает формализацию и сертификацию технологии их разработки, а также выделение в специальный процесс поэтапное измерение и анализ текущего качества создаваемых и применяемых компонент.
Итак, основные методы предотвращения угроз надежности:
- предотвращение ошибок проектирования в CАSE-технологиях;
- систематическое тестирование;
- обязательная сертификация.
Комплексное применение этих методов позволяет значительно ослаблять влияние угроз.
Таким образом, уровень достигнутой надежности зависит от ресурсов, выделяемых на его достижение и от качества технологий, используемых на всех этапах жизненного цикла программного средства.
Тема 1.5 Оперативные методы повышения надежности: временная, информационная, программная избыточность
Чтобы обеспечить высокую надежность функционирования ПС, необходимы вычислительные ресурсы для максимально быстрого обнаружения проявления дефектов и выполнения автоматических мероприятий, обеспечивающих быстрое восстановления нормального функционирования ПС.
Для этих целей используются следующие оперативные методы повышения надежности: временная избыточность, информационная избыточность, программная избыточность.
Временная избыточность состоит в использовании некоторой части производительности компьютера для контроля исполнения программ и восстановления вычислительного процесса. Для этого при проектировании информационной системы должен предусматриваться запас производительности, который будет затем использоваться на контроль и оперативное повышение надежности функционирования. Величина временной избыточности зависит от требований к надежности и находится в пределах от 5-10% производительности компьютера до 3-4-кратного дублирования производительности отдельной машины в многопроцессорных вычислительных системах. Временная избыточность используется для контроля и обнаружения искажений, на их диагностику и выработку решений по восстановлению вычислительного процесса или информации, а также на реализацию операций восстановления.
Информационная избыточность состоит в дублировании накопленных исходных и промежуточных данных, обрабатываемых программами. Избыточность используется для сохранения достоверности данных, которые в наибольшей степени влияют на нормальное функционирование ПС и требуют значительного времени для восстановления. Их защищают 2-3 кратным дублированием с периодичным обновлением.
Программная избыточность используется для контроля и обеспечения достоверности наиболее важных решений по обработке информации. Она заключается в сопоставлении результатов обработки одинаковых исходных данных программами, различающимися используемыми алгоритмами, и в исключении искажений при несовпадении результатов. Программная избыточность необходима также для реализации программ автоматического контроля и восстановления данных с использованием информационной избыточности и для функционирования всех средств обеспечения надежности, использующих временную избыточность.
Средства оперативного программного контроля включаются после использования прикладных и сервисных программ, поэтому средства программного контроля обычно не могут обнаружить непосредственно причину возникновения искажения вычислительного процесса или данных и фиксирует только последствия первичного искажения, т.е. вторичную ошибку. Результаты первичного искажения могут приобрести катастрофический характер при запаздывании их обнаружения и локализации.
Для обеспечения надежности дефекты нужно обнаружить с минимальным запаздыванием, при этом желательны минимальные затраты аппаратных ресурсов, поэтому используются иерархические схемы контроля, при которых последовательно используется несколько методов в порядке углубления контроля и увеличения затрат до выявления источника искажения.
Целесообразно акцентировать ресурсы на потенциально наиболее опасных дефектах и достаточно частых режимов восстановления: при искажениях программ и данных, при перегрузках по производительности и при параллельном использовании программ.
Тема 1.6 Первичные ошибки, вторичные ошибки и их проявление
При тестировании и отладке обычно сначала обнаруживаются вторичные ошибки, т. е. результаты проявления исходных дефектов, которые являются первичными ошибками. Локализация и корректировка таких первичных ошибок приводит к устранению ошибок, первоначально обнаруживаемых в результатах функционирования программ. Проявление дефектов и ошибок в разной степени влияет на работоспособность программ.
По величине ущерба проявление вторичных ошибок делятся на 3 группы:
- сбои, которые не отражаются на работоспособности программ, ущербом от которым можно пренебречь,
- ординарные отказы, ущерб от которых находится в некоторых допустимых пределах,
- катастрофические отказы, ущерб от которых так велик, что определяет безопасность применения данного ПС.
Характеристики и конкретные реализации первичных ошибок не позволяют однозначно предсказать типы и степень проявления вторичных ошибок. На практике простейшие ошибки программ и данных могут привести к катастрофическим последствиям. В то же время системные дефекты могут только немного ухудшать эксплуатационные характеристики и не отражаются на безопасности функционирования ПС.
Статистика ошибок в программных комплексах и их характеристики могут служить ориентиром для разработчиков при распределении усилий на отладку. Однако регистрация, сбор и анализ характеристик ошибок в программах - это сложный и трудоемкий процесс. Кроме того, разработчики программ не афишируют свои ошибки. Все это препятствует получению объективных данных об ошибках.
Первичные ошибки в порядке усложнения их обнаружения можно разделить на следующие виды:
- технологические ошибки подготовки данных и документации,
- программные ошибки из-за неправильной записи текста программ на языке программирования и ошибок трансляции программы в объектный код,
- алгоритмические ошибки, связанные с неполным формулированием необходимых условий решения и некорректной постановкой задач,
- системные ошибки, обусловленные отклонением функционирования ПС в реальной системе и отклонением характеристик внешних объектов от предполагаемых при проектировании.
Перечисленные ошибки различаются по частоте и методам их обнаружения на разных этапах проектирования. При автономной и в начале комплексной отладки доля системных ошибок составляет около 10%. На завершающих этапах комплексной отладки она возрастает до 35-40%. В процессе сопровождения системные ошибки являются преобладающими и составляют около 80% от всех ошибок. Частота появления вторичных ошибок при функционировании программ и частота их обнаружения при отладке зависит от общего количества первичных ошибок в программе. Наиболее доступно для измерения число вторичных ошибок в программе, выявленных в единицу времени в процессе тестирования. Возможна также регистрация отказов и искажение результатов при эксплуатировании программ.
Тема 1.7 Математические модели описания статистических характеристик ошибок в программах
Путем анализа и обобщения экспериментальных данных в реальных разработках было предложено несколько математических моделей, описывающих основные закономерности изменения суммарного количества вторичных ошибок в программах.
Модели имеют вероятностный характер, и достоверность прогнозов в значительной степени зависит от точности исходных данных.
Модели дают удовлетворительные результаты при относительно высоких уровнях интенсивности проявления ошибок, т.е. при невысокой надежности ПС.
В этих условиях математические модели предназначены для приближенной оценки:
- потенциально возможной надежности функционирования программ в процессе испытаний и эксплуатации;
- числа ошибок, оставшихся не выявленными в анализируемых программах;
- времени тестирования, требующегося для обнаружения следующей ошибки в функционирующей программе;
- времени, необходимого для выявления всех имеющихся ошибок с заданной вероятностью.
Построение математических моделей базируются на предположении о жесткой связи между следующими тремя параметрами: суммарным количеством первичных ошибок в программе, числом ошибок, выявленных в единицу времени в процессе тестирования и отладки, интенсивностью искажения результатов в единицу времени на выходе комплекса программ при нормальном его функционировании из-за невыявленных первичных ошибок. Предполагается, что все три показателя связаны коэффициентом пропорциональности (рис.1).
Рисунок 3 - Суммарное число первичных ошибок (сплошная кривая), число ошибок, выявляемых в единицу времени (пунктир), интенсивность искажения результатов в единицу времени (штрих-пунктир) в зависимости от времени отладки
В настоящее время описаны несколько математических моделей, основой которых являются различные гипотезы о характере проявления вторичных ошибок в программах.
Экспоненциальная математическая модель распределения ошибок в программах основана на следующих предположениях:
1. Интервалы времени между обнаруживаемыми искажениями результатов предполагаются статистически независимыми.
2. Интенсивность проявления ошибок остается постоянной пока не произведено исправление первичной ошибки или не изменена программа по другой причине. Если каждая обнаруженная ошибка исправляется, то значения интервалов времени между их проявлениями изменяются по экспоненциальному закону.
3. Интенсивность обнаружения вторичных ошибок пропорциональна суммарному числу первичных ошибок, имеющихся в данный момент в комплексе программ.
Приведенные предположения позволяют построить экспоненциальную математическую модель распределения ошибок в программах и установить связь между интенсивностью обнаружения ошибок при отладке dn/dt, интенсивностью проявления ошибок при нормальном функционировании комплекса программ и числом первичных ошибок.
Предположим, что в начале отладки комплекса программ при t=0 в нем содержалось N первичных ошибок. После отладки в течение времени t осталось по первичных ошибок и устранено п ошибок (n0+n = N ). При этом время t соответствует длительности исполнения программ на компьютере для обнаружения ошибок и не учитывает время, необходимое для анализа результатов и проведения корректировок. Календарное время отладочных и испытательных работ с реальным комплексом программ больше, так как после тестирования программ, на которое затрачивается машинное время t, необходимо время на анализ результатов, на обнаружение и локализацию ошибок, а также на их устранение.
Однако для определения характеристик проявления ошибок играет роль только длительность непосредственного функционирования программ на компьютере. При постоянных усилиях на тестирование и отладку интенсивность обнаружения искажений вычислительного процесса, программ или данных вследствие еще невыявленных ошибок пропорциональна количеству оставшихся первичных ошибок в комплексе программ.
Как уже отмечалось, предположение о сильной корреляции между значениями n и dn/dt достаточно естественно и проверено анализом реальных характеристик процесса обнаружения ошибок. Тогда dn/dt=K1k=Kn0=K(N0-n), где коэффициенты К и К1 учитывают: масштаб времени, используемого для описания процесса обнаружения ошибок, быстродействие компьютера, распределение тестовых значений на входе проверяемого комплекса и другие параметры. Значение коэффициента К можно определить, как изменение темпа проявления искажений при переходе от функционирования программ на специальных тестах к функционированию на нормальных типовых исходных данных. В начале отладки -- это различие может быть значительным, однако, при завершении отладки и при испытаниях тестовые данные практически совпадают с исходными данными нормальной эксплуатации. Поэтому ниже К1 полагается равным единице (К1 =1). Таким образом, интенсивность обнаружения ошибок в программе и абсолютное число устраненных первичных ошибок связываются уравнением: dn/dt + Kn = KN0 Так как выше предполагалось, что в начале отладки при t =0 отсутствуют обнаруженные ошибки, то решение уравнения имеет вид: n=N0 [1-exp(-Kt)]. Число оставшихся первичных ошибок в комплексе программ n0 = N0 exp(-Kt) пропорционально интенсивности обнаружения dn/dt с точностью до коэффициента К. Наработка между проявлениями ошибок, которые рассматриваются как обнаруживаемые искажения программ, данных или вычислительного процесса, равна величине, обратной интенсивности обнаружения ошибок T = 1 / (dndt) = 1/KN0 * exp (Kt)
Следует подчеркнуть статистический характер приведенных соотношений. Дальнейшая детализация модели описания характеристик программных ошибок связана с уточнением содержания и значения коэффициента пропорциональности К и с учетом затрат на отладку.
При исследовании ошибок в программах различными авторами был сформулирован ряд уточнений и допущений, отличных от приведенных выше. Эти допущения, а также специфические методы построения послужили основой создания нескольких более сложных математических моделей, отличающихся от простейшей экспоненциальной.
Однако ни одна из этих моделей не имеет явных преимуществ по точности аппроксимации распределений и прогнозирования числа программных ошибок по сравнению с простейшей экспоненциальной моделью.
Тема 1.8 Анализ рисков и характеристик качества программного обеспечения при внедрении
Под качеством программного обеспечения будем понимать совокупность свойств ПО, обусловливающих его пригодность удовлетворять определенные потребности пользователей и специалистов, участвующих в создании и сопровождении ПО. Из приведенной формулировки следует, что не все свойства ПО входят в его качество, а только та их совокупность, которая определяется потребностью в этом ПО. Качество программного продукта можно определить как «пригодность к использованию». Качество должно гарантироваться процессом разработки. Контроль качества программного продукта -- это систематические действия, подтверждающие пригодность к использованию программного продукта в целом. Цель контроля качества -- дать количественные меры качества программной системы.
Под свойством (характеристикой) ПО будем понимать объективную особенность ПО (программ и документации), проявляющуюся при его разработке, эксплуатации и сопровождении. Свойства ПО можно условно разделить на функциональные и конструктивные. Функциональные свойства отражают возможности и специфику применения программы и обусловливают степень ее соответствия своему целевому назначению. Они характеризуют программу с точки зрения того, как в действительности она выполняется. Конструктивные свойства программы более или менее не зависят от ее функциональных возможностей и назначения. Они характеризуют программу с точки зрения того, как в действительности она сконструирована.
Для объективной оценки качества ПО его свойства необходимо охарактеризовать количественно. Показатель качества ПО -- количественная характеристика свойства ПО, входящая в состав его качества и рассматриваемая применительно к определенным условиям его создания, эксплуатации и сопровождения. Наряду с показателями качества могут использоваться качественные (словесные) оценки, называемые признаками.
Показатели качества по количеству характеризуемых свойств могут быть единичными и комплексными(групповыми). Единичный показатель относится только к одному из свойств, тогда как комплексный характеризует несколько свойств ПО.
Методы определения показателей качества ПО различаются:
- по способам получения информации о ПО -- измерительный, регистрационный, органолептический, расчетный;
- по источникам получения информации -- традиционный, экспертный, социологический.
Измерительный метод основан на получении информации о свойствах и характеристиках ПО с использованием инструментальных средств. Например, с использованием этого метода определяется объем ПО -- число строк исходного текста программ и число строк -- комментариев, число операторов и операндов, число исполненных операторов, число ветвей в программе, число точек входа (выхода), время выполнения ветви программы, время реакции и другие показатели.
Регистрационный метод основан на получении информации во время испытаний или функционирования ПО, когда регистрируются и подсчитываются определенные события, например, время и число сбоев и отказов, время передачи управления другим модулям, время начала и окончания работы.
Органолептический метод основан на использовании информации, получаемой в результате анализа восприятия органов чувств (зрения, слуха), и применяется для определения таких показателей как удобство применения, эффективность и т. п.
Расчетный метод основан на использовании теоретических и эмпирических зависимостей (на ранних этапах разработки), статистических данных, накапливаемых при испытаниях, эксплуатации и сопровождении ПО. При помощи расчетного метода определяются длительность и точность вычислений, время реакции, необходимые ресурсы.
Экспертный метод применяется в случаях, когда задача не может быть решена никаким другим из существующих способов, или другие способы являются значительно более трудоемкими. Экспертный метод рекомендуется применять при определении показателей наглядности, полноты и доступности программной документации, легкости освоения, структурности. Определение значений показателей качества ПО экспертному методу осуществляется группой экспертов-специалистов, компетентных в решении данной задачи, на базе их опыта и интуиции.
Социологические методы основаны на обработке специальных анкет-вопросников.
Оценка качества ПО проводится на фазах жизненного цикла и включает выбор номенклатуры показателей, их оценку и сопоставление значений показателей, полученных в результате сравнения, с базовыми значениями.
Показатели качества объединены в систему из четырех уровней. Каждый вышестоящий уровень содержит в качестве составляющих показатели нижестоящих уровней. Допускается вводить дополнительные показатели на каждом из уровней.
Для обеспечения возможности получения интегральной оценки по группам показателей качества используют факторы качества (1-й уровень): надежность ПО, сопровождаемость, удобство применения, эффективность, универсальность (гибкость) и корректность. Каждому фактору качества соответствует определенный набор критериев качества (комплексные показатели -- 2-й уровень), приведенные ниже. Критерии качества определяют одной или несколькими метриками (3-й уровень). Если критерий качества определяется одной метрикой, то уровень метрики опускается. Метрики составляются из оценочных элементов (единичных показателей -- 4-й уровень), определяющих заданное в метрике свойство. Число оценочных элементов, входящих в метрику, не ограничено.
Для показателей качества на всех уровнях (факторы, критерии, метрики, оценочные элементы) принимается единая шкала оценки от 0 до 1.
Показатели качества на каждом вышестоящем уровне (кроме уровня оценочных элементов) определяются показателями качества нижестоящего уровня.
Рассмотрим основные показатели качества ПО:
1. Показатели надежности. Характеризуют способность ПО в конкретных областях применения выполнять заданные функции в соответствии с программными документами в условиях возникновения отклонений в среде функционирования, вызванных сбоями технических средств, ошибками во входных данных, ошибками обслуживания и другими дестабилизирующими воздействиями:
a) Устойчивость функционирования. Способность обеспечивать продолжение работы программы после возникновения отклонений, вызванных сбоями технических средств, ошибками во входных данных и ошибками обслуживания;
b) Работоспособность. Способность программы функционировать в заданных режимах и объемах обрабатываемой информации в соответствии с программными документами при отсутствии сбоев технических средств.
2. Показатели сопровождения. Характеризуют технологические аспекты, обеспечивающие простоту устранения ошибок в программе и программных документах и поддержания ПО в актуальном состоянии:
a) Структурность. Организация всех взаимосвязанных частей программы в единое целое с использованием логических структур «последовательность», «выбор», «повторение»;
b) Простота конструкции. Построение модульной структуры-программы наиболее рациональным с точки зрения восприятия и понимания образом;
c) Наглядность. Наличие и представление в наиболее легко воспринимаемом виде исходных модулей, полное их описание в соответствующих программных документах;
d) Повторяемость. Степень использования типовых проектных решений или компонентов, входящих в ПО.
3. Показатели удобства применения. Характеризуют свойства ПО, способствующие быстрому освоению, применению и эксплуатации ПО с минимальными трудозатратами с учетом характера решаемых задач и требованиями к квалификации обслуживающего персонала:
a) Легкость освоения. Представление программных документов и программы в виде, способствующем пониманию логики функционирования программы в целом и ее частей;
b) Доступность эксплуатационных программных документов. Понятность, наглядность и полнота описания взаимодействия пользователя с программой в эксплуатационных программных документах;
c) Удобство эксплуатации и обслуживания. Соответствие процесса обработки данных и форм представления результатов характеру решаемых задач.
4. Показатели эффективности. Характеризуют степень удовлетворения потребности пользователя в обработке данных с учетом экономических, вычислительных и людских ресурсов:
a) Уровень автоматизации. Уровень автоматизации функций процесса обработки данных с учетом рациональности функциональной структуры программы с точки зрения взаимодействия с ней пользователя и использования вычислительных ресурсов;
b) Временная эффективность. Способность программы выполнять заданные действия в интервал времени, отвечающий определенным требованиям;
c) Ресурсоемкость. Минимально необходимые вычислительные ресурсы и число обслуживающего персонала для эксплуатации ПО.
5. Показатели универсальности. Характеризуют адаптируемость ПО к новым функциональным требованиям, возникающим вследствие изменения области применения или других условий функционирования:
a) Гибкость. Возможность использования ПО в различных областях применения;
b) Мобильность. Возможность применения ПО без существенных дополнительных трудозатрат на ЭВМ аналогичного класса;
c) Модифицируемость. Обеспечение простоты внесения необходимых изменений и доработок в программу в процессе эксплуатации.
6. ПОКАЗАТЕЛИ КОРРЕКТНОСТИ. Характеризуют степень соответствия ПО требованиям, установленным в ТЗ, требованиям к обработке данных и общесистемным требов-ям:
a) Полнота реализации. Полнота реализации заданных функций ПО и достаточность их описания в программной документации;
b) Согласованность. Однозначное, непротиворечивое описание и использование тождественных объектов, функций, терминов, определений, идентификаторов и т. д. в различных частях программных документов и текста программы;
c) Логическая корректность. Функциональное и программное соответствие процесса обработки данных при выполнении задания общесистемным требованиям;
d) Проверенность. Полнота проверки возможных маршрутов выполнения программы в процессе тестирования.
Тема 1.9 Целесообразность разработки модулей адаптации
Рассмотрим поколения ПО в зависимости от средств их модификации и адаптации к требованиям пользователей на этапе установки и эксплуатации.
1. ПО «под ключ»
Первое ПО представляло собой достаточно простые автономные программы для решения отдельных задач в определенной прикладной области, функционирующие на компьютерах жестко определенной конфигурации. В качестве системного обеспечения обычно использовались штатные компоненты программного обеспечения компьютеров: компиляторы с алгоритмических языков, редакторы текстов, средства организации библиотек программ, архивные системы и т. д.
ПО «под ключ» не требовало развитой системной поддержки и для их функционирования было достаточно указанных системных средств.
Разработчиками ПО «под ключ» являлись прикладные программисты, которые писали программы на универсальных языках программирования.
2. ПО с установкой и инсталляцией
Началом этапа создания ПО данного типа можно считать появление инсталлируемых операционных систем (MS DOS, Windows 3.1. и др.).
В отличие от ПО «под ключ», инсталлируемое ПО имело возможность устанавливаться на компьютерах с различной конфигурацией, задаваемой в момент установки ПО. Это дало мощный толчок к развитию аппаратных средств компьютерной техники (появились линейки компьютеров: IBM-совместимые, MAC и др.), а быстрое увеличение ресурсов технических средств позволило реализовать на уровне программного обеспечения новые функции: графический интерфейс, многозадачность, универсальность устройств и др.
Постепенно инсталлируемость стала использоваться и при разработке прикладного ПО. Это позволило разрабатывать ПО для решения целых классов близких задач, устранило дублирование разработки ПО для компьютеров из одной линейки и снизило цены на ПО. Таким образом, программирование стало преобразовываться из области искусства в профессиональную отрасль.
3. ПО со встроенными средствами доработки
По пути поддержки специализированных языков программирования пошли также разработчики и СУБД, например, поддержка языка PL-SQL в СУБД ORACLE.
Не отстают от СУБД и развитые прикладные системы, наиболее ярким представителем которых является система 1С:Предприятие. Система 1С:Предприятие может дорабатываться и устанавливаться на малых и больших предприятиях, на предприятиях разных форм собственности и др.
Таким образом, именно наличие встроенных средств программирования, позволяющих существенно расширять и модифицировать функции базовой системы, позволяют системам данного класса получить достаточно широкое распространение и увеличить срок их эксплуатации. Однако создание и сопровождение прикладных систем на базе систем со встроенными средствами доработки являются очень трудоемкими.
На понижение этой трудоемкости ориентированы системы следующего класса.
...Подобные документы
Угрозы безопасности программного обеспечения и классификация средств атаки на средства защиты ПО. Методы и средства защиты программ от компьютерных вирусов и средств исследования программ. Анализ стандартов в области информационной безопасности.
дипломная работа [1,4 M], добавлен 29.06.2012Программное обеспечение как продукт. Основные характеристик качества программного средства. Основные понятия и показатели надежности программных средств. Дестабилизирующие факторы и методы обеспечения надежности функционирования программных средств.
лекция [370,1 K], добавлен 22.03.2014Сущность информации, ее классификация. Основные проблемы обеспечения и угрозы информационной безопасности предприятия. Анализ рисков и принципы информационной безопасности предприятия. Разработка комплекса мер по обеспечению информационной безопасности.
курсовая работа [28,2 K], добавлен 17.05.2016Понятие системы информационной безопасности, ее цели состав. Классификация нарушителей; угрозы, особенности и примеры их реализации. Средства защиты информации: шифрование, авторизации, идентификации и аутентификации пользователей; антивирусные программы.
презентация [947,4 K], добавлен 19.09.2016Методика исследования и анализа средств аудита системы Windows с целью обнаружения несанкционированного доступа программного обеспечения к ресурсам вычислительных машин. Анализ угрозы информационной безопасности. Алгоритм работы программного средства.
дипломная работа [2,9 M], добавлен 28.06.2011Установка, настройка, обновление операционных систем и программного обеспечения. Диагностика и лечение вирусов. Подключение и обслуживание офисной техники. Сборка и подключение компьютеров и периферийного оборудования. Проектирование и монтаж сетей.
отчет по практике [223,4 K], добавлен 12.09.2019Сущность информации, ее классификации и виды. Анализ информационной безопасности в эпоху постиндустриального общества. Исследование проблем и угроз обеспечения информационной безопасности современного предприятия. Задачи обеспечения защиты от вирусов.
курсовая работа [269,0 K], добавлен 24.04.2015Стадии разработки программного средства. Средства, методологии и методы его разработки. Оценка надежности и качества проекта. Обоснование необходимости разработки программы. Тестирование как процесс выполнения тестовой программы с намерением найти ошибки.
презентация [57,0 K], добавлен 27.12.2013Классификация компьютерных вирусов. Обоснование необходимости защиты. Антивирусные программы. Приемы работы. Главное меню. Проверка. Обновления. Настройка. Сервисы. Техника безопасности. Требования безопасности по окончании работы.
дипломная работа [850,6 K], добавлен 06.04.2007Определение понятия "Антивирус". История развития антивирусного программного обеспечения, основные составляющие его работы. Антивирусные базы. Классификация антивирусных продуктов по ряду признаков. Принцип действия современной защиты информации.
реферат [20,3 K], добавлен 19.04.2015Анализ рисков информационной безопасности. Оценка существующих и планируемых средств защиты. Комплекс организационных мер обеспечения информационной безопасности и защиты информации предприятия. Контрольный пример реализации проекта и его описание.
дипломная работа [4,5 M], добавлен 19.12.2012Исследование симметричных алгоритмов блочного шифрования. Минусы и плюсы алгоритма IDEA. Разработка программы аутентификации пользователя и сообщений на основе алгоритма IDEA. Выбор языка программирования. Тестирование и реализация программного средства.
курсовая работа [314,2 K], добавлен 27.01.2015Сущность понятия "защита информации". Принципы информационной безопасности. Сбои, которые приводят к потере ценной информации. Некорректная работа программного обеспечения из-за инфицирования компьютерными вирусами. Популярные антивирусные программы.
презентация [950,0 K], добавлен 29.10.2011Особенности шифрования данных, предназначение шифрования. Понятие криптографии как науки, основные задачи. Анализ метода гаммирования, подстановки и метода перестановки. Симметрические методы шифрования с закрытым ключом: достоинства и недостатки.
курсовая работа [564,3 K], добавлен 09.05.2012Понятие информационной безопасности и классификация ее угроз. Анализ работы симметричных систем криптографической защиты данных и основы нелинейного шифрования потока. Функционирование линейных конгруэнтных генераторов псевдослучайных последовательностей.
дипломная работа [968,8 K], добавлен 01.07.2011Модель надежности программного средства как математическая модель для оценки зависимости надежности программного обеспечения от некоторых определенных параметров, анализ видов. Общая характеристика простой интуитивной модели, анализ сфер использования.
презентация [151,1 K], добавлен 22.03.2014Исследование программы "База данных "Зимний сад БелГУ". Инструкция пользователю, алгоритм разработки программы; базовое значение показателей качества. Сравнительный анализ программного средства в соответствии с отечественными и зарубежными стандартами.
курсовая работа [2,6 M], добавлен 15.01.2013Анализ программного обеспечения, ограничивающего вредоносную деятельность на ПК. Анализ возможностей встроенных программ и программ сторонних производителей, а также необходимых настроек операционной системы (ОС) в плане информационной безопасности.
курсовая работа [3,2 M], добавлен 02.01.2010Характеристика информационных ресурсов агрохолдинга "Ашатли". Угрозы информационной безопасности, характерные для предприятия. Меры, методы и средства защиты информации. Анализ недостатков существующей и преимущества обновленной системы безопасности.
курсовая работа [30,4 K], добавлен 03.02.2011Основные принципы и условия обеспечения информационной безопасности. Защита информации от несанкционированного и преднамеренного воздействия, от утечки, разглашения и иностранной разведки. Цели, задачи и принципы системы ИБ. Понятие политики безопасности.
презентация [118,4 K], добавлен 19.01.2014