Mặc dù OS X tương đối không có phần mềm độc hại trong 10 năm đầu tiên sử dụng, nhưng những lo ngại về phần mềm độc hại gần đây đã xuất hiện đã ảnh hưởng đến một số lượng đáng kể các hệ thống Mac.
Một trong những vụ đầu tiên là lừa đảo chống vi-rút giả mạo MacDefender, nơi mọi người phát hành thông tin thẻ tín dụng vì sợ hệ thống của họ bị nhiễm. Trò lừa đảo này biến hình khá nhanh vì nó cố gắng tránh bị phát hiện và tiếp tục ép buộc mọi người cung cấp thông tin cá nhân. Một trò lừa đảo khác là phần mềm độc hại DNSChanger đã ảnh hưởng đến hàng triệu hệ thống PC trên toàn thế giới và cuối cùng đã hướng các hệ thống bị ảnh hưởng đến các trang web độc hại, và giống như phần mềm độc hại MacDefender đã cố gắng để mọi người cung cấp thông tin cá nhân.
Phần mềm độc hại mới nhất tấn công OS X là trò lừa đảo Flashback, ban đầu bắt đầu là một ứng dụng cài đặt trình phát Flash giả mạo tương đối dễ tránh. Tuy nhiên, mối đe dọa nhanh chóng biến thành một mối đe dọa nghiêm trọng hơn bằng cách tận dụng các lỗ hổng bảo mật chưa được vá trong Java (mà Apple đã xử lý) để cài đặt trên máy Mac chạy Java bằng cách chỉ truy cập trang Web độc hại và không yêu cầu người dùng chú ý. Cho đến nay, ước tính đã lây nhiễm hơn 600.000 hệ thống Mac trên toàn thế giới, với phần lớn ở Mỹ và Canada.
Làm thế nào nó hoạt động?
Phần mềm độc hại Flashback tiêm mã vào các ứng dụng (cụ thể là trình duyệt Web) sẽ được thực thi khi chúng chạy và sau đó gửi ảnh chụp màn hình và thông tin cá nhân khác đến các máy chủ từ xa.
Bước đầu tiên: Khai thác Java
Khi bạn gặp trang Web độc hại chứa phần mềm độc hại và có phiên bản Java chưa được vá trên hệ thống của bạn, trước tiên, nó sẽ thực thi một applet Java nhỏ mà khi chạy sẽ phá vỡ bảo mật Java và viết chương trình cài đặt nhỏ vào tài khoản của người dùng. Chương trình được đặt tên giống như .jupdate, .mkeeper, .flserv, .null hoặc .rserv và khoảng thời gian phía trước nó làm cho nó xuất hiện ẩn trong chế độ xem Finder mặc định.
Ngoài ra, applet Java sẽ viết một tệp launcher có tên là "com.java.update.plist", "com.adobe.reader.plist", "com.adobe.flp.plist" hoặc thậm chí là "null.plist" đến thư mục ~ / Library / LaunchAgents / của người dùng hiện tại, sẽ liên tục khởi chạy chương trình .jupdate bất cứ khi nào người dùng đăng nhập.
Để tránh bị phát hiện, trước tiên, trình cài đặt sẽ tìm kiếm sự hiện diện của một số công cụ chống vi-rút và các tiện ích khác có thể có trên hệ thống của người dùng điện, theo F-Secure bao gồm:
/ Thư viện / Little Snitch
/Developer/Appluggest/Xcode.app/Contents/MacOS/Xcode
/ Ứng dụng / VirusBarrier X6.app
/Ứng dụng / iAntiVirus / iAntiVirus.app
/Appluggest/avast!.app
/Ứng dụng / ClamXav.app
/Ứng dụng / TTTPScoop.app
/ Ứng dụng / Gói Peeper.app
Nếu các công cụ này được tìm thấy, thì phần mềm độc hại sẽ tự xóa trong nỗ lực ngăn chặn sự phát hiện của những người có phương tiện và khả năng để làm điều đó. Nhiều chương trình phần mềm độc hại sử dụng hành vi này, như đã thấy trong các chương trình khác như bot phần mềm độc hại Tsunami.
Bước thứ hai: Tải xuống tải trọng
Khi chương trình jupdate thực thi, nó sẽ kết nối với máy chủ từ xa và tải xuống chương trình tải trọng là chính phần mềm độc hại và bao gồm hai thành phần. Phần đầu tiên là phần chính của phần mềm độc hại thực hiện việc thu thập và tải lên thông tin cá nhân và phần thứ hai là thành phần bộ lọc được sử dụng để ngăn phần mềm độc hại chạy trừ khi các chương trình cụ thể như trình duyệt Web đang được sử dụng.
Bước thứ ba: Nhiễm trùng
Khi phần mềm độc hại và bộ lọc được tải xuống, phần mềm độc hại sẽ được chạy để lây nhiễm hệ thống. Đây là nơi người dùng sẽ thấy cảnh báo về bản cập nhật phần mềm và sẽ được nhắc cung cấp mật khẩu của họ. Thật không may tại thời điểm này không có gì để ngăn chặn sự lây nhiễm và việc mật khẩu được cung cấp hay không chỉ làm thay đổi chế độ lây nhiễm.
Nguồn gốc của thói quen lây nhiễm dựa trên việc chiếm quyền điều khiển các tệp cấu hình trong OS X được đọc và thực thi khi các chương trình được chạy. Một trong số này được gọi là "Info.plist" nằm trong thư mục "Nội dung" trong mỗi gói ứng dụng OS X và được đọc bất cứ khi nào chương trình cụ thể đó được mở. Thứ hai được gọi là "môi trường.plist" và được đặt trong tài khoản người dùng trong một thư mục ẩn (~ / .MacOSX / môi trường.plist), có thể được sử dụng để khởi chạy các tham số bất cứ khi nào người dùng mở bất kỳ chương trình nào.
Chế độ lây nhiễm đầu tiên là nếu mật khẩu được cung cấp, trong trường hợp đó, phần mềm độc hại sẽ thay đổi các tệp Info.plist trong Safari và Firefox để chạy phần mềm độc hại bất cứ khi nào các chương trình này được mở. Đây là chế độ lây nhiễm ưa thích của phần mềm độc hại, nhưng nếu mật khẩu không được cung cấp, thì phần mềm độc hại sẽ chuyển sang chế độ lây nhiễm thứ hai, nơi nó thay đổi tệp "môi trường.plist".
Bằng cách sử dụng tệp môi trường.plist, phần mềm độc hại sẽ chạy bất cứ khi nào ứng dụng được mở và điều này sẽ dẫn đến sự cố và hành vi kỳ quặc khác có thể gây ra cảnh báo cho người dùng, do đó phần mềm độc hại sau đó sử dụng thành phần bộ lọc của nó để chỉ chạy khi một số ứng dụng nhất định được khởi chạy, chẳng hạn như Safari, Firefox, Skype và thậm chí là cài đặt Office.
Dù bằng cách nào, một khi phần mềm độc hại được tải xuống sẽ lây nhiễm vào hệ thống bằng một trong những cách tiếp cận này và sẽ chạy bất cứ khi nào các ứng dụng mục tiêu như trình duyệt Web được sử dụng. Trong các biến thể gần đây hơn của phần mềm độc hại, khi được cài đặt bằng tệp "môi trường.plist", nó sẽ kiểm tra thêm hệ thống để đảm bảo cài đặt hoàn chỉnh các chương trình như Office hoặc Skype và có khả năng tự xóa nếu các chương trình này không hoàn toàn hoặc đúng cách Cài đặt. F-Secure suy đoán đây là một nỗ lực nhằm ngăn chặn phát hiện sớm phần mềm độc hại.
Làm thế nào để tôi phát hiện ra nó?
Việc phát hiện phần mềm độc hại khá dễ dàng và yêu cầu bạn chỉ cần mở ứng dụng Terminal trong thư mục / Ứng dụng / Tiện ích / và chạy các lệnh sau:
mặc định đọc ~ / .MacOSX / môi trường DYLD_INSERT_LIBRARIES
mặc định đọc /Appluggest/Safari.app/Contents/Info LSEn Môi trường
mặc định đọc /Appluggest/Firefox.app/Contents/Info LSEn Môi trường
Các lệnh này sẽ đọc tệp "Info.plist" của một số ứng dụng đích và tệp "môi trường.plist" trong tài khoản người dùng và xác định xem biến số được sử dụng bởi phần mềm độc hại để tự khởi chạy (được gọi là "DYLD_INSERT_LIBRARIES"). Nếu không có biến, thì ba lệnh Terminal này sẽ xuất ra cặp mặc định "không tồn tại", nhưng nếu chúng có mặt thì các lệnh này sẽ xuất ra một đường dẫn trỏ đến tệp phần mềm độc hại mà bạn sẽ thấy trong Terminal. cửa sổ.
Ngoài các lệnh trên, bạn có thể kiểm tra sự hiện diện của các tệp .so vô hình mà các biến thể trước đây của phần mềm độc hại tạo ra trong thư mục Người dùng chung bằng cách chạy lệnh sau trong Terminal:
ls -la ~ /../ Được chia sẻ /.*. vì vậy
Sau khi chạy lệnh này, nếu bạn thấy đầu ra "không có tệp hoặc thư mục như vậy" thì bạn không có các tệp này trong thư mục dùng chung của người dùng; tuy nhiên nếu chúng có mặt thì bạn sẽ thấy chúng được liệt kê.
Làm thế nào để tôi loại bỏ nó?
Nếu sau khi chạy ba lệnh phát hiện đầu tiên, bạn thấy rằng hệ thống của mình có chứa các tệp đã sửa đổi và bạn nghi ngờ nó đã cài đặt phần mềm độc hại, thì bạn có thể xóa nó bằng hướng dẫn xóa thủ công của F-Secure. Các hướng dẫn này có chiều sâu một chút, nhưng nếu bạn thực hiện theo chính xác, thì bạn sẽ có thể thoát khỏi hệ thống lây nhiễm:
- Mở Terminal và chạy các lệnh sau (giống như trên):
mặc định đọc /Appluggest/Safari.app/Contents/Info LSEn Môi trường
mặc định đọc /Appluggest/Firefox.app/Contents/Info LSEn Môi trường
mặc định đọc ~ / .MacOSX / môi trường DYLD_INSERT_LIBRARIES
Khi các lệnh này được chạy, hãy ghi lại đường dẫn tệp đầy đủ được xuất ra cửa sổ đầu cuối (nó có thể được ghép nối với thuật ngữ "DYLD_INSERT_LIBRARIES"). Đối với mỗi lệnh xuất ra một đường dẫn tệp (và không nói rằng cặp miền không tồn tại), hãy sao chép phần đường dẫn tệp đầy đủ và chạy lệnh sau với đường dẫn tệp thay cho tệp FILEPATH trong lệnh (sao chép và dán lệnh này):
grep -a -o '__ldpath __ [- ~] *' LỌC
- Xác định vị trí các tệp được đề cập trong đầu ra của các lệnh trên và xóa chúng. Nếu bạn không thể định vị chúng trong Finder, thì với mỗi loại "sudo rm" đầu tiên trong thiết bị đầu cuối theo sau là một khoảng trắng, sau đó sử dụng con trỏ chuột để chọn đường dẫn tệp đầy đủ từ đầu ra của lệnh đầu tiên và sử dụng Command-C theo sau là Command-V để sao chép và dán lại vào Terminal. Sau đó nhấn Enter để thực thi lệnh và xóa tệp này.
Xem ảnh chụp màn hình sau đây để biết ví dụ về giao diện của nó:
- Khi bạn đã xóa tất cả các tham chiếu tệp bằng các lệnh "mặc định" ở trên, thì bạn đã xóa các tệp phần mềm độc hại, nhưng bạn vẫn cần đặt lại các ứng dụng và tệp tài khoản đã thay đổi, để thực hiện việc này, hãy chạy các lệnh sau:
sudo mặc định xóa /Appluggest/Safari.app/Contents/Info LSEn Môi trường
sudo chmod 644 /Appluggest/Safari.app/Contents/Info.plist
sudo mặc định xóa /Appluggest/Firefox.app/Contents/Info LSEn Môi trường
sudo chmod 644 /Appluggest/Firefox.app/Contents/Info.plist
mặc định xóa ~ / .MacOSX / môi trường DYLD_INSERT_LIBRARIES
launchctl unsetenv DYLD_INSERT_LIBRARIES
- Trong Finder, đi tới menu Go và chọn Thư viện (giữ phím Tùy chọn trong Lion để hiển thị tùy chọn này trong menu), sau đó mở thư mục LaunchAgents, nơi bạn sẽ thấy một tệp có tên như "com.java.update .plist. " Tiếp theo, nhập lệnh sau vào Terminal (Lưu ý: thay đổi tên của "com.java.update" trong lệnh để phản ánh tên của tệp trước hậu tố .plist của nó, chẳng hạn như "com.adobe.reader" nếu bạn có tập tin đó):
mặc định đọc ~ / Library / LaunchAgents / com.java.update Chương trìnhArgument
Khi lệnh này được hoàn thành, nhấn Enter và lưu ý đường dẫn tệp đã được xuất ra cửa sổ Terminal.
Như bạn đã làm trước đây, định vị tệp này trong Finder và xóa nó, nhưng nếu bạn không thể làm như vậy thì hãy gõ "sudo rm" theo sau là một khoảng trắng, sau đó sao chép và dán đường dẫn tệp đầu ra vào lệnh và nhấn Enter.
Để xóa bất kỳ tệp .so ẩn nào được tìm thấy trước đó, bạn có thể xóa chúng bằng cách chạy lệnh sau trong Terminal (đảm bảo sao chép và dán lệnh này, vì hoàn toàn không có khoảng trắng nào trong thành phần cuối có chứa các ký hiệu và dấu chấm câu ):
sudo rm ~ /../ Được chia sẻ /.*. vì vậy
Sau khi hoàn thành bước này, hãy xóa tệp có tên "com.java.update.plist" (hoặc "com.adobe.reader.plist" và bạn sẽ thấy ổn.
CẬP NHẬT: 4/5/2012, 10:00 tối - Đã thêm hướng dẫn phát hiện và xóa các tệp .so ẩn được sử dụng bởi các biến thể trước của phần mềm độc hại.
Để LạI Bình LuậN CủA BạN