DeFi浪潮下的“狠角色”DEX,够安全吗?

成都链安Опубликовано 2022-03-08Обновлено 2022-03-18

Введение

Rug Pull是指项目方卷走投资者资金跑路的行为,目前已成为DeFi生态系统的最大骗局类型。

如今,随着人们对 DeFi 的兴趣日益浓厚,DEX(即去中心化交易所)风靡一时。它们解决了常见的 CEX (即中心化交易所)问题,那我们也会问,DEX够安全吗?
在上一篇说明了代币本身的安全问题后(纯干货分享(一) | DEFI安全问题之基础篇),现在来聊聊DEX在兑换代币时可能产生的安全问题。目前DEX主要面临的安全问题大致可分成两类:
(1)DEX项目本身存在的安全问题。
(2)作为第三方协议,与其他DEFI项目交互时产生的安全问题。
本文将对第一类安全问题进行介绍。

合约

Part.1
-Decentralized Exchange
重入漏洞
重入漏洞在上一篇我们也提到过,它属于需要防范的经典漏洞。与普通代币的重入相比,Uniswap的重入漏洞的主要表现形式为:攻击者在一笔兑换交易中利用Uniswap未及时更新价格前发起二次兑换,由于此时Uniswap未更新价格,使得二次兑换可兑出的代币数量比正常兑换的多。此外,在Uniswap的重入攻击中,攻击者利用单笔交易可能只能获得微小的收益,因此攻击者往往倾向于使用闪电贷或者循环套利扩大战果。
以imBTC攻击事件为例,该事件是由于Uniswap V1在调用ERC777系列代币时,未充分考虑合约回调的情况。
具体表现为:攻击者使用imBTC代币兑换ETH时(如图1),合约先通过self.getInputPrice函数计算正确的ETH数额并将ETH发送到目标地址,然后调用self.token.transferFrom函数时,会调用imBTC合约的_callTokensToSend函数(如图2),而_callTokensToSend函数会调用用户指定存储imBTC代币的合约。因此,如果攻击者部署存储合约,并改写其中TokensToSend函数,那么当兑换代币时,pair(两种代币组成的交易对)合约调用攻击者部署的存储合约,就可以回调pair进行二次兑换,而二次兑换时pair合约账本还未更新,使得计算的ETH数额比正常兑换要多,以此来获利。

合约

图1 Uniswap的tokenToEthInput函数

合约

图2 imBTC的transferFrom函数

合约

图3 imBTC的__callTokensToSend函数
详细攻击流程如下:

合约

图4 ETH-imBTC事件流程图
那么,为什么在第二次调用tokenToEthSwapInput函数兑换代币时,发送的ETH会比正常兑换要多呢?我们可以用公式来还原可兑换代币数量的代码逻辑:
首先,正常兑换下,getInputPrice函数计算可兑换的ETH数量为:

合约

且正常第二次可兑换的ETH数量为:

合约

但重入后第二次可兑换的ETH数量为:

合约

由此可知,在重入后第二次兑换中只有ETH的储备量减少,而imBTC储备量未增加。这样在分母不增加的情况下,导致了等量的imBTC可以兑换更多的ETH。
针对此类安全问题,成都链安建议:
当合约涉及到资产转移时,使用“检查-生效-交互”模式来处理逻辑,对关键的业务操作可以使用OpenZeppelin官方的ReentrancyGuard进行修饰。

合约

Part.2
-Decentralized Exchange
swap函数未对K值进行校验
Uniswap的核心是常量乘积模型K=x*y,其中的K值是该pair合约持有代币数量的乘积,且要求之后的每一笔交易完成后K值必须增加(考虑手续费)。因此如果不进行K值校验,将很容易成为攻击点。

合约

图5 Uniswap的价格波动
以Impossible Finance事件为例,该项目是Uniswap的仿盘,实现了两种兑换代币的函数:cheapSwap和swap。其中cheapSwap函数少了k值校验(如图6),但是项目方知道缺少K值校验的后果,专门为cheapSwap函数增加了onlyIFRouter做修饰,来限制cheapSwap函数只能被指定的Router合约调用。

合约

图6 合约未检查k值的cheapSwap函数
正常情况下,当用户使用Router合约兑换代币时,首先会使用getAmountsOut函数来计算正确的代币数量amounts;然后调用safeTransferFrom将用户的兑换消耗代币转入目标pair合约;最后,通过内部调用_swap函数来执行cheapSwap函数将兑换代币转至目标地址。

合约

图7 Router01合约的swapExactTokensForTokens函数
但是,由于cheapSwap函数缺少了K值检验,如果攻击者部署恶意代币合约,在Router合约调用safeTransferFrom函数时,回调正常的pair合约进行同种兑换,由于,回调后的兑换使用的amounts仍是未更新之前的数据,已不符合改变账本状态之后的校验,那么攻击会导致以错误的价格兑换出目标代币,以此获利。

合约

图8 合约进行k值校验的Swap函数
该事件的具体攻击步骤如下:
1. 在准备阶段攻击者部署了AAA代币合约,并使用闪电贷借来1000WBNB,兑换65140个项目方的IF代币。
2. 使用其中一半的IF代币(32570个)与攻击者自己部署的AAA代币构建IF-AAA交易池。
3. 执行AAA-IF-BUSD路径的代币兑换,且当Router合约调用AAA代币合约的transferFrom函数时会执行攻击者的恶意代码,重入至IF-BUSD的pair合约,并将另一半IF代币正常兑换出221897个BUSD。
4. 回归到AAA-IF-BUSD路径的兑换,将之前计算的amounts值传入_Swap函数中执行这笔兑换,用一半的IF又兑换了2521897个BUSBD。
5. 归还闪电贷,完成攻击。

合约

图9 事件流程图
针对此类安全问题,成都链安建议:
在关键的兑换函数中必须做k值校验,不要为了节省gas和代码量就将K值校验和安全验证依赖外部验证,做到自身功能完善。
Part.3
-Decentralized Exchange
通缩代币未设置pair为分红例外
通缩代币在交易时会产生额外的分红与手续费。如果交易合约中包含了此类代币,且没有进行特殊处理,那么,就可能导致交易对合约记录的代币储量与实际的代币可用余额不一致。
以XSquid事件为例,XSquid是一种通缩代币,未将其与WHT代币组成的pair合约地址添加奖励例外列表,造成了pair合约除了正常代币兑换和流动性存储外,还存有多余的XSquid分红奖励代币。因此,攻击者就可以调用Swap函数将pair合约多余的XSquid代币转换为WHT提取(如图11),或者通过skim函数将多余的XSquid代币直接提取(如图12)。

合约

图10 XSquid交易对合约未添加奖励例外

合约

图11 Swap函数可以兑换多余的WHT代币

合约

图12 skim函数可以提取大于reserve的部分
针对此类安全问题,成都链安建议:
DEX在添加通缩分红型代币时多注意手续费以及分红的处理情况。在创建通缩分红型代币交易对时,可以添加奖励例外来避免此类代币的分红问题。
此外,以下两类不属于DEX本身的安全问题,但是被项目方借助了DEX的特性实施诈骗,所以将其写在文章末尾。
PART.1
诈骗交易池
这类问题主要是指项目方在自己发行的代币里留有后门,创建与主流代币的交易池,诱使投资者使用手里存在价值的代币买入项目方代币,并且不断拉盘对投资者进行投资欺骗。
以下面的TRTC项目方为例,项目方创建了ETH-TRTC的交易池。但是在TRTC的代币合约对transferFrom函数做了相关限制,要求代币的转出方为owner(管理员)或者为Uniswap。因此对于投资者,仅可以通过Uniswap买入TRTC代币,而不能卖出TRTC代币。最后由项目方把投资者投入的ETH提走跑路,给投资者带来了巨大的损失。

合约

图13 TRTC合约的transfer函数

合约

图14 TRTC合约的ensure修饰

合约

图15 TRTC合约的transferFrom函数
PART.2
项目方Rug Pull
Rug Pull是指项目方卷走投资者资金跑路的行为,目前已成为DeFi生态系统的最大骗局类型,项目方刻意制造代币价格暴涨的假象、许诺为提供流动性的投资者提供高回报等方式来大量聚集资金,一旦时机成熟就移除池子里的流动性或将代币卷走。这样的例子在DeFi屡见不鲜,AnubisDAO、Meerkat Finance、TurtleDEX、Squid token鱿鱼币等都是在卷款跑路之后,注销网站和社交媒体销声匿迹,导致投资者承担了巨大的损失。
写在最后
成都链安建议项目方使用锁仓和多重签名来控制代币流动性,避免出现砸盘跑路的情况。投资者不要被天上掉馅饼的事情冲昏头脑,防范虚假宣传。

Трендовые криптовалюты

Похожее

Свадебное дело Чхве Тхэвона закрыто: раскрывая скрытые линии наследования за триллионной империей SK Hynix

Дело о разводе главы SK Group Чхве Тхэвона завершилось, раскрывая сложные сценарии наследования в конгломерате, стоящем за SK Hynix, чья капитализация превысила 1000 трлн вон. В отличие от традиционных сценариев наследования в чеблях, где ключевую роль играют первенец, доли, брачные связи и отцовское признание, трое детей Чхве Тхэвона от бывшей жены Но Соён — дочь Чхве Юнджон (1989 г.р.), дочь Чхве Минджон (1991 г.р.) и сын Чхве Ингын (1995 г.р.) — следуют разными путями. Чхве Юнджон, названная СМИ «наиболее очевидным кандидатом», занимает руководящую должность в SK Inc. и работает над стратегией развития в области биотехнологий и точной медицины, сочетая научную подготовку с бизнес-опытом. Её брак с основателем ИИ-стартапа символизирует новый тип элитных союзов. Чхве Минджон, добровольно служившая в ВМС Республики Корея и работавшая в сфере международной политики в SK Hynix в США, сейчас является основателем ИИ-стартапа в сфере здравоохранения. Её брак с бывшим офицером морской пехоты США подчёркивает связь с геополитическим контекстом, в котором теперь существует полупроводниковый гигант. Чхве Ингын, единственный сын и, казалось бы, естественный наследник по старой логике, сохраняет молчание. Имея образование в области физики, он покинул SK E&S, чтобы присоединиться к McKinsey, что рассматривается как стандартная внешняя стажировка, но без явных сигналов о наследовании. Громкое судебное разбирательство по разводу родителей, связанное с разделом активов на триллионы вон, стало фоном для их путей. По мере того как SK Hynix становится глобальным геополитическим активом в эпоху ИИ, наследование в SK перестаёт быть семейным делом, превращаясь в публичный экзамен на легитимность в новой, сложной реальности. Наследникам предстоит найти свои собственные ответы на вызовы эпохи.

marsbit2 дня назад 09:08

Свадебное дело Чхве Тхэвона закрыто: раскрывая скрытые линии наследования за триллионной империей SK Hynix

marsbit2 дня назад 09:08

Банки выступают против компромисса по доходности стейблкоинов – Найдёт ли закон CLARITY 60 голосов?

Американский Банковский институт политики выступил против нового проекта закона CLARITY Act, указав на пробелы в регулировании доходности стейблкоинов и мерах по борьбе с незаконными финансами. Банковский сектор добивается полного запрета любых форм вознаграждений по стейблкоинам и лоббирует сенаторов, что снижает поддержку со стороны республиканцев. Из-за смерти сенатора Грэма и болезни Макконнелла у республиканцев стало 51 голос. Если сенаторы Кёртис и Корнин откажут в поддержке, эта цифра упадет до 49, а для принятия закона потребуется 60 голосов. Необходимость заручиться поддержкой 11 демократов осложняется тем, что некоторые про-крипто демократы также выступают против законопроекта. Сроки ограничены: до августовских каникул Сената осталось две недели. Лидер большинства Джон Тюн сомневается в успехе до перерыва. Советник Белого дома по криптовалютам Патрик Уитт призывает провести голосование, утверждая, что новые этические нормы устраняют возражения демократов. Вероятность принятия закона в 2026 году, по рыночным оценкам, упала до 32%.

ambcrypto2 дня назад 09:03

Банки выступают против компромисса по доходности стейблкоинов – Найдёт ли закон CLARITY 60 голосов?

ambcrypto2 дня назад 09:03

За 2 месяца оценка выросла с 8,8 до 68 млрд юаней! Крупнейший AI-хаб OpenRouter может быть куплен

Stripe ведет переговоры о приобретении стартапа OpenRouter, агрегатора API крупных языковых моделей, за сумму около 100 миллиардов долларов. Это представляет собой семикратный рост по сравнению с оценкой OpenRouter в 13 миллиардов долларов двумя месяцами ранее. OpenRouter выступает в качестве «маршрутизатора» или агрегатора для более чем 400 AI-моделей (таких как GPT, Claude и множество открытых), позволяя разработчикам через единый API выбирать наиболее подходящую модель для каждой задачи на основе стоимости, скорости и сложности. Это помогает приложениям снижать расходы, автоматически направляя простые запросы к более дешевым моделям. Компания, основанная соучредителем OpenSea Алексом Аталлой, демонстрирует быстрый рост: ее ежегодный доход достиг 50 миллионов долларов, увеличившись в пять раз за полгода. Для Stripe, крупнейшего процессора онлайн-платежей, это вторая крупная сделка в сфере AI-инфраструктуры после приобретения платформы биллинга Metronome в 2025 году. Стратегия Stripe заключается в создании комплексного предложения для AI-экономики: OpenRouter будет «выбирать модель», Metronome — «подсчитывать потребление», а существующие платежные сервисы Stripe — «обрабатывать оплату». Таким образом, Stripe стремится контролировать ключевой уровень инфраструктуры, который определяет распределение трафика между моделями и формирует счета для конечных предприятий. Сделка подчеркивает растущую важность промежуточного слоя, который управляет стоимостью и выбором моделей для миллионов пользователей AI-приложений.

链捕手2 дня назад 09:00

За 2 месяца оценка выросла с 8,8 до 68 млрд юаней! Крупнейший AI-хаб OpenRouter может быть куплен

链捕手2 дня назад 09:00

От OpenSea до OpenRouter: Алекс Аталлах повторяет сценарий «ухода на пике»?

Автор: Нэнси, PANews Алекс Аталла, соучредитель NFT-платформы OpenSea, покинул компанию на пике пузыря NFT четыре года назад. Сейчас он снова оказывается в центре внимания на волне бума ИИ, готовясь продать созданную им агрегирующую платформу AI-моделей OpenRouter по высокой цене. По данным The Wall Street Journal от 23 июля, платежный гигант Stripe ведет переговоры о приобретении OpenRouter, при этом потенциальная оценка сделки может приблизиться к 100 миллиардам долларов. Если сделка состоится, это станет еще одним успехом Аталлы в создании компании на уровне ста миллиардов долларов после OpenSea. Ранее в этом месяце появились сообщения о том, что OpenRouter получил предложения о покупке от нескольких крупных технологических компаний. Потенциальная сделка со Stripe рассматривается как важный шаг для инфраструктурного гиганта в сфере платежей по расширению своего присутствия в области инфраструктуры ИИ. По данным информированных источников, если сделка будет заключена, оценка OpenRouter может приблизиться к 100 миллиардам долларов, что значительно превышает его предыдущие оценки при финансировании. Всего за три года компания добилась быстрого роста благодаря буму больших моделей. Это не первая компания Аталлы стоимостью в сто миллиардов. Ранее он был соучредителем OpenSea, ведущей мировой платформы для торговли NFT, пиковая оценка которой превысила 130 миллиардов долларов. Его уход с OpenSea до серьезного спада на рынке NFT рассматривался как знаковый сигнал. OpenRouter стала крупнейшим хабом в эпоху ИИ, подключившись к более чем 400 AI-моделям, имея около 10 миллионов пользователей и обрабатывая более 200 триллионов токенов в месяц. Однако, несмотря на быстрый рост, это бизнес с большими объемами, но ограниченной рентабельностью. Его основная бизнес-модель заключается в взимании комиссии за платформу (около 5-5,5%) при вызове разработчиками AI-моделей. Конкуренция на рынке агрегации AI-моделей также обостряется. Высокая оценка OpenRouter, возможно, больше отражает его будущий потенциал, чем текущую прибыльность. Для потенциальных покупателей наиболее ценным активом могут быть не текущие доходы, а накопленные реальные данные об использовании ИИ, которые трудно быстро воспроизвести. От NFT к ИИ Алекс Аталла дважды поймал волну технологического бума. Если продажа OpenRouter состоится с оценкой в 100 миллиардов долларов, это может означать либо переоценку стоимости инфраструктуры ИИ, либо сигнал о новом пике цикла. Ответ на этот вопрос даст только время.

链捕手2 дня назад 08:44

От OpenSea до OpenRouter: Алекс Аталлах повторяет сценарий «ухода на пике»?

链捕手2 дня назад 08:44

Приближается ли Биткойн к очередной зоне накопления? ЭТОТ сигнал говорит «да»

Аналитики отмечают, что Bitcoin (BTC) переживает один из самых длительных медвежьих периодов, охватывающий три квартала и два календарных года, при этом его динамика отклонилась от рынка акций. Однако сохраняется корреляция с акциями Apple (AAPL). График соотношения BTC/AAPL с 2017 года движется в восходящем канале, где его нижняя граница традиционно сигнализирует о зоне недооценки (накопления) для Bitcoin, а верхняя — о перекупленности. В настоящее время соотношение приближается к линии поддержки, что, по историческим данным, может предшествовать новой фазе роста BTC. При этом в 2025 году нарушилась многолетняя корреляция годовой доходности Bitcoin с индексами S&P 500 и Nasdaq 100, что объясняется его более резкой реакцией на макроэкономические потрясения. В качестве подтверждающего сигнала для разворота рассматриваются поступления стейблкоинов на криптобиржи, которые указывают на готовность капитала к реинвестированию. За последние семь дней чистый приток составил $1,42 млрд, что значительно меньше оттока в $10 млрд за предыдущие 30 дней и пока недостаточно для уверенного старта ралли. Таким образом, соотношение BTC/AAPL указывает на возможное приближение к зоне накопления, но для подтверждения тренда необходимы более значительные притоки стейблкоинов.

ambcrypto2 дня назад 08:24

Приближается ли Биткойн к очередной зоне накопления? ЭТОТ сигнал говорит «да»

ambcrypto2 дня назад 08:24

Торговля

Спот

Популярные статьи

Как купить UNI

Добро пожаловать на HTX.com! Мы сделали приобретение Uniswap (UNI) простым и удобным. Следуйте нашему пошаговому руководству и отправляйтесь в свое крипто-путешествие.Шаг 1: Создайте аккаунт на HTXИспользуйте свой адрес электронной почты или номер телефона, чтобы зарегистрироваться и бесплатно создать аккаунт на HTX. Пройдите удобную регистрацию и откройте для себя весь функционал.Создать аккаунтШаг 2: Перейдите в Купить криптовалюту и выберите свой способ оплатыКредитная/Дебетовая Карта: Используйте свою карту Visa или Mastercard для мгновенной покупки Uniswap (UNI).Баланс: Используйте средства с баланса вашего аккаунта HTX для простой торговли.Третьи Лица: Мы добавили популярные способы оплаты, такие как Google Pay и Apple Pay, для повышения удобства.P2P: Торгуйте напрямую с другими пользователями на HTX.Внебиржевая Торговля (OTC): Мы предлагаем индивидуальные услуги и конкурентоспособные обменные курсы для трейдеров.Шаг 3: Хранение Uniswap (UNI)После приобретения вами Uniswap (UNI) храните их в своем аккаунте на HTX. В качестве альтернативы вы можете отправить их куда-либо с помощью перевода в блокчейне или использовать для торговли с другими криптовалютами.Шаг 4: Торговля Uniswap (UNI)С легкостью торгуйте Uniswap (UNI) на спотовом рынке HTX. Просто зайдите в свой аккаунт, выберите торговую пару, совершайте сделки и следите за ними в режиме реального времени. Мы предлагаем удобный интерфейс как для начинающих, так и для опытных трейдеров.

1.1k просмотров всегоОпубликовано 2024.03.29Обновлено 2026.06.02

Как купить UNI

Обсуждения

Добро пожаловать в Сообщество HTX. Здесь вы сможете быть в курсе последних новостей о развитии платформы и получить доступ к профессиональной аналитической информации о рынке. Мнения пользователей о цене на UNI (UNI) представлены ниже.

活动图片