Pull to refresh

Философия инженера или борьба с компьютерными вирусами

Reading time 5 min
Views 2.3K
Даром изобретательства поражены множество людей. А "коктейль" изобретательство + талант + образование в лице одного человека, вообще могут сдвигать деятельность человечества на совершенно новый уровень. А если данный человек будет обладать еще лидерскими качествами и харизмой… Черт, что-то расфантазировался.

Если коротко, то для инженера — изобретателя с философской точки зрения есть всего два пути:
  1. Конструктивный;
  2. Деструктивный.
Оба пути подразумевают, создание чего-либо нового, но в первом случае результат изобретательской деятельности идет во благо, во втором — с целью уничтожения.

Программисты — это тоже изобретатели, обладая некими знаниями, а также талантом, они могут в одиночку сдвигать на качественно новый уровень информационную сферу деятельности человечества. За примерами далеко ходить не надо. Всего один человек, всеми известный Марк Цукерберг изменил представление об общении людей в компьютерных сетях, создав решение, которое мы знаем под именем Facebook. Его успех, породил множество клонов, в том числе и в Российском сегменте Интернета.

Для себя я выбрал конструктивный путь развития. Мое распутье было, по-моему, на втором курсе. До этого я занимался всякими хаками, читал журнал "Хакер". В университете, в компьютерных классах, не давал покоя преподавателям своими выходками, а уж как я развлекался в SWAMP сети [Компьютерная сеть общежития МИЭТ'а] — вообще отдельная песня. Однажды меня меня даже ввели некие санкции, так я познакомился с общажными админами.

Сейчас я только разрабатываю и улучшаю программное обеспечение различного назначения, как на работе, так в виде хобби. Последнее время помогаю "лечить" компьютеры от различных вирусов и даю рекомендации ВСЕМ знакомым по компьютерной безопасности, хотя экспертом именно в безопасности не являюсь.

Так вот писатели вирусов — это те же программисты, только путь развития они выбрали деструктивный, на мой взгляд. Хотя если посмотреть на их деятельность под другим углом, можно сказать, что они как "санитары" программного обеспечения: находят "дыры", "баги" и используют их в своих целях. Также стоит заметить некую спортивную борьбу между двумя "лагерями". Одни смеются на тем что программное обеспечение "дырявое", другие без особых проблем создают "заплатки" и продолжают улучшать свое творение.

К вирусо-писателям у меня предвзятое отношения, я их представлял как студенты-задроты, которые случайно обнаружили "дыру" и как-то пытаются использовать ее. Месяц назад я поменял свое мнение о них. Тогда, поздно вечером мне позвонила хорошая знакомя и просто попросила помочь. У нее компьютер заблокировался, а на экране появилась сообщение о необходимость отослать SMS на номер. Вирус из серии WinLock, первое что мне пришло в голову и когда я приехал — я не ошибся. Но признаюсь я хорошо по-потел мозгами, чтобы вычистить систему, потому что антивирус не распознавал заразу, которую подхватила в Интернете моя знакомая.

В воскресение я снова поехал, уже к другой знакомой и тоже чистил ее компьютер от вирусов. Ее жалоба была на то, что скорость в интернете резко упала. Антивируса у нее не было, но она всегда была аккуратна в сети. Я пришел, я был поражен тем, что я нашел. Я приволок уже с собой "наборчик" для извлечения заразы. Ниже мои скромные исследования системы и ее чиста вручную:

1. Необходимо было обнаружить источник интенсивной сетевой активности. Для этого я поставил Firewall и он у меня сразу повесил систему. Стандартный процесс explorer.exe был видоизменен, и открыл сразу около 5000 соединений с удаленными компьютерами.  Firewall, анализируя такое количество соединений, просто вешал операционную систему. Чтобы узнать с какими удаленными компьютерами зараженный устанавливал соединения, пришлось пойти другим путем.

2. Process Explorer — маленькая утилитка для программистов, но реально помогает в анализе запущенных процессов. На вкладке, с анализом TCP/IP соединений я обнаружил, что процесс открывает UDP порт 21810 и ждет соединения с любого удаленного компьютера, тоже зараженного. Именно поэтому наш Firewall обнаружил почти 5000 соединений.

3. Дальше проще. Спрашиваем Google, что это за сетевая активность. Google все знает и 4 запись в поиске — информация из базы Dr. Web о троянской программе:

4. Идем по ссылке в библиотеку антивируса Dr.Web. Увидев полную информацию о предполагаемой заразе, я могу смело сказать что ребята которые пишут антивирусы не просто так едят свой хлеб. Из библиотеки мы выносим следующие данные:
   * Вирус новый в библиотеку антивируса добавлен 2011-10-07
   * Вся потенциальная активность вируса и его следы
5. Стоило, наверное, поставить антивирус и, может быть, он удалил бы вирус, но я заметил, открыв соответствующий ключ в редакторе реестра, другое расположение следов вирусной программы:

6. Чтобы найти это место на жестком диске я решил использовать Far, а не само зараженное приложение explorer.exe (в русской версии Проводник). Подозрения были на тему самобезопасности вирусной программы. Например как только я открыл бы каталог, где лежат следы вирусной программы, вирусная программа бы незаметно скопировалась в другой каталог на жестком диске или что-то в этом духе. Вот он, каталог с содержимым:

7. Дальнейший анализ показал отсутствие записей в реестре сервисов:

  • [<HKLM>\SYSTEM\ControlSet001\Services\a72a1ac3] 'ImagePath' = '%WINDIR%\3273271975:1490412860.exe'
  • [<HKLM>\SYSTEM\ControlSet001\Services\.i8042prt] 'ImagePath' = '\?'
и файлов на диске:
  • %WINDIR%\$NtUninstallKB16918$\2804554435\L\acbrwqkz
  • %WINDIR%\$NtUninstallKB16918$\2804554435\@
  • %WINDIR%\3273271975:1490412860.exe
Сделал вывод, что вирусная программа установилась не полностью, или серьезно видоизменена.
8. Пытаемся удалить Far'ом следы заразы. Не получается, какое то запущенное приложение блокирует нам доступ к каталогу:

9. Начинаем изучать процессы утилитой Process Monitor для того чтобы определить, кто из них "держит" доступ к каталогу с заразой. Запускам наш монитор, активность очень большая, поэтому нужно создать фильтр, чтобы отобразить только ту активность, которая блокирует доступ к нашему каталогу с заразой:

10. Видно что вся активность исходит от "зараженного" процесса  explorer.exe с PID'ом 2988, и обращаем внимание на строки из библиотеки Dr.Web:

Вредоносные функции:Внедряет код в следующие системные процессы:
  • <SYSTEM32>\winlogon.exe
  • %WINDIR%\Explorer.EXE
Это говорит нам о том, что в оригинальные файлы из дистрибутива операционной системы внесены изменения.
11. Убиваем процесс explorer.exe и удаляем зараженные файлы, заменив их из дистрибутива на оригинальные. Затем удаляем наш каталог со следами заразы.
12. Как последний штрих, восстанавливаем запись в реестре, которая отвечает за загрузку проводника в Winlogon
Изменяем следующий ключ реестра:
  • [<HKCU>\Software\Microsoft\Windows NT\CurrentVersion\Winlogon] 'Shell' = '<LS_APPDATA>\f7f5d2a7\X'
на тоже самое значение что и:
  • [<HKLM>\Software\Microsoft\Windows NT\CurrentVersion\Winlogon] значения ключа 'Shell'
Или удаляем ее если значение
  • [<HKLM>\Software\Microsoft\Windows NT\CurrentVersion\Winlogon] значения ключа 'Shell' = "explorer.exe"

13. Все! Перезагружаемся и проверяем сетевую активность Firewall'ом и убеждаемся, что все спокойно

И нет никаких открытых соединений с нашего explorer.exe

14. Система очищена

Для особо пытливых можно было бы проанализировать трафик, которым обменивался вирусный explorer.exe с удаленными компьютерами используя tcpdump и приложение wireshar.

Так вот, вернемся к заголовку. Философские пути: созидания — конструктивный путь, и разрушения — деструктивные пути — это в основе даже кардинально разные пути развития инженеров. Какой выбрать — дело каждого!
Tags:
Hubs:
-3
Comments 16
Comments Comments 16

Articles