QuietPolyfill, NPM-tilguti, mis ülestõusis

QuietPolyfill: NPM-tilguti, mis ülestõusis

TL; DR

Kakskümmend npm paketti, mis avaldati kahe päeva jooksul 2026. aasta juuli lõpus ja augusti alguses, esitlevad end sisemiste kasutajaliidese komponentide teekidena ja jagatud taustsüsteemi utiliitidena. Ükski neist ei rakenda funktsionaalsust, mida nad reklaamivad. Igaüks neist sisaldab tüviklassi, README-faili, mis kirjeldab paketti sisemisena, ja faili nimega _polyfill.js.

Huvitav on see, kust seda faili kutsutakse. See ei ole paigalduskonks — manifestides ei deklareerita üldse eelinstallimist, installimist ega järelinstallimist. Selle asemel on viimane rida index.js loeb: try { require("./_polyfill"); } catch (_) {}Kasulik koormus käivitub esimesel korral, kui rakenduse kood paketti impordib. Paigaldamine koos --ignore-scripts, standard nõuanded tarneahela kokkupuute vähendamiseks paigalduse ajal, ei takista seda.

M _polyfill.js Toiming nõuab platvormipõhist käivitatavat faili ühelt kolmest Cloudflare Workersi hostist, kirjutab selle ajutisse kataloogi juhusliku nime all, märgib selle käivitatavaks failiks ja käivitab selle emaprotsessist eraldi. See käivitatav fail on ise laadur: see loetleb lõpp-punkti turbetooted protsessi nime järgi, kontrollib praegust kasutajanime teadaolevate analüüsikeskkonna kontode suhtes, parandab AMSI ja ETW telemeetria liidesed mällu, installib püsivuse Windowsi helikomponendi nime all ja hangib kolmanda binaarfaili, mille suurus on mitu megabaiti. Kolmas etapp saabub krüpteeritult ja on dekrüpteeritakse ja käivitatakse mälus, mitte kettale kirjutatakse.

1. augustil, umbes neli tundi pärast seda, kui paketid käsitsi läbivaatamise käigus pahatahtlikuks tunnistati, eemaldas npm-ist kahekümnest nimest üheksateist nende endi väljaandja poolt kahekümne viie sekundi jooksul. 2. augustil registreeriti üks neist nimedest uuesti – teise konto poolt, sama koodiga. Selle kirjutamise ajal teenindas kohaletoimetamise infrastruktuur kõiki kolme etappi.

Paketid20 npm nime, ~74 avaldatud versiooni
Teemade nimetaminebeaver-ui-* (13) accounts-* (3) pluss afisha-storybook-default, bcore-bravo-eslint-config, arbocrate-sla-prober-arbocrate-sla-prober-core, a.poltoradnev-package-c
TriggerMooduli import (require), mitte npm-i elutsükli skript
Stage 1_polyfill.js — väljavõtmine ja vettelaskmine
Stage 2Staatiliselt lingitud laadur, UPX-pakendis Linuxis; lõpp-punkti turvalisuse loendamine, AMSI/ETW parandused, püsivus
Stage 3beacon_linux.bin / beacon_mac.bin / update_win.exe, 4–13 MB; tarnitakse krüpteeritult, käivitatakse mälus
PlatvormidLinux x64 ja arm64, macOS universaalne, Windows x64
KirjastajadKaks kontot, üks koodibaas
olek20-st nimest 19 on avaldamata operaatori poolt; 1 uuesti avaldatud ja aktiivne; tarneinfrastruktuur aktiivne

Rünnaku anatoomia

1. etapp – pakett

Iga liige saadab sama kolmefaililise kujundi. index.js ekspordib klassi, millel on selles() mis määrab tõeväärtuse, a versioon()Ja konfigureeri() mis ühendab valikuobjekti. Mitte midagi muud. README.md annab installirea, a nõudma rida ja lause „Sisepakett. Juhiste saamiseks vaadake CONTRIBUTING.md” — CONTRIBUTING.md ei ole tarballis.

_polyfill.js on veidi alla 5 KB ja loetav tavalise infrastruktuurikoodina. See avaneb kolme keskkonnakontrolliga:

if (process.env.DISABLE_TELEMETRY ||
    process.env.ANALYTICS_OPT_OUT ||
    process.env.DO_NOT_TRACK)
  return;

Need muutujad on tavapärased privaatsuse kontrollid. Siin kontrollivad nad, kas binaarfail laaditakse alla ja käivitatakse. Masin, mis määrab ÄRA_JÄLGI jäetakse täielikult vahele.

Järgmisena tuleb ühekordne tempel: fail aadressil /tmp/.analytics_statevõi analüütika_olek all % TEMP% Windowsis, mille muutmise aega võrreldakse 20 357-sekundilise aknaga. Selle akna piires naaseb moodul kohe, seega korduvad impordid ehituse ajal toovad kaasa ühe otsingukatse kümnete asemel.

Sihtkoha hostid ei ole literaalidena olemas. Need pannakse käitusajal fragmentidest kokku:

["oob-worker.cf102-","baf.workers.d","ev"].join("")

Sel viisil luuakse kolm hosti ja segatakse enne kasutamist, seega on järjekord iga teostuse puhul erinev. Väljavõte on HTTPS GET, mis on kinnitatud IPv4-le koos Kasutaja Agent of node-fetch/2.6 — usutav väärtus, mida sõlmeprotsess peaks väljastama. Alla 1,000 baidi pikkune vastus visatakse ära ja proovitakse järgmist hosti.

Kui kõik kolm ebaõnnestuvad, pöördub moodul tagasi DNS-i poole. See väljastab TXT-päringu c. tükkide arvu saamiseks ja seejärel päringud 0. läbi n. kümne kaupa, liidab vastused ja dekodeerib tulemuse base64-koodi abil. See tee kannab sama käivitatavat faili DNS-i TXT-kirjete kaudu, mis jääb püsima keskkondades, kus väljaminev HTTP filtreeritakse, kuid DNS-i lahendust mitte.

Saadud baidid kirjutatakse /var/tmp/.cache_<8-hex> Unixis või %TEMP%\dotnet_diag_<8-hex>.exe Windowsis – failinimi, mis loetakse .NET-i diagnostika artefaktiks. Unixis antakse failile režiim 0755. Käivitamine on kudema koos eraldatud: tõsi, stdio: „ignoreeri”ja viitamata(), seega elab laps kauem kui seda käivitanud Node protsess; Windowsis lisab kutsumine windowsHide: tõene.

Kaks detaili täiendavad pilti. Abistaja on defineeritud kui const _l = (…a) => protsess.stderr.write(“”) kutsutakse välja igal otsingu etapil — see kirjutab tühja stringi ja loobub oma argumenditest, hõivates positsiooni, kus logimine toimuks. Ja iga pakett saadab 81 KB faili aadressil lib/telemetry.js mille päisekommentaar kirjeldab „Analytics SDK-d“ koos „HTTPS-transporti lõpp-punkti rotatsiooni ja uuesti proovimisega“ ning „DNS-põhist teenuse avastamist tõrkesiirde jaoks“. Praeguses versioonis pole seda miski vaja.

2. etapp — laadur

Linuxi x64 binaarfail on staatiliselt lingitud ELF, mis on tihendatud UPX 3.96 abil. macOS-i järk on universaalne binaarfail, mis hõlmab nii x86_64 kui ka arm64; Windowsi järk on PE32+ konsooli käivitatav fail, mille puhul on eemaldatud fail. Kõik neli hangiti ja uuriti staatiliselt; ühtegi ei käivitatud.

Windowsi ehituse impordi- ja stringitabel kirjeldavad selle käitumist selgelt. See lahendab Kas silur on olemas, Kontrolli kaugsiluri praegustja NtQueryInformationProcessja loeb SÜSTEEM\Praeguse juhtimise komplekt\Teenused\Kett\Loend — registritee, mille väärtused tuvastavad virtuaalseid kettakontrollereid. See kutsub esile GetDiskFreeSpaceExW ja Globaalse mälu oleku väljund, mis on kooskõlas hosti ressursside vastavuse kontrollimisega lühiajalise analüüsi eksemplarile.

See sisaldab kasutajanimede loendit: Praegune kasutaja, IT-administraator, Hong Lee, TESTIKARP, hapubws, miljoneid, Timmy, admin, malware, proov, viirus, keskkondMitmed neist on avalikult dokumenteeritud analüüsikeskkondade artefaktid.

Samuti sisaldab see lõpp-punkti turvatoodete ja nende protsesside nimede loendit, mis on loetletud läbi CreateToolhelp32Snapshot ja Protsess32FirstW/Protsess32NextW:

  • CrowdStrike Falcon (csfalconservice, CSFalconContainer)
  • Tahm (cb.exe)
  • Cylance (cylancesvc.exe)
  • Bitdefender (bdagent.exe)
  • Kaspersky (avp.exe, kavfs.exe)
  • Trend Micro ja Deep Security (coreServiceShell, ds_agent.exe)
  • FireEye/Trellix (xagt.exe)
  • Taanium (taniumclient.exe)
  • Hitmanpro (hmpalert.exe)
  • Elastne (elastic-agent.exe, elastic-endpoint, filebeat.exe, winlogbeat.exe)
  • Wazuh ja OSSEC (wazuh-agent.exe, ossec-agent.exe)
  • Check Point
  • Windows Defender

Lisaks on olemas kaks sümbolit: AmsiScanBuffer, sisenemispunkt, mille Windows mälusisu skannimiseks avab, ja EtwEventWrite, funktsioon, mille kaudu Windowsi sündmuste jälgimine sündmusi salvestab. Mõlemad on tavalised sihtmärgid protsessisiseseks muutmiseks, mis pärsib telemeetriat, mida need liidesed muidu genereeriksid.

Püsivus ilmub Windowsis kaks korda. Binaarfail kopeeritakse %APPDATA%\Microsoft\Windows\Themes\SystemSoundsService.exeja sellele viitavad kaks mehhanismi: väärtus alla TARKVARA\Microsoft\Windows\CurrentVersion\Runja ajastatud ülesanne on registreeritud kui

schtasks /Create /F /SC ONLOGON
  /TN "\Microsoft\Windows\Multimedia\SystemSoundsService"
  /TR "\"%s\""
  /RL HIGHEST

Ülesande tee, ülesande nimi ja käivitatava faili nimi peegeldavad kõik ehtsat Windowsi helikomponenti. /RL KÕRGEIM taotleb kõrgeimat saadaolevat privileegide taset.

macOS-i järk järgib sama mustrit platvormile sobivate nimedega: see kirjutab omaduste loendi ~/Library/LaunchAgents/com.apple.windowserver.helper.plist ja asetab oma käivitatava faili aadressile ~/.local/share/runtime/com.apple.runtimeSee kontrollib /Rakendused/VMware Fusion.app ja /Teek/Rakenduste tugi/VMware tööriistad.

Võrgu võimekus hõlmab kolme transpordiliiki: WININET.dll HTTPS-i jaoks koos https://%s:%d%s vormingus string, WS2_32.dll pistikupesad ja DNSAPI.dll koos DnsQuery_A kõrval a c.%s.%s vormingus string – sama tükkide arvu päringu kuju, mida kasutab esimene etapp.

Ülaltoodud kirjeldus näitab, mida binaarfaili import, stringid ja registriteed kontrollimisel näitavad. Sama Windowsi näidise avalik mitme mootoriga analüüs lisab üksikasju, mida imporditabeli staatiline lugemine iseenesest ei suuda tuvastada, ning see on siin pigem omistatud kui ümber esitatud esmase vaatlusena. See analüüs näitab, et AMSI ja ETW viited pole mitte ainult lahendatud, vaid ka parandatud — AmsiScanBuffer in amsi.dll ja EtwEventWrite in ntdll.dll — mis pärsib protsessi mälusisu skannimist ja sündmuste jälgimist. Lisaks annab see analüüsivastased kontrollid teada ajastuspõhistest kontrollidest Kontrolli kaugsiluri praegustja tuvastab GetThreadContext kutsutakse riistvaralise katkestuspunkti kontrollina, mis loeb silumisregistreid. See annab ka teada ühe eksemplari mutexist, Global\{7A3B9E1F-C2D4-4F8A-B5E6-D7A1F0C3E2B9}ja nimed Süsteemihelide teenus kui Run-võtme väärtus. Seda mutex-väärtust siin taastatud stringide hulgas ei olnud – kasutatud ekstraktimisfilter välistas sulgudes suurtähtedega heksaedissüsteemis olevad märgid – ja see on indikaatorite tabelisse salvestatud selle avaliku analüüsi, mitte otsese vaatluse põhjal.

Stage 3

Laadur viitab samadel hostidel asuvatele täiendavatele radadele. Analüüsi ajal olid kõik kättesaadavad: beacon_linux.bin 5.3 MB juures beacon_mac.bin 13.3 MB juures update_win.exe 10.3 MB juures ja arm.bin 4.3 MB juures. Neid ei leitud ja nende käitumine on teadmata.

Windowsi tee puhul kirjeldab laaduri avalik analüüs, kuidas seda kolmandat etappi käsitletakse: see tuuakse WinINeti kaudu, saabub krüpteeritult, dekrüpteeritakse mällu ja käivitatakse peegeldavalt – mälu eraldatakse, import lahendatakse, ümberpaigutused töödeldakse ja kontroll antakse uuele lõimele läbi Loo lõimSeetõttu ei kirjutata kolmandat etappi kunagi failisüsteemi, seega pole failipõhisel tuvastamisel ja intsidendijärgsel ketta kohtuekspertiisil sellest midagi taastada. See tähendab ka seda, et baitide hankimine edastushostist annaks krüptitud teksti, mitte analüüsitavat käivitatavat faili.

 

Timeline

Kõik ajatemplid on UTC-s ja pärinevad npm-i registri metaandmetest, mis salvestavad paketi loomise ja avaldamata jätmise sõltumatult mis tahes vaatlejast.

KuiM
2026-07-31 09:25:05 → 09:29:56Luuakse kümme nime, igaüks alates versioonist 0.0.1, umbes kolmeteistkümne sekundilise vahega.
2026-08-01 09:38 → 11:29Olemasolevad nimed ronivad läbi paisutatud versiooninumbrite, 6.1.9 läbi 6.1.12, 9.9.9 läbi 9.9.12, 8.9.3 läbi 8.9.6, 5.4.6 läbi 5.4.9.
2026-08-01 13:04:14 → 13:04:18Üheksa edasi beaver-ui-* neljasekundilise järjestikuse seeriaga loodud nimed, igaüks neist avaldatud otse 12.x versioonis ilma eelneva ajaloota.
2026-08-01 ~13:00–14:30Manuaalse ülevaatuse käigus pahatahtlikuks liigitatud versioonid.
2026-08-01 17:39:49 → 17:40:14Kahekümnest nimest üheksateist avaldamata kahekümne viie sekundi jooksul, järjestikku, umbes 1.2 sekundilise vahega.
2026-08-02 18:58:41a.poltoradnev-package-c loodud uuesti teise hooldajakonto, versiooni all 0.0.2.
2026-08-02 19:20:28versioon 33.9.5 avaldatud sama nime all.
2026-08-02 20:14Kõik kolm edastushosti teenindavad teist ja kolmandat etappi; DNS-i varuvariandi vastused koos tükkide arvuga.

Kaks neist sissekannetest väärivad pikemat peatumist.

13:04 purske pani registrisse nelja sekundiga üheksa paketti, millest igaühel oli üks versioon kaheteistkümnendas järjestuses ja mitte ühtegi 0.0.1 selle all. Sellel skaalal olevad versiooninumbrid ühe päeva vanustel nimedel ei kirjelda väljalaskeajalugu.

Avaldamata jätmise järjekord on sama mehaaniline: üheksateist nime, kakskümmend viis sekundit, ühtlane tühik. npm salvestab need tavaliste avaldamata jätmise sündmustena, mitte registri algatatud eemaldamise järel jäänud kohatäitena, mis paigutab toimingu avaldava konto, mitte registri juurde.

 

Kompromissi näitajad

Hostid ja teed on defangitud. Ärge lahendage ega hankige neid tootmissüsteemist.

KASUTUSALAVäärtus
Tarnepakkujaoob-worker[.]cf99-9b3[.]workers[.]dev
Tarnepakkujaoob-worker[.]cf102-baf[.]workers[.]dev
Tarnepakkujaoob-worker[.]cf103-070[.]workers[.]dev
DNS-transporttin[.]dl[.]well1[.]site (Linux x64) tina[.] (arm64), ldr[.] (macOS), win[.] (Windows) — tükkide arv kell c.<domain>, andmed aadressil <n>.<domain>
2. etapi teed/pkg/package, /pkg/package-arm64, /pkg/loader_mac, /pkg/package.exe
3. etapi teed/pkg/beacon_linux.bin, /pkg/beacon_mac.bin, /pkg/update_win.exe, /pkg/arm.bin
Tilgutustee (Unix)/var/tmp/.cache_<8-hex>
Tilkkamise tee (Windows)%TEMP%\dotnet_diag_<8-hex>.exe
Püsivus (Windows)%APPDATA%\Microsoft\Windows\Themes\SystemSoundsService.exeülesanne \Microsoft\Windows\Multimedia\SystemSoundsServiceKäivitusvõtme väärtus SOFTWARE\Microsoft\Windows\CurrentVersion\Run\SystemSoundsService
Mutex (Windows)Global\{7A3B9E1F-C2D4-4F8A-B5E6-D7A1F0C3E2B9}
Püsivus (macOS)~/Library/LaunchAgents/com.apple.windowserver.helper.plist; binaarne aadressil ~/.local/share/runtime/com.apple.runtime
Ühekordselt kasutatav tempel/tmp/.analytics_state, %TEMP%\analytics_state (20 357 sekundiline aken)
Taotle allkirjaHTTPS GET, IPv4-ga kinnitatud, kasutajaagent: node-fetch/2.6
1. etapi fail_polyfill.js, SHA-256 392dc9ec85042ce1796bfa9b8c7bf6e05c7710579aab8b7b1eb73788683883af
Viitamata faillib/telemetry.js, SHA-256 2266c9b8e199daebe31a9afcb61d9b0d76706b63c92312fc8223d22de42e63c7
2. etapp (Linux x64)SHA-256 7e486657f30594afda379b97030252a09a19fe8055e25c9e371544f59bd8e9e3
2. etapp (Linux arm64)SHA-256 aafc37589c0d21fb729761a1579ca3b278b95bce152aacfa29243ffd27f5eeb7
2. etapp (macOS)SHA-256 c214746c74cae8ece8bdaf69aa05da4db6ce013f9e77452d1eed1a002fd9ba00
2. etapp (Windows)SHA-256 d632c2c0c7801c3da57cf849fe4b4ca8351d9a7fe73c31050bf5dbcc96a16791

Pakettide nimed

kobras-ui-sahtli kopra-ui-toimingute-nupp kopra-ui-kaart-suur beaver-ui-kuupäevavahemiku-valija kopra-ui-vorm kobras-ui-vorm-modaal kopra-ui-vormi-objekt kopra-ui-ruudustik kopra-ui-päis kobras-ui-hooks kopra-ui-ikoon-lukk kopra-ui-esemed-koos-rohkem kopra-ui-paigutus kontode lõplik vorm kontode laadimise olek kontode ajajoon afisha-storybook-default bcore-bravo-eslint-config arbocrate-sla-prober-arbocrate-sla-prober-core a.poltoradnev-pakett-c

Omistamine ja täheldatud käitumine

Kaasatud on kaks npm-kontot. Üheksateist avaldamata nime avaldas üks konto; a.poltoradnev-pakett-c registreeriti 2. augustil ümber teise konto nime ja erineva e-posti domeeni all. Mõlema kood on sama ja teisel registreerimisel on samad edastushostid, samad DNS-i varudomeenid, sama drop-path konstruktsioon ja sama ühekordse käivitamise tempel.

Taasavaldatud paar näitab ka seda, kuidas see kokku pandi. 0.0.2 ja 33.9.5 on baitide poolest identsed, välja arvatud versioonistring pakett.jsonJa index.js saadeti kui 0.0.2 kuulutab konstantne VERSIOON = „33.9.5”Mõlemad esemed lõigati ühest allikapuust välja ja nummerdati hiljem. Puudub 0.0.2 arengu ajalugu 0.0.2 vabastamist esindama.

Kogu komplekti versiooninummerdamine järgib sama loogikat. Selles kampaanias loetakse paketinimesid asjadena, mis eksisteeriksid organisatsiooni sees, mitte avalikus registris: kasutajaliidese komponentide komplekt, ESLinti konfiguratsioon, SLA-otsija, isiku järgi nimetatud pakett. Kui järk lahendab sõltuvuse nime järgi ja konsulteerib avaliku registri kõrval ka privaatse registriga, võidab suurem versiooninumber. Nimi, mis on loodud aadressil 0.0.1 esmaspäeval ja kandes 12.9.6 teisipäeval on see võrdluseks valmis.

Kaks avaldamislaine erinevad ka iteratsioonile viitavas mõttes. Varasem kood nimetas oma kasuliku faili setup.js ja loetles viis kohaletoimetamise hosti; praeguse faili nimi on _polyfill.js ja loetleb kolm. Varasem versioon eemaldas kustutatud faili viis sekundit pärast käivitamist, jättes protsessi tööle kustutatud inode'ist; praegune versioon seda ei tee. Viitamata lib/telemetry.js jääb mõlemasse ossa tarballi, on ikka veel saadetud, enam ühendamata.

Üks tähelepanek tapmislülitite kohta on väärt eelnevat mainimist.cisely, sest see läheb vastuollu levinud lugemisega. KEELATA_TELEMEETRIA, ANALYTICS_LOOBUMISE_VÄLJAja ÄRA_JÄLGI austatakse ja neid kontrollitakse enne, kui midagi muud juhtub. Uurija, kelle analüüsikeskkond määrab mõne neist, vaatleb paketti, mis ei tee mitte midagi.

Mõju ja mida kaitsjad saavad teha

Impordiaja päästiku praktiline tagajärg on kitsarinnaline ja seda tasub eraldi välja tuua. npm install –ignoreeri skripte takistab elutsükli skriptide käivitamist ja see on hea nõuanne. Sellel pole siin mingit mõju, sest see kood ei kasuta elutsükli skripti. Kasulik koormus käivitub siis, kui rakenduse kood, testkäivitus, kimpude generaator või linter impordib mooduli esmalt. CI-jooksul, mis installitakse ja seejärel kohe ehitatakse, on need kaks sekundite kaugusel.

Jahinduse puhul on püsivad signaalid pigem struktuurilised kui sõnasõnalised. Hostid, failinimi ja edastusradad muutuvad; neid kujundeid on raskem muuta:

  • Mooduli sisenemispunkt, mille lõpplause on proovi { nõuda(“./x”); } püüda (_) {} faili ümber, mis ei ole eksporditud API osa. Ehtsa polüfill-iga pakett impordib selle algusest peale ja kasutab selle tulemust. Faili lõpust imporditud iga vea allaneelamine ei ole veakäsitlus.
  • Hoststringid on kokku pandud .liitu("") fragmentide hulgast. Legitiimsel koodil pole mingit põhjust hostinime massiivi elementide vahel jagada.
  • Pakett, mille deklareeritud sõltuvused on tühjad, aga mis ulatub edasi https, DNSja lapseprotsess impordi ajal. Kogu leid seisneb selles, et UI komponenti reklaamivas paketis otsitakse ja käivitatakse andmeid.
  • Versiooninumbrid ei ole kooskõlas paketi vanusega. Nimi, mis avaldati esmakordselt paar päeva tagasi kahekohalise põhiversioonina ilma vahepealsete väljalaseteta, kirjeldab midagi muud kui selle arendust.
  • Kirjutab aadressile / var / tmp or % TEMP% järgneb chmod kuni 07:55 ja irdunud kudemine. Järjestus on lühike, korrastatud ja harva koos healoomuline.

Windowsi hostarvutites on kaks odavat ja suure usaldusväärsusega kontrolli. Püsivusartefaktid on fikseeritud stringid ja ükski neist ei kuulu puhtasse süsteemi: ajastatud ülesanne aadressil \Microsoft\Windows\Multimeedia\SystemSoundsService, Run-võtme väärtus nimega Süsteemihelide teenusja sama nimega käivitatav fail all %APPDATA%\Microsoft\Windows\Teemad\Ehtne Windowsi heliteenus ei asu üheski neist kohtadest. Teiseks kasutab laadur fikseeritud ühe eksemplari mutexi, Global\{7A3B9E1F-C2D4-4F8A-B5E6-D7A1F0C3E2B9}; selle olemasolu hostis on indikaator ja kuna laadur käsitleb olemasolevat mutexi kui "juba töötavat", on selle eelnev loomine teostatav lühiajaline vaktsineerimine, kuni parandus on ajastatud.

Kolmanda etapi tuvastamine on keerulisem probleem ja seda tasub selgelt mõista. Avaliku analüüsi põhjal dekrüpteeritakse see ja kaardistatakse mällu, mitte ei kirjutata kettale, seega failide skaneerimine ja ketta kohtuekspertiis seda ei näe. Jälgitavaks jääb laaduri enda jalajälg – püsivuskirjed, mutex ja väljaminevad päringud edastushostidele või DNS-TXT domeenidele.

Keskkondade puhul, mis lahendavad sõltuvusi nii privaatsest kui ka avalikust registrist, jääb leevendav tegur siinkohal muutmata: ulatuse sisemised nimed, nii et avalik nimi ei saa neid rahuldada, ja nende ulatuste eraldusvõime kinnitamine sisemisele registrile. Ülalkirjeldatud versiooni inflatsiooni käitumine toimib ainult siis, kui kõrgema taseme avalik versioon saab nime võita.

Lõpuks tasub avaldamata jätmist hoolikalt lugeda, mitte pidada seda lõpplahenduseks. Registrist lahkus 25 sekundiga üheksateist nime ja üks naasis päev hiljem uue konto alt, kusjuures edastusinfrastruktuur jäi kogu aeg puutumata. Pakettide eemaldamine ei ole operatsiooni eemaldamine; hostid jätkasid kirjutamise ajal iga etapi teenindamist. Iga sõltuvuspuud, mis lahendas ühe neist nimedest 31. juuli ja 1. augusti vahel, tuleks käsitleda nii, nagu oleks neil olnud võimalus esimene etapp käivitada, olenemata sellest, kas nimi on endiselt olemas või mitte.

Tehtud tööd

sca-tööriistad-tarkvara-kompositsiooni-analüüsi-tööriistad
Tarkvarariskide prioriseerimine, leevendamine ja turvamine
Hankige oma tasuta konto.
Krediitkaarti pole vaja.

Turvaline tarkvaraarendus ja -tarne

Xygeni tootekomplektiga