Kibernetinis saugumas

Kaip suklastotas programavimo testas išviliojo 11,8 mln. JAV dolerių iš kriptovaliutų įmonės

Singapūro valdžios institucijos atskleidžia, kaip suklastotas „LinkedIn“ darbo pasiūlymas ir kenkėjiškas programavimo testas lėmė 11,8 mln. JAV dolerių kriptovaliutų praradimą pavogus sesijos žetonus.
Kaip suklastotas programavimo testas išviliojo 11,8 mln. JAV dolerių iš kriptovaliutų įmonės

Praėjusį mėnesį „Signal“ programėlėje gavau žinutę iš programuotojo, kuris beveik pakliuvo į panašius spąstus. Įdarbintojas turėjo nepriekaištingą profilį, daugybę rekomendacijų iš žinomų „Web3“ erdvės asmenybių ir darbo aprašymą, kuriame buvo siūlomas 40 % didesnis atlyginimas. Programuotojas pasitraukė tik todėl, kad „programavimo vertinimui“ reikėjo atsisiųsti specialią aplinką, užuot naudojus standartinę naršyklės pagrindu veikiančią IDE. Ši nuojauta išgelbėjo jo įmonę. Kitiems pasisekė mažiau. Singapūro policija ir Singapūro kibernetinio saugumo agentūra neseniai išsamiai aprašė pažeidimą, kai vieno darbuotojo noras siekti geresnės karjeros lėmė 11,8 mln. JAV dolerių nuostolį.

Šis incidentas yra vadovėlinis pavyzdys, kaip šiuolaikiniai grėsmių sukėlėjai apeina sudėtingą gynybą, nusitaikydami į žmogiškąjį elementą tinklo pakraštyje. Užpuolikai neieškojo nulinės dienos spragų užkardoje ar kriptografinio protokolo trūkumų. Jie ieškojo asmens, kuris norėtų įrodyti savo techninę vertę naudodamasis įmonės išduotu įrenginiu. Kol saugumo operacijų centras pastebėjo neįprastą veiklą, užpuolikai jau buvo persikėlę iš „LinkedIn“ gautųjų žinučių į pačią įmonės finansinės infrastruktūros širdį.

Psichologinis svajonių darbo kabliukas

Socialinė inžinerija yra sėkminga, nes ji išnaudoja profesines ambicijas. Kampanija prasidėjo „LinkedIn“ tinkle, kur sukčius, apsimetantis kriptovaliutų įmonės įdarbintoju, kreipėsi į auką. Šis etapas buvo skirtas ryšiui ir teisėtumui sukurti. Užpuolikas perkėlė pokalbį į el. paštą, naudodamas suklastotą domeną, kuris atspindėjo tikros įmonės adresą. Darbuotojui, greitai peržvelgiančiam savo pašto dėžutę, vienos raidės skirtumas domeno pavadinime yra beveik nepastebimas.

Interviu procesas dar labiau sustiprino apgaulę. Auka dalyvavo keliuose etapuose per „Google Meet“. Kitoje pusėje esantis asmuo laikė išjungtą kamerą, nurodydamas technines problemas arba privatumą – tai dažna taktika, naudojama siekiant paslėpti grėsmių sukėlėjų, veikiančių iš tokių jurisdikcijų kaip Šiaurės Korėja, tapatybę. Šis etapas yra skaitmeninis Trojos arklys. Tikslas – priversti auką pasijusti taip, tarsi ji dalyvautų svarbiame profesiniame vertinime, o tai susilpnina budrumą, kai ateina laikas „techniniam vertinimui“.

Kai programavimo vertinimas tampa ginklu

Paskutiniame atrankos etape auka gavo nuorodą į suklastotą svetainę. Jai buvo liepta atlikti programavimo užduotį įmonės išduotame nešiojamajame kompiuteryje. Šis prašymas yra standartinis programinės įrangos pramonėje, todėl jis yra idealus mechanizmas kenkėjiškam turiniui pristatyti. Kai auka paleido pateiktą kodą arba įdiegė siūlomą programinės įrangos aplinką, fone buvo įvykdyta kenkėjiška programa.

Ši konkreti kenkėjiška programa buvo sukurta sesijos žetonams (session tokens) rinkti. Rizikos požiūriu tai yra košmariškas scenarijus bet kuriam IT skyriui. Sesijos žetonai yra skaitmeninis atitikmuo VIP klubo apsaugininkui, kuris atpažįsta jūsų veidą po to, kai jau parodėte asmens tapatybės dokumentą. Kadangi žetonas įrodo, kad vartotojas jau autentifikuotas, užpuolikui nereikia žinoti slaptažodžio ar turėti prieigos prie aukos fizinio MFA įrenginio. Jie tiesiog įterpia pavogtą žetoną į savo naršyklę ir perima aktyvią aukos sesiją.

Programinės įrangos diegimo grandinės apnuodijimas

Kai užpuolikai gavo sesijos žetoną, jie pasiekė aukos „Bitbucket“ paskyrą. „Bitbucket“ yra kūrimo aplinkos „tamsioji materija“; ji dažnai nematoma eiliniams darbuotojams, tačiau joje saugoma pagrindinė įmonės verslo logika. Prieiga prie saugyklos (repository) yra sisteminė nesėkmė, nes ji leidžia užpuolikams matyti, kaip įmonė kuria ir diegia programinę įrangą.

Užkulisiuose įsibrovėliai pakeitė automatizuotas programinės įrangos diegimo instrukcijas. Pakeitę kodą saugykloje arba scenarijus (scripts), kurie nurodo serveriams, kaip paleisti tą kodą, užpuolikai įsitvirtino vidinėje infrastruktūroje. Šis judėjimas leido jiems peršokti nuo vieno pažeisto nešiojamojo kompiuterio prie gamybinių serverių, kurie tvarko tikrus pinigus. Įvykus tokiam pažeidimui, visas kūrimo ciklo pasitikėjimo modelis sugriūva. Užpuolikai nebebuvo tik svečiai nešiojamajame kompiuteryje; jie faktiškai tapo įmonės kodo administratoriais.

Paskutinės finansinės gynybos linijos apėjimas

Žalingiausia įsibrovimo dalis įvyko tada, kai užpuolikai pasiekė sistemas, naudojamas kriptovaliutų pervedimams apdoroti. Dauguma įmonių naudoja operacijų limitus ir kelių asmenų patvirtinimo patikras kaip apsaugos priemonę nuo vidaus sukčiavimo ar vieno taško gedimų. Tačiau užpuolikai panaudojo kredencialus, kuriuos surinko judėdami per tinklą, kad pakeistų šias kontrolės priemones.

Perrašydami taisykles, reglamentuojančias, kiek pinigų gali iškeliauti iš įmonės ir kas turi tai patvirtinti, užpuolikai atvėrė kelią masiniams pervedimams. Galutinės operacijų sumos siekė 11,8 mln. JAV dolerių. Tai išryškina architektūrinį paradoksą: net jei jūsų tinklo perimetras yra atsparus, jūsų vidinė logika išlieka pažeidžiama, jei užpuolikas gali apsimesti aukštų privilegijų vartotoju šakniniame lygmenyje. Užpuolikai neįsilaužė į blokų grandinės šifravimą; jie sugriovė žmogiškąjį procesą, kuris valdė raktus.

Valstybės remiamos veiklos šešėlis

Nors Singapūro valdžios institucijos oficialiai nepriskyrė šios konkrečios atakos jokiai grupei, taktika yra stebėtinai panaši į Šiaurės Korėjos grėsmių sukėlėjų vykdomas kampanijas. Tokios grupės kaip UNC4899, dar žinoma kaip „TraderTraitor“, bent jau nuo 2020 m. daugiausia dėmesio skiria kriptovaliutų ir blokų grandinės įmonėms. Jos žinomos tuo, kad kreipiasi į programuotojus per „LinkedIn“ ir „Telegram“ bei įtikina juos paleisti kenkėjiškus „Docker“ konteinerius arba įdiegti „bendruomenės papildinius“ tokioms programoms kaip „Obsidian“.

Ankstesniuose incidentuose šios grupės naudojo DI sukurtas asmenybes, kad apsimestų patikimais kontaktais. Šios kampanijos paverčia programuotojų aplinkas kompromitavimo taškais, siekiant gauti „GitHub“ žetonus, SSH raktus ir debesijos kredencialus. Žvelgiant proaktyviai, tai nėra atsitiktiniai kibernetiniai nusikaltimai, o tikslinės operacijos, skirtos nacionaliniams interesams finansuoti. Tikslumas, kurio reikia norint pakeisti diegimo grandines ir apeiti operacijų patikras, rodo gilias žinias apie vidinius kriptovaliutų įmonių darbo procesus.

Žmogiškosios ir techninės užkardos stiprinimas

Norėdamos išvengti šios 11,8 mln. JAV dolerių katastrofos pasikartojimo, įmonės turi žengti toliau nei baziniai saugumo informavimo mokymai. Pasikliovimas darbuotoju, kad jis pastebės suklastotą domeną, yra reaktyvi strategija, kuri anksčiau ar vėliau žlugs. Labiau detalizuotas požiūris apima infrastruktūros apsaugą taip, kad vienas pažeistas įrenginys negalėtų sužlugdyti visos įmonės.

Pirma, įmonės privalo įdiegti aparatinę daugiapakopę autentifikaciją, pavyzdžiui, FIDO2 saugumo raktus. Pavogtus sesijos žetonus daug sunkiau panaudoti, kai sistemai reikalingas fizinis prisilietimas prie tam skirto įrenginio atliekant jautrius veiksmus, pavyzdžiui, jungiantis prie kodo saugyklų. Antra, prieiga prie „Bitbucket“ ir kitų svarbių įrankių turėtų būti valdoma per „Just-in-Time“ (JIT) teisių suteikimą. Nė vienas programuotojas neturėtų turėti nuolatinės prieigos prie gamybinių diegimo grandinių.

Galiausiai, bet koks su darbu susijęs techninis vertinimas turėtų vykti izoliuotoje aplinkoje (sandbox), kuri yra visiškai atskirta nuo įmonės tinklo. Jei įdarbintojas prašo kandidato paleisti kodą įmonės nešiojamajame kompiuteryje, tai turėtų sukelti neatidėliotiną įspėjimą saugumo operacijų centre. Atakos paviršiaus vertinimas reiškia pripažinimą, kad programuotojo nešiojamasis kompiuteris dažnai yra vertingiausias taikinys pastate.

Praktiniai patarimai techninėms komandoms

  1. Visoms su įdarbinimu susijusioms užduotims, įskaitant programavimo testus ir interviu, naudokite tam skirtą, ne įmonės techninę įrangą.
  2. Įdiekite griežtą programų lygio papildinių politiką produktyvumo įrankiams, kad išvengtumėte neteisėto kodo vykdymo.
  3. Audituokite savo „Bitbucket“ ir „GitHub“ prieigos žurnalus, ieškodami sesijos užgrobimo požymių, pavyzdžiui, prisijungimų iš netikėtų IP adresų naudojant galiojančius žetonus.
  4. Nedelsdami atšaukite aktyvias sesijas, jei darbuotojas praneša apie įtartiną elgesį išorinės sąveikos metu.
  5. Sustiprinkite vidaus operacijų kontrolę, reikalaudami patvirtinimų iš įrenginių, kurie yra fiziškai atskirti nuo kūrimo tinklo.

Šaltiniai: Singapore Police Force (SPF), Cyber Security Agency of Singapore (CSA), Google Cloud Mandiant (UNC4899 Report), MITRE ATT&CK Framework.

Atsakomybės apribojimas: Šis straipsnis skirtas tik informaciniams ir švietimo tikslams ir nepakeičia profesionalaus kibernetinio saugumo audito ar incidentų valdymo paslaugų.

bg
bg
bg

Iki pasimatymo kitoje pusėje.

Pašto ir debesies saugojimo sprendimas suteikia galingiausias saugaus keitimosi duomenimis priemones, užtikrinančias jūsų duomenų saugumą ir privatumą.

/ Sukurti nemokamą paskyrą