16 Лют, 2023

Недостатнє криптографічне сховище

Vulnerability Assessment as a Service (VAaaS)

Tests systems and applications for vulnerabilities to address weaknesses.

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

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

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

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

Java:

				
					import java.security.KeyPairGenerator;
import java.security.NoSuchAlgorithmException;
import java.security.SecureRandom;
import java.security.spec.ECGenParameterSpec;
import java.security.spec.InvalidKeySpecException;
import java.security.spec.KeySpec;

public class InsufficientCryptoStorageExample {
    private static final String ALGORITHM = "EC";

    public static void main(String[] args) throws NoSuchAlgorithmException, InvalidKeySpecException {
        KeyPairGenerator keyPairGenerator = KeyPairGenerator.getInstance(ALGORITHM);
        keyPairGenerator.initialize(new ECGenParameterSpec("secp256k1"), new SecureRandom());

        // Get public and private key
        KeySpec privateKeySpec = keyPairGenerator.generateKeyPair().getPrivate().getEncoded();
        KeySpec publicKeySpec = keyPairGenerator.generateKeyPair().getPublic().getEncoded();

        // Save keys to file
        saveToFile("privateKey.txt", privateKeySpec);
        saveToFile("publicKey.txt", publicKeySpec);
    }

    private static void saveToFile(String fileName, KeySpec keySpec) {
        // Save key to file
    }
}

				
			

У цій Java-коді KeyPairGenerator об'єкт ініціалізується за допомогою алгоритму еліптичної кривої (ЄС) і secp256k1 специфікація параметрів кривої. Проте розмір ключа, що генерується цим кодом, не вказано, що може призвести до недостатньої уразливості криптографічного сховища.

Python:

				
					from cryptography.hazmat.primitives.asymmetric import rsa

def generate_key_pair():
    private_key = rsa.generate_private_key(public_exponent=65537, key_size=1024)
    public_key = private_key.public_key()

    # Save keys to file
    save_to_file("private_key.txt", private_key)
    save_to_file("public_key.txt", public_key)

def save_to_file(file_name, key):
    # Save key to file

				
			

У цьому коді на Python generate_private_key функція cryptography.hazmat.primitives.asymmetric бібліотека генерує закритий ключ з розміром ключа 1024 біта, який більше не вважається безпечним. Цей код повинен використовувати більший розмір ключа, наприклад 2048 або 4096 біт, щоб забезпечити достатню криптографічне сховище.

Ruby:

				
					require 'openssl'

def generate_key_pair
    key = OpenSSL::PKey::RSA.generate(1024)
    public_key = key.public_key

    # Save keys to file
    save_to_file("private_key.txt", key.to_pem)
    save_to_file("public_key.txt", public_key.to_pem)
end

def save_to_file(file_name, key)
    # Save key to file
end

				
			

У цьому Ruby-код OpenSSL::PKey::RSA.generate метод генерує закритий ключ з розміром ключа 1024 біта, який більше не вважається безпечним. Щоб забезпечити достатню криптографічне сховище, розмір ключа повинен бути збільшений, наприклад, до або 2048 4096 біт.

C#:

				
					def transfer_funds(from_account, to_account, amount):
    if from_account.balance >= amount:
        from_account.balance -= amount
        to_account.balance += amount
    else:
        raise ValueError("Insufficient funds")

# Attacker can manipulate the balance of the from_account to be negative, and bypass the check for sufficient funds.
# This can result in the attacker being able to transfer more funds than they have.

				
			

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

Приклади експлуатації Недостатнє криптографічне сховище

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

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

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

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

Методи підвищення привілеїв для Недостатнє криптографічне сховище

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

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

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

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

  4. Соціальна інженерія: якщо зловмисник здатний розшифрувати і отримати конфіденційну інформацію про систему або користувачів, він може використовувати цю інформацію для проведення атаки соціальної інженерії і переконати користувача надати йому більш високі привілеї. Наприклад, зловмисник може видати себе за ІТ-адміністратора і переконати користувача надати йому свій адміністративний пароль.

Загальна методологія та контрольний список for Недостатнє криптографічне сховище вразливі місця

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

  1. Ідентифікація конфіденційних даних: Ідентифікація конфіденційних даних, які зберігаються в системі, включаючи особисту інформацію (PII), фінансову інформацію та інтелектуальну власність.

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

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

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

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

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

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

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

Набір інструментів для експлуатації Недостатнє криптографічне сховище

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

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

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

  3. Aircrack-ng: Aircrack-ng - це інструмент мережевої безпеки, який можна використовувати для перевірки бездротових мереж на наявність вразливостей. Він включає в себе безліч функцій для тестування шифрування, включаючи шифрування WEP і WPA / WPA2.

  4. Nmap: Nmap - це інструмент для дослідження мережі та аудиту безпеки, який включає в себе безліч функцій для тестування механізмів криптографічного шифрування і зберігання. Його можна використовувати для перевірки на наявність вразливостей SSL / TLS та виявлення слабких або застарілих алгоритмів шифрування.

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

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

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

  8. Metasploit: Metasploit - це платформа для розробки і виконання експлойтів безпеки. Його можна використовувати для перевірки на наявність вразливостей в криптографічних механізмах зберігання, включаючи уразливості SSL / TLS.

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

  10. OWASP ZAP: OWASP ZAP - це популярний інструмент тестування безпеки веб-додатків, який включає в себе безліч функцій для тестування механізмів криптографічного шифрування і зберігання. Він може бути використаний для виявлення вразливостей SSL/ TLS і слабких криптографічних алгоритмів.

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

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

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

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

  4. TestSSL.sh : TestSSL.sh це інструмент командного рядка, який можна використовувати для перевірки конфігурацій SSL / TLS на наявність вразливостей. Його можна використовувати для виявлення різних типів загроз, включаючи слабкі набори шифрів, сертифікати з терміном дії і Heartbleed.

  5. SSLyze: SSLyze - це інструмент з відкритим вихідним кодом, який можна використовувати для тестування реалізацій SSL / TLS на наявність вразливостей. Він включає в себе безліч тестів для виявлення вразливостей, таких як слабкі набори шифрів, проблеми з сертифікатами та Heartbleed.

  6. Qualys SSL Labs: Qualys SSL Labs - це веб-інструмент, який можна використовувати для перевірки конфігурацій SSL / TLS на наявність вразливостей. Його можна використовувати для виявлення різних типів загроз, включаючи слабкі набори шифрів, проблеми з сертифікатами і атаки BEAST.

  7. OWASP ZAP: OWASP ZAP - це сканер безпеки веб-додатків з відкритим вихідним кодом, що включає в себе різні функції для тестування конфігурацій SSL / TLS на наявність вразливостей. Його можна використовувати для виявлення різних типів загроз, включаючи слабкі набори шифрів, сертифікати з терміном дії і проблеми зі змішаним вмістом.

  8. SSLScan: SSLScan - це інструмент командного рядка, який можна використовувати для перевірки конфігурацій SSL / TLS на наявність вразливостей. Його можна використовувати для виявлення різних типів загроз, включаючи слабкі набори шифрів, проблеми з сертифікатами і сердечне кровотеча.

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

  10. SSLDigger: SSLDigger - це веб-інструмент, який можна використовувати для перевірки конфігурацій SSL / TLS на наявність вразливостей. Його можна використовувати для виявлення різних типів загроз, включаючи слабкі набори шифрів, проблеми з сертифікатами і атаки BEAST.

Середній бал CVSS Недостатнє криптографічне сховище

Середня оцінка CVSS (Common Vulnerability Score System) за недостатня кількість вразливостей криптографічного сховища варіюється в залежності від конкретної уразливості і її впливу. Оцінки CVSS варіюються від 0 до 10, причому 10 балів є найсерйознішими.

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

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

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

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

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

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

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

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

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

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

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

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

Недостатнє криптографічне сховище вразливі місця подвиги

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

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

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

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

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

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

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

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

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

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

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

Практикуючись в тестуванні на Недостатнє криптографічне сховище вразливі місця

Ось кілька загальних порад і рекомендацій щодо тестування на наявність недостатніх вразливостей криптографічного сховища:

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

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

  3. Перевірте мережеву безпеку: переконайтеся, що програма використовує надійні протоколи шифрування при передачі даних по мережах, включаючи HTTP (S), SSL / TLS та SSH.

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

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

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

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

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

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

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

Для вивчення Недостатнє криптографічне сховище вразливі місця

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

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

  3. NIST Special Publication 800-57 Частина 1: NIST SP 800-57 - це документ, який містить керівництво з управління ключами, включаючи використання криптографічних алгоритмів та протоколів. Цей документ корисний для розуміння кращих практик управління ключами та впливу криптографічних алгоритмів на безпеку.

  4. Криптографічний інженерія: принципи проектування та практичні додатки: Ця книга Нільса Фергюсона, Брюса Шнайера і Тадаєсі Коно являє собою всеосяжне керівництво по криптографії та її додатків. Вона охоплює принципи сучасної криптографії, включаючи важливість керування ключами, хеш-функцій, а також симетричного і асиметричного шифрування.

  5. Практична криптографія на Python: Ця книга Сема Боуна являє собою практичне керівництво по криптографії на Python. Він охоплює основи криптографії, включаючи симетричне і асиметричне шифрування, хешування, цифрові підписи та управління ключами, з практичними прикладами з використанням коду Python.

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

  7. Прикладна криптографія: протоколи, алгоритми і вихідний код на C: Ця книга Брюса Шнайера є класичним довідником по криптографії, що охоплює принципи криптографії, включаючи симетричне і асиметричне шифрування, хеш-функції, цифрові підписи та управління ключами. Він включає практичні приклади і вихідний код на C.

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

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

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

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

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

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

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

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

Список корисних навантажень Недостатнє криптографічне сховище вразливі місця

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

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

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

  3. Рядка формату: це включає в себе надання вхідних рядків, що містять специфікатори формату, такі як %s і %n, для перевірки вразливостей рядків формату.

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

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

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

  7. Спеціальні символи: це включає в себе надання вхідних рядків, що містять спеціальні символи, такі як лапки або крапки з комою, для перевірки на наявність ін'єкцій та інших пов'язаних з ними вразливостей.

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

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

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

Як захиститися від Недостатнє криптографічне сховище вразливі місця

Правило Сігми для виявлення недостатніх вразливостей криптографічного сховища:

				
					title: Insufficient Cryptographic Storage
description: Detects the presence of insufficient cryptographic storage vulnerabilities in the system.
status: experimental

logsource:
    product: windows
    service: security
    description: "Windows Security Event Log"

detection:
    selection1:
        EventID: '36871'
        Condition: "Keywords contains 'Audit Failure'"
        Message: "*A fatal error occurred while creating a TLS client credential. The internal error state is 10013.*"
    selection2:
        EventID: '36872'
        Condition: "Keywords contains 'Audit Failure'"
        Message: "*A fatal error occurred when attempting to access the SSL server credential private key. The error code returned from the cryptographic module is 0x8009030D.*"
    correlation:
        selection1: selection1
        selection2: selection2

				
			

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

				
					Name: Block Insufficient Cryptographic Storage Vulnerabilities
Action: Block
Protocol: All
Source: Any
Destination: Any
Rules:
    - Block any traffic that matches the following text in the payload:
        *TLS client credential*
        *SSL server credential private key*

				
			

Заходи по пом'якшенню наслідків для Недостатнє криптографічне сховище вразливі місця

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

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

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

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

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

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

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

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

Висновок

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

Інші Послуги

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

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