[МУЗЫКА] Система анализа защищенности как класс систем обнаружения и предотвращения компьютерных атак, кстати, именно этот класс, в общем-то, в полной мере обеспечивает слово «предотвращение компьютерных атак», именно этот класс систем ответственен за предотвращение еще не реализованных компьютерных атак, основывается на оценке возможностей нарушителя и пресечении угроз еще до того, как они им эксплуатируются. Такие системы предназначены для выявления имеющихся в системе уязвимостей, которые можно разделить на три категории уязвимостей: проектирования, которые вносятся в систему на этапе выбора проектных решений, выбора конкретных алгоритмов для реализации, выбора каких-то конкретных взаимосвязей между отдельными модулями. Ну примером уязвимости проектирования может являться, например, выбор ненадежного алгоритма шифрования. Если алгоритм сам по себе ненадежен, то, даже будучи идеально реализован, он будет уязвим. Следующая категория уязвимостей — это уязвимости реализации, уязвимости, вносимые при создании программного обеспечения на основе выбранного алгоритма. Даже при идеальном алгоритме некачественная программная реализация может внести дополнительные уязвимости, которые могут быть эксплуатируемы нарушителем. И, наконец, уязвимости эксплуатации — это уязвимости, которые вносят администратор и пользователь в процессе повседневной эксплуатации информационной системы. Выявление уязвимостей проектирования и реализации, как правило, происходят при помощи так называемых экспертных систем, которые содержат известные сведения о том, какие алгоритмы являются надежными, какие конструкции в языках программирования являются, наоборот, уязвимыми, опасными и такими, которые часто используют нарушители. Такие системы исследуют заложенные алгоритмы и модели, исходные тексты программы, исполняемые файлы и выдают решения о том, содержатся ли в конкретной программной реализации, например, уязвимые конструкции или уязвимые и недостаточно надежные алгоритмы, то есть выдают некую оценку надежности конкретной информационной системы. Что же касается уязвимости эксплуатации, то для их выявления также используют системы как на уровне сети, так и на уровне отдельных узлов сети, при этом узловые системы анализа уязвимостей могут обнаруживать уязвимости операционной системы, уязвимости системы управления базами данных или уязвимости конкретных приложений. Это более такие узконаправленные системы. В них, как правило, содержится перечень известных уязвимостей конкретных объектов. Они при этом зависят от этих объектов, то есть они не могут использоваться для других аналогичных объектов, например, для других СУБД или для других операционных систем. При выявлении уязвимостей эксплуатации подобные систем, как правило, используют два основных подхода: либо пассивный анализ, иначе называемым в литературе сканированием, — это определение по косвенным признакам факта наличия уязвимости; либо активный анализ, называемый зондированием в некоторых источниках, то есть установление подтвержденного факта наличия уязвимости путем активных проверок, включая имитацию атаки. При пассивном анализе практически исключена какая-то несанкционированная деятельность и активность по отношению к информационной системе, то есть ничто не может быть повреждено. При этом активный анализ хотя и является более опасным, может в процессе имитации атаки привести к каким-то несанкционированным действиям, даже к какому-то инциденту безопасности, выдает более точный результат, меньшее количество ложных срабатываний, то есть якобы обнаруженных уязвимостей, которых на самом деле нет. Что касается выбора, на каком уровне проводить защищенность — на уровне сети либо на уровне прикладного программного обеспечения, то у каждого из таких подходов есть как достоинства, так и недостатки, и несколько слов о них стоит сказать. При анализе защищенности на уровне сети, то есть всей информационной системы в целом, сильными местами является независимость от конкретных операционных систем на узлах сети, анализ на основе сетевых протоколов и отсутствие необходимости установки дополнительных программных средств, так называемых агентов, на узлы сети. Как правило, система анализа защищенности на уровне сети запускается администратором с какой-то одной консоли, с какого-то одного управляющего модуля, после чего оценивается состояние сетевых настроек, возможно, сетевой трафик, отсутствие или наличие каких-то непредвиденных сетевых пакетов, возможно, но хотя анализ пакетов, как правило, остается на долю уже систем обнаружения реализуемых атак, системы анализа защищенности в большей степени проверяют сетевые настройки, то есть реакцию конкретных узлов сети на различные сетевые пакеты, реакцию сетевого оборудования на различные, может быть, нестандартные сетевые пакеты и таким образом выясняют, как все эти узлы сети реагируют на возможные атаки. Недостатками же такого подхода является то, что обнаруживается при этом лишь часть атак, в которые не входят атаки на конкретные операционные системы и прикладные программы. Ну, в самом деле, по сетевым настройкам, по сетевому трафику можно определить лишь уязвимость к атакам типа отказ в обслуживании и подобного рода атакам, призванным выводить из строя оборудование, как правило, не путем какого-то повреждения, а путем их перегрузки. Что же касается конкретных вредоносных воздействий, например, на операционные системы и прикладные программы, то на уровне сети зачастую подобные атаки не обнаруживаются. Ну поскольку на уровне сети у сетевого пакета в большинстве случаев формально изучаются различные параметры, а отдельные пакеты и их последовательность в некую атаку, в некую последовательность действий складываются уже на конкретном узле. Такой подход зависит от возможности работы системы с конкретными сетевыми протоколами, то есть, если система с какими-то протоколами не работает, имеется в виду система анализа защищенности, то оценить уязвимость к атакам по таким протоколам невозможно. Ну и еще один недостаток заключается в том, что анализ защищенности на уровне сети может создавать дополнительную нагрузку на сеть информационной системы, что, разумеется, нежелательно. Что же касается анализа защищенности на уровне операционной системы, то его сильными сторонами является более точный анализ уязвимости, чем на уровне сети, поскольку здесь уже можно выявлять конкретные уязвимости конкретного узла к тем или иным как к сетевым, так и, возможно, локальным воздействиям. Именно такой анализ дает максимально точный перечень уязвимостей для конкретного узла с учетом его установленной операционной системы и актуальных настроек. Но такой анализ не лишен и недостатков, к ним относится, во-первых, применимость только для устройств, имеющих операционную систему, то есть например сетевое оборудование, у которого понятие операционной системы в принципе отсутствует, таким образом, проанализировано быть не может. А для того чтобы проводить такой анализ, требуется конфигурировать систему под конкретную используемую операционную систему, ну как минимум загружать известный список уязвимостей для конкретной операционной системы, а также и для конкретной ее версии, возможно, с конкретными обновлениями и дополнениями от поставщика. Для того чтобы поддерживать систему как раз в таком актуальном состоянии, может требоваться частое и трудоемкое обновление конфигурации. Выпустил поставщик некое обновление к операционной системе, поменял что-то в настройках, в некоей логике функционирования этой операционной системы, появились новые уязвимости, а, возможно, и часть ранее известных стала неактуальной. Соответственно, требуется обновить конфигурацию и на системе анализа защищенности на уровне операционной системы, а это может быть трудоемко. И для того чтобы провести такой анализ, требуется на каждом узле сети запускать либо отдельное программное обеспечение, либо по сети подключаться к каждому такому узлу, на котором проводится сканирование. Это, разумеется, требует дополнительных трудозатрат от службы безопасности. [МУЗЫКА] [МУЗЫКА]