Файл: Федеральное государственное образовательное бюджетное учреждение.docx
ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 12.01.2024
Просмотров: 617
Скачиваний: 11
ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
СОДЕРЖАНИЕ
Федеральное государственное образовательное бюджетное учреждение
«Поволжский государственный университет телекоммуникаций и информатики»
Часть 1 Основные методы обеспечения качества функционирования……………………4
Тема 1.7 Математические модели описания статистических характеристик ошибок..............16
Тема 1.8 Анализ рисков и характеристик качества программного обеспечения ….…………19
Часть 1. Основные методы обеспечения качества функционирования
Таким образом, именно наличие встроенных средств программирования, позволяющих существенно расширять и модифицировать функции базовой системы, позволяют системам данного класса получить достаточно широкое распространение и увеличить срок их эксплуатации. Однако создание и сопровождение прикладных систем на базе систем со встроенными средствами доработки являются очень трудоемкими.
На понижение этой трудоемкости ориентированы системы следующего класса.
4. ПО, создаваемое на основе проектирования, и самонастраивающееся ПО
Снижение трудоемкости на этапе проектирования и создания ПО осуществляется путем использования Case-систем моделирования и разработки ПО. Case-системы хорошо документируют процесс создания и сопровождения ПО, но они ориентированы на профессиональных разработчиков ПО и создают плохо оптимизированный программный код.
Самонастраивающееся ПО призвано снизить трудоемкость при установке и инсталляции систем, а также поддерживать качество своего функционирования в процессе эксплуатации. Такими свойствами обладает современная операционная система (ОС) Windows, автоматически определяющая конфигурацию технических средств компьютера при инсталляции и каждом запуске системы, а также автоматически определяющая изменения конфигурации технических средств и устанавливаемое ПО в процессе своего функционирования.
Существенно повысить качество и срок эксплуатации с принципиальным снижением трудоемкости и затрат на создание и сопровождение систем позволяет только самоорганизующееся ПО.
5. Самоорганизующееся ПО
Самоорганизующимся является ПО, способное длительное (потенциально бесконечное) время быть адекватным внешней среде на основе адаптации к изменениям внешней среды (решаемым задачам, объектам взаимодействия) и внутренней организации системы (объему данных, их размещению и т. д.). Для обеспечения таких возможностей самоорганизующееся ПО должно обладать рядом принципиально новых свойств, отличающих его от пассивных систем:
являться автономной активной интенсивной системой, способной самостоятельно функционировать в определенной изменяющейся среде;
-
быть открытой системой на всех уровнях организации: структурном, функциональном, интерфейсном, организации данных и др.; -
функционировать преимущественно на основе собственной цели и внутренних потребностей с учетом неспецифических воздействий внешней среды; -
обеспечивать корректность и высокий уровень надежности и эффективности функционирования в изменяющейся среде; -
обеспечивать взаимодействие с внешней средой на семантическом уровне и предоставлять простой интерфейс взаимодействия, скрывающий от внешней среды высокую внутреннюю сложность системы; -
способность системы с течением времени предоставлять внешней среде (пользователям) все более широкие возможности по решению задач, организации и обработке данных;
способность системы возникать и формироваться естественным путем (без участия программистов, разработчиков) и др.
В настоящее время практически нет программных систем, у которых достаточно четко проявлялись бы указанные свойства.
Простейшими представителями данного класса систем можно считать генетические алгоритмы, самообучаемые перестраивающиеся нейронные сети и компьютерные вирусы.
Таким образом, создание программных систем данного класса является делом будущего и, возможно, ознаменует собой третью революцию в области ПО.
Рассмотренные поколения ПО позволяют выявить ряд методов, используемых для адаптации программных систем к изменениям внешней среды и внутренней организации системы:
-
Параметрическая адаптация - настройка параметров ПО.
Параметрическая адаптация является простейшим видом адаптации и предполагает изменение значений переменных (параметров), определяющих поведение и функционирование программы. При таком подходе можно настраивать функции и компоненты ПО, а также выбирать определенные стратегии поведения из допустимого набора стратегий.
2. Функциональная адаптация - изменение функций ПО в допустимых пределах.
Функциональная адаптация обеспечивает изменение функций ПО, в пределах имеющейся структуры и организации системы. При этом допустима параметрическая настройка всего ПО, сохраняющая неизменной ее структуру и организацию для выполнения задач, первоначально заложенных в систему.
3. Организационная адаптация - изменение организации (процессов) в системе.
Организационная адаптация предполагает изменение потоков и процессов, протекающих внутри системы, с возможностью изменения функций и параметрической настройки. При данной адаптации происходит перераспределение внутренних ресурсов системы без изменения ее структуры для достижения более высокой производительности и качественного исполнения_решаемых_задач.
4. Структурная адаптация - изменение структуры системы.
Структурная адаптация предполагает модификацию или замену одних структурных компонентов (алгоритмических модулей) системы другими компонентами, позволяющими программе становиться более адекватной решаемым задачам и условиям функционирования.
При этом возможно использование организационной, функциональной и параметрической адаптации системы.
5. Размножение - порождение себе подобных потомков.
Размножение, как способ адаптации, является невероятно сложным
, но и необычайно эффективным методом адаптации. Оно позволяет системе порождать потомки, со свойствами подобными родительским, но обладающими большими возможностями (наличием свободных ресурсов и способностью к изменениям), что позволяет им более эффективно адаптироваться к существенным изменениям внешней среды.
6. Развитие - направленный процесс эволюции систем.
Развитие предполагает, как направленный процесс эволюции (изменений) конкретной системы, включающий 4 этапа: зарождение системы, становление системы определенного качества, устойчивое функционирование системы, деградацию и гибель системы, так и популяционно-видовой способ существования и эволюции множеств подобных систем.
Таким образом, конкретные системы, порождаясь достаточно простыми, в процессе существования (функционирования) накапливают информацию о себе, о внешней среде и о решаемых задачах и становятся более приспособленными для решения задач, изменяющихся во времени. С другой стороны, параллельное существование систем с разным уровнем развития позволяет более совершенным системам осуществлять обучение менее развитых систем, что порождает процесс коэволюции систем и существенно ускоряет прогресс совершенствования и развития всей популяции систем. Кроме этого, при определенных условиях краткосрочно могут возникать новые виды развивающихся систем, которые будут существенно более адекватны внешней среде и решаемым задачам.
Решение проблемы адаптивности программного обеспечения, возможно, является центральным звеном в создании программных продуктов нового поколения. Адаптивные программные системы (adaptive software) могут открыть новую страницу в развитии информационных технологий. Многие компании, прежде всего IBM, Hewlett-Packard и Microsoft, уже осознали необходимость в системах с элементами саморегулирования и объявили о своих программах по созданию адаптируемых и адаптивных систем. Это индуцирует развитие теоретической базы методологий поддержки жизненного цикла программных продуктов.
В настоящее время применяется ряд методов рекомпозиционной адаптации программных систем. Однако целостная методология проектирования таких систем отсутствует.
Часть 2. Методы и средства защиты компьютерных систем
Тема 2.1 Вредоносные программы: классификация, методы обнаружения
К вредоносным программам(иначе называемым разрушающими программными воздействиями, malware) относятся компьютерные вирусы и программные закладки.
Компьютерный вирус - автономно функционирующая программа, обладающая одновременно тремя свойствами:
-
способностью к включению своего кода в тела других файлов и системных областей памяти компьютера; -
по следующему самостоятельному выполнению; -
самостоятельному распространению в компьютерных системах.
Программная закладка - внешняя или внутренняя по отношению к атакуемой компьютерной системе программа, обладающая определенными разрушительными функциями по отношению к этой системе.
Классификация компьютерных вирусов:
-
По способу распространения в компьютерной системе:
-
n файловые вирусы, заражающие файлы одного или нескольких типов; -
n загрузочные вирусы, заражающие загрузочные сектора жестких дисков и дискет; -
n комбинированные вирусы, способные заражать и файлы, и загрузочные сектора дисков.
-
По способу заражения других объектов компьютерной системы:
-
n резидентные вирусы, часть кода которых постоянно находится в оперативной памяти компьютера и заражает другие объекты; -
n нерезидентные вирусы, которые заражают другие объекты в момент открытия уже зараженных ими объектов.
-
По деструктивным возможностям:
-
n безвредные вирусы, созданные в целях «обучения», однако снижающие эффективность работы компьютерной системы за счет потребления ее ресурсов; -
n неопасные вирусы, создающие различные звуковые и видеоэффекты; -
n опасные и очень опасные вирусы, вызывающие сбои в работе программного и (или) аппаратного обеспечения компьютера, потерю программ и данных, а потенциально – вывод из строя аппаратуры КС и нанесение вреда здоровью пользователей.
-
По особенностям реализуемого алгоритма:
-
n вирусы-спутники, создающие для заражаемых файлов одноименные файлы с кодом вируса и переименовывающие исходные файлы (при открытии зараженного файла фактически открывается файл с кодом вируса, в котором после выполнения предусмотренных автором действий открывается исходный файл); -
n паразитические вирусы, которые обязательно изменяют содержимое заражаемых объектов; -
n вирусы-невидимки («стелс»-вирусы), в которых путем перехвата обращений операционной системы к зараженным объектам скрывается факт присутствия вируса в компьютерной системе (при собственном обращении к дисковой памяти вирусы-невидимки также используют нестандартные средства для обхода средств антивирусной защиты); -
n вирусы-призраки (полиморфные вирусы), каждая следующая копия которых в зараженных объектах отличается от предыдущих (не содержит одинаковых цепочек команд за счет применения шифрования на различных ключах базового кода вируса).
Защита от руткитов:
-
Существующие специализированные программы, предназначенные для обнаружения руткитов, и традиционные антивирусы не дают стопроцентной гарантии безопасности. -
Обладая исходным кодом этих программ, можно создать любые модификации руткитов или включить часть кода в любую шпионскую программу. -
Главная цель руткитов не прочно закрепиться в системе, а проникнуть в нее.
Предотвращение внедрения программных закладок
Организационные меры:
-
Минимизация времени работы в системе с полномочиями администратора. -
Создание отдельной учетной записи для работы в Интернете. -
Осмотрительная работа с почтовыми и офисными программами и др.
Методы предупреждения вирусного заражения:
-
физическое или логическое (для отдельных учетных записей) отключение накопителей для съемных дисков; -
разграничение прав отдельных пользователей и групп на доступ к папкам и файлам операционной системы и других пользователей; -
ограничение времени работы в компьютерной системе привилегированных пользователей; -
использование, как правило, только лицензионного программного обеспечения, приобретенного у официальных представителей фирм-правообладателей; -
выделение не подсоединенного к локальной сети компьютера для тестирования полученного из ненадежных источников программного обеспечения.
Методы обнаружения компьютерных вирусов:
-
Просмотр (сканирование) проверяемых объектов (системных областей дисковой и оперативной памяти, а также файлов заданных типов) в поиске сигнатур (уникальных последовательностей байтов) известных вирусов. Недостатки: необходимость постоянного обновления баз данных сигнатур известных вирусов, неспособность обнаружить новые компьютерные вирусы. -
Инспекция (обнаружение изменений в объектах компьютерной системы) путем сравнения их вычисленных при проверке хеш-значений с эталонными (или проверки ЭЦП для этих объектов). Недостатки: не все изменения проверяемых объектов вызываются вирусным заражением, не может помочь при записи на жесткий диск компьютера пользователя уже зараженного файла. -
Эвристический анализ – проверка системных областей памяти и файлов с целью обнаружения фрагментов исполнимого кода, характерного для компьютерных вирусов. Анализируются тысячи различных характеристик каждого файла. Недостатки: длительность процедуры проверки, возможность ложных сообщений о найденных вирусах. -
Мониторинг − постоянное присутствие в оперативной памяти компьютера с целью сканирования всех открываемых или получаемых извне файлов и контроля всех «подозрительных» действий других программ (например, обнаружение и блокирование потенциально опасных результатов web-поиска, ссылок на URL). Недостатки: снижение эффективности работы системы, возможность выполнения контролируемых действий незараженными программами. -
Вакцинирование – присоединение к защищаемому файлу специального модуля контроля, следящего за целостностью данного файла с помощью вычисления его хеш-значения и сравнения с эталоном. Недостатки: возможность обхода вирусами-невидимками , неприменимость для защиты файлов документов. -
Блокирование потенциально опасных действий пользователя: