МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ
НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ «ЛЬВІВСЬКА ПОЛІТЕХНІКА»
Кафедра БІТ
/
ЗВІТ
до практичної роботи
з дисципліни:
«Інформаційна безпека у відкритих системах»
Львів – 2013
Мета роботи
Свторити веб-сайт і просканувати його на вразливості. Дослідити ці вразливості та знайти сучасні та актуальні методи захисту від них.
Хід роботи
Використавши спеціальне програмне забезпечення Denver , я створив власний веб-сайт на своїй віртуальній машині Windows Xp SP2. Підчас створення , надав назву сайту : stefin.co та створив обліковий запис адміністратора сайту з логіком і паролем для входу. Сама структура сайту побудована на загально відомій і доступній платформі Wordpres.
Вхід на адміністратора:
/
Консоль для налаштувань сайту:
/
WordPress в даний час найбільш популярна і широко використовувана блог-платформа. Він використовується мільйонами людей по всьому світу. Саме з цієї причини, хакери і спамери також беруть живий інтерес , порушуючи безпеку у блогах.
Вразливості веб-сайту:
1. Blind SQL Injection
В статті Слепая быстрота: новейшие методы Blind SQL Injectionрозповідається про новітні методи проведення Blind SQL Injection атак. Враховуючи, що при сліпій SQL ін’єкції потрібно діставати інформацію з БД посимвольно, то дана атака є більш повільною ніж звичайна SQL ін’єкція, тому й розробляються методи для її пришвидшення.
В статті наводяться наступні методи Blind SQL Injection атак:
Повний перебір,
Бінарний (двійковий) пошук,
Використання find_in_set() і подібних функцій,
Використання find_in_set() + more1row.
Якщо методи повного перебору і бінарного пошуку вже давно відомі, то методи з використанням find_in_set() є новими, і вони дозволяють ще більше пришвидшити сліпі SQL ін’єкції.
Зазначу, що методи з використанням find_in_set() мають ряд обмежень порівняно з методом бінарного пошуку. Тому на власній практиці я вже багато років використовую саме бінарний пошук для Blind SQL Injection і буду використовувати й надалі. Але сучасні розробки в галузі Blind SQL Injection потрібні, щоб ще більше пришвидшити дані атаки.
2. Slow HTTP DoS
Як і все геніальне , технологія цієї атаки дуже витончена і проста. Атака базується на уразливості в протоколі HTTP. Slow HTTP POST атака працює таким чином: зловмисник відправляє POST заголовок з легітимним полем « Content- Length » , яке дозволяє веб сервера зрозуміти , який обсяг даних до нього надходить . Як тільки заголовок відправлений , тіло POST повідомлення починає передаватися з дуже повільною швидкістю , що дозволяє використовувати ресурси сервера набагато довше , ніж це необхідно , і , як наслідок , перешкодити обробці інших запитів. Кілька тисяч таких сполук можуть покласти веб сервер на кілька хвилин. Якщо ваша система має веб інтерфейс , то даний вид атак дозволить « покласти » його без особливих проблем.
Атака була вперше продемонстрована широкій публіці на OWASP 2010 Application Security Conference . Дослідник Wong Onn Chee перший виявив атаку в 2009 спільно з командою дослідників з Сінгапуру. Пізніше були проведені дослідження атаки (у тому числі компанією Microsoft ) . Уразливість в протоколі зараз офіційно визнана . Спочатку атаки такого роду проводилися в Китаї. Для рекрутингу ботів використовувалися онлайн ігри - комп'ютери невдалих гравців використовувалися для відправки спеціально сформованих HTTP - запитів цільовій системі.
Простота реалізації атаки дозволила ефективно використовувати для цього простий Java аплет, який запускався під час онлайн ігри. Як тільки жертва брала self - signed аплет, аплет начінаел виконувати атаку в той час , поки користувач грав в онлайн гру. Після виходу з гри і закриття браузера атака припинялася , а аплет віддалявся . Виявити, що ти став джерелом атаки досить проблематично - адже комп'ютер не заражається в класичному розумінні цього слова , а відрізнити трафік від легального HTTP -трафіку складно. Крім того , інтернет- канал майже не перевантажується .
Атака призводить до обвалення веб- серверів з Microsoft IIS і Apache (як показали мої досліди , список уразливих веб серверів ними не обмежується ) в рамках протоколів HTTP або HTTPS і , очевидно , будь-яких «безпечних» підключень начебто SSL , VPN та інших . Також атака може бути адаптована для роботи з SMTP і навіть DNS- серверами. Програмне забезпечення , яке балансує навантаження , нині використовується для запобігання DDOS- атак , схожих за типом ( Slowloris ) , не ефективне проти нової методики.
Програми , що реалізують атаку ( RU Dead Yet ? Та OWASP HTTP POST Tool , яку я використовував , далі мова йде про неї ), знаходяться у вільному доступі і легко Гуглі. Налаштування програми дуже прості , є докладний хелп і навіть графічна оболонка ( сама програма консольна ) . Також доступні вихідні коди .
Практика.Все це я , зрозуміло , перевірив на практиці. Я скачав OWASP HTTP DoS Tool , ввів адресу одного підконтрольного мені сайту. Недовірливо клацнув по кнопочки . Через хвилину сайт лежав. Це при тому , що я вдома обділений хорошим інтернетом, і моя швидкість на аплоад складає всього пів- мегабіта . Сайтик слабенький , це форум ( vBulletin ) на сто чоловік , віртуальний хостинг , сервер nginx . Але , все - ж , погодьтеся , навіть такий невеликий сайт повісити -під пів- мегабітного каналу ... це щонайменше дивно .
Наука пішла далі. Зрозумівши , що для реалізації атаки достатньо навіть дуже маленького каналу , я запустив атаку через AdvTor ( Про TOR'e читаємо тут ) . Як - б нерозумно і неправдоподібно це не звучало , сайт впав. Пізніше , використовуючи кілька комп'ютерів з більш широким інтернет- каналом , все через той-же AdvTor я зумів , суто з наукового інтересу відправити у даун серйозніші сайти ( посперечавшись попередньо з власником , що покладу його дітище без допомоги ботнету ) . Далі - більше . Був написаний скрипт , який реалізує безперервну атаку ( у OWASP'овской програмки на цю справу є обмеження - після 40000 запитів вона вимикається ) , час від часу переключающий вихідну ноду TOR'a , очищающий його кеш і перезапускати обидві програмки . До речі , в такому режимі використання вони починали дуже добре текти . Процесор завантажувався під 100% , а AdvTor безсоромно пожирав пам'ять. Взагалі TOR був далеко не в захваті від такого використання , але тримався напрочуд добре , хоча іноді і зависав намертво . Використовувати мережу TOR'a для цього, звичайно , цілковите варварство , але руки сверблять наука вимагає жертв. Випробування проводилися ще на кількох сайтах різного рівня ( знову-ж , за домовленістю з власниками , крім одного разу , коли я вирішив мило пожартувати над товаришем ) . Результат виявився сумним . Виявилося . що укласти майже будь-який середній сайт відносно нескладно і більш ніж можливо.
Висновки:
1 ) Slow HTTP POST дозволяє організовувати атаки на відмову в обслуговуванні , з недосяжним раніше співвідношенням необхідної потужності / каналу атакуючого комп'ютера (комп'ютерів ) і атакується сервера .
2 ) Величезна кількість малих і середніх сайтів на сьогоднішній день схильні до цієї атаці. Причому найчастіше з боку сервера складно навіть діагностувати , що сайт атакують - трафік не перевищує нормальних значень .
3 ) Реалізація атаки дуже проста , і практично не вимагає ніяких вкладень . Більш того , це єдина відома науці атака на відмову в обслуговуванні , яку реально організувати через проксі !
4 ) Схожість трафіку атаки з легальним трафіком ускладнюють фільтрацію «шкідливих» пакетів , а також дозволяють легко організувати складно виявляється ботнет .
Результат сканування ще не захищеного веб-сайту:
/
Хоча WordPress є дуже безпечною сама по собі, але ніколи не буває занадто багато безпечності. "Numero Uno" пріоритетом для будь-якого блогера або веб-розробник повинна бути безпека. У зв'язку з відсутністю безпеки, будь-який сайт може бути зламаний і змінений, особиста інформація може бути вкрадена, і незліченні години важкої роботи може бути потрачено. Кожен вид захисту створює певні перешкоди і труднощі у зловмисників. Чим більше перешкод, тим краще. Ось список деяких з кращих плагінів безпеки, які використовуються користувачами WordPress,щоб тримати їх сайт захищений.
1. BulletProof Security - корисний плагін для безпеки WordPress. BulletProof Security дозволяє захищати важливі файли вашого блогу (wp-config.php, php.ini і php5.ini) через файл .htaccess. Є режим для технічних робіт на блозі. Вимикає повідомлення про помилки, приховує версію WordPress і перевіряє права на папки та файли.
Забезпечує захист вашої папку ' WP- адміністратора » і кореневої папка сайту за допомогою одного кліка. Він пропонує захист від усіх CSRF , Base64 , XSS , RFI , SQL - ін'єкції і Code Injection злому чи спроб. Ще одна корисна функція технічного обслуговування також додана , що дозволяє розробникам миритися з " 503 під забезпечення " сторінки у той час як власник сайту працює на сайті.
2. Better WP Security - самий простий і ефективний спосіб для захисту WordPress.У цього плагіна є безліч класних параметрів . Він досліджує уразливості ( що є причиною більшості атак на WordPress ) , захищає сайт шляхом блокування користувачів , які його атакують , визначає ботів і т.д. Так що замість того , щоб копіювати всі ці параметри і розписувати їх усіх в цьому пості , пропоную вам просто подивитися на сторінку плагіна і прочитати все про нього (це обов'язково , якщо ви хочете використовувати даний плагін ) . А в цьому пості я зосереджуся на тому , як і що треба зробити після установки даного плагіна , щоб сам плагін нічого не порушив у роботі вашого сайту ( а таке легко може статися , є безліч способів « змішати всі карти »).
3. WP Security Scan - почнемо з плагінів-сканнерів. WP Security Scanner приховує версію WordPress, а також сканує ваш блог на предмет різних вразливостей, таких, як права на файли і папки, занадто простий пароль і т.д. і дає рекомендації щодо їх виправлення. Крім цього, цей плагін дозволяє змінити префікс у бази даних.
4.WP Secure - якщо з якихось причин плагін не працюватиме, то спробуйте цей. WP Secure просканує ваш блог за 23 пунктами безпеки. Дозволяє обмежити вхід в адмінку і зробити його можливим тільки з вашого IP.
5. Secure WordPress - класний плагін, який прибирає повідомлення про помилки на сторінці логіна, приховує інформацію про версії блогу, додає порожній файл index.html в папку з плагінами, щоб ніхто не зміг побачити список використовуваних плагінів. 19. Login LockDown - записує всі невдалі спроби входу в адмінку вашого блогу WordPress, фіксує IP і час, блокує IP після трьох невдалих спроб входу протягом 5 хвилин (можна задати інший період).
6. WordPress File Monitor - корисний плагін, який відстежує наявність змін у файлах вашого блогу, і у випадку несанкціонованого редагування, видалення або додавання файлів відправляє вам повідомлення на e-mail. Такий собі скромний, але корисний трудяга .
7. AntiVirus - зручний плагін для перевірки вашого блогу на наявність вірусів і експлойтів. Можна налаштувати щоденну автоматичну перевірку з відправкою звіту вам на e-mail.
Плагіни для захисту контенту
Цей момент спірний. Сам я не прихильник відключення правої кнопки мишки або можливості виділення тексту – це може знадобитися і постійним читачам вашого блогу. Немає способу на 100% захистити контент вашого сайту від копіювання. Якщо сайт викладений в інтернеті, бажаючі завжди знайдуть спосіб, як скопіювати контент. Проте, знаю, що для деяких блогерів важливо захистити свій контент, тому для них я підібрав наступні плагіни.
1. Blog Protector - цей плагін не дозволяє натискати правою мишкою на сторінках вашого блогу і відключає можливість виділення тексту.
2. Protection WP - крім відключення правої мишки і виділення тексту, цей плагін дозволяє відключати RSS стрічку вашого блогу. Як відомо, контент часто копіюють саме через RSS.Источник: http://codice.in.ua/kraschi-plahiny-wordpress-103-plahina/
Активні плагіни , які я застосував для безпеки:
/
Застосувавши плагіни та налаштувавши безпеку сайту, проскануємо наш сайт на веб-вразливості сканером: Acunetix Web Vulnerability Scanner 8.
/
Висновок
На даній практичній роботі я навчився сворювати влсні веб-сайти , сканувати їх на веб-вразливості та знаходити методи захисту інформації на своєму веб-сайті.