spot_img
25 ноября, 2024
ДомойТелекомСтатьиКриптография и основные способы шифрования информации

Криптография и основные способы шифрования информации

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

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

История криптографии

Криптография (от древнегреческих: κρυπτоς — «скрытый» и γραφειν — «пишу») — это наука о методах, предотвращающих прочтение передаваемой частной информации третьей стороной. Криптография существует уже тысячи лет, но всегда она использовалась для отправки важных сообщений, чтобы скрыть их от лишних глаз. Первые криптографические сообщения были найдены у древних египтян, однако подтвержденное использование шифров в стратегических целях относится к эпохе Древнего Рима. Историки утверждают, что Юлий Цезарь использовал криптографию и даже создал так называемый шифр Цезаря, чтобы отправлять секретные сообщения своим генералам. Этот метод защиты конфиденциальной информации от нежелательных глаз использовался вплоть до новейшей истории.

Шифр Цезаря — один из простейших способов шифрования сообщений, полезный для понимания криптографии. Его также называют шифром сдвига, поскольку он заменяет исходные буквы сообщения другими буквами, находящимися в определенной позиции по отношению к первичной букве в алфавите. Например, если мы зашифруем сообщение через шифр +3 на английском языке, то A станет D, а K станет N. Если же использовать правило -2, то D станет B, а Z станет X.

read everything on invest in blockchain

uhdghyhubwklqjrqlqyhvwlqeorfnfkdlq

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

  • Шифр — это набор правил, которые вы используете для кодирования информации. Например, сдвиг на X букв в алфавите в примере с шифром Цезаря. Шифр не обязательно должен быть засекречен, потому что сообщение можно будет прочитать только при наличии ключа.
  • Ключ — значение, описывающее, каким именно образом использовать набор правил шифрования. Для шифра Цезаря это будет число букв для сдвига в алфавитном порядке, например, +3 или -2. Ключ — это инструмент для дешифровки сообщения.

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

Эволюция криптографии

Во время Второй мировой войны войска Германии использовали машину шифрования «Enigma», чтобы передавать важную информацию. Математик и гений Алан Тьюринг, в чью честь впоследствии был назван тест Тьюринга, нашел способ ее взломать. Именно взлом «Enigma» считают одним из основных переломных моментов во Второй мировой войне. И здесь сообщения шифровались для защиты их содержимого. Это подразумевает, что всегда будут стороны, заинтересованные в получении данной информации. Поскольку люди так или иначе достигают успехов в расшифровке различных кодов, криптография вынуждена адаптироваться. Современная криптография далеко ушла от обычного смещения букв в алфавите, предлагая сложнейшие головоломки, которые решать с каждым годом все труднее. Вместо банального смещения буквы теперь могут заменяться на числа, другие буквы и различные символы, проходя через сотни и тысячи промежуточных шагов.

Цифровая эпоха привела к экспоненциальному увеличению сложности шифрования. Это связано с тем, что компьютеры принесли с собой резкое увеличение вычислительной мощности. Человеческий мозг по-прежнему остается самой сложной информационной системой, но, когда дело доходит до выполнения вычислений, компьютеры намного быстрее и могут обрабатывать гораздо больше информации. Криптография цифровой эры связана с электротехникой, информатикой и математикой. В настоящее время сообщения обычно шифруются и дешифруются с помощью сложных алгоритмов, созданных с использованием комбинаций этих технологий. Однако, независимо от того насколько сильным будет шифрование, всегда будут люди, работающие над его взломом.

Как взламывают код?

Вы можете заметить, что даже без ключа шифр Цезаря не так сложно взломать. Каждая буква может принимать только 25 разных значений, а для большинства значений сообщение не имеет смысла. С помощью проб и ошибок вы сможете расшифровать сообщение, приложив определенные усилия. Взлом шифрования с использованием всех возможных вариаций называют брутфорсом (bruteforce, англ. — грубая сила). Такой взлом предполагает подбор всех возможных элементов до тех пор, пока решение не будет найдено. С увеличением вычислительных мощностей брутфорс становится все более реалистичной угрозой, единственный способ защиты от которой — увеличение сложности шифрования. Современные шифры позволяют использовать триллионы возможных ключей, делая брутфорс менее опасным. Тем не менее утверждается, что суперкомпьютеры и в особенности квантовые компьютеры вскоре смогут взломать большинство шифров посредством брутфорса из-за своих непревзойденных вычислительных мощностей, ведь любой шифр неотъемлемо связан с набором правил, а правила, в свою очередь, могут быть проанализированы.

Анализом правил занимается более тонкий метод дешифровки сообщений — частотный анализ. Этот метод анализирует повторяющиеся события и пытается найти ключ, используя эту информацию. Давайте снова рассмотрим пример шифра Цезаря, чтобы разобраться. Мы знаем, что буква E используется гораздо чаще, чем другие буквы в латинском алфавите. Когда мы применяем это знание к зашифрованному сообщению, то начинаем искать букву, которая повторяется чаще всего, и находим, что буква H используется чаще других, и проверяем наше предположение, применяя к сообщению сдвиг -3. Поэтому, чем длиннее сообщение, тем легче применить к нему частотный анализ.

Симметричный и асимметричный методы шифрования

Поскольку структура открытого текста аналогична зашифрованному сообщению, то, используя частотный анализ, можно легко выявить принцип, по которому определить, как часто и в какой последовательности появляются символы. Шифр, использованный выше, — это простой пример того, как работает симметричное шифрование. И отправитель, и получатель смещают буквы на одинаковое количество позиций. Поэтому крайне важно держать ключ в секрете, и именно поэтому симметричное шифрование часто упоминается как «закрытый ключ шифрования».

Существуют два основных алгоритма симметричного шифрования: блочный шифр и поточный шифр. Блочные шифры, как можно понять из названия, оперируют шифрованием блоков байтов, используя аналогичный ключ. Само сообщение разделяется на множество блоков, в зависимости от его длины. Если сообщение не подходит под длину блока, то в процессе, известном в криптографии как «дополнение», к сообщению добавляются данные до целого блока. Самыми распространенными блочными шифрами, с которыми вы столкнетесь, будут AES и Blowfish, первый из которых часто используется криптовымогателями для шифрования. Поточные шифры зашифровывают каждый знак открытого текста за один раз (обычно в виде бита) с помощью псевдослучайного потока ключей. Это значит, что для каждого бита используется другой ключ из потока. Математический оператор «исключающее ИЛИ» затем объединяет два бита для создания шифротекста. Самые используемые на сегодня поточные шифры — RC4 и Salsa20. Что характеризует каждый из этих методов симметричного шифрования, так это низкие вычислительные потребности для функционирования, а также использование только одного ключа как для шифрования, так и для дешифрования сообщения. Однако в последнем случае возникает вопрос: как же можно секретно обмениваться ключом, если третья сторона может узнать, чем идет обмен?

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

В основе большинства асимметричных криптосистем обычно лежит алгоритм, который требует сложных вычислительных операций. Наиболее распространенными алгоритмами на сегодня являются Diffie-Hellman-Merkle, RSA и Elliptic Curve Cryptography. Суть заключается в том, что асимметричное шифрование позволяет осуществлять относительно безопасное шифрование без необходимости в общем закрытом ключе, однако сложный вычислительный характер делает невозможным его использование для больших наборов данных. С учетом того, что оба вида шифрования имеют свои уникальные преимущества и недостатки, в большинстве случаев применений, в том числе создателями шифровальщиков-вымогателей, будет использоваться сочетание и того, и другого вида.

Другие способы шифрования

Хеширование информации, в отличие от симметричного и асимметричного шифрований, является односторонней функцией. Можно создать хеш из некоторых данных, но нет никакого способа, чтобы обратить процесс. Это делает хеширование не очень удобным способом хранения данных, но подходящим для проверки целостности некоторых данных. Функция в качестве входных данных принимает какую-то информацию и выводит, казалось бы, случайную строку, которая всегда будет одинаковой длины. Идеальная функция хеширования создает уникальные значения для различных входов. Одинаковый ввод всегда будет производить одинаковый хеш. Поэтому можно использовать хеширование для проверки целостности данных.

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

Шифрование переписки для всех своих пользователей в WhatsApp

Криптография, блокчейн и криптовалюты

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

Хеширование — это ключевой компонент технологии блокчейн, касающийся защиты и целостности данных, протекающих через систему. Этот метод в основном используется для четырех процессов:

  • верификация и подтверждение остатков в кошельках пользователей;
  • кодирование адресов кошельков;
  • кодирование транзакций между кошельками;
  • майнинг блоков (для криптовалют, предполагающих такую возможность) путем создания математических головоломок, которые необходимо решить, чтобы добыть блок.

Цифровая подпись здесь в некотором смысле представляет аналог вашей реальной подписи и служит для подтверждения вашей личности в сети. Когда речь заходит о криптовалютах, цифровые подписи представляют математические функции, которые сопоставляются с определенным кошельком. Таким образом, цифровые подписи — это своего рода способ цифровой идентификации кошелька. Прилагая цифровую подпись к транзакции, владелец кошелька доказывает всем участникам сети, что сделка исходила именно от него, а не от кого-либо другого. Цифровые подписи используют криптографию для идентификации кошелька и тайно связаны с общедоступным и приватным ключами кошелька. Ваш общедоступный ключ — это аналог вашего банковского счета, в то время как приватный ключ — ваш PIN-код. Не имеет значения, кто знает номер вашего банковского счета, потому что единственное, что с ним смогут сделать, — это внести деньги на ваш счет. Однако, если они знают ваш PIN-код, у вас могут возникнуть реальные проблемы.

В блокчейне приватные ключи используются для шифрования транзакции, а открытый ключ — для дешифровки. Это становится возможным, потому что отправляющая сторона отвечает за транзакцию. Передающая сторона шифрует транзакцию своим приватным ключом, но ее можно дешифровать с помощью открытого ключа получателя, потому что единственное назначение этого процесса заключается в верификации отправителя. Если открытый ключ не срабатывает при дешифровке транзакции, она не выполняется. В такой системе открытый ключ распространяется свободно и тайно соотносится с приватным ключом. Проблемы нет, если открытый ключ известен, но приватный ключ всегда должен находиться в тайне. Несмотря на соотношение двух ключей, вычисление приватного ключа требует невероятных вычислительных мощностей, что делает взлом финансово и технически невозможным. Необходимость защиты ключа — основной недостаток этой системы. Если кому-то станет известен ваш приватный ключ, он сможет получить доступ к вашему кошельку и совершить с ним любые транзакции, что уже происходило с Bloomberg, когда один из ключей сотрудников был показан по телевизору.

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

Как понимание алгоритмов шифрования помогает бороться с программами-вымогателями?

Анализ шифрования программ-вымогателей чрезвычайно сложен, и в этой статье мы лишь охватили общие принципы шифрования. Поэтому, учитывая все типы существующих вредоносных программ, намного безопаснее быть, в первую очередь, защищенным, а лишь потом пытаться очистить систему. Это еще более актуально в случае с программами-вымогателями. Даже если вы не находитесь в эпицентре эпидемии, это не значит, что ваш компьютер не подвержен заражению. Поэтому убедитесь, что у вас установлено надежное антивирусное решение, которое гарантированно заблокирует любые атаки шифровальщиков. Регулярно делайте резервное копирование ваших данных, следите, чтобы на компьютере всегда были установлены последние обновления безопасности операционной системы и актуальные обновления программного обеспечения, а также прислушивайтесь к рекомендациям антивирусных экспертов.

 

При подготовке статьи были использованы материалы сайтов coinspot.io, proglib.io и blog.emsisoft.com

Дополнительные материалы

Общие термины криптографии

  • Сообщение: Данные, которые вы хотите защитить с помощью шифрования. Это может быть текст сообщения или файл.
  • Открытый текст: Незашифрованное сообщение.
  • Шифротекст: Зашифрованное сообщение.
  • Ключ: Компонент, который используется алгоритмом шифрования для того, чтобы преобразовать открытый текст в шифротекст и обратно.
  • Блочный шифр: Симметричное шифрование, оперирующее блоками байт.
  • Поточный шифр: Использует поток ключей для шифрования одного бита за один раз.
  • Симметричный (закрытый) ключ шифрования: Для шифрования и дешифрования сообщения используется один и тот же ключ.
  • Асимметричный (открытый) ключ шифрования: Для шифрования и дешифрования сообщения используются разные ключи.

Анализ шифровальщика Petya

В качестве примера мы приведем анализ работы шифовальщика Petya. Появившись первоначально в Восточной Европе 27 июня 2017 года, эта программа-шифровальщик быстро инфицировала компьютеры ряда крупных организаций на Украине и в России, прежде чем распространиться дальше. Больше всего в атаке поражал тот факт, что текущая версия программы-вымогателя Petya использовала все ту же уязвимость в Windows, первоначально обнаруженную Агентством национальной безопасности США, которую месяцем ранее так, увы, успешно использовали создатели шифровальщика WannaCry. Ту самую уязвимость, которую можно было легко устранить, следуя совету экспертов, всего лишь скачав и установив последний пачт безопасности от Microsoft.

Petya — довольно уникальная программа-вымогатель. Как и в версии 2016 года, Petya внедрял свою собственную операционную систему и зашифровывал важные структуры файловой системы после перезагрузки, тем самым фактически блокируя пользователей от их компьютеров. После инфицирования системы, замаскированного под процесс проверки CHKDSK, на экран зараженного компьютера выводилась заставка Petya с требованием заплатить выкуп в размере 300 долларов в биткоиновом эквиваленте, чтобы расшифровать файлы и восстановить доступ к машине. Способ распространения шифровальщика довольно похож на тот, который был использован WannaCry: через подключенные к интернету системы, в которых включен протокол SMBv1 и в которых не был установлен патч Microsoft MS17-010, исправляющий уязвимость в протоколе MBv1.

Тщательный анализ показал, что денежный аспект, вероятно, был не более чем отвлекающим маневром. Выбор упрощенной системы для оплаты (отслеживаемый биткоин-кошелек) и уязвимого канала для связи (обычный адрес электронной почты, который был быстро заблокирован почтовым провайдером) означал, что с самого начала не предполагалось, что подобный сбор выкупа будет постоянным. А, значит, маловероятно, что долгосрочный доход был целью атаки. Когда уже все было сделано, то на биткоин-кошелек, указанный в записке Petya, поступило менее 4 биткоинов. Для сравнения, киберпреступники, стоявшие за атакой WannaCry, получили выкупов на общую сумму более 51 биткоина, в то время как печально известный CryptoLocker в 2013-2014 годах собрал более 3 млн. долларов, выплаченных жертвами в виде выкупа. Многие эксперты пришли к выводу, что на самом деле Petya — это разрушающая вредоносная программа, замаскированная под шифровальщика.

Факт того, что шифровальщик Petya столь успешно и быстро вывел из строя большое количество систем, говорит о том, что многие коммерческие и государственные организации по-прежнему несерьезно относятся к шифровальщикам-вымогателям, даже несмотря на наличие инструментов, специально созданных для того, чтобы устранить уязвимость и защититься от данного типа вредоносных программ. Начиная с Чернобыльской электростанции и заканчивая шоколадными фабриками, на которые были осуществлены атаки, совершенно очевидно, что многие предприятия и государственные структуры просто не прислушались к советам экспертов, которые после недавней атаки WannaCry активно призывали устанавливать патчи безопасности. Кроме того, Petya также дал отчетливо понять, что шифровальщик-вымогатель может нанести значительный косвенный ущерб случайным свидетелям.

 

НОВОСТИ ПО ТЕМЕ

СОЦИАЛЬНЫЕ СЕТИ

11,989ФанатыМне нравится
1,015ЧитателиЧитать
3,086ЧитателиЧитать
714ПодписчикиПодписаться
- Реклама -