Системного программного обеспечения
Уязвимости системного программного обеспечения необходимо рассматривать с привязкой к архитектуре построения вычислительных систем.
При этом возможны уязвимости:
- в микропрограммах, в прошивках ПЗУ, ППЗУ;
- в средствах операционной системы, предназначенных для управления локальными ресурсами ИСПДн (обеспечивающих выполнение функций управления процессами, памятью, устройствами ввода/вывода, интерфейсом с пользователем и т.п.), драйверах, утилитах;
- в средствах операционной системы, предназначенных для выполнения вспомогательных функций, – утилитах (архивирования, дефрагментации и др.), системных обрабатывающих программах (компиляторах, компоновщиках, отладчиках и т.п.), программах предоставления пользователю дополнительных услуг (специальных вариантах интерфейса, калькуляторах, играх и т.п.), библиотеках процедур различного назначения (библиотеках математических функций, функций ввода/вывода и т.д.);
- в средствах коммуникационного взаимодействия (сетевых средствах) операционной системы.
Уязвимости в микропрограммах и в средствах операционной системы, предназначенных для управления локальными ресурсами и вспомогательными функциями, могут представлять собой:
- функции, процедуры, изменение параметров которых определенным образом позволяет использовать их для несанкционированного доступа без обнаружения таких изменений операционной системой;
- фрагменты кода программ («дыры», «люки»), введенные разработчиком, позволяющие обходить процедуры идентификации, аутентификации, проверки целостности и др.;
- отсутствие необходимых средств защиты (аутентификации, проверки целостности, проверки форматов сообщений, блокирования несанкционированно модифицированных функций и т.п.);
- ошибки в программах (в объявлении переменных, функций и процедур, в кодах программ), которые при определенных условиях (например, при выполнении логических переходов) приводят к сбоям, в том числе к сбоям функционирования средств и систем защиты информации.
Уязвимости протоколов сетевого взаимодействия связаны с особенностями их программной реализации и обусловлены ограничениями на размеры применяемого буфера, недостатками процедуры аутентификации, отсутствием проверок правильности служебной информации и др. Краткая характеристика этих уязвимостей применительно к протоколам приведена в таблице 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 и т.д. Эта база данных постоянно пополняется и используется при формировании баз данных многочисленных программных средств анализа защищенности и, прежде всего, сетевых сканеров.