Напомним, что Роберт Хансен из SecTheory LLC и Еремия Гроссман из WhiteHat
Security планировали в конце прошлого месяца
обнародовать подробности
разработанного ими метода атаки на браузеры, однако отказались от этой идеи
в интересах Adobe.
Этот метод, который также называют подменой пользовательского интерфейса или
перекрытием IFRAME, может быть использован хакером для того, чтобы отобразить на
нужном ему ресурсе (странице управления банковским счетом или странице
авторизации почтовой службы, например) скрытую кнопку или ссылку, спрятав ее
среди прочего веб-контента. При надлежащем усердии, данный способ позволяет
заставить пользователя кликнуть на той части страницы, на которой требуется
злоумышленнику.
Несмотря на то, что разработчики браузеров осведомлены о возможности подмены
интерфейса пользователя, или, в терминологии Хансена и Гроссмана,
"клик-джекинга" (угона кликов), этим экспертам все же удалось обнаружить по
крайней мере одну серьезную проблему, касающуюся продуктов компании Adobe.
Ниже приводятся выдержки из онлайн-интервью, в котором Хансен и Гроссман
говорят о сути явления клик-джекинга и возможных путях решения этой проблемы.
Что такое клик-джекинг? Как он работает?
Гроссман: Представьте себе любую кнопку – будь то картинка, ссылка,
онлайн-форма или что-то еще, на любом сайте, не важно, внутренний он или
внешний. Это может быть кнопка на странице отправки электронного платежа, кнопка
на страничке DSL-роутера, кнопка голосования, рекламный баннер или Netflix.
После этого представьте, что хакер может незаметно навесить на видимую под
курсором кнопку еще одну, невидимую. В этом случае пользователи, думая, что
нажимают на кнопку, которую видят, на самом деле кликают по кнопке, которую
приготовил для них хакер.
Теперь попытаемся вообразить, что может сделать какой-нибудь плохой парень,
имея такую возможность. Потенциал воистину безграничен. Чем больше мы работаем
над этой проблемой, тем страшнее эксплоиты, которые нам удается создать.
Несколько уязвимостей, сложенных вместе, делают использование ранее
недооцененной проблемы пугающе эффективным.
Является ли клик-джекинг проблемой, обнаруженной именно вами? Или о нем было
известно и раньше? Как вы пришли к тому, чтобы сосредоточиться на этой теме?
Гроссман: Роберт и я открыли для себя эту проблему около полутора лет
назад. Сравнительно недавно нам сообщили о том, что разработчики браузеров знают
о методологии клик-джекинга уже с 2002 года. Но, по нашему убеждению, данный
метод атаки критически недооценен сообществом экспертов в области сетевой
безопасности и индустрией безопасности в целом. К примеру, на прошедшей в этом
году конференции Black Hat 2008, некоторые из специалистов, с которыми нам
довелось пообщаться, были удивлены тем, насколько эффективным может быть
клик-джекинг.
А зачем говорить о нем именно сейчас? Разве уровень угрозы, который он
представляет, изменился?
Гроссман: Столкнувшись с этой проблемой мы осознали, что подлинная
сила клик-джекинга не до конца изучена, и решили выступить с соответствующим
докладом на конференции OWASP. То, чего мы в тот момент действительно не
осознали полностью, так это факт уязвимости к одному из разработанных нами
демонстрационных эксплоитов существующих продуктов компании Adobe. Это еще
больше подтвердило нашу уверенность в том, что клик-джекинг далеко не так
незатейлив, как о нем привыкли думать.
Каковы возможные сферы применения клик-джекинга? Легко ли осуществить такую
атаку?
Гроссман: Помимо приведенных выше примеров использования, стоит
упомянуть и о том, что данный метод позволяет обходить защиту, призванную
бороться с межсайтовой подделкой запросов. Уже одно это требует самого
пристального внимания.
Нужен ли для успешного проведения этой атаки Javascript?
Гроссман: Наличие в браузере включенного JavaScript упрощает успешную
реализацию клик-джекинга. Но, строго говоря, его наличие для проведения атаки
необязательно.
В своем
достаточно исчерпывающем электронном письме аналитик Михал Залевски
описывает возможные способы борьбы с клик-джекингом. Какие проблемы в борьбе с
ним видите лично вы?
Хансен: Самая очевидная проблема – это удобство использования
существующих приложений. Чем больше методик контроля отображения
пользовательского интерфейса вы внедрите, тем более затруднительным будет
использование самых обычных сервисов.
Залевски говорит, что бороться с этой неприятностью можно как с помощью
патчей, так и методами, не устраняющими уязвимость напрямую. В чем вы видите
принципиальную разницу между двумя этими подходами?
Хансен: Решения, предназначенные для частных случаев, похожи на
обычную практику, применяемую в индустрии безопасности повсеместно. В данный
момент существует множество принципиальных проблем, для решения которых были
выпущены самые простые патчи. По моему мнению, устранение лишь нескольких
разновидностей последствий ключевой проблемы не может решить сам вопрос в
принципе.
Предлагаемые этим экспертом решения частных проявлений также не имеют никаких
шансов на успех, поскольку модернизации должна подвергнуться весьма значительная
часть всего Интернет. Самые лучшие способы решения проблемы, о которых мне
доводилось слышать, были связаны непосредственно с браузерами и никак не
затрагивали веб-серверы. Такой подход может быстрее всего прижиться. К
сожалению, внедрение каждой подобной инновации требует длительного тестирования
и чревато нарушением работы более сложных онлайн-систем, использующих схожие
элементы дизайна уже на уровне концепции. Возможно, сами сервисы и не
пострадают, но их пользовательский интерфейс уже не будет работать так, как
задумывали его разработчики.
Предположим, я являюсь владельцем банковского или какого-либо еще веб-сайта.
Что я могу предпринять, чтобы быть уверенным в том, что посетителям моего
ресурса проблема клик-джекинга не угрожает?
Гроссман: Для того, чтобы помочь в предотвращении этой атаки, сайты могут
сделать три вещи.
- Внедрить сканер фреймов JavaScript, который будет следить
за тем, чтобы ни в одну из страниц сайта не было встроено лишних фреймов
сторонних веб-ресурсов. - Кнопки, играющие на сайте важную роль, например,
кнопки отсылки заполненных бланков, должны выполняться посредством кода
JavaScript, который содержит элементы, не допускающие исполнения браузером
команд, противоречащих пункту 1. - Важные действия, предпринимаемые на сайте,
должны подтверждаться дополнительно, к примеру, с помощью email или SMS.
Что может предпринять обычный пользователь Интернет, чтобы оградить себя от
клик-джекинга?
Гроссман: Есть ряд шагов, которые можно сделать, но не один из них не будет на
100% эффективным.
- Всегда убеждайтесь в том, что вышли со своего аккаунта
после того, как завершите все необходимые вам действия. - Установите плагин
NoScript для Firefox. - Выключите все плагины.
Источник:
http://www.securityfocus.com/news/11535