Дестабилизирующие факторы и угрозы надежности
Надежность и дестабилизация компьютерной системы
Классификация дестабилизирующих факторов
Классификация дестабилизирующих факторов
Классификация дестабилизирующих факторов
Классификация дестабилизирующих факторов
Классификация дестабилизирующих факторов
Классификация дестабилизирующих факторов
Основные угрозы надежности
Основные угрозы надежности
Основные угрозы надежности
Основные угрозы надежности
Основные угрозы надежности
Основные угрозы надежности
Методы обеспечения надёжности и противодействия угрозам
Методы обеспечения надёжности и противодействия угрозам
Методы обеспечения надёжности и противодействия угрозам
Методы обеспечения надёжности и противодействия угрозам
Методы обеспечения надёжности и противодействия угрозам
Методы обеспечения надёжности и противодействия угрозам
Методы обеспечения надёжности и противодействия угрозам
Методы обеспечения надёжности и противодействия угрозам
Методы обеспечения надёжности и противодействия угрозам
Методы обеспечения надёжности и противодействия угрозам
Методы обеспечения надёжности и противодействия угрозам
Методы обеспечения надёжности и противодействия угрозам
Практическое задание
Практическое задание
Практическое задание
Практическое задание
Практическое задание
Практическое задание
Практическое задание
Практическое задание
Практическое задание
Практическое задание
Благодарю за внимание
3.69M

3. Дестабилизирующие факторы и угрозы надежности

1. Дестабилизирующие факторы и угрозы надежности

2. Надежность и дестабилизация компьютерной системы

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

3. Классификация дестабилизирующих факторов

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

4. Классификация дестабилизирующих факторов

2) Программные ошибки и сбои:
• Ошибки в коде (баги): логические ошибки, утечки памяти, некорректная
обработка исключений.
• Некорректная работа драйверов: конфликты оборудования, «синие экраны
смерти».
• Несовместимость ПО: конфликты между приложениями или между
приложением и операционной системой.
• Ошибки обновления: некорректная установка патчей, приводящая к
сбоям.
3) Сбои в инфраструктуре:
• Отказы сетевого оборудования: сбои маршрутизаторов, коммутаторов,
каналов связи.
• Проблемы с системами хранения данных: отказ RAID-массивов, сбои
контроллеров.

5. Классификация дестабилизирующих факторов

2. Внешние воздействия
Эта группа факторов обусловлена окружающей средой и действиями
извне.
1) Физические воздействия:
• Климатические условия: повышенная или пониженная температура,
влажность, запылённость.
• Электромагнитные помехи (ЭМП): влияние мощного
электрооборудования, радиосигналов, грозовых разрядов.
• Механические воздействия: вибрации (например, от промышленного
оборудования), удары, падения.

6. Классификация дестабилизирующих факторов

2) Киберугрозы
• Вредоносное ПО: вирусы, трояны, программы-вымогатели
(шифровальщики), шпионское ПО.
• Сетевые атаки: DDoS-атаки (перегрузка системы запросами), атаки типа
«человек посередине» (перехват данных), SQL-инъекции.
• Несанкционированный доступ: взломы с целью кражи, модификации или
уничтожения данных.
3) Природные и техногенные катастрофы
• Стихийные бедствия: пожары, наводнения, землетрясения.
• Техногенные аварии: аварии на линиях электропередач, прорыв
водопровода в серверной.

7. Классификация дестабилизирующих факторов

3. Человеческий фактор
Человеческий фактор считается одной из самых частых причин сбоев и
инцидентов.
Его можно разделить на две подгруппы:
1) Непреднамеренные ошибки (некомпетентность):
• Ошибки при эксплуатации: случайное удаление важных файлов или баз
данных, некорректная настройка параметров системы.
• Ошибки при обслуживании: неправильная установка оборудования или
обновление ПО.
• Недостаточная квалификация: отсутствие у персонала необходимых
знаний для работы со сложным оборудованием или ПО.
2) Преднамеренные действия (злоумышленные):
• Инсайдерские угрозы: сотрудники, намеренно наносящие вред системе
(кража данных, саботаж).
• Социальная инженерия: обман персонала с целью получения доступа к
системе (например, фишинг).

8. Классификация дестабилизирующих факторов

4. Организационные и управленческие факторы
Эти факторы связаны с процессами управления, планирования и контроля
в организации.
1) Недостатки в процессах эксплуатации:
• Отсутствие или формальное отношение к регламентам резервного
копирования и восстановления данных.
• Нерегулярное обновление программного обеспечения и антивирусных баз.
2) Слабая политика информационной безопасности:
• Использование простых паролей, отсутствие многофакторной
аутентификации.
• Неразграниченный доступ к критически важным данным и функциям
системы.
3) Отсутствие планирования непрерывности бизнеса (BCP):
• Нет разработанных планов действий на случай крупных сбоев или
катастроф.

9. Основные угрозы надежности

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

10. Основные угрозы надежности

1. Сбои и отказы системы
Это наиболее фундаментальная угроза, заключающаяся в нарушении
способности системы выполнять свои функции.
• Сбой (Interruption, Fault) — кратковременное, самоустраняющееся или
легко устранимое нарушение работоспособности. Система может
автоматически или с минимальным вмешательством вернуться в рабочее
состояние.
1) Примеры: «зависание» приложения, кратковременная потеря сетевого
соединения, единичная ошибка чтения с диска, исправляемая контроллером.
2) Последствия: Потеря несохранённых данных, раздражение пользователя,
незначительное снижение производительности.
• Отказ (Failure) — событие, заключающееся в полной или частичной
потере работоспособности системы на длительный или неопределённый срок.
Восстановление требует значительных усилий (ремонта, замены компонентов,
ручного вмешательства).
1) Примеры: Выход из строя жёсткого диска с повреждением данных,
сгорание блока питания сервера, критическая ошибка операционной системы
(«синий экран смерти»), делающая невозможной загрузку.
2) Последствия: Полная остановка бизнес-процессов, невозможность
доступа к сервисам, прямые финансовые убытки.

11. Основные угрозы надежности

2. Потеря и искажение информации
Эта угроза является одной из самых критичных, так как информация —
ключевой актив любой современной системы.
Потеря данных (Data Loss) — необратимое уничтожение информации без
возможности её восстановления.
Причины:
• Физическое повреждение носителей (пожар, затопление).
• Умышленное удаление (вредоносное ПО, действия инсайдера).
• Ошибки при обновлении или обслуживании системы.
• Сбои в системах хранения (например, одновременный выход из строя
нескольких дисков в RAID-массиве).
• Последствия: Катастрофические. Потеря финансовой отчётности,
клиентской базы, исходного кода ПО может привести к банкротству
компании.

12. Основные угрозы надежности

Искажение данных (Data Corruption/Integrity Violation) —
несанкционированное или случайное изменение информации, при котором
она становится неверной, но не удаляется.
Причины:
• Сбои при записи/чтении данных (битые сектора на диске).
• Вредоносное ПО (например, вирусы, подменяющие реквизиты в
платёжных документах).
• Ошибки в программном коде (некорректные вычисления).
• Несанкционированный доступ и модификация данных злоумышленником.
Последствия:
Часто более опасны, чем полная потеря. Использование неверных данных
для принятия решений (финансовых, медицинских) может привести к
тяжёлым последствиям, которые не сразу будут обнаружены.

13. Основные угрозы надежности

3. Снижение производительности и доступности
Эта угроза не приводит к полной остановке системы, но делает её работу
неэффективной или невозможной для пользователей.
Снижение производительности (Performance Degradation) — увеличение
времени отклика системы на запросы пользователей или замедление
выполнения внутренних операций ниже допустимого уровня.
Причины:
Перегрузка ресурсов (процессора, памяти, дисковой подсистемы) из-за
роста числа пользователей или неэффективного кода.
Фрагментация данных на дисках.
Работа вредоносного ПО в фоновом режиме.
Последствия: Пользователи уходят к конкурентам, снижается
продуктивность сотрудников, возникают сбои в работе смежных систем.
Снижение доступности (Availability Degradation) — уменьшение доли
времени, в течение которого система находится в рабочем состоянии и
способна предоставлять свои услуги.
Причины:
Частые сбои и отказы (см. п. 1).
Необходимость проведения длительных регламентных работ без должного

14. Основные угрозы надежности

4. Нарушение информационной безопасности
Эта категория угроз напрямую влияет на триаду информационной
безопасности: конфиденциальность, целостность и доступность (CIA triad).
Нарушение конфиденциальности (Breach of Confidentiality) — утечка
защищаемой информации к неавторизованным лицам.
Причины: Хакерские атаки, инсайдерская деятельность, потеря носителей
информации (ноутбуков, флешек), ошибки в настройках прав доступа.
Последствия: Утечка коммерческой тайны, персональных данных
клиентов, что ведёт к штрафам от регуляторов и потере доверия.
Нарушение целостности (Breach of Integrity) — по сути, является частным
случаем угрозы искажения данных (см. п. 2), но рассматривается в контексте
безопасности как несанкционированное изменение информации.
Нарушение доступности (Breach of Availability) — частный случай угрозы
снижения доступности (см. п. 3), вызванный целенаправленными действиями
злоумышленника (например, DDoS-атака или шифрование данных вирусомвымогателем).

15. Методы обеспечения надёжности и противодействия угрозам

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

16. Методы обеспечения надёжности и противодействия угрозам

1. Резервирование (Избыточность)
Это основной метод борьбы с отказами аппаратных и программных
компонентов. Его суть заключается в создании дополнительных (избыточных)
ресурсов, которые берут на себя нагрузку в случае отказа основных.
1) Аппаратное резервирование:
• Структурная (компонентная) избыточность:
Дублирование критически важных узлов. Например, использование
серверов с двумя блоками питания (каждый из которых может работать на всю
систему), установка нескольких жёстких дисков в RAID-массив, создание
кластеров из нескольких серверов.
• Информационная избыточность:
Добавление к данным специальных контрольных кодов (например, битов
чётности или кодов ECC), позволяющих обнаруживать и исправлять ошибки
при чтении/передаче данных.

17. Методы обеспечения надёжности и противодействия угрозам

2) Программное резервирование:
• Резервное копирование (Backup):
Регулярное создание копий данных и системных образов. Это основной
метод защиты от потери и искажения информации. Различают полные,
инкрементные и дифференциальные бэкапы.
• Кластеризация:
Объединение нескольких серверов в единую систему, которая для
пользователя выглядит как один сервер. При отказе одного из узлов его
функции автоматически перехватываются другими.
• Балансировка нагрузки (Load Balancing):
Распределение запросов между несколькими серверами. Это не только
повышает производительность, но и обеспечивает отказоустойчивость: если
один сервер выходит из строя, балансировщик просто перестаёт направлять на
него трафик.

18. Методы обеспечения надёжности и противодействия угрозам

2. Мониторинг, диагностика и прогнозирование
Эти методы направлены на раннее обнаружение проблем до того, как они
приведут к отказу.
1) Мониторинг (Monitoring):
Непрерывный сбор данных о состоянии системы в реальном времени.
• Что отслеживается:
Загрузка CPU, использование оперативной памяти и дискового
пространства, температура компонентов, сетевой трафик, количество ошибок
в журналах.
• Инструменты:
Системы мониторинга (например, Zabbix, Prometheus, Nagios)
автоматически оповещают администраторов о выходе показателей за
критические пороги.

19. Методы обеспечения надёжности и противодействия угрозам

2) Диагностика (Diagnostics):
Анализ собранных данных для выявления причин уже произошедших
сбоев или текущих аномалий в работе.
3) Прогнозирование (Prognostics):
Использование собранной статистики для предсказания возможных
отказов. Например, система S.M.A.R.T. в жёстких дисках анализирует его
состояние и может заранее предупредить о скором выходе из строя. Анализ
трендов нагрузки позволяет предсказать момент, когда ресурсов сервера
перестанет хватать.

20. Методы обеспечения надёжности и противодействия угрозам

3. Обновление и управление уязвимостями
Многие угрозы реализуются через известные уязвимости в программном
обеспечении. Своевременное обновление — ключевой метод защиты.
• Управление патчами (Patch Management):
Процесс регулярного тестирования и установки обновлений безопасности
для операционных систем, прикладного ПО и микропрограмм (firmware)
оборудования.
• Сканирование уязвимостей:
Использование специальных инструментов для автоматического поиска
слабых мест в системе до того, как их найдут злоумышленники.

21. Методы обеспечения надёжности и противодействия угрозам

4. Обеспечение информационной безопасности
Это комплекс мер, направленных на защиту от киберугроз, которые
являются одной из главных причин потери надёжности.
1) Сетевая безопасность:
• Межсетевые экраны (Firewalls):
Контроль и фильтрация сетевого трафика на основе заданных правил.
• Системы обнаружения/предотвращения вторжений (IDS/IPS):
Анализ трафика на предмет признаков атак и их автоматическая
блокировка.
• VPN-туннели:
Защищённое шифрованное соединение для удалённого доступа к
ресурсам сети.

22. Методы обеспечения надёжности и противодействия угрозам

2) Защита конечных точек (Endpoint Security):
• Антивирусное ПО:
Классическая защита от вредоносных программ.
• EDR/XDR-системы:
Более продвинутые решения, которые не просто блокируют угрозы, но и
анализируют их поведение, проводят расследование инцидентов и помогают в
реагировании.

23. Методы обеспечения надёжности и противодействия угрозам

5. Организационные меры и человеческий фактор
Технические средства бесполезны без правильной организации процессов
и обучения персонала.
1) Разработка политик и регламентов:
• Политика паролей:
Требования к сложности и регулярности смены паролей.
• Политика управления доступом:
Принцип минимально необходимых привилегий (пользователь получает
доступ только к тем ресурсам, которые нужны ему для работы).
• Регламенты резервного копирования:
Четкое расписание создания бэкапов, правила их хранения (включая
правило «3-2-1»: 3 копии, на 2 разных носителях, 1 из которых хранится
удалённо).

24. Методы обеспечения надёжности и противодействия угрозам

• Обучение персонала (Security Awareness Training):
Регулярное обучение сотрудников основам кибербезопасности: как
распознать фишинговое письмо, почему нельзя вставлять в компьютер
найденные флешки, как создавать надёжные пароли. Это самый эффективный
метод противодействия социальной инженерии.

25. Методы обеспечения надёжности и противодействия угрозам

6. Планирование непрерывности бизнеса (BCP) и аварийного
восстановления (DRP)
Это методы для действий в случае, когда превентивные меры не сработали
и катастрофа всё же произошла.
• Disaster Recovery Plan (DRP) — План аварийного восстановления:
Технический документ с пошаговыми инструкциями по восстановлению
ИТ-инфраструктуры после сбоя. Он отвечает на вопрос: «Как мы будем всё
чинить?».
• Business Continuity Plan (BCP) — План непрерывности бизнеса:
Более широкий организационный план, описывающий, как компания
будет продолжать функционировать во время и после катастрофы. Он
включает в себя не только ИТ-аспекты, но и логистику, коммуникации с
клиентами и сотрудниками. Отвечает на вопрос: «Как мы будем работать, пока
всё не починят?».
Эффективная стратегия обеспечения надёжности всегда является
комбинацией этих методов, адаптированной под конкретные риски и
критичность бизнес-процессов организации.

26. Методы обеспечения надёжности и противодействия угрозам

6. Планирование непрерывности бизнеса (BCP) и аварийного
восстановления (DRP)
Это методы для действий в случае, когда превентивные меры не сработали
и катастрофа всё же произошла.
• Disaster Recovery Plan (DRP) — План аварийного восстановления:
Технический документ с пошаговыми инструкциями по восстановлению
ИТ-инфраструктуры после сбоя. Он отвечает на вопрос: «Как мы будем всё
чинить?».
• Business Continuity Plan (BCP) — План непрерывности бизнеса:
Более широкий организационный план, описывающий, как компания
будет продолжать функционировать во время и после катастрофы. Он
включает в себя не только ИТ-аспекты, но и логистику, коммуникации с
клиентами и сотрудниками. Отвечает на вопрос: «Как мы будем работать, пока
всё не починят?».
Эффективная стратегия обеспечения надёжности всегда является
комбинацией этих методов, адаптированной под конкретные риски и
критичность бизнес-процессов организации.

27. Практическое задание

Рекомендации для ознакомления с типами угроз:
https://bdu.fstec.ru/vul - сайт с реестром уязвимостей систем (БДУ)
Задание 1. Модуль авторизации в приложении
Название: AuthModule
Описание: модуль отвечает за проверку учётных данных пользователя при
входе в приложение. Сравнивает введённый логин и пароль с данными,
хранящимися в локальной базе данных.
Рекомендации:
Используйте SQLMap для проверки на SQL-инъекции, анализируйте
хранение паролей, проверяйте обработку ошибок, тестируйте на брутфорс.
Код представлен на следующем слайде.

28. Практическое задание

Задание 1. Модуль авторизации в приложении
Код:
using System.Data.SqlClient;
using System.Windows;
public class AuthModule
{
private string connectionString = "Server=.;Database=UsersDB;Trusted_Connection=True;";
public bool Login(string login, string password)
{
using (var conn = new SqlConnection(connectionString))
{
conn.Open();
var cmd = new SqlCommand($"SELECT COUNT(*) FROM Users WHERE Login='{login}' AND Password='{password}'", conn);
int count = (int)cmd.ExecuteScalar();
return count > 0;
}
}
}
public partial class LoginWindow : Window
{
private AuthModule auth = new AuthModule();
public LoginWindow() => InitializeComponent();
private void BtnLogin_Click(object sender, RoutedEventArgs e)
{
if (auth.Login(TxtLogin.Text, TxtPassword.Password))
MessageBox.Show("Вход выполнен");
else
MessageBox.Show("Ошибка входа");
}
}

29. Практическое задание

Задание 2. Модуль получения и вывода данных из базы данных в
интерфейсе WPF
Название: DataDisplayModule.
Описание: модуль получает список пользователей из базы данных и
отображает их в DataGrid на WPF-форме. Позволяет искать пользователей по
имени.
Рекомендации:
• Используйте SQLMap для проверки на SQL-инъекции.
• Анализируйте обработку исключений (раскрытие структуры БД).
• Проверяйте хранение строки подключения (нет шифрования).
• Тестируйте на переполнение при большом объёме данных.
• Проверьте права доступа к данным.
Код представлен на следующем слайде.

30. Практическое задание

Задание 2. Модуль получения и вывода данных из базы данных в
интерфейсе WPF
Код:
using System.Data.SqlClient;
using System.Windows;
using System.Windows.Controls;
public class DataDisplayModule
{
private string connectionString = "Server=.;Database=UsersDB;User Id=sa;Password=123;";
public System.Data.DataTable GetUsers(string filter)
{
var dt = new System.Data.DataTable();
using (var conn = new SqlConnection(connectionString))
{
conn.Open();
var cmd = new SqlCommand($"SELECT * FROM Users WHERE Name LIKE '%{filter}%'", conn);
var adapter = new SqlDataAdapter(cmd);
adapter.Fill(dt);
}
return dt;
}
}
public partial class MainWindow : Window
{
private DataDisplayModule display = new DataDisplayModule();
public MainWindow() => InitializeComponent();
private void BtnSearch_Click(object sender, RoutedEventArgs e)
{
try
{
DgUsers.ItemsSource = display.GetUsers(TxtFilter.Text).DefaultView;
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
}

31. Практическое задание

Задание 3. Модуль шифрования и дешифровки данных
Название: CryptoModule.
Описание: модуль шифрует и расшифровывает пользовательские данные с
помощью алгоритма AES. Используется для защиты конфиденциальной
информации.
Рекомендации:
• Проанализируйте стойкость ключа и IV (OWASP ZAP).
• Проверьте отсутствие управления ключами.
• Тестируйте на устойчивость к атакам по словарю.
• Анализируйте обработку некорректных входных данных.
• Проверьте отсутствие проверки целостности данных.
Код представлен на следующих слайдах.

32. Практическое задание

Задание 3. Модуль шифрования и дешифровки данных
Код. Часть 1:
using System;
using System.IO;
using System.Security.Cryptography;
using System.Text;
using System.Windows;
public class CryptoModule
{
private static byte[] key = Encoding.UTF8.GetBytes("1234567890123456");
private static byte[] iv = Encoding.UTF8.GetBytes("1234567890123456");
public string Encrypt(string plainText)
{
using (var aes = Aes.Create())
{
aes.Key = key; aes.IV = iv;
var encryptor = aes.CreateEncryptor(aes.Key, aes.IV);
using (var ms = new MemoryStream())
{
using (var cs = new CryptoStream(ms, encryptor, CryptoStreamMode.Write))
using (var sw = new StreamWriter(cs))
sw.Write(plainText);
return Convert.ToBase64String(ms.ToArray());
}
}
}

33. Практическое задание

Задание 3. Модуль шифрования и дешифровки данных
Код. Часть 2:
public string Decrypt(string cipherText)
{
try
{
using (var aes = Aes.Create())
{
aes.Key = key; aes.IV = iv;
var decryptor = aes.CreateDecryptor(aes.Key, aes.IV);
using (var ms = new MemoryStream(Convert.FromBase64String(cipherText)))
using (var cs = new CryptoStream(ms, decryptor, CryptoStreamMode.Read))
using (var sr = new StreamReader(cs))
return sr.ReadToEnd();
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
return null;
}
}
}

34. Практическое задание

Задание 3. Модуль шифрования и дешифровки данных
Код. Часть 3:
public partial class CryptoWindow : Window
{
private CryptoModule crypto = new CryptoModule();
public CryptoWindow() => InitializeComponent();
private void BtnEncrypt_Click(object sender, RoutedEventArgs e)
=> TxtResult.Text = crypto.Encrypt(TxtInput.Text);
private void BtnDecrypt_Click(object sender, RoutedEventArgs e)
=> TxtInput.Text = crypto.Decrypt(TxtResult.Text);
}

35. Практическое задание

Задание 4. Модуль логирования действий в приложении
Название: LoggerModule.
Описание:
Модуль записывает важные события приложения (вход, ошибки, действия
пользователя) в текстовый файл лога для последующего анализа.
Рекомендации:
• Проверьте возможность Path Traversal в пути к логу (OWASP ZAP).
• Проанализируйте запись конфиденциальных данных в лог.
• Проверьте права доступа к файлу лога.
• Тестируйте на переполнение диска при большом количестве записей.
• Проверьте отсутствие ротации логов.

36. Практическое задание

Задание 4. Модуль логирования действий в приложении
Код:
using System.IO;
using System.Windows;
public class LoggerModule
{
private string logPath = @"C:\AppLogs\app.log";
public void Log(string message)
{
File.AppendAllText(logPath, $"{DateTime.Now}: {message}{Environment.NewLine}");
}
}
public partial class MainWindow : Window
{
private LoggerModule logger = new LoggerModule();
public MainWindow() => InitializeComponent();
private void BtnAction_Click(object sender, RoutedEventArgs e)
{
logger.Log($"Пользователь ввёл пароль: {TxtPassword.Password}");
MessageBox.Show("Действие выполнено");
}
}

37. Благодарю за внимание

English     Русский Правила