Критовалюты давно стали приоритетной целью хакеров, поэтому почти каждую неделю мы слышим о новом фишинге и взломах криптобирж. Так, 24 апреля пользователи кошельков MyEtherWallet лишились $150 000 в результате фишинга, а также недавно обнаружились новые уязвимости, подробнее о которых — ниже.
Безлимитные токены
На этой неделе было обнаружено более дюжины ошибок в смарт-контрактах на эфириуме, которые позволяют злоумышленникам создавать столько токенов стандарта ERC20, сколько они захотят.
Об этих ошибках сообщили на PeckShield 22 апреля и 25 апреля, ещё пара публикаций появилась на Medium: в них акцентировалось внимание на таких биржах, как OKEx, Poloniex, Changelly, Quoine и HitBTC, которые приостановили начисление токенов ERC20. 25 апреля к ним присоединилась биржа Huobi.Pro. На момент публикации Poloniex восстановила начисление токенов этого стандарта.
Как показали данные Etherscan, 22 апреля злоумышленник перевёл колоссальный объём (57,9*10^57) токенов BeautyChain — именно этот случай показал существование проблемы. В посте PeckShield от 22 апреля сообщается:
Наше исследование показывает, что такая передача происходит в ходе атаки in-the-wild, которая использует ранее неизвестную уязвимость в контракте. Рабочее название этой конкретной уязвимости — batchOverflow. Мы отмечаем, что batchOverflow, по сути, представляет собой классическую проблему целочисленного переполнения.
BatchOverflow описываетcя как функция batchTransfer, которая в контракте означает максимальное количество токенов, которые могут быть переданы при транзакции. Количество переносимых токенов должно быть меньше общего количества сгенерированных токенов. Тем не менее параметром _value (одним из двух, определяющих общее количество токенов) можно манипулировать, что в итоге меняет другую переменную, в результате чего злоумышленник сможет создать столько токенов, сколько захочет.
Кроме того, злоумышленник может обойти ограничения в контракте, которые обычно гарантируют передачу разумного количества токенов. В итоге получатель получит чрезвычайно большую сумму, которая не отразится на счёте у атакующего.
Хотя в первых отчётах указывалось, что все токены ERC20 могут быть уязвимы, важно уточнить, что функция batchTransfer — это не часть стандарта.
В посте Coinmonks на Medium не указывались уязвимые проекты, но отмечалось, что BeautyChain стал первым из обнаруженных. Подтверждая, что ошибка серьёзна, 24 апреля OKEx заявила об откате торгов BeautyChain. Также биржа сообщила, что в связи с этой уязвимостью были приостановлены ввод и вывод средств в проекте SmartMesh из-за «аномальных трейдерских операций». Coinmonks отметил, что это, возможно, связано с ошибкой proxyOverflow, которая, как и batchOverflow, представляет собой классическую проблему целочисленного переполнения. Некоторыми переменными можно манипулировать, чтобы спонтанно генерировать большое количество токенов. Один из пользователей Twitter заметил, что злоумышленник создал 5 октодециллионов (!) токенов в SmartMesh.
Также существует опасность того, что кто-то может использовать эту уязвимость для манипуляций ценами в свою пользу путём торговли в паре с биткоином, эфиром или другой крупной криптовалютой.
Взлом холодного кошелька
Исследователи смогли взломать защиту с помощью серии airgap-атак при передаче личных ключей из цифровых кошельков, которые физически отделены от интернета и других сетей. Об этом сообщает Arstechnica.
Большинство атак, разработанных профессором Университета Бен-Гуриона Мордехаем Гури и его коллегами, представляют собой эксплойты криптовалютного кошелька и могут быть реализованы в случае, если устройство уже подверглось серьёзному риску заражения вредоносным ПО. Тем не менее это исследование примечательно тем, что даже когда кошельки не подключены к каким-либо другим устройствам, информация всё ещё может быть отфильтрована с использованием широкого спектра методов, в том числе электромагнитного излучения с USB-девайсов, радиосигналов с видеокарты компьютера, инфракрасного излучения в камерах и звуках жёстких дисков.
С помощью самых эффективных методов всего за несколько секунд (пример на видео) можно получить 256-битный биткоин-ключ из кошелька, запущенного на заражённом компьютере, даже если компьютер не подключен к какой-либо сети. Гури говорит:
Я думаю, проблема заключается в том, что airgap-атаки, которые считались довольно экзотическими, могут стать более распространёнными. Хотя скрытые airgap-каналы могут считаться относительно медленными для других видов информации, они удобны для таких небольших объёмов. Я хочу показать, что безопасность холодного кошелька небезупречна, учитывая существующие скрытые airgap-каналы.
Новый вредоносный майнер Monero
Новая форма вредоносного ПО использует слитые в прошлом году эксплойты для Windows Агенства национальной безопасности США. Об этом сообщает Zdnet.
Исследователь из компании Fortinet изучал вредоносный веб-майнер Monero, известный как PyRoMine, который написан на языке Python. Он появился в этом месяце и распространяется с использованием EternalRomance, слитого эксплойта АНБ, который пользуется одноимённой уязвимостью протокола SMB. Она во многом похожа на EternalBlue, задействованную в распространении вредоносного ПО WannaCry в мае 2017 года, а также в распространении Petya в июне 2017 года. Оба эксплойта ищут публичные SMB-порты, позволяющие им распространять вредоносное ПО в сети.
Исследователи обнаружили, что вредоносная программа была загружена с определённого веб-адреса в виде zip-файла в комплекте с программой Pyinstaller, которая упаковывает программы, написанные на Python, в автономные исполняемые файлы. Таким образом, нет необходимости устанавливать Python на скомпрометированную машину. Вредоносный код, лежащий в основе PyRoMine, был скопирован из общедоступной реализации EternalRomance.
Как только PyRoMine загружается на машину, запускается вредоносный VBScript для доступа к протоколу удалённого рабочего стола (RDP). В дополнение к этому вредоносное ПО также останавливает обновления Windows и позволяет передавать незашифрованные данные.
Отключение программного обеспечения, отвечающего за безопасность, позволяет злоумышленникам устанавливать дополнительные вредоносные программы (не только майнер) после манипуляций с RDP. Майнер зарегистрирован как служба под названием SmbAgentService в файле svchost.exe.