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

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

Рубрика Программирование, компьютеры и кибернетика
Вид статья
Язык русский
Дата добавления 19.12.2017
Размер файла 581,8 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

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

Введение

веб интернет угроза

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

Объемы информации, с которыми работают web-приложения, весьма велики. На веб-сервере могут храниться персональные данные пользователей (клиентов, сотрудников) и информация, в том или ином виде составляющая коммерческую или профессиональную тайну (например, финансовая информация или служебная переписка). Компрометация сайта влечет за собой в первую очередь финансовые убытки, снижение доверия клиентов, а также потерю репутации. В связи с этим возникает необходимость защищать, обеспечивать безопасность веб-сайта.

По данным исследования компании PositiveTechnologies за 2014 год:

· Все исследованные веб-приложения оказались уязвимыми с той или иной степенью риска;

· 68% рассмотренных веб-приложений содержат уязвимости высокой степени риска (данный показатель на 6% выше показателя на 2013 год);

· На каждое приложение, разработанное на PHP, в среднем приходится 11 критических уязвимостей и 31 уязвимость средней степени риска [2].

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

1.Метод тестирования на проникновение

На сегодняшний день такой метод поиска уязвимостей, как тестирование на проникновение (в англоязычной литературе - penetration testing), является одним из самых эффективных. Он позволяет узнать возможные пути атак и избежать компрометации в веб-приложениях. Суть метода заключается в том, чтобы частично смоделировать приемы и инструменты, применяемые настоящими злоумышленниками, для проникновения на защищаемый информационный ресурс. Анализ проводится так называемым «этичным хакером», который выступает с позиции потенциального злоумышленника. Условия тестирования подразумевают, что «злоумышленник» имеет те же возможности, что и обычный пользователь, то есть исходный код веб-приложения ему неизвестен, и доступ к серверу, на котором располагается это веб-приложение, закрыт. Тест позволяет получить объективную оценку уровня защищенности веб-приложения и рекомендации по устранению выявленных угроз информационной безопасности.

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

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

Независимо от того какая из вышеперечисленных методик была выбрана, тестирование выполняется в несколько этапов: сбор информации, анализ собранной информации и проведение атаки. Сбор информации нередко разделяют на активный и пассивный. Активный подразумевает формирование пользовательских запросов («корректных» и «некорректных») к веб-приложению и их обработку. Пассивный метод сбора информации заключается в получении общедоступной информации о веб-приложении с помощью различных технологий и средств, таких как IP-адреса, файлы cookie, интернет-теги или данные о навигации. Главным отличием этих типов сбора информации друг от друга является то, что пассивный метод сбора информации невозможно обнаружить в то время, как активный сбор информации может быть зафиксирован в журналах и системах обнаружения вторжений и проанализирован администраторами веб-приложения.

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

«Черный ящик», или BlackBox, - метод тестирования веб-приложения, структура и механизм работы которого неизвестны, сложны или неважны в рамках поставленной задачи. В данном методе этичный хакер исследует веб-приложение и изучает его поведение по схеме:

Входные данные аНеизвестное веб-приложение аВыходные данные.

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

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

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

Примером возможной угрозой, которую можно выявить с помощью тестирования на проникновение является SQL-инъекция (в англоязычной литературе - SQL-injection). Идея уязвимости состоит в том, чтобы внедрить SQL-код в запрос к базе данных веб-приложения. Атака становится возможной, когда входные данные обрабатываются некорректно, и атакующий может получить доступ к закрытой информации. Зачастую владельцы веб-приложений даже не задумываются о том, что существуют потенциально опасные символы, при введении которых в SQL-запрос может возникнуть угроза утечки информации. Важно понимать, что такие уязвимости существуют и необходимо принимать меры для их предотвращения.

2.Поиск уязвимостей веб-приложений с помощью поисковых систем

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

Часто разработчики и администраторы полагают, что раз ссылка на страницу с приватной информацией не фигурирует в содержимом сервера, то она недоступна («безопасность через сокрытие»). Поэтому в этом случае они пренебрегают реализацией аутентификации, тем самым давая возможность злоумышленнику получить контроль над сервером.

1. Поиск файлов

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

На рис.1 представлен результат подобного запроса по файлам формата XLS. В первых же ссылках представлены документы, содержащие персональные данные о сотрудниках организаций: ФИО, образование, домашний адрес, дата рождения, домашний и рабочий телефоны.

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

Операторы:

· site - поиск на заданном web-сайте;

· allinurl - поиск заданных ключевых слов в теле самих ссылок;

· allintitle - поиск заданных ключевых слов в заголовках страниц;

· и другие.

2. Поиск ресурсов с предсказуемым расположением (Predictable Resource Location Vulnerability) и недостаточной аутентификацией (Insufficient Authentication)

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

В адресной строке поисковой системы атакующий может запросить любой файл или каталог на сервере.

Наиболее популярные названия служебных файлов и директорий: /admin/, /backup/, /logs/, /test/, /test.asp, /test.txt, /test.jsp, /test.log, /Copy%20of%test.asp, /Old%20test.asp, /vulnerable_file.cgi [3].

В случае неудачи (наличии аутентификации или ошибки в предсказании) наличие ресурса или его отсутствие определяется по коду ошибки:

· 404 (NotFound) - сервер не может найти данные согласно запросу;

· 403 (Forbidden) - несоответствие с правами доступа к файлам и каталогам сайта.

Список файлов и папок на любом веб-сайте начинается со стандартной надписи indexof. Для служебных целей (на «скрытых страницах») она должна встречаться в заголовке, поэтому вполне реально получить доступ к странице, ограничивая ее поиск ранее рассмотренным оператором intitle и задав директории /admin/,/personal/, /etc/ или /secret/ (см. рис.2).

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

Также для защиты от уязвимостей, связанных с индексацией «скрытых» страниц администраторы размещают файл robots.txt в корневой директории сайта. Robots.txt - текстовой файл, содержащий инструкции для краулеров, указывающие какие страницы и файлы запрещено индексировать.

Кроме стандартных поисковых систем, предназначенных для повседневного пользования, существуют специфические поисковые сервисы. Поисковая система Shodan осуществляет поиск не веб-страниц и файлов, а различных устройств: веб-камер, автомобилей, систем кондиционирования и освещения в помещениях и тому подобное. Поисковик ежеминутно работает с теневыми каналами Интернет, выявляя и собирая информацию о 500 млн. подключенных к сети устройствах в месяц [4].

Рисунок 2. Страница, выданная Google по запросу indexofinurl:/admin/ intitle

Джон Мазерли, уроженец Швейцарии, разработал Shodan в 2009 году. Изначально, программист рассчитывал на использование сервиса в сетевом и ИТ бизнесе (Microsoft, Ciscoи другие) для отслеживания устройств, где используется программное обеспечение и оборудование компаний. Но поисковик распространился в качестве инструмента для специалистов по безопасности для поиска программ, устройств и уязвимостей в различных системах защиты.

Принцип функционирования Shodan заключается в каталогизации автоматических ответов любого подключённого к сети устройства. Эти отклики содержат множество информации о таком устройстве, включая его функции и настройки. При помощи специального сканера портов Shodan автоматически собирает ответы с веб-серверов (порт 80), а также данные с FTP (порт 23), SSH (порт 22) и Telnet (порт 21).

Одной из проблем является отсутствие у устройств какой-либо системы безопасности. А если при входе все-таки требуется аутентификация, подавляющее большинство использует логин-пароль, установленные по умолчанию (admin/admin, admin/1234, user/1234, admin/password и тому подобные).

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

В поисковой системе Shodan, равно как и в обычном поисковике, можно фильтровать результаты поиска с помощью операторов:

· hostname - поиск с учетом домена;

· port - номер порта в формате 21, 80, 443 и тому подобное;

· os - оперативная система;

· country - название страны в формате RU, US;

· city - название города.

На рис.3 представлен результат запроса DVRport:80 country:RUcity:«Moscow» (DVR- фирма видеорегистраторов, 80 - порт веб-сервера).

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

Рисунок 3. Результат запроса DVR port:80 country:RU city:«Moscow» в Shodan

Рисунок 4. Изображение с видеорегистратора, найденного с помощью Shodan

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

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

Ежедневно разработчики, хакеры, специалисты по защите веб-приложений, находят в системе безопасности сайтов новые уязвимости, «дыры», бреши. Существуют так называемые «бюллетени безопасности» SecurityFocus или BugTraq, которые оперативно публикуют все эти материалы в отчетах. Они находятся в открытом доступе в сети Интернет.

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

Важно учесть, что часто разработчики создают сайт на компонентной основе, используя готовые модули веб-приложений. Внутренние компоненты входят в состав технологии разработки веб-приложения, а внешние представляют собой модули веб-сервисов, таких как форум, чат, доска объявлений, календарь событий и тому подобное. Если в одном из компонентов обнаружится уязвимость, то под угрозой будут находиться все использующие его сайты. Пример: рассмотрим сайт www.siteexample.ru, содержащий форум, который использует популярный движок Invision Power Board [1]. Строка адреса страницы форума будет содержать: http://www.siteexample.ru/index.php?showforum=4. Текст «index.php?showforum=» будет встречаться на всех веб-сайтах, использующих для форума Invision Power Board. Используя описанную ранее методику запросов в поисковой системе, можно создать запрос, который выявит все сайты, реализованные на этом движке (>150 000). Если в Invision Power Board возникнет уязвимость, то таким образом злоумышленник отыщет всех потенциальных «жертв». Ведь не каждый администратор сайта своевременно среагирует на возникшую угрозу [5].

Если узнать, какие веб-сервисы и технологии использует конкретный сайт, на каком веб-сервере он функционирует, то можно будет выявить его уязвимости с помощью «бюллетеней безопасности». Сбор такой информации в недоброжелательных целях называется fingerprinting. Уязвимость, возникающая в таких случаях, называется «Идентификацией приложений» (WebServer/ApplicationFingerprinting). Для получения информации об используемом веб-сервере, сервере баз данных, технологии программирования, веб-сервисах злоумышленник может использовать анализ ответов сервера на HTTP-запросы. Идентифицирующая информация может находиться в заголовках HTTP-ответов и в текстах HTTP-страниц.

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

1. Клиент устанавливает связь с сервером, посылает запрос документа, указав HTTP-метод (GET, HEAD, POST и другие), адрес документа и номер версии HTTP, также он посылает информацию заголовка, сообщая о своей конфигурации;

2. Сервер отвечает, передавая строку состояния (версию HTTP, код состояния и описание), после чего клиенту отправляется информация заголовка, содержащая данные о самом сервере и затребованном документе;

3. В случае успешного запроса посылаются затребованные данные.

Один из классических методов fingerprinting:

Запрос клиента:

Ответ сервера:

$ nc www.siteexample.ru 80

GET /index.html HTTP/1.1

Host: www.siteexample.ru

HTTP/1.1 200 OK

Date: Mon, 20 Nov 2014 10:05:30 GTM

Server: Apache/1.3.22 (Win32) (информация о веб-сервере)

Last-modified: Tue, 17 Feb 2014 18:31:25 GMT

Content-type: text/html

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

Заключение

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

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

Список литературы

1. PositiveTechnologies. Отчет «Статистика уязвимостей веб-приложений (2014 г.)» от 14.10.2015

2. WEB APPLICATION SECURITY CONSORTIUM - ATTACKS - Example of Predictable Resource Location - 2010 г.

3. Статья TMC's Advisor - Июль 2014 // TMC IT and Telecom Consulting Inc.

4. Фленов М.Е. Web-сервер глазами хакера: 2-е изд - Спб.: БХВ-Петербург, 2009. - 320 с.

Размещено на Allbest.ru

...

Подобные документы

  • Характеристика методов поиска информации в Интернете, а именно - с использованием гипертекстовых ссылок, поисковых машин и специальных средств. Анализ новых интернет ресурсов. История возникновения и описание западных и русскоязычных поисковых систем.

    реферат [17,2 K], добавлен 12.05.2010

  • Средства поиска информации в сети Интернет. Основные требования и методика поиска информации. Структура и характеристика поисковых сервисов. Глобальные поисковые машины WWW (World Wide Web). Планирование поиска и сбора информации в сети Интернет.

    реферат [32,2 K], добавлен 02.11.2010

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

    учебное пособие [313,9 K], добавлен 10.10.2011

  • Методы и инструментарий хранения данных во Всемирной сети. Понятие и разновидности гипертекстовых документов и графических файлов. Принципы работы поисковых систем и правила поиска нужной информации. Характеристика некоторых поисковых систем Сети.

    курсовая работа [30,9 K], добавлен 18.04.2010

  • Описание и классификация современных информационно–поисковых систем. Гипертекстовые документы. Обзор и рейтинги основных мировых поисковых систем. Разработка информационно–поисковой системы, демонстрирующей механизм поиска информации в сети Интернет.

    дипломная работа [1,3 M], добавлен 16.06.2015

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

    реферат [27,3 K], добавлен 06.08.2014

  • Сущность и принцип работы глобальной сети Интернет. Поиск информации по параметрам в системе Google. Специализированные системы поиска информации: "КтоТам", "Tagoo", "Truveo", "Kinopoisk", "Улов-Умов". Целесообразное использование поисковых систем.

    презентация [572,6 K], добавлен 16.02.2015

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

    курсовая работа [35,0 K], добавлен 09.11.2010

  • Хранение данных в сети Internet. Гипертекстовые документы, виды файлов. Графические файлы, их виды и особенности. Поисковые системы и правила поиска информации. Обзор поисковых систем сети Internet. Все о поисковых системах Yandex, Google, Rambler.

    курсовая работа [918,3 K], добавлен 26.03.2011

  • Организация поиска информации по заданной теме в сети Интернет. Поиск с помощью поисковых машин. Преимущества и недостатки метода поиска по ключевому слову (фразе). Поиск в каталогах информационных ресурсов. Преимущества и недостатки предметных каталогов.

    курсовая работа [47,5 K], добавлен 03.11.2010

  • Объектно-ориентированное программирование как новый подход к созданию приложений. Разработка Windows-приложения для поиска информации в хэш-таблице. Анализ использования хеширования для поиска данных и линейного зондирования для разрешения конфликтов.

    курсовая работа [915,5 K], добавлен 06.03.2016

  • Изучение классификации поисковых средств по В.В. Дудихину. Поиск информации с помощью поисковых ресурсов. Формирование запросов. Использование ключевых слов. Индексация документов, размещенных на различных серверах. Зарубежные лидеры поисковых систем.

    презентация [775,3 K], добавлен 10.03.2015

  • Теоретические основы Интернет-технологий и основных служб сети Интернет. Ознакомление с возможностями подключения к сети Интернет. Основные службы сети. Принципы поиска информации в WWW. Обзор современных Интернет браузеров. Программы для общения в сети.

    курсовая работа [385,2 K], добавлен 18.06.2010

  • Возможности создания MDI-приложений, их преимущества. Основные приемы работы с записью информации в файл, экспорт данных в приложения Microsoft Office с помощью использование технологии OLE, на примере MS Excel интегрированного пакета MS Office.

    лабораторная работа [1,2 M], добавлен 05.10.2010

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

    дипломная работа [2,6 M], добавлен 23.06.2012

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

    курсовая работа [245,6 K], добавлен 25.09.2013

  • Структура и принципы построения сети Интернет, поиск и сохранение информации в ней. История появления и классификация информационно-поисковых систем. Принцип работы и характеристики поисковых систем Google, Yandex, Rambler, Yahoo. Поиск по адресам URL.

    курсовая работа [3,6 M], добавлен 29.03.2013

  • Разработка критериев оценки экрана веб-приложений. Основные подходы к защите веб-приложений. Анализ российских нормативных документов. Зарубежная практика выбора экрана веб-приложений. Разработка и обоснование общих требований к механизмам защиты.

    дипломная работа [68,7 K], добавлен 04.08.2016

  • Классификация угроз информационной безопасности. Ошибки при разработке компьютерных систем, программного, аппаратного обеспечения. Основные способы получения несанкционированного доступа (НСД) к информации. Способы защиты от НСД. Виртуальные частные сети.

    курсовая работа [955,3 K], добавлен 26.11.2013

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

    эссе [13,2 K], добавлен 11.10.2014

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.