Головна » IT Блоґ » Методичка з тестування на проникнення криптовалютних бірж
Популярність Blockchain зростає, а разом з тим зростає інтерес зловмисників та кіберзлочинців. Щороку десятки криптовалютних бірж страждають від кібератак різного рівня. Представляю на огляд методичку з тестування на проникнення криптовалютних бірж.
Зміст статті
Історія, філософія, етимологія поняття “біржа”
Біржа – це організований торгівельний майданчик, на якому відбувається гуртова торгівля товарами або цінними паперами. На біржі укладаються угоди по біржових товарах, в результаті чого під впливом ринкового попиту та пропозиції утворюється динаміка ціни, що дає змогу учасникам ринку орієнтуватися та прогнозувати хід торгів в майбутньому.
Ідея грошового обміну зародилася дуже давно, ще у давньому Шумері та Вавилоні. Там існувала потужна, як на той час, система ринкових відносин. Хранилищами, тобто банковими установами – виступали язичницькі храми. Роль монет виконували глиняні жетони, які обмінювалися на товари.
Глиняні жетони Шумера
Починаючи з 1250 року в європейських містах, де існували великі порти та розвивалося судноплавство, почали з’являтися купецькі групи, які вели бартерну торгівлю, тобто пропонували товари в обмін на еквівалентну кількість іншого товару. Згодом людям почали пропонувати щось на зразок “акцій”, купивши які можна було згодом обміняти на важливі товари: зерно, овес, сіль, горох, хутро, мука, кава, перець, дорогоцінні тканини, камені, метали тощо.
На XIV ст. такі спілки вже існували в Тулузі, Генуї, Флоренції, Венеції, Амстердамі, Брюгге, Антверпені, Ліоні, Лондоні. Тут торгували облігаціями, укладалися фінансові угоди куплі-продажі, проводилися вексельні ярмарки і аукціони. Власне, у цьому середовищі і виникло слово “біржа”, яке походить від лат. bursa, нідерл. beurs, франц. bourse – гаманець. Поступово почали з’являтися перші фондові біржі.
Герб роду Ван дер Бурсе – бельгійська родина, яка у 1406 році заснувала першу біржу. Фамільний герб складається з трьох борш (від лат. bursa – борша, гаманець).
Древня скіфо-сарматська Україна теж не була виключенням. У Середньовічному Криму, на Чорноморському узбережжі, яке здавна відоме як Куманія, існувало місто-порт Сурож (грец. Сугдея, італ. Солдайя, крим. і кипчацько-половецьке Судак). Це був потужний стародавній торгово-економічний центр. Тут можна було зустріти німецьких і грецьких купців з Візантії, флоренційців, генуезців, венеційців, ремісників з Іспанії та Франції, мореплавців з Фландрії та Англії, і навіть з Малої Азії. Усі вони прибували величезними гелерами й торгували в Сурожі різноманітними товарами.
Археологами знайдені стародавні печатки, які свідчать про економічні операції того часу – податки на товари і чеки про оплату за вантажоперевезення. Кожен з мешканців чимось займався. Було чимало ремеслеників з власними майстернями. Розвивалися риболовля, ткацтво, кераміка, ковальство і ювелірка. Проте, цей “економічний рай” тривав не довго – поки регіон не захопили монголо-татари, турки-османи, а за ними і московити…
Український Сурож (Судак) в добу Середньовіччя (X-XIII ст.)Стародавня Куманія (сучасний південь України) на середьовічних картах. Трохи вище – Московія.
Чимало цікавого про історію фінансових активів можна прочитати у книзі відомого шифропанка і криптографіста Ніка Сабо – “Походження грошей”.
Що таке криптовалютна біржа?
Криптовалютна біржа (криптобіржа, англ. Digital Currency Exchange (DCE)) – це інформаційно-технологічна платформа, яка є частиною технології Blockchain і дозволяє користувачам інтернету здійснювати обмін цифровими фінансовими активами (електронними валютами). Наприклад, обмінювати звичайні (фіатні) кошти на цифрові, і навпаки, а також інші подібні операції.
Перша криптовалютна біржа з’явилася через рік заснування біткойна – у 2009 році виник майданчик під назвою “New Liberty Standard”. Bitcoin тоді заледве перетнув мітку в 0 американських доларів. Перша покупка – піца вартістю 25$, за яку власник заплатив 10 000 BTC. У 2010 році запущена платформа Bitcoinmarket.com, що являла собою реальний маркетплейс, там можна було обміняти фіатну валюту на біткойни. Ця платформа дала старт сотні іншим біржам криптовалют.
Розрізняють 2 типи криптовалютних бірж:
Централізована біржа (CEX) – це платформа для торгівлі криптовалютними активами, яка виступає посередником (усі операції пропускає через себе) і має централізоване управління (усі операції контролюються єдиним центром). Такі біржі підпорядковуються законодавству і вимагають від користувачів розкриття особи та верифікації даних за процедурами AML і KYC (Know your customer, “Знай свого клієнта”), що можуть включати: реєстрація по номеру телефону, аналіз посвідчення особи, підтвердження джерела доходів, рід занять, адреса проживання, кредитна історія, біометрія тощо. Централізовані біржі співпрацюють з банківськими установами, урядовими програмами, світовими фондами. Здійснюють технічну підтримку користувачів. Мають свої правила та вимоги, за недотримання яких користувача можуть забанити, а його активи заморозити. Більшість CEX-бірж пропонують користувачам вбудовані в сервіс “гарячі” криптогаманці, у яких можна зберігати валюту. Але мало хто розуміє, що приватні ключі від таких гаманців зберігаються на серверах бірж, а не пристроях користувачів, що фактично робить біржу “власником” цих активів. Чимало централізованих бірж обзавелися власними токенами і пропонують їх на своїх майданчиках. За своїх послуги біржа знімає комісію з транзакції. Розвинуті централізовані біржі не рідко радують користувачів бонусами та акціями.
Децентралізована біржа (DEX) – це децентралізована платформа для торгівлі криптовлаютними активами, яка працює на основі розподіленого реєстру і заснована на програмному забезпеченні з відкритим кодом. Всі операції обслуговують смарт-контракти. Такі біржі, зазвичай, не вимагають розкриття персональних даних від користувача і відповідно не зберігають їх на своїх серверах, виконуючи лише інформаційну функцію, допомагаючи у пошуку заявок на покупку або продажу криптовалют. Для початку торгів не обов’язково створювати обліковий запис та відкривати депозити. Недоліки DEX наступні – їх відносно мало, вони не такі якісні та розкручені як CEX, у них низька ліквідність і не надто широкий вибір пропозицій, а також вони підтримують не всі гаманці. Вартість криптовалюти може змінитися вже в процесі самої покупки, що є ще одним недоліком. Щоправда, деякі DEX пропонують користувачам різні додаткові опції, наприклад можливість встановити обмеження на найгіршу ціну, а також відкриття гаманця у їх мережі. Загалом, розвиток децентралізованих бірж сповільнюється контролюючими органами і регуляторами, які чинять тиск на них.
Гібридна біржа (HEX) – це нове покоління криптовалютних бірж. Вони поєднують переваги як централізованих, так і децентралізованих бірж. Гібридні біржі прагнуть забезпечити функціональність та ліквідність CEX з конфіденційністю та безпекою DEX.
Усі децентралізовані біржі (DEX) є частиною великої мережі децентралізованих фінансів – DeFi (Decentralized Finance). Мережа включає не лише біржі, а й гаманці, токени, смарт-контракти, децентралізовані програми DApps, стейблкоїни.
👉 Статистика по децентралізованим біржам на порталі CoinDecko>> 👉 Статистика по децентралізованим біржам на порталі Defillama>> 👉 Рейтинг децентралізованих бірж на платформі CertiK>>
Список хакерських зламів криптовалютних бірж
ℹ️ Примітка: Усі нижчеперелічені біржі – централізовані. Більшість з них заявляли, що є найзахищенішими та найбезпечнішими і гарантували користувачам 100% захист та гарантії. Після зламів – вони або закривалися, або продовжували існувати, так і не відшкодувавши повністю кошти своїм користувачам. Робили це одиниці. Були і такі, які намагались приховувати злам, запевняючи, що “дані користувачів не постраждали”. Ці дані потім з’являлися у продажі на форумах в Даркнеті.
Найбільше зламів припадає на так звані “гарячі” криптогаманці або веб-гаманці, підключені до інтернету, які біржі пропонують своїм користувачам. В стратегії атак хакерів немає нічого особливого: це або фішинг помножений на соцінженерію, або експлуатація вразливостей, порушень і дірок безпеки ІТ-інфраструктури (backend/frontend). В обох випадках це приводило до компрометації приватних ключів і зламу криптогаманців.
Ще одна категорія зламів – інсайдерські злами. Коли хакерам через свого “крота” вдається залити бекдор в інфраструктуру і таким чином організовано провести злам.
Основна причина усіх цих зламів – некомпетентність власників і халатність розробників/адміністраторів, а також недооцінка інформаційної- та кібербезпеки в корпоративному середовищі.
Хронологія хакерських зламів і атак на криптобіржі:
🔴 Червень 2011, Mt.Gox (збитки: 2643 BTC) – один з перших хакерських зламів в історії криптовалютних бірж. Зловмисникам вдалося скомпрометувати комп’ютер аудитора біржі і отримати приватні ключі гарячих криптогаманців. Вони також змогли змінити ціну біткойна до 1 цента та масово скупити за цією штучно заниженою ціною валюту.
🔴 Травень 2012, Bitcoinica (збитки: 18 457 BTC) – друга атака на біржу через проблеми безпеки на серверах, які вона орендувала у Linode.
🔴 Вересень 2012, BitFloor (збитки: 24 000 BTC) – зловмисники зламали сервери і отримали доступ до незашифрованої резервної копії ключів гарячого гаманця та вивести всі монети на свої гаманці.
🔴 Листопад 2013, BitCash (збитки: 484 BTC) – через фішингову атаку були зламані поштові сервери, а далі не то обманною Email-розсилкою спрямованою на користувачів, не то через веб-інтерфейс спустошили близько 4000 біткойн-гаманців.
🔴 Березень 2014, Poloniex (збитки: 97 BTC) – хакер знайшов вразливість у коді програмного забезпечення, яке відповідало за зняття коштів.
🔴 Березень 2014, Mt.Gox (збитки: 850 000 BTC) – один з найбільших в історії зламів криптобірж. В результаті кібератаки стався системний збій, були виведені криптовалютні кошти на рекордну суму з гаманців біржі. Це суттєво вплинуло на курс Bitcoin, адже на біржі оберталось близько 70% всіх світових запасів криптовалюти. Mt.Gox спочатку не повідомила користувачам про злам, пояснюючи це технічними неполадками. Розпочалися заворушення, обурені власники криптовалют збиралися біля офісів компанії з протестами. Їм так нічого і не повернули – Mt.Gox заявили про банкрутство і закриття. Цей інцидент довго крутили в ЗМІ. Власника Mt.Gox, француза Марка Карпелеса, затягали по судам. За однією з версій, це була афера з симуляцією зламу, однак слідство не змогло цього довести. Зараз М.Карпелес працює технічним директором в London Trust Media.
🔴 Червень 2014, MintPal (збитки: 8 млн. VRC) – хакер знайшов слабке місце у системі виведення валюти на біржі і зумів авторизувати виведення з гаманця Vericoin. У висновку, 30% усіх монет було викрадено.
🔴 Червень 2014, Cryptsy (збитки: 13 000 BTC і 300 000 LTC) – хакер Lucky7Coin запустив троянського коня у вихідному коді програмного забезпечення біржі, в результаті чого була викрадена криптовалюта в великих кількостях.
🔴 Cічень 2015, LocalBitcoins (збитки: 17 BTC) – через онлайн-чат LiveChat зловмисник завантажив шкідливий виконуваний файл для ОС Windows, який являв собою кейлогер, далі були скомпрометовані облікові записи і викрадена криптовалюта.
🔴 Cічень 2015, Bitstamp (збитки: 5 млн. доларів) – фішингова атака на співробітника компанії, в результаті чого було завантажено шкідливий файл (документ MS Word) і зловмисне програмне забезпечення проникло на сервер. В результаті хакери отримати доступ до гарячого гаманця.
🔴 Лютий 2015, Kipcoin (збитки: 3000 BTC) – були зламані сервери і викрадена криптовалюта.
🔴 Квітень 2016, ShapeShift (збитки: 230 тис. доларів) – біржу зламав бувший співробітник – DevSecOps, якого наймали для створення і налагодження інфраструктури та її безпеки. Були викрадені 315 біткойнів з гарячих гаманців. Про цей неймовірний саботаж можна прочитати тут.
🔴 Травень 2016, GateCoin (збитки: 2 млн. доларів) – були атаковані і зламані сервери, після чого виведена криптовалюта з гарячих гаманців.
🔴 Серпень 2016, Bitfinex (збитки: 350 млн. доларів) – через вразливості системи були зламані сервери, де лежали належним чином незахищені ключі і токени безпеки, в результаті чого були викрадені 119 756 біткойнів. Злам сколихнув криптовалютний ринок. У 2022 році ФБР затримали за справою відмивання коштів росіянина Іллю Ліхтенштейна і його дружину Хізер Морган як головних підозрюваних та відповідальних за злам. У 2023 році Ілля Ліхтенштейн на суді зізнався, що справді причетний до атаки на Bitfinex.
🔴 Квітень 2017, Yapizon (збитки: 5 млн. доларів) – хакери зламали сервери викравши близько 3800 біткойнів.
🔴 Червень 2017, Bithumb (збитки: 7 млн. доларів) – невідомому хакеру вдалося отримати доступ до персонального комп’ютера співробітника та скомпрометувати 30 000 облікових записів користувачів. Були також викрадені криптовалютні активи.
🔴 Cічень 2018, Coincheck (збитки: 533 млн. доларів) – внаслідок халатного відношення до безпеки співробітників компанії, зловмисникам вдалося провести фішингову атаку і поширити троян через електронну пошту, що в результаті дозволило отримати приватні ключі від гарячих гаманців і вивести криптовалюту.
🔴 Червень 2018, Coinreil (збитки: 40 млн. доларів) – були скомпрометовані і зламані сервери, в результаті чого викрадено близько 30% алькоїнів, зокрема ICO-токени проєктів Pundi X (NPXS), NPER (NPER), Aston (ATX).
🔴 Червень 2018, Bithumb (збитки: 30 млн. доларів) – через фішинг й шкідливе ПЗ хак-група Lazarus зламала і вивела криптовалюту з серверів.
🔴 Червень 2018, Bancor (збитки: 23 млн. доларів) – була зламана біржа, яка називала себе “децентралізованою”, хакер скористався вразливістю й зламав гаманець, який застосовувався для оновлення смарт-контрактів і повиводив токени ETH, BNT, Pundi X. Після цього випадку курс Bancor BNT впав на 15%.
🔴 Вересень 2018, Zaif (збитки: 60 млн. доларів) – були взламані гарячі гаманці і виведена криптовалюта.
🔴 Cічень 2019, Cryptopia (збитки: 24 млн. доларів) – вразливість в системі безпеки дала можливість викрасти криптовалюту.
🔴 Лютий 2019, Coinmama (збитки: витік 450 тис. облікових записів) – масштабний цілеспрямований злам електронних ресурсів біржі, зокрема була задіяна вразливість в PostgreSQL, в результаті чого були скомпрометовані облікові записи і персональні дані користувачів.
🔴 Лютий 2019, Coinbin (збитки: 26 млн. доларів) – злам стався через співробітника, який мав доступ до приватних ключів. В результаті були викрадені цифрові активи.
🔴 Березень 2019, Coinbene (збитки: 100 млн. доларів) – хакери провели експлойт і була виведена криптовалюта з гарячих гаманців.
🔴 Березень 2019, Bithumb (збитки: 13 млн. доларів) – хакери через свого інсайдера-крота серед співробітників компанії вивели криптовалюту на свої гаманці.
🔴 Березень 2019, DragonEx (збитки: 7 млн. доларів) – через соцінженерію в LinkedIn та Telegram, фішингові посилання і зеркала, хакерам Lazarus вдалося встановити шкідливе програмне забезпечення на компах співробітників компанії і викрасти криптоактиви.
🔴 Травень 2019, Binance (збитки: 40 млн. доларів) – хакери провели фішингову атаки, завдячки чому їм вдалося встановити шкідливе програмне забезпечення та викрасти 7000 BTC. Разом з цим був вивантажений дамп бази даних користувачів біржі.
🔴 Червень 2019, Bitpoint (збитки: 30 млн. доларів) – через помилку безпеки в системі вихідних грошових переказів, хакерам вдалося викрасти криптовалюту.
🔴 Червень 2019, GateHub (збитки: 10 млн. доларів) – зловмисники скористались дірою в API та отримали доступ до зашифрованих приватних ключів, зламали майже 100 гаманців криптовалюти Ripple (XRP).
🔴 Червень 2019, Bitrue (збитки: 5 млн. доларів) – було зламано гарячий гаманець з криптовалютою.
🔴 Листопад 2019, Upbit (збитки: 50 млн. доларів) – хакери через свого “крота” в компанії, скористалися моментом коли біржа переказувала кошти з гарячого на свій холодний гаманець і здійснили перехоплення. У висновку криптовалютні активи були переведені на невідомий гаманець.
🔴 Лютий 2020, AltsBit (збитки: 70 тис. доларів) – хакери з угрупування Lulzsec провели кібератаку й викрали криптовалюту з гарячих гаманців.
🔴 Вересень 2020, KuCoin (збитки: 280 млн. доларів) – зловмисники з Lazarus Group (APT-38) через інсайдерський бекдор отримати доступ до приватних ключів й спустошили гарячі веб-гаманці біржі (холодні залишились без змін), що містили Bitcoin, токени ERC-20 та інші цифрові активи. Далі зловмисники відмили криптовалюту через міксери і децентралізовані криптообмінники. Варто зауважити. що KuCoin дуже чесно та грамотно підійшла до вирішення цієї ситуації, одразу заявивши в прямому ефірі про атаку і відшкодування, скориставшись своїми резервними, страховими фондами. У висновку, всі втрати були повернені користувачам біржі.
🔴 Серпень 2021, PolyNetwork (збитки: 610 млн. доларів) – хакер скористався вразливістю в протоколі cross-chain моста, який дозволяє переміщати токени різних стандартів (ERC-20, BEP-20 та інших) між блокчейнами. Хакер якимсь чудом зламав алгоритм і обманом змусив сейфовий ящик звільнити цифрові активи без валідації та перевірки.
🔴 Жовтень 2022, Binance (збитки: 570 млн. доларів) – хакери знайшли діру і запустили експлойт, який атакував cross-chain міст, пов’язаний з ланцюгом токена BNB Chain, що дозволило їм перемістити BNB-токени поза мережею і таким чином здійснити крадіжку.
Як зламують криптобіржі? Найпоширеніші хаки і атаки
Фішинг – зловмисники вивчають інтереси/запити співробітників бірж та розсилають їм цільові провокативні повідомлення, які містять фішингові посилання або вкладення: файли (DOC/PDF) або зображення з експлойтом. Це робиться через усі можливі канали електронного зв’язку, включаючи email, месенджери, соцмережі. У результаті взаємодії зі шкідливими об’єктами, відбувається компрометація комп’ютера, сервера або облікового запису співробітника, вступає в дію шкідливий, шпигунський код, який може виступати: трояном, кейлогером, стилером. Це приводить до зламу серверів, гаманців та інших активів. Так був зламаний Binance.
DDoS (Distributed Denial of Service) – зловмисники здійснюють величезну кількість запитів з різних ресурсів та IP-адрес на цільовий сервер, у результаті чого, невзмозі їх обробити, він падає, його робота паралізована і сервер надсилає код 500 – відмова в обслуговуванні. Подібні атаки не рідко використовуються як “димова завіса”, і на їх фоні розгортаються значно складніші операції. Часто DDOS-атаки проводяться з метою шантажувати власника криптобіржі за викуп, адже кожна година недоступності може коштувати мільйони і знизити рейтинг, обвалити курс криптовалют. Варто відмітити, що DDoS-атаки на сам Блокчейн також можливі, але трапляються рідко, що пояснюється стійкістю та складністю архітектури.
Міжсайтовий скриптинг (XSS) – впровадження шкідливих скриптів на веб-сайт біржі для крадіжки даних про сеанси користувачів або перенаправлення їх на фішингові сайти.
SQL Injection – використання вразливостей у запитах до бази даних для отримання несанкціонованого доступу або маніпулювання даними.
SSRF (Side Server Request Forgery) – зловмисники знаходять точку входу, наприклад API, і намагаються обманом змусити сервер виконати шкідливі запити на своїй стороні, що приводить до розкриття конфіденційної інформації та подальшого зламу. Незахищені або погано розроблені API можуть привести до вразливостей SSRF.
Bruteforce – це атаки грубої сили з перебором різноманітних значень/параметрів, метою яких є підібрати вдале значення, яке приведе до збігу, наприклад пароль або логін (або і те, і інше) й у висновку отримати доступ на сервер. Бруту часто піддаються сторінки входу без двофакторної авторизації, адмін-панелі, SSH/FTP/SMTP та інші протоколи, які відкривають доступ на сервер. Слабкі паролі, відсутність багатофакторної автентифікації та неналежний контроль доступу створюють ризики брутфорс-перебору.
Misconfiguration Security – це вразливості інфраструктури, які з’являються в результаті: неправильного налаштування, неналежного обслуговування, невідповідності правилам, політикам, стандартам безпеки. Хакери використовують їх як дірки для своїх експлойтів та компрометують сервери.
Supply Chain Attack – атаки на ланцюжки поставок, використання вразливостей у сторонньому програмному забезпеченні або інтеграціях, що використовується біржею.
Онлайн-аудитори безпеки криптовалютних активів
Оцінити безпеку тої чи іншої біржі, гаманця чи смарт-контракту доможуть онлайн-аудитори. Це сервіси, які здійснюють публічну оцінку захищеності популярних криптовалютних платформ.
Ось кращі з них:
CertiK – це унікальний онлайн-аудитор криптовалютних активів (перевіряє біржі, гаманці, смарт-контракти і т.д.), заснований професорами Єльського та Колумбійського університетів. Сервіс містить комплексний набір інструментів для аналізу безпеки криптовалютних активів. Показує чимало цінної інформації та статистики, наприклад BugBounty-програми популярних бірж, репутація, ліквідність, знайдені вразливості, публічно відомі експлойти та багато іншого.
Defillama – ще один чудовий сервіс, який виконує чимало задач. Тут маса аналітики, але найцікавішим є розділ Hacks. Він показує статистику та список останніх кіберінцидентів, пов’язаних з криптобіржами, у хронологічному порядку з коротким описом та посиланням на деталі.
Paladin Blockchain Security – компанія з кібербезпеки, яка спеціалізується на аудиті смарт-контрактів. На сайті у вільному доступі розміщені PDF-файли їх аудитів, що дає можливість ознайомитись з найпоширенішими ризиками та рекомендаціями щодо їх усунення.
SolidProof – німецька компанія blockchain-аудиторів, які мають у своєму активі сотні успішних проєктів з аудиту безпеки смарт-контрактів. Усі вони викладені на їх сайті з посиланням на GitHub-профіль, який містить PDF-звіти.
HACKEN – українська міжнародна компанія, яка спеціалізується на аудиті безпеки проєктів Web3 на основі Blockchain. На їх офіційному сайті можна ознайомитись з повним переліком аудитів популярних криптовалютних бірж.
Щоби знати як тестувати криптобіржу – треба досконало знати її архітектуру, заглибитися в принцип розробки.
За своєю архітектурою криптовалютна біржа – це веб-додаток, який має програмну і апаратну частину, має backend і frontend, серверну інфраструктуру та мережеві інтерфейси.
Отже, пентест біржі не сильно відрізняється від пентесту платіжних онлайн-сервісів. Методики захисту подібних додатків базуються на практиках Application Security, міжнародних стандартах і фреймворках безпеки, таких як ISO 27001, PCI DSS, HIPAA, COBIT та інших.
Технологічний стек
Серверна інфраструктура
Фізичні (dedicated) і віртуальні (vps) сервери на базі AWS/GCP/Azure або інших, які обслуговуються UNIX-подібними операційними системами, з підключеною до них Apache Kafka (для поточної обробки даних) та централізованої аналітики (для моніторингу і візуалізації даних), наприклад: Splunk, Graffana, Kibana.
Веб-платформа: веб-сайт, який виконує реєстрацію і створення акаунту користувача, включає персональний кабінет, різноманітні дашборди, історію операцій, доступ до API-функцій/інтеграцій.
Адміністративні електронні ресурси: службові і технічні піддомени, API, CMS, CRM, панелі-керування, білінг-панелі, система керування ордерами.
Мобільний додаток: Android/iOS.
Cybersecurity інфраструктура
Firewall/WAF/IPS/IDS/NGFW (блокування ботів і підозрілих запитів, IP-адрес, user-agent, пристроїв, геолокацій, формували чорних і білих списків, застосування капчі, напр. Google reCaptcha)
SSL/TLS (шифрування каналів передачі даних, підтримка актуальних протоколів TLS 1.2-1.3)
Шифрування/хешування даних (паролі, бази даних)
Резервне копіювання (автоматичні бекапи за розкладом, вивантаження у хмару)
Моніторинг змін (аналіз файлової структури, запис будь-яких змін у вихідному коді)
Контроль доступу (розмежування привілеїв для різних груп користувачів)
MFA/2FA/OTP (мультифакторна, двофакторна авторизація, google authentificator, захист від несанкціонованого доступу)
Anti-DDoS (захист від ddos-атак на рівнях L3/L4, L7)
Anti-Fraud (аналіз транзакцій, виявлення різноманітних аномалій, )
Anti-Phishing (системи захисту від фішингу)
DLP (системи запобігання витоку інформації)
SIEM (системи моніторингу та менеджменту кіберінцидентів)
Приклад політики антифрод системи для криптобіржі.
Організаційна структура
Організаційно, кожна біржа, як і будь-яка бізнес-компанія, складається з різних відділів.
Перед тим як спланувати атаку, хакери уважно та ретельно вивчають список співробітників, здійснюючи OSINT/HUMINT/BI розвідку.
Давайте коротко розберемо штат середньостатистичної криптобіржі і проаналізуємо які співробітники можуть зацікавити зловмисника:
IT-відділ – інженери, програмісти, адміни, тестувальники, сек’юріті. Останні не завжди присутні у штаті і можуть найматися на аутсорсі для проведення нерегулярних робіт, у чому і полягає основна помилка деяких криптобірж. Тому, що в такому випадку основну роботу по виявленню і попередженню ризиків/витоків/зламів беруть на себе адміністратори, які не рідко повністю покладаються на автоматизовані системи. Звідси численні помилки у дизайні інфраструктури, вихідному коді, алгоритмах. Потужні хакерські APT-угрупування часто засилають свою агентуру в IT-відділи під виглядом інженерів. Ті збирають інсайдерську інформацію, пересилають свпівучасникам та заливають шкідливі бекдори.
Sales-відділ – менеджери, продажники. Проводять дзвінки, домовляються про зустрічі і продажі. Саме вони найчастіше стають жертвами “хакерского улову”. На них здійснюються широкомасштабні фішингові облави, що приводять до розкриття облікових записів, зламу комп’ютерів, мобільних пристроїв і т.д.
Маркетинговий відділ – люди, які відповідають за PR, роботу зі ЗМІ, реферальні програми, email-розсилки. Тут працюють різні SMM-ники, SEOшники, інтернет-маркетологи, рекламщики. Цю категорію також полюбляють хакери, адже вони, зазвичай, скептично відносяться до приватності і анонімності, а відтак легко ідентифікуються в інтернеті, відстежуються та зламуються.
Фінансовий відділ – бухгалтери, банкіри, бізнес-аналітики, директори фінансів. Вони відповідають за бізнес-операції і ліквідність, моніторять курс валют і визначають комісії, здійснюють виплати, проводять розрахунки і таке інше. Належать до вищої керівної ланки. Рідко, але все-таки потрапляють на гачок соцінженерів, тому що дозволяють собі нехтувати правилами кібербезпеки.
Юридичний відділ – це юристи, правознавці, консультанти. Відповідають за AML/KYC/KYT верифікацію, Політики та Правила криптобіржі. Можуть співпрацювати з банківськими установами та правоохоронними органами для врегулювання тих чи іших питань. Це одна з найграмотніших груп, люди з досвідом, які знають, що таке інформаційна безпека та гігієна, а тому рідко “клюють на гачок” хакерів.
Support-відділ – це оператори і спеціалісти технічної технічної підтримки (T1/T2/T3), які надають супровід користувачам в режимі онлайн 24/7, виконують роль асистентів, ведуть комунікацію щодо вирішення різноманітних проблем, а також передають тікети в ІТ-відділ для вирішення. Вони можуть бути місточком для проникнення хакерів, хоча різні лінії підтримки мають різні рівні доступу і повноваження.
Як бачимо, практично кожен з цих відділів є вразливим і потенційно може бути атакований. Компанії повинні якомога більше часу приділяти навчанню своїх співробітників з кібербезпеки, а також проводити регулярне тестування на пронимкнення, а також заходи Red Team з використанням технік соціальної інженерії.
Архітектура криптовалютного гаманця
Криптовалютний гаманець (криптогаманець, англ. Cryptowallet) – це програмно-апаратне забезпечення, яке дозволяє отримувати, зберігати, пересилати криптовалюту. Криптогаманець зберігає криптографічні ключі доступу до рахунку Blockchain, у якому міститься криптовалюта. Отже, криптогаманець насправді не є вмістилищем чи хранилищем криптовалюти – він виконує роль ключа до віртуального сейфу. Фактично, це аналог банківської картки.
Технічна архітектура криптовалютного гаманця складається з наступних компонентів:
Ключі доступу:
🗝️ Відкритий, публічний ключ (public key) – це загальнодоступна адреса вашого гаманця, закодована в base58, виконує функцію ідентифікатора власника гаманця і реквізиту для переказів криптовалюти.
🗝️ Закритий, приватний ключ (private key) – це конфіденційний ключ доступу до блокчейну, в якому зберігається криптовалюта. Приватним ключем підписуютьcя транзакції і розшифровуються дані. Фактично, цей ключ підтверджує право власності. Ключ складається з паролю та мнемоніка (парольна seed-фраза відновлення ключа).
Адреса гаманця – це публічна адреса у вигляді рядка символів, згенерований з допомогою кодування Base58, за якою можна відправляти криптовалюту на гаманець. Вона генерується на основі приватного ключа і може бути використана для отримання платежів.
Інтерфейс користувача – веб-інтерфейс, мобільний додаток або програмне забезпечення для роботи з користувачем. Інтерфейси зазвичай дозволяють переглядати баланс, виконувати транзакції та керувати гаманцем. Застосовуються такі технології як: HTML/CSS/JavaScript, React, Angular, Node.js/Vue.js, AJAX, API.
Криптографічні бібліотеки – криптографічні алгоритми для генерації ключів, підпису транзакцій та забезпечення безпеки. Наприклад: openssl, libsodium, Curve25519, secp256k1, XChaCha20, RSA, ECC, AES, SHA та інші.
Збереження даних – приватні ключі та інші конфіденційні дані гаманця повинні бути збережені в безпечному місці. Це може бути зашифроване сховище даних або апаратний пристрій.
Усі криптогаманці глобально можна поділити на 2 типи:
💰 Кастодіальні (від англ. custodial – хранитель) – це гаманці на стороні інтернет-сервісів, які зберігають приватний ключ. Подібні гаманці ще називають “гарячими”, адже вони постійно підключені до інтернету і контролюються операторами. Їх, зазвичай, пропонують централізовані криптовалютні біржі. Таким чином власник такого кастодіального гаманця не має 100% контролю над своїм блокчейном. Безпека такого гаманця прямопропорційно залежить від безпеки сервісу. Якщо біржа недостатньо захищена і її взламають – ваші криптогаманці будуть також зламані, а цифрові активи втрачені. Тому кастодіальні гаманці не є надійними з точки зору безпеки Нульової довіри, в них не бажано зберігати великі суми.
💰 Некастодіальні – це гаманці, які дають користувачу повне керування над приватним ключем, який може зберігатись як на локальному, апаратному пристрої, так і в хмарі. Користувач сам відповідає за свою безпеку. Некастодіальні гаманці можуть бути програмними (десктопні, веб-додатки) і апаратними (флешка, цифрові пристрої), які ще називають “холодними”, тому що вони не потребують цілодобового доступу до інтернет і можуть перебувати офлайн.
Апаратний криптогаманець, під’єднаний до ПК. Здійснюється транзакція.
Окрім того, існує ще один тип “холодного гаманця” – Paper Wallet. Паперовий гаманець створюється за допомогою пари ключів, згенерованої на комп’ютері без підключення до Інтернету. Закритий ключ записується або друкується на папері, а потім стирається з комп’ютера. Паперовий гаманець також містить QR-коди на відправку/отримання криптовалюти. Він не потребує доступу до інтернету, однак щоб перевірити рахунок необхідно під’єднатися до сервісу.
Види і етапи тестування на проникнення криптовалютних бірж і гаманців
Захистити криптовалютну біржу від зламу може лише кваліфікований пентест, який з допомогою Offensive Security та Red Team методів відтворить реальні дії зловмисників.
Власники часто обмежуються аудитом, що залишає поза увагою безліч деталей, які “намацуються” лише вручну, а отже отримують недостатньо повну картину. У висновку, це призводить до повторних атак і величезних збитків.
Типи тестування на проникнення
Black-Box – пентест “чорної скриньки”. Повністю відповідає поведінці хакера, який не володіє відомостями про систему і проводить атаку “з нуля”.
Gray Box – пентест “сірої скриньки”, який передбачає певні інсайдерські дані. Також можуть бути створені та надані облікові записи для тестування.
White Box – пентест “білої скриньки”, який передбачає двосторонню роботу пентестера і замовника. Передбачає співпрацю з адміністраторами, командою захисту Blue Team. Пентестеру можуть надаватися відомості з системних журналів, доступ до вихідного коду, привілеї на читання тих чи іших файлів/папок.
Етапи тестування на проникнення
Збір інформації:
Пасивний збір. OSINT/HUMINT/SOCMINT/IMINT. Конкурентна розвідка (Business Intelligence, BI). Вивчення цілей та середовища. Аналіз ресурсів і персоналу. Збір даних про інфраструктуру з відкритих джерел. Google Dorks, Fingerprinting. Аналіз DNS-зони і HTTP-заголовків.
Активний збір. DAST/SAST/IAST сканування бекенду (мережевого периметру) і фронтенду (веб-ресурсів) досліджуваного об’єкту. Використання інструментів: Metaploit, SQLmap, OWASP Zap, Burp suite, Acunetix, Nessus, WPscan та інші. Перевірки вручну. Аналіз дизайну і архітектури досліджуваного об’єкту. Збір компонентів і технологічного стеку. Виявлення помилок і вразливостей.
Обробка інформації. Оцінка, градація, аналіз знайдених вразливостей. Відповідність галузевим стандартам. Моделювання загроз. Вибір позиції. Підбір інструментів і експлойтів. Написання сценаріїв, планування атак.
Експлуатація вразливостей. Проведення атак. Симуляція дій зловмисника з використанням інструментів, технік і методик Етичного Хакінгу, Offensive Security і Red Team стратегій. Здійснення ін’єкцій. Атаких переповнення, перехоплення, SQL/PHP/XSS-інт’єкції, міжсайтові та міжсерверні запити (CSRF/SSRF). Пост-експлуатація. Ескалація привілеїв.
Підготовка звіту. Збір доказової бази (Proof of Concept, POC): скріншоти, таблиці, діаграми. Детальний опис усіх кроків, подій, перевірок пентесту. Формування висновків та рекомендацій щодо покращення.
Чек-ліст тестування на проникнення криптовалютних бірж
Тестування реєстрації облікового запису:
Перевірка фільтрації вхідних параметрів під час реєстрації.
Перевірка функціоналу підтвердження користувача.
Перевірка можливості перебору імен користувачів, адрес електронної пошти та номерів телефонів.
Перевірка можливості обходу перевірки капчі під час реєстрації.
Перевірка вразливостей та логіки при скиданні паролів та зміні даних.
Перевірка шифрування/хешування паролів.
Тестування аутентифікації та авторизації:
Перевірка міцності паролів.
Тестування на наявність захисту від атак перебору паролів (брутфорс).
Перевірка механізмів двофакторної аутентифікації.
Перевірка прав доступу користувачів до різних функціональних можливостей платформи.
Перевірка захисту від маніпуляції параметрами сеансу.
Тестування по методології OWASP. Включає велику кількість перевірочних тестів, які розглядають усі можливі загрози безпеки електронних ресурсів.
Перевірка HTTP заголовків.
Перевірка TCP/UDP портів.
Перевірка наявності захисту від міжсайтового сценарію (XSS) та міжсайтового піднесення привілеїв (XSRF/CSRF).
Перевірка наявності захисту від впровадження коду (Injection Attacks), таких як SQL ін’єкції, PHP ін’єкції тощо.
Перевірка наявності захисту від атак на злам токенів доступу (CSRF/JWT tokens).
Перевірка захисту серверів та мережі від розподілених атак на відмову в обслуговуванні (DDoS).
Тестування фреймворків, бібліотек, компонентів. Аналіз сторонніх компонентів на вразливості, наприклад CMS/СRM, бібліотеки jQuery/Bootstrap та іншого програмного забезпечення. Перевірка актуальності встановлених патчів безпеки на всіх компонентах системи.
Тестування API:
Перевірка наявності механізмів аутентифікації та авторизації для доступу до API.
Тестування на наявність захисту від атак перебору аутентифікаційних даних.
Перевірка та тестування прав доступу користувачів до різних методів API.
Перевірка наявності обмежень та валідації даних, які надходять через API.
Перевірка обмежень на кількість запитів, ліміти та квоти.
Спроба виконання несанкціонованих дій на сервері через SSRF атаку.
Тестування WebSockets.
Тестування KYC Verification (Know Your Client):
У цьому розділі розглядається тестування завантаження файлів (фотографії або скріншоти документів, що підтверджують особистість людини).
Перевірка на можливість завантаження файлів, що виконуються на сервер системи.
Перевірка на можливість розкрадання відсканованих документів – брутфорс імен файлів та директорій.
Перевірка неавторизованого доступу до файлової системи сервера.
Тестування вводу-виводу криптовалютних активів:
Перевірка правильності округлення чисел під час введення-виведення коштів.
Перевірка заміни адреси гаманця під час введення-виведення коштів (найпростіша помилка — це не перевірка гаманця відправника та одержувача, але дуже критична).
Перевірка логіки роботи під час введення-виведення коштів.
Перевірка обходу підтвердження виконання операції купівлі-продажу (код двофакторної аутентифікації, OTP, спеціального пароля).
Перевірка Race condition уразливостей під час виведення коштів.
Перевірка можливості виходу за обмеження введення/виведення коштів.
Тестування купівлі-продажу криптовалют:
Перевірка правильності округлення чисел під час купівлі-продажу коштів.
Перевірка заміни адреси під час купівлі-продажу. Перевірка логіки роботи під час купівлі-продажу коштів.
Перевірка можливості заміни чи модифікації ордера на продаж. Перевірка обходу підтвердження виконання операції купівлі-продажу (код двофакторної аутентифікації, OTP, спеціального пароля).
Перевірка можливості Race condition під час здійснення операцій купівлі/продажу.
Перевірка можливості заміни адреси гаманців.
Стандарти і документації безпеки криптовалютних активів
Octopus – фреймворк для аналізу безпеки модуля WebAssembly та смарт-контракту Blockchain.
Surya – утиліта для аналізу смарт-контрактів, надає низку візуальних результатів та інформацію про структуру контрактів. Також підтримує запити до графіка викликів функцій різними способами, щоб допомогти в ручній перевірці контрактів.
Solgraph – cтворює графік DOT, який візуалізує потік керування функціями контракту Solidity та висвітлює потенційні вразливості безпеки.
Maian – автоматизований інструмент для пошуку вразливостей в смарт-контрактах Ethereum.
Porosity – декомпілятор і інструмент аналізу безпеки для смарт-контрактів Ethereum.
Ethersplay – плагін Binary Ninja, який містить дизассемблер EVM і відповідні інструменти аналізу.
IDA-EVM – модуль програмного забезпечення IDA для аналізу Ethereum Virtual Machine (EVM).
Український білий хакер. Аудитор, OSINT-аналітик. Penetration Tester в KR. Laboratories. Досліджує інтернет-технології з 2011 року. Впроваджує кіберзахист інформаційних систем та електронних ресурсів на всіх рівнях.