Back to Blog

Loopring (LRC) Protokol Olayı

Code AuditingPhalcon SecurityMetaSleuth
December 3, 2020
4 min read
Key Insights

Hash(ti)(mod2248)=[b0,b1,,b247]T,where bi{0,1}\text{Hash}(t_i) \pmod{2^{248}} = [b_0, b_1, \dots, b_{247}]^T, where\ b_i \in \{0, 1\}

Kasım 2020'de, Loopring'in LRC Protokol Ücreti Kasasındaki kritik bir güvenlik açığı, saldırganların erişim kontrolü zayıflıklarını istismar etmesine ve flaş kredi saldırıları yoluyla token fiyatlarını manipüle etmesine olanak tanıdı. Bu olay, maliyetli istismarları önlemek için güçlü erişim kontrolünün ve sürekli DeFi güvenlik izlemenin önemini vurgulamaktadır.

Loopring (LRC) Protokol Olayına Giriş

2020'nin sonlarında, Pickle Finance ve 88mph dahil olmak üzere birçok Ethereum tabanlı DeFi platformu güvenlik olayları yaşadı. Bu tür güvenlik açıklarını tespit etmek için BlockSec, olağandışı büyük işlem oranı farklılıklarını ve aynı harici sahipli hesap (EOA) tarafından tutarlı Ether kazanımlarını içeren şüpheli işlemleri tespit eden ThunderForecast sistemini geliştirdi.

EthScope sistemimizi kullanarak bu işlemleri analiz ettik ve Loopring'in kasa protokolündeki, özellikle LRC Protokol Ücreti Kasasındaki (LRCPFV) bir güvenlik açığını hedef alan bir istismar keşfettik. Bu blog yazısı, saldırıyı, etkisini ve DeFi güvenlik topluluğu için çıkarılan dersleri ayrıntılı olarak ele almaktadır.


LRC Protokol Ücreti Kasasına Genel Bakış

Loopring, Ethereum üzerinde açık kaynaklı bir merkezi olmayan borsa (DEX) protokolüdür. Yerel token'ı LRC (ERC-20), ekosistem içinde kullanılmaktadır. LRC Protokol Ücreti Kasası (LRCPFV) olarak bilinen Loopring'in kasa protokolü, protokol ücretlerini depolar ve ücretlerin LRC token'larına dönüştürülmesine olanak tanır.

LRCPFV'deki güvenlik açığı bulunan fonksiyon, herkesin çağırabilmesine izin vererek token'ları uygun erişim kontrolü olmaksızın LRC ile takas etmeyi mümkün kılan sellTokenForLRC fonksiyonudur.

function sellTokenForLRC(
    address token,
    uint amount
)
    external
    nonReentrant
{
    require(amount > 0, "ZERO_AMOUNT");
    require(token != lrcAddress, "PROHIBITED");

    address recipient = tokenSellerAddress == address(0) ? owner : tokenSellerAddress;

    if (token == address(0)) {
        recipient.sendETHAndVerify(amount, gasleft());
    } else {
        token.safeTransferAndVerify(recipient, amount);
    }

    require(
        tokenSellerAddress == address(0) ||
        ITokenSeller(tokenSellerAddress).sellToken(token, lrcAddress),
        "SELL_FAILURE"
    );

    emit TokenSold(token, amount);
}

Bu fonksiyon erişim kontrolünden yoksun olduğundan, saldırganlar token fiyatlarını manipüle etmek ve arbitraj fırsatlarından kâr elde etmek için onu tekrar tekrar çağırabildi.


Saldırının Ayrıntıları

Temsili bir saldırı işlemini analiz ettik: 0x00b2c.... Saldırı altı temel adımı kapsıyordu:

  1. Flaş Kredi: Bir flaş kredi sağlayıcısından (0xEB7e...) 3.773,88 ETH ödünç alındı.
  2. İlk Takas: Uniswap V1-LRC'de 1 ETH = 1,32878 LRC kuru üzerinden 3.773,88 ETH, 5.014,68 LRC'ye dönüştürüldü.
  3. Ücret Kasası Takası: LRCPFV'de depolanan 0,231 ETH ücreti, güvenlik açığı bulunan sellTokenForLRC fonksiyonu çağrılarak 0,000219 LRC ile takas edildi. Bu yetkisiz çağrı, Uniswap'taki LRC fiyatını manipüle ederek ETH karşısındaki değerini çarpıcı biçimde artırdı (1 ETH = 0,00094 LRC).
  4. Kârlı Takas: 5.014,68 LRC, Uniswap V1-LRC'de 3.774,09 ETH'ye geri dönüştürüldü; manipüle edilmiş fiyat sayesinde ekstra 0,215 ETH kazanıldı.
  5. Kredi Geri Ödemesi: 3.773,88 ETH'lik flaş kredi iade edildi.
  6. Kâr Transferi: 0,215 ETH kâr, saldırganın EOA'sına gönderildi.

Bu istismar, kasanın erişim kontrolü eksikliğiyle birleştirilen bir flaş kredi saldırısını ve fiyat manipülasyonunu kullandı.


Saldırının Etkisi ve Boyutu

Analiz edilen işlem 13 Ekim 2020'de gerçekleşti. CoinGecko verilerine göre, o tarihte LRC fiyatı yaklaşık 0,0005175 ETH idi.

Soruşturmamız şunları ortaya koydu:

  • Kötü Amaçlı Sözleşmeler: Saldırgan tarafından dağıtılan 3 sözleşme (0xa896..., 0x414a..., 0xd91d...).
  • Saldırı Hacmi: LRCPFV'nin dağıtıldığı 9.644.449. bloktan bu yana saldırganın EOA'sı (0x81e8...) tarafından başlatılan 90 işlem.
  • Maksimum Kâr: Bir işlem (0x33eab...) 9,89 ETH kâr sağladı.
  • Toplam Kâr: Yaklaşık 80,97 ETH (~48.849 USD, 1 Ekim 2020 itibarıyla).

Temel neden, sellTokenForLRC fonksiyonundaki eksik erişim kontrolüydü ve bu durum tekrarlanan istismara zemin hazırladı.


Phalcon Security ile Başlayın

Her tehdidi tespit edin, önemli olanları uyarın ve saldırıları engelleyin.

Şimdi ücretsiz deneyin

Çıkarılan Dersler ve Sonuç

Ethereum DeFi ekosistemi büyüdükçe, erişim kontrolü güvenlik açıkları gibi güvenlik sorunları giderek daha kritik hale gelmektedir. Yüksek profilli saldırılar çoğunlukla ilgi çekse de, bu olayın da gösterdiği gibi daha az göze çarpan güvenlik açıkları önemli mali kayıplara yol açabilir.

Loopring, bu istismar nedeniyle yaklaşık 80,97 ETH kaybetti; bu durum, titiz akıllı sözleşme denetimlerinin ve sürekli güvenlik izlemenin gerekliliğini bir kez daha ortaya koymaktadır.

DeFi protokolleri için katı erişim kontrolü uygulamak, BlockSec'in Akıllı Sözleşme Denetimi ve Phalcon Security gibi araçlardan yararlanmak ve proaktif risk yönetimi, dijital varlıkları korumak için vazgeçilmezdir.


MetaSleuth Soruşturmasını Keşfedin

Akışları izleyin ve soruşturmalar için kanıt oluşturun

Şimdi ücretsiz deneyin

Olayın Zaman Çizelgesi

  • 2020/11/30: ThunderForecast tarafından şüpheli işlemler tespit edildi.
  • 2020/12/01: EthScope kullanılarak ayrıntılı analiz tamamlandı.
  • 2020/12/02: Güvenlik açığı Loopring ekibine bildirildi.
  • 2020/12/03: Güvenlik açığı doğrulandı; düzeltme uygulandı.
  • 2020/12/03: Olay ayrıntıları kamuoyuyla paylaşıldı.
  • 2021/01/03: Güvenlik açığına CVE-2020-35962 atandı.

Kaynaklar ve Ek Okuma

Best Security Auditor for Web3

Validate design, code, and business logic before launch. Aligned with the highest industry security standards.

BlockSec Audit

Get Real-Time Protection with Phalcon Security

Audits alone are not enough. Phalcon Security detects attacks in real time and blocks threats mid-flight.

phalcon security

Go Deeper with MetaSleuth Investigation

Extend your crypto compliance capabilities with Blocksec's MetaSleuth Investigation, the first platform for tracing funds, mapping transaction networks and revealing hidden on-chain relationships.

Move from detection to resolution faster with clear visual insights and evidence-ready workflows across the digital assets ecosystem.

MetaSleuth Investigation