06 Бер, 2023

Небезпечне Управління ресурсами

Vulnerability Assessment as a Service (VAaaS)

Tests systems and applications for vulnerabilities to address weaknesses.

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

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


в C / C ++:

				
					#include <string.h>

void foo(char *input) {
    char buf[10];
    strcpy(buf, input);
    // ...
}

				
			


У цьому прикладі, якщо input рядок довший, ніж buf масив (10 байт), це викличе вразливість переповнення буфера. Зловмисник може скористатися цією уразливістю, надавши рядок довжиною більше 10 байт, яка може перезаписати сусідні комірки пам'яті і потенційно виконати довільний код.

• В Java:

				
					import java.io.*;

public class FileExample {
    public static void main(String[] args) throws IOException {
        String filename = args[0];
        File file = new File(filename);
        FileInputStream fis = new FileInputStream(file);
        // ...
    }
}

				
			


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

• в Python:

				
					import os

filename = "/tmp/myfile"
if not os.path.exists(filename):
    os.system("touch " + filename)
os.system("echo 'secret data' >> " + filename)

				
			


У цьому прикладі, якщо кілька примірників цього скрипта виконуються одночасно, може виникнути уразливість в умовах гонки. В os.path.exists() виклик і os.system() виклики не є атомарними, тому один примірник скрипта може створити файл, в той час як інший примірник скрипта може змінити файл до того, як перший примірник виконає в нього запис. Це може призвести до перевантаження даних, що дозволить зловмиснику потенційно отримати доступ до записуваних в файл даних або змінити їх.

Приклади експлуатації Небезпечного управління ресурсами

Експлуатація переповнення буфера:

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

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

Використання обходу шляху до файлу:

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

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

Експлуатація умов гонки:

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

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

Методи підвищення привілеїв для небезпечного управління ресурсами

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

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

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

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

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

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

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

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

  3. Протестуйте програму з різними вхідними даними: Використовуйте різні вхідні дані для перевірки роботи програми з ресурсами. Це може включати перевірку граничних умов, таких як вхідні рядки, довжина яких перевищує розмір виділеного буфера, або імена файлів з ".." або " / " в шляху.

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

  5. Використовуйте інструменти для надання допомоги в тестуванні: Існує безліч автоматизованих інструментів, які можуть допомогти у тестуванні на наявність вразливостей в небезпечному керуванні ресурсами, таких як інструменти статичного аналізу, інструменти фаззинга та інструменти динамічного аналізу.

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

  7. Тест в реалістичній середовищі: Нарешті, протестуйте додаток в реалістичній середовищі, що імітує виробниче середовище, включаючи умови мережі, конфігурації сервера і поведінку користувача.

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

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

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

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

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

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

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

  7. Переконайтеся, що всі ресурси правильно вивільняються після використання.

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

  9. Переконайтеся, що програма не передає конфіденційну інформацію по мережі.

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

  11. Протестуйте додаток в реалістичній середовищі, що імітує виробниче середовище, включаючи умови мережі, конфігурації сервера і поведінку користувача.

Набір інструментів для експлуатації Небезпечне Управління ресурсами

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

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

  • IDA Pro: Дізассемблер і відладчик для зворотного проектування скомпільованого програмного забезпечення.

  • GDB: Відладчик для аналізу та налагодження скомпільованого програмного забезпечення.

  • Wireshark: Аналізатор мережевих протоколів для збору і аналізу мережевого трафіку.

  • Metasploit Framework: Інструмент тестування на проникнення, який включає в себе модулі для використання широкого спектру загроз, включаючи уразливості в небезпечному управлінні ресурсами.

  • SQLMap: Автоматизований інструмент для тестування вразливостей SQL-ін'єкцій у веб-додатках.

  • Nmap: Інструмент дослідження мережі та аудиту безпеки, який включає в себе модулі для сканування відкритих портів і вразливостей.

  • OpenSSL: Бібліотека для реалізації протоколів SSL і TLS, яка включає в себе інструменти для тестування вразливостей SSL / TLS.

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

  • Nessus: Сканер вразливостей, який може виявляти широкий спектр вразливостей, включаючи уразливості в небезпечному управлінні ресурсами.

  • OpenVAS: Сканер вразливостей з відкритим вихідним кодом, що включає в себе плагіни для тестування широкого спектру загроз, включаючи уразливості в небезпечному управлінні ресурсами.

  • Retire.js: Плагін для браузера для виявлення застарілих і вразливих бібліотек JavaScript у веб-додатках.

  • OWASP ZAP: Інструмент тестування безпеки веб-додатків з відкритим вихідним кодом, що включає в себе модулі для виявлення і використання широкого спектру загроз, включаючи уразливості в небезпечному управлінні ресурсами.

  • Arachni: Сканер веб-додатків з відкритим вихідним кодом, який включає модулі для тестування широкого спектру загроз, включаючи уразливості в небезпечному управлінні ресурсами.

  • Skipfish: Автоматизований сканер веб-додатків, який включає в себе модулі для тестування широкого спектру загроз, включаючи уразливості в небезпечному управлінні ресурсами.

  • Nikto: Сканер веб-сервера, який включає в себе модулі для тестування широкого спектру загроз, включаючи уразливості в небезпечному управлінні ресурсами.

  • AppScan: Інструмент тестування безпеки веб-додатків, який включає модулі для виявлення і використання широкого спектру загроз, включаючи уразливості в небезпечному управлінні ресурсами.

  • Acunetix: Інструмент тестування безпеки веб-додатків, який включає модулі для виявлення і використання широкого спектру загроз, включаючи уразливості в небезпечному управлінні ресурсами.

  • Vega: Сканер веб-додатків і платформа тестування, яка включає модулі для виявлення і використання широкого спектру загроз, включаючи уразливості в небезпечному управлінні ресурсами.

  • sqlninja: Автоматизований інструмент для використання вразливостей SQL-ін'єкцій у веб-додатках.

  • Wfuzz: Сканер веб-додатків, який включає в себе модулі для тестування широкого спектру загроз, включаючи уразливості в небезпечному управлінні ресурсами.

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

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

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

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

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

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

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

• CWE-798: Використання жорстко закодованих облікових даних: цей CWE відноситься до ситуацій, коли облікові дані вбудовувати в коді, що полегшує зловмисникам отримання несанкціонованого доступу до ресурсів.

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

• CWE-276: неправильні дозволу за замовчуванням: це CWE відноситься до ситуацій, коли дозволу за замовчуванням встановлені занадто дозвільними, що дозволяє несанкціонований доступ до ресурсів.

• CWE-611: Неправильне обмеження посилання на зовнішню сутність XML: Цей CWE відноситься до ситуацій, коли зовнішні сутності XML не перевіряються належним чином, що дозволяє зловмисникам виконувати атаки, пов'язані з XML, такі як впровадження XXE (XML External Entity).

Топ-10 CVE, пов'язаних з небезпечним управлінням ресурсами

• CVE-2023-23689 – Інтегроване програмне забезпечення для управління обладнанням Dell PowerScale nodes A200, A2000, H400, H500, H600, H5600, F800, F810 містить уразливість неконтрольованого споживання ресурсів. Це може дозволити не пройшов перевірку автентичності мережного вузла порушити вбудовані функції управління обладнанням і запустити механізм захисту даних OneFS, що викликає відмову в обслуговуванні.

• CVE-2023-21759 – Функція безпеки сервера управління ресурсами смарт-карт Windows дозволяє обійти вразливість.

• CVE-2022-45218 – Було виявлено, що система управління людськими ресурсами версії v1.0.0 містить уразливість міжсайтового скриптинга (XSS). Ця вразливість запускається з допомогою обробленої корисного навантаження, введеної в повідомлення про помилку аутентифікації.

• CVE-2022-43759 – Вразливість неправильного управління привілеями в SUSE Rancher дозволяє користувачам, які мають доступ до команди escalate в PRTBs, підвищувати дозволу для будь-якого просувається ресурсу у кожному кластері. Ця проблема зачіпає: версії SUSE Rancher Rancher до версії 2.5.17; версії Rancher до версії 2.6.10.

• CVE-2022-43318 – У системі управління людськими ресурсами версії v1.0 була виявлена уразливість SQL-ін'єкції через параметр stateedit в /hrm/state.php .

• CVE-2022-43317 – Вразливість міжсайтового скриптинга (XSS) в /hrm/index.php?msg системи управління людськими ресурсами версії v1.0 дозволяє зловмисникам виконувати довільні веб-скрипти або HTML за допомогою створеної корисного навантаження.

• CVE-2022-43262 – У системі управління людськими ресурсами версії v1.0 була виявлена уразливість SQL-ін'єкції через параметр password в /hrm/controller/login.php .

• CVE-2022-4279 – У системі управління людськими ресурсами SourceCodester 1.0 виявлена уразливість, що класифікується як проблемна. Порушена невідома функція файлу /hrm/employeeview.php . Маніпулювання пошуком аргументів призводить до міжсайтового скриптингу. Атаку можна запустити віддалено. Експлойт був розкритий громадськості і може бути використаний. Id цієї уразливості - VDB-214776.

• CVE-2022-4278 – У системі управління людськими ресурсами SourceCodester 1.0 була виявлена уразливість. Він був оцінений як критичний. Ця проблема впливає на деяку невідому обробку файлу /hrm/employeeadd.php . Маніпулювання аргументом empid призводить до sql-ін'єкції. Атака може бути ініційована віддалено. Експлойт був розкритий громадськості і може бути використаний. Пов'язаний ідентифікатор цієї уразливості - VDB-214775.

• CVE-2022-4273 – У системі управління людськими ресурсами SourceCodester 1.0 була виявлена уразливість, яка була класифікована як критична. Ця проблема зачіпає деяку невідому обробку файлу /hrm/controller/employee.php обробника типу вмісту компонента. Маніпулювання аргументом pfimg призводить до необмеженої завантаження. Атака може бути ініційована віддалено. Експлойт був розкритий громадськості і може бути використаний. Цієї уразливості був присвоєний ідентифікатор VDB-214769.

Небезпечне Управління ресурсами подвиги

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

  • Віддалене включення файлів (RFI): це тип вразливості, при якому зловмисник може включити віддалений файл в серверний скрипт, що дозволяє йому виконувати довільний код.

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

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

  • Небезпечна пряме посилання на об'єкт (IDOR): це тип вразливості, при якому зловмисник може отримати доступ до об'єктів або ресурсів, які не повинні бути доступні безпосередньо, і маніпулювати ними, потенційно дозволяючи їм читати або змінювати конфіденційні дані.

  • Шок від снаряда: це уразливість в оболонці Bash, яка дозволяє зловмисникам виконувати довільний код шляхом введення команд в змінні середовища.

  • Кровоточить серце: це уразливість в OpenSSL, яка дозволяє зловмисникам зчитувати конфіденційні дані з пам'яті сервера, потенційно включаючи імена користувачів, паролі і закриті ключі.

  • Apache Підтримує віддалене виконання коду: це фреймворк для створення веб-додатків. Уразливість в Struts може дозволити зловмисникам виконувати довільний код на сервері.

  • Друпалгеддон: це уразливості в Drupal, популярній системі управління контентом. Уразливість дозволяє зловмисникам виконувати довільний код на сервері.

  • ImageTragick Зображення: це уразливість в бібліотеці обробки зображень ImageMagick, яка дозволяє зловмисникам виконувати довільний код, маніпулюючи файлами зображень.

Практикуючись в тестуванні на Небезпечне Управління ресурсами

Тестування включення файлів: Перевірте уразливості локального включення файлів (LFI) і віддаленого включення файлів (RFI), спробувавши включити на сервері файли, які не повинні бути доступні, такі як конфіденційні файли конфігурації або бази даних паролів.

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

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

Тестування IDOR: Перевірте наявність вразливостей з небезпечною прямим посиланням на об'єкт (IDOR), намагаючись отримати доступ до об'єктів або ресурсів, які не повинні бути доступні безпосередньо, таким як користувальницькі дані або інша конфіденційна інформація, і маніпулювати ними.

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

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

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

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

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

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

Для вивчення Небезпечного управління ресурсами

OWASP Топ-10: Небезпечне Управління ресурсами: Проект Open Web Application Security Project (OWASP) - це некомерційна організація, яка надає інформацію та ресурси, що допомагають організаціям покращити безпеку своїх веб-додатків. OWASP Top 10 - це список найбільш критичних ризиків безпеки веб-додатків, і небезпечне управління ресурсами є одним з десяти пунктів списку. Веб-сайт OWASP надає детальну інформацію по цій темі.

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

Інструменти сканування вразливостей: Інструменти сканування вразливостей, такі як Nessus або OpenVAS, можуть допомогти виявити проблеми, пов'язані з небезпечним управлінням ресурсами в своїх веб-додатках або мережі.

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

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

Онлайн-спільноти: Онлайн-спільноти, такі як форуми спільноти Reddit / r / netsec або OWASP, можуть бути цінним ресурсом для обговорення і вивчення небезпечного управління ресурсами та інших тим безпеки.

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

Книги з оглядом Небезпечного управління ресурсами

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

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

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

"Керівництво по тестуванню OWASP v4" OWASP Foundation: У цьому посібнику представлений комплексний підхід до тестування веб-додатків на наявність вразливостей в системі безпеки, включаючи небезпечне управління ресурсами.

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

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

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

"Кулінарна книга захисника веб-додатків" Райан К. Барнетт: У цій книзі представлена колекція рецептів для захисту веб-додатків від різних загроз безпеки, включаючи небезпечне управління ресурсами.

"Захист веб-додатків за допомогою OAuth 2.0" Філіп Йованович і Тіло Мюллер: У цій книзі розповідається про те, як убезпечити веб-додатки за допомогою OAuth 2.0, включаючи захист від незахищених вразливостей управління ресурсами.

"Кулінарна книга з тестування веб-безпеки" Пако Хоуп і Бен Вальтер: У цій книзі представлена колекція рецептів для тестування безпеки веб-додатків, включаючи уразливості в системі управління небезпечними ресурсами.

Список корисних навантажень Небезпечне управління ресурсами

  • Обхід каталогу: Корисне навантаження для атак з обходом каталогу може включати різні символи, що використовуються для обходу перевірки шляху, такі як "../" або "../../".

  • Включення файлу: Корисне навантаження для атак з включенням файлів може включати URL-адреси або шляху до файлів, які дозволяють зловмиснику містити довільні файли, такі як "../etc/passwd".

  • Маніпулювання шляхами: Корисне навантаження для атак з маніпулюванням шляхами може включати різні символи або рядки, які дозволяють зловмиснику маніпулювати шляхами до файлів, такі як ".." або "2e2e/".

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

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

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

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

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

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

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

Як бути захищеним від небезпечного управління ресурсами

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

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

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

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

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

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

  7. Реалізувати контроль доступу: Впровадьте засоби контролю доступу для обмеження доступу до конфіденційних файлів і каталогів. Використовуйте такі механізми, як управління доступом (RBAC) або керування доступом на основі атрибутів (ABAC), щоб накласти обмеження на доступ до файлів і каталогів.

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

Висновок

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

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

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

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

Інші Послуги

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

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