Botneto kodo sulaužymas

Kompromituotų kompiuterių tinklai, valdomi centrinio serverio, geriau žinomi kaip botnetai, yra Šveicarijos armijos įrankių, skirtų internetiniams nusikaltėliams, tinklai. Piratai gali naudoti šias bendrai pasirinktas sistemas, norėdami išmesti šlamštą, priglobti kenkėjišką kodą, paslėpti savo pėdsakus internete arba užtvindyti įmonės tinklą, kad nutrauktų prieigą prie interneto.





Kai tik atsiranda naujas robotų tinklas, mokslininkai stengiasi pakeisti programinę įrangą, kurią jis įdiegia aukos įrenginyje, ir iššifruoti, kaip kiekvienas robotas bendrauja su kontroliuojančiu serveriu. Kadangi šie pranešimai dažnai yra užšifruoti, tokia analizė gali užtrukti savaites ar mėnesius. Dabar mokslininkai iš Kalifornijos universiteto Berklio ir Carnegie Mellon universiteto sukūrė būdą, kaip automatiškai pakeisti ryšį tarp pažeistų kompiuterių ir juos valdančių serverių.

Straipsnyje, kuris šią savaitę bus pristatytas Kompiuterinių mašinų asociacijoje Konferencija apie kompiuterių ir ryšių saugą , mokslininkai parodo, kaip automatinė atvirkštinė inžinerija gali iššifruoti komunikacijos tarp komandų ir valdymo serverio ir jo robotų struktūrą ir paskirtį.

Botneto ryšio protokolas yra botneto pagrindas, sako Juanas Caballero, doktorantas, susijęs su Kalifornijos universitetu Berkliu ir Carnegie Mellon universitetu, ir pagrindinis šio straipsnio autorius. Taip užpuolikas siunčia komandas į robotų tinklą.



Kai tyrėjai anksčiau bandė automatiškai analizuoti botnet ryšio protokolus, jie daugiausia dėmesio skyrė kliento gautų komandų iššifravimui. Tačiau Caballero kartu su UC Berkeley docentu Dawn Song ir dar dviem kolegomis sukūrė techniką, kuri išverčia ir kliento gautas komandas, ir jo siunčiamus atsakymus.

Tada tyrėjai paleido robotinio tinklo kodą virtualioje mašinoje ir išanalizavo informacijos judėjimą į kompiuterio registrus ir iš jų – atminties komponentus mašinos procesoriuje – prieš jį užšifruojant. Stebėdami pokyčius atminties registruose (tyrėjai tai vadina buferio dekonstrukcija) leido jiems nustatyti botneto ryšių struktūrą ir daryti išvadą apie įvairių kiekvienos komandos komponentų funkciją.

Tai aktualu kenkėjiškoms programoms, nes paprastai neturime vykdomosios programos, skirtos botneto komandų ir valdymo serveriui, sakė Paolo Milani, Vienos technologijos instituto Saugios sistemos laboratorijos doktorantas ir ankstesnio straipsnio autorius. apie automatizuotą protokolų analizę. Taigi naudojant ankstesnius metodus negalėtume automatiškai pakeisti kliento protokolo pusės.



Tyrėjai sukūrė gautą techniką į įrankį, vadinamą „Dispatcher“, kad būtų galima analizuoti „botnet“ tinklo ryšius ir netgi įvesti naują informaciją į ryšių srautą. Tyrėjai išbandė šį metodą sudėtingame botnete, vadinamame MegaD, kuris 2008 m. pradžioje pateko į antraštes, kai apsaugos įmonės pastebėjo, kad jis yra atsakingas už beveik trečdalį nepageidaujamo pašto srauto visame pasaulyje.

Tyrėjai išanalizavo 15 pranešimų, kuriuos surinko stebėdami MegaD robotą: septynias komandas, išsiųstas iš valdymo serverių, ir aštuonis atsakymus iš roboto. Dispečerio įrankis išanalizavo robotą, kai jis veikė virtualioje mašinoje, ir automatiškai aptiko tašką, kai programa iššifravo komandas, bet dar neužšifravo savo atsakymų.

Tinklo administratoriai taip pat gali naudoti dispečerio įrankį, kad įsiskverbtų į robotų tinklą. „MegaD“ klientai paprastai patikrins, ar gali siųsti el. laiškus, kad taptų naudingu sraigteliu el. laiškų siuntimo kampanijoje. Tačiau, kadangi mokslininkai blokuoja visą išeinančio pašto srautą, klientas paprastai siųsdavo pranešimą į valdantįjį serverį, sakydamas, kad jo pašto testas nepavyko. Tačiau mokslininkai pakeliui modifikavo pranešimą, o atsakydami pateikdami sėkmingo nepageidaujamo pašto siuntimo testo kodą.



Paprastai jis būtų išsiuntęs pranešimą, kad negali siųsti šlamšto, sako UC Berkeley Caballero. [Vietoj to] iš tikrųjų gavome šlamšto šabloną, kad galėtume pamatyti, kokį šlamštą jis išsiųs.

Tokie įrankiai kaip „Dispatcher“ galėtų išplėsti tai, ką šiuo metu yra nedaug tyrėjų, kurie reguliariai apverčia robotų tinklus, sako Joe Stewart, vyresnysis saugumo tyrėjas. SecureWorks , tinklo saugos įmonė. Jis sako, kad tai išspręstų pasaulio problemą – būtų pakankamai žmonių, kad galėtų analizuoti robotų tinklus. Yra tik tiek daug žmonių, kurie gali atlikti atvirkštinę inžineriją robotų tinkluose. Turite būrį entuziastų, kurie galėtų tuo jiems padėti.

Tačiau Stewartas priduria, kad patyrusiems tyrinėtojams dar nereikia tokių automatinių įrankių, skirtų daugumos kenkėjiškų programų analizei. Nors sudėtingesniems robotų tinklams gali prireikti kelių savaičių, kad būtų galima pakeisti inžineriją, o kenkėjiškos programos, su kuriomis susiduria dauguma įmonių ir organizacijų, nėra jokių problemų. Daugiau nei 90 procentų visų robotų tinklų naudoja lengvai pažeidžiamą šifravimą, kad apsaugotų savo ryšį, todėl rankiniai metodai yra gana lengvi ir greiti.



Stewartas sako, kad ne kiekvienam (bot meistrui) reikia MegaD tipo šifravimo. Aš tiesiog nemanau, kad tai verta jų laiko, ne dėl to, kokį poveikį jiems darome dabar, kuris yra minimalus.

Tačiau botnetai ir toliau vystysis, sako UC Berkeley daina. „Botnet“ programos tampa vis sudėtingesnės, sako ji. Jie naudoja įvairius užmaskavimo būdus ir pan. Taigi galbūt rankinė analizė gali būti naudinga šiuo metu, bet ateityje mums reikės geresnių įrankių.

paslėpti