23 Лют, 2023

Взломана криптографія

Vulnerability Assessment as a Service (VAaaS)

Tests systems and applications for vulnerabilities to address weaknesses.

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

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

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


в Python:

				
					import hashlib

password = input("Enter your password: ")
hashed_password = hashlib.md5(password.encode()).hexdigest()

print(f"Your hashed password is: {hashed_password}")

				
			


У цьому коді на Python hashlib.md5 функція використовується для хешування введеного користувачем пароля. Однак MD5 є непрацюючою криптографічного хеш-функцією і не повинна використовуватися для хешування паролів. Зловмисники можуть легко створювати колізії і зламувати пароль, роблячи його небезпечним.

• В Java:

				
					import javax.crypto.Cipher;
import javax.crypto.spec.SecretKeySpec;

public class Encryption {
    private static final byte[] key = "mysecretkey".getBytes();

    public static byte[] encrypt(byte[] input) throws Exception {
        SecretKeySpec keySpec = new SecretKeySpec(key, "AES");
        Cipher cipher = Cipher.getInstance("AES/ECB/PKCS5Padding");
        cipher.init(Cipher.ENCRYPT_MODE, keySpec);
        byte[] encrypted = cipher.doFinal(input);
        return encrypted;
    }
}

				
			


У цій Java-коді AES алгоритм шифрування використовується для шифрування даних з використанням режиму Електронної кодової книги (ECB) і схеми заповнення PKCS5. Однак використання режиму ECB без рандомізації може призвести до передбачуваним шаблонам в зашифрованому тексті, що робить його уразливим для атак. Рекомендується використовувати режим захищеного блочного шифрування, такий як CBC або GCM, з випадковим вектором ініціалізації (IV).

• в C#:

				
					using System.Security.Cryptography;

class Program {
    static void Main(string[] args) {
        string plaintext = "mysecretpassword";
        string key = "mysecretkey";

        byte[] keyBytes = Encoding.UTF8.GetBytes(key);
        byte[] plaintextBytes = Encoding.UTF8.GetBytes(plaintext);

        using (var md5 = new MD5CryptoServiceProvider()) {
            byte[] hash = md5.ComputeHash(keyBytes);
            var keyHash = new byte[24];
            Buffer.BlockCopy(hash, 0, keyHash, 0, 16);
            Buffer.BlockCopy(hash, 0, keyHash, 16, 8);

            using (var tripleDES = new TripleDESCryptoServiceProvider()) {
                tripleDES.Key = keyHash;
                tripleDES.Mode = CipherMode.ECB;
                tripleDES.Padding = PaddingMode.PKCS7;

                byte[] encrypted = tripleDES.CreateEncryptor()
                    .TransformFinalBlock(plaintextBytes, 0, plaintextBytes.Length);

                Console.WriteLine("Encrypted: " + Convert.ToBase64String(encrypted));
            }
        }
    }
}

				
			


У цьому коді C # шифрування TripleDES використовується для шифрування даних з використанням режиму ECB та схеми заповнення PKCS7. Однак TripleDES є застарілим шифром і не рекомендується для використання в нових додатках. Крім того, використання режиму ECB без рандомізації може призвести до передбачуваним шаблонам в зашифрованому тексті, що робить його уразливим для атак. Рекомендується використовувати режим захищеного блочного шифрування, такий як CBC або GCM, з випадковим вектором ініціалізації (IV).

Приклади використання Зламаної криптографії

Злом пароля:

Одним з найбільш поширених способів використання зламаної криптографії є злом паролів, які були хэшированы з використанням небезпечних алгоритмів, таких як MD5 або SHA-1. Зловмисники можуть використовувати попередньо обчислені хеш-таблиці або методи перебору, щоб вгадати текстовий пароль, відповідний хешу. Отримавши текстовий пароль, вони можуть використовувати його для входу в обліковий запис жертви і проведення подальших атак.

Атаки "Людина посередині":

Іншим способом використання зламаної криптографії є виконання атак типу "людина посередині" (MITM) зашифровані канали зв'язку. Наприклад, якщо сертифікат SSL / TLS, використовуваний веб-сайтом, згенерований з використанням слабких криптографічних ключів, зловмисник може використовувати метод, званий "видаленням SSL", щоб знизити рейтинг з'єднання до небезпечного HTTP каналу і перехопити конфіденційну інформацію, таку як облікові дані для входу або номери кредитних карт.

Криптографічні атаки по побічних каналах:

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

Підробка даних:

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

Методи підвищення привілеїв для зламаної Криптографії

Використання слабких ключів шифрування:

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

Втручання в конфігураційні файли, пов'язані з шифруванням:

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

Використання небезпечного сховища ключів:

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

Зловживання криптографічними протоколами:

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

Загальна методологія та контрольний список для Зламаної Криптографії

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  • Metasploit: Широко використовується платформа для розробки і виконання коду експлойта проти уразливих систем. Metasploit включає в себе модулі для використання криптографічних вразливостей і тестування криптографічних механізмів.

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

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

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

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

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

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

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

  • SSLyze: Інструмент для тестування і аналізу реалізацій SSL/TLS. SSLyze включає в себе функції для виявлення небезпечних криптографічних конфігурацій і недоліків реалізації.

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

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

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

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

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

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

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

• CWE-338: Використання криптографічно слабких генераторів псевдовипадкових чисел (PRNG) – ця слабкість пов'язана з використанням передбачуваних або слабких генераторів псевдовипадкових чисел, які можуть зробити криптографічні системи уразливими для атак.

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

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

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

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

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

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

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

Топ-10 CVE, пов'язаних зі Зламаної Криптографією

• CVE-2023-24025 – КРИСТАЛИ-ДІЛІТІЙ (в постквантовой криптографії Обрані алгоритми 2022) в PQClean d03da30 можуть допускати універсальні підробки цифрових підписів з допомогою шаблонної атаки по побічного каналу через проміжної витоку даних одного вектора.

• CVE-2023-23931 – cryptography - це пакет, призначений для надання розробникам Python криптографічних примітивів і рецептів. В порушених версіях `Cipher.update_into` буде приймати об'єкти Python, які реалізують буферний протокол, але надають лише невідмінювані буфери. Це дозволило б змінювати незмінні об'єкти (такі як `байт`), порушуючи таким чином фундаментальні правила Python і приводячи до пошкодження вихідних даних. Тепер це правильно викликає виключення. Ця проблема існує з тих пір, як `update_into` був спочатку представлений у cryptography 1.8.

• CVE-2023-23695 – Шлюз Dell Secure Connect Gateway (SCG) версії 5.14.00.12 містить уразливість зі зламаним криптографічним алгоритмом. Віддалений зловмисник, який не пройшов перевірку автентичності, потенційно може скористатися цією уразливістю, виконуючи MitM-атаки, і дозволити зловмисникам отримати конфіденційну інформацію.

• CVE-2023-22471 – Deck - це інструмент організації в стилі канбан, призначений для особистого планування та організації проектів для команд, інтегрованих з Nextcloud. Порушений контроль доступу дозволяє користувачеві видаляти вкладення інших користувачів. В даний час не існує відомих обхідних шляхів. Рекомендується оновити додаток Nextcloud Deck до версії 1.6.5, 1.7.3 або 1.8.2.

• CVE-2022-46834 – Використання непрацюючого або ризикованого криптографічного алгоритму в прошивці SICK RFU65x версії

• CVE-2022-46833 – Використання непрацюючого або ризикованого криптографічного алгоритму в прошивці SICK RFU63x версії

• CVE-2022-46832 – Використання непрацюючого або ризикованого криптографічного алгоритму в прошивці SICK RFU62x версії

• CVE-2022-45475 – Tiny File Manager версії 2.4.8 дозволяє віддаленому зловмиснику, який не пройшов перевірку, отримати доступ до внутрішніх файлів додатка. Це можливо, оскільки додаток вразливим для порушення контролю доступу.

• CVE-2022-45369 – Auth. (subscriber+) Broken Access Control vulnerability in Plugin for Google Reviews plugin <= 2.2.2 on WordPress.

• CVE-2022-45353 – Broken Access Control in Betheme theme <= 26.6.1 on WordPress.

Взломана криптографія подвиги

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

  • POODLE: Це уразливість в SSL 3.0, що дозволяє зловмисникові розшифровувати дані, що передаються між клієнтом і сервером.

  • BEAST: Це уразливість в SSL / TLS, яка дозволяє зловмисникові перехоплювати і розшифровувати дані, що передаються між клієнтом і сервером.

  • DROWN: Це уразливість в SSL / TLS, яка дозволяє зловмисникові розшифровувати дані, що передаються між клієнтом і сервером, використовуючи вразливу реалізацію SSLv2.

  • FREAK: Це уразливість в SSL / TLS, яка дозволяє зловмисникові змусити клієнта використовувати слабке шифрування, полегшуючи розшифровку переданих даних.

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

  • ROBOT: Це уразливість в SSL / TLS, яка дозволяє зловмисникові розшифровувати дані, що передаються між клієнтом і сервером, використовуючи недолік в процесі шифрування RSA.

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

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

  • Удачливый13: Це атака, яка використовує уразливості в реалізації протоколу TLS, дозволяючи зловмиснику розшифровувати дані, що передаються між клієнтом і сервером.

Практикуючись в тестуванні на Взломана криптографія

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

Беріть участь в CTFs: Змагання Capture the Flag (CTF) часто включають у себе завдання, пов'язані з криптографією і шифруванням, надаючи прекрасну можливість попрактикуватися у тестуванні на наявність зламаної криптографії в конкурентному середовищі.

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

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

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

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

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

Для вивчення Зламаної Криптографії

Курси криптографії I і Криптографії II на Coursera: Ці курси, що викладаються Деном Боном зі Стенфордського університету, містять всебічне введення в криптографію, включаючи огляд поширених атак.

Довідник з прикладної криптографії: Ця книга Альфреда Менезеса, Статі К. ван Оршота і Скотта А. Ванстоуна містить докладний введення в область криптографії, включаючи огляд поширених атак.

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

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

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

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

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

Книги з оглядом Зламаної криптографії

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

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

Прикладна криптографія: протоколи, алгоритми і вихідний код на C Брюс Шнайер: Ця класична книга містить всебічне введення в криптографію, включаючи огляд поширених атак.

Довідник з прикладної криптографії Альфред Менезес, Підлогу К. ван Оршот і Скотт А. Ванстоун: Ця книга являє собою докладний введення в область криптографії, включаючи огляд поширених атак.

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

Куленепробивний SSL і TLS: розуміння і розгортання SSL / TLS і PKI для захищених серверів і веб-додатків Іван Рістіч: Ця книга являє собою практичне керівництво по впровадженню безпечних з'єднань SSL / TLS, включаючи огляд поширених вразливостей і способів їх усунення.

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

Серйозна криптографія: Практичне введення в сучасне шифрування Жан-Філіп Омассон: Ця книга являє собою практичний посібник з сучасної криптографії, включаючи огляд поширених вразливостей і способів їх усунення.

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

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

Список корисних навантажень Зламаної криптографії

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

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

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

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

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

Як захиститися від злому криптографії

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

  2. Використовуйте надійні алгоритми шифрування: Условия гонки от времени проверки до времени использования (TOCTTOU)

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

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

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

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

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

  8. Залишайтеся пильними: Слідкуйте за своїми системами на предмет ознак несанкціонованого доступу або іншої підозрілої активності і швидко реагуйте на будь-які інциденти безпеки.

Заходи з усунення неполадок в криптографії

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

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

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

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

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

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

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

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

Висновок

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

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

Інші Послуги

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

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