A5:Security Misconfiguration
Наступний вид вразливості з OWASP TOP 10 розглянемо Security Misconfiguration, він на п'ятому місці, оскільки цей вид один із найпоширеніших на проектах і за статистикою приблизно 60% мають її.
Ця вразливість розрахована на ебланство))) Тобто на людський фактор, який призводить до цієї вразливості. Вектор атаки, зловмисника націлений на отримання доступу до облікових записів за замовчуванням, до сторінок, що не використовуються, до не захищених файлів і каталогів і т.д. Щоб отримати несанкціонований доступ до системи.
Неправильне налаштування безпеки може відбуватися на будь-якому рівні стека додатків:
- мережеві служби
- веб-сервер
- базу даних
- встановлені віртуальні машини
- контейнери
- сховище
З перерахованого вище такі недоліки часто дають зловмисникам несанкціонований доступ до деяких системних даних або функцій. Іноді такі недоліки призводять до повного краху системи. Ця вразливість може дуже сильно впливати на бренд вашої компанії, відповідно краще її не мати. А тепер наведу кілька прикладів про цю вразливість.
1) На наведеній вище картинці, наш перший приклад, і це дефолтні налаштування обліку адміністратора. Як ми знаємо найперша облік має дефолтні креденшени для авторизації в проект, відповідно, коли ми вже налаштували всю інфраструктуру нашого проекту через дефолтну облік, ми часто забуваємо про те, щоб змінити її на кастомні налаштування. І коли зловмисник використавши дефолтні налаштування до адмінки, матиме доступ до нашої системи
Бачимо тепер як працює зловмисник для використання цієї вразливості, він просто перебирає сторінки, сподіваючись на те, що до якоїсь зі сторінок буде доступ. І якщо адмін не прибрав дефолтні доступи до цих сторінок, то йому буде десь розгулятися з отриманими даними на цих каталогах.
3) Як третій приклад можна навести дефолтно відкриті порти, наприклад порт Memcached. Якщо ваш додаток використовує мемкеш і у вас цей порт у відкритому доступі, то через нього можна завантажити всю оперативність ваших серваків, що призведе до несправності роботи вашої системи. Як це було в 2017 році, всі хто використовував як захист cloudflare своїх серваків отримали гарну атаку, від якої не кожен сервак зміг витримати. Зловмисники просто надсилали величезний обсяг даних на UDP серваки cloudflare, який працює в режимі віддачі даних, але не перевіряє дійшли ці дані чи ні. Ну ви уявляєте розмір трагедії... Серваків cloudflare багато, а коли, наприклад, з кількох серваків зводилося все до нашого одного, єдиного, так би мовити, цільового сервака, який не встигав обробляти всі ці дані і просто тухнув від переповнення оперативної пам'яті. І за статистикою коли проходила така атака, було задіяно 250 гб даних за секунду, уявляєте які потужні машини були використані для цього.
Як зрозуміти що вразливі:
- Увімкнено або встановлено непотрібні функції (порти, служби, сторінки, облікові записи або привілеї)
- Використовуємо облікові записи з паролями за замовчуванням
- Обробка помилок із надмірно інформативними повідомленнями
- Програмне забезпечення застаріло або вразливе, можна подивитися, як це працює в цій статті
Как защитится:
- Минимизировать платформу, убирать лишние функции, компоненты
- Обновляйте компоненты с известными уязвимостями, можно посмотреть как это работает в этой статье
- Не отправлять в заголовках информацию касающеюся безопасности
- Не использовать настройки которые задаются по умолчанию
2) До другого прикладу можна віднести такий випадок, коли ми не закрили доступ до певних каталогів на сервері. Ці налаштування робляться у файлі Robots.txt, де ми налаштовуємо до яких сторінок є доступ, на які каталоги ми закриваємо індексацію пошукових систем, напевно чули про випадки, коли пошукові системи проіндексували конфідиційні сторінки гугл доків, сторінок з паролями якихось веб-проектів, не будемо називати точну назву. Відповідно, ці сторінки опинилися в публічному доступі. На зображенні вище наведено приклад налаштувань сторінок у robots.txt, для яких відкритий доступ, навіть для незареєстрованих користувачів. Як приклад використовується програма BWapp.
У неї в налаштуваннях цього файлу вказаний доступ до сторінок:
- Адмін
- Документи
- Картинки
- Паролі
Давайте спробуємо відкрити браузер в інкогніто та перейти на даний каталог (admin та passwords) у відкритому доступі. Подивимося, що з цього вийде...