Close

Методичка з тестування на проникнення криптовалютних бірж

Популярність 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.

Порівняння CEX і DEX криптобірж

Усі децентралізовані біржі (DEX) є частиною великої мережі децентралізованих фінансів – DeFi (Decentralized Finance). Мережа включає не лише біржі, а й гаманці, токени, смарт-контракти, децентралізовані програми DApps, стейблкоїни.

DeFi Scheme

Кращі децентралізовані криптобіржі:

👉 Статистика по децентралізованим біржам на порталі 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. Він показує статистику та список останніх кіберінцидентів, пов’язаних з криптобіржами, у хронологічному порядку з коротким описом та посиланням на деталі.

Defillama cryptocurrency hacks explorer

  • Paladin Blockchain Security – компанія з кібербезпеки, яка спеціалізується на аудиті смарт-контрактів. На сайті у вільному доступі розміщені PDF-файли їх аудитів, що дає можливість ознайомитись з найпоширенішими ризиками та рекомендаціями щодо їх усунення.
  • SolidProof – німецька компанія blockchain-аудиторів, які мають у своєму активі сотні успішних проєктів з аудиту безпеки смарт-контрактів. Усі вони викладені на їх сайті з посиланням на GitHub-профіль, який містить PDF-звіти.
  • HACKEN – українська міжнародна компанія, яка спеціалізується на аудиті безпеки проєктів Web3 на основі Blockchain. На їх офіційному сайті можна ознайомитись з повним переліком аудитів популярних криптовалютних бірж.

👉 Дивитись список BugBounty програм від популярних криптобірж>>

Архітектура криптовалютної біржі

Щоби знати як тестувати криптобіржу – треба досконало знати її архітектуру, заглибитися в принцип розробки.

За своєю архітектурою криптовалютна біржа – це веб-додаток, який має програмну і апаратну частину, має backend і frontend, серверну інфраструктуру та мережеві інтерфейси.

Отже, пентест біржі не сильно відрізняється від пентесту платіжних онлайн-сервісів. Методики захисту подібних додатків базуються на практиках Application Security, міжнародних стандартах і фреймворках безпеки, таких як ISO 27001, PCI DSS, HIPAA, COBIT та інших.

Технологічний стек

  • Серверна інфраструктура
    • Фізичні (dedicated) і віртуальні (vps) сервери на базі AWS/GCP/Azure або інших, які обслуговуються UNIX-подібними операційними системами, з підключеною до них Apache Kafka (для поточної обробки даних) та централізованої аналітики (для моніторингу і візуалізації даних), наприклад: Splunk, Graffana, Kibana.
  • Технології
    • Віртуалізація, контейнеризація, оркестрація: KVM, VMware, Docker, Kubernetes.
    • Бази даних: MySQL, PostgreSQL, нереляційні бази даних MongoDB, Cassandra, Redis.
    • Мови програмування: С++, Go, Ruby, Java, .NET, Python, Django, PHP, NodeJS.
    • API: Rest API, GraphQL, WebSocket.
    • Push: Amazon SNS, Twilio, MAP.
    • Fronted технології: jQuery, AngularJS, React, Angular, Bootstrap.
    • PHP-фреймворки: Laravel, Codeigniter.
    • Android технології: Android SDK, Kotlin, RxJava, Android Studio, Ionic, Xamarin, Flutter.
    • iOS технології: Swift, XCode, iOS SDK, Core Data, Ionic, Xamarin, Flutter.
  • Електронні ресурси
    • Веб-платформа: веб-сайт, який виконує реєстрацію і створення акаунту користувача, включає персональний кабінет, різноманітні дашборди, історію операцій, доступ до 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, у якому міститься криптовалюта. Отже, криптогаманець насправді не є вмістилищем чи хранилищем криптовалюти – він виконує роль ключа до віртуального сейфу. Фактично, це аналог банківської картки.

Технічна архітектура криптовалютного гаманця складається з наступних компонентів:

  1. Ключі доступу:
    • 🗝️ Відкритий, публічний ключ (public key) – це загальнодоступна адреса вашого гаманця, закодована в base58, виконує функцію ідентифікатора власника гаманця і реквізиту для переказів криптовалюти.
    • 🗝️ Закритий, приватний ключ (private key) – це конфіденційний ключ доступу до блокчейну, в якому зберігається криптовалюта. Приватним ключем підписуютьcя транзакції і розшифровуються дані. Фактично, цей ключ підтверджує право власності. Ключ складається з паролю та мнемоніка (парольна seed-фраза відновлення ключа).
  2. Адреса гаманця – це публічна адреса у вигляді рядка символів, згенерований з допомогою кодування Base58, за якою можна відправляти криптовалюту на гаманець. Вона генерується на основі приватного ключа і може бути використана для отримання платежів.
  3. Інтерфейс користувача – веб-інтерфейс, мобільний додаток або програмне забезпечення для роботи з користувачем. Інтерфейси зазвичай дозволяють переглядати баланс, виконувати транзакції та керувати гаманцем. Застосовуються такі технології як: HTML/CSS/JavaScript, React, Angular, Node.js/Vue.js, AJAX, API.
  4. Криптографічні бібліотеки – криптографічні алгоритми для генерації ключів, підпису транзакцій та забезпечення безпеки. Наприклад: openssl, libsodium, Curve25519, secp256k1, XChaCha20, RSA, ECC, AES, SHA та інші.
  5. Збереження даних – приватні ключі та інші конфіденційні дані гаманця повинні бути збережені в безпечному місці. Це може бути зашифроване сховище даних або апаратний пристрій.

Усі криптогаманці глобально можна поділити на 2 типи:

  • 💰 Кастодіальні (від англ. custodial – хранитель) – це гаманці на стороні інтернет-сервісів, які зберігають приватний ключ. Подібні гаманці ще називають “гарячими”, адже вони постійно підключені до інтернету і контролюються операторами. Їх, зазвичай, пропонують централізовані криптовалютні біржі. Таким чином власник такого кастодіального гаманця не має 100% контролю над своїм блокчейном. Безпека такого гаманця прямопропорційно залежить від безпеки сервісу. Якщо біржа недостатньо захищена і її взламають – ваші криптогаманці будуть також зламані, а цифрові активи втрачені. Тому кастодіальні гаманці не є надійними з точки зору безпеки Нульової довіри, в них не бажано зберігати великі суми.
  • 💰 Некастодіальні – це гаманці, які дають користувачу повне керування над приватним ключем, який може зберігатись як на локальному, апаратному пристрої, так і в хмарі. Користувач сам відповідає за свою безпеку. Некастодіальні гаманці можуть бути програмними (десктопні, веб-додатки) і апаратними (флешка, цифрові пристрої), які ще називають “холодними”, тому що вони не потребують цілодобового доступу до інтернет і можуть перебувати офлайн.

Кращі некастодіальні програмні гаманці:

Кращі некастодіальні апаратні гаманці:

Hadware Crypto Wallet

Апаратний криптогаманець, під’єднаний до ПК. Здійснюється транзакція.

Окрім того, існує ще один тип “холодного гаманця” – Paper Wallet. Паперовий гаманець створюється за допомогою пари ключів, згенерованої на комп’ютері без підключення до Інтернету. Закритий ключ записується або друкується на папері, а потім стирається з комп’ютера. Паперовий гаманець також містить QR-коди на відправку/отримання криптовалюти. Він не потребує доступу до інтернету, однак щоб перевірити рахунок необхідно під’єднатися до сервісу.

Паперові гаманці Bitcoin

👉 Дивитись рейтинг безпеки і оцінку захищеності криптогаманців на платформі CertiK>>

Види і етапи тестування на проникнення криптовалютних бірж і гаманців

Тестування на проникнення криптовалют

Захистити криптовалютну біржу від зламу може лише кваліфікований пентест, який з допомогою Offensive Security та Red Team методів відтворить реальні дії зловмисників.

Власники часто обмежуються аудитом, що залишає поза увагою безліч деталей, які “намацуються” лише вручну, а отже отримують недостатньо повну картину. У висновку, це призводить до повторних атак і величезних збитків.

Типи тестування на проникнення

  • Black-Box – пентест “чорної скриньки”. Повністю відповідає поведінці хакера, який не володіє відомостями про систему і проводить атаку “з нуля”.
  • Gray Box – пентест “сірої скриньки”, який передбачає певні інсайдерські дані. Також можуть бути створені та надані облікові записи для тестування.
  • White Box – пентест “білої скриньки”, який передбачає двосторонню роботу пентестера і замовника. Передбачає співпрацю з адміністраторами, командою захисту Blue Team. Пентестеру можуть надаватися відомості з системних журналів, доступ до вихідного коду, привілеї на читання тих чи іших файлів/папок.

Етапи тестування на проникнення

  1. Збір інформації:
    • Пасивний збір. OSINT/HUMINT/SOCMINT/IMINT. Конкурентна розвідка (Business Intelligence, BI). Вивчення цілей та середовища. Аналіз ресурсів і персоналу. Збір даних про інфраструктуру з відкритих джерел. Google Dorks, Fingerprinting. Аналіз DNS-зони і HTTP-заголовків. 
    • Активний збір. DAST/SAST/IAST сканування бекенду (мережевого периметру) і фронтенду (веб-ресурсів) досліджуваного об’єкту. Використання інструментів: Metaploit, SQLmap, OWASP Zap, Burp suite, Acunetix, Nessus, WPscan та інші. Перевірки вручну. Аналіз дизайну і архітектури досліджуваного об’єкту. Збір компонентів і технологічного стеку. Виявлення помилок і вразливостей.
    • Обробка інформації. Оцінка, градація, аналіз знайдених вразливостей. Відповідність галузевим стандартам. Моделювання загроз. Вибір позиції. Підбір інструментів і експлойтів. Написання сценаріїв, планування атак.
  2. Експлуатація вразливостей. Проведення атак. Симуляція дій зловмисника з використанням інструментів, технік і методик Етичного Хакінгу, Offensive Security і Red Team стратегій. Здійснення ін’єкцій. Атаких переповнення, перехоплення, SQL/PHP/XSS-інт’єкції, міжсайтові та міжсерверні запити (CSRF/SSRF). Пост-експлуатація. Ескалація привілеїв. 
  3. Підготовка звіту. Збір доказової бази (Proof of Concept, POC): скріншоти, таблиці, діаграми. Детальний опис усіх кроків, подій, перевірок пентесту. Формування висновків та рекомендацій щодо покращення.

Чек-ліст тестування на проникнення криптовалютних бірж

  1. Тестування реєстрації облікового запису:
    • Перевірка фільтрації вхідних параметрів під час реєстрації.
    • Перевірка функціоналу підтвердження користувача.
    • Перевірка можливості перебору імен користувачів, адрес електронної пошти та номерів телефонів.
    • Перевірка можливості обходу перевірки капчі під час реєстрації.
    • Перевірка вразливостей та логіки при скиданні паролів та зміні даних.
    • Перевірка шифрування/хешування паролів.
  2. Тестування аутентифікації та авторизації:
    •  Перевірка міцності паролів.
    • Тестування на наявність захисту від атак перебору паролів (брутфорс).
    • Перевірка механізмів двофакторної аутентифікації.
    • Перевірка прав доступу користувачів до різних функціональних можливостей платформи.
    • Перевірка захисту від маніпуляції параметрами сеансу.
  3. Тестування по методології OWASP. Включає велику кількість перевірочних тестів, які розглядають усі можливі загрози безпеки електронних ресурсів.
    • Перевірка HTTP заголовків.
    • Перевірка TCP/UDP портів.
    • Перевірка наявності захисту від міжсайтового сценарію (XSS) та міжсайтового піднесення привілеїв (XSRF/CSRF).
    • Перевірка наявності захисту від впровадження коду (Injection Attacks), таких як SQL ін’єкції, PHP ін’єкції тощо.
    • Перевірка наявності захисту від атак на злам токенів доступу (CSRF/JWT tokens).
    • Перевірка захисту серверів та мережі від розподілених атак на відмову в обслуговуванні (DDoS).
  4. Тестування фреймворків, бібліотек, компонентів. Аналіз сторонніх компонентів на вразливості, наприклад CMS/СRM, бібліотеки jQuery/Bootstrap та іншого програмного забезпечення. Перевірка актуальності встановлених патчів безпеки на всіх компонентах системи.
  5. Тестування API: 
    • Перевірка наявності механізмів аутентифікації та авторизації для доступу до API.
    • Тестування на наявність захисту від атак перебору аутентифікаційних даних.
    • Перевірка та тестування прав доступу користувачів до різних методів API.
    • Перевірка наявності обмежень та валідації даних, які надходять через API.
    • Перевірка обмежень на кількість запитів, ліміти та квоти.
    • Спроба виконання несанкціонованих дій на сервері через SSRF атаку.
    • Тестування WebSockets.
  6. Тестування KYC Verification (Know Your Client):
    • У цьому розділі розглядається тестування завантаження файлів (фотографії або скріншоти документів, що підтверджують особистість людини).
    • Перевірка на можливість завантаження файлів, що виконуються на сервер системи.
    • Перевірка на можливість розкрадання відсканованих документів – брутфорс імен файлів та директорій.
    • Перевірка неавторизованого доступу до файлової системи сервера.
  7. Тестування вводу-виводу криптовалютних активів:
    • Перевірка правильності округлення чисел під час введення-виведення коштів.
    • Перевірка заміни адреси гаманця під час введення-виведення коштів (найпростіша помилка — це не перевірка гаманця відправника та одержувача, але дуже критична).
    • Перевірка логіки роботи під час введення-виведення коштів.
    • Перевірка обходу підтвердження виконання операції купівлі-продажу (код двофакторної аутентифікації, OTP, спеціального пароля).
    • Перевірка Race condition уразливостей під час виведення коштів.
    • Перевірка можливості виходу за обмеження введення/виведення коштів.
  8. Тестування купівлі-продажу криптовалют:
    • Перевірка правильності округлення чисел під час купівлі-продажу коштів.
    • Перевірка заміни адреси під час купівлі-продажу. Перевірка логіки роботи під час купівлі-продажу коштів.
    • Перевірка можливості заміни чи модифікації ордера на продаж. Перевірка обходу підтвердження виконання операції купівлі-продажу (код двофакторної аутентифікації, OTP, спеціального пароля).
    • Перевірка можливості Race condition під час здійснення операцій купівлі/продажу.
    • Перевірка можливості заміни адреси гаманців.

Стандарти і документації безпеки криптовалютних активів

Інструменти для тестування на проникнення криптобірж

  • Mythril – Open-source EVM bytecode аналізатор безпеки.
  • MythX – платформа перевірки безпеки та екосистема інструментів для Ethereum розробників.
  • Echidna – програма на мові Haskell, призначена для фаззингу/тестування смарт-контрактів Ethereun.
  • Manticore – інструмент для тестування смарт-контрактів і бінарників.
  • Oyente – аналізатор смарт-контрактів.
  • Octopus – фреймворк для аналізу безпеки модуля WebAssembly
    та смарт-контракту Blockchain.
  • Surya – утиліта для аналізу смарт-контрактів, надає низку візуальних результатів та інформацію про структуру контрактів. Також підтримує запити до графіка викликів функцій різними способами, щоб допомогти в ручній перевірці контрактів.
  • Solgraph – cтворює графік DOT, який візуалізує потік керування функціями контракту Solidity та висвітлює потенційні вразливості безпеки.
  • Maian – автоматизований інструмент для пошуку вразливостей в смарт-контрактах Ethereum.
  • Porosity – декомпілятор і інструмент аналізу безпеки для смарт-контрактів Ethereum.
  • Ethersplay – плагін Binary Ninja, який містить дизассемблер EVM і відповідні інструменти аналізу.
  • IDA-EVM – модуль програмного забезпечення IDA для аналізу Ethereum Virtual Machine (EVM).
  • Evmdis – дизасемблер EVM.

Використані джерела:

  1. HACKEN. Crypto Exchange Security Audit – Full Guide
  2. HACKEN. Crypto Exchange and Crypto Wallet Pentest Methodology
  3. WhiteBit. Що таке приватний ключ: пояснюємо простими словами.
  4. CertiK. Resources.
  5. Ethereum Smart Contract Audit CheckList
  6. Blockchain Security List

ПОДІЛИТИСЬ У СОЦМЕРЕЖАХ:

0 0 голосів
Рейтинг статті
Підписатися
Сповістити про
guest
0 Коментарі
Вбудовані Відгуки
Переглянути всі коментарі
0
Цікаво почути Вашу думку!x
Отримати комерційну пропозицію
Оформити заявку
Замовити консультацію

Заповніть, будь ласка, форму й наш спеціаліст зв’яжеться з Вами та надасть безкоштовну консультацію!

Замовити дзвінок

Вкажіть, будь ласка, контактний номер телефону. Наш менеджер миттєво зв’яжеться з Вами!