Разработка модели комплексной среды тестирования интернет-приложений | Статья в журнале «Молодой ученый»

Отправьте статью сегодня! Журнал выйдет 28 декабря, печатный экземпляр отправим 1 января.

Опубликовать статью в журнале

Автор:

Рубрика: Информационные технологии

Опубликовано в Молодой учёный №16 (96) август-2 2015 г.

Дата публикации: 17.08.2015

Статья просмотрена: 189 раз

Библиографическое описание:

Полухин, П. В. Разработка модели комплексной среды тестирования интернет-приложений / П. В. Полухин. — Текст : непосредственный // Молодой ученый. — 2015. — № 16 (96). — С. 43-46. — URL: https://moluch.ru/archive/96/21624/ (дата обращения: 20.12.2024).

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

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

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

 

Интернет-технологии стремительно развивающийся компонент информационного пространства. Простота, функциональность и доступность — одни из многих факторов, которые позволили им занять особое место среди элементов бизнес-систем, различных социальных сетей, а также направлений, связанных с электронной коммерцией и банковским сектором. В тоже время все это неизбежно приводит к росту атак с целью получения доступа к активам компаний, личным данным пользователей и другой конфиденциальной информации. В связи с этим в рамках решения задачи безопасности приложений, предполагается использовать методологический аппарат различных тестов, базирующихся на фаззинге, задача которых сводится к обнаружению возможных входных векторов вредоносного воздействия. Необходимо отметить, что частичное тестирование не может помочь в решении задачи максимального охвата уязвимостей, так как дает лишь отрывочные результаты и не может дать целостную картину защищенности приложения — затрагивает уязвимости лишь одной из многочисленных групп их классификации. Поэтому считаем, что решение задачи комплексного тестирования становится первоочередной задачей любой компании, разрабатывающей или эксплуатирующей программные продукты или использующей интернет-технологии. Для комплексного тестирования в рамках исследования предполагается тестирование с помощью технологии фаззинга, однако для этого автором предлагается разработка некоторой тестовой подсистемы с использованием метода фаззинга на основе черного и серого ящика.

Процесс тестирования является многогранным механизмом поиска, анализа и локализации уязвимостей. Существует множество подходов, применяемых в тестировании, обуславливаемых той или иной ситуацией. Однако применительно к веб-приложениям, когда отсутствует или имеется частичный доступ к программным компонентам, исполняем файлам или исходному коду, это обусловлено тем, что они хранятся на удаленном сервере, а пользователь взаимодействует с ним посредством HTTP запросов, применение популярных алгоритмов тестирования становится неэффектным. Для устранения этих недостатков рационально использовать методологическую основу фаззинга [2, 4]. В рамках тестирования интернет приложений рационально использовать методы черного и серого ящика. Однако при наличии исходного кода программы дополнительно можно использовать метод белого ящика, адаптированных к технологии фаззинга, с полной неизвестностью о тестируемом объекте (метод черного ящика) и с частичной известностью соответственно (метод серого ящика).

В рамках решения задачи комплексного тестирования необходимо построить среду тестирования, которая поможет эффективно оценить защищенность приложения. Классическое веб-приложение строится, как правило, на архитектуре клиент-сервер, где в качестве сервера выступает веб-сервер и сервер-приложений, наиболее популярные из которых Apache, Nginx, Tomcat, IIS, а в роли клиента веб-браузер. Помимо веб-сервера и сервера приложений серверная инфраструктура может быть расширена сервером баз данных, используемым для хранения, как личных данных пользователей, так и корпоративной информации организации. Для защиты от атак на проникновения (penetration testing) предполагается наличие межсетевого экрана безопасности веб-приложений (WAF). В данном контексте по WAF будем понимать программные компонент (модуль), работающий на прикладном уровне, имеющий полноценную интеграцию с веб-сервером и обеспечивающий анализ, и фильтрацию входных запросов на предмет содержания в них опасных параметров и фрагментов программного кода. Обобщенная структура тестовой сети представлена на рисунке 1.

Рис. 1. Структура тестовой сети анализа уязвимостей

 

Анализируя вышеприведенный рисунок видно, что для тестирования инъекций, в частности SQL-инъекций [1, 6] присутствует реляционная СУБД типа MySQL и PostgreSQL. Для анализа уязвимых компонентов предполагается использования баз данных уязвимостей, таких как National Vulnerability Database (NVD) от NIST и Common Weakness Enumeration (CVE) от компании MITRE, а также базы эксплойтов Exploit DB, для анализа защищённости приложения базирующихся на популярных фреймворках, системах управления сайтами и других программных модулях. При этом CVE и NVD могут быть использованы лишь в подсистемы тестирования отвечающей лишь за определения статуса — уязвим определенный компонент веб-приложений или нет. В противопоставления этому Exploit DB дополнительно к информации об уязвимом компоненте содержит информацию об уязвимых входных параметрах, возможные шаблоны детектирования уязвимостей, а также фрагменты программного кода, необходимые для эксплуатации определенной уязвимости. В рамках решения задачи построения модели тестовой сети, под сервером эксплуатации XSS уязвимостей будем понимать некоторый веб-сервер, с набором скриптов javascript, позволяющих при удаленной загрузки в веб-браузер выполнять определенный набор специфических задач, к примеры получения скриншотов страницы веб-браузера, получения карты внутренней сети компьютеров, в которую входит компьютер в запущенным веб-браузером, перенаправлять клиента на страницы, позволяющие загрузить и исполнить вредоносные программные фрагменты.

Также для тестирования XSS [3, 5] используются установленные веб-браузеры такие как Firefox, Internet Explorer и Google Chrome, позволяющие максимально оценить вероятность срабатывания той или иной XSS внутри браузера пользователя, к примеры за счет использования javascript функции alert. Однако в рамках тестирования XSS необходимо также выделить сервер эксплуатации XSS уязвимостей. Для имитации внедрения механизмов защиты предполагается наличие межсетевого экрана WAF на базе проекта с исходным кодом modsecurity, используя его в связке в веб-сервером Apache. В рамках исследования полагается проведения тестирования как с выключенным, так и с включенным modsecurity, с целью проверки механизмов обхода межсетевых экранов безопасности, а также накопления статистической информации, о динамике появления уязвимостей, как для единичного приложения, так и для группы приложений. В качестве системы индикации используется многогранная характеристика, отражающая специфику тестирования конкретной уязвимости, в случае XSS наличие всплывающего окна порождаемого функцией alert, применительно к инъекциям — сравнения путем применения регулярных выражений, сравнении времени выполнения с вредоносной нагрузкой и без нее, а также раскрытие информации внутри ошибок. Компьютер тестировщика используется для запуска тестов на основе фаззинга, а также взаимодействия со вспомогательными компонентами подсистемы тестирования — XSS сервер, базы данных уязвимостей и эксплойтов, обработки результатов тестирования и детально отображения информации о выявленных уязвимостях, а также возможностью детального анализа определенных входных параметров на предмет оценки степени критичности и важности уязвимости, которая может быть получена за счет внедрения вредоносных данных в анализируемый входной параметр приложения.

Таким образом, предложенная нами модель тестовой сети в полной мере отражает требования, предъявляемые к системы комплексного тестирования, позволяющей всесторонне осуществлять анализ и выявления наиболее известных уязвимостей интернет-приложений, эффективно оценивать возможность применения как встроенных, так и дополнительно устанавливаемых компонентов защиты с целью тестирования всевозможных методик обхода и преодоления данных механизмов, а также осуществлять прогнозирования наличия и появления определенных уязвимостей в будущем за счет накопления статистической и вероятностной информации. При этом модель системы тестирования может функционировать как в рамках глобальной сети интернет, что особенно важно для тестирования приложений, которые находятся на стадии активной эксплуатации, так и в локальной сети, в рамках предрелизного тестирования разрабатываемого веб-приложения, созданной с помощью систем виртуализации, таких как VMware или VirtialBox. Использования технологии фаззинга позволяет оценить не только факт присутствия конкретной уязвимости внутри веб-приложения, но также дает возможность оценить последствия, выявить доступ к каким модулям приложения или функциям языка программирования могут быть получены в результате эксплуатации уязвимости. Это позволит аналитикам спрогнозировать возможные риски и ущерб, который может быть получен в результате раскрытия уязвимости, что в первую очередь важно для компаний использующий приложения в электронной коммерции, банковских и биллинговых системах. При наличии исходного кода приложения, используя базы данных уязвимостей предложенная модель тестовой сети позволяет оценить и проанализировать набор сторонних модулей и компонентов, уже содержащие уязвимости для своевременного обновления и применения патчей.

 

Литература:

 

1.      Азарнова Т. В. Исследование процесса фаззинга SQL-инъекций веб-приложений на основе динамической сети Байеса / Т. В. Азарнова, П. В. Полухин // Вестник ВГУ, серия: системный анализ и информационные технологии. — 2014. — № 1. — С. 120–129.

2.      Азарнова Т. В. Расширение функциональных возможностей фаззинга веб-приложений на основе динамических сетей Байеса / Т. В. Азарнова, П. В. Полухин // Научно-техническая информация. Сер. 2. Информ. процессы и системы. — 2014. — № 9. — С. 12–19.

3.      Полухин П. В. Интеграция динамических байесовских сетей в процесс тестирования веб-приложений для выявления уязвимостей межсайтингового скриптинга / П. В. Полухин // Научное обозрение. — 2014. — № 9. — С. 414–422.

4.      Godefroid P. Automating Software Testing Using Program Analysis / P. Godefroid, Peli de Halleux // IEEE SOFTWARE. — 2008. — P. 30–37.

5.      Harper A. Gray Hat Hacking. The Ethnical Hacker’s Handbook / A. Harper, H. Harris, J. Ness, C. Eagle, J. Lenkey, T. Williams. — US: Mc Graw Hill. — 2011. — 693 p.

6.      Oehlert P. Violating Assumotions with Fuzzing / P. Oehlert. // IEEE Security & Privace. — 2005. — № 2. — P. 58–67.

 

Основные термины (генерируются автоматически): XSS, WAF, тестовая сеть, CVE, NVD, комплексное тестирование, межсетевой экран безопасности веб-приложений, серый ящик, уязвимость, исходный код.


Похожие статьи

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

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

Влияние выбора программной платформы на безопасность веб-приложений

В данной статье проведен анализ безопасности трех ведущих программных платформ для веб-разработки: Symfony, Laravel и Yii. Целью исследования было сравнение уровня безопасности этих платформ с учетом выбора наиболее подходящей для создания безопасных...

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

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

Исследование процесса threat hunting для быстрого реагирования на инциденты кибербезопасности

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

Нечеткая модель оценки рисков информационной безопасности и поддержки уровня защищенности ERP-систем

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

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

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

Анализ уязвимостей среды контейнеризации

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

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

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

Комбинированный метод оценки зрелости системы менеджмента информационной безопасности с применением модели CMMI

Настоящая статья посвящена рассмотрению вопроса об оценке состоятельности системы менеджмента информационной безопасности (далее — СМИБ) на предприятиях. Предложен метод оценки, имеющий количественные и качественные показатели зрелости процессов, что...

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

Статья посвящена проблематике наполнения исходных структур данных для полноценного функционирования ИКТ-модели образовательного процесса вуза. Рассмотрены организационно-технические способы обеспечения актуальности данных ИКТ-модели вуза. Наиболее по...

Похожие статьи

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

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

Влияние выбора программной платформы на безопасность веб-приложений

В данной статье проведен анализ безопасности трех ведущих программных платформ для веб-разработки: Symfony, Laravel и Yii. Целью исследования было сравнение уровня безопасности этих платформ с учетом выбора наиболее подходящей для создания безопасных...

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

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

Исследование процесса threat hunting для быстрого реагирования на инциденты кибербезопасности

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

Нечеткая модель оценки рисков информационной безопасности и поддержки уровня защищенности ERP-систем

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

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

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

Анализ уязвимостей среды контейнеризации

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

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

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

Комбинированный метод оценки зрелости системы менеджмента информационной безопасности с применением модели CMMI

Настоящая статья посвящена рассмотрению вопроса об оценке состоятельности системы менеджмента информационной безопасности (далее — СМИБ) на предприятиях. Предложен метод оценки, имеющий количественные и качественные показатели зрелости процессов, что...

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

Статья посвящена проблематике наполнения исходных структур данных для полноценного функционирования ИКТ-модели образовательного процесса вуза. Рассмотрены организационно-технические способы обеспечения актуальности данных ИКТ-модели вуза. Наиболее по...

Задать вопрос