Содержание к диссертации
Введение
1. Проблематика управления трафиком 12
1.1. Управление трафиком вычислительной сети с коммутацией
пакетов (Ethernet) на основе стека протоколов TCP/IP 12
1.2. Управление трафиком по защищенным каналам 23
1.3. Управление трафиком в оверлейных сетях 27
1.4. Задачи исследования 33
2. Разработка метода управления трафиком на межсетевых узлах локальных вычислительных сетей 35
2.1. Объект исследования 35
2.2. Поиск оптимальных решений в задаче управления трафиком ЛВС 36
2.3. Метод управления трафиком на межсетевых узлах ЛВС 40
2.3.1. Модернизированный генетический алгоритм 40
2.3.2. Функции блока нечеткой логики 43
2.3.3. Пример работы модифицированного ГА 45
2.3.4. Механизм удаленного сетевого доступа 47
2.3.5. Функционирование ИС на основе предложенного метода 49
2.3.6. Реакция СИАУ на распределенную сетевую атаку 51
2.4. Выводы 54
3. Разработка алгоритма управления информационными потоками корпоративных вычислительных сетей 55
3.1. Понятие инсайдерских атак на корпоративную сеть 55
3.2. Алгоритм управления информационными потоками корпоративных вычислительных сетей 56
3.2.1. Структура алгоритма 56
3.2.2. Блок-схема алгоритма 59
3.3. Пример работы СИАУ 61
3.4. Выводы
4. Реализация системы интеллектуально-адаптивного управления трафиком вычислительной сети 63
4.1. Требования к системе и узлам ЛВС 63
4.2. Моделирование предметной области 65
4.3. Разработка базы данных 74
4.4. Выбор средств моделирования серверов 81
4.5. Выбор аппаратно-программной платформы и сборка сервера 86
4.6. Разработка и развертывание системы 88
4.7. Выводы 102
5. Анализ работы СИАУ 103
5.1. Описание функционирования системы 103
5.2. Тестирование системы 106
5.3. Выводы 112
Заключение 113
Список сокращений и условных обозначений
- Управление трафиком по защищенным каналам
- Поиск оптимальных решений в задаче управления трафиком ЛВС
- Алгоритм управления информационными потоками корпоративных вычислительных сетей
- Выбор средств моделирования серверов
Управление трафиком по защищенным каналам
Глобальная сеть Интернет построена на принципах модульности и открытости. С одной стороны, это содействует прогрессу, порождая конкуренцию и автономно-параллельное развитие каждого уровня, но с другой стороны, это предоставляет базу знаний для проведения злоумышленных действий [44].
Стек протоколов TCP/IP соответствует сетевой модели OSI (англ. open systems interconnection basic reference model — базовая эталонная модель взаимодействия открытых систем). В задаче управления трафиком ЛВС стоит абстрагироваться от технологий физического уровня: каналов связи, кодирования и мультиплексирования сигналов (так как это отдельное направление исследований). На каждом уровне информация передается в виде независимых единиц передачи данных - дейтаграмм.
На канальном уровне (англ. data link layer) дейтаграммы представлены MAC-кадрами, а его функции сводятся к установлению логического соединения между взаимодействующими узлами, согласованию скоростей приемника и передатчика информации в рамках текущего соединения, а так же обнаружению и коррекции ошибок. Для продвижения кадров сетевые устройства (например, коммутаторы) используют алгоритм прозрачного моста IEEE 802.1D. Функционируя в режиме "неразборчивого захвата", хост сканирует весь трафик, передаваемый в подключенных к нему сегментах, изучает топологию сети и составляет таблицу продвижения дейтаграмм (англ. Forwarding DataBase). В нее вносятся записи сопоставления MAC-адресов и портов. Если при продвижении кадра соответствующая запись не была найдена, то производится трансляция на все порты, кроме порта - источника. Элементарной угрозой для данного алгоритма является фальсификация программных или аппаратных сбоев посредством интенсивной генерации кадров с широковещательным адресом [45]. Коммутатор согласно алгоритму IEEE 802.1D передает ложный трафик на все порты, осуществляя широковещательный шторм (англ. broadcast storm). Единицы моделей сетевых узлов данного уровня позволяют устанавливать порог интенсивности, не устраняющий данную уязвимость. Так как величина данного параметра должна динамически вычисляться и устанавливаться интеллектуально-адаптивными алгоритмами. Маршрутизаторы (L3) способны устранять широковещательные шторма, но без дополнительных функций (например IP-binding, Port-security) защищать таблицу FDB от фальсификации не могут, при этом имеют свой широкий спектр уязвимостей.
На рынке представлены коммутаторы L2+ - сетевое оборудование второго уровня модели OSI (канального), частично задействовавшего функции и протоколы уровня межсетевого взаимодействия. Данные устройства поддерживают алгоритмы обеспечения качества обслуживания [46]: 1) анализ очередей по теории массового обслуживания, модели M/M/I и др. Задача исключительно математическая, но стоит отметить, что оценка параметров задержек дейтаграмм в очередях на коммутаторах затрудняется отсутствием исчерпывающей информации о коэффициенте загрузки и параметрах пульсации трафика; 2) управление очередями: FIFO, приоритетным, взвешенным, комбинированным обслуживанием; 3) кондиционирование и профилирование трафика; 4) инжиниринг трафика; 5) обратная связь; 6) резервирование ресурсов.
Данные алгоритмы уязвимы перед атаками на переполнение буфера коммутационного хоста [47]. Действия злоумышленника более эффективны при фальсификации битов типа обслуживания TOS (англ. Type Of Service), управляющих воздействий обратной связи (изученных первоначально сниффером) и адресов.
На сетевом уровне (англ. network layer) осуществляется управление операциями подсети: поиск кратчайших маршрутов, коммутация и маршрутизация, диагностика неполадок, трансляция логических адресов и имн в физические (из IP и DNS в MAC адреса). В рамках данного уровня основополагающими являются следующие протоколы: IP (англ. Internet Protocol) - протокол межсетевого взаимодействия; ICMP (англ. Internet Control Message Protocol) - протокол межсетевых управляющих сообщений, используемый для уведомления об ошибках; ARP (англ. Address Resolution Protocol) и обратный RARP - протоколы разрешения IP и MAC адресов; RIP2 (англ. Routing Information Protocol v2) - протокол маршрутной информации второй версии; OSPF (англ. Open Shortest Path First) - протокол динамической маршрутизации, основанный на алгоритмах отслеживания состояния канала, задействующий алгоритм Дейкстры.
Жесткая логика алгоритмов данных протоколов предоставляет широкий спектр уязвимостей для атак различных видов [48]: ложных ARP-ответов, навязыванию ложного маршрутизатора, навязыванию ложных параметров конфигурирования, сбои протоколов маршрутизации, имперсонации и др.
В первом случае для перехвата трафика между узлами "А" и "В", которые располагаются в одной IP-сети, злоумышленник задействует протокол ARP. Производится рассылка сфальсифицированных ARP-сообщений таким образом, что каждый из атакуемых хостов интерпретирует МАС-адрес злоумышленника адресом своего собеседника (представлено на рисунке 1.1).
Для обнаружения ARP-атак системному администратору необходимо вести базу данных соответствия MAC и IP-адресов всех узлов сети, задействовать более дорогостоящие коммутаторы L2+ с функциями IP-binding (соотнесение MAC и IP-адресов) и Port-security (связывание MAC-адресов с портами коммутатора), а так же использовать программное обеспечение активного сниффинга трафика. Но данные действия не устраняют угрозу, так как функция IP-MAC-Port binding коммутаторов включает два режима работы: ARP (по умолчанию) и список контроля доступа ACL (англ. Access Control List). В первом случае невозможно организовать фильтрацию в случае, если хакер/сниффер присвоит себе статический адрес для спуфинга коммутатора. Во втором тратится профиль ACL (лимитировано количество), а также необходимо досконально продумывать стратегию ACL.
Атака навязывания ложного маршрутизатора (представлена на рисунке 1.2) может быть применена злоумышленником для перехвата информации, направленной от некоторого хоста "А" в другую сеть посредством навязывания данному узлу своего адреса в качестве адреса маршрутизатора [48]. Таким образом, трафик хоста "А" будет проходить через узел злоумышленника, который после анализа и, возможно, модификации данных отправит их далее настоящему маршрутизатору. Навязывание ложных маршрутов выполняется с помощью фальсифицированных ICMP-сообщений Redirect. Согласно документу RFC-1122 сетевые узлы должны обязательно обрабатывать такие сообщения.
Поиск оптимальных решений в задаче управления трафиком ЛВС
Атака навязывания ложного маршрутизатора Стоит отметить, что даже отключение на сетевых узлах обработки сообщений Redirect не всегда надежно закрывает данную уязвимость, так как операционные системы имеют ряд "дыр", примером которых может служить включение данного параметра при обработке специально фрагментированного пакета. Ряд операционных систем не предоставляют возможности изменения подобных настроек.
Аналогично производится атака при конфигурировании хоста [48]. Возможно навязывание ложного пограничного узла посредством ICMP-сообщения Router Advertisement или через протокол динамической настройки узла DHCP (англ. Dynamic Host Configuration Protocol). Злоумышленник может организовать в сети поддельный DHCP-сервер. DHCP-клиент узла-жертвы отправляет широковещательное сообщение DHCP-поиска, на которое все DHCP-серверы высылают свои DHCP-предложения, а принимается и подтверждается первое. Соответственно, комбинируя сетевые атаки (что бы пакет от поддельного сервера пришел первым), злоумышленник может полностью изолировать жертву для дальнейшего взлома или ее состояния недоступности в легитимной сети. Атака на протоколы маршрутизации [49] представляет высокую степень угрозы ИБ ИКТ предприятия. Осуществляется злоумышленником с целью перехвата трафика при его расположении в пограничной межсетевой зоне. Для переключения требуемых маршрутов на собственный сетевой узел рассылаются фальсифицированные сообщения протоколов маршрутизации. Пример нападения проиллюстрирован на рисунке 1.3, где хакер (узел "X") расположен между узлами сети "Р" и узлами сети "Q" и хочет перехватить трафик между ними.
Рисунок 1.3 - Атака на протоколы маршрутизации Хост "Х", принимает широковещательные RIP-сообщения: вектор P=3 от узла "A" и вектор Q=2 от узла "B". Далее отправляет сообщения узлам "A" и "B" с заниженными параметрами метрики: векторами Q=1 и P=2 соответственно. Аутентификация TCP-сегментов/A-MD5 частично нейтрализует данную угрозу, но программные уязвимости маршрутизаторов оставляют ее открытой.
За уровнем межсетевого взаимодействия следует транспортный уровень (англ. Transport layer), отвечающий за доставку данных. На данном уровне наиболее широко распространены протоколы пользовательских датаграмм (англ. User Datagram Protocol) и управления передачей TCP (англ. Transmission Control Protocol). Первый обеспечивает высокоскоростную передачу данных, а второй -надежную, с установлением явного соединения. Параметры режима скользящего окна протокола TCP и механизмы обратной связи легко могут быть изменены хакером, например, для ускоренной передачи данных с целью переполнения буфера второго узла. В комбинированных атаках может быть применена имперсонация с помощью десинхронизации и дальнейшего установления контроля над TCP-соединением [48,49].
Имперсонация без обратной связи (проиллюстрирована на рисунке 1.4) представляет более интересный случай, когда хост "Х" находится в удаленной сети от узлов "А" и "В" (даже не в их пограничном межсетевом сегменте).
В рамках одного сегмента сети возможно применение атаки на десинхронизацию TCP-соединения, обусловленную уязвимостью "жесткой" логики модели TCP/IP (ориентированного в первую очередь на надежность передачи данных). Имперсонация с целью установления полного контроля над соединением в англоязычной литературе именуется TCP hijacking.
В состоянии десинхронизации попытки обмена данными вызывают поток ACK-штормов, производится исключение сегментов с участниками соединения. Хакер делегирует себе функции посредника.
Существуют различные вариации данных атак: ранняя, упреждающая, нулевая и др. десинхронизации. Если маршрутизатору разрешено транслировать датаграммы с полем Protocol=4 и датаграммы с опциями во внешнюю сеть, то возникает угроза туннелирования. Например, маршрутизатор разрешает отправку дейтаграмм внешними узлами лишь хосту "B", для остальных объектов назначения применяется политика блокировки доступа. Хакер может воспользоваться узлом "В" в качестве ретранслятора пакетов, направленных в "А". Для этого он создает датаграмму, направленную из "Х" в "В", в поле Protocol которой помещается значение 4 («IP»), а в поле данных вложена искомая IP-датаграмма, направленная из "Х" в "А" (в соответствии с рисунком 1.5).
Атака туннелирование Фильтр маршрутизатора пропускает пакет, адресованный датаграмму, далее отправляет ее по идентифицированному адресу - хосту "А". Операция туннелирования разрешенному узлу В, а IP-модуль узла "В" извлекает из нее вложенную успешно завершена.
Рассматривая протоколы прикладного уровня (англ. Application layer), в качестве примера можно привести проприетарный протокол удалнного рабочего стола RDP (англ. Remote Desktop Protocol) корпорации Microsoft. Его задача состоит в обеспечении удалнной работы пользователей с сервером, на котором запущен сервис терминальных подключений. Клиенты интегрированы во все версии Windows. Несовершенство операционных систем и программного обеспечения — одна из главных причин колоссального ущерба, нанесенного мировой экономике компьютерными злоумышленниками. Для поддержания состояния защищенности системы выпускаются обновления ПО, "заплатки". Процесс итерационный и бесконечный, протекающий, как правило, со значительной задержкой относительно первичной идентификации бага (англ. bug - вредоносный. Подразумевается неожиданное поведение системы, сбои, уязвимости, ошибки). Так выпуск бюллетеня безопасности MS12-020 состоялся спустя год после изложения описания уязвимостей хакерами на тематических форумах в скрытой оверлейной сети интернета I2P (см. пп. 1.3). В рамках данного патча MS12-020 было закрыто две уязвимости: CVE-2012-0002 (RCE в RDP) и CVE-2012-0152 (DoS в Terminal Server), позволяющие выполнять произвольный код на удаленной системе при мощи специально сформированного RDP-пакета и распространять сетевых червей.
Алгоритм управления информационными потоками корпоративных вычислительных сетей
Рассмотрим пример работы блока генетической алгоритмизации в СИАУ на примере реальной систем, содержащей 10 модельных объектов.
С локальных IP-адресов началась фальсифицированная рассылка ICMP-сообщений различного типа (в том числе и redirect), затем была запущена программа активного анализа сервера, первоначально имитирующая атаки низкого уровня угрозы. СИАУ идентифицировала по сигнатуре низкую степень угрозы со стороны локальной вычислительной сети и запустила блок генетической алгоритмизации по событию "идентификация угрозы".
На подозрительное возмущение (соответствующее сигнатуре) система составила начальную выборку стратегий реагирования: в данном случае 78 особей. Далее система перенаправила идентичные информационные потоки на свои десять модельных объектов, подключенные к альтернативному каналу связи, для апробации решений.
В результате скрещивания, мутации и отбора особей на второй итерации работы система выделила четыре жизнеспособных хромосомы (значения функции приспособленности выше статистического для данной сигнатуры):
1) отправить данные с логином и паролем имитируемого подключения к FTP-серверу в открытом виде через сегмент сети, потенциально подверженный перехвату данных злоумышленником.
Основные гены: тип решения- ловушка; протокол - FTP; порты - 20, 21; аутентификация - открытая, генерация логина и пароля; маршрут -альтернативный канал связи - L2-S3 - основной канал связи LAN СИАУ; действие - отправить сгенерированные данные через подозрительный сегмент сети; реагирование - если идентифицирована попытка FTP-соединения с ранее сгенерированными данными, то оборвать соединение и добавить в "черный список" IP-адрес, а также добавить в "черный список" IP-адреса подозрительных хостов, немедленно прекративших соединение ("if IsInfFlow (eth0:20,21) then DROP & WriteInBL (curIP) & AnalysIdIPs; DROP & WriteMInBL (curIPs);"). Значение функции приспособленности, вычисленное системой, равно = 78%;
2) отправить ложный DHCP-запрос в сегмент сети, потенциально подверженный перехвату данных злоумышленником. Основные гены: тип решения - ловушка; протокол - DHCP; запрос широковещательный; действие - отправить сгенерированные данные в подозрительный сегмент сети; реагирование - если поступает DHCP предложение, то внести IP адрес отправителя в черный список и блокировать соединение ("if IsInfoFlowD (DHCP-offer) then DROP & WriteInBL (curIP)"). Значение функции приспособленности, вычисленное системой, равно = 0.7%.
3) имитировать состояние зависания. Основные гены: тип решения - ловушка; протокол - аналогичный входящему; действие - установить ловушку "зависание" ("install (tarpit)"); реагирование - если идентифицирована попытка удаленного доступа, то внести IP адрес в черный список и разорвать текущее соединение ("if IsInfoFlowRA (RemoteAC) then DROP & WriteInBL (curIP)"). Значение функции приспособленности, вычисленное системой, равно = 0,4%.
4) проверить основные характеристики линии связи. Основные гены: тип решения - проверка; протокол - ICMP; действие -проверка доступности и анализ сетевых параметров линии связи до объекта ("NetAnalysis (AverVal)"); реагирование - если идентифицированы проблемы в линии связи, то блокировать пакеты с уведомлением по ICMP и известить специалиста по e-mail ("DeviationsDL (Srv) & mailTo (Adr, textEr)"). Значение функции приспособленности, вычисленное системой, равно = 0,05%. Первая хромосома показала наилучший результат в сравнительном анализе со всеми раннее сгенерированными решениями. Разгрузила загрузку линии связи модельного объекта на 78%.
Третья хромосома имитировала состояние зависания, вторая - ложный DHCP-запрос. Однако, программное обеспечение злоумышленника (и он сам) никак на них не отреагировали.
Последняя хромосома пыталась идентифицировать наличие потенциальной проблемы в канала связи объекта на предмет привнесения различных задержек, повреждения канала связи и др. Но никаких отклонений не было выявлено. Среднее значение функции приспособленности оказалось лучше статистического на 8,79%. Очевидно, блоком нечеткой логики была принята первая стратегия реагирования. Генетическая алгоритмизация продолжила работу согласно пункту
Однако, на третьей итерации контур нечеткой логики остановил работу ГА, так как все решения оказались хуже рассматриваемых на второй итерации (ставших статистическими), согласно пункту .
Для организации удаленного администрирования системы был разработан механизм удаленного сетевого доступа [83], имеющий в своей основе технологию «простукивания портов», но расширенную алгоритмом динамического формирования последовательности условий.
Клиент-серверная модель использует: информацию о предшествующих успешных соединениях (дату, время, флаги пакетов выборка блоком нечеткой логики ); информацию о текущей дате; последовательность сгенерированных стохастических параметров (естественно, с использованием авторского генератора псевдослучайных чисел, а не DualECDRBG Dual Elliptic Curve Deterministic Random Bit Generation ); ЭЦП.
На основе данных параметров с использованием хэш-функции и нечеткой логики формируется необходимая последовательность портов и протоколов. Для составления итоговой последовательности (рисунок 2.3) нечеткая логика включает http-обращения из tor-сети (посредством «луковой» маршрутизации) со списка хостов корпоративного нода. динамический анализ трафика (в том числе сигнатурный), идентификация попыток сканирования, зондирования и взлома. В случае обнаружения подозрительной сетевой активности системой производится оценка степени угрозы и предпринимается, в зависимости от ситуации, следующее действие:
Выбор средств моделирования серверов
К тому же следует отметить, что не всегда необходимо строить практически все диаграммы UML. Аналитик или разработчик самостоятельно принимает решение: необходим ли ему данный уровень детализации, нужно ли изучить систему или ее составляющую с "иной точки зрения", достаточно ли исчерпывающе рассмотрены самые "сложные и скрытые моменты" и т. д.
UML-шаблон в части бизнес-модели позволяет получить исчерпывающие ответы на ряд стандартных вопросов функционирования учреждения: каковы виды деятельности предприятии, предметные области менеджмента (предметно-структурный аспект); перечень функционирующих бизнес-процессов (функциональный аспект); автор и локация выполнения бизнес-процессов (организационный аспект); параметры выполнения бизнес-процессов (методический аспект); временные интервалы выполнения бизнес-процессов (динамический аспект); что, откуда и куда перемещается, обрабатывается, получается в материальных и в связанных с ними информационных потоках (сущностно-элементный аспект); посредством чего (какими инструментами) выполняются бизнес-процессы (ресурсный и технологический аспекты).
Для решения этих задач выбраны средства компьютерной поддержки процессов моделирования и разработки информационных систем - CASE-средства (Rational Enterprise Suite).
Еще раз стоит отметить, что данная работа выполняется по положению о конфиденциальности, поэтому представлены лишь выдержки и примеры разработки демонстрационного проекта.
Для выявления бизнес-процессов рассмотрим структурно-функциональный аспект моделирования деятельности фирмы, для его отражения используются следующие UML-диаграммы, Business Use-Case и Use-Case. Диаграмма Business Use-Case модель предназначена для быстрого изучения высокоуровневых отношений в бизнесе без подробностей и информации, которая может затруднить изучение взаимосвязи между участниками бизнес-процессов. Основными компонентами бизнес-модели является бизнес-роль, роль сотрудника и бизнес вариантов использования.
Бизнес-роль может исполнять любой человек или подразделение, которые являются внешними по отношению к организации, но взаимодействуют с ней. В рассматриваемой предметной области примером является перевозчик. Роль сотрудника - это роль внутри организации. Например, инспектор по техническому надзору за пассажирскими перевозками.
Бизнес-вариант использования - это группа рабочих потоков внутри организации, которая описывает деятельность организации для бизнес-роли. В данном проекте примером может служить «запрос/выдача информации» и, соответственно, «одобрение/наложение моратория/фальсификация» (рисунок 4.1Диаграмма Use-Case вариантов использования является исходным концептуальным представлением или концептуальной моделью информационной системы в процессе ее проектирования и разработки.
Также диаграмма Use-Case позволяет создать список операций, которые должна выполнять система. Часто этот вид диаграмм называют диаграммой функций, потому что на основе таких диаграмм создается список требований к системе и определяется множество выполняемых системой функций. Данные объекты – это описание сценария поведения, которому следуют действующие лица.
Действующие лица, актеры – это все, кто взаимодействует с разрабатываемой системой, и все, что находится вне действия системы. Актеры осуществляют работу с системой посредством вариантов использования, именуемых прецедентами, которые описывают функции предоставляемые системой, показывают, как можно использовать информационную систему.
Приведем пример актера и прецедента на диаграмме Use Case (рисунок 4.2). Стоит отметить, что разработанная система интеллектуально-адаптивного управления трафиком вычислительной сети (функционирующая на основе авторских методов управления трафиком) будет обладать свойствами искусственного интеллекта (способна полнофункционально работать в автономном режиме – без вмешательства специалиста, изменять стратегию и тактику реагирования, видоизменять собственную архитектуру – «эволюционировать»). Соответственно, в терминах UML СИАУ может именоваться актером.
Диаграмма вариантов использования Актер – «Инженер информационной безопасности (либо автономный режим работы системы интеллектуального управления трафиком)»: осуществляет основные бизнес-процессы системы. Доступные варианты использования: 1) сохранение целостности/доступности/конфиденциальности информации; 2) обеспечение безопасного доступа локальных пользователей к внутренним информационным ресурсам; 3) обеспечение безопасного доступа локальных пользователей к внешним информационным ресурсам; 4) обеспечение взаимодействия с внешними источниками, идентификация злоумышленных действий и их предотвращение; 5) формирование, планирование стратегии и отчетов, отражение рабочего процесса; 6) и др. Другие стандартные роли: администратор базы данных, администратор системы, администратор сервера и др. не рассматриваются в силу стандартности.
При моделировании функционирования проектируемой системы складывается необходимость не только изложить процесс изменения ее состояний, но и детализировать особенности алгоритмической и логической реализации выполняемых ИС операций. Стандартно в решении данной задачи применялись блочные, структурные схемы алгоритмов. Что акцентировало внимание на ходе выполнения установленных действий, элементарных транзакций, которые в ИС достигают желаемый результат.
В рамках языка UML деятельность (activity) представляет собой некоторую совокупность отдельных вычислений, выполняемых автоматом. При этом отдельные элементарные вычисления могут приводить к некоторому результату или действию (action). На диаграмме деятельности изображается логика и структура перехода от одной деятельности к другой, а акцент выставляется на результате деятельности. Результат может привести к изменению состояния ИС или возврату значения, откату транзакции.
Таким образом, построение Activity-диаграмм позволяет раскрыть методический аспект бизнес-процессов. Любая бизнес-транзакция представляет собой полную или частичную реализацию некоторой функции управления, результатом выполнения которой является актуальный на том или ином уровне управления результат.
Наиболее целесообразно построение Activity-диаграмм для тех вариантов использования, выполнение которых связано с наибольшим числом операций, приводящих к ожидаемому результату.