Похожие презентации:
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("Действие выполнено");
}
}