15 Лют, 2023

Недостатня аутентифікація і Авторизація

Vulnerability Assessment as a Service (VAaaS)

Tests systems and applications for vulnerabilities to address weaknesses.

Недостатній (аутентифікація / аутентифікація) аутентифікація і авторизація відноситься до уразливості в системі безпеки, коли програма або система належним чином не перевіряє особу або не забезпечує належний контроль доступу.

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

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

Приклад уразливого коду на різних мовах програмування

в Python:

				
					
password = input("Enter your password: ")

				
			


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

В Java:

				
					String password = "mypassword";
				
			


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

в JavaScript:

				
					const password = "mypassword";
fetch("/login", {
  method: "POST",
  body: JSON.stringify({username: "myusername", password: password})
});
				
			


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

Приклади використання Недостатньою аутентифікації та авторизації

SQL-ін'єкційна атака:

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

Підвищення привілеїв:

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

Session Hijacking:

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

Атака грубої силою:

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

Методи підвищення привілеїв

Використання вразливих додатків:

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

Використання неправильно налаштованих служб:

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

Крадіжка або злом паролів:

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

Використання методів соціальної інженерії:

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

Використання вразливостей при включенні локальних файлів:

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

Загальна методологія та контрольний список з тестування на недостатню аутентифікацію і авторизацію

Методологія:

  1. Визначте механізми аутентифікації і авторизації додатка:

    Визначте типи механізмів аутентифікації і авторизації, використовуваних додатком, такі як ім'я користувача / пароль, токени або файли cookie.

    Визначте, чи використовує додаток які-небудь сторонні служби автентифікації або авторизації, такі як OAuth або OpenID.

  2. Аналізуйте елементи керування доступом додатка:

    Визначте різні ролі і привілеї, які пов'язані з користувачами програми.

    Визначте, як додаток застосовує засоби контролю доступу, такі як перевірка ролей користувачів або дозволів перед наданням доступу до ресурсів.

  3. Перевірка на наявність вразливостей:

    Перевірте на наявність поширених недоліків, таких як впровадження SQL, міжсайтовий скриптінг (XSS) і підробка міжсайтових запитів (CSRF).

    Перевірте наявність вразливостей, пов'язаних з управлінням сеансами, таких як фіксація сеансу і перехоплення сеансу.

    Перевірте наявність вразливостей, пов'язаних з управлінням паролями, таких як слабкі політики паролів або зберігати паролі у вигляді звичайного тексту.

  4. Тест на підвищення привілеїв:

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

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

  5. Усунення вразливостей:

    Визначте пріоритети вразливостей в залежності від їх серйозності і ймовірності використання.

    Усуньте уразливості, впровадивши методи безпечного кодування, такі як використання параметризованих запитів і перевірка введених користувачем даних.

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

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

    Вбудуйте політики паролів, які вимагають надійних паролів і обмежують кількість невдалих спроб входу в систему.

  6. Моніторинг і підтримання безпеки:

    Регулярно переглядайте журнали і дані моніторингу на предмет підозрілої активності та спроб несанкціонованого доступу.

    Оновлюйте додаток виправлень і оновлень безпеки.

    Проводьте регулярні оцінки безпеки та тестування на проникнення для виявлення та усунення будь-яких нових вразливостей.

Контрольний список:

  1. Аутентифікація:

    Переконайтеся, що для доступу до програми або конфіденційних областях додатка потрібна автентифікація.

    Перевірте наявність слабких паролів, паролів за замовчуванням і паролів, які легко вгадати або зламати.

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

    Перевірте наявність вразливостей, пов'язаних з скидання паролів, таких як дозвіл скидання без належної перевірки або дозвіл скидання на слабкі або легко вгадувані паролі.

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

  2. Авторизація:

    Перевірте наявність вразливостей, пов'язаних з контролем доступу, таких як неправильне застосування контролю доступу на основі ролей або дозвіл несанкціонованого доступу до конфіденційних областях додатки.

    Перевірте наявність вразливостей, пов'язаних з підвищенням привілеїв, таких як неправильна перевірка вводу даних або неправильне налаштування елементів управління доступом.

    Перевірте наявність вразливостей, пов'язаних з управлінням сеансами, таких як фіксація сеансу, перехоплення сеансу і атаки з повторним відтворенням сеансу.

    Перевірте наявність вразливостей, пов'язаних із уособленням користувача, таких як неправильна перевірка користувача або дозвіл уособлення користувача за допомогою CSRF-атак.

  3. Перевірка і очищення вхідних даних:

    Перевірте наявність вразливостей, пов'язаних з перевіркою і очищенням вхідних даних, таких як впровадження SQL, міжсайтовий скриптінг (XSS) і впровадження команд.

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

  4. Обробка помилок і ведення журналу:

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

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

  5. Мережева безпека:

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

  6. Сторонні бібліотеки і сервіси:

    Перевірте наявність вразливостей, пов'язаних зі сторонніми бібліотеками і службами, використовуваними додатком, таких як відомі уразливості в бібліотеці чи службі або неправильно настроєна інтеграція.

Набір інструментів для використання недостатньою аутентифікації та авторизації

Автоматизовані інструменти:

  • Burp Suite: Burp Suite - це популярний інструмент тестування безпеки веб-додатків, який дозволяє тестувальникам перехоплювати, маніпулювати і аналізувати веб-трафік для виявлення вразливостей. Він включає в себе ряд інструментів для автентифікації і помилок авторизації.

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

  • Nikto: Nikto - це сканер веб-сервера, який можна використовувати для виявлення уразливостей у веб-додатках. Він може виявляти проблеми з аутентифікацією і авторизацією, а також інші проблеми, такі як помилки впровадження і межсайтовые сценарії.

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

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

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

  • Wapiti: Wapiti - це сканер безпеки веб-додатків, який можна використовувати для виявлення і використання недоліків аутентифікації та авторизації. Він включає в себе такі функції, як автоматичне тестування, власні сценарії і сканування вразливостей.

Ручні Інструменти:

  • SQLMap: SQLMap - це популярний інструмент, який використовується для виявлення і використання вразливостей SQL-ін'єкцій. Його можна використовувати для виявлення недоліків аутентифікації та авторизації в веб-додатках, а також інших типів вразливостей.

  • Hydra: Hydra - це інструмент для злому паролів, який можна використовувати для перевірки на наявність слабких або легко угадываемых паролів. Його можна використовувати для виявлення недоліків аутентифікації та авторизації в веб-додатках, а також інших типів вразливостей.

  • DirBuster: DirBuster - це інструмент перебору каталогів і файлів, який можна використовувати для виявлення прихованих файлів або каталогів у веб-додатках. Його можна використовувати для виявлення недоліків аутентифікації та авторизації в веб-додатках, а також інших типів вразливостей.

  • Manual Request Modification: Модифікація запиту вручну включає в себе ручне зміна HTTP-запитів для обходу перевірки автентичності або авторизації. Це вимагає гарного розуміння веб-протоколів і може бути використано для виявлення і використання широкого спектру вразливостей.

  • Password Lists: Списки паролів - це набори поширених або часто використовуваних паролів, які можна використовувати для перевірки на наявність слабких паролів у веб-додатках. Вони можуть бути використані для виявлення помилок аутентифікації та авторизації, а також інших типів вразливостей.

  • Session Hijacking: Перехоплення сеансу включає в себе крадіжку ідентифікатор сеансу аутентифицированного користувача для отримання несанкціонованого доступу до веб-додатком. Це вимагає гарного розуміння веб-протоколів і може бути використано для виявлення і використання недоліків аутентифікації та авторизації.

Плагіни для браузера:

  • Web Developer: Плагін веб-розробника для Chrome і Firefox дозволяє користувачам редагувати і керувати веб-сторінками для перевірки на наявність вразливостей, таких як помилки аутентифікації та авторизації.

  • Tamper Data: Tamper Data - це плагін для Firefox, який дозволяє користувачам змінювати HTTP-запити і відповіді для перевірки на наявність вразливостей, таких як помилки аутентифікації та авторизації.

  • Cookie Manager: Cookie Manager - це плагін для Firefox, який дозволяє користувачам управляти і змінювати

Середня оцінка CVSS Недостатньою аутентифікації та авторизації

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

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

Однак, як правило, уразливості з недостатньою аутентифікацією і авторизацією часто вважаються серйозними, оскільки вони можуть дозволити зловмиснику отримати несанкціонований доступ до конфіденційних даних або виконати дії, які він не повинен мати можливості виконувати. Таким чином, вони часто мають оцінку CVSS в діапазоні від 7,0 до 10,0, що вважається "Високої" або "Критичної" ступенем тяжкості.

Загальна перерахування слабких місць (CWE)

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

Для категорії Недостатньою аутентифікації та авторизації в CWE є кілька пов'язаних записів, у тому числі:

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

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

CWE-613: недостатнє закінчення строку дії сеансу: ця слабкість відноситься до випадків, коли додаток неправильно завершує користувальницькі сеанси, дозволяючи зловмиснику повторно використовувати сеанс і потенційно отримати несанкціонований доступ.

CWE-611: Неправильне обмеження посилання на зовнішню сутність XML: ця слабкість відноситься до випадків, коли додаток неправильно обмежує посилання на зовнішні сутності XML, що може дозволити зловмиснику отримати доступ до конфіденційних даних або виконати шкідливий код.

CWE-602: Забезпечення безпеки на стороні клієнта на стороні сервера: ця слабкість відноситься до випадків, коли додаток покладається на кошти управління безпекою на стороні клієнта для забезпечення дотримання політики безпеки на стороні сервера, які можуть бути легко обійдені зловмисником.

Топ-10 CVE, пов'язаних з недостатньою аутентифікацією і авторизацією

CVE-2022-20747 – Уразливість в API історії програмного забезпечення Cisco SD-WAN vManage Software може дозволити віддаленого зловмиснику, який пройшов перевірку автентичності, отримати доступ до конфіденційної інформації в вразливою системі. Ця вразливість, пов'язана з недостатньою перевіркою авторизації API базової операційної системи. Зловмисник може скористатися цією уразливістю, відправивши запит оброблений API в Cisco vManage в якості користувача з більш низькими привілеями та отримавши доступ до конфіденційної інформації, доступ до якої зазвичай їм не дозволено.

CVE-2021-34766 – Уразливість в веб-інтерфейсі Cisco Smart Software Manager On-Prem (SSM On-Prem) може дозволити віддаленого зловмиснику, який пройшов перевірку автентичності, підвищити привілеї і створювати, читати, оновлювати або видаляти записи та настройки в декількох функціях. Ця вразливість, пов'язана з недостатньою авторизацією можливостей ролі Системного користувача та Системного оператора. Зловмисник може скористатися цією уразливістю, безпосередньо звернувшись до веб-ресурсу. Успішний експлойт може дозволити зловмиснику створювати, читати, оновлювати або видаляти записи та настройки в декількох функціях без необхідних дозволів у веб-інтерфейсі.

CVE-2021-1477 – Уразливість в механізмі контролю доступу програмного забезпечення Cisco Firepower Management Center (FMC) може дозволити віддаленого зловмиснику, який пройшов перевірку автентичності, отримати доступ до служб, що виходить за рамки їх авторизації. Ця вразливість, пов'язана з недостатнім забезпеченням контролю доступу в уразливому програмному забезпеченні. Зловмисник може скористатися цією уразливістю, безпосередньо звернувшись до внутрішніх служб уразливого пристрою. Успішний експлойт може дозволити зловмиснику перезаписати політики і вплинути на конфігурацію і роботу уразливого пристрою.

CVE-2021-1399 – Уразливість в порталі самообслуговування Cisco Unified Communications Manager (Unified CM) і Cisco Unified Communications Manager Session Management Edition (Unified CM SME) може дозволити віддаленого зловмиснику, який пройшов перевірку автентичності, змінювати дані в вразливою системі без належної авторизації. Уразливість пов'язана з недостатньою перевіркою наданих користувачем даних на Порталі самообслуговування. Зловмисник може скористатися цією уразливістю, відправивши оброблений HTTP-запит у вразливу систему. Успішний експлойт може дозволити зловмиснику змінювати інформацію без належного дозволу.

CVE-2021-1381 – Уразливість в програмному забезпеченні Cisco IOS XE може дозволити авторизованому локального зловмисникові з високими привілеями або зловмиснику, який не пройшов перевірку автентичності, має фізичний доступ до вашого пристрою, відкрити консоль налагодження. Уразливість пов'язана з недостатніми обмеженнями авторизації команд. Зловмисник може скористатися цією уразливістю, виконавши команди на апаратній платформі для відкриття консолі налагодження. Успішний експлойт може дозволити зловмиснику отримати доступ до консолі налагодження.

CVE-2021-1284 – Уразливість в веб-інтерфейсі служби обміну повідомленнями програмного забезпечення Cisco SD-WAN vManage Software може дозволити зловмиснику, який не пройшов перевірку автентичності, обійти аутентифікацію і авторизацію і змінити конфігурацію вразливою системи. Щоб скористатися цією уразливістю, зловмисник повинен мати доступ до пов'язаній пристрою Cisco SD-WAN vEdge. Ця вразливість, пов'язана з недостатньою перевіркою авторизації. Зловмисник може скористатися цією уразливістю, відправивши оброблені HTTP-запити до веб-інтерфейс служби обміну повідомленнями вразливою системи. Успішний експлойт може дозволити зловмиснику отримати неаутентифицированный доступ на читання і запис до вразливою системі управління віртуальними машинами. За допомогою цього доступу зловмисник може отримати доступ до інформації про вразливою системі управління віртуальною машиною, змінити конфігурацію системи або внести зміни в конфігурацію пристроїв, керованих системою.

CVE-2021-1235 – Уразливість в інтерфейсі командного рядка програмного забезпечення Cisco SD-WAN vManage може дозволити локального зловмиснику, який пройшов перевірку автентичності, зчитувати конфіденційні файли бази даних в вразливою системі. Уразливість пов'язана з недостатньою авторизацією користувача. Зловмисник може скористатися цією уразливістю, отримавши доступ до vshell вразливою системи. Успішний експлойт може дозволити зловмиснику зчитувати файли бази даних з файлової системи базової операційної системи.

CVE-2020-4621 – IBM Data Risk Manager (iDNA) 2.0.6 може дозволити пройшов перевірку автентичності користувачу підвищити свої привілеї до рівня адміністратора з-за недостатньої перевірки авторизації. Ідентифікатор IBM X-Force: 184981.

CVE-2020-3592 – Уразливість в веб-інтерфейсі управління програмним забезпеченням Cisco SD-WAN vManage vManage може дозволити віддаленого зловмиснику, який пройшов перевірку автентичності, обійти авторизацію і змінити конфігурацію вразливою системи. Уразливість пов'язана з недостатньою перевіркою авторизації в вразливою системі. Зловмисник може скористатися цією уразливістю, відправивши оброблені HTTP-запити до веб-інтерфейс управління вразливою системою. Успішний експлойт може дозволити зловмиснику отримати привілеї, що перевищують ті, які зазвичай не дозволені для його налаштованого рівня авторизації користувача. Це може дозволити зловмиснику змінити конфігурацію вразливою системи.

CVE-2020-3478 – Уразливість в REST API програмного забезпечення Cisco Enterprise NFV Infrastructure Software (NFVIS) може дозволити віддаленого зловмиснику, який пройшов перевірку автентичності, перезаписати певні файли, які повинні бути обмежені на вразливому пристрої. Вразливість виникає із-за недостатнього застосування авторизації в вразливою системі. Зловмисник може скористатися цією уразливістю, завантаживши файл з допомогою REST API. Успішний експлойт може дозволити зловмиснику перезаписати і завантажити файли, що може призвести до погіршення функціональності вразливою системи.

Недостатні можливості аутентифікації та авторизації 

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

Перехоплення сеансу: це експлойт, при якому зловмисник отримує доступ до сеансу користувача і захоплює його сеанс без його відома. Це дозволяє зловмиснику отримати доступ до облікового запису користувача та виконувати дії так, як якщо б він був користувачем.

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

SQL-ін'єкція: це експлойт, при якому зловмисник впроваджує шкідливий код в інструкцію SQL. Це може дозволити зловмиснику обійти аутентифікацію і отримати доступ до конфіденційної інформації або виконати несанкціоновані дії.

Міжсайтовий скриптінг (XSS): це експлойт, при якому зловмисник впроваджує шкідливий код на веб-сайт або додаток, що може дозволити зловмиснику вкрасти конфіденційну інформацію або заволодіти обліковими записами користувачів.

Порушена аутентифікація та управління сеансами: це експлойт, при якому зловмисник може обійти елементи управління аутентифікацією або управлінням сеансами. Це може дозволити зловмиснику отримати доступ до конфіденційної інформації або виконати несанкціоновані дії.

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

Практика в тестуванні на недостатню аутентифікацію і авторизацію

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

Перевірте наявність слабких паролів.
Використовуйте автоматичні інструменти і методи ручного тестування для перевірки на наявність слабких паролів. Це може включати в себе підбір пароля, атаки методом перебору та інші методи.

Тест на перехоплення сеансу.
Перевірка на перехоплення сеансу шляхом спроби перехоплення активного сеансу користувача. Це можна зробити за допомогою таких інструментів, як Burp Suite, або шляхом маніпулювання ідентифікаторами сеансів.

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

Тест на SQL-ін'єкцію.
Перевірка на впровадження SQL шляхом впровадження шкідливого коду в інструкції SQL. Це можна зробити за допомогою таких інструментів, як SQLMap, або вручну ввівши код поля введення.

Тест на міжсайтовий скриптінг (XSS).
Перевірте наявність міжсайтових сценаріїв шляхом впровадження шкідливого коду в поля введення або URL-адреси. Це можна зробити за допомогою таких інструментів, як OWASP ZAP, або вручну ввівши код поля введення.

Перевірте, чи не порушена аутентифікація та управління сеансами.
Перевірте, чи не порушена перевірка справжності та управління сеансами, спробувавши обійти елементи управління аутентифікацією або управлінням сеансами. Це можна зробити за допомогою таких інструментів, як Burp Suite, або шляхом маніпулювання файлами cookie або іншими даними, пов'язаними з сеансом.

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

Книги для вивчення Недостатня аутентифікація і авторизація

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

"Керівництво хакера веб-додатків: пошук і використання недоліків безпеки" Дэфидд Штуттард і Маркус Пінто: Ця книга являє собою всеосяжне керівництво по тестуванню безпеки веб-додатків, включаючи недостатню аутентифікацію і авторизацію. Він охоплює широкий спектр тем-від розвідки і картографування до атаки на користувацькі функції.

"Зламані веб-додатки, третє видання: секрети і рішення безпеки веб-додатків" автор: Джоел Скамбрей, Майк Шема і Калеб Сіма: У цій книзі розглядаються новітні методи атаки на веб-додатки, включаючи недостатню аутентифікацію і авторизацію. У ньому містяться практичні рекомендації по захисту від цих атак і забезпечення безпеки веб-додатків.

"Керівництво по тестуванню OWASP v4" Проект Open Web Application Security Project: Ця книга являє собою всеосяжне керівництво по тестуванню безпеки веб-додатків, включаючи недостатню аутентифікацію і авторизацію. У ньому містяться практичні поради й методи тестування для виявлення і усунення вразливостей безпеки у веб-додатках.

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

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

"Black Hat Python: програмування на Python для хакерів і пентестеров" автор: Джастін Сейтц: У цій книзі розглядається ряд передових методів злому, включаючи недостатню аутентифікацію і авторизацію. У ньому містяться практичні поради щодо використання Python для тестування та експлуатації веб-додатків.

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

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

"Мистецтво експлуатації, 2-ге видання" Джон Еріксон: У цій книзі розглядається ряд передових методів злому, включаючи недостатню аутентифікацію і авторизацію. У ньому містяться практичні поради та практичні приклади з тестування та експлуатації веб-додатків і інших систем.

Список корисних навантажень Недостатня аутентифікація і авторизація

  1. Корисні навантаження SQL-ін'єкцій: Ці корисні навантаження можуть бути використані для перевірки вразливостей SQL-ін'єкцій, які часто можуть призводити до недостатнім вразливостей аутентифікації та авторизації. Приклади корисних навантажень SQL-ін'єкцій включають 'АБО 1=1--, '; ВИДАЛИТИ користувачів ТАБЛИЦІ; --і ОБ'ЄДНАННЯ ВИБОРУ імені користувача, пароля ВІД користувачів.

  2. Корисне навантаження міжсайтових сценаріїв (XSS): Ці корисні навантаження можуть бути використані для перевірки на наявність вразливостей XSS, які також можуть призвести до недостатнім вразливостей аутентифікації та авторизації. Приклади корисних навантажень XSS включають <script>alert('XSS');</script>, <img src="x" onerror="alert(1)">

  3. Корисне навантаження при обході каталогів: Ці корисні навантаження можна використовувати для перевірки вразливостей обходу каталогів, які можуть бути використані для доступу до несанкціонованим файлів або каталогів на сервері. Приклади корисних навантажень обходу каталогів включають ../../../../etc/passwd, ..\..\..\..\..\..\..\Windows\System32\cmd.exeі ..................etcpasswd.

  4. Корисні навантаження в обхід аутентифікації: Ці корисні навантаження можна використовувати для перевірки вразливостей обходу аутентифікації, які можуть дозволити зловмиснику отримати доступ до неавторизованим ресурсів або виконати неавторизовані дії. Приклади корисних навантажень обходу аутентифікації включають адміністратор'--, адміністратор' #і адміністратор'/*.

  5. Корисне навантаження CSRF: Ці корисні навантаження можуть бути використані для перевірки вразливостей підробки міжсайтових запитів (CSRF), які можуть бути використані для виконання несанкціонованих дій від імені користувача. Приклади корисних навантажень CSRF включають <img src="https://attacker.com/attack.php?name=<script>document.location='http://vulnerable.com/admin/delete-user.php?id=123'</script>"> and <form action="http://vulnerable.com/profile.php" method="POST"><input type="hidden" name="email" value="[email protected]"></form><script>document.forms[0].submit()</script>.

Заходи по пом'якшенню наслідків недостатньої аутентифікації та авторизації

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

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

  3. Вбудуйте належні засоби управління сеансами, включаючи тайм-аути сеансів, завершення сеансу при виході з системи і безпечне зберігання сеансів.

  4. Використовуйте надійні алгоритми шифрування і хешування для зберігання облікових даних користувачів і переконайтеся, що механізми аутентифікації стійкі до звичайних атак, таких як атаки методом перебору і атаки по словнику.

  5. Проводите регулярне тестування безпеки і аналіз коду для виявлення вразливостей і своєчасного їх усунення. Це може включати ручне тестування, автоматичне тестування та інструменти аналізу коду.

  6. Використовуйте безпечний життєвий цикл розробки, який включає вимоги безпеки, моделювання загроз і тестування безпеки на кожному етапі процесу розробки. Це може допомогти виявити і усунути уразливості до того, як вони будуть впроваджені у виробництво.

  7. Оновлюйте всі програмні компоненти з допомогою останніх виправлень і оновлень безпеки. Це може допомогти забезпечити усунення відомих вразливостей і знизити ризик експлуатації.

Висновок

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

Інші Послуги

Готові до безпеки?

зв'язатися з нами