Så här tar du bort Flashback-malware från OS X

Medan OS X var relativt tomt för skadlig kod under de första 10 åren av användning, har skadliga programvaror nyligen skurit upp som har påverkat ett betydande antal Mac-system.

En av de första var MacDefender-falsk antivirusbedrägeri, som hade folk som utfärdat kreditkortsinformation av rädsla för att deras system var infekterade. Denna bluff morfed ganska snabbt som det försökte undvika upptäckt och fortsätta tvånga människor att erbjuda personlig information. En annan bluff var DNSChanger malware som drabbade miljontals PC-system över hela världen, och som i slutändan riktade inverkade system på skadliga webbplatser och som att MacDefender malware försökte få människor att erbjuda personlig information.

Den senaste skadliga programvaran för att slå OS X har varit Flashback-bluff som ursprungligen startade som en falsk Flash Player installer-applikation som var relativt lätt att undvika. Men hotet förvandlades snabbt till ett allvarligare hot genom att utnyttja oöverlämnade säkerhetshål i Java (som Apple sedan har adresserat) för att installera på en Mac som kör Java genom att bara besöka en skadlig webbsida och inte kräva någon användaruppmärksamhet. Hittills är det uppskattat att ha smittat över 600 000 Mac-system över hela världen, med majoriteten i USA och Kanada.

Hur fungerar det?

Flashback-malware sprutar in kod till program (speciellt webbläsare) som kommer att utföras när de körs, och vilka sedan skickar skärmdumpar och annan personlig information till fjärrservrar.

Första steget: Utnyttja Java

När du stöter på den skadliga webbsidan som innehåller skadlig kod och har en ompaketerad version av Java som körs på ditt system, kör den först en liten Java-applet som när den körs bryter Java-säkerhet och skriver ett litet installationsprogram till användarens konto. Programmet heter något som .jupdate, .mkeeper, .flserv, .null eller .rserv, och perioden framför den gör att den visas gömd i standard Finder-vy.

Dessutom kommer Java-applet att skriva en startfil med namnet "com.java.update.plist", "com.adobe.reader.plist", "com.adobe.flp.plist" eller till och med "null.plist" till den aktuella användarens ~ / Bibliotek / LaunchAgents / mapp, som kontinuerligt startar .jupdate-programmet när användaren är inloggad.

För att undvika detektering, kommer installatören först att leta efter förekomsten av vissa antivirusverktyg och andra verktyg som kan vara närvarande i en strömanvändares system, vilket enligt F-Secure inkluderar följande:

/ Bibliotek / Little Snitch

/Developer/Applications/Xcode.app/Contents/MacOS/Xcode

/ Program / VirusBarrier X6.app

/Applications/iAntiVirus/iAntiVirus.app

/Applications/avast!.app

/Applications/ClamXav.app

/Applications/HTTPScoop.app

/ Program / Paket Peeper.app

Om dessa verktyg hittas skadar malware sig själv i ett försök att förhindra upptäckt av dem som har medel och förmåga att göra det. Många malwareprogram använder detta beteende, vilket sågs hos andra som tsunami malware bot.

Andra steget: Ladda ner nyttolasten

När jupdateprogrammet körs kommer det att anslutas till en fjärrserver och ladda ner ett nyttolastprogram som är skadlig programvara själv och som består av två komponenter. Den första är huvuddelen av skadlig programvara som utför inspelning och uppladdning av personlig information, och den andra är en filterkomponent som används för att förhindra att skadlig programvara körs om inte specifika program som webbläsare används.

Tredje steget: Infektion

När skadlig programvara och filter laddas ner skadas skadlig programvara för att infektera systemet. Här kommer användarna att se en varning om en programuppdatering och kommer att uppmanas att lämna sina lösenord. Tyvärr vid denna tidpunkt finns det inget att stoppa infektionen, och om ett lösenord levereras eller inte ändras endast infektionssättet.

Roten till infektionsrutinen är baserad på kapning av konfigurationsfiler i OS X som läses och körs när program körs. En av dessa kallas "Info.plist" som finns i mappen "Innehåll" i varje OS X-applikationspaket och läses närhelst det specifika programmet öppnas. Den andra heter "environment.plist" och ligger i användarkontot i en dold mapp (~ / .MacOSX / environment.plist), som kan användas för att starta parametrar när alla program öppnas av användaren.

Det första infektionsmetoden är om ett lösenord levereras, i vilket fall malware ändrar Info.plist-filerna i Safari och Firefox för att köra malware när dessa program öppnas. Det här är malwareens föredragna infektionsläge, men om ett lösenord inte levereras skadas malware till sitt andra infektionsläge, där det ändrar filen "environment.plist".

Genom att använda filen environmental.plist kommer malware att köras när någon applikation öppnas och det leder till kraschar och annat udda beteende som kan orsaka larm för användaren. Malware använder sedan sin filterkomponent för att endast köras när vissa applikationer lanseras, till exempel Safari, Firefox, Skype och även Office-installationer.

Hur som helst, när nedladdad malware kommer att infektera systemet med ett av dessa tillvägagångssätt och kommer att köras när mål applikationer som webbläsare används. I senare versioner av skadlig programvara, när den installeras med "environment.plist" -filen, kommer den att ytterligare kontrollera systemet för att säkerställa att fullständiga installationer av program som Office eller Skype är närvarande och eventuellt raderar sig om dessa program inte är helt eller korrekt installerad. F-Secure spekulerar på att detta är ett försök att förhindra tidig upptäckt av skadlig programvara.

Hur upptäcker jag det?

Det är ganska enkelt att upptäcka skadlig programvara och kräver att du bara öppnar Terminal-programmet i mappen / Program / Verktyg / mapp och kör följande kommandon:

standardvärden läser ~ / .MacOSX / environment DYLD_INSERT_LIBRARIES

standardvärden läs /Applications/Safari.app/Contents/Info LSEnvironment

standardinställningar läs /Applications/Firefox.app/Contents/Info LSEnvironment

Dessa kommandon kommer att läsa filen "Info.plist" för vissa målprogram och filen "environment.plist" i användarkontot och avgöra om den variabel som malware använder för att starta sig (kallad "DYLD_INSERT_LIBRARIES") är närvarande. Om variabeln inte är närvarande kommer dessa tre Terminalkommandon att utgå från att standardparet "existerar inte", men om de är närvarande kommer dessa kommandon att mata ut en sökväg som pekar på skadlig kodfilen, som du bör se i Terminal fönster.

Utöver ovanstående kommandon kan du kolla på förekomsten av osynliga .so-filer som tidigare varianter av skadlig programvara skapar i den delade användarkatalogen genom att köra följande kommando i terminalen:

ls -la ~ /../ Delad /.*. så

När du har kört det här kommandot, om du ser en utmatning av "ingen sådan fil eller katalog" så har du inte dessa filer i din användardelade katalog. men om de är närvarande så ser du dem listade.

Hur tar jag bort det?

Om du har upptäckt att ditt system innehåller de modifierade filerna och du misstänker att den har skadad programvara, kan du gå om att ta bort den med hjälp av F-Secures instruktioner för manuell borttagning. Dessa instruktioner är lite djupgående, men om du följer dem exakt, bör du kunna avlägsna infektionssystemet:

  1. Öppna terminalen och kör följande kommandon (samma som ovan):

    standardvärden läs /Applications/Safari.app/Contents/Info LSEnvironment

    standardinställningar läs /Applications/Firefox.app/Contents/Info LSEnvironment

    standardvärden läser ~ / .MacOSX / environment DYLD_INSERT_LIBRARIES

    När dessa kommandon körs, notera hela filvägen som matas ut till terminalfönstret (det kan vara parat med termen "DYLD_INSERT_LIBRARIES"). För varje av de kommandon som matar ut en filväg (och säger inte att domänparet existerar), kopiera hela filvägen och kör följande kommando med filvägen i stället för FILEPATH i kommandot (kopiera och klistra in detta kommando):

    grep -a -o '__ldpath __ [- ~] *' FILEPATH

  2. Leta reda på de filer som nämns i utmatningen av ovanstående kommandon och radera dem. Om du inte kan hitta dem i Finder, sedan för varje första typ "sudo rm" i terminalen följt av ett enda utrymme och använd sedan med muspekaren för att välja den fullständiga filvägen från det första kommandot och använd Command-C följt av Command-V för att kopiera och klistra in det i Terminal. Tryck sedan på Enter för att utföra kommandot och ta bort den här filen.

    Se följande skärmdump för ett exempel på hur det ska se ut:

  3. När du har raderat alla filhänvisningar med "standardinställningarna" ovan, har du tagit bort skadliga programfiler, men du måste fortfarande återställa de ändrade applikationerna och kontofilerna, så här kör du följande kommandon:

    sudo standardvärden delete /Applications/Safari.app/Contents/Info LSEnvironment

    sudo chmod 644 /Applications/Safari.app/Contents/Info.plist

    sudo-standarderna raderar /Applications/Firefox.app/Contents/Info LSEnvironment

    sudo chmod 644 /Applications/Firefox.app/Contents/Info.plist

    standardvärden raderar ~ / .MacOSX / environment DYLD_INSERT_LIBRARIES

    launchctl unsetenv DYLD_INSERT_LIBRARIES

  4. I Finder, gå till Go-menyn och välj Bibliotek (håll alternativtangenten i Lion för att avslöja det här alternativet i menyn) och öppna sedan mappen LaunchAgents, där du ska se en fil som heter något liknande "com.java.update .plist." Skriv sedan följande kommando i Terminal (Obs: ändra namnet "com.java.update" i kommandot för att återge namnet på filen innan dess .plist-suffix, till exempel "com.adobe.reader" om du ha den filen):

    standard läser ~ / Bibliotek / LaunchAgents / com.java.update ProgramArguments

    När det här kommandot är klart trycker du på Enter och noterar den filväg som har skrivits ut till Terminal-fönstret.

    Som du gjorde tidigare, leta reda på den här filen i Finder och ta bort den, men om du inte kan göra det skriver du "sudo rm" följt av ett enda utrymme och kopierar och klistrar sedan ut filfilen i kommandot och trycker på Enter.

  5. För att ta bort eventuella dolda .so-filer som hittats tidigare kan du ta bort dem genom att köra följande kommando i terminalen (var noga med att kopiera och klistra in det här kommandot eftersom det inte skulle finnas några mellanslag i den sista komponenten som innehåller symbolerna och skiljetecken ):

    sudo rm ~ /../ Delad /.*. så

    När det här steget är klart, ta bort filen heter "com.java.update.plist" (eller "com.adobe.reader.plist" och du borde vara bra att gå.

UPPDATERAD: 4/5/2012, 10:00 - Tillagda detektering och borttagningsinstruktioner av dolda .so-filer som används av tidigare varianter av skadlig programvara.


 

Lämna Din Kommentar