OS X, ilk 10 yıl kullanımda görece kötü amaçlı yazılımdan yoksun olsa da, son zamanlarda önemli sayıda Mac sistemini etkileyen kötü amaçlı yazılım korkutmaları azaldı.
Bunlardan birincisi, sistemlerine virüs bulaştığı korkusuyla kredi kartı bilgilerini veren insanların yaşadığı MacDefender sahte antivirüs sahtekarlığıydı. Bu aldatmaca, tespit edilmekten kaçınmaya ve insanları kişisel bilgi sunmaya zorlamaya devam etmeye çalıştığı için oldukça hızlı bir şekilde değişti. Diğer bir aldatmaca, dünya çapında milyonlarca bilgisayar sistemini etkileyen ve sonuçta etkilenen sistemleri kötü amaçlı Web sitelerine yönlendiren ve MacDefender kötü amaçlı yazılımlarının insanlara kişisel bilgi sunmaya çalıştığı DNSChanger kötü amaçlı yazılımlarıydı.
OS X’e ulaşan en son kötü amaçlı yazılım, başlangıçta kaçınılması kolay olan sahte bir Flash player yükleyici uygulaması olarak başlayan Flashback aldatmacası oldu. Bununla birlikte, tehdit, yalnızca kötü niyetli bir Web sayfasını ziyaret ederek ve herhangi bir kullanıcının dikkatini gerektirmeden Java çalıştıran bir Mac'e yüklenmek üzere Java'da (bu nedenle Apple'ın adreslendiği) yamalı güvenlik açıklarından yararlanarak daha ciddi bir tehdide dönüşmüştür. Şimdiye kadar, ABD ve Kanada’daki çoğunluğu ile dünya çapında 600.000’den fazla Mac sistemine bulaşmış olduğu tahmin ediliyor.
O nasıl çalışır?
Flashback kötü amaçlı yazılım, kod çalıştırıldığında çalıştırılacak ve daha sonra uzaktaki sunuculara ekran görüntüleri ve diğer kişisel bilgileri gönderecek uygulamalara (özellikle Web tarayıcıları) enjekte eder.
İlk adım: Java'yı kullanma
Kötü amaçlı yazılımı içeren kötü amaçlı Web sayfasıyla karşılaştığınızda ve sisteminizde çalışan yamalı bir Java sürümü varsa, ilk çalıştırıldığında Java güvenliğini kıracağı ve kullanıcının hesabına küçük bir yükleyici programı yazacağı küçük bir Java uygulaması çalıştırılır. Program, .jupdate, .mkeeper, .flserv, .null veya .rserv gibi bir dosya olarak adlandırılır ve önündeki süre, varsayılan Finder görünümünde gizli görünmesini sağlar.
Ayrıca, Java uygulaması "com.java.update.plist", "com.adobe.reader.plist", "com.adobe.flp.plist" ve hatta "null.plist" gibi bir başlatıcı dosyası yazacaktır. Geçerli kullanıcının ~ / Library / LaunchAgents / klasörüne, kullanıcı her giriş yaptığında sürekli .jupdate programını başlatacaktır.
Tespitten kaçınmak için, yükleyici ilk önce F-Secure'a göre aşağıdakileri içeren bazı antivirüs araçlarının ve güç kullanan bir kullanıcının sisteminde bulunabilecek diğer yardımcı programların varlığını arayacaktır:
/ Kütüphane / Küçük Snitch
/Developer/Applications/Xcode.app/Contents/MacOS/Xcode
/ Uygulamalar / VirusBarrier X6.app
/Applications/iAntiVirus/iAntiVirus.app
/Applications/avast!.app
/Applications/ClamXav.app
/Applications/HTTPScoop.app
/ Uygulamalar / Paket Peeper.app
Bu araçlar bulunursa, kötü niyetli yazılım, bunu yapma araç ve kabiliyetine sahip kişilerin tespitini önlemek amacıyla kendini siler. Birçok kötü amaçlı yazılım programı, Tsunami kötü amaçlı yazılım botu gibi diğerlerinde görüldüğü gibi bu davranışı kullanır.
İkinci adım: Yükü indirmek
Jüpdate programı çalıştırıldığında, uzak bir sunucuya bağlanacak ve kötü amaçlı yazılımın kendisi olan ve iki bileşenden oluşan bir yük programı indirecektir. Birincisi, kişisel bilgilerin yakalanmasını ve yüklenmesini gerçekleştiren kötü amaçlı yazılımın ana parçasıdır ve ikincisi, Web tarayıcıları gibi belirli programlar kullanılmadıkça kötü amaçlı yazılımın çalışmasını önlemek için kullanılan bir filtre bileşenidir.
Üçüncü adım: Enfeksiyon
Kötü amaçlı yazılım ve filtre indirildikten sonra, kötü amaçlı yazılım sisteme bulaşmak için çalıştırılır. Bu, kullanıcıların bir yazılım güncellemesi hakkında bir uyarı görecekleri ve şifrelerini girmeleri isteneceği yerdir. Ne yazık ki bu noktada enfeksiyonu durduracak hiçbir şey yoktur ve bir parola sağlanıp sağlanmadığı, yalnızca enfeksiyon modunu değiştirir.
Enfeksiyon yordamının kökü, programlar çalıştırıldığında okunan ve yürütülen OS X'deki yapılandırma dosyalarının ele geçirilmesini temel alır. Bunlardan biri, her bir OS X uygulama paketindeki "İçindekiler" klasöründe bulunan "Info.plist" olarak adlandırılır ve bu program her açıldığında okunur. İkincisi "environment.plist" olarak adlandırılır ve kullanıcı tarafından herhangi bir program açıldığında parametreleri başlatmak için kullanılabilecek gizli bir klasörde (~ / .MacOSX / environment.plist) bulunur.
İlk enfeksiyon modu, bir şifre verilirse, bu durumda kötü amaçlı yazılım, bu programlar her açıldığında kötü amaçlı yazılımı çalıştırmak için Safari ve Firefox'taki Info.plist dosyalarını değiştirir. Bu, kötü amaçlı yazılımın tercih ettiği enfeksiyon şeklidir, ancak bir parola sağlanmazsa kötü amaçlı yazılım, ikinci ortamına "ortam.plist" dosyasını değiştirir.
Environment.plist dosyasını kullanarak, herhangi bir uygulama açıldığında kötü amaçlı yazılım çalışır ve bu, kullanıcının alarm vermesine neden olabilecek çökmelere ve diğer garip davranışlara neden olur; bu nedenle kötü amaçlı yazılım filtre bileşenini yalnızca belirli uygulamalar çalıştırıldığında çalıştırır Safari, Firefox, Skype ve hatta Office kurulumları gibi piyasaya sürüldü.
Her iki durumda da, bir kere indirilen kötü amaçlı yazılım, bu yaklaşımlardan birini kullanarak sisteme bulaşacak ve Web tarayıcıları gibi hedef uygulamalar kullanıldığında çalışacaktır. Kötü amaçlı yazılımın daha yeni varyantlarında, "environment.plist" dosyası kullanılarak yüklendiğinde, Office veya Skype gibi programların eksiksiz kurulumunun mevcut olduğundan emin olmak için sistemi kontrol edecek ve bu programlar tam veya düzgün değilse kendilerini potansiyel olarak silecektir Kurulmuş. F-Secure bunun kötü amaçlı yazılımın erken tespitini önlemeye yönelik bir girişim olduğunu düşünüyor.
Nasıl tespit ederim?
Kötü amaçlı yazılımları tespit etmek oldukça kolaydır ve Terminal uygulamasını / Applications / Utilities / klasöründe açmanızı ve aşağıdaki komutları çalıştırmanızı gerektirir:
varsayılanlar ~ / .MacOSX / ortam okunuyor DYLD_INSERT_LIBRARIES
defaults okuma /Applications/Safari.app/Contents/Info LSEnvironment
defaults okuma /Applications/Firefox.app/Contents/Info LSEnvironment
Bu komutlar, bazı hedef uygulamaların "Info.plist" dosyasını ve kullanıcı hesabındaki "environment.plist" dosyasını okur ve kötü amaçlı yazılımın kendisini başlatmak için kullanılan değişkenin ("DYLD_INSERT_LIBRARIES" olarak adlandırılır) mevcut olup olmadığını belirler. Değişken yoksa, bu üç Terminal komutu varsayılan çiftin "bulunmadığını" gösterir, ancak mevcutsa bu komutlar Terminal'de görmeniz gereken kötü amaçlı yazılım dosyasına işaret eden bir yol gösterir. penceresi.
Yukarıdaki komutlara ek olarak, Terminal'de aşağıdaki komutu çalıştırarak, kötü amaçlı yazılımın varyantlarının Paylaşılan kullanıcı dizininde oluşturduğu görünmez .so dosyalarının olup olmadığını kontrol edebilirsiniz:
ls -la ~ /../ Paylaşılan /.
Bu komutu çalıştırdıktan sonra, "böyle bir dosya veya dizin yok" çıktısı görürseniz, bu dosyaları kullanıcı paylaşımlı dizinde bulunmaz; ancak eğer onlar varsa o zaman listelenmişlerini göreceksiniz.
Nasıl çıkarabilirim?
İlk üç algılama komutunu çalıştırdıktan sonra, sisteminizde değiştirilmiş dosyaları bulunduğunu ve kötü amaçlı yazılımın kurulu olduğundan şüphelendiğinizi düşünüyorsanız, F-Secure'ın el kaldırma talimatlarını kullanarak onu kaldırmaya devam edebilirsiniz. Bu talimatlar biraz derinlemesinedir, ancak bunları tam olarak takip ederseniz, enfeksiyonun sisteminden kurtulabilmeniz gerekir:
- Terminal'i açın ve aşağıdaki komutları çalıştırın (yukarıdakiyle aynı):
defaults okuma /Applications/Safari.app/Contents/Info LSEnvironment
defaults okuma /Applications/Firefox.app/Contents/Info LSEnvironment
varsayılanlar ~ / .MacOSX / ortam okunuyor DYLD_INSERT_LIBRARIES
Bu komutlar çalıştırıldığında, terminal penceresine gönderilen tam dosya yolunu not edin ("DYLD_INSERT_LIBRARIES" terimiyle eşleştirilebilir). Bir dosya yolu çıkaran (ve etki alanı çifti bulunmadığını söylemediğiniz) komutların her biri için tam dosya yolu bölümünü kopyalayın ve aşağıdaki komutu komut satırında FILEPATH yerine dosya yolu ile çalıştırın (kopyala ve yapıştır bu komut):
grep -a -o '__ldpath __ [- ~] *' FILEPATH
- Yukarıdaki komutların çıktısında belirtilen dosyaları bulun ve silin. Bunları Finder'da bulamazsanız, terminaldeki her bir "sudo rm" ve ardından bir boşluk bıraktıktan sonra, ilk komutun çıktısından tam dosya yolunu seçmek için fare imlecinizi kullanın ve Command-C komutunu kullanın. ardından Command-V tarafından kopyalanıp terminale geri yapıştırılır. Ardından komutu uygulamak ve bu dosyayı kaldırmak için Enter tuşuna basın.
Bunun nasıl görünmesi gerektiğine dair bir örnek için aşağıdaki ekran görüntüsüne bakın:
- Yukarıdaki "defaults" komutları ile tüm dosya referanslarını sildiğinizde, o zaman kötü amaçlı yazılım dosyalarını sildiniz, ancak yine de değiştirilmiş uygulamaları ve hesap dosyalarını sıfırlamanız gerekiyor, bu nedenle aşağıdaki komutları çalıştırın:
sudo varsayılanları /Applications/Safari.app/Contents/Info LSEnvironment öğesini sil
sudo chmod 644 /Uygulamalar/Safari.app/Contents/Info.plist
sudo varsayılanları /Applications/Firefox.app/Contents/Info LSEnvironment öğesini sil
sudo chmod 644 /Uygulamalar/Firefox.app/Contents/Info.plist
varsayılanları sil ~ / .MacOSX / ortam DYLD_INSERT_LIBRARIES
launchctl unsetenv DYLD_INSERT_LIBRARIES
- Finder'da Git menüsüne gidin ve Kütüphane'yi seçin (menüde bu seçeneği ortaya çıkarmak için Lion'da Option tuşunu basılı tutun) ve ardından "com.java.update" adlı bir dosya görmeniz gereken LaunchAgents klasörünü açın. .plist." Ardından, Terminal'e aşağıdaki komutu yazın (Not: "com.adobe.reader" gibi .plist sonekinden önce dosyanın adını yansıtmak için komuttaki "com.java.update" adını değiştirin. bu dosyaya sahip):
varsayılan değerler ~ / Library / LaunchAgents / com.java.update ProgramArguments
Bu komut tamamlandığında, Enter tuşuna basın ve Terminal penceresine gönderilen dosya yolunu not edin.
Daha önce yaptığınız gibi, bu dosyayı Finder'da bulun ve silin, ancak bunu yapamıyorsanız, sonra "sudo rm" yazıp ardından tek bir boşluk bırakın, sonra çıktı dosyası yolunu kopyalayıp komuta yapıştırın ve Enter tuşuna basın.
Daha önce bulunan gizli .so dosyalarını kaldırmak için, Terminal'de aşağıdaki komutu çalıştırarak bunları kaldırabilirsiniz (bu komutu kopyaladığınızdan ve yapıştırdığınızdan emin olun, çünkü sembollerin ve noktalama işaretlerinin bulunduğu son bileşende kesinlikle boşluk olmamalıdır. ):
sudo rm ~ /../ Paylaşılan /.
Bu adım tamamlandıktan sonra, "com.java.update.plist" (veya "com.adobe.reader.plist") adlı dosyayı kaldırın ve gitmeniz iyi olur.
GÜNCELLEME: 4/5/2012, 22:00 - Kötü amaçlı yazılımın önceki türevleri tarafından kullanılan gizli .so dosyalarının tespiti ve silinmesi talimatları eklendi.
Yorumunuzu Bırakın