Автор работы: Пользователь скрыл имя, 12 Мая 2015 в 03:05, курсовая работа
На перший погляд здається, що ці загрози за принципом роботи дуже сильно відрізняються один від одного. Але насправді це не зовсім так. Виявляється, багато вірусів, особливо інтернет-черв'яки, використовують для розповсюдження уразливості в програмному забезпеченні. Так і хакери теж воліють застосовувати атаки, спрямовані на відомі «дірки» в ПЗ. І в цьому немає абсолютно нічого дивного. Використовуючи уразливості, і ті, і інші одержують досить легкий доступ до віддаленого комп'ютера навіть у тому випадку, якщо останній добре захищений.
ВСТУП 4
1 АНАЛІЗ ВРАЗЛИВОСТІ ВЕБ-СЕРВЕРІВ 5
1.1 Вразливості програмного забезпечення серверів 5
1.2 Вразливості конфігурації 6
1.3 Вразливості програмного забезпечення користувачів 6
2 КЛАСИФІКАЦІЯ АТАК НА WEB-САЙТИ 8
2.1 Атаки на автентифікацію (Authentication) 8
2.2 Атаки на авторизацію (Authorization) 11
2.3 Атаки на клієнтів (Client-side Attacks) 13
2.4 Атаки на виконання коду (Command Execution) 15
2.5 Розголошення інформації (Information Disclosure) 18
2.6 Логічні атаки (LogicalAttacks) 22
3 СТАТИСТИКА ВРАЗЛИВОСТЕЙ WEB-ДОДАТКІВ 25
3.1 Класи врзаливостей 25
3.2 Галузі тестування 26
3.3 Статистика вразливостей 27
ВИСНОВКИ 38
ПЕРЕЛІК ВИКОРИСТАНИХ ДЖЕРЕЛ 39
Атаки даного класу спрямовані на експлуатацію функцій програми або логіки його функціонування. Логіка програми представляє собою очікуваний процес функціонування програми при виконанні певних дій. В якості прикладів можна навести відновлення паролів, реєстрацію облікових записів, аукціонні торги, транзакції в системах електронної комерції. Додаток може вимагати від користувача коректного виконання кількох послідовних дій для виконання певного завдання. Зловмисник може обійти або використовувати ці механізми в своїх цілях.
2.6.1 Зловживання функціональними можливостями (Abuse of Functionality)
Дані атаки спрямовані на використання функцій Web-додатки з метою обходу механізмів розмежування доступу. Деякі механізми Web-додатки, включаючи функції забезпечення безпеки, можуть бути використані для цих цілей. Наявність уразливості в одному з, можливо, другорядних компонентів системи може призвести до компрометації всього додатку. Рівень ризику та потенційні можливості зловмисника в разі проведення атаки дуже сильно залежать від конкретного додатка. Зловживання функціональними можливостями дуже часто використовується спільно з іншими атаками, такими як зворотний шлях в директоріях і т.д. Приміром, за наявності уразливості типу міжсайтового виконання сценаріїв в HTML-чаті зловмисник може використовувати функції чату для розсилки URL, який експлуатує уразливість, всім поточним користувачам. З глобальної точки зору, всі атаки на комп'ютерні системи є зловживаннями функціональними можливостями. Особливо це стосується до атак, спрямованим на Web-додатки, які не вимагають модифікації функцій програми.
2.6.2 Відмова в обслуговуванні (Denial of Service)
Даний клас атак спрямований на порушення доступності Web-сервера. Зазвичай атаки, спрямовані на відмову в обслуговуванні реалізуються на мережевому рівні, проте вони можуть бути спрямовані і на прикладний рівень. Використовуючи функції Web-додатки, зловмисник може вичерпати критичні ресурси системи, або скористатися уразливістю, що приводить до припинення функціонування системи. Зазвичай DoS атаки спрямовані на вичерпання критичних системних ресурсів, таких як обчислювальну потужністі, оперативна пам'ять, дисковий простір або пропускна спроможність каналів зв'язку. Якщо якийсь із ресурсів досягне максимального завантаження, додаток цілком буде недоступний. Атаки можуть бути спрямовані на будь-який з компонентів Web-додатків, наприклад, такі як сервер СУБД, сервер автентифікації і т.д. На відміну від атак на мережевому рівні, що вимагають значних ресурсів зловмисника, атаки на прикладному рівні зазвичай легше реалізувати.
2.6.3 Недостатня протидія автоматизації (Insufficient Anti-automation)
Недостатня протидія автоматизації виникає, коли сервер дозволяє автоматично виконувати операції, які повинні проводитися вручну. Для деяких функцій програми необхідно реалізовувати захист від автоматичних атак. Автоматизовані програми можуть варіюватися від нешкідливих роботів пошукових систем до систем автоматизованого пошуку вразливостей і реєстрації облікових записів. Подібні роботи генерують тисячі запитів в хвилину, що може призвести до падіння продуктивності всього додатку. Протидія автоматизації полягає в обмеженні можливостей подібних утиліт. Наприклад, файл robots може запобігати індексування деяких частин сервера, а додаткові затрати ідентифікації запобігати автоматичну реєстрацію сотень облікових записів системи електронної пошти.
2.6.4 Недостатня перевірка процесу (Insufficient Process Validation)
Уразливості цього класу виникають, коли сервер не достатньо перевіряє
послідовність виконання операцій програми. Якщо стан сесії користувачів та програми належним чином не контролюється, додаток може бути уразливе для шахрайських дій. У процесі доступу до деяких функцій програми очікується, що користувач виконає ряд дій в певному порядку. Якщо деякі дії виконуються невірно або у неправильному порядку, виникає помилка, що приводить до порушення цілісності. Прикладами подібних функцій виступають переклади, відновлення паролів, підтвердження покупки, створення облікового запису і т.д. У більшості випадків ці процеси складаються з ряду послідовних дій, здійснюваних у чіткому порядку. Для забезпечення коректної роботи подібних функцій Web-додаток повинен чітко відслідковувати стан сесії користувачів та відслідковувати її відповідність поточним операціям. У більшості випадків це здійснюється шляхом збереження стану сесії в cookie або прихованому полі форми HTML. Але оскільки ці значення можуть бути модифіковані користувачем, обов'язково має проводитися перевірка цих значень на сервері. Якщо цього не відбувається, зловмисник отримує можливість обійти послідовність дій, і як наслідок - логіку програми.
Такім чином, у даному розділі розглянуто питання атак на web-сайти: на авторизацію, на автентифікацію, на кліентів, на виконання коду тощо.
Як результат, побудовано класифікацію атак на web-сайти.
Уразливості в Web-додатках, як і раніше, залишаються одним з найбільш поширених недоліків забезпечення захисту інформації. Проблема захищеності Web-додатків ускладнюється ще й тим, що при розробці Web-додатків часто не враховуються питання, пов'язані з захищеністю цих систем від внутрішніх і зовнішніх загроз, або недостатньо уваги приділяється даному процесу. Це, в свою чергу, породжує ситуацію, в якій проблеми ІБ потрапляють у поле зору власника системи вже після завершення проекту [8]. А усунути уразливість в уже створеному Web-додатку є більш витратною статтею бюджету, ніж при його розробці та впровадженні. Недооцінка серйозності ризику реалізації загроз ІБ з використанням Web-додатків, доступних з боку мережі Інтернет, можливо, є основним чинником поточного низького стану захищеності більшості з них.
Поширені уразливості Web-додатків організовані у структурований список, що складається з дев'яти класів (WSTCv2):
Для кожного з класів наведено детальний опис різновидів атак. Описи містять приклади вразливостей, що призводять до можливості реалізації атаки, а так само посилання на додаткові матеріали. У наведеній статистиці враховуються тільки уразливості Web-додатків.
Розподіл програм, досліджуваних методом «білої скриньки», залежно від сфери діяльності власника наведено в табл. 3.1 та на рис. 3.1.
Таблиця 3.1 – Розподіл власників по галузі
Сектор економіки |
Частка,% |
Телекомунікації |
48% |
Финансовий сектор |
8% |
Нафтогазовий комплекс |
39% |
Інші |
5% |
Такий розподіл респондентів пов'язано з тим, що найбільший інтерес у 2014 р. до робіт з аналізу захищеності своїх Web-ресурсів проявив сектор Телекомунікації (48%) і Нафтогазовий комплекс (39%). У меншій мірі, затребуваність у подібних послугах за 2014 р., була у Фінансового сектору (8%) і компаній у різних галузях (5%). Однак це обумовлено, перш за все тим, що для даного сектора економіки проводилися більш детальні дослідження Web-додатків шляхом аналізу вихідного коду.
Рисунок 3.1 - Розподіл власників по галузях
Представлені дані справедливі тільки для учасників дослідження, ресурси яких обстежувалися експертами Positive Technologies в рамках аудитів та робіт з тестування на проникнення.
Всього в представлену статистику увійшли дані по 10459 Web-додатків, 7861 з яких містили одну і більше вразливостей. Сумарно у всіх додатках було виявлено 33931 помилок різного ступеня ризику. У Табл. 2 представлені дані щодо розподілу вразливостей, виявлені в ході аудитів і шляхом автоматизованого сканування.
Таблиця 3.2 – Розподіл вразливостей за методом пошуку
Метод пошуку |
Хостів |
Вразливих хостів |
Вразливостей |
Ручно метод пошуку і аналіз вихідного коду |
59 |
59 |
428 |
Автоматизований метод пошуку |
10400 |
7802 |
33503 |
Таким чином, вірогідність виявлення вразливостей в одному Web-додатку (тобто ефективність оцінки захищеності) при його детальному аналізі вище цього показника при автоматичному скануванні на 26% (рис.3.2). Таке співвідношення обумовлено, перш за все тим, що аналіз вихідного коду та виконання ручних перевірок дозволяє добитися кращих результатів, ніж при автоматизованому скануванні. Крім того, в роботах по дослідженню Web- одатків ручним способом застосовувалися методи перевірки додатків на основі системних журналів, вихідних кодів, що збільшує охоплення API системи і, як наслідок, дозволяє одержати більш об'єктивну оцінку захищеності досліджуваних систем. При автоматизованому скануванні настройка профілів сканування під конкретний Web-додоток не виконувалася, і сканування вироблялися методом «чорного ящика».
Рисунок 3.2 – Імовірність виявлення уразливості різними методами їх пошуку
3.3.1 Автоматичне сканування
Розподіл виявлених вразливостей до різних типів за допомогою автоматизованих засобів представлено в табл. 3 і на рис. 3.3. Дані наведено з урахуванням систем, для яких були виявлені від однієї до декількох вразливостей. При розрахунку відсотка уразливих сайтів були виключені web-додатки, у яких не було виявлено вразливостей. Варто відзначити, що в статистику не увійшла поширена уразливість Web-додатків «Підробка HTTP-запитів» (Cross-Site Request Forgery, CSRF). Ця помилка в тому чи іншому вигляді зустрічалася у всіх проаналізованих додатках.
Таблиця 3.3 – Статистика вразливостей Web-додатків (автоматичне сканування)
Тип уразливості |
% Вразливостей |
% Вразливих сайтів |
Cross-Site Scripting |
30,08 |
50,1 |
Information Leakage |
29,82 |
97,19 |
Insufficient Transport Layer Protection |
11,18 |
53,25 |
Fingerprinting |
9,59 |
45,68 |
SQL Injection |
7,95 |
15,5 |
Malware detect |
5,52 |
1,32 |
Improper Parsing |
3,92 |
6,62 |
HTTP Response Splitting |
0,84 |
2,07 |
SSI Injection |
0,42 |
0,42 |
Remote File Inclusion |
0,22 |
0,44 |
Path Traversal |
0,23 |
0,71 |
OS Commanding |
0,08 |
0,06 |
Content Spoofing |
0,06 |
0,19 |
Denial of Service |
0,05 |
0,23 |
Insufficient Authorization |
0,02 |
0,1 |
Brute Force |
0,01 |
0,06 |
Directory Indexing |
0,01 |
0,05 |
Рисунок 3.3 – Статистика вразливостей Web-додатків (автоматичне сканування)
Якщо розглядати уразливості з точки зору поширеності, то будуть отриманірезультати, представлені на рис. 3.4.
Рисунок 3.4 – Розподіл вразливостей по сайтах (автоматичне сканування)
Найбільш поширеною вразливістю є «міжсайтового виконання сценаріїв» (Cross-Site Scripting, XSS), на частку якої припадає приблизно 30% всіх помилок. Дана уразливість зустрічалася в 50% всіх проаналізованих додатків. Тобто кожен другий сайт містить подібну уразливість.
Інша поширена уразливість, впритул наблизилася до «міжсайтового виконання сценаріїв», пов'язана з різними варіантами витоку інформації. Вразливість даного типу зібрала в собі такі поширені помилки, як доступ до вихідного коду серверних сценаріїв, розкриття шляху каталогу Web-сервера, отримання різної чутливої інформації та інше. Помилки, пов'язані з цією вразливістю, зустрічалися практично на кожному обстежуваної сайті. Таким чином, лідируючу позицію за ймовірністю виявлення уразливості в Web-додатку, за автоматичному скануванні, займає вразливість - «Витік інформації» (Information Leakage). Варто відзначити, що ступінь можливого ризику даної уразливості може варіюватися від низької до критичної. Помилки в розмежуванні доступу до Web-ресурсів, зберігання загальнодоступних, але «прихованих» папках конфіденційних даних, резервних копій сценаріїв є найбільш типовими прикладами подібних недоліків. У деяких випадках аудиторам вдавалося отримати доступ до критичною системної або бізнес інформації (наприклад, баз облікових записів, журналів транзакцій), використовуючи тільки механізм «Forced Browsing», тобто підбір імен файлів, доступних з боку мережі Інтернет.
Окрему позицію в статистиці займає уразливість «Malware detect», на частку якоїприпадає приблизно 6% всіх виявлених вразливостей при автоматичному скануванні (рис. 3.4). Присутність даної уразливості свідчить про те, що Web-додаток містить інфікований код (Trojan-Spy backdoor, Code.JS, Code. I і т.д.), внаслідок чого на комп'ютери відвідувачів такого сайту може бути встановлено зловмисне програмне забезпечення. Статистика вразливостей з високим рівнем небезпеки, виявлених на сайтах, що містять інфікований код (рис. 3.5), показує, що найбільш ймовірні шляхи поширення інфікованого коду в цих додатках - це використання наступних вразливостей:
Рисунок 3.5 - Статистика критичних вразливостей на сайтах, що містять інфікований код