Архів для категорії 'Статті'

Просунуті SQL Injection

22:49 26.12.2012

Продовжуючи розпочату традицію, після попереднього відео про просунуту експлуатацію MySQL, пропоную нове відео на веб секюріті тематику. Цього разу відео про просунуті SQL Injection. Рекомендую подивитися всім хто цікавиться цією темою.

DEFCON 17: Advanced SQL Injection

Три роки тому на конференції DEFCON 17 відбувся виступ Joseph McCray. В своєму виступі він розповів про SQL Injection уразливості, їх класифікацію та ризики даних уразливостей.

А також про просунуті техніки проведення SQL ін’єкцій. Про обхід IDS і WAF, про підняття привілеїв в СУБД, використання вбудованих процедур та інші атаки. Рекомендую подивитися дане відео для розуміння векторів атак на веб додатки.

Захист від XSS з HttpOnly

22:43 24.12.2012

Серед технологій захисту від XSS атак можна виділити дві основні групи: серверні та клієнтські. Перші працюють повністю на стороні сервера (до них можна віднести як виправлення XSS уразливостей, так і використання WAF), другі працюють на стороні клієнта (і можуть вимагати підтримки в браузерах).

Причому клієнтські технології можна розділити на такі, що вимагають клієнтської підтримки, та такі, що не вимагають (реалізовані на JS). Тому такі технології захисту від XSS атак повинні не тільки підтримуватися в браузерах (і відповідно старі браузери без їх підтримки не будуть захищені), але й вони повинні бути включені на сервері. В своєму новому циклі статей я розповім вам про деякі з клієнтських технологій захисту від XSS. Серед них є такий захист як плагіни до браузерів (такий як NoScript для Firefox), але я буду розповідати про ті, які реалізуються на рівні поєднання серверних налаштувань і клієнтської підтримки (серверні заголовки), або ж на рівні JavaScript.

Прикладами таких технологій, які орієнтовані на браузери, є технології захисту від ClickJacking, про які я розповідав торік. Серед них є як плагіни до браузерів чи секюрні браузери, так і JS захист та заголовок X-Frame-Options. Першим серед технологій захисту від XSS атак я розгляну HttpOnly.

Заголовок HttpOnly встановлюється до кукісів. Для цього веб додаток повинен у своїй відповіді вказати серверний заголовок Set-Cookie з параметром HttpOnly:

Set-Cookie: name=value; expires=Tue, 1-Jan-2013 00:00:00 GMT; path=/; HttpOnly

І кожен з кукісів з таким параметром буде доступний лише для сервера, але не для клієнтського коду (JS/VBS). Це вбереже від класичних атак на викрадення кукіса.

Але це не вбереже від інших атак через XSS уразливості. Бо XSS атаки не обмежуються лише викраденням кукісів, про що я наголошував неодноразово. А також PDP ще в 2007 році писав про те, чому HttpOnly кукіси не врятують від XSS атак. До того ж, в перші роки після появи цієї технології та й в останні роки виявлялися методи обходу httpOnly в деяких браузерах.

Заголовок HttpOnly був придуманий Microsoft для Internet Explorer 6 SP1 в 2002 році і пізніше підтриманий іншими розробниками браузерів. І особисто я не вважаю його надійним захистом від XSS. Жодна з цих допоміжних технологій не може дати 100% гарантію захисту від XSS атак і вирішує лише частину проблеми, тільки виявлення та виправлення всіх XSS уразливостей дасть надійних захист. Але ці технології можна використати в парі з проведенням аудиту безпеки своїх сайтів, як додатковий елемент безпеки.

HttpOnly підтримують наступні браузери:

Internet Explorer 6 (повністю пропатчений) (тільки захист від читання)
Internet Explorer 6 SP1 (тільки захист від читання)
Internet Explorer 7+ (захист від читання і запису)
Mozilla Firefox 3.0.6+ (захист від читання і запису)
Netscape Navigator 9.0b3+ (захист від читання і запису)
Opera 9.50+ (тільки захист від читання)
Apple Safari 5+ (захист від читання і запису)
Google Chrome перші релізи (тільки захист від читання)
Google Chrome 12+ (захист від читання і запису)

Просунута експлуатація MySQL

19:39 15.12.2012

Продовжуючи розпочату традицію, після попереднього відео про ефективні Denial of Service атаки проти веб додатків, пропоную нове відео на веб секюріті тематику. Цього разу відео про просунуту експлуатацію MySQL. Рекомендую подивитися всім хто цікавиться цією темою.

DEFCON 17: Advanced MySQL Exploitation

Три роки тому на конференції DEFCON 17 відбувся виступ Muhaimin Dzulfakar. В своєму виступі він презентував методику проведення просунутих атак на SQL Injection уразливості для виконання коду. Зокрема на платформі MySQL.

Подібні атаки можливі на різних СУБД, але MySQL (особливо в зв’язці з PHP) є дуже поширеною в Інтернеті. Віддалене виконання коду відбувається при відправленні SQL запитів веб додатку з SQL Injection уразливістю - для розміщення на сервері шелкоду і його запуску. Рекомендую подивитися дане відео для розуміння векторів атак на веб додатки.

Включення бекдорів у веб додатки

22:45 30.11.2012

На тему бекдорів я вже писав в 2011 році в статті Розміщення шелів (бекдорів) на сайтах. Тоді я описав три методи, яким чином шели (бекдори) можуть бути розміщенні на сайті. В інтернеті існує багато сайтів на яких розміщені бекдори.

За звичай подібні скрипти розміщуються на сайтах після їх взлому. Але існує ще інший напрямок потрапляння бекдорів - через веб додатки. І якщо створення дірявого коду, який дозволяє віддалене виконання коду не є безпосередньо бекдором (хоча подібні дірки жартома так можуть обізвати), то навмисне впровадження подібного скрипта у веб додаток - це вже безпосередньо бекдор. І ось про це я розповім у даній статті.

Зараження веб додатків бекдорами - це поширене явище, яке з кожним роком стає більш масштабним. І окрім веб додатків, воно також стосується звичайних програм та ОС. Тому це актуальна проблема ІБ, особливо це стосується безпеки в Інтернеті. При зараженні веб додатку таким кодом, бекдор може розповсюджуватися на численні сайти - чим більш популярним є програма, тим більше сайтів можуть стати жертвами такої прихованої атаки.

Основні шляхи потрапляння бекдору у веб додаток:

1. Розміщення самим розробником. В опенсорс додатках такий код, за звичай, швидко виявляється, тому опенсорс розробники таким не займаються (зате вони нерідко роблять критичні уразливості в своїх додатках, що приводять до аналогічних наслідків). А ось розробники закритого ПЗ можуть собі це дозволити і нерідко знаходяться такі бекдори в комерційних закритих програмах.

2. Взлом сайту веб розробника і впровадження бекдору в дистрибутив програми. Щоб всі, хто викачає даний веб додаток, отримали бекдор “в подарунок”.

Зупинюся більш детально на другому напрямку поширення такого коду, який є типовим для опенсорс ПЗ. Ось декілька прикладів впровадження бекдору, що вже мали місце.

Випадки впровадження бекдору у веб додатках:

Випадки впровадження бекдору у відкритих операційних системах:

Також бекдори нерідко трапляються в експлоітах. Про що я писав в статті Небезпека готових експлоітів. Подібно до того, як нерідко віруси і трояни розміщуються у креках для комерційних програм.

У вищезгаданій статті про розміщення шелів на сайтах я дещо торкнувся засобів пошуку бекдорів (про подібні програми я неодноразово писав в новинах). І в наступній статті я детально зупинюся на аспекті пошуку бекдорів.

Економіка кіберзлочинності та закон вірогідності malware

22:45 27.11.2012

В презентації The Economics of Cybercrime and the Law of Malware Probability, Sam Curry і Amrit Williams розповідають про економіку кіберзлочинності. Вони дослідили економічні аспекти кіберзлочинності в Інтернеті (такі як поширення шкідливого коду) та розробили математичний закон вірогідності malware.

Ефективні Denial of Service атаки проти веб додатків

22:46 21.11.2012

Продовжуючи розпочату традицію, після попереднього відео про Denial of Service в Internet Explorer, пропоную нове відео на веб секюріті тематику. Цього разу відео про ефективні Denial of Service атаки проти веб додатків. Рекомендую подивитися всім хто цікавиться цією темою.

28c3: Effective Denial of Service attacks against web application platforms

Наприкінці минулого року на конференції 28c3 був оприлюднений алгоритм проведення Denial of Service атак на різні мови програмування для веб та веб платформи - DoS через хеш таблиці. Зокрема в PHP дана уразливість була виправлена в PHP 5.3.9.

В ролику показаний виступ Alexander Klink і Julian Walde на конференції, де вони презентують даний метод DoS атак. Який вони розробили базуючись на статті “Denial of Service via Algorithmic Complexity Attacks” 2003 року, написаної Scott A. Crosby і Dan S. Wallach. В тому ж році дана уразливість була виправлена в Perl.

Атака відбувається при відправленні великої кількості аргументів веб додатку, що призводить до перевантаження сервера. Рекомендую подивитися дане відео для розуміння векторів атак на веб додатки і веб сервера.

Проблеми безпеки PHP

22:46 20.11.2012

В статті PHP - старая песня о главном розповідається про проблеми безпеки PHP. Зокрема йдеться про критичну уразливість, що дозволяла відправку довільних команд PHP інтерпретатору, яка наробила багато шуму цього року.

В даній статті розглянуті наступні аспекти цієї уразливості в PHP:

  • Зворотна сторона PHP
  • Як це було
  • Анатомія уразливості
  • Експлоіти
  • Blackbox? Nope!
  • RCE власною персоною
  • Не інпутом єдиним
  • Патчений патч

Дана уразливість в інтерпретаторі PHP наочно показує, що проблеми з безпекою мають місце не тільки у PHP-додатках, а й в самому інтерпретаторі. Причому серйозні проблеми (уразливості в PHP знаходиться регулярно, але іноді трапляються критичні дірки). Цього року було знайдено аж дві такі уразливості в PHP, що дозволяли віддалене виконання коду.

Denial of Service в Internet Explorer

20:07 16.11.2012

Продовжуючи розпочату традицію, після попереднього відео про URL Spoofing в Opera, пропоную нове відео на веб секюріті тематику. Цього разу відео про Denial of Service в Internet Explorer. Рекомендую подивитися всім хто цікавиться цією темою.

Internet Explorer CSS Denial of Service Vulnerability

В ролику демонструється Denial of Service уразливість в браузері Microsoft Internet Explorer. Яка пов’язана з обробкою CSS в браузері.

Атака відбувається при відвідуванні в IE спеціально створеного веб сайта, що містить код експлоіту. Рекомендую подивитися дане відео для розуміння векторів атак на браузери.

Content Spoofing атаки: Content Injection та Site Injection

23:55 31.10.2012

Пропоную вам другу статтю на тему Content Spoofing атак, в якій розповім про просунутий Content Spoofing (Advanced Content Spoofing). Якщо в першій статті про Content Spoofing атаки, я навів два простих різновиди CS атак - Link Injection та Text Injection, то зараз я розповім про просунутий CS. Це повна заміна контенту.

Якщо у Link Injection та Text Injection уразливостях відбувалася часткова підміна вмісту, то в у випадку даних уразливостей має місце повна заміна контенту. Просунутий Content Spoofing можна розділити на два різновиди: Content Injection (включення різного медійного контенту) і Site Injection (включення цілого сайта).

Зазначу, що Content Injection атаки можливі як при включенні до html сторінок (якщо веб додаток дозволяє включення зображень чи інших медійних файлів з інших сайтів), так і до флеш файлів. А Site Injection атаки насамперед можливі при включенні до флеш файлів. Всі приклади я наведу стосовно атак на flash додатки.

Content Injection.

Content Injection атаки передбачають включення різного медійного вмісту з зовнішнього сайта. Такого як зображення, відео, аудіо, флеш. Окрім цього можливе включення лінків або тексту. Але якщо у попередніх різновидах CS це був основний напрямок атаки, то у випадку комплексної атаки, включення лінків і тексту - це лише додатковий елемент для більш повного контролю над вмістом. Атака призводить до заміни контенту в рамках окремого елементу сайта (наприклад, флеш відео плеєра).

Хорошим прикладом Content Injection є уразливості у флеш відео плеєрах, про які я писав за останні два роки. Таких плеєрів як FLV Player, flvPlayer, JW Player і JW Player Pro. Зокрема лише одних флешек JW Player, за інформацією Google, в Інтернеті існує близько 7,7 мільйонів.

Підміна вмісту плеєра в FLV Player:

http://site/player_flv.swf?flv=http://attacker/1.flv&startimage=http://attacker/1.jpg

Через всі ці плеєри можна проводити підміну окремих параметрів, так і комплексну атаку для підміни одразу багатьох параметрів. Щоб повністю контролювати вміст флеш відео плеєру. В FLV Player підтримується файл конфігурації в форматах xml і txt, а в flvPlayer, JW Player, JW Player Pro в форматі xml. А також деякі плеєри підтримують файли плейлістів та скіни (FLV Player підтримує jpg-скіни, а обидві версії JW Player підтримують swf-скіни).

Для обох версій JW Player підміна вмісту через файл конфігурації буде виглядати наступним чином:

http://site/jwplayer.swf?config=http://attacker_site/1.xml

Вміст файлу 1.xml:

<config>
  <file>1.flv</file>
  <image>1.jpg</image>
</config>

Site Injection.

Site Injection - це включення цілого сайта в інший сайт. Дана атака призводить до повної заміни контенту сайта (до його повного дефейсу). Вона відбувається через підміну файла конфігурації флешки (в форматі xml), подібно до вищеописаних атак на флеш відео плеєри. В даному випадку відбувається повний контроль не лише над плеєром, а над цілим сайтом (зокрема флеш сайтом).

Можливі два варіанта атаки:

1. Коли можна вказати флешку для включення з зовнішнього сайта (тобто file.swf виступає контейнером, в який завантажується основний вміст флеш-сайта):

http://site/file.swf?content=http://attacker/1.swf

Прикладом такої уразливості є Remote Flash Inclusion на www.banner.kiev.ua знайдена мною 26.04.2009.

2. Коли можна вказати файл конфігурації з зовнішнього сайта:

http://site/file.swf?config=http://attacker/1.xml

Приклад такої уразливості я знайшов 26.01.2011 на сайті ionsky.com.sg. Для атаки потрібно створити xml-файл конфігурації подібний до http://ionsky.com.sg/xml/site.xml.

http://ionsky.com.sg/main.swf?siteXML=http://attacker/1.xml

В файлі конфігурації можна вказати адреси всіх необхідних ресурсів (swf, музика, зображення і текст), що будуть міститися на сайті нападника (деякі ресурси можна взяти навіть з основного сайта). І таким чином повністю підмінити контент сайта.

Дані Content Spoofing уразливості можуть використовуватися для фішинга та інших атак. В деяких випадках можливі XSS атаки.

URL Spoofing в Opera

23:51 30.10.2012

Продовжуючи розпочату традицію, після попереднього відео про URL Spoofing в Mozilla Firefox, пропоную нове відео на веб секюріті тематику. Цього разу відео про URL Spoofing в Opera. Рекомендую подивитися всім хто цікавиться цією темою.

Opera Address Bar Spoofing

В ролику демонструється Address Bar Spoofing уразливість в браузері Opera. Спочатку в адресному рядку відображується одна адреса, потім у цьому самому вікні відображується інша адреса та сторінка іншого сайта, при цьому залишається іконка від попереднього сайта. Хоча це значно менша підробка ніж у подібних уразливостях в інших браузерах, але це може бути використано для фішинга.

Атака відбувається при відвідуванні в Opera спеціально створеного веб сайта, що містить код експлоіту. Рекомендую подивитися дане відео для розуміння векторів атак на браузери.