Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Анализ программных реализаций. Практикум

.pdf
Скачиваний:
0
Добавлен:
06.09.2026
Размер:
1 Мб
Скачать
91
Атаки через графический интерфейс (GUI) применяются в отношении
очень многих продуктов и сводятся к тому, что некое троянское приложение может посылать сообщения элементам интерфейса атакуемой программы.
Пример атаки через GUI: begin btnInsert.Enabled := UserIsAdmin; btnEdit.Enabled := UserIsAdmin; btnDelete.Enabled := UserIsAdmin; end; Методика защиты:
блокировка выполнения пользователем некоторой операции должна
выполняться в коде самой операции, а не за счет блокирования элементов управления;
если речь идет о приложении, работающем с базой данных, то права
пользователя должны в первую очередь ограничиваться на уровне базы данных;
антивирусы, брандмауэры и аналогичные приложения должны
обеспечивать контроль за GUI и сообщениями, которые передаются GUI­элементам от сторонних программ.
Утечка паролей из полей ввода.
92
Рисунок 33 – Поле ввода пароля и утилиты программы WinID
Методика защиты:
отказ от применения стандартных GUI-компонентов для ввода паролей,
что особенно важно в случае со стандартным компонентом TEdit в Delphi;
контроль и блокировка сообщений, присылаемых элементам ввода
пароля.
Отсутствие контроля типов параметров и их содержимого. Пример: <?php echo “{$HTTP_GET_VARS[‘text_var1’]}”; ?> Методика защиты:
контроль типа параметров, в результате которого должно выявляться
соответствие переданных данных ожидаемому типу данных;
создание единых алгоритмов проверки содержимого параметров,
содержащих текстовые данные.
Утечка информации через средства регистрации ошибок Различные средства протоколирования и регистрации ошибок являются
неотъемлемой частью многих крупных проектов.
Методика защиты:
93
пользователь приложения должен получать необходимый минимум
информации об ошибке, достаточный для принятия решения о дальнейших действиях. Все детализированные данные должны регистрироваться в недоступных для пользователя местах;
в случае отображения информации об ошибке необходимо учитывать,
что многие системы помещают в текст сообщения достаточно большое количество технических данных, которые могут применяться злоумышленником.
Хранение паролей в теле программы. Данная ошибка является весьма распространенной и состоит в том, что где-
то в программе размещаются параметры для идентификации на некотором сервере, для доступа к базе данных и т.п.
Методика защиты:
изучение применяемых компонентов и правил их использования.
Например, в VCL-компонентах DOA для доступа к серверу Oracle имеется свойство DesignConnection, блокирующее сохранение параметров соединения с базой данных в ресурсах создаваемого EXE-файла (рис. 4);
анализ приложения на предмет наличия в нем конфиденциальной
информации.
94
Рисунок 34 – Фрагмент ресурсов EXE-файла, использующего компонент
DOA
Передача конфиденциальной информации по открытому каналу. Подобные случаи можно часто наблюдать в различных Web-приложениях,
немного реже – в приложениях в архитектуре «клиент-сервер». Передаваемые открытым текстом конфиденциальные данные могут быть перехвачены злоумышленником при помощи сниффера и использованы для последующего доступа к системе.
Пример: GET / HTTP/1.1 Accept: */* Accept-Language: ru Accept-Encoding: gzip, deflate User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET
CLR 1.1.4322)
Connection: Keep-Alive Authorization: Basic QWRtaW46VG9wU2VjcmV0 Методика защиты:
применение защищенных протоколов (например, HTTPS) для передачи
конфиденциальных данных. В качестве альтернативного варианта возможно применение собственных реализаций защиты на основе несимметричного шифрования;
передача вместо имени и пароля некоторой вычисленной по ним хеш-
функции.
Выводы:
обучение программистов, ибо нередки ситуации, когда
профессиональные разработчики прикладных программ не задумываются о вопросах безопасности создаваемых приложений;
95
разработка корпоративных стандартов, регламентирующих основные
аспекты разработки программ и их защиты;
проведение тестирования программ с элементами моделирования
действий хакеров. При этом изучение программы должно включать анализ исходных текстов и тщательное тестирование самого продукта.
96
Приложение Б
(рекомендуемое)
Примерные темы докладов
1. Статические и динамические анализаторы программ
2. Security Development Lifecycle
3. Обфускация программ
4. Деобфускация программ
5. Фаззинг программ
6. Протекторы и упаковщики программ
7. Ошибки переполнения буфера
8. Типичные ошибки разработки программ
9. Атаки перебора по словарю и полного перебора
10. Перехват и анализ сетевого трафика программ
11. Сканеры SQL-уязвимостей приложений
12. Сканеры XSS-уязвимостей Web-приложений Подготовить доклад и презентацию на 15-20 мин по одной из
предложенных тем.
При работе над докладом необхоимо:
Объяснить основные понятия, термины, дать определения;
Провести классификацию (подходов, способов, инструментов и т.п. в
зависимости от темы);
Сделать сравнительный обзор существующего инструментария (в
зависимости от темы);
Описать типичные методы/техники с примерами;
Продемонстрировать использования инструментов на типичных
задачах;
97
Будет большим плюсом, если вы реализуете свою программу для
примера или в качестве инструмента.
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]