Хто ламає ваші сайти. Основні загрози і як від них убезпечитися

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

У більшості випадків ваш сайт може постраждати від рук:
- кулхацкерів (скрипт-кіддіс)
- автоматизованих атакуючих програм
- власне, хакерів
- DDoS-атак
- команди професійних кібер-злочинців

"Кулхацкер" - жаргонне образливе прізвисько, яким хакери називають недосвідчених, але надміру самовпевнених "побратимів". Він є найменшою загрозою вашому сайту. Це переважно підліток, який не є професійним хакером і, незважаючи на завищену самооцінку, знання його в цій сфері доволі обмежені. Кулхацкер знає обмежений набір атакуючих прийомів і користується інструментами, які були створені більш професійними хакерами напр., скриптами, які автоматизують процес атаки на основі якоїсь відомої вразливості. Боротися з таким видом кібер-нападників доволі просто - коли кулхацкер використає відносно вашого сайту весь свій обмежений інструментарій, йому доведеться залишити вас у спокої. Тому, жертвою кулхацкера ви можете стати лише, якщо:
- сайт було створено непрофесійними розробниками, які допустили очевидні і всім відомі помилки в безпеці;
- адміністратор сайту непрофесійно ставиться до покладених на нього обов'язків - ігнорує елементарні правила безпеки, не створює резервних копій, не слідкує за оновленнями безпеки і не встановлює їх вчасно.

Інша категорія - автоматизовані скриптові атаки. Це один з найбільш поширених варіантів, коли вас намагаються зламати. Такий скрипт переважно атакує "по списку" десятки тисяч абсолютно різних сайтів з доволі простою метою - вписати в код сайту сторонню шкідливу програму, яка дасть можливість хакеру проводити з ним потрібні йому маніпуляції (заволодіти персональними даними, поширювати вірус, розсилати спам і т.д.). На відміну від кулхацкера, такий скрипт переважно має в своєму арсеналі доволі великий набір всеможливих атак на всі можливі види вразливостей в безпеці. Однак, такі програми зазвичай експлуатують "0-day" вразливості, на які вже є готові рішення по безпеці - тобто, під атаку в першу чергу, знову ж таки, потрапляють власники сайтів, які не слідкують за оновленнями. Тож, від автоматизованої атаки ви переважно можете постраждати в тих самих випадках, що і з кулхацкером - при непрофесіному підході розробників та адміністраторів проекту. Тому, щоб не стати жертвою хакерського скрипта, в більшості випадків просто варто слідкувати за оновленнями безпеки. 

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

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

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

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

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

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

Тепер кілька слів про те, як не варто будувати захист сайту. 

Є такий термін "Security by obscurity" - безпека через заплутування. Суть цього методу полягає в тому, щоб приховати явні ознаки, які дозволять ідентифікувати, яке програмне забезпечення використовується на вашому сайті. Для прикладу, ви можете спробувати приховати явні ознаки того, що ваш сайт побудований на Drupal, прибравши чи змінивши відповідні дані - назву CMS, її версію, оформлення і т.п. Логіка тут в тому, що хакер не зможе визначити, що саме ви використовуєте і, відповідно, не зможе вас атакувати. Якщо чесно, то так мислити - дуже наївно, це підхід параноїків і реального захисту він не дає. Так можна заплутати тільки кулхацкера, від професійних хакерів це не допоможе. Це не допоможе навіть від скриптової атаки - якщо скрипту не вдасться визначити, що у вас за система, він просто буде атакувати вас всім підряд, що є у нього в арсеналі. Тому рекомендуємо не витрачати власний час на заплутування, а краще дотримуватись загальних порад щодо безпеки веб-проектів.

 

Щоб мінімізувати ризик стати жертвою злому, дотримуйтесь наступних порад:

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

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

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

- аудит безпеки - проводьте регулярний аудит безпеки вашого веб-проекту, слідкуйте за будь-якою підозрілою активністю на сайті і вживайте негайних заходів, щоб запобігти порушенню його роботи;

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

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