Mens OS X var relativt tom for malware i de første 10 års brug, har for nylig skadede malware skåret op, der har påvirket et betydeligt antal Mac-systemer.
En af de første var MacDefender falsk antivirus scam, som havde folk, der udstedte kreditkortoplysninger ud af frygt for, at deres systemer var smittet. Denne scam morphed ganske hurtigt, da det forsøgte at undgå detektion og fortsætte tvang folk til at tilbyde personlige oplysninger. En anden fidus var DNSChanger malware, der ramte millioner af pc-systemer verden over, og som i sidste ende rettede berørte systemer til ondsindede websteder, og som MacDefender malware forsøgte at få folk til at tilbyde personlige oplysninger.
Den nyeste malware til at ramme OS X har været Flashback-svindel, som oprindeligt startede som en falsk Flash Player installer applikation, der var forholdsvis let at undgå. Imidlertid blev truslen hurtigere til en mere alvorlig trussel ved at udnytte ubatchede sikkerhedshuller i Java (som Apple siden har adresseret) for at installere på en Mac, der kører Java, ved blot at besøge en ondsindet webside og ikke kræve nogen bruger opmærksomhed. Hidtil er det anslået at have inficeret over 600.000 Mac-systemer verden over, med størstedelen i USA og Canada.
Hvordan virker det?
Flashback-malware injicerer kode i applikationer (specielt webbrowsere), der udføres, når de kører, og som derefter sender skærmbilleder og andre personlige oplysninger til eksterne servere.
Første skridt: Udnytte Java
Når du støder på den ondsindede webside indeholdende malware og har en upakket version af Java, der kører på dit system, udføres det først en lille Java-applet, at når kørslen bryder Java-sikkerheden og skriver et lille installationsprogram til brugerens konto. Programmet hedder noget som .jupdate, .mkeeper, .flserv, .null eller .rserv, og perioden foran det gør det vist skjult i standard Finder-visning.
Desuden vil Java-applet skrive en launcher-fil med navnet "com.java.update.plist", "com.adobe.reader.plist", "com.adobe.flp.plist" eller endda "null.plist" til den aktuelle brugers ~ / Bibliotek / LaunchAgents / mappe, som løbende starter .jupdate-programmet, når brugeren er logget ind.
For at undgå detektion skal installatøren først se efter tilstedeværelsen af nogle antivirusværktøjer og andre hjælpeprogrammer, der kan være til stede på en strømbruger system, som ifølge F-Secure omfatter følgende:
/ Bibliotek / Little Snitch
/Developer/Applications/Xcode.app/Contents/MacOS/Xcode
/ Programmer / VirusBarrier X6.app
/Applications/iAntiVirus/iAntiVirus.app
/Applications/avast!.app
/Applications/ClamXav.app
/Applications/HTTPScoop.app
/ Programmer / Pakke Peeper.app
Hvis disse værktøjer findes, fjerner malware sig selv i et forsøg på at forhindre detektering af dem, der har midlerne og evnen til at gøre det. Mange malware programmer bruger denne adfærd, som det blev set hos andre som tsunami malware bot.
Andet trin: Downloadning af nyttelast
Når jupdate-programmet udføres, vil det forbinde til en fjernserver og downloade et nyttelastprogram, der er selve malware, og som består af to komponenter. Den første er den vigtigste del af malware, der udfører opfangning og upload af personlige oplysninger, og den anden er en filterkomponent, der bruges til at forhindre malware i at køre, medmindre bestemte programmer som webbrowsere bliver brugt.
Tredje trin: Infektion
Når malware og filteret er downloadet, køres malware for at inficere systemet. Her vil brugerne se en advarsel om en softwareopdatering og blive bedt om at levere deres adgangskoder. Desværre er der intet at stoppe infektionen på dette tidspunkt, og om en adgangskode leveres, ændres kun infektionsmåden.
Roten til infektionsrutinen er baseret på kapning af konfigurationsfiler i OS X, der læses og udføres, når programmerne køres. En af disse kaldes "Info.plist", der er placeret i mappen "Indhold" i hver OS X-pakke, og læses, når det pågældende program åbnes. Den anden kaldes "environment.plist" og er placeret i brugerkontoen i en skjult mappe (~ / .MacOSX / environment.plist), som kan bruges til at starte parametre, når der åbnes nogen programmer af brugeren.
Den første infektionsmetode er, hvis der leveres en adgangskode, i hvilket tilfælde malware ændrer Info.plist-filerne i Safari og Firefox for at køre malware, når disse programmer åbnes. Dette er malwareens foretrukne infektionsmetode, men hvis en adgangskode ikke leveres, overgår malware sig til sin anden infektionsmodus, hvor den ændrer filen "environment.plist".
Ved at bruge filen environmental.plist, vil malware køre, når enhver applikation åbnes, og dette vil føre til nedbrud og anden ulige adfærd, der kan forårsage alarm til brugeren, så malware bruger derefter sin filterkomponent til kun at køre, når visse applikationer lanceres, såsom Safari, Firefox, Skype og endda Office-installationer.
Under alle omstændigheder, når den er downloadet, vil malware inficere systemet ved hjælp af en af disse tilgange og vil køre, når der anvendes mål applikationer som webbrowsere. I nyere versioner af malware, når den installeres ved hjælp af "environment.plist" -filen, vil den yderligere kontrollere systemet for at sikre, at komplette installationer af programmer som Office eller Skype er til stede og eventuelt sletter sig, hvis disse programmer ikke er helt eller korrekt installeret. F-Secure spekulerer på, at dette er et forsøg på at forhindre tidlig påvisning af malware.
Hvordan opdager jeg det?
Registrering af malware er forholdsvis let, og kræver, at du blot åbner Terminal applikationen i mappen / Applications / Utilities / folder og kør følgende kommandoer:
standardindstillinger læs ~ / .MacOSX / miljø DYLD_INSERT_LIBRARIES
standardindstillinger læs /Applications/Safari.app/Contents/Info LSEnvironment
standardindstillinger læs /Applications/Firefox.app/Contents/Info LSEnvironment
Disse kommandoer vil læse filen "Info.plist" for nogle målprogrammer og filen "environment.plist" i brugerkontoen og afgøre, om den variabel, som malwareprogrammet bruger til at starte sig selv (kaldet "DYLD_INSERT_LIBRARIES"), er til stede. Hvis variablen ikke er til stede, vil disse tre Terminalkommandoer output, at standardparret "eksisterer ikke", men hvis de er til stede, vil disse kommandoer udgive en sti, der peger på malware-filen, som du bør se i Terminal vindue.
Ud over de ovennævnte kommandoer kan du tjekke for tilstedeværelsen af usynlige .so-filer, som tidligere varianter af malware opretter i den delte brugermappe ved at køre følgende kommando i Terminal:
ls -la ~ /../ Shared /.*. så
Når du har kørt denne kommando, hvis du ser en output af "ingen sådan fil eller mappe", har du ikke disse filer i din brugerdelte mappe. men hvis de er til stede så vil du se dem opført.
Hvordan fjerner jeg det?
Hvis du efter at have kørt de første tre detekteringskommandoer har fundet ud af, at dit system indeholder de ændrede filer, og du har mistanke om, at den har malware installeret, kan du gå om at fjerne den ved hjælp af F-Secure's manuelt fjernbetjeningsvejledning. Disse instruktioner er lidt dybtgående, men hvis du følger dem nøjagtigt, bør du være i stand til at fjerne infektionssystemet:
- Åbn Terminal og kør følgende kommandoer (det samme som ovenfor):
standardindstillinger læs /Applications/Safari.app/Contents/Info LSEnvironment
standardindstillinger læs /Applications/Firefox.app/Contents/Info LSEnvironment
standardindstillinger læs ~ / .MacOSX / miljø DYLD_INSERT_LIBRARIES
Når disse kommandoer køres, skal du notere den fulde filsti, der sendes til terminalvinduet (det kan være parret med udtrykket "DYLD_INSERT_LIBRARIES"). For hver af de kommandoer, der udsender en filsti (og ikke siger, at domæneparret ikke eksisterer), kopier hele filbanesektionen og kør følgende kommando med filbanen i stedet for FILEPATH i kommandoen (kopi og indsæt denne kommando):
grep -a -o '__ldpath __ [- ~] *' FILEPATH
- Find de filer, der er nævnt i udgangen af ovennævnte kommandoer, og slet dem. Hvis du ikke kan finde dem i Finder, så for hver første type "sudo rm" i terminalen efterfulgt af et enkelt rum, og brug derefter din musemarkør til at vælge den fulde filsti fra den første kommandos output og brug Command-C efterfulgt af Command-V for at kopiere og indsætte det tilbage i Terminal. Tryk derefter på Enter for at udføre kommandoen og fjern denne fil.
Se følgende skærmbillede for et eksempel på hvordan dette skal se ud:
- Når du har slettet alle filreferencerne ved hjælp af kommandoerne "standard" ovenfor, har du fjernet malware-filerne, men du skal stadig nulstille de ændrede applikationer og kontofiler, så følg dette for at køre følgende kommandoer:
sudo standardindstillinger slet /Applications/Safari.app/Contents/Info LSEnvironment
sudo chmod 644 /Applications/Safari.app/Contents/Info.plist
sudo standardindstillinger slette /Applications/Firefox.app/Contents/Info LSEnvironment
sudo chmod 644 /Applications/Firefox.app/Contents/Info.plist
standardindstillinger slette ~ / .MacOSX / miljø DYLD_INSERT_LIBRARIES
launchctl unsetenv DYLD_INSERT_LIBRARIES
- I Finder skal du gå til menuen Gå og vælge Bibliotek (hold valgknappen i Lion for at afdække denne indstilling i menuen), og åbn derefter mappen LaunchAgents, hvor du skal se en fil med navnet "com.java.update .plist." Indtast derefter følgende kommando i Terminal (Bemærk: Skift navnet på "com.java.update" i kommandoen for at afspejle navnet på filen før dets .plist-suffiks, f.eks. "Com.adobe.reader", hvis du have den fil):
standardindstillinger læs ~ / Bibliotek / LaunchAgents / com.java.update ProgramArguments
Når denne kommando er gennemført, skal du trykke på Enter og notere den filsti, der er blevet sendt til Terminal-vinduet.
Som du tidligere gjorde, finder du denne fil i Finder og sletter den, men hvis du ikke kan gøre det, skriv så "sudo rm" efterfulgt af et enkelt rum, og kopier og indsæt derefter outputfilbanen i kommandoen, og tryk på Enter.
For at fjerne eventuelle skjulte .so-filer, der blev fundet tidligere, kan du fjerne dem ved at køre følgende kommando i Terminal (sørg for at kopiere og indsætte denne kommando, da der ikke skal være absolut plads i den sidste komponent, der indeholder symboler og tegnsætningstegn ):
sudo rm ~ /../ Shared /.*. så
Når dette trin er færdigt, skal du fjerne filen kaldet "com.java.update.plist" (eller "com.adobe.reader.plist", og du bør være god at gå.
OPDATERET: 4/5/2012, 10:00 - Tilføjede registrerings- og fjernelsesinstruktioner af skjulte .so-filer, der bruges af tidligere varianter af malware.
Efterlad Din Kommentar