Системного программного обеспечения

Уязвимости системного программного обеспечения необходимо рассматривать с привязкой к архитектуре построения вычислительных систем.

При этом возможны уязвимости:

- в микропрограммах, в прошивках ПЗУ, ППЗУ;

- в средствах операционной системы, предназначенных для управления локальными ресурсами ИСПДн (обеспечивающих выполнение функций управления процессами, памятью, устройствами ввода/вывода, интерфейсом с пользователем и т.п.), драйверах, утилитах;

- в средствах операционной системы, предназначенных для выполнения вспомогательных функций, – утилитах (архивирования, дефрагментации и др.), системных обрабатывающих программах (компиляторах, компоновщиках, отладчиках и т.п.), программах предоставления пользователю дополнительных услуг (специальных вариантах интерфейса, калькуляторах, играх и т.п.), библиотеках процедур различного назначения (библиотеках математических функций, функций ввода/вывода и т.д.);

- в средствах коммуникационного взаимодействия (сетевых средствах) операционной системы.

Уязвимости в микропрограммах и в средствах операционной системы, предназначенных для управления локальными ресурсами и вспомогательными функциями, могут представлять собой:

- функции, процедуры, изменение параметров которых определенным образом позволяет использовать их для несанкционированного доступа без обнаружения таких изменений операционной системой;

- фрагменты кода программ («дыры», «люки»), введенные разработчиком, позволяющие обходить процедуры идентификации, аутентификации, проверки целостности и др.;

- отсутствие необходимых средств защиты (аутентификации, проверки целостности, проверки форматов сообщений, блокирования несанкционированно модифицированных функций и т.п.);

- ошибки в программах (в объявлении переменных, функций и процедур, в кодах программ), которые при определенных условиях (например, при выполнении логических переходов) приводят к сбоям, в том числе к сбоям функционирования средств и систем защиты информации.

Уязвимости протоколов сетевого взаимодействия связаны с особенностями их программной реализации и обусловлены ограничениями на размеры применяемого буфера, недостатками процедуры аутентификации, отсутствием проверок правильности служебной информации и др. Краткая характеристика этих уязвимостей применительно к протоколам приведена в таблице 2.

Таблица 2

Уязвимости отдельных протоколов стека протоколов TCP/IP,

на базе которого функционируют глобальные сети общего пользования

Наименование протокола Уровень стека протоколов Наименование (характеристика) уязвимости Содержание нарушения безопасности информации
FTP (File Transfer Protocol) – протокол передачи файлов по сети Прикладной, представи-тельный, сеансовый 1. Аутентификация на базе открытого текста (пароли пересылаются в незашифрованном виде) 2. Доступ по умолчанию 3. Наличие двух открытых портов Возможность перехвата данных учетной записи (имен зарегистрированных пользователей, паролей). Получение удаленного доступа к хостам
telnet – протокол управления удаленным терминалом Прикладной, представи-тельный, сеансовый Аутентификация на базе открытого текста (пароли пересылаются в незашифрованном виде) Возможность перехвата данных учетной записи пользователя. Получение удаленного доступа к хостам
UDP – протокол передачи данных без установления соединения Транспорт-ный Отсутствие механизма предотвращения перегрузок буфера   Возможность реализации UDР-шторма. В результате обмена пакетами происходит существенное снижение производительности сервера
ARP – протокол преобразования IP-адреса в физический адрес Сетевой Аутентификация на базе открытого текста (информация пересылается в незашифрованном виде) Возможность перехвата трафика пользователя злоумышленником
RIP – протокол маршрутной информации Транспорт-ный Отсутствие аутентификации управляющих сообщений об изменении маршрута Возможность перенаправления трафика через хост злоумышленника
TCP – протокол управления передачей Транспорт-ный Отсутствие механизма проверки корректности заполнения служебных заголовков пакета Существенное снижение скорости обмена и даже полный разрыв произвольных соединений по протоколу TCP
DNS – протокол установления соответствия мнемонических имен и сетевых адресов Прикладной, представи-тельный, сеансовый Отсутствие средств проверки аутентификации полученных данных от источника Фальсификация ответа DNS-сервера
IGMP – протокол передачи сообщений о маршрутизации Сетевой Отсутствие аутентификации сообщений об изменении параметров маршрута Зависание систем Win 9x/NT/200
SMTP – протокол обеспечения сервиса доставки сообщений по электронной почте Прикладной, представи-тельный, сеансовый Отсутствие поддержки аутентификации заголовков сообщений Возможность подделывания сообщений электронной почты, а также адреса отправителя сообщения
SNMP – протокол управления маршрутизаторами в сетях Прикладной, представи-тельный, сеансовый Отсутствие поддержки аутентификации заголовков сообщений Возможность переполнения пропускной способности сети

 

Для систематизации описания множества уязвимостей используется единая база данных уязвимостей CVE (Common Vulnerabilities and Exposures), в разработке которой принимали участие специалисты многих известных компаний и организаций, таких как MITRE, ISS, Cisco, BindView, Axent, NFR, L-3, CyberSafe, CERT, Carnegie Mellon University, институт SANS и т.д. Эта база данных постоянно пополняется и используется при формировании баз данных многочисленных программных средств анализа защищенности и, прежде всего, сетевых сканеров.