Скомпрометированные сайты

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

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

Методы, основанные на использовании тега <IFRAME>

Язык HTML предоставляет множество удобных способов загрузки дополнительного контента. Чаще всего на скомпрометированных сайтах используется метод с применением тега <IFRAME>, который позволяет незаметно загрузить на страницу дополнительный контент. Этот тег широко используется для обычной разметки на многих веб-сайтах. Компрометация считавшегося надежным сайта с помощью этого метода весьма удобна для создателей вредоносного ПО, поскольку для привлечения пользователей на сайт не требуется применение социальной инженерии, а для загрузки вредоносного контента не нужны действия пользователя. Тег <IFRAME> поддерживает несколько атрибутов. Чаще всего в атаках используются атрибуты ширины и высоты, с помощью которых можно задавать размер фрейма на странице, куда загружается контент. Чтобы сделать компрометацию незаметной для пользователя, в большинстве вредоносных тегов <IFRAME> задаются весьма малые значения для длины и ширины (0-10 пикселей). Подобные теги приводят к созданию на странице множества мелких полей, которые могут стать весьма заметны в случае ее многократного заражения.

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

Теоретически после обхода системы безопасности сайта и получения удаленного доступа на скомпрометированном сервере могут размещаться все компоненты, необходимые для атаки. Измененные страницы могут запускать вредоносные скрипты и устанавливать вредоносное ПО, размещаемое на том же сервере. Однако, во-первых, перенаправление скомпрометированных сайтов на единый атакующий сайт предоставляет хакеру единый пункт управления атакой. Во-вторых, добавление небольших скриптов или тегов на страницы скомпрометированного сайта менее заметно, чем загрузка крупных скриптов и двоичных файлов. Помимо видимых признаков многократного заражения сайта исходный код сайта также зачастую будет содержать соответствующие признаки. Часто в нем можно увидеть несколько тегов <IFRAME> или вредоносных скриптов, зачастую обрамленных специфичными маркерами (HTML -комментариями).

Clickjacking

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

Вариант реализация атаки может быть следующим: злонамеренный сайт A содержит в себе HTML элемент IFRAME, с адресом сайта B, к которому пользователь имеет доступ на основе авторизационных данных Cookie. Сайт A перекрывает страницу с сайта B таким образом, чтобы оставить видимым конкретный элемент, например, кнопку "Удалить аккаунт", "Добавить друга" и т.д. Сайт A может иметь такой интерфейс, который позволял бы рассматривать элемент с сайта B, как часть сайта A, побуждая пользователя нажать на него. Тем самым пользователь подвергается опасности совершения абсолютно непредполагаемых им действий, который выгодны злоумышленнику. Добиться такого "перекрывания" интерфейса другого сайта можно с помощью метода CSS Overlay.

Вариант атаки типа Clickjacking, известный также как UI Redressing (фальсификация идентичности пользователя), возможна благодаря выполнению нестандартных действий веб-страницей, не вызывающей подозрений у пользователя. Такая страница вынуждает пользователя выполнить нежелательные действия при активировании им замаскированной ссылки. На такой странице-ловушке злоумышленник помещает набор фальшивых кнопок, затем загружает поверх предыдущей другую страницу в виде прозрачного слоя. Пользователь думает, что он нажимает на видимую кнопку, в то время как действия выполняются на скрытой странице. В результате пользователь выполняет не предполагавшиеся им действия. Что важно, практически невозможно отследить такие операции, так как пользователь был аутентифицирован совершенно на другой странице. Следует отметить, что реализации такой атаки основана на использовании HTML элемента IFRAME.

Простым средством противодействия является использование JavaScript, блокирующего использование HTML -фреймов. Но в последнее время разрабатываются версии Clickjacking, которые не требует фреймов.





XML-бомба

XML-бомба - это XML-документ, который содержит:

·слишком много байт

·слишком много символов

·слишком большую глубину вложений

·слишком много элементов

·слишком много дочерних элементов

·слишком много атрибутов

·слишком много имен

·слишком длинные имена, префиксы, значения элементов

·рекурсивное вложение элементов

·слишком много открывающих и закрывающих тэгов (т.е. слишком много стековых операций)

Когда XML-парсер пытается обработать такой документ, объем внутренних данных парсера растет экспоненциально, что приводит к сбою в работе веб-сайта или даже интернет -провайдера. По -сути, данный вид атаки является разновидностью DoS (denial-of- service) атаки.



CSRF

CSRF (Cross- site request forgery) атака, известная также как " атака одного клика", основана на исполнении веб-сайтом неавторизованных команд, исходящих от пользователя, которому веб- сайт доверяет.

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


<img src="http://bank.example/withdraw?account=Bob&amount=1000000&for=John">


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

Особенностями общими для всех атак типа CSRF являются следующие:

·вовлекаются сайты, которые основаны на идентификации пользователей

·используется доверие сайта, на основе идентификации

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

·использование HTTP-запросов с побочными эффектами

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

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










Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: