Научная статья на тему 'Уязвимости веб сервисов, используемых в автоматизированных системах управления'

Уязвимости веб сервисов, используемых в автоматизированных системах управления Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
560
69
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ВЕБ ПРИЛОЖЕНИЯ / ВЕБ ТЕХНОЛОГИИ / УЯЗВИМОСТИ ИНТЕРФЕЙСА ПОЛЬЗОВАТЕЛЯ ВЕБ ПРИЛОЖЕНИЯ / WEB APPLICATIONS / WEB TECHNOLOGIES / VULNERABILITIES OF THE USER INTERFACE OF THE WEB APPLICATION / CLASSIFICATION OF VULNERABILITIES / UI OF A WEB APPLICATION

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Бессольцев Виталий Евгеньевич, Марков Павел Николаевич

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

i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Бессольцев Виталий Евгеньевич, Марков Павел Николаевич

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

VULNERABILITY OF WEB SERVICES USED IN AUTOMATED CONTROL SYSTEMS

Automated control systems, as a complex of hardware and software, are in dire need of modern software tools based on web technologies. Web technologies will allow you to escape from a number of limitations of software built in traditional ways, such as: installing software on each workstation, reducing the cost of deploying the system and providing technical support, multi-platform software, access from anywhere in the world via the Internet. However, this approach to building applications gives undoubted gains in a number of positions that are not accessible to traditional applications, web applications, due to their general availability via the Internet, are subject to the possibility of their use by intruders by exploiting the vulnerabilities of the used web technologies involved in building Web applications. In the article the classification of vulnerabilities of web technologies necessary for building a user interface of a web application is considered, an analysis of vulnerability detection methods for a web application user interface.

Текст научной работы на тему «Уязвимости веб сервисов, используемых в автоматизированных системах управления»

УЯЗВИМОСТИ ВЕБ СЕРВИСОВ, ИСПОЛЬЗУЕМЫХ В АВТОМАТИЗИРОВАННЫХ СИСТЕМАХ УПРАВЛЕНИЯ.

Бессольцев Виталий Евгеньевич,

адъюнкт Военно-космической академии имени А.Ф.Можайского, г. Санкт-Петербург, Россия, v.bessoltsev@gmail.com

Марков Павел Николаевич,

адъюнкт Военно-космической академии имени А.Ф.Можайского, г. Санкт-Петербург, Россия, p.markov@gmail.com

АННОТАЦИЯ

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

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

Для цитирования: Бессольцев В.Е., Марков П.Н. Уязвимости веб сервисов, используемых в автоматизированных системах управления // I-methods. 2018. Т. 10. № 3. С. 23-35.

Введение

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

площадка Сберегательного банка Российской Федерации», РТС-тендер, Электронная торгово-закупочная площадка ОАО «РЖД» и т.д.), порталы государственных услуг (Портал госуслуг Санкт-Петербурга, Единый портал государственных и муниципальных услуг), системы управления ресурсами предприятий - ERP системы (Microsoft Dynamics AX (Axapta), SAP). Узкоспециализированные приложения все чаще заменяются своими веб версиями (Личный кабинет Министерства Обороны), и облачными сервисами, для использования которых необходим только веб обозреватель требуемой версии. Таким образом можно перейти к общепринятому понятию, такому как веб приложение, которое в частности может быть использовано в автоматизированных системах управления.

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

-14 августа 2014 года пресс служба правительства сообщила о взломе микро блога Twitter российского премьера Дмитрия Медведева;

-10 июля 2014 года газета New York Times со ссылкой на высокопоставленных американских чиновников сообщила, что китайские хакеры в марте провели крупную атаку на хранилища Управления кадровой службы США и завладели информацией о федеральных служащих, которые обращались в государственные структуры за предоставлением секретной информации;

- 7 августа 2013 года были взломаны неосновные аккаунты РИА Новости—Международного мультимедийного пресс-центра и RIA Novosti Deutsch. Хакеры разместили в аккаунтах ложную информацию о смерти президента СССР Михаила Горбачева;

По данным открытого проекта «Обеспечение безопасности веб приложений (OWASP)» в период с 2013 по 2017 год произошло незначительное изменение рейтинга уязвимостей, значительную часть из которых составляют уязвимости интерфейса пользователя веб приложения (таблица 1), за 2017 год: A2 Некорректная аутентификация и управление сессией (частично), A3 межсайтовое выполнение скриптов, A8 Подделка межсайтовых запросов, A9 Использование компонентов с известными уязвимостями [1].

Таблица 1

Рейтинг уязвимостей по версии OWASP

2013 год 2017 год

А1 Внедрение кода А1 Внедрение кода

А2 Некорректная аутентификация и управление сессией А2 Некорректная аутентификация и управление сессией

А3 Межсайтовое выполнение скриптов А3 Межсайтовое выполнение скриптов

А4 Небезопасные прямые ссылки на объекты А4 Нарушение контроля доступа

А5 Небезопасная конфигурация А5 Небезопасная конфигурация

А6 Утечка чувствительных данных А6 Утечка чувствительных данных

А7 Отсутствие контроля доступа к функциональному уровню А7 Недостаточная защита от атак

А8 Подделка межсайтовых запросов А8 Подделка межсайтовых запросов

А9 Использование компонентов с известными уязвимостями А9 Использование компонентов с известными уязвимостями

A10 Не санкционированное A10 Незащищенный API

перенаправление на другие ресурсы

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

Веб приложение - это клиент-серверное приложение, в котором клиентом выступает веб обозреватель, а в роли сервера выступает веб сервер. Рассматриваемая схема работы веб приложения приведена на рисунке 1 [2].

Схема работы веб приложения.

Пользователь, используя веб обозреватель, производит запрос необходимого веб ресурса, согласно представлению, на рисунке 2.

Рис. 1. Рассматриваемая схема работы веб приложения

G Google

i

f Ci Надежный

Рис. 2. Ввод доменного имени, требуемого веб ресурса

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

GET / HTTP/1.1 Host: google.com Connection: close

[другие заголовки и передаваемы параметры].

Веб сервер получает запрос от веб браузера, обрабатывает его и находит контент, который соответствует запросу.

Далее веб сервер разбирает файл с помощью обработчика. Если веб сервер работает на PHP, то используется PHP для интерпретации и направлении результата веб обозревателю.

Использование веб приложений имеет ряд очевидных преимуществ:

— исполнение в любых операционных системах: Microsoft Windows, Mac OS, Linux (с предварительной установкой рекомендованного веб обозревателя) [3];

— легкая обновляемость приложений;

— для работы требуется "простая" конфигурация аппаратной платформы;

— обеспечение высокой мобильности.

Но наряду с достоинствами существуют значительные недостатки:

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

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

Анализ состояния вопроса атак на XSS/CSS уязвимость интерфеса пользователя веб обозревателя

В статье рассмотрены основные виды уязвимостей интерфейса пользователя веб приложения (посредством обзора основных видов атак на интерфейс пользователя веб приложения), их классификация представлена на рисунке 3 [4].

Атака на интерфейс пользователя веб приложения - это действия, направленные на получение необходимой информации (cookies файлов, активной сессии и др.) от веб обозревателя пользователя, либо совершения каких-либо действий (оплата услуг, перевод денежных средств и др.) от имени пользователя [5].

Можно выделить два основных вида атаки на интерфейс пользователя веб приложения:

— XSS/CSS атака (cross-site scripting) - межсайтовое выполнение скриптов, изначально не предусмотренное разработчиками программного обеспечения;

— XSRF/CSRF атака - межсайтовая подделка запроса.

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

Пассивная атака XSS/CSS. Пассивная атака основана на непосредственном взаимодействии с пользователем веб приложения и как правило требует от него перехода по заранее сформированной "инфицированной" ссылке, на рисунке 4 представлен алгоритм работы пассивной атаки на интерфейс пользователя веб приложения [6].

Пассивная атака активно используется в совокупности с методами социальной инженерии, для этого применяется спам рассылка «инфицированных» сообщений электронной почты, размещение «инфицированных» сообщений на тематических форумах, рекламных баннерах. При переходе пользователем по ссылке происходит внедрение исполняемого кода в атакуемый интерфейс веб приложения, что позволяет обеспечить доступ к данным из веб форм, данных из фалов cookies и обеспечивать Dos/DDos атаки на сторонние ресурсы. Пассивная атака эффективна по отношению к доверчивым, мало грамотным людям в области интернет технологий, в связи с общей известность данного способа кражи информации [6].

Рис. 3. Основные виды уязвимостей на интерфейс пользователя веб приложения

ПАССИВНАЯ АТАКА XSS (требует активного участия «жертвы»)

Сервер перехвата

Рис. 4. Схема алгоритма работы пассивной атаки XSS/CSS

Рис. 5. Предупреждение регистратора доменных имен R01

Активная атака XSS/CSS. Данный вид атаки осуществляется без непосредственного взаимодействия с пользователем веб приложения. По принципу действия атаки подразделяются на атаки с внедрением исполняемого кода на постоянной или не постоянной основе. Внедрение исполняемого кода на постоянной основе основывается на инкапсуляции его на стороне сервера (в файлы php, phyton... либо в базу данных MySQL, PostgreSQL...) либо непосредственно в DOM (объектная модель документа) веб обозревателя посредством установленного расширения веб обозревателя.

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

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

Активную атаку XSS/CSS на постоянной основе рассмотрим на примере внедрения исполняемого кода посредством расширения веб обозревателя. Алгоритм работы расширения веб обозревателя представлен на рисунке 6 [8].

Расширение состоит из следующих компонентов.

1. Фоновая страница.

2. «Всплывающая» страница.

Фоновая страница расширения запускается один раз за сеанс работы веб обозревателя и необходима для:

— хранения данных за период работы расширения;

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

— внедрение исполняемого кода в DOM страницы.

Взаимодействие пользователя с расширением веб обозревателя (интерфейсную часть) обеспечивает «всплывающая страница».

Активные расширения отображаются в веб обозревателе как представлено на рисунке 7 (отображается работающее расширение MedTest) [9].

Пример эксплуатации уязвимости

Работа расширения может быть рассмотрена на примере расширения веб обозревателя MedTest предназначенного для прохождения удаленного тестирования студентами. Алгоритм работы данного расширения представлен на рисунке 8.

Алгоритм работы расширения MedTest [10]:

— установка расширения в веб обозреватель;

— мониторинг (посредством постановки «ловушки») посещаемых

пользователем страниц. Цель мониторинга - поиск страницы авторизации системы

Рис. 6. Схема алгоритма работы расширения веб обозревателя

Рис. 8. Схема алгоритма работы расширения MedTest

Рис. 9. Страница авторизации в системе удаленного тестирования

Рис. 10. Перехватываемые данные отправляемые на сервер перехвата

Рис. 11. Отображение данных после модификации расширением веб обозревателя

удаленного тестирования студентов, страница представлена на рисунке 9;

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

- сбор данных по задаваемому вопросу и вариантам ответов на данный вопрос (пример перехватываемых данных приведен на рисунке 10);

- получение данных и их последующий анализ сервером перехвата на предмет правильных/ не правильных вариантов ответов на вопрос;

- отправка результатов анализа обратно расширению веб обозревателя;

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

- перехват с последующей отправкой на сервер перехвата выбранных пользователем ответов;

- сохранение полученных данных на сервере перехвата.

XSRF/CSRF атака основана на отправке запросов от лица атакуемого пользователя, на основе его перехваченных данных [11]:

- любые действия от авторизированного пользователя;

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

- операции с платежными системами;

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

Рис. 12. Методы поиска XSS уязвимостей

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

Уязвимости интерфейса пользователя веб приложения автоматизированной системы управления заключаются в появлении на странице веб обозревателя "чужого" (не предусмотренного разработчиками) JavaScript кода результатом работы, которого (как правило) является действие от лица авторизированного пользователя, утечка конфиденциальной информации. Основным вектором проникновения JavaScript кода со стороны сервера являются: исполняемые серверные файлы (PHP, Python), выдача из базы данных (MySQL, PostgreSQL и т.д.), со стороны веб обозревателя - это установленное расширение веб обозревателя. Таким образом поиск уязвимостей сводится к анализу возможности несанкционированной вставки (иньектирование) JavaScript кода в базу данных, анализ модифицирования исполняемых файлов, анализ установленных расширений веб обозревателя (рисунок 12), что является важным и приоритетным для проведения исследований в данной области.

Способы анализа возможности иньектирования JavaScript кода в базу данных широко освещены:

Д.А. Сигалов А.В. Раздобаров А.А. Петухов Математические основы компьютерной безопасности №35 2017. / Использование отладочного API современного веб обозревателя для обнаружения уязвимостей DOM-BASED XSS.

Ю.Д. Шабалин В.Л. Елисеев Научно технический вестник информационных технологий, механики и оптики том 16 № 2 2016. / Исследование нейросетевого алгоритма для обнаружения аномалий в поведении сетевого хоста при автоматизированном поиске XSS уязвимостей и SQL инъекций.

П.А. Баранов Э.Р.Бэйбутов Бизнес-информатика № 4 (34) 2015. / Обеспечение информационной безопасности информационных ресурсов с помощью межсетевых экранов для веб приложений.

суть их сводится к отправке на сервер запроса, который частично может быть встроен в SQL запрос к базе данных (результатом "удачного" прохождения такого типа запроса может быть вставка JavaScript кода). Проверка модификации исполняемых серверных файлов заключается в сверке с заранее сформированной контрольной суммой (на пример по алгоритму MD5), в случае расхождения происходит блокировка/удаление исполняемого файла и его восстановление из резервной копии. Анализ получаемого трафика веб обозревателем необходим (при условии использования не защищенного соединения по протоколу http) в следствии возможно модификации html контента в процессе передачи контента от сервера к веб обозревателю (данный способ известен как "человек по середине"), в данном случае защитой так же является сравнение с контрольной суммой (сформированной на сервере). Анализ методов поиска JavaScript кода (эксплуатирующих приведенные на рисунке 3 уязвимостей) в расширении веб обозревателя показал отсутствие таковых.

Заключение

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

С учетом повсеместного внедрения автоматизированных систем управления имеющих доступ к сети интернет (в том числе и в Министерстве обороны России) и отсутствия эффективных методов как анализа расширений веб обозревателя, так и способов несанкционированного внедрения расширений в веб обозреватель — исследование способов несанкционированного внедрения расширения в веб обозреватель для получения информационного доступа является актуальной задачей информационного противоборства текущим и будущим угрозам.

Литература

1. Category: OWASP Top Ten Project — OWASP URL:https://www.owasp.org/index.php/Category:OWASP_ Top_Ten_Project (дата обращения: 21.01.2017).

2. XSS глазами злоумышленника URL:https://habrahabr.ru/post/66057/ (дата обращения: 21.01.2017).

3. Сканер XSS уязвимостей, на 100 строчек кода URL:https://xakep.ru/2012/10/04/skanner-xss-uyazvimostej-na-100-strochek-koda/ (дата обращения: 14.01.2017).

4. XSS для новичков URL: https://forum.antichat.ru/threads/20140/ (дата обращения: 22.01.2017).

5. Cross-site Scripting (XSS) URL:https://www.owasp.org/index.php/Cross-site_Scripting_(XSS) (дата обращения: 22.01.2017).

6. SQL-инъекции. XSS-инъекции URL:https://sevidi.ru/php/phppage68.php (дата обращения: 20.01.2017).

7. Анатомия межсайтового скриптинга URL:https://bugtraq.ru/library/www/xssanatomy.html (дата обращения: 17.01.2017).

8. Расширенный межсайговый скриптинг URL:https://bugtraq.ruAibrary/www/advancedxss.html (дата обращения: 17.01.2017).

9. Методы защиты от XSS-атак и SQL-инъекций URL:http://bourabai.ru/php/secure-php.htm (дата обращения: 17.01.2017).

10. Лучшие практики и рекомендации по защите php — приложений от XSS

URL: https://habrahabr.ru/company/pentestit/blog/211494/ (дата обращения: 15.01.2017).

11. CWE-79: Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting') URL: http://cwe.mitre.org/data/definitions/79.html (дата обращения: 15.01.2017).

VULNERABILITY OF WEB SERVICES USED IN AUTOMATED CONTROL SYSTEMS

Vitaliy E. Bessoltsev,

St-Petersburg, Russia, v.bessoltsev@gmail.com

Pavel N. Markov,

St-Petersburg, Russia, p.markov@gmail.com

ABSTRACT

Automated control systems, as a complex of hardware and software, are in dire need of modern software tools based on web technologies. Web technologies will allow you to escape from a number of limitations of software built in traditional ways, such as: installing software on each workstation, reducing the cost of deploying the system and providing technical support, multi-platform software, access from anywhere in the world via the Internet. However, this approach to building applications gives undoubted gains in a number of positions that are not accessible to traditional applications, web applications, due to their general availability via the Internet, are subject to the possibility of their use by intruders by exploiting the vulnerabilities of the used web technologies involved in building Web applications. In the article the classification of vulnerabilities of web technologies necessary for building a user interface of a web application is considered, an analysis of vulnerability detection methods for a web application user interface.

Keywords: web applications; web technologies; vulnerabilities of the user interface of the web application; classification of vulnerabilities; UI of a web application.

Reference

1. Category: OWASP Top Ten Project - OWASP

URL:https://www.owasp.org/index.php/Category:OWASP_Top_Ten_Project (date of the application: 21.01.2017).

2. XSS with the eyes of an attacker URL:https://habrahabr.ru/post/66057/ (date of the application: 21.01.2017).

3. Scanner XSS vulnerabilities, 100 lines of code

URL:https://xakep.ru/2012/10/04/skanner-xss-uyazvimostej-na-100-strochek-koda/ (date of the application: 14.01.2017).

4. XSS for beginner's URL: https://forum.antichat.ru/threads/20140/ (date of the application: 22.01.2017).

5. Cross-site Scripting (XSS) URL:https://www.owasp.org/index.php/Cross-site_Scripting_(XSS) (date of the application: 22.01.2017).

6. SQL injection. XSS injection URL:https://sevidi.ru/php/phppage68.php (date of the application: 20.01.2017).

7. Anatomy of cross-site scripting URL:https://bugtraq.ru/library/www/xssanatomy.html (date of the application: 17.01.2017).

8. Advanced cross-site scripting URL:https://bugtraq.ru/library/www/advancedxss.html (date of the application: 17.01.2017).

9. Methods for protecting against XSS attacks and SQL injections URL:http://bourabai.ru/php/secure-php.htm (date of the application: 17.01.2017).

10. Best practices and recommendations for protecting php-applications from XSS

URL: https://habrahabr.ru/company/pentestit/blog/211494/ (date of the application: 15.01.2017).

11. CWE-79: Improper Neutralization of Input During Web Page Generation

('Cross-site Scripting') URL: http://cwe.mitre.org/data/definitions/79.html (date of the application: 15.01.2017). Information about authors:

Bessoltsev Vitaly Evgenevich, postgraduate student of the academy Mozhayskogo, Markov Pavel Nikolaevich, postgraduate student of the academy Mozhayskogo

For citation: Bessoltsev V. E., Markov P. N. Method of the target changes to system settings control special equipment. I-methods. 2018. Vol. 10. No. 3. Pp. 23-35. (In Russian)

i Надоели баннеры? Вы всегда можете отключить рекламу.