16 Лют, 2023

Неправильне використання криптографії

Vulnerability Assessment as a Service (VAaaS)

Tests systems and applications for vulnerabilities to address weaknesses.

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

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

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


в Python:

				
					import hashlib

password = input("Enter your password: ")
salt = "somesaltvalue"

# Hash the password with the salt
hashed_password = hashlib.sha256(password + salt).hexdigest()

# Save the hashed password to a database or file
save_to_file(hashed_password)

				
			


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

• В Java:

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

String plainText = "secret message";
String encryptionKey = "1234567890123456";

// Create a cipher object and initialize it with the encryption key
Cipher cipher = Cipher.getInstance("AES/ECB/PKCS5Padding");
SecretKeySpec key = new SecretKeySpec(encryptionKey.getBytes(), "AES");
cipher.init(Cipher.ENCRYPT_MODE, key);

// Encrypt the plain text
byte[] encryptedText = cipher.doFinal(plainText.getBytes());

// Save the encrypted text to a file or send it over a network
save_to_file(encryptedText);

				
			


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

• in З#:

				
					using System.Security.Cryptography;

string password = "mysecretpassword";
string encryptionKey = "1234567890123456";
byte[] salt = new byte[] { 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08 };

// Create a key derivation function object and generate a derived key
Rfc2898DeriveBytes keyDerivationFunction = new Rfc2898DeriveBytes(password, salt, 10000);
byte[] derivedKey = keyDerivationFunction.GetBytes(32);

// Create a cipher object and initialize it with the derived key
AesManaged cipher = new AesManaged();
cipher.Key = derivedKey;

// Encrypt the plain text
string plainText = "secret message";
byte[] encryptedText = cipher.CreateEncryptor().TransformFinalBlock(Encoding.UTF8.GetBytes(plainText), 0, plainText.Length);

// Save the encrypted text to a file or send it over a network
save_to_file(encryptedText);

				
			


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

Приклади використання Неправильного використання криптографії

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

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

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

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

Атаки по побічних каналах:

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

Криптографічні програми-викрадачі:

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

Криптоджекинг:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  • Wireshark: Аналізатор мережевих протоколів, який може вловлювати і перевіряти зашифрований трафік.

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

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

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

  • Metasploit Framework: Інструмент тестування на проникнення, який можна використовувати для перевірки вразливостей в зашифрованих протоколах зв'язку.

  • Nmap: Мережевий сканер, який можна використовувати для виявлення відкритих портів і служб, що використовують слабкі криптографічні протоколи.

  • Cain and Abel: Інструмент для відновлення пароля, який можна використовувати для розшифровки та відновлення паролів.

  • OpenSSL Cookbook: Керівництво з тестування та впровадження безпечних криптографічних методів за допомогою бібліотеки OpenSSL.: Посібник тестування і впровадження безпечних криптографічних методів з допомогою бібліотеки OpenSSL.

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

  • SSLScan: Інструмент, який можна використовувати для перевірки служб SSL / TLS на наявність відомих вразливостей.

  • Scapy: Інструмент для обробки пакетів, який можна використовувати для перевірки вразливостей в шифруванні мережевого трафіку.

  • THC-Hydra: Інструмент для злому паролів, який можна використовувати для перевірки слабо зашифрованих паролів.

  • SSLsplit: Прозорий проміжний проксі-сервера SSL/TLS, який можна використовувати для перехоплення зашифрованих даних і управління ними.

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

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

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

  • SSLyze: Інструмент, який можна використовувати для перевірки вразливостей SSL/ TLS і неправильних налаштувань.

  • Burp Intruder: Інструмент, який можна використовувати для перевірки слабо зашифрованих паролів і токенів сеансу.

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

  • Heartbleed: Інструмент, який можна використовувати для перевірки вразливості Heartbleed в OpenSSL.

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

Середній бал CVSS стек Неправильне використання криптографії

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

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

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

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

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

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

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

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

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

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

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

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

Топ-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-22971 – Вразливість міжсайтового скриптинга (XSS) в терміналі маршрутизатора Hughes Network Systems для HX200 v8.3.1.14, HX90 v6.11.0.5, HX50L v6.10.0.18, HN9460 v8.2.0.48 і HN7000S v6.9.0.37, дозволяє зловмисникам, які не пройшли перевірку автентичності, зловживати фреймами, включати код PHP / HTML і красти конфіденційну інформацію у законних користувачів додатку.

• CVE-2022-46505 – Проблема в MatrixSSL 4.5.1-open і більш ранніх версіях призводить до неможливості безпечної перевірки поля SessionID, що призводить до неправильного використання повністю нульового MasterSecret, який може розшифровувати секретні дані.

• CVE-2022-3820 – У GitLab була виявлена проблема, яка зачіпає всі версії, починаючи з 15,4 до 15.4.4 і 15.5 до 15.5.2. GitLab не виконувала правильну аутентифікацію з деякими реєстрами пакетів, коли були налаштовані обмеження IP-адрес, що дозволило зловмиснику, що вже має дійсний токен розгортання, використовувати його неправильно з будь-якого місця.

• CVE-2022-36861 – Вразливість неправильного використання користувальницьких дозволів SystemUI до випуску 1 SMR Sep-2022 дозволяє зловмисникові використовувати деякі захищені функції з привілеями SystemUI.

• CVE-2022-34632 – Було виявлено, що фіксація 4f8114374d8824dfdec03f576a8cd68bebce4e56 з допомогою компонента /rocket/RocketCore.scala містить недостатню криптографію.

• CVE-2022-29964 – Контролери розподіленої системи управління (DCS) Emerson DeltaV і плати вводу-виводу до 2022-04-29 використовують паролі неправильно. WIOC SSH надає доступ до оболонки як root, DeltaV або backup через жорстко задані облікові дані. ПРИМІТКА: це відрізняється від CVE-2014-2350.

• CVE-2022-29963 – Контролери розподіленої системи управління (DCS) Emerson DeltaV і плати вводу-виводу до 2022-04-29 використовують паролі неправильно. TELNET на порту 18550 надає доступ до кореневої оболонці через жорстко задані облікові дані. Це впливає на вузли S-series, P-series і CIOC / EIOC. ПРИМІТКА: це відрізняється від CVE-2014-2350.

• CVE-2022-29962 – Контролери розподіленої системи управління (DCS) Emerson DeltaV і плати вводу-виводу до 2022-04-29 використовують паролі неправильно. FTP має жорстко задані облікові дані (але часто може бути відключений в робочому середовищі). Це впливає на вузли S-series, P-series і CIOC / EIOC. ПРИМІТКА: це відрізняється від CVE-2014-2350.

Неправильне використання криптографії подвиги

Доповнюють атаки Oracle:

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

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

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

Атаки по побічних каналах:

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

Відомі атаки відкритим текстом:

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

Атаки "Зустріч у середині":

Атаки типу "Зустріч посередині" використовують той факт, що деякі алгоритми шифрування уразливі для атак, які потребують всього 2 ^ n операцій замість повних 2 ^ (2n) операцій, необхідних атаками методом перебору.

Повторні атаки:

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

Атаки по вилученню ключів:

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

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

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

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

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

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

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

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

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

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

Для вивчення Неправильне використання криптографії

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  2. Використовуйте надійні алгоритми шифрування: Завжди використовуйте алгоритми шифрування, які вважаються безпечними, такі як AES, RSA і SHA-2.

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

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

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

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

  7. Дізнайтеся більше про ризики безпеки: Будьте в курсі останніх загроз безпеці та вразливостей, а також дізнайтеся, як захистити себе від них.

Висновок

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

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

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

Інші Послуги

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

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