Захист від clickjacking-атак в IE8

У зв'язку з розробкою Internet Explorer 8 наша команда розробників, які займаються питаннями безпеки, проаналізувала поширені сьогодні види атак і загальні тенденції, які вказують напрямок, в якому в майбутньому будуть розвиватися атаки. Звичайно ж, протягом всього періоду розробки IE8 ми також тісно працювали з представниками секьюріті-спільнот, щоб завжди залишатися в курсі останніх новин про нові класах комп'ютерних загроз.

На сьогоднішній день однією з найбільш цікавих вразливостей веб-додатків є Cross Site Request Forgery (CSRF). Дослідник з питань безпеки ІеріміяГроссман (Jeremiah Grossman) називає CSRF "сплячим гігантом" серед веб-вразливостей. Як він відзначає, CSRF-атаки дуже складно запобігти, оскільки виявити їх дуже і дуже непросто. Основи архітектури моделі безпеки браузера розроблені таким чином, щоб врахувати одночасну роботу з безліччю сайтів і плавні переходи між непов'язаними один з одним сайтами, але саме з цими можливостями якраз і пов'язані CSRF-атаки. Враховуючи те, що сьогодні спостерігається активний процес передачі особистих даних та іншої важливої інформації від комп'ютерів користувачів до популярних веб-додатків, інтерес до CSRF та іншим вразливостям веб-додатків буде тільки рости.

Під час розробки IE8 ми повинні були бути дуже обережними, що не збільшувати поверхню для CSRF-атак на наш браузер. Новий об'єкт IE8 XDomainRequest, наприклад, дозволяє виробляти комунікацію різних доменів після отримання явного дозволу від сервера, але при цьому містить певних обмеження, які гарантують неможливість появи нових типів CSRF-атак. Кінцеві користувачі можуть зменшити небезпеку CSRF-атак, для чого вони можуть виходити з-під свого логіна на чутливих до даних видів атак сайтах, коли вони ними не використовуються, або ж користуючись режимом InPrivate Browsing (В даному режимі браузер починає роботу з чистими cookie, так що кешовані cookie не можуть бути використані в CSRF-атаках).

У кінцевому рахунку, щоб повністю виключити можливість CSRF-атак, потрібно, щоб веб-додатки були вбудованими. Грамотно спроектовані веб-додатки часто можуть самостійно захистити себе шляхом використання маркерів виклику (від англ. challenge tokens) або інших схожих стратегій, які дозволяють виявляти шкідливі запити, ненавмисно послані атакованим користувачами. На жаль, ці стратегії також схильні вразливостям. Головною з них є XSS (cross-site scripting). Якщо веб-додаток, що має token-захист, містить у собі XSS-уразливість, це означає, маркер безпеки може бути вкрадено, що в свою чергу дозволяє провести CSRF-атаку. На щастя, Internet Explorer 8 включає в себе XSS Filter і кілька інших особливостей, які допомагають запобігти XSS-атаки, націлені на крадіжку маркерів виклику, блокуючих CSRF.

Минулої осені дослідники Роберт Хансен (Robert Hansen) і Іерімія Гроссман зробили доповідь про другий векторі CSRF-атак, званому ClickJacking. ClickJacking – це термін, який позначає безліч методів, які можуть бути використані для того, щоб обманом змусити користувача зробити клацання по затіненому або прихованого веб-елементу, зазвичай призводить до небажаної транзакції. Успішна ClickJacking-атака здатна обійти CSRF-захист, яка намагається домогтися підтвердження транзакції користувачем. Наприклад, розглянемо простий веб-магазин, який використовує cookie для аутентифікації і дозволяє робити купівлі одним клацанням миші.



Шкідливий сайт з мережі може створити сторінку, яка викликається атакованої сторінкою веб-магазину в IFRAME і закриває більшу частину цієї сторінки вводить користувачів в оману текстом і зображеннями.



У цьому випадку користувач може зробити клік на сторінці веб-магазину, і, якщо користувач вже зайшов у цей веб-магазин під своїм логіном, то може статися небажана транзакція.



Очевидно, що це досить примітивний приклад ClickJacking-атаки, проте в мережі існують і більш складні її версії.

Хоча вже були запропоновані різні способи запобігання ClickJacking-атак, кожен з них несе з собою ряд змін, які можуть позначитися на сумісності й зручності роботи користувачів або ж вимагати внесення істотних змін в існуючі стандарти. В даний час найбільш простим і найбільш широко використовуваним механізмом для перемоги над ClickJacking-атаками є frame-busting – він просто перешкоджає створенню сторінок, вразливих для такого роду атак. На жаль, типові приклади механізмів frame-busting покладаються на скрипти, а це означає, що вони можуть бути зламані.

Як було повідомлено іншим виробникам браузерів на початку грудня, в Internet Explorer 8 Release Candidate був представлений новий вбудований механізм, який дозволяє веб-додатків зменшити ризик ClickJacking-атак для вразливих сторінок шляхом виведення повідомлення, що ці сторінки не можуть бути створені.

Веб-розробники можуть посилати з HTML-сторінками response-заголовок, званий X-FRAME-OPTIONS, які обмежує набір способів, якими може бути створена сторінка. Якщо X-FRAME-OPTIONS містить маркер DENY, IE8 буде перешкоджати візуалізації сторінки, якщо вона буде утримуватися в межах фрейму. Якщо він містить маркер SAMEORIGIN, IE буде блокувати візуалізацію тільки якщо точка відліку координат для проглядається вмісту сторінки верхнього рівня буде відрізнятися від точки відліку контенту, прописаної в директиві X-FRAME-OPTIONS. Наприклад, якщо http://shop.example.com/confirm.asp містить директиву DENY, то ця сторінка не буде візуалізуватися в подфрейме, незалежно від того, де розташований батьківський фрейм. Навпаки, якщо директива X-FRAME-OPTIONS містить маркер SAMEORIGIN, ця сторінка може міститися в фреймі будь-якої сторінки з такою ж як і у http://shop.example.com точкою відліку координат.

Коли візуалізація заблокована політикою X-FRAME-OPTIONS, локальна сторінка з повідомленням про помилку містить пояснення обмеження і посилання, що відкриває фрейм у новому вікні. Коли він відкривається в новому вікні, а не в подфрейме, контент, що міститься на ньому більше не є предметом ClickJacking-атак.



Використовуючи директиву X-FRAME-OPTIONS, веб-розробники можуть безпосередньо зменшити ймовірність атак на веб-додатки для користувачів IE8. Я сподіваюся, що директива X-FRAME-OPTIONS буде використовуватися іншими браузерами в якості легкого в розгортанні, що володіє високим ступенем сумісності засоби для зменшення загрози ClickJacking-атак. У подальшій перспективі я сподіваюся, що дослідники з питань безпеки продовжать вносити інноваційні зміни в механізм політик безпеки веб-додатків, організований засобами браузера. Ми розраховуємо на їх спільну роботу з нами в цій області і над подальшим поліпшенням захисту від ClickJacking-атак в майбутніх версіях браузера.

Схожі статті:


Сподобалася стаття? Ви можете залишити відгук або підписатися на RSS , щоб автоматично отримувати інформацію про нові статтях.

Коментарів поки що немає.

Ваш отзыв

Поділ на параграфи відбувається автоматично, адреса електронної пошти ніколи не буде опублікований, допустимий HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

*

*