Medtem ko je bil OS X v prvih 10 letih uporabe razmeroma neveljaven zlonamerne programske opreme, so se nedavno pojavile grožnje z zlonamerno programsko opremo, ki so prizadele veliko število sistemov Mac.
Ena od prvih je bila lažna protivirusna prevara MacDefenderja, ki je ljudi, ki so izdajali podatke o kreditnih karticah, zaradi strahu pred okužbo njihovih sistemov. Ta prevara se je precej hitro preoblikovala, saj se je poskušala izogniti odkrivanju in še naprej prisilila ljudi k ponudbi osebnih podatkov. Druga prevara je bila zlonamerna programska oprema DNSChanger, ki je prizadela milijone računalniških sistemov po vsem svetu in ki je končno usmerila prizadete sisteme na zlonamerna spletna mesta, in kot MacDefender malware poskušal dobiti ljudi, da ponudijo osebne podatke.
Najnovejša zlonamerna programska oprema, ki jo je zadel OS X, je bila prevara Flashback, ki se je sprva začela kot ponarejena aplikacija za namestitvene predvajalnike Flash predvajalnika, ki se ji je bilo relativno enostavno izogniti. Vendar pa se je grožnja hitro spremenila v resnejšo grožnjo z izkoriščanjem nepokvarjenih varnostnih lukenj v Javi (ki jo je Apple od takrat obravnaval) za namestitev na Mac, ki teče Java, s samo obiskom zlonamerne spletne strani in ne potrebuje pozornosti uporabnika. Doslej je po ocenah okuženih več kot 600.000 Mac sistemov po vsem svetu, z večino v ZDA in Kanadi.
Kako deluje?
Malware Flashback vbrizga kodo v aplikacije (posebej spletne brskalnike), ki se bodo izvajale ob zagonu, in nato pošljejo posnetke zaslona in druge osebne podatke na oddaljene strežnike.
Prvi korak: Izkoriščanje Jave
Ko naletite na zlonamerno spletno stran, ki vsebuje zlonamerno programsko opremo in se na vašem sistemu izvaja nedotaknjena različica Jave, bo najprej izvršil majhen Java aplet, ki bo ob zagonu prekinil varnost Java in napisal majhen namestitveni program na uporabniški račun. Program je poimenovan kot .jupdate, .mkeeper, .flserv, .null ali .rserv, obdobje pred njim pa se prikaže skrito v privzetem pogledu Finderja.
Poleg tega bo applet Java napisal datoteko za zaganjalnik, imenovano "com.java.update.plist", "com.adobe.reader.plist", "com.adobe.flp.plist" ali celo "null.plist" v mapo trenutnega uporabnika ~ / Library / LaunchAgents /, ki bo nenehno zagnala program .jupdate vsakič, ko bo uporabnik prijavljen.
Da bi se izognili odkrivanju, bo namestitveni program najprej poiskal prisotnost nekaterih protivirusnih orodij in drugih pripomočkov, ki bi lahko bili prisotni v močnem uporabniškem sistemu, ki po F-Secure vključuje naslednje:
/ Knjižnica / Little Snitch
/Developer/Applications/Xcode.app/Contents/MacOS/Xcode
/ Aplikacije / VirusBarrier X6.app
/Applications/iAntiVirus/iAntiVirus.app
/Applications/avast!.app
/Applications/ClamXav.app
/Applications/HTTPScoop.app
/ Applications / Packet Peeper.app
Če najdete ta orodja, se zlonamerna programska oprema izbriše, da bi preprečili odkrivanje tistih, ki imajo sredstva in zmožnost za to. Mnogi zlonamerni programi uporabljajo to vedenje, kot je bilo vidno v drugih, kot je botanični zlonamerni program Tsunami.
Drugi korak: prenos naloženega tovora
Ko se jupdate program izvrši, se bo povezal z oddaljenim strežnikom in prenesel program z vsebino, ki je sama zlonamerna programska oprema, in je sestavljena iz dveh komponent. Prvi je glavni del zlonamerne programske opreme, ki izvaja zajemanje in nalaganje osebnih podatkov, druga pa je komponenta filtra, ki se uporablja za preprečevanje zagona zlonamerne programske opreme, razen če se uporabljajo posebni programi, kot so spletni brskalniki.
Tretji korak: okužba
Ko sta malware in filter prenesena, se zlonamerna programska oprema zažene, da okuži sistem. Tukaj bodo uporabniki videli opozorilo o posodobitvi programske opreme in bodo pozvani k predložitvi gesel. Na žalost na tej točki ni ničesar, kar bi preprečilo okužbo, in ali je geslo zagotovljeno le, če spremeni način okužbe.
Koren rutine okužbe temelji na ugrabitvi konfiguracijskih datotek v OS X, ki se berejo in izvajajo, ko se programi izvajajo. Ena od teh se imenuje "Info.plist", ki se nahaja v mapi "Vsebina" v vsakem aplikacijskem paketu OS X, in se bere vsakič, ko se odpre določen program. Drugi se imenuje "environment.plist" in se nahaja znotraj uporabniškega računa v skriti mapi (~ / .MacOSX / environment.plist), ki se lahko uporabi za zagon parametrov, kadar uporabnik odpre vse programe.
Prvi način okužbe je, če je na voljo geslo, v tem primeru zlonamerna programska oprema spremeni datoteke Info.plist v brskalniku Safari in Firefox, da zaganja zlonamerno programsko opremo, kadar koli se ti programi odprejo. To je najprimernejši način okužbe zlonamerne programske opreme, vendar če gesla ni na voljo, se zlonamerna programska oprema zateče k svojemu drugemu načinu okužbe, kjer spremeni datoteko "environment.plist".
Z uporabo datoteke environment.plist se bo zlonamerna programska oprema zagnala vsakič, ko se odpre katera koli aplikacija, kar bo privedlo do zrušitev in drugih nenavadnih dejanj, ki bi lahko povzročila alarm uporabniku, zato zlonamerna programska oprema nato uporabi svojo komponento filtra za zagon samo, ko določene aplikacije, kot so Safari, Firefox, Skype in celo Officeove namestitve.
Kakorkoli, ko prenesete zlonamerno programsko opremo, bo okužila sistem z enim od teh pristopov in se bo izvajala vsakič, ko bodo uporabljene ciljne aplikacije, kot so spletni brskalniki. V novejših različicah zlonamerne programske opreme, ko je nameščena z datoteko "environment.plist", bo še naprej preverjala sistem, da bo zagotovila popolno namestitev programov, kot sta Office ali Skype, in se bo morda izbrisala, če ti programi niso popolnoma ali pravilno nameščen. F-Secure špekulira, da je to poskus preprečevanja zgodnjega odkrivanja zlonamerne programske opreme.
Kako jo odkrijem?
Zaznavanje zlonamerne programske opreme je dokaj preprosto in zahteva, da preprosto odprete aplikacijo Terminal v mapi / Applications / Utilities / in zaženete naslednje ukaze:
privzeto preberite ~ / .MacOSX / okolje DYLD_INSERT_LIBRARIES
privzeto preberite /Applications/Safari.app/Contents/Info LSEnvironment
privzeto preberite /Applications/Firefox.app/Contents/Info LSEnvironment
Ti ukazi bodo prebrali datoteko "Info.plist" nekaterih ciljnih aplikacij in datoteko "environment.plist" v uporabniškem računu in ugotovili, ali je spremenljivka, ki jo uporablja zlonamerna programska oprema za zagon (imenovana "DYLD_INSERT_LIBRARIES"), prisotna. Če spremenljivka ni prisotna, bodo ti trije terminalski ukazi prikazali, da privzeti par "ne obstaja", če pa so prisotni, bodo ti ukazi izpisali pot, ki kaže na datoteko zlonamerne programske opreme, ki bi jo morali videti v terminalu. okno.
Poleg zgornjih ukazov lahko preverite tudi prisotnost nevidnih datotek .so, ki so pretekle različice zlonamerne programske opreme ustvarile v uporabniškem imeniku v skupni rabi, tako da v terminalu zaženete naslednji ukaz:
ls -la ~ /../ Deljeno /. *
Po zagonu tega ukaza, če vidite izpis "brez take datoteke ali imenika", potem teh datotek v imeniku uporabnikov v skupni rabi nimate. če pa so prisotni, jih boste videli na seznamu.
Kako jo odstranim?
Če po zagonu prvih treh ukazov ugotovite, da vaš sistem vsebuje spremenjene datoteke in sumite, da je nameščena zlonamerna programska oprema, jo lahko odstranite z navodili za ročno odstranitev F-Secure. Ta navodila so malo poglobljena, če pa jih natančno upoštevate, potem morate biti zmožni osvoboditi sistem okužbe:
- Odprite terminal in zaženite naslednje ukaze (enako kot zgoraj):
privzeto preberite /Applications/Safari.app/Contents/Info LSEnvironment
privzeto preberite /Applications/Firefox.app/Contents/Info LSEnvironment
privzeto preberite ~ / .MacOSX / okolje DYLD_INSERT_LIBRARIES
Ko se ti ukazi zaženejo, si zapišite celotno pot datoteke, ki se odpre v terminalsko okno (lahko je seznanjena z izrazom "DYLD_INSERT_LIBRARIES"). Za vsakega od ukazov, ki oddajajo pot datoteke (in ne povejo, da par domen ne obstaja), kopirajte razdelek o celotni poti datoteke in zaženite naslednji ukaz z ukazno potjo namesto FILEPATH v ukazu (kopiraj in prilepi) ta ukaz):
grep -a -o '__ldpath __ [- ~] *' FILEPATH
- Poiščite datoteke, navedene v izhodnih ukazih zgoraj, in jih izbrišite. Če jih ne najdete v Finderju, potem za vsak prvi tip "sudo rm" v terminalu, ki mu sledi en presledek, nato pa s kazalcem miške izberite celotno pot datoteke iz izhoda prvega ukaza in uporabite Command-C sledi Command-V za kopiranje in lepljenje nazaj v terminal. Nato pritisnite Enter, da izvedete ukaz in odstranite to datoteko.
Za primer, kako naj to izgleda, si oglejte naslednji posnetek zaslona:
- Ko ste z ukazom »privzete vrednosti« izbrisali vse reference datotek, ste odstranili datoteke z zlonamerno programsko opremo, vendar morate spremeniti spremenjene aplikacije in datoteke računa, zato za to izvedite naslednje ukaze:
sudo defaults izbrisati /Applications/Safari.app/Contents/Info LSEnvironment
sudo chmod 644 /Applications/Safari.app/Contents/Info.plist
sudo defaults izbrisati /Applications/Firefox.app/Contents/Info LSEnvironment
sudo chmod 644 /Applications/Firefox.app/Contents/Info.plist
privzete vrednosti izbriši ~ / .MacOSX / okolje DYLD_INSERT_LIBRARIES
launchctl unsetenv DYLD_INSERT_LIBRARIES
- V iskalniku pojdite v meni Pojdi in izberite Knjižnica (držite tipko Možnosti v Lionu, da razkrijete to možnost v meniju), nato pa odprite mapo LaunchAgents, kjer bi morali videti datoteko s podobnim imenom "com.java.update" .plist. " Nato v terminal vnesite naslednji ukaz (Opomba: v ukazu spremenite ime "com.java.update", da bo prikazala ime datoteke pred pripono .plist, kot je "com.adobe.reader", če imajo to datoteko):
privzeto preberite ~ / Library / LaunchAgents / com.java.update ProgramArguments
Ko je ta ukaz dokončan, pritisnite Enter in zabeležite pot datoteke, ki je bila poslana v okno Terminal.
Kot ste to storili prej, poiščite to datoteko v Finderju in jo izbrišite, če pa tega ne morete storiti, vnesite "sudo rm", ki ji sledi en presledek, in nato kopirajte in prilepite pot izhodne datoteke v ukaz in pritisnite Enter.
Če želite odstraniti vse skrite datoteke .so, ki ste jih našli prej, jih lahko odstranite tako, da v terminalu zaženete naslednji ukaz (prepričaj se, da ta ukaz kopira in prilepi, saj v zadnji komponenti ne sme biti nobenih presledkov, ki vsebujejo simbole in ločila. ):
sudo rm ~ /../ Shared /.*
Ko je ta korak končan, odstranite datoteko, imenovano "com.java.update.plist" (ali "com.adobe.reader.plist" in bi morali biti pripravljeni.
POSODOBITEV: 5/5/2012, 10:00 pm - Dodana navodila za odkrivanje in odstranjevanje skritih datotek .so, ki jih uporabljajo predhodne različice zlonamerne programske opreme.
Pustite Komentar