Mening ismim Dexaran. Men xakerman, men sanoatdagi konsensus darajasidagi eng yirik hujumlardan birini ishlab chiqdim va amalga oshirdim . 2019-yilda men DDOS-ning EOS tarmog‘ining asosiy tarmog‘ini o‘rnatdim va konsensus resurs modelidagi nuqsondan foydalanib, uni bir oyga muzlatib qo‘ydim. O'sha paytda EOS birinchi o'rinda edi. ( EOSGO hisoboti , hamjamiyat hisoboti )
Men Ethereum Classic asosiy ishlab chiqish jamoalaridan birining asoschisiman . ( Cointelegraph maqolasi )
Men Nakamoto konsensusiga tuzatish kiritdim, bu 51% hujumlarni hal qiladigan qoidalar to'plami, bu sanoat asirlari zanjirlari uchun ofat bo'lgan.
Tahririyat eslatmasi: Bu hikoya hikoya muallifining qarashlarini ifodalaydi. Muallif HackerNoon xodimlariga aloqasi yo'q va bu hikoyani o'zlari yozgan. HackerNoon tahririyat jamoasi hikoyaning faqat grammatik toʻgʻriligini tekshirib chiqdi va bu yerda keltirilgan daʼvolarning hech birini qoralamaydi/qaror qilmaydi. #DYOR
Foydalanuvchi 26 000 000 dollarlik ezETH tokenlarini smart-kontraktga yuborish orqali yo'qotdi. Bu foydalanuvchi xatosi ekanligini da'vo qiluvchi bir nechta maqola va twitter mavzulari mavjud, masalan, CoinTelegraph tomonidan yozilgan.
Bu noto'g'ri. Shunga o'xshash foydalanuvchi xatosi Eth, NFT yoki ERC-223 tokenining yo'qolishiga olib kelmaydi . Tashqariga tegishli manzillarga o'tkazish va smart-kontraktlarga o'tkazish boshqacha ishlaydi.
Agar foydalanuvchi tokenlarni noto'g'ri manzilga (bu smart-kontrakt emas) yoki hech kimga tegishli bo'lmagan manzilga yuborsa - bu foydalanuvchining xatosi bo'ladi.
Biroq, bu holda, foydalanuvchi tokenlarni smart-kontraktga kiritdi. Smart-kontraktlar bu xatolarning oldini olishi kerak va ular buni albatta amalga oshirishi mumkin - masalan, agar foydalanuvchi Ether (yoki boshqa har qanday milliy valyuta), NFTs (ERC-721) yoki ERC-223 tokenlarini smart-kontraktga kiritsa. ularni qabul qilish uchun mo'ljallanmagan - keyin tokenlar yo'qolmaydi. Tranzaksiya xatosi bo'lardi va tokenlarni o'tkazish shunchaki sodir bo'lmaydi.
Xatolarni hal qilish dasturiy ta'minot xavfsizligining eng asosiy tamoyillaridan biridir. Dasturiy ta'minotni chaqirish xatolarini to'g'ri hal qilib bo'lmaydigan tarzda loyihalash boshqaruv funksiyasi uchun onlyOwner
modifikatorining yo'qligi bilan bir xil - bu xavfsizlik muammosi bo'ladi.
Bu ERC-20 standartidagi muammo - u xatolarni qayta ishlashni imkonsiz qiladigan tarzda ishlab chiqilgan. Va bu xavfsizlik muammosi. ERC-20 standarti xavfsiz emas . 2023 yilda ERC-20 standartini yaratuvchining o'zi bu standartning xavfsizlik muammosi ekanligini tasdiqladi .
Men 2017-yilda bu erda va bu erda xabar berdim. Bundan tashqari, men 2017-yilda aynan shu muammoni hal qilish uchun ERC-223 standartini ishlab chiqdim, bu erda asl EIP-223 ipi, bu standart pul yo'qotilishining oldini olishi ta'kidlangan.
Xavfsizlik kompaniyalari va ishlab chiquvchilar uchun foydalanuvchilarni xato qilishda ayblash juda oson. Biroq, ishlab chiquvchining aybi shundaki, ular o'z ilovalarini xavfsiz bo'lmagan standartdan foydalangan holda yaratganlar, bu esa foydalanuvchilarning xatolari bilan shug'ullana olmaydi, bu esa bunday halokatli zararga olib keladi.
Bu haqda Ethereum Foundationga xabar berganimda, bu foydalanuvchilarga moliyaviy zarar etkazishi mumkinligini ta'kidladim. Ular hech narsa qilishmadi. 7 yil davomida.
Mening jamoam yo'qolgan tokenlar miqdorini hisoblaydigan skriptni ishlab chiqdi:
https://dexaran.github.io/erc20-losses
2017-yilda ushbu xavfsizlik muammosi tufayli ERC-20 standartini targ‘ib qilishni to‘xtatishni so‘radim, javob bo‘lmadi https://github.com/ethereum/ethereum-org/issues/755 .
Men bu masalani EthereumCatHerders-ga, Ethereum-da EIP-larni boshqaradigan bolalarga yetkazdim.
2023 yilda ular "xavfsizlikni oshkor qilish bilan bizning aloqamiz yo'q, bizda buning uchun jarayon yo'q" deb javob berishdi .
Tushuntirish: EIP va ERC - bu har kim Ethereumga yuborishi mumkin bo'lgan takliflardir. Ular ishlab chiqaruvchilar Ethereum qanday ishlashiga taalluqli standartlar yoki modifikatsiyaga aylanishi mumkin. Ular github repodagi matnli fayllardir.
Kontekst: ularda Ethereum loyihasi boshlanganidan 10 yil o'tgach, EIP-larda xavfsizlikni oshkor qilish jarayoni yo'q.
Men xavfsizlik ma'lumotlarini oshkor qilish uchun EIP qanday ishlashini o'zgartirish usulini taklif qildim: https://ethereum-magicians.org/t/modification-of-eip-process-to-account-for-security-treatments/16265
Men ERC-20 ga ogohlantirish qo'shishni va masalani EIP-larda hujjatlashtirishni taklif qildim. Mana, ularning qo'ng'irog'i, ular men borib, EIP-20 da zaiflikni ochib beradigan boshqa ma'lumotli EIP yaratishim kerak, deb qaror qilishdi: https://github.com/ethcatherders/EIPIP/issues/257#issuecomment-1693372317
Men buni qildim. Shundan keyin ular mening EIPni oshkor qilishimni rad etishdi .
Men EthereumMagicians forumida tasvirlab bergan dastlabki g‘oyamni jonlantirish taklifi bilan chiqdim, bu esa 2024 yilda EIPning “Xavfsizlik masalalari” bo‘limida xavfsizlikni oshkor qilishga imkon beradi.
Mana mening EIP muharrirlari bilan suhbatim: https://www.youtube.com/watch?v=PKkJNqcozhw&t=744s
Natijada, EIP muharrirlari menga bu borada ovoz berishlarini aytishdi: https://github.com/ethcatherders/EIPIP/issues/349
Mening taklifim ovozga qo'yildi. EIPlarda xavfsizlikni oshkor qilish bilan shug'ullanish uchun hali ham jarayon mavjud emas. ERC-20 muammosi hal etilmagan. Bu hatto muammo sifatida qayd etilmagan yoki hujjatlashtirilmagan, shuning uchun dasturchilar uni qayta-qayta ishlab chiqarishda davom etadilar.
Men bu muammoni shaxsan OpenZeppelinga xabar berib, 3 marta tuzatishni so'radim.
2018 yilda https://github.com/OpenZeppelin/openzeppelin-contracts/issues/729
2023 yilda https://github.com/OpenZeppelin/openzeppelin-contracts/issues/4451
Ular oldingi ikkitasini rad etganlaridan so'ng, men bu haqda masalaning jiddiyligini ko'rsatadigan tarzda xabar berishga qaror qildim, shuning uchun men uni xatolik mukofotiga topshirdim, chunki u o'z qoidalariga muvofiq "xavfsizlikning muhim zaifligi" mezonlariga mos keladi https:/ /github.com/OpenZeppelin/openzeppelin-contracts/issues/4474#issuecomment-1646901022
OpenZeppelin buni "yamoqlanmagan zaiflikni jamoatchilikka oshkor qilish" bilan rad etdi (bu hech bo'lmaganda xavfsizlik muammosi ekanligini tasdiqlaydi).
Bir necha kun oldin Devcon7-da, OpenZeppelin-dan o'sha odamga ushbu muammo bo'yicha github-dagi masalani yopgan savol berildi: https://www.youtube.com/watch?app=desktop&v=DKJYpdXsOwQ&start=406
Xabar qilinganidan 6 yil o'tgach va foydalanuvchilariga 115 000 000 dollar zarar keltirganidan keyin.
Ularning javobi hatto haqiqat emas. Ochiq masala o'rniga ular men ochgan 3 ta masalani yopdilar va men bergan tavsiyalarni rad etishdi.
Ethereum Foundation ekotizim foydalanuvchilari 115 000 000 dollar yo'qotishiga olib kelgan muammoni ta'kidlash uchun har qanday urinishlarni tsenzura qilmoqda. Muammo e'lon qilinmaydi, oshkor qilish to'g'ri bajarilmaydi, ijrochilar uni yangi shartnomalarda takrorlaydilar.
O'ylaymanki, ular buni oshkor qilish ularning obro'si uchun juda zararli bo'ladi deb o'ylashadi.
OpenZeppelin kabi auditorlar ham bu masalani oshkor qilmayaptilar, ehtimol ular o'zlari tekshirgan yuzlab ERC-20 shartnomalariga "Xavfsiz" yorlig'ini qo'yganligi sababli ularda manfaatlar to'qnashuvi mavjud.
Ishlab chiquvchilar: "Biz standartni xuddi shunday joriy qilmoqdamiz", deyishmoqda.
Standart EIP jarayoni bilan boshqariladi, EIP jarayoni xavfsizlikni oshkor qilish bilan shug'ullanish uchun tuzilmagan.
EIP jarayonini o'zgartirish kerak. ERC-20 muammosi oshkor etilishi va tegishli tarzda hujjatlashtirilishi kerak. Ideal holda, yangi standart joriy etilishi kerak. Zararni yumshatish uchun ERC-20 da "bandidlar" to'plamini qo'llash hech narsa qilmaslikdan ko'ra yaxshiroqdir, lekin bu muammoni o'z-o'zidan hal qilmaydi.
"Muammoni hamyon darajasida hal qilish mumkin" degan har bir kishi xavfsizlik bo'yicha tajribaga ega emas. Dasturiy ta'minot xavfsizligida dizayn bo'yicha xavfsiz bo'lish printsipi mavjud, ya'ni siz xavfsiz bo'lmagan dasturiy ta'minotni yarata olmaysiz, foydalanuvchilarga ta'sir qilmasligi uchun undan qanday foydalanishni hammaga aytib bera olmaysiz va u zarar keltirmaydi deb o'ylaysiz. Moliyaviy sohada emas. Bunday yondashuv veb-dizaynda ishlashi mumkin, masalan, kimdir o'z veb-sahifasi uchun to'g'ri shriftni yuklay olmagan xatoning narxi. Moliyaviy sohada bu millionlab dollar yo'qotishga olib keladi.
Insoniyat tsivilizatsiyasining kelajakdagi barcha hamyonni ishlab chiquvchilari barcha kerakli tuzatishlarni har doim to'g'ri amalga oshirishiga kafolat berish mutlaqo mumkin emas.