- Be failų veikianti kenkėjiška programa veikia atmintyje ir piktnaudžiauja teisėtais įrankiais, tokiais kaip „PowerShell“ arba WMI.
- Jis gali vogti duomenis, šifruoti failus arba šnipinėti kompiuterius nepalikdamas akivaizdžių pėdsakų diske.
- Efektyviam aptikimui reikia stebėti elgesį ir procesus, o ne tik failus.
- Apsaugai reikalingas EDR, segmentavimas, pataisymų diegimas ir scenarijų bei makrokomandų naudojimo mažinimas.
Pastaraisiais metais be failų kenkėjiška programa Kenkėjiškos programos be failų tapo viena didžiausių IT ir saugumo komandų problemų. Kalbame ne apie įprastą virusą, kurį atsisiunčiate kaip priedą ir galite pašalinti atlikdami antivirusinę programą, o apie kažką daug slaptesnio, kas slepiasi pačios sistemos procesuose.
Šio tipo grėsmė pasinaudoja teisėtos operacinės sistemos priemonėsYpač „Windows“ sistemoje jis gali vykdyti kenkėjišką kodą tiesiai į RAM. Kadangi diske beveik nepalieka jokių pėdsakų, jis gali apeiti daugelį tradicinių antivirusinių programų ir išlikti aktyvus pakankamai ilgai, kad pavogtų informaciją, užšifruotų failus arba išlaikytų slaptą prieigą nebūdamas aptinkamas.
Kas tiksliai yra kenkėjiška programa be failų?
Kalbėdami apie kenkėjiškas programas be failų, turime omenyje kenkėjiškas kodas, kuris nepriklauso nuo klasikinio vykdomojo failo diske kad veiktų. Užuot įdiegta kaip bet kuri kita programa, ji naudoja sistemoje jau esančius komponentus (scenarijus, paslaugas, komandų interpretatorius ir kt.), kad įkeltų ir vykdytų savo instrukcijas tiesiogiai atmintyje.
Techniniu požiūriu, ši kenkėjiška programa paprastai būti įterptas į jau veikiančius procesus arba juos galima paleisti naudojant komandas, kurios viską įkelia į RAM. Tai reiškia, kad išjungus arba paleidus kompiuterį iš naujo, daugelis variantų išnyksta, tačiau tuo tarpu jie turi daug laiko padaryti rimtą žalą.
Palyginti su failų pagrindu veikiančia kenkėjiška programa, šios grėsmės yra lengvesnis, diskretiškesnis ir daug sunkiau sekamasDiske nerasite įtartino .exe failo ir nebūtinai kenkėjiško diegimo programos: problema slypi tame, kas vyksta procesuose, kurie atrodo patikimi.
Šis metodas išpopuliarėjo apie 2017 m., kai kampanijose pradėta derinti befailes technologijas su „Clicker“ Trojos arkliai, pažangios reklaminės programos ir nuotolinės prieigos įrankiai (RAT)Šiandien jie integruoti į įvairias operacijas: nuo šnipinėjimo ir APT iki išpirkos reikalaujančių programų ir kriptovaliutų kasimo.
Kaip failų neturinti kenkėjiška programa veikia viduje
Norint suprasti, kaip tai veikia, verta prisiminti, kad dauguma įprastų programų yra platinamos kaip failas, kuris įrašomas į diską, o tada įkeliamas į atmintį kai vartotojas ją paleidžia. Kita vertus, be failų kenkėjiška programa praleidžia pirmąjį žingsnį ir materializuojasi tiesiogiai RAM atmintyje, naudodama pačios operacinės sistemos mechanizmus.
Daugelis kampanijų remiasi idėja „gyventi iš žemės“ (gyvena iš žemės): užpuolikas piktnaudžiauja teisėtais administraciniais įgaliojimais užuot įvedus naujus dvejetainius failus. „Windows“ sistemoje pagrindinis pavyzdys yra „PowerShell“, tačiau taip pat išnaudojami WMI, „mshta“, „rundll32“, VBScript arba JScript scenarijai ir kiti patikimi dvejetainiai failai („LoLBins“).
Įprastas scenarijus būtų toks: vartotojas atidaro „Office“ dokumentą su kenkėjišku turiniu arba spusteli sukčiavimo nuorodą; tada scenarijus, kuris iškviečia „PowerShell“ arba kitą įrankį, skirtą atsisiųsti, iššifruoti arba į atmintį įdėti kito etapo kodą. Visa tai galima atlikti nesukuriant nuolatinio failo standžiajame diske.
Kitas įprastas vektorius yra pasinaudojimas nuotolinio kodo vykdymo pažeidžiamumai, pvz., naršyklių, papildinių ar serverio programų buferio perpildymas. Pasinaudodamas pažeidžiamumu, užpuolikas gali tiesiogiai vykdyti apvalkalo kodą pažeidžiamame procese ir iš ten įkelti likusius komponentus į atmintį.
Kai kurie variantai netgi griebiasi „Windows“ registras arba suplanuotos užduotys saugoti scenarijus ar komandas, kurios iš naujo suaktyvina ataką, kai sistema paleidžiama arba vartotojas prisijungia. Net jei kažkas įrašoma į registrą, pagrindinė kenkėjiška logika toliau veikia atmintyje, todėl ją sunku aptikti įrankiais, skirtais tik failų sistemai.
Infekcijos būdai ir pradinė prieiga
Priekinės durys paprastai yra gana klasikinės: sukčiavimo el. laiškai, kenkėjiškos nuorodos ir padirbti dokumentai Jie išlieka pradinės prieigos karaliais, net jei naudojamos failų neturinčios technologijos. Visa esmė ta, kad visoje grandinėje dedamos visos pastangos kuo labiau sumažinti disko užimamą vietą.
Daugeliu atvejų jie naudojami „Microsoft Office“ dokumentai su makrokomandomis Kai šios makrokomandos aktyvuojamos, jos iškviečia „PowerShell“ arba WMI, kad atsisiųstų ir įvykdytų kitą atakos etapą atmintyje. Net ir be makrokomandų užpuolikai išnaudoja „Word“, „Excel“ pažeidžiamumus. PDF skaitytuvai arba pačiam scenarijų varikliui, kad būtų pasiektas kodo vykdymas.
Kitas metodas apima tiesioginį sverto efektą. iš pažiūros nekenksmingi vykdomieji failai kurį vartotojas gauna el. paštu arba atsisiunčia iš interneto. Šis vykdomasis failas gali išskleisti kenkėjišką modulį ir įkelti jį į atmintį, naudodamas tokius metodus kaip atspindėjimas .NET, iš tikrųjų neišsaugodamas jo diske kaip atskiro failo.
Taip pat yra kampanijų, nukreiptų prieš interneto serverius arba programas, kuriose pažeidžiamumas naudojamas diegti žiniatinklio apvalkalai su be failų komponentaisNaujausias pavyzdys yra „Godzilla“ ir panašių įrankių naudojimas, kai kenkėjiškas kodas keliauja su HTTP užklausomis ir yra įšvirkščiamas tiesiai į pažeisto serverio atmintį.
Galiausiai, užpuolikai dažnai griebiasi pavogti įgaliojimaiJei jie gauna administratoriaus arba privilegijuotos paskyros vartotojo vardą ir slaptažodį, jie gali prisijungti per RDP ar kitus kanalus ir rankiniu būdu paleisti „PowerShell“ scenarijus, WMI komandas arba administravimo įrankius, kurie įkelia kenkėjišką programą į atmintį nepalikdami jokių naujų vykdomųjų failų sistemoje.
Specifiniai metodai, kuriuos naudoja kenkėjiškos programos be failų
Vienas iš šių atakų raktų yra pakartotinis naudojimas vietiniai „Windows“ įrankiai kaip jų scenarijų perdavimo priemonę. Dėl to kenkėjiška veikla susilieja su įprastomis administravimo užduotimis, apsunkindama analizę ir reagavimą.
Tarp labiausiai paplitusių metodų randame tai, kad naudojame „PowerShell“ kaip įterptojo kodo paleidimo priemonė tiesiai iš komandinės eilutės. Pavyzdžiui, užmaskuotas scenarijus perduodamas kaip parametras, vykdymo politika išjungiama, langas paslėptas, o naudingoji apkrova atsisiunčiama tiesiai į atmintį, nepaliekant matomo .ps1 failo ar jokio įtartino vykdomojo failo.
Kita labai populiari taktika – saugoti kenkėjiškus scenarijus „Windows“ valdymo instrumentacijos (WMI) prenumeratosRetkarčiais WMI paleidžia scenarijų, kuris gali vykdyti kodą iš atminties, prisijungti prie komandų ir valdymo serverių arba paleisti naujus infekcijos etapus.
Panašiai daugelis grupių naudoja „Windows“ registras ir užduočių planuoklė kaip prieglobstį savo scenarijams ir komandoms. Užuot įdėję vykdomąjį failą į paleisties aplanką, jie apibrėžia paleidimo raktus arba suplanuotas užduotis, kurios paleidžia „PowerShell“, „mshta“ arba „rundll32“ scenarijus su įterptuoju arba veikiančiu kodu.
Technikos taip pat matomos atspindys .NET kalbojekur lengvas vykdomasis failas sudarytas iš užšifruotų arba suspaustų rinkinių, kurie įkeliami tiesiai į atmintį naudojant „Reflection.Load“, niekada neįrašant jų į diską kaip .dll failus. Tai leidžia diegti labai sudėtingus Trojos arklius per vieną, iš pažiūros įprastą procesą.
Ką gali padaryti failų neturinti ataka?
Nepaisant pavadinimo, failų neturinčios atakos poveikis nėra ribotas. Tiesą sakant, ji gali atlikti tos pačios funkcijos kaip ir tradicinei kenkėjiškai programaiinformacijos vagystė, duomenų šifravimas, šoninis judėjimas, šnipinėjimas, kriptovaliutų kasimas arba nuolatinių galinių durų įrengimas.
Daugelis failų neturinčių kampanijų elgiasi taip, įgaliojimų vagisTai apima slaptažodžių, sesijos žetonų arba autentifikavimo maišos kodų fiksavimą iš jautrių procesų atminties. Tai leidžia lengviau didinti privilegijas, pažeisti daugiau sistemų ir išlaikyti ilgalaikę prieigą nenaudojant papildomų dvejetainių failų.
Kiti sutelkia dėmesį į be failų išpirkos reikalaujanti programakur dalis šifravimo ir ryšio logikos vykdoma tiesiogiai atmintyje. Nors disko komponentas tam tikru momentu gali manipuliuoti daugybe failų, pradinis atakos įkėlimas ir valdymas atliekami naudojant befailes technologijas, siekiant išvengti ankstyvo aptikimo.
Užpuolikai taip pat gali įdiegti rootkitai arba pažangūs RAT virusai Įdiegus šias priemones, jos naudoja befailinius kanalus komandoms gauti, judėti tinkle ir atnaujinti modulius. Kadangi jos yra integruotos į sistemos procesus arba svarbiausias paslaugas, šias priemones ypač sunku išnaikinti.
Ekonominiu požiūriu poveikis pasireiškia duomenų praradimas, paslaugų teikimo sutrikimai, reguliavimo baudos ir žala reputacijaiKadangi šie įsilaužimai dažnai lieka nepastebėti mėnesius, išfiltruotos informacijos kiekis ir pažeidimo mastas gali būti milžiniški.
Kenkėjiškų programų atakos be failų etapai
Nors techniniai aspektai skiriasi, failų neturinčios atakos gyvavimo ciklas yra gana panašus į bet kokio sudėtingo įsilaužimo. Kokie pokyčiai yra kiekviename etape naudojami mechanizmai ir kaip jie maskuojasi.
Etape pradinė prieigaUžpuolikui reikia pradinės atramos: spustelėti sukčiavimo nuorodą, atidaryti dokumentą su makrokomandomis, išnaudoti pažeidžiamą serverį arba pakartotinai panaudoti pažeistus prisijungimo duomenis. Tada tikslas – vykdyti kodą tikslinėje sistemoje.
Kai šis etapas bus pasiektas, prasidės kitas vykdymas atmintyjeČia praverčia „PowerShell“, WMI, „mshta“, „rundll32“, „VBScript“, „JScript“ ar kiti interpretatoriai, kurie įkelia ir suaktyvina naudingąją apkrovą negeneruodami nuolatinių vykdomųjų failų diske. Kodas paprastai yra užmaskuojamas arba užšifruojamas ir iššifruojamas tik RAM atmintyje.
Tada prasideda persekiojimas atkaklumasNors daugelis failų neturinčių naudingųjų apkrovų dingsta paleidus kompiuterį iš naujo, sudėtingi užpuolikai derina RAM atmintyje esančius scenarijus su registro raktais, suplanuotomis užduotimis arba WMI prenumeratomis, kurios iš naujo paleidžia kodą kiekvieną kartą, kai įvykdoma konkreti sąlyga, pvz., paleidžiant sistemą arba prisijungiant vartotojui.
Galiausiai, galutiniai tikslai Užpuoliko veiksmai apima: duomenų vagystę ir nutekėjimą, informacijos šifravimą, papildomos kenkėjiškos programinės įrangos diegimą, nuolatinį šnipinėjimą ir kritinių sistemų sabotažą. Visa tai daroma stengiantis išlaikyti kuo žemesnį profilį, kad būtų išvengta ankstyvų įspėjimų ir teismo ekspertizės analizės.
Kodėl taip sunku aptikti?
Didžiausia problema su kenkėjiškomis programomis be failų yra ta, kad Tai laužo klasikinį gynybos modelį, pagrįstą failais ir parašaisJei nėra įtartino vykdomojo failo, kurį būtų galima analizuoti, daugelis antivirusinių sistemų lieka aklos, kas vyksta atmintyje ir teisėtuose procesuose.
Failų nebuvimas diske reiškia, kad Nėra objektų, kuriuos reikėtų periodiškai nuskaityti ieškant žinomų šablonų. Be to, naudojant pačios operacinės sistemos pasirašytus dvejetainius failus, pvz., „PowerShell.exe“, „wscript.exe“ arba „rundll32.exe“, kenkėjiška veikla yra maskuojama po vardais, kuriais administratorius paprastai pasitiki.
Be to, daugelis paveldėtų produktų turi Ribotas matomumas į veikiančius procesusJie sutelkia dėmesį į failų sistemą ir tinklo srautą, tačiau vos tikrina vidinius API iškvietimus, komandinės eilutės parametrus, scenarijų elgseną ar registro įvykius, kurie gali atskleisti ataką be failų.
Užpuolikai, žinodami apie šiuos apribojimus, griebiasi Kodavimo užmaskavimo, šifravimo ir kodo fragmentavimo metodaiPavyzdžiui, jie padalija kenkėjišką scenarijų į kelis fragmentus, kurie surenkami realiuoju laiku, arba paslepia instrukcijas vaizduose, įterptuose ištekliuose ar, atrodytų, nekenksmingose eilutėse.
Aplinkose, kuriose sistemos retai paleidžiamos iš naujo (kritiniai serveriai, gamybos terminalai ir kt.), atmintyje esanti kenkėjiška programa gali išlikti aktyviam kelias savaites ar mėnesius nepastebėti, ypač jei judate atsargiai ir sumažinate eismo intensyvumą ar pastebimus veiksmus.
Tradicinių gynybos priemonių apribojimai
Iš pradžių daugelis tiekėjų į šią grėsmę reagavo bandydami apriboti arba tiesiogiai blokuoti tokius įrankius kaip „PowerShell“ arba „Office“ makrokomandasNors tai gali sumažinti kai kuriuos vektorius, daugumoje organizacijų tai nėra realus ar pilnas sprendimas.
„PowerShell“ tapo pagrindinis „Windows“ sistemos administravimo komponentasUžduočių automatizavimas, programinės įrangos diegimas ir serverių valdymas. Visiškas blokavimas paralyžiuotų IT darbo eigą ir priverstų iš naujo atlikti daugybę vidinių procesų.
Be to, užpuoliko požiūriu, yra daug būdų, kaip apeinant paprastą blokavimo politikąYra būdų, kaip įkelti „PowerShell“ variklį iš bibliotekų (dll) naudojant „rundll32“, konvertuoti scenarijus į vykdomuosius failus naudojant tokius įrankius kaip PS2EXE, naudoti modifikuotas „PowerShell.exe“ kopijas arba net įterpti „PowerShell“ scenarijus į PNG vaizdus ir paleisti juos su užmaskuotomis komandinėmis eilutėmis.
Kažkas panašaus nutinka ir su „Office“ makrokomandomis: Daugelis įmonių nuo jų priklauso automatizuoti ataskaitas, skaičiavimus ir verslo procesus. Jų išjungimas visame pasaulyje gali sutrikdyti vidinių programų veikimą, o vien tik pasikliaujant statine VBA kodo analize dažnai sunku valdyti klaidingai teigiamų ir klaidingai neigiamų rezultatų rodiklį.
Be to, kai kurie metodai, pagrįsti debesijos pagrindu veikianti aptikimo kaip paslaugos Jiems reikalingas nuolatinis ryšys ir kartais jie veikia su per dideliu vėlavimu, kad būtų išvengta pradinio kenkėjiškos programos vykdymo. Jei blokavimo sprendimas priimamas po kelių sekundžių ar minučių, žala jau gali būti padaryta.
Dėmesys perkeliamas: nuo failų prie elgesio
Kadangi byla nebėra pagrindinis elementas, šiuolaikiniai gynybos sprendimai sutelkti į stebėti procesų elgseną užuot tik tikrinęs failų turinį. Idėja ta, kad nors yra tūkstančiai kenkėjiškų programų variantų, kenkėjiškos veiklos modeliai yra daug mažiau įvairūs.
Šis metodas remiasi varikliais elgesio analizė ir mašininis mokymasis kurios nuolat stebi kiekvieno proceso veiksmus: kokias komandas jis paleidžia, kokius sistemos išteklius liečia, kaip bendrauja su išoriniu pasauliu ir kokius pakeitimus bando įdiegti aplinkoje.
Pavyzdžiui, „Office“ procesas gali būti pažymėtas kaip įtartinas, jei vykdo užmaskuotą „PowerShell“ komandą su parametrais, skirtais išjungti saugos strategijas ir atsisiųsti kodą iš įtartino domeno. Arba procesas, kuris be jokios aiškios priežasties staiga pasiekia šimtus jautrių failų arba pakeičia svarbius registro raktus.
Naujausios kartos EDR sistemos ir XDR platformos renka išsami galinių taškų, serverių ir tinklo telemetrijair geba atkurti ištisas istorijas (kartais vadinamas siužetinėmis linijomis) apie tai, kaip įvyko incidentas, kokie procesai buvo susiję ir kokius pakeitimus patyrė paveiktas įrenginys.
Geras elgesio variklis ne tik aptinka grėsmę, bet ir gali sušvelninti arba automatiškai atšaukti kenkėjiškus veiksmus: nutraukti susijusius procesus, izoliuoti kompiuterį, atkurti užšifruotus failus, anuliuoti registro pakeitimus ir nutraukti ryšį su komandų ir valdymo sritimis.
Technologijos ir pagrindinių įvykių šaltiniai sistemoje „Windows“
Norint analizuoti failų neturinčias grėsmes sistemoje „Windows“, ypač naudinga pasinaudoti vietiniai operacinės sistemos telemetrijos mechanizmai, kurie jau yra ir siūlo daug informacijos apie tai, kas vyksta užkulisiuose.
Viena vertus yra „Windows“ įvykių sekimas (ETW)ETW yra sistema, leidžianti įrašyti labai išsamius įvykius, susijusius su procesų vykdymu, API iškvietimais, prieiga prie atminties ir kitais vidiniais sistemos aspektais. Daugelis EDR sprendimų pasikliauja ETW, kad realiuoju laiku aptiktų netipinį elgesį.
Dar vienas svarbus elementas yra Antimalware Scan Interface (AMSI)AMSI yra „Microsoft“ sukurta API, leidžianti saugos moduliams tikrinti scenarijus ir dinaminį turinį prieš pat jiems paleidžiant, net jei jie yra užmaskuoti. AMSI ypač naudinga naudojant „PowerShell“, VBScript, JScript ir kitas scenarijų kalbas.
Be to, šiuolaikiniai varikliai yra periodiškai analizuojami. jautrios sritys, tokios kaip registras, užduočių planuoklė, WMI prenumeratos arba scenarijų vykdymo politikosĮtartini pokyčiai šiose srityse dažnai yra ženklas, kad užsitęsė failų neturinti ataka.
Visa tai papildo euristika, kuri atsižvelgia ne tik į dabartinį procesą, bet ir į vykdymo kontekstas: iš kur atsiranda pirminis procesas, kokia tinklo veikla buvo pastebėta prieš ir po to, ar buvo keistų gedimų, anomalių blokavimų ar kitų signalų, kurie, sudėjus kartu, kelia įtarimų.
Praktinės aptikimo ir prevencijos strategijos
Praktiškai apsisaugoti nuo šių grėsmių reikia derinant technologijos, procesai ir mokymaiNeužtenka įdiegti antivirusinę programą ir apie ją pamiršti; reikalinga daugiasluoksnė strategija, pritaikyta realiam be failų veikiančios kenkėjiškos programos elgesiui.
Techniniu lygmeniu labai svarbu diegti EDR arba XDR sprendimai su elgsenos analizės galimybėmis ir procesų lygio matomumu. Šios priemonės turi gebėti įrašyti ir susieti veiklą realiuoju laiku, blokuoti anomalų elgesį ir teikti aiškią teismo ekspertizės informaciją saugumo komandai.
Tai taip pat patogu „PowerShell“, WMI ir kitų interpretatorių naudojimo apribojimas iki to, kas yra griežtai būtina, taikant prieigos kontrolės sąrašus, scenarijų pasirašymą (kodo pasirašymas) ir vykdymo politikas, kurios riboja, koks kodas gali būti vykdomas ir su kokiomis privilegijomis.
Vartotojų atžvilgiu mokymai išlieka labai svarbūs: būtina sustiprinti informuotumas apie sukčiavimą sukčiavimo būdu, įtartinas nuorodas ir netikėtus dokumentusTai ypač svarbu darbuotojams, turintiems prieigą prie slaptos informacijos arba aukšto lygio privilegijų. Sumažinus neatsargių paspaudimų skaičių, žymiai sumažėja atakų paviršius.
Galiausiai negalima ignoruoti ir pataisų ir programinės įrangos atnaujinimų ciklasDaugelis be failų veikiančių grandinių pradedamos išnaudojant žinomas pažeidžiamas vietas, kurioms jau yra pataisų. Nuolat atnaujinant naršykles, papildinius, įmonės programas ir operacines sistemas užkertamas kelias vertingoms galimybėms užpuolikams.
Valdomos paslaugos ir grėsmių paieška
Vidutinės ir didelėse organizacijose, kur renginių skaičius milžiniškas, vidinei komandai sunku viską matyti. Štai kodėl jie populiarėja. stebėsenos ir valdomo reagavimo paslaugos (MDR/EMDR) ir išorinių saugumo operacijų centrai (SOC).
Šios paslaugos apjungia pažangias technologijas su analitikų komandos stebi visą parą savo klientų aplinką, koreliuodami silpnus signalus, kurie kitaip liktų nepastebėti. Idėja yra aptikti failų neturinčiai kenkėjiškai programai būdingą elgesį prieš atsirandant žalai.
Daugelis SOC remiasi tokiomis sistemomis kaip MITER ATT&CK kataloguoti priešininkų taktiką, metodus ir procedūras (TTP) ir sukurti konkrečias taisykles, skirtas vykdymui atmintyje, LoLBins piktnaudžiavimui, kenkėjiškam WMI ar slaptam duomenų nutekėjimui.
Be nuolatinio stebėjimo, šios paslaugos paprastai apima teismo ekspertizė, incidentų reagavimas ir konsultavimas patobulinti saugumo architektūrą, pašalinti pasikartojančias spragas ir sustiprinti galinių įrenginių bei serverių kontrolę.
Daugeliui įmonių dalies šios funkcijos perdavimas išorės rangovams yra perspektyviausias būdas susidoroti su tokiomis sudėtingomis grėsmėmis, nes ne visi gali sau leisti samdyti vidinę komandą, kuri specializuojasi pažangių kenkėjiškų programų medžioklėje.
Realybė tokia, kad failų neturinti kenkėjiška programinė įranga amžiams pakeitė mūsų supratimą apie galinių taškų saugumą: Failai nebėra vienintelis pagrindinis rodiklisIr tik išsamus matomumas, elgesio analizė, gera valdymo praktika ir išplėstinė kibernetinio saugumo kultūra gali tai sustabdyti kasdien.

