Криптографските оракули могат да бъдат страхотни инструменти за хакери. Ето защо.

Възможно ли е нападател да декриптира и криптира данни във вашето приложение, без да знае ключовете за декриптиране? Отговорът е да и се крие в криптографски дефект, наречен оракул за криптиране.

Оракулите за криптиране служат като потенциален шлюз за нападателите за събиране на информация за криптирани данни, всички без директен достъп до ключа за криптиране. И така, как нападателите могат да експлоатират криптографски оракули чрез техники като атаки на оракули с подплата? Как можете да предотвратите засягането на подобни уязвимости?

Какво е криптографски оракул?

Шифроването е протокол за сигурност в който обикновен текст или данни се преобразуват в нечетлив кодиран формат, известен също като шифрован текст, за да защити поверителността му и гарантира, че може да бъде достъпен само от упълномощени страни с дешифрирането ключ. Има два вида криптиране: асиметрично и симетрично.

Асиметричното криптиране използва двойка отделни ключове (публични и частни) за криптиране и декриптиране, докато симетричното криптиране използва един споделен ключ както за криптиране, така и за декриптиране. Можете да шифровате почти всичко, текстови съобщения, имейли, файлове, уеб трафик и т.н.

instagram viewer

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

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

Криптографският оракул се състои от две части: заявка и отговор. Заявката се отнася до действието по предоставяне на оракула на шифрован текст (криптирани данни), а отговорът е обратната връзка или информацията, предоставена от оракула въз основа на неговия анализ на шифрования текст. Това може да включва проверка на неговата валидност или разкриване на подробности за съответния обикновен текст, потенциално подпомагане на нападателя при дешифрирането на криптираните данни и обратно.

Как работят Padding Oracle атаките?

Един основен начин, по който нападателите експлоатират криптографските оракули, е чрез атака на оракули с подплата. Атаката на padding oracle е криптографска атака, която използва поведението на система или услуга за криптиране, когато разкрива информация за коректността на подпълването в шифрован текст.

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

В сценарий от реалния свят нападателят може да подозира, че приложение за онлайн банкиране, което криптира потребителски данни, може да има уязвимост на padding oracle. Нападателят прихваща криптирана заявка за транзакция на законен потребител, променя я и я изпраща на сървъра на приложението. Ако сървърът реагира по различен начин – чрез грешки или времето, необходимо за обработка на заявката – на модифицирания шифрован текст, това може да означава уязвимост.

След това нападателят го експлоатира с внимателно изработени заявки, като в крайна сметка дешифрира данните за транзакцията на потребителя и потенциално получава неоторизиран достъп до неговия акаунт.

Друг пример е използването на оракула за криптиране за заобикаляне на удостоверяването. Ако нападателят открие оракул за криптиране в заявките на уеб приложение, което криптира и дешифрира данни, нападателят може да го използва, за да получи достъп до валиден потребителски акаунт. Той можеше да декриптира токена на сесията на акаунта, чрез оракула, да промени обикновения текст, използвайки същия оракул, и замени токена на сесията с изработен шифрован токен, който ще му даде достъп до този на друг потребител сметка.

Как да избегнем криптографски атаки на Oracle

Атаките на криптографски оракул са резултат от уязвимости в дизайна или внедряването на криптографски системи. Важно е да се уверите, че прилагате тези криптографски системи сигурно, за да предотвратите атаки. Други мерки за предотвратяване на оракули за криптиране включват:

  1. Автентифицирани режими на криптиране: Използване на удостоверени протоколи за криптиране като AES-GCM (Galois/Counter Mode) или AES-CCM (Counter с CBC-MAC) не само осигурява поверителност, но и защита на целостта, което затруднява нападателите да подправят или декриптират шифрован текст.
  2. Последователно обработване на грешки: Уверете се, че процесът на криптиране или декриптиране винаги връща един и същ отговор за грешка, независимо дали подпълването е валидно или не. Това елиминира разликите в поведението, които атакуващите биха могли да използват.
  3. Тестване на сигурността: Редовно провеждайте оценки на сигурността, включително тестове за проникване и прегледи на кодове, за идентифициране и смекчаване на потенциални уязвимости, включително проблеми с оракула за криптиране.
  4. Ограничаване на скоростта: Внедрете ограничаване на скоростта за заявки за криптиране и декриптиране, за да откриете и предотвратите груби атаки.
  5. Проверка на входа: Валидирайте и дезинфекцирайте внимателно въведеното от потребителя преди криптиране или декриптиране. Уверете се, че входовете се придържат към очаквания формат и дължина, за да предотвратите атаки на оракули за подпълване чрез манипулирани входове.
  6. Обучение и осведоменост по сигурността: Обучете разработчиците, администраторите и потребителите относно най-добрите практики за криптиране и сигурност, за да насърчите култура, съобразена със сигурността.
  7. Редовни актуализации: Поддържайте всички софтуерни компоненти, включително криптографски библиотеки и системи, актуални с най-новите корекции и актуализации за сигурност.

Подобрете позицията си за сигурност

Разбирането и защитата срещу атаки като криптиращи оракули е задължително. Чрез внедряването на сигурни практики организациите и хората могат да укрепят защитата си срещу тези коварни заплахи.

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