Научная статья на тему 'RESEARCH OF THE WORK OF RANSOMWARE MALWARE BASED ON INTEL SGX'

RESEARCH OF THE WORK OF RANSOMWARE MALWARE BASED ON INTEL SGX Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
103
21
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
Intel / SGX / Enclave / malware / ransomware / vulnerability / encryption

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Kuzmin A., Kuligina N.

This article analyzes the operation of ransomware malware based on Intel SGX technology. The main task is to analyze the main aspects of the operation of software of this type and identify its vulnerabilities in order to protect users from future attacks using it.

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Текст научной работы на тему «RESEARCH OF THE WORK OF RANSOMWARE MALWARE BASED ON INTEL SGX»

TECHNICAL SCIENCES

RESEARCH OF THE WORK OF RANSOMWARE MALWARE BASED ON INTEL SGX

Kuzmin A.,

first-year master's student at the Dzerzhinsky Polytechnic Institute

Kuligina N.

Senior Lecturer DPI NSTU

ИССЛЕДОВАНИЕ РАБОТЫ ВРЕДОНОСНЫХ ПРОГРАММ-ШИФРАТОРОВ, ОСНОВАННЫХ

НА INTEL SGX

Кузьмин А.Н.

студент первого курса магистратуры Дзержинского политехнического института

Кулигина Н.О. старший преподаватель ДПИ НГТУ

Abstract

This article analyzes the operation of ransomware malware based on Intel SGX technology. The main task is to analyze the main aspects of the operation of software of this type and identify its vulnerabilities in order to protect users from future attacks using it.

Аннотация

В данной статье анализируется работа вредоносного программного обеспечения типа «Ransomware», основанного на технологии Intel SGX. Основная задача - разобрать основные аспекты работы ПО подобного типа и выявить его уязвимости с целью будущей защиты пользователей от атак с его использованием.

Keywords: Intel, SGX, Enclave, malware, ransomware, vulnerability, encryption.

Ключевые слова: Intel, SGX, анклав, вредоносное ПО, ransomware, уязвимость, шифрование.

Ransomware - тип вредоносной программы, задача которой заключается в блокировке компьютера жертвы с целью получения вознаграждения создателем такой программы. Под блокировкой компьютера может пониматься как невозможность использования вычислительных ресурсов зараженной системы, так и полное или частичное шифрование пользовательских файлов. Второй вариант работы такого ПО наиболее популярен за счет большей вероятности получения выкупа в данном случае. Предполагается, что после шифрования файлов на зараженной системе, жертва получает некоторые инструкции по разблокировке системы или дешифрованию файлов. Самым защищенным способом получения выкупа на данный момент является его получение на виртуальный кошелек в виде криптовалюты, потоки средств которого практически невозможно отследить [1, с. 122].

Большинство вредоносных программ данного типа (например, DMA Locker, Locky, Cerber, WannaCry, BadRabbit) используют ассиметричные алгоритмы шифрования для нанесения ущерба зараженной системе. Основной проблемой такого метода шифрования является то, что оба ключа (публичный и приватный) хранятся в незащищенном виде на системе жертвы до момента их удаления. Даже в случае, если ключи хранятся в оперативной памяти, то есть возможность получить их оттуда посредством специального ПО, которое делает копию хранящихся в ней данных и при помощи определенных алгоритмов пытается отыскать ключи шифрования. Другой вариант, когда специальное

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

В 2015 году компания Intel вместе с шестым поколением процессоров на архитектуре Skylake представляет набор инструкций для центрального процессора, который называется Intel Software Guard Extensions (SGX). Данный набор инструкций был призван решить проблему безопасных удаленных вычислений на оборудовании, принадлежащем ненадежной стороне. Сам по себе он представляет набор инструкций, позволяющий создать защищенный канал для передачи информации между центральным процессором и оперативной памятью компьютера. На уровне аппаратного обеспечения -это аппаратный модуль в центральном процессоре, который называется Memory Encryption Engine (MEE) и позволяет автоматически шифровать данные при передаче их от процессора к зарезервированной защищенной области оперативной памяти. Такая аппаратная реализация позволила ограничить периметр безопасности одним центральным процессором, отказавшись от допущения надежности безопасности оперативной памяти [2, с. 156].

Предполагается, что любой компьютер сам по себе является небезопасной средой исполнения для приложений, основной задачей которых является

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

Алгоритм работы инструкций Intel SGX прошел проверку временем и доказал свою надежность. Все те немногочисленные атаки, проведенные в большинстве своем университетами, изучающими кибербезопасность в целях исследований и направленные на защищенные области памяти (анклавы), были выявлены, а изменения в коде для восстановления безопасности данного решения были успешно применены. Как уже было сказано, основным периметром доступным для атаки, являлся центральный процессор, обрабатывающий данные анклава или перемещающий их в или из него. Данная теоретически возможная уязвимость была закрыта следующим образом. Для избежания утечки конфиденциальных данных со стороны ЦП, во время исполнения кода анклава процессор не обрабатывает прерывания или выходы из виртуальных машин, а после обработки части данных сохраняет свой контекст в анклаве и передает управление обратно системе, предварительно заменив значения своих регистров на синтетические. На данный момент нет известных уязвимостей в работе с данным набором инструкций. Таким образом, Intel создал наиболее безопасный комплекс программного и аппаратного обеспечения для хранения конфиденциальных данных.

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

Существует несколько вариантов шифрования: симметричное, асимметричное, гибридное и с использованием доверенной среды исполнения. С первыми двумя типами все довольно просто: самый защищенный вариант алгоритма для симметричного шифрования - AES c размером ключа, равным 256 бит, а для асимметричного самый оптимальный вариант - RSA-2048. Гибридное шифрование подразумевает использование одновременно и симметричного, и асимметричного типов шифрования. То

есть для шифрования файлов используется симметричное шифрование, после чего ключ симметричного шифрования шифруется на системе пользователя при помощи алгоритма асимметричного шифрования. Физически ключ остается на системе жертвы, но даже если его найти, то дешифровать его не получится. Шифрование с использованием доверенный среды исполнения подразумевает как раз использование набора инструкций Intel SGX совместно с одним из трех предыдущих видов шифрования [3, с. 216].

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

Еще один вариант хранения ключей безопасности - хранение их в защищенной доверенной области памяти на компьютере жертвы, то есть в анклаве. Автор работы предлагает использовать Intel SGX совместно с гибридным вариантом шифрования файлов жертвы. То есть, используя алгоритмы симметричного шифрования, заблокировать доступ к файлам жертвы, внутри анклава сгенерировать пару ключей асимметричного шифрования, публичным ключом зашифровать ключ симметричного шифрования, а приватный ключ оставить на компьютере жертвы в области анклава. Таким образом, если не отследить процесс шифрования файлов вовремя, то нет никакой возможности разблокировать доступ к файлам со стороны жертвы. Безопасность такого решения усиливается специальной операцией "Sealing" входящей в набор инструкций Intel SGX. Данная операция позволяет при помощи ключей, заложенных на заводе производителе в ЦП и неизвестных никому, даже самому Intel, зашифровать текущее состояние анклава в оперативной памяти. Любая попытка вмешательства в область анклава приведет к изменению его состояния, а значит и ключа, подходящего для его разблокировки, что более не позволит извлечь из него данные с использованием ключа, хранящегося в центральном процессоре. Полный алгоритм работы подобной программы будет рассмотрен чуть позже, пока лишь подробно рассматриваются механизмы необходимые для работы такого ПО [4, с. 47].

К механизму управления ключами шифрования во вредоносном программном обеспечении типа "Ransomware" предъявляются несколько требований:

1) Надежная и безопасная генерация ключей алгоритмов асимметричного шифрования

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

2) Уникальный ключ для каждой жертвы

Вредоносное ПО типа "Ransomware" должно

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

3) Надежная и безопасная генерация ключей для симметричного шифрования

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

4) Запрет на удаленные подключения после непосредственного начала работы вредоносного ПО

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

5) Надежный метод получения приватного ключа и его применения

Даже в мире вредоносного ПО репутация играет немаловажную роль. Зная, что при оплате выкупа, такое ПО точно дешифрует зашифрованные данные, жертвы более охотно будут передавать свои деньги злоумышленникам, беспокоясь за целостность своих файлов. Схема работы "Ransomware" должна избегать большой вовлеченности злоумышленника в процесс ее работы (например, требование постоянного его онлайн присутствия или управления большим количеством ключей для дешифрования систем вручную) [5, с. 97].

На рисунке ниже представлена таблица выполнения требований к механизму управления ключами шифрования различными видами "Ransomware".

Метод шифрования Семейство ПО Дата релиза Требования по работе с ключами шифрования

Т1 Т2 тз Т4 Т5

Apocalypse 2016 X X X У X

Симметричный Jigsaw 2016 X X X У X

Razy 2016 X X X У X

CryptoLocker 2014 У У X X X

CBT- Locker 2014 X X X У X

Асимметричный Crypto Defense 2015 X У X X X

PetrWrap 2016 У X X У X

Unlock92 2016 X X X У X

CryptoWall 2014 У У X X X

Torrent Locker 2014 X X X У X

TeslaCrypt 2015 X X X У X

Cerber 2016 X У X У X

Гибридный Locky 2016 У У X X X

Petya 2016 У У X X X

RYU К 2017 У X X X X

WannaCry 2018 X X X У X

Eking 2020 У X X У X

С использованием

защищенной среды RansomClave 2021 У У У* У У

исполнения

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

Предполагается, что проектируемое ПО может быть установлено на два вида систем жертв. Первый вид - с установленным антивирусом, но, к счастью, без какого-либо программного обеспечения для обнаружения вредоносного ПО типа "Ransomware". Второй тип - системы с улучшенной безопасностью. Кроме установленного антивируса с обновленными базами вирусов и уязвимос-тей, на таких системах также установлены отдельные модули для антивируса, способные перехватывать ключи шифрования локально на системе жертвы при обнаружении угрозы, подобной описываемому вредоносному ПО. В любом случае, подразумевается, что жертва не сможет никакими способами взломать или получить ключи безопасности необходимые для операции "запечатывания" анклава и что Intel не будет выдавать ключи безопасности, зашитые в центральной процессор с поддержкой Intel SGX, ни по каким запросам.

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

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

Далее идет этап генерации симметричного ключа шифрования и шифрования файлов жертвы. Существует два варианта шифрования файлов: внутри анклава и вне его. В данной работе будет рассматриваться второй вариант. То есть, непосредственно защищенная область памяти анклава нужна в этом случае только для хранения приватного ключа алгоритма асимметричного шифрования. Кроме того, такой вариант значительно сокращает время шифрования на больших объемах данных. Основываясь на исследованиях, в среднем операции шифрования выполняются почти на 13% быстрее вне анклава, а операции дешифрования на 34% быстрее. Дополнительно к данному улучшению, автор работы советует использовать библиотеку Intel Performance Primitives (IPP), а конкретно ее криптографическую часть. В данной библиотеке реализованы все популярные алгоритмы симметричного и асимметричного шифрования (и их различные реализации), оптимизированные для работы с процессорами Intel и специфическими для них наборами инструкций и архитектурными особенностями. Библиотека написана преимущественно на языке программирования C с некоторыми дополне-

ниями на языке ассемблера, что дополнительно гарантирует большую скорость выполнения кода с применением функций IPP [6, с. 135].

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

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

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

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

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

Этап дешифровки файлов жертвы посредством предоставления ей исходных ключей шифрования - один из немаловажных этапов работы ПО типа "Ransomware". Давайте рассмотрим его подробнее:

1) Жертва, следуя инструкциям в окне уведомления от злоумышленника (которые также содержат адрес биткоин кошелька и уникальный для каждой жертвы одноразовый идентификационный номер ПО), вносит указанную сумму по специально сгенерированному адресу биткоин кошелька. Также жертва включает дополнительные данные (при помощи команды OP_RETURN), позволяющие ее идентифицировать, в дополнительную информацию о транзакции (метаданные). Среди этих дополнительных данных будут публичный ключ злоумышленника, зашитый заранее в программное обеспечение, публичный ключ, который был сгенерирован на системе жертвы и использовался для шифрования ключей симметричного шифрования, и тот самый уникальный идентификационный номер, также зашитый в саму программу. OP_RETURN - это инструкция на скриптовом языке Bitcoin, которая позволяет пользователю прикреплять метаданные к транзакции и сохранять их в блокчейне. Данная команда позволяет злоумышленнику и жертве обмениваться необходимыми сообщениями с целью "распечатывания" анклава и извлечения приватного ключа асимметричного шифрования.

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

3) Когда транзакция, содержащая ключ злоумышленника, найдена и оплата разблокировки подтверждена, то злоумышленник применяет крип-тографиечскую библиотеку для того, чтобы высчитать хэш сообщения, содержащегося в метаданных этой транзакции, используя алгоритм SHA-256. После этого, данный хэш шифруется с использованием приватного ключа асимметричного шифрования злоумышленника, используя стандартный алгоритм получения электронной подписи RSA. Новая транзакция загружается в блокчейн и содержит в метаданных подписанный злоумышленником хэш и публичный ключ жертвы.

4) Жертва периодически ищет новые транзакции, содержащие ее публичный ключ (посредством сайтов позволяющих смотреть транзакции в блок-чейнах, например blockchain.com), следуя инструкции, в которой будет указана данная последовательность действий. Когда жертва находит нужную транзакцию, то она загружает подписанный хэш и вставляет его в наше вредоносное ПО вместе с данными, отправленными ранее (публичный ключ от злоумышленника, публичный ключ жертвы и уникальный номер).

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

6) Вредоносное ПО получает приватный ключ асимметричного шифрования и может начать дешифровку файлов [7, с. 316].

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

Если рассматривать такое решение с точки зрения возможности перехвата ключей, то все-таки оно уязвимо. Если успеть вовремя перехватить атаку на систему и применить необходимое ПО, то можно остановить работу вредоносного ПО и частично расшифровать уже зашифрованные файлы. Но это уже больше вопрос маскировки работы вредоносного ПО в среде операционной системы жертвы. В случае же, если все шифрование и генерацию всех ключей производить внутри анклава, то такое решение практически неуязвимо, за счет невозможности доступа в анклав непривилегированным лицам. С другой стороны, как уже говорилось ранее, такое решение требует гораздо больших ресурсов для выполнения операции шифрования каждого файла, что может повлечь за собой рассекречивание работы вредоносного ПО [7, с. 214].

Выводы

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

системе, мониторинг состояния файлов и сетевого трафика, отключение функции Intel SGX в BIOS в случае, если она не используется самим пользователем и т.д.).

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

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

СПИСОК ЛИТЕРАТУРЫ:

1. Victor Costan, Ilia Lebedev and Srinivas Devadas (2017), "Secure Processors Part II: Intel SGX Security Analysis and MIT Sanctum Architecture", Foundations and Trends® in Electronic Design Automation.

2. Victor Costan and Srinivas Devadas. 2016. Intel SGX Explained. Cryptology ePrint Archive

3. Xiaoqi Li, Peng Jiang, Ting Chen, et al. 2017. A Survey on the Security of Blockchain Systems. Future Generation Computer Systems (2017).

4. Allan Liska and Timothy Gallo. 2016. Ran-somware: Defending against digital extortion. O'Reilly Media, Inc

5. Daniel Morato, Eduardo Berrueta, Eduardo Magaña, et al. 2018. Ransomware early detection by the analysis of file sharing traffic. J. Netw. Comput. App. (2018).

6. Alexander Nilsson, Pegah Nikbakht Bideh, and Joakim Brorsson. 2020. A survey of published attacks on Intel SGX. ArXiv:2006.13598 (2020).

7. H. Orman. 2016. Evil Offspring - Ransom-ware and Crypto Technology. IEEE Internet Computing (2016).

i Надоели баннеры? Вы всегда можете отключить рекламу.