1.2. Содержание работ по тестированию на проникновение

1.2.1. Тестирование на проникновение включает в себя следующие направления исследований:

- оценка защищенности сетевого периметра, сетевых устройств и протоколов;

- оценка защищенности беспроводных сетей;

- оценка защищенности веб-приложений;

- оценка защищенности операционных систем;

- оценка защищенности систем управления базами данных (СУБД);

- оценка защищенности средств виртуализации;

- оценка защищенности специализированных банковских приложений;

- оценка защищенности мобильных устройств.

1.2.2. При проведении оценки защищенности сетевого периметра, сетевых устройств и протоколов рекомендуются следующие мероприятия:

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

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

- поиск интерфейсов удаленного доступа и прочих интерфейсов взаимодействия, доступность которых из данной точки не предусмотрена требованиями ИБ организации БС РФ или практикой создания защищенных автоматизированных систем;

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

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

- перехват и повторная отправка данных аутентификации;

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

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

1.2.3. При проведении оценки защищенности беспроводных сетей рекомендуются следующие мероприятия:

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

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

- выявление недостатков в настройке встроенных средств криптографической защиты беспроводных устройств;

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

1.2.4. При проведении оценки защищенности веб-приложений рекомендуются следующие мероприятия:

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

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

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

- проверка корректности обработки параметров различной длины;

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

- проверка корректности приведения и преобразования типов параметров;

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

- проверка корректности обработки параметров универсального идентификатора ресурса (URI - uniform resource identifier), в том числе возможности подключения произвольного внешнего источника данных, или перенаправления на внешний или внутренний веб-сайт, возможности обращения к сетевым протоколам, возможности замены полного пути к ресурсу на относительный;

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

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

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

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

- проверка корректности реализации механизмов авторизации;

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

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

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

1.2.5. При проведении оценки защищенности операционных систем рекомендуются следующие мероприятия:

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

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

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

- проверка возможности получения злоумышленником чувствительной информации с помощью служебных сетевых протоколов (SNMP, RPC, CIFS);

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

При наличии у исследователя доступа к интерфейсам управления операционной системой оценка защищенности дополнительно включает в себя:

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

- получение имен пользователей;

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

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

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

- проверку возможности повышения привилегий с использованием локально эксплуатируемых уязвимостей и ошибок в настройке программного обеспечения;

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

1.2.6. При проведении оценки защищенности СУБД рекомендуются следующие мероприятия:

- проверка корректности функционирования механизмов идентификации, аутентификации и управления доступом при взаимодействии с интерфейсами управления СУБД, в том числе блокирования анонимного и гостевого доступа, отсутствие стандартных учетных записей и учетных записей со словарными паролями;

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

- эксплуатация уязвимостей в сетевых службах СУБД.

При наличии доступа к интерфейсам управления операционной системы и СУБД дополнительно проводятся:

- проверка корректности прав доступа к файлам СУБД;

- проверка контроля целостности исполняемых файлов СУБД, включая защиту от подмены файлов;

- поиск чувствительной информации (в том числе паролей пользователей) в служебных файлах (файлы баз данных, журналов, резервных копий, конфигурации, истории команд), а также переменных системных процессов СУБД;

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

- проверка возможности использования хранимых процедур для доступа к защищаемым объектам СУБД и операционной системы;

- проверка корректности обработки нестандартных значений параметров хранимых процедур (передача произвольных значений параметров, внедрение операторов SQL и команд PL/SQL, T-SQL, использование курсоров; передача значений параметров различной длины);

- проверка возможности чтения чувствительной информации приложений, включая восстановление паролей пользователей СУБД и приложений из хеш-значений.

1.2.7. При проведении оценки защищенности средств виртуализации рекомендуются мероприятия по проверке возможности доступа к интерфейсам управления средой виртуализации и защищаемым объектам, в том числе:

- проверка возможности подбора паролей к интерфейсам управления;

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

- использование уязвимостей гипервизора и средств управления средой виртуализации.

1.2.8. При проведении оценки защищенности специализированных банковских приложений рекомендуются следующие мероприятия:

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

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

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

- проверка прав доступа к файлам данных, содержащим чувствительную информацию, а также контроль целостности исполняемых файлов приложения.

1.2.9. При проведении оценки защищенности мобильных устройств рекомендуются следующие мероприятия:

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

- проверка возможности чтения ключей шифрования и электронной подписи, а также записи и замены сертификатов ключей;

- идентификация протоколов взаимодействия и проверка возможности принудительного навязывания устройству использования незащищенных версий протоколов (HTTP вместо HTTPS, TELNET вместо SSH, SSH1 вместо SSH2);

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