10 Лют, 2023

Ненадійний шлях пошуку

Vulnerability Assessment as a Service (VAaaS)

Tests systems and applications for vulnerabilities to address weaknesses.

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

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

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

Пайтон:

				
					import os
import sys

path = os.environ.get("MY_CUSTOM_PATH")
if path:
    sys.path.insert(0, path)

import library

				
			

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

C:

				
					#include <stdlib.h>
#include <stdio.h>
#include <dlfcn.h>

int main(int argc, char *argv[]) {
    char *library_path = getenv("MY_CUSTOM_PATH");
    if (library_path == NULL) {
        library_path = "/usr/lib";
    }

    void *handle = dlopen(library_path, RTLD_LAZY);
    if (handle == NULL) {
        printf("Failed to load library\n");
        return 1;
    }

    // Use the library...

    dlclose(handle);

    return 0;
}

				
			

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

Java:

				
					import java.io.File;
import java.net.URL;
import java.net.URLClassLoader;

public class Main {
    public static void main(String[] args) {
        String libraryPath = System.getProperty("MY_CUSTOM_PATH");
        if (libraryPath == null) {
            libraryPath = "/usr/lib";
        }

        File libraryDirectory = new File(libraryPath);
        URL[] urls = {libraryDirectory.toURI().toURL()};
        URLClassLoader classLoader = new URLClassLoader(urls);

        try {
            Class<?> cls = classLoader.loadClass("Library");
            Object instance = cls.newInstance();

            // Use the library...
        } catch (Exception e) {
            System.err.println("Failed to load library");
        }
    }
}

				
			

У цій Java-коді MY_CUSTOM_PATH системне властивість використовується для визначення місця розташування файлу класу. Якщо властивість не задано, шлях за замовчуванням /usr/lib використовується. Це робить код вразливим для уразливості ненадійного шляхи пошуку, оскільки зловмисник може встановити MY_CUSTOM_PATH системне властивість розташування, що містить шкідливу версію Library клас, який буде виконуватися замість очікуваного коду.

Ruby:

				
					library_path = ENV["MY_CUSTOM_PATH"] || "/usr/lib"
$LOAD_PATH.unshift(library_path)

require "library"

				
			

У цьому Ruby-код MY_CUSTOM_PATH змінна середовища використовується для визначення місця розташування поділюваної бібліотеки. Якщо змінна середовища задана, то її значення додається в початок $LOAD_PATH $LOAD_PATH список, який використовується для пошуку необхідних файлів. Якщо змінна середовища не задана, шлях за замовчуванням /usr/lib використовується. Це робить код вразливим для уразливості ненадійного шляхи пошуку, оскільки зловмисник може встановити MY_CUSTOM_PATH змінну середовища в розташування, що містить шкідливу версію library файл, який буде виконуватися замість очікуваного коду.

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

Приклади експлуатації Уразливості ненадійного шляху пошуку

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

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

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

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

Методи підвищення привілеїв для Уразливості ненадійного шляху пошуку

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

Ось кілька методів, які зловмисник може використовувати для використання уразливості ненадійного шляхи пошуку для підвищення привілеїв:

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

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

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

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

Загальна методологія та контрольний список for Уразливості ненадійного шляху пошуку

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

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

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

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

  4. Обмежити шлях пошуку надійними розташуванням: обмежте шлях пошуку бібліотеки надійними розташуванням і уникайте додавання ненадійних каталогів шлях пошуку.

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

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

Набір інструментів для експлуатації Уразливості ненадійного шляху пошуку

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

• Burp Suite: Популярний інструмент тестування безпеки веб-додатків, який включає в себе кілька плагінів для виявлення і використання ненадійних вразливостей шляху пошуку.
• OWASP ZAP: Сканер безпеки веб-додатків з відкритим вихідним кодом, який можна використовувати для виявлення і використання вразливостей ненадійного шляху пошуку.
• HTTP Debugger: Інструмент для збору, аналізу та управління HTTP-трафіком, який можна використовувати для виявлення вразливостей ненадійного шляху пошуку.
• Netcat: Простий і універсальний інструмент для мережевої взаємодії, який можна використовувати для управління мережевим трафіком і виявлення вразливостей ненадійних шляхів пошуку.
• curl: Інструмент командного рядка для надсилання HTTP-запитів, який може використовуватися для управління мережевим трафіком і виявлення вразливостей ненадійного шляху пошуку.
• Wireshark: Аналізатор мережевих протоколів, який можна використовувати для збору, аналізу та управління мережевим трафіком, а також для виявлення вразливостей ненадійних шляхів пошуку.
• sqlmap: Інструмент з відкритим вихідним кодом для автоматизації атак з використанням SQL-ін'єкцій, який може використовуватися для маніпулювання введенням і виявлення вразливостей ненадійного шляху пошуку.
• Metasploit: Платформа з відкритим вихідним кодом для розробки і виконання експлойтів, яка може бути використана для використання вразливостей ненадійного шляху пошуку.
• nmap: Інструмент з відкритим вихідним кодом для дослідження мережі, сканування безпеки і управління, який може використовуватися для виявлення ненадійних вразливостей шляху пошуку шляхом сканування мережевих ресурсів і виявлення неправильних налаштувань.
• Fuzzing tools: Інструменти для тестування програмного забезпечення шляхом відправки несподіваних або випадкових вхідних даних у додаток, які можуть бути використані для виявлення ненадійних вразливостей шляху пошуку шляхом виявлення несподіваного поведінки в додатку.

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

• Microsoft Threat Detection and Response (MDATP): Хмарне рішення для забезпечення безпеки, що використовує штучний інтелект і машинне навчання для виявлення погроз безпеки і реагування на них, включаючи уразливості ненадійних шляхів пошуку.
• Symantec Endpoint Protection: Рішення для забезпечення безпеки кінцевих точок, що включає захист від ненадійних вразливостей шляхів пошуку і інших погроз безпеці.
• McAfee Total Protection: Антивірусне рішення, що забезпечує захист у режимі реального часу від ненадійних вразливостей шляхів пошуку і інших погроз безпеці.
• Kaspersky Endpoint Security: Рішення для забезпечення безпеки кінцевих точок, що забезпечує захист від ненадійних вразливостей шляхів пошуку і інших погроз безпеці.
• Trend Micro OfficeScan: Рішення для забезпечення безпеки кінцевих точок, що забезпечує захист від ненадійних вразливостей шляхів пошуку і інших погроз безпеці.
• SANS Penetration Testing: Онлайн-курс і програма сертифікації, яка навчає навичкам і методам, необхідним для виявлення і використання вразливостей ненадійного шляху пошуку.
• OWASP Top Ten: Онлайн-проект, який надає список з 10 основних загроз безпеки веб-додатків, включаючи уразливості ненадійного шляху пошуку.
• Veracode: Хмарна платформа для автоматизації тестування безпеки та управління уразливими, включаючи виявлення і усунення вразливостей ненадійного шляху пошуку.
• Rapid7: Постачальник рішень для забезпечення безпеки, що пропонує широкий спектр інструментів і послуг для виявлення і усунення вразливостей ненадійних шляхів пошуку.
• Qualys: Хмарна платформа для автоматизації тестування безпеки та управління уразливими, включаючи виявлення і усунення вразливостей ненадійного шляху пошуку.

Середній бал CVSS Уразливості ненадійного шляху пошуку

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

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

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

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

Загальна перерахування слабких місць (CWE) являє собою повний список слабких місць програмного забезпечення, включаючи уразливості ненадійного шляху пошуку. Ось 10 кращих CWES, пов'язаних із вразливостями ненадійного шляху пошуку:

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

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

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

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

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

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

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

  8. CWE-427: Помилки управління ресурсами: Ця вразливість виникає, коли додаток неправильно керує ресурсами, такими як пам'ять, що може призвести до виконання шкідливого коду.

  9. CWE-426: довіра самоотчетным DNS-імен: ця вразливість виникає, коли додаток довіряє самоотчетным DNS-імен, що може призвести до виконання шкідливого коду.

  10. CWE-427: Неправильна нейтралізація спеціальних елементів, що використовуються в імені бібліотеки ("Впровадження бібліотеки"): ця вразливість виникає, коли додаток неправильно нейтралізує спеціальні елементи, використовувані в іменах бібліотек, що може призвести до виконання шкідливого коду.

Ненадійний шлях пошуку подвиги

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

Існує декілька поширених типів ненадійних шляхів пошуку, в тому числі:

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

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

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

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

Практикуючись в тестуванні на Уразливості ненадійного шляху пошуку

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

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

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

  3. Тест з шкідливими бібліотеками DLL: Спробуйте замінити законні бібліотеки DLL шкідливими, щоб побачити, уразливі ваші програми для злому DLL. Ви можете використовувати такий інструмент, як Metasploit, для створення шкідливої бібліотеки DLL.

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

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

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

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

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

Для вивчення Уразливості ненадійного шляху пошуку

Існує кілька ресурсів, доступних для вивчення вразливостей ненадійного шляху пошуку:

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

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

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

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

  5. Дослідні роботи: Читання дослідних робіт з безпеки програмного забезпечення, методам безпечного кодування та комп'ютерної безпеки може забезпечити більш глибоке розуміння технічних деталей вразливостей ненадійного шляху пошуку та новітніх методів їх використання та усунення.

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

Книги з оглядом Уразливості ненадійного шляху пошуку

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

  1. "Безпечне кодування: принципи і практика" Марка Р. Граффа і Кеннета Р. ван Віка – Ця книга містить всеосяжний огляд безпеки програмного забезпечення і включає розділ про уразливість ненадійного шляху пошуку і способи їх запобігання.

  2. "The Web Application hacker's Handbook: виявлення і використання вразливостей безпеки" Дафида Штуттарда і Маркуса Пінто – Ця книга являє собою практичне керівництво по пошуку і використанню вразливостей безпеки у веб-додатках і включає розділ про уразливість ненадійного шляху пошуку.

  3. "Black Hat Python: програмування на Python для хакерів і пентестеров" Джастіна Зейтца – Ця книга надає повний огляд програмування на Python для фахівців з безпеки і включає розділ про використання вразливостей ненадійного шляху пошуку.

  4. "Злом: мистецтво експлуатації" Джона Еріксона – Ця книга містить всеосяжний огляд комп'ютерної безпеки і включає розділ про використання вразливостей ненадійного шляху пошуку.

  5. "Тестування на проникнення: практичне введення у злом" Джорджії Вайдман - Ця книга являє собою всеосяжне вступ в тестування на проникнення і включає розділ, присвячений виявленню та використанню вразливостей ненадійного шляху пошуку.

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

Список корисних навантажень Уразливості ненадійного шляху пошуку

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

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

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

  3. Шкідливі скрипти – шкідливий скрипт - це програма, написана на мові сценаріїв, такому як JavaScript, VBScript або PowerShell. Скрипт виконується інтерпретатором і може бути використаний для виконання шкідливого коду в цільовій системі.

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

  5. Корисне навантаження руткіта – корисне навантаження руткіта - це програма, яка використовується, щоб приховати присутність шкідливого коду в цільовій системі шляхом зміни ядра системи або інших компонентів системи низького рівня.

  6. Трояни віддаленого доступу (RATs) – троянець віддаленого доступу - це тип шкідливого ПО, що дозволяє зловмиснику віддалено керувати цільової системою.

  7. Черв'яки – черв'як - це самовідтворювана програма, яка поширюється з однієї системи в іншу по мережі.

Як захиститися від Уразливості ненадійного шляху пошуку

Нижче наведені деякі правила брандмауера і правила Sigma, які можна використовувати для блокування або зупинки ненадійних вразливостей шляху пошуку:

Правила брандмауера:

  1. Блокувати виконання файлів з ненадійних каталогів – це правило блокує виконання файлів з каталогів, які явно не є надійними.

  2. Блокувати виконання файлів з ненадійними розширеннями – це правило блокує виконання файлів з розширеннями, які пов'язані з шкідливими файлами, такими як .exe або .dll.

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

  4. Блокувати виконання файлів зі знімних дисків – це правило блокує виконання файлів зі знімних дисків, таких як USB-накопичувачі, оскільки вони часто використовуються для поширення шкідливих файлів.

Правила сігми:

  1. Виявлення виконання файлів з ненадійних каталогів – це правило виявляє виконання файлів з каталогів, які явно не є надійними.

  2. Виявлення виконання файлів з ненадійними розширеннями – це правило виявляє виконання файлів з розширеннями, які пов'язані з шкідливими файлами, такими як .exe або .dll.

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

  4. Виявлення виконання файлів зі знімних дисків – це правило виявляє виконання файлів зі знімних дисків, таких як USB-накопичувачі, оскільки вони часто використовуються для поширення шкідливих файлів.

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

Заходи по пом'якшенню наслідків для Уразливості ненадійного шляху пошуку

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

  2. Використовуйте надійний шлях пошуку – коли додаток встановлено, воно повинно бути встановлено в надійному каталозі, наприклад в каталозі program files, щоб гарантувати, що воно використовує надійний шлях пошуку.

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

  4. Включити ASLR (рандомізація компонування адресного простору) – цей метод включає у себе використання методу, званого рандомізацією компонування адресного простору, для випадкового впорядкування адресного простору процесу. Це ускладнює для зловмисників передбачення того, де код або дані знаходяться в пам'яті, і може допомогти запобігти атаки.

  5. Включити DEP (запобігання виконання даних) – цей метод включає у себе використання методу, званого dep, для запобігання виконання коду в областях пам'яті, які не призначені для зберігання коду. Це допомагає запобігти виконання зловмисниками шкідливого коду.

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

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

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

Висновок

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

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

Інші Послуги

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

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