DeFi-секторы тағы да шабуыл алаңына айналды: бұл жолы соққыға Notional Finance протоколы ұшырады. Оқиға 4 қыркүйекте болды және менің талдауым көрсеткендей, мәселенің түбірі жаңа архитектураға көшкеннен кейін толық өшірілмеген бірінші нұсқадағы (V1) ескірген смарт-контрактте жатыр.
Шабуылдаушы деректер типтерін дұрыс түрлендірмеуге байланысты критикалық осалдықты анықтады. Нәтижесінде қамтамасыз етуді тексеру кезінде жасанды түрде жасалған қарыз нөлдік болып көрсетілді. Бұл — жүйе шын мәнінде не бар екенін емес, шабуылдаушы ұсынғанды көретін валидация логикасын манипуляциялаудың классикалық жағдайы. Мұндай тәсіл қауіпсіздік механизмдерін өрескел бұзуға жүгінбей-ақ айналып өтуге мүмкіндік береді.
Менің деректерім бойынша, хакер контракттен шамамен 69 000 DAI және 1,66 млн USDC шығара алды. Жалпы залал $1,7 млн-нан асты, бұл шайқаста шыңдалған деп саналатын протоколдар үшін де мәселенің күрделілігін растайды. CertiK командасын қоса алғанда, қауіпсіздік мамандары оқиғаға жедел жауап беріп, шабуылдың іздерін тіркеді.
Айта кетерлігі, ұрланған активтер түпнұсқа күйінде қалмады. Киберқылмыскер оларды шамамен 689 ETH-ке айырбастап, қаражатты Tornado Cash-ке жіберді. Миксерді қолдану — іздерді жасырудың стандартты қадамы, бұл транзакцияларды қадағалауды және қаражатты қайтаруды қиындатады. Бұл жобалар үшін тек осалдықтарды жабудың ғана емес, сонымен қатар күдікті белсенділікті бақылау механизмдерін енгізудің қаншалықты маңызды екенін көрсетеді.
Аналитиктің қорытындылары
Бұл жағдай — DeFi-протоколдары смарт-контракттердің өмірлік цикліне ерекше назар аударуы керектігі туралы тағы бір ескерту. Жаңартудан кейін ескі нұсқаларды белсенді күйде қалдыру — баяу әрекет ететін бомба. Менің ойымша, Notional Finance пайдаланылмайтын барлық контракттерге толық аудит жүргізіп, күдікті параметрлермен операцияларды блоктайтын автоматты "сақтандырғыштарды" енгізуі керек еді. Индустрия қателіктерден сабақ алады, бірақ бұл сабақтардың бағасы барған сайын қымбаттай түсуде.