Авторка: Катерина Іваненко, Invicti Brand manager
У мінливому ландшафті безпеки додатків, пошкоджена авторизація на рівні функцій (BFLA) залишається однією з найбільш небезпечних вразливостей. У цій статті розглянуто, що це за недолік, як він проявляється та кроки для його запобігання.
Що таке Broken Function Level Authorization?
Пошкоджена авторизація на рівні функцій виникає, коли додаток не забезпечує належних перевірок дозволів, перш ніж надати користувачеві доступ або виконання певних функцій бекенду.
Наприклад, якщо звичайний користувач надсилає запит на доступ до адміністративних функцій (таких як видалення інших користувачів або зміна ролей), а сервер обробляє його, не перевіряючи привілеї користувача, це типовий випадок BFLA.
Чому Broken Function Level Authorization така небезпечна?
Обхід обмежень фронтенду: Деякі розробники вважають, що достатньо приховувати кнопки або посилання в інтерфейсі користувача. Однак злочинні хакери все ще можуть обходити такі обмеження.
Ескалація привілеїв: Зловмисники можуть видавати себе за ролі з вищими привілеями, отримуючи доступ до критично важливих операцій або конфіденційних даних.
Важкість виявлення: Без належного ведення журналу та перевірок авторизації кожної функції ці атаки часто залишаються непоміченими, доки не буде завдано серйозної шкоди.
Як запобігти Broken Function Level Authorization
- Система авторизації повинна дотримуватися політики “відмова за замовчуванням”, надаючи доступ лише через дозволи, назначені певним ролям для кожної функції.
- Забезпечення того, щоб адміністративні контролери успадковувалися (наслідувалися) від абстрактного адміністративного контролера (AbstractAdminController), який забезпечує перевірку авторизації відповідно до групи або ролі користувача.
- Перевірка того, що адміністративні функції в межах звичайних контролерів включають перевірки авторизації на основі ролей та груп.
- Проведення регулярного тестування безпеки (як варіант, за допомогою DAST).
Наприклад, платформа Invicti, яка об’єднала можливості Netsparker та Acunetix, пропонує розширені конфігурації сканування, які дозволяють автентифікацію під різними обліковими записами користувачів, допомагаючи виявляти більше вразливостей BFLA.
Висновок
Порушена авторизація на рівні функцій – це серйозний, але часто недооцінений ризик. Проте завдяки впровадженню найкращих практик організації можуть значно зменшити вірогідність таких атак.







