Bookmark and Share

После новости о том, что Flashback заразил более полумиллиона компьютеров Mac по всему миру, у наших читателей возникло вопросы, как обнаружить заражение данной троянской программой и как от неё избавиться. Я решил перевести инструкцию F-Secure и снабдил её некоторыми комментариями.

Дополнительную информацию о трояне Flashback вы можете найти по этой ссылке.

Проверяем наличие вредоносного ПО

Установить присутствие Flashback в системе довольно просто. Для этого нам потребуется выполнить две простых команды в Терминале (его можно найти в папке /Программы/Утилиты):

defaults read ~/.MacOSX/environment DYLD_INSERT_LIBRARIES

defaults read /Applications/Safari.app/Contents/Info LSEnvironment

Если в результате выполнения этих команд вы получите сообщения следующего вида, то беспокоиться пока что не стоит:

The domain/default pair of (/Users/Deavy/.MacOSX/environment, DYLD_INSERT_LIBRARIES) does not exist

The domain/default pair of (/Applications/Safari.app/Contents/Info, LSEnvironment) does not exist

Даже если вы получили аналогичный результат, я настоятельно рекомендую запустить Software Update и установить все доступные на данный момент обновления Java для OS X. В качестве еще одной меры безопасности можно отключить запуск Java-аплетов (я недавно писал, как это можно сделать в Lion и Snow Leopard).

Как избавиться от Flashback

Другие результаты свидетельствуют о заражении троянской программой. К счастью, не стоит отчаиваться, ведь вы можете удалить Flashback ручную, пускай сделать это немнго сложнее.

1. Для начала запустите в Терминале команду:

defaults read /Applications/Safari.app/Contents/Info LSEnvironment

2. Запомните или запишите значение переменной DYLD_INSERT_LIBRARIES.

3. Если вы получили сообщение «The domain/default pair of (/Applications/Safari.app/Contents/Info, LSEnvironment) does not exist», перейдите к шагу 8.

4. В противном случае выполните новую команду. Обязательно в качестве её параметра используйте путь, полученный в шаге 2:

grep -a -o '__ldpath__[ -~]*' путь_полученный_в_шаге_2

5. Запомните или запишите значение переменной __ldpath__

6. Запустите в Терминале следующие команды (но сначала убедитесь, что в шаге 2 вы получили всего одно значение):

sudo defaults delete /Applications/Safari.app/Contents/InfoLSEnvironment

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

7. Теперь удалите файлы, полученные в пунктах 2 и 5.

8. Вновь возвращаемся в Терминал и выполняем команду:

defaults read ~/.MacOSX/environment DYLD_INSERT_LIBRARIES

9. Запомните или запишите результат. Если вы получили похожее сообщение «The domain/default pair of (/Users/Deavy/.MacOSX/environment, DYLD_INSERT_LIBRARIES) does not exist», значит система чиста.

10. В противном случае запустите команду, используя в качестве параметра путь из шага 9:

grep -a -o '__ldpath__[ -~]*' путь_полученный_в_шаге_9

11. Запишите или запомните значение переменной __ldpath__

12. Выполняем в Терминале еще пару команд:

defaults delete ~/.MacOSX/environment DYLD_INSERT_LIBRARIES

launchctl unsetenv DYLD_INSERT_LIBRARIES

13. Удаляем файлы, полученные в пунктах 9 и 11.

14. И вот теперь самое сложное. Требуется вернуться в Терминал и запустить команду

ls -lA ~/Library/LaunchAgents/

Она вернет список ПО, которое запускается при старте системы. Если вы пользуетесь OS X давно, то в полученном списке, скорее всего, будет не один результат. В таком случае F-Secure рекомендует обратиться к ним в службу поддержки, но мы попробуем пошевелить мозгами. Вам придется выбрать самые подозрительные plist-файлы с именами вроде «com.java.update.plist» и выполнить с ними следующую команду:

defaults read ~/Library/LaunchAgents/имя_подозрительного_файла ProgramArguments

Теоретически, вы можете использовать все файлы из списка [1]. В каких-то случаях вы получите определенный результат [2], в каких-то — нет [3]. Но вам следует обращать внимание имя объекта запуска [4]. Если оно начинается с точки, а путь к файлу подозрительный и не относится к программам, которые вы используете, то этот объект вместе с plist-файлом нужно будет удалить.

Но надеюсь, что у вас все в порядке и до использования второй части инструкции дело не дойдет.


Читайте также: