Bitcoin.com News
Sağlayan

Kasplex KRC-20 İndeksleyici, İmza Atlama Özelliği Sayesinde İki Jeton Havuzunu Boşaltıyor

Bu hafta sonu, bir saldırgan, özel anahtarına sahip olmadan bir Kaspa KRC-20 köprü cüzdanından 186,4 milyon ZEAL ve 54,4 milyar NACHO çaldı; ardından bu tokenları ikinci katman (L2) ağları üzerinden yeniden dolaşıma soktu ve likidite havuzlarında sattı. Garip olan ise Kaspa'nın kendisinin hacklenmemiş olmasıydı. Beş geçerli işlem, bir zincir dışı indeksleyicisini, aslında kimsenin imzalamadığı transferleri kabul etmeye ikna etti; bu da köprü üzerinden aktarılan tokenlerin teminatsız kalmasına ve bazı havuzların KAS tarafındaki değerlerinin %99,6'sına varan bir kısmını kaybetmesine neden oldu.

PAYLAŞ
Kasplex KRC-20 İndeksleyici, İmza Atlama Özelliği Sayesinde İki Jeton Havuzunu Boşaltıyor

Önemli Noktalar

  • Bir saldırgan, köprü cüzdanının özel anahtarına sahip olmadan 54,4 milyar NACHO'yu transfer etti.
  • Zealous Swap havuzları, sahte transferlerin ardından KAS tarafındaki değerlerinin %94 ila %99,6'sını kaybetti.
  • KRC-20 operatörleri sistemi yamalamaya ve yeniden indekslemeye hazırlanırken, Igra önemli çıkışları askıya aldı.

Beş İşlem, Özel Anahtar Yok

Özel anahtar, kripto paraya sahip olmakla sadece nerede olduğunu bilmek arasındaki çizgi olarak kabul edilir. 20 Eylül'de, birisi Kaspa'nın temel zincirini hiç bozmadan KRC-20 tokenleri için bu varsayımı aşmanın bir yolunu buldu.

Saldırgan, özel anahtarını kontrol etmemesine rağmen bir köprü saklama adresinden 186.425.259 ZEAL ve 54.397.983.246 NACHO aktardı. Bu tokenlar daha sonra sıradan köprü mevduatları gibi aynı saklama adresine geri gönderildi, Igra Labs’ın EVM katmanında ve Kasplex L2’de basıldı ve Zealous Swap likidite havuzlarına aktarıldı.

Olayın tozu dindiğinde, saldırganın L2 ZEAL ve NACHO bakiyeleri boşalmış, etkilenen havuzlar ise KAS tarafındaki değerlerinin %94 ile %99,6'sı arasında bir kayıp yaşamıştı. İşte işin püf noktası: Kaspa’nın birinci katmanı (L1) tam olarak yapması gerekeni yaptı.

Yine de Kabul Edilen Boş Bir İmza

KRC-20 token sahipliği, Kaspa konsensüsü tarafından doğrudan uygulanmaz. Token talimatları Kaspa işlemlerinin içinde yer alırken, zincir dışı bir Kasplex indeksleyicisi bu talimatları okur ve kimin neye sahip olduğunu belirler. Normalde bir KRC-20 transferi, bir açık anahtar, token talimatları ve geçerli bir imza içerir. Saldırgan bu tanıdık yapıyı korudu, ancak boş bir imza sağladı ve OP_ENDIF'in arkasına bir OP_NOT ekledi.

X screenshot
Görsel kaynağı: X

Boş bir imza, OP_CHECKSIG'in işlemi tamamen iptal etmek yerine false değerini döndürmesine neden olur. Ekstra OP_NOT, bu sonucu tekrar true olarak değiştirdi ve Kaspa'ya geçerli bir işlem bıraktı. Konsensüs katmanında hiçbir şey ters gitmemişti. İndeksleyici ise başka bir hikayeydi. KRC-20 zarfını tanıdı, ancak komut dosyasının kanonik formatla tam olarak eşleşmesini şart koşmadı. Sonuç olarak, sahte transferi meşru olarak kabul etti. Kasplex’in kendi API’si bile ilk sahte ZEAL işleminde opAccept: 1 değerini döndürdü.

Herkes Sahtecilik Yapabilirdi

En kötü yanı ise saldırganın gizli bir kimlik bilgisini keşfetmesine gerek olmamasıydı. Standart bir Kaspa adresi, sahte KRC-20 işlemini oluşturmak için gereken açık anahtarı ortaya çıkarır. Bu da, token'ları başka bir adrese aktarmakla altta yatan sorunun çözülmeyeceği anlamına gelir. İndeksleyici yamalanana ve geçmişi yeniden indekslenene kadar, aynı güvenlik açığı teorik olarak başka yerlerdeki KRC-20 bakiyelerine karşı da kullanılabilir.

ZEAL ve NACHO transferlerini taklit eden beş işlem vardı. Buna karşılık, birimlik dokuz küçük para çekme işlemi, saklama cüzdanı tarafından gerçekten imzalanmıştı ve çıkış yolunun çalışıp çalışmadığını test eden deneme işlemleri gibi görünüyordu. İlginç bir şekilde, meşru işlemler küçük olanlardı. Saklama cüzdanında yaklaşık 50 adet başka KRC-20 tokeni bulunuyordu. Saldırgan bunlardan ikisini seçti.

Token'lar Hâlâ Orada, Ancak Destek Yok

Pazar sabahı Igra, saklama cüzdanındaki tüm ZEAL ve NACHO varlıklarının çalındığını ve 97.651.212 ZEAL ile 42.570.879.908 NACHO'nun tam L1 desteği olmadan Katman 2 ağlarında kaldığını söyledi. 4,5 milyar NACHO ise L1'de saldırganın elinde kaldı.

Igra, Kaspa L1’e iKAS çıkışlarını ve Hyperlane transferlerini askıya alırken, kullanıcılara KRC-20 tokenlerini köprülememeleri, L2 merkeziyetsiz borsalarında (DEX’ler) ZEAL veya NACHO satın almamaları ya da etkilenen havuzlara likidite eklememeleri konusunda uyarıda bulundu. KRC-20 tokenleri olarak köprülenmemiş yerel KAS, Kaspa konsensüsü ve Igra varlıkları ise etkilenmemiş olarak tanımlandı.

Yazılımı düzeltmek tek başına sorunu çözmeye yetmez. Zealous Swap, operatörlerin indeksleyiciye yama uygulaması ve geçmişini yeniden indekslemesi gerektiğini belirterek, boş imzaları, hatalı biçimlendirilmiş etiketleri ve OP_ENDIF'in ötesine geçen komut dosyalarını reddetmeleri gerektiğini söyledi. Öte yandan Nacho the Kat, topluluğun, token kurallarını ağın kendisi tarafından uygulanan komut dosyalarına yerleştirmek üzere tasarlanmış bir standart olan KCC-20'ye geçmeyi planladığını belirtti.

Bu sorun, son birkaç hafta içinde yaşanan bir dizi istismar, hata, siber saldırı ve veri sızıntısının ardından ortaya çıktı. Cumartesi günü, Lightning Network'ün emanetçi ve emanetsiz altyapı sağlayıcısı Blink Wallet, "birkaç düzine" emanetçi hesabın boşaltıldığını açıkladı. Siber güvenlik şirketi DCENT de bu hafta DCENT App Cüzdanlarından para çalındığını tespit etti. Bu olaylar, siber güvenlik saldırılarının yoğunlaştığı bir dönemde meydana geldi ve bazıları bu istismar dalgasına yapay zekanın (AI) yardımcı olduğunu düşünüyor.

Bu makale yapay zeka kullanılarak İngilizceden çevrilmiştir. Orijinal İngilizce sürüm yetkili kaynaktır; otomatik çeviriler, özellikle hukuki ve düzenleyici terminolojide hatalar içerebilir.