Материал: Аналіз методик та програмних засобів оцінки стану безпеки Web-сторінки

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

Аналіз методик та програмних засобів оцінки стану безпеки Web-сторінки

МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ

ДВНЗ «Ужгородський національний університет»

Фізичний факультет

Кафедра твердотільної електроніки з/с інформаційної безпеки








Курсова робота

з дисципліни «Комплексні системи захисту інформації: проектування, впровадження, супровід»

на тему «Аналіз методик та програмних засобів оцінки стану безпеки Web-сторінки»


Студента 4 курсу 7 групи

Бабича Василя Івановича

Керівник:

старший викладач

Гребенніков В.В.


Ужгород - 2015

ЗМІСТ

ПЕРЕЛІК ПОЗНАЧЕНЬ І СКОРОЧЕНЬ

ВСТУП.     ВИЗНАЧЕННЯ, ТЕРМІНОЛОГІЯ ТА ПРИНЦИПИ ОЦІНКИ СТАНУ БЕЗПЕКИ WEB-СТОРІНКИ

.1      Визначення

.2 Склад та вимоги до профілів захищеності інформації. АНАЛІЗ НАЙБІЛЬШ ПОШИРЕНИХ ЗАГРОЗ WEB-СТОРІНКАМ. АНАЛІЗ НАЙБІЛЬШ ПОШИРЕНИХ ВРАЗЛИВОСТЕЙ WEB-СТОРІНОК

.1      Вразливості програмного забезпечення та конфігурації

.2      Вразливості конфігурації

.3      Вразливості власного програмного забезпечення

.4      Класифікація вразливостей і атак

.5      Статистика вразливостей Web-сайтів та Web-додатків.     ОГЛЯД МЕТОДОЛОГІЙ ТЕСТУВАННЯ БЕЗПЕКИ WEB-СТОРІНОК

.1 Статистика вразливостей

.2      Автоматичне сканування

.3      Детальний аналіз

.4      Узагальнені дані.         ОГЛЯД ЗАСОБІВ ТЕСТУВАННЯ БЕЗПЕКИ WEB-СТОРІНОК

.1      Сканер вразливостей Nikto-online

.2      Робота сканера Nikto-Online

.3      Зовнішній вигляд сканера

ВИСНОВОК

СПИСОК ЛІТЕРАТУРИ

ПЕРЕЛІК ПОЗНАЧЕНЬ І СКОРОЧЕНЬ

ДВ-1 - ручне відновлення після збоїв;

ДР-1 - квоти;

КА-2 - базова адміністративна конфіденційність;

КВ-1 - мінімальна конфіденційність при обміні;

НВ-1 - автентифікація вузла;

НИ-2 - одиночна ідентифікація і автентифікація;

НК-1 - однонаправлений достовірний канал;

НО-1 - розподіл обов’язків;

НР-2 - захищений журнал;

НТ-1 - самотестування за запитом;

НЦ-1 - КЗЗ з контролем цілісності;

ЦА-1 - мінімальна адміністративна цілісність;

ЦВ-1 - мінімальна цілісність при обміні;

ЦО-1 - обмежений відкат.

У цій курсовій роботі використовуються такі скорочення:

АС - автоматизована система;

ЕОМ - електронно-обчислювальна машина;

ІзОД - інформація з обмеженим доступом;

КЗЗ - комплекс засобів захисту;

КСЗІ - комплексна система захисту інформації;

НД ТЗІ - нормативний документ системи технічного захисту інформації;

НСД - несанкціонований доступ;

ОС - обчислювальна система;

ПЕОМ - персональна електронно-обчислювальна машина;

ПЗ - програмне забезпечення;

СЗІ - служба захисту інформації;

ТЗІ - технічний захист інформації.

ВСТУП

В даний час, в Україні, в зв'язку з входженням у світовий інформаційний простір, швидкими темпами впроваджуються новітні досягнення комп'ютерних і телекомунікаційних технологій. Системи телекомунікацій активно впроваджуються у фінансові, промислові, торгові і соціальні сфери. У зв'язку з цим, різко зріс інтерес широкого кола користувачів до проблем захисту інформації. Тривалий час методи захисту інформації розроблялися тільки державними органами, а їхнє впровадження розглядалося як виключне право тієї або іншої держави. Проте, в останні роки, з розвитком комерційної і підприємницької діяльності збільшилося число спроб несанкціонованого доступу до конфіденційної інформації, а проблеми захисту інформації виявилися в центрі уваги багатьох вчених і спеціалістів із різноманітних країн.

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

1.      ВИЗНАЧЕННЯ, ТЕРМІНОЛОГІЯ ТА ПРИНЦИПИ ОЦІНКИ СТАНУ БЕЗПЕКИ WEB-СТОРІНКИ


1.1    Визначення


У цьому НД ТЗІ використовуються терміни та визначення, що відповідають встановленим ДСТУ 2226 та НД ТЗІ 1.1-003.

Інші терміни, ужиті в цьому НД ТЗІ, мають такі значення:

Інтернет (мережа Інтернет) - сукупність мереж та обчислювальних засобів, які використовують стек протоколів TCP/IP (Transport Control Protocol/Internet Protocol), спільний простір імен та адрес для забезпечення доступу до інформаційних ресурсів мережі будь-якій особі;

Оператор (провайдер, provider) - юридична або фізична особа, яка надає користувачам доступ до мережі Інтернет;

Броузер (browser) - програмне забезпечення, що надає інтерфейс для доступу до інформації WEB-сторінок та їх перегляду;

Робоча станція (клієнт мережі) - окрема (персональна) ЕОМ або віддалений термінал мережі, з яких користувачі отримують доступ до ресурсів мережі Інтернет;

Сервер (server) - об’єкт комп’ютерної системи (програмний або програмно-апаратний засіб), що надає послуги іншим об’єктам за їх запитами;сервер - сервер, який обслуговує запити користувачів (клієнтів) згідно з протоколом HTTP (Hyper Text Transfer Protocol), забезпечує актуалізацію, збереження інформації WEB-сторінки, зв’язок з іншими серверами;сторінка (WEB-сайт) - мережевий інформаційний ресурс, що надається користувачу у вигляді HTML-документу і має у мережі свою унікальну адресу;

Посилання (гіпертекстове посилання) - адреса іншого мережевого інформаційного ресурсу у форматі URL (Universal Resource Location), який тематично, логічно або будь-яким іншим способом пов’язаний з документом, у якому це посилання визначене.

.2 Склад та вимоги до профілів захищеності інформації


Політика безпеки інформації в АС повинна поширюватися на об’єкти комп’ютерної системи, які безпосередньо чи опосередковано впливають на безпеку інформації.

До таких об’єктів належать:

адміністратор безпеки та співробітники СЗІ;

користувачі, яким надано повноваження забезпечувати управління АС;

користувачі, яким надано право доступу до загальнодоступної інформації;

інформаційні об’єкти, що містять загальнодоступну інформацію;

системне та функціональне ПЗ, яке використовується в АС для оброблення інформації або для забезпечення функцій КЗЗ;

технологічна інформація КСЗІ (дані про мережеві адреси, імена, персональні ідентифікатори та паролі користувачів, їхні повноваження та права доступу до об’єктів, встановлені робочі параметри окремих механізмів або засобів захисту, інша інформація баз даних захисту, інформація журналів реєстрації дій користувачів тощо);

засоби адміністрування і управління обчислювальною системою АС та технологічна інформація, яка при цьому використовується;

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

З урахуванням особливостей надання доступу до інформації WEB-сторінки, типових характеристик середовищ функціонування та особливостей технологічних процесів оброблення інформації, зазначених у розділі 6, визначаються наступні мінімально необхідні рівні послуг безпеки для забезпечення захисту інформації від загроз:

за умови, коли WEB-сервер і робочі станції розміщуються на території установи-власника WEB-сторінки або на території оператора (технологія Т1), мінімально необхідний функціональний профіль визначається:

КА-2, ЦА-1, ЦО-1, ДВ-1, ДР-1, НР-2, НИ-2, НК-1, НО-1, НЦ-1, НТ-1;

за умови, коли WEB-сервер розміщується у оператора, а робочі станції - на території власника WEB-сторінки, взаємодія яких з WEB-сервером здійснюється з використанням мереж передачі даних (технологія Т2), мінімально необхідний функціональний профіль визначається:

КА-2, КВ-1, ЦА-1, ЦО-1, ЦВ-1, ДВ-1, ДР-1, НР-2, НИ-2, НК-1, НО-1,НЦ-1, НТ-1, НВ-1.

Технологія Т1 різниться від технології Т2 способом передачі інформації від робочої станції до WEB-сервера, а саме: наявністю у другому випадку незахищеного середовища, яке не контролюється, і додатковими вимогами щодо ідентифікації та автентифікації між КЗЗ робочої станції й КЗЗ WEB-сервера під час спроби розпочати обмін інформацією та забезпечення цілісності інформації при обміні.

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

У випадках, коли в АС вимоги до політики реалізації якоїсь з послуг безпеки забезпечуються організаційними або іншими заходами захисту, які в повному обсязі відповідають встановленим НД ТЗІ 2.5-004 специфікаціям для певного рівня послуги безпеки, то рівень такої послуги, що входить до визначених згідно з профілів захищеності, може бути знижений на відповідну величину.

2.      АНАЛІЗ НАЙБІЛЬШ ПОШИРЕНИХ ЗАГРОЗ WEB-СТОРІНКАМ


Щоб зламати веб-портал зловмисник збирає інформацію, необхідну і достатню для його зламу:

• перевірка використання на веб-сайтом сценаріїв, написаних власниками сайту або розроблених комерційними організаціями;

• детальний розгляд сценаріїв, які потребують введення даних користувачем;

• розгляд того, як сценарії обробляють введені дані;

• розгляд того, як фільтруються введені дані, щоб обійти ці фільтри;

• використання універсального web-фільтру, який продивляється HTTP заголовки повідомлень.ін’єкція - вбудовування вільних SQL-команд, у результаті якого змінюється логіка запиту до бази даних. Це становить загрозу, бо таким чином можна поцупити з бази даних конфіденціальну інформацію. Приклад - через помилки web-інтерфейсу у різних провайдерів не раз крали бази з логінами та паролями користувачів. Успішність атаки SQL-ін’єкція не залежить від використання для написання web мови програмування - чи то PHP, Perl, або ASP. Якщо сценарій працює з базами даних, а перевірка вхідних параметрів відсутня, то завжди є можливість приєднання SQL-коду.

Приклад вразливого сценарію:

<?php

$data=mysqli_query($link,”SELECT * FROM profiles WHERE=”.$_GET[“id”]);

?> [1]

У даному прикладі значення поля id буде порівнюватися зі значенням параметра id переданому через URL.

Якщо в якості значення параметра вказати, наприклад, 10, то чесний користувач побачить свій профіль. Але, якщо вказати в якості параметра id рядок 10 OR UserName= “Administrator”, то запит до бази даних набуде вигляду SELECT * FROM profiles WHERE id=10 OR UserName= “Administrator”. Після виконання такого запиту відобразиться не лише запис з id=10, але й запис у якому поле UserName=“Administrator”. Тобто після такого запиту хакер побачить всю інформацію про обліковий запис “Administrator”. Php-ін'єкція - один зі методів злому веб-сайтів, що працюють на PHP, який полягає у виконанні стороннього коду на серверній стороні. Потенційно небезпечними є стандартні функції PHP [7] :

();();();_once();_once();();();_function();

ін'єкція стає можливою, якщо вхідні параметри приймаються і використовуються без перевірки. Загроза XSS. В багатьох XSS вже давно немає ніякого скриптингу. Всяка можливість впливу на віддаленого користувача, яка реалізовується через незахищений сайт віддаленим хакером, і буде XSS. XSS-атаки відрізняються моделлю передачі даних між клієнтом, сервером та хакером. В цілому на сьогоднішній день відомо три основні моделі [1]:

) XSS DOM. У цій моделі вразливість сайту полягає у тому, що не серверний сценарій, а саме клієнтський JavaScript вставляє в код HTML сторінки дані, отримані в URL, через об’єкти Document Object Model (DOM). Тому користувачу достатньо лише перейти за посиланням, яке містить XSS-вектор хакера, і вміст вебсторінки буде змінено і в неї безпосередньо на машині клієнта буде вставлений код з тіла вектора. Приклад вразливої сторінки:

<HTML>

<TITLE>Welcome!</TITLE>

<SCRIPT>pos=document.URL.indexOf("name=")+5;.write(document.URL.substring

(pos,document.URL.length));

</SCRIPT>

...

</HTML>

Приклад вектора: #"792080.files/image001.gif">

Рис. 2.1. Відсотковий розподіл загроз веб-сайтам

3.      АНАЛІЗ НАЙБІЛЬШ ПОШИРЕНИХ ВРАЗЛИВОСТЕЙ WEB-СТОРІНОК

сервери та Web-сайти є об’єкти на які діють джерела вразливостей. Особливу увагу треба звернути на Web-сервери, бо Web-сервери - постійно піддаються безлічі самих різних небезпек. Причому найсерйознішу загрозу становлять для них хакери й віруси. Перші можуть отримати доступ до конфіденційної інформації, розміщеної на сервері, зламати сайти й змінити їх вміст, а також вивести з ладу сервер за допомогою розподіленої атаки (DDoS-атака). Віруси ж, вражаючи веб-сервери, перетворюють їх самих у розсадник інфекції. Крім того, вони істотно сповільнюють його роботу, а також займають інтернет-канал. На перший погляд здається, що ці загрози за принципом роботи дуже сильно відрізняються один від одного. Але насправді це не так. Виявляється, багато вірусів, особливо інтернет-черв'яки, використовують для розповсюдження вразливості в програмному забезпеченні. Так і хакери теж воліють застосовувати атаки, спрямовані на відомі «дірки» в програмному забезпеченні. І в цьому немає нічого дивного. Використовуючи вразливості, і ті й інші одержують досить легкий доступ до віддаленого комп'ютера навіть у тому випадку, якщо останній добре захищений.

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

3.1 Вразливості програмного забезпечення та конфігурації


Коли мова заходить про вразливість веб-серверів, то переважна більшість людей відразу ж згадують «дірки» в їх програмному забезпеченні. Це відноситься до самих програмам-серверів, таким як Apache, Microsoft Internet Information Server та інші. І в цьому немає абсолютно нічого дивного. Все-таки це програмне забезпечення досить об'ємне й складне, так що «дірки» в ньому обов'язково є. Крім того, не можна забувати, що сучасний веб-сервер неможливо уявити собі без багатьох додаткових функцій, наприклад, без підтримки мов програмування типу Perl, PHP та інші, а також без систем управління базами даних. Усе це стає можливим завдяки установці на веб-сервер додаткового програмного забезпечення. І все воно теж може мати свої вразливості.

Сьогодні на сайтах, присвячених інформаційній безпеці, постійно з'являються повідомлення про виявлення нових вразливостей у програмному забезпеченні веб-серверів. У цьому процесі беруть участь як фахівці із захисту даних, так і хакери. Причому останні при виявленні нової «діри» можуть умовчати про неї й спробувати використовувати її у своїх цілях. Але часто буває навпаки. Хакер намагається розповісти про нові вразливості всім, у тому числі і розробникам ПЗ. Робиться це, швидше за все, із честолюбства. Хакер просто хоче показати світу свої знання та вміння. Але в нашому випадку це бажання приносить тільки користь.

Головною особливістю виробничих вразливостей є їх прихильність до певних версій програмного забезпечення. Справа в тому, що «дірки» часто зустрічаються не у всій лінійці веб-серверів, а тільки в деяких їх релізах. А ще варто відзначити, що чим популярніше те чи інше програмне забезпечення, тим частіше для нього знаходять нові вразливості.

І це залежить не від якості написання ПЗ. Просто його вивчають більше фахівців, так що й вірогідність виявлення «дір» відносно велика.

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