Pull to refresh

Comments 58

Нет ничего смешнее, чем антивирус, который ведёт себя как вирус и работает даже под WinXP.


Напоминает рекетиров из 90-х — «Ты нам плати за безопасность, чтобы тебя другие бандиты не трогали».
UFO just landed and posted this here
Прекрасная статья. Особенно для конечного пользователя. Вот хочу я тестю купить подписку на этот продукт — и как?
На сайте paolo alto таже хрень — «contact with sales».
Я блин интроверт, я не хочу контакт, я хочу пыщь-пыщь карточкой и антивирус у моего тестя на компьютере… Есть для людей что-то? Или как всегда только суровый интырпрайз?
Да, пока это только enterprise-решение. Для функционирования нужно разворачивать сервер лицензирования ESM (Endpoint Security Manager), поэтому для дома не подойдет, к сожалению.
Энтерпрайз решение которое инжектится (а значит и защищает/проверяет) только в около 100 exeшников? А если неизвестный вирус? Что будет? Просто пропустит и даст сделать свое черное дело? В таком случае это хлам…
UFO just landed and posted this here

А вот автор утверждает, что из коробки таки только в заранее определенные приложения. Как и документация.


/offtopic


исполнительных файлов.

"Исполнительный файл" — это файл, который вовремя и аккуратно делает все, о чем вы его просите. :) А то, куда инжектится Traps — исполняемый.

>я хочу пыщь-пыщь карточкой и антивирус у моего тестя на компьютере
А они хотят только жырных энтерпрайзных клиентов)
Я правильно понял — что данный антивирус инжектируется только в «нужные» .exe, которые он знает? Как было сказано в статье «пока в реестре около ста программ». Не тупиковый ли подход?
Чтобы поймать маньяка, надо думать как маньяк. Тут это принцип не совсем применим.
«Из коробки” действительно инжектируется в самые распространенные, в основном типичные офисные приложения — браузеры, PDF-читалки, архиваторы, пакет Microsoft Office и т.д.
Разумеется, можно добавлять свои приложения для защиты. Процесс описан здесь: www.paloaltonetworks.com/documentation/41/endpoint/endpoint-admin-guide/getting-started-with-rules/process-management/add-a-new-protected-process
эээ, я правильно понимаю что мне нужно знать все exe-шники которые у меня на предприятии разрешены к запуску и для всех их все настроить чтоб гад не пролез? Не кажется ли вам что такой подход — большая дырень в защите? Ведь можно что-то пропустить или банально ошибиться в настройке.
Определить список разрешенных программ, которые у вас на предприятии — проще, чем определить список сигнатур запрещенных программ во всём мире. Но в этой индустрии упорно поддерживается обратное утверждение, что есть иллюзия.
Traps может сам собирать информацию о запускаемых exe-шниках и передавать на сервер управления, где потом можно создавать политики на основе этой информации.

Вообще это предлагаемый подход Palo Alto Networks — Zero Trust, принцип “нулевого доверия”. Разрешено только то, что описано явным образом, остальное запрещено. Это касается политик на их межсетевом экране в том числе.

В принципе это и без Traps становится достаточно распространенным подходом (настройка на винде штатного Applocker доменными политиками, и т.п.).

а что не так? политики, белый список, и эта штука следит за тем, чтобы адоб ридер не запустил зловреда из файла в почте

Как это соотносится с


Передача семпла происходила простым перетаскиванием исполняемого файла в целевую машину (drag’n’drop), после чего, в зависимости от типа файла, производился запуск. Либо двойным кликом, либо через консоль.

Куда в этом случае инжектился Traps?
Ведь при запуске создаётся новый процесс, в список процессов для проверки не входящий.


Второй вопрос: Сможет ли это решение обнаружить зловреда, написанного на Java?
Исходим из предположения, что пользователь его зачем-то запустил и инжект Traps в java.exe разрешён.


Вот, к примеру: https://www.pcworld.com/article/3031736/security/java-based-trojan-was-used-to-attack-over-400000-systems.html

1. На самом деле даже в рамках статьи мы не сильно углублялись в детали работы трапса. Фокусы с инжектированием DLL в терминологии вендора — это один механизм, Exploit Protection Modules (EPM), мы его детально описали в статье. Помимо этого есть еще Malware Protection Modules (MPM), куда входят в том числе Anti-Ransomware контрмеры, и именно их работу, а конкретно фичи статического анализа, мы проверяли в лабе на указанных семплах. Подробнее можно почитать тут: www.paloaltonetworks.com/documentation/41/endpoint/endpoint-admin-guide/malware-protection/manage-malware-protection-rules

2. Мы можем отслеживать вредоносную активность с помощью MPM, тут поможет Child Process Protection. Мы можем либо запретить процессу java.exe порождать дочерние процессы, либо жестко ограничить белыми списками разрешенные действия. Это, кстати, будет работать и для всяких powershell fileless малварей. Описание тут: www.paloaltonetworks.com/documentation/41/endpoint/endpoint-admin-guide/malware-protection/manage-restrictions-on-executable-files/define-java-restrictions-and-exemptions
А если разработчик закочевряжится и не даст согласие на такую «интеграцию»? По сути они просто патчат приложение на функционал контроля своей деятельности. На мой взгляд неоднозначное решение.
От разработчика не требуется согласия. Инжект делается in-memory, модификация исходных файлов не производится (насколько я понял из статьи).
Верно, поэтому взаимодействия с разработчиками не требуется.
Не верно.
Нормальные разработчики защищают свою программу от патчей (в том числе и в памяти), банальная проверка CRC, инжектов dll и более экзотические способы. Программа просто посчитает, что ее лицензию ломают и не даст пользователю с ней работать.

Кстати, вот пример от «больших» производителей.
Как я нашел в источниках, тот же Microsoft из своих продуктов запрещает инжект только для браузера Edge,
для него в Traps действительно есть исключение, которое отключает инъекцию в процесс для версий выше 11.00.15048 (см. скриншот). То есть, защита от эксплойтов (EPM) в этих версиях работать не будет. Таких исключений из коробки, опять же, совсем немного. В
основном это другие антивирусные продукты (в т.ч. встроенный Defender) и 2 браузера — Edge и Firefox (см. скриншот). Ну и если допустить успешную эксплуатацию уязвимости Edge, то в атаке должны быть еще какие-то действия: запуск других процессов, попытка связи
с C&C-центром и т.д… Такую активность можно задетектировать другими модулями Traps, а сетевую активность на файерволле.


Тут дело не в том, сколько приложений будет добавлено в исключения (и брошено на произвол судьбы :), а в самом подходе.

В Windows есть 2 основных легальных способа перехвата работы ф-ций приложения, это хуки (довольно обрезанный ф-ционал) и обработчики ф-ций уровня ядра (делаем всё что душе угодно, но если где-то зазевались — роняем систему) обычно продвинутые антивири используют именно последний способ, он требует ооочень кропотливого отношения к коду, но за-то позволяет перехватывать ф-ции без вмешательства в чужие приложения.

В случае же с инжектом — это чистый хак, причем заменяя адреса вызовов оригинальных ф-ций в адресном пространстве приложения Трапс напрямую нарушает лицензию приложения (т.к. обычно там практически всегда запрещается модификация кода), поэтому это очень скользкий путь… да инжект проще чем драйверы ядра и гораздо ф-циональнее хуков — но это тёмная сторона силы ;)

Ну, а про то, что приложения, которые защищают себя от крэка (а таких не мало) могут среагировать на инжект, я уже писал выше.
«Список протестированных семплов» должен включать и их хэши. Без них — не тестирование, а непонятно что.
То, что где-то что-то есть, это, несомненно, хорошо. Да только тест без указания хэшей — фигня. Даже если эти хэши где-то есть.
Ссылки на скачивание демо версии нет, на сайте её тоже хрен найдешь с первого раза… В общем у вас минус 1 клиент
при установке надо указывать адрес сервера лицензирования ESM, его нужно устанавливать отдельно. По вопросам полноценного тестирования напишите мне в почту.
Логичнее было бы сделать триал на 5-10 дней если не обнаружен сервер лицензирования, для тестирования этого вполне бы хватило. Да и писать на почту чтоб попробовать… спасибо, мы лучше на старом решении останемся.
А как продукт ведёт себя с sandbox-aware вредоносами? И как они ведут себя с ним? ;)
Если речь про те вредоносы, которые детектируют, что они исполняются в виртуализированной среде, то Traps локальным анализом может предотвратить угрозу на самой машине. От типа вредоноса действия Traps не меняются. Protection flow
описан по ссылке: www.paloaltonetworks.com/documentation/41/endpoint/endpoint-admin-guide/malware-protection/malware-protection-flow

Если интересно протестировать конкретный экземпляр, можем попробовать запустить у себя в лабе.
В чём отличие с тем же sonar в symantec?
Что нового предлагает Palo Alto traps для разных реликтов, типа банкоматов, когда уже существует например, Symantec Critical System Protection?
Описанный подход хорошо работает против неизвестных угроз, но по нашему опыту — периодически бывают ложняки в связи с тем, что некоторые программы ведут себя не так как ожидается или их поведение похоже на поведение тех же шифровальщиков
Конечно, в реальной эксплуатации ложные срабатывания случаются. Но у Traps удобные инструменты управления политиками, и новые правила можно быстро раскатывать.
у Traps удобные инструменты управления политиками, и новые правила можно быстро раскатывать

Правила добавляются пользователем (тогда по сути это исключения) или программу, вызвавшее ложное срабатывание, нужно посылать вендору для добавления правил (это тогда правило самого поведенческого анализатора)?
В 99 процентах случаев самостоятельно
И кстати про прохождение PCI-DSS хотелось бы по подробнее. Там четко прописано, что требуется антивирус, обеспечивающий защиту от уже известных угроз. То есть прописано под сигнатуры
PCI-DSS мало что определяет конкретно, угроза != сигнатура. Сигнатурный анализ это лишь подход к определению этих угроз. В PCI-DSS пишут, что должен быть реализован периодический скан систем. Здесь мы ничего не сканируем, а мы мониторим процессы постоянно. Так что на вопрос — как вы сканируете и с каким периодом? Можете отвечать — у нас нет периода, мы постоянно сканируем и мониторим угрозы. А угрозой так же может быть определено аномальное поведение программы типа Buffer Overflow и т.д. Вобщем аудиторам можно это залить и 5.2 compliance.
Сканирование тут не причем. Пункт 5.1.1
Антивирусное программное обеспечение должно ...:
•обнаруживать все известные виды вредоносного программного обеспечения;
•удалять все известные виды вредоносного программного обеспечения;
•обеспечивать защиту от всех известных видов вредоносного программного обеспечения

То есть четко говорится, что:
— АВ должен обнаруживать известные вредоносные программы (а поведенческий анализатор, описанный в статье, нацелен на обнаружение угроз, пропущенных АВ, еще неизвестных АВ лаборатории)
— АВ должен обнаруживать все типы вредоносного ПО. А поведенческий анализатор, описанный в статье, нацелен на обнаружение угроз, которые могут быть найдены по поведению — инжекту вы процессы скажем

На всякий случай. Я совершенно с вами не спорю, что сигнатуры не панацея и лишь один компонент антивирусной защиты. Мы говорим исключительно о прохождении требований PCI-DSS
•обнаруживать все известные виды вредоносного программного обеспечения;
•удалять все известные виды вредоносного программного обеспечения;
•обеспечивать защиту от всех известных видов вредоносного программного обеспечения

PCI никак не определяет категоризацию этих видов и ни слова про сигнатуры.
Иными словами вредоносы можно перечислять как trojan, rootkit, backdoor, dos и т.д. а можно как application with Code Injection, Buffer overflow, Privileges Escalation…
да хоть к тому же CWE привязаться, кому как удобнее. Это будет нормально и аудитор с этим не поспорит.
Я не спорю, лишь хочу сказать, что на стандарте PCI-DSS безопасность не должна заканчиваться. В нём весьма обтекаемые формулировки, которые можно обойти.
Конечно. И это еще не самый плохой стандарт по ИБ
Просто у нас задача обычно не обосновать аудитору, а реализовать заказчику, который имеет свое мнение. Мы вендор и к нам приходят с требованием выполнить. По практике начнешь рассказывать заказчику, что он не прав — кивает и уходит к конкурентам.
Подробнее можно почитать по ссылке: researchcenter.paloaltonetworks.com/2016/10/achieve-pci-dss-hipaa-compliance-traps

Вкратце, есть компания Coalfire, которая является PCI Qualified Security Assessor (QSA), и в их отчете сказано, что “...an
organization who was using a traditional AV to remain PCI DSS compliant can confidently replace that solution with Traps and remain compliant"
Интересно как это решение работает с ПО, которое применяет продвинутые уровни защиты от дебага, в том числе внедрение DLL. Как раз такое чаще всего встречается в enterprise решениях. Части кода (или весь код) может быть помещаются в виртуальную машину, внутрь которой внедрить DLL так просто уже не получится. ПО просто может отказаться работать обнаружив внедрение чужеродного кода в свое адресное пространство.
Это не так работает. Перехватчик уже сидит в процессе и отслеживает попытки внедрения в него. А также поведение после внедрения. Поведенческий анализатор изнутри процесса, а не снаружи
Подобный поведенческий анализатор защищает обычно бразузеры, офисное ПО и ПО, с которым есть договор на контроль. Не все подряд.
Вопрос был в другом. Сами процессы могут быть против внедрения в них дллки антивируса.
Так он не внедряется во все подряд. Только в разрешенный вендором список. По сути это как разрешенный плагин
Речь о том, что далеко не все приложения, которые было бы полезно защитить, позволять внедрить в себя эту защитную dllку
Естественно. Более того, если в защищаемое приложение внедряются (легально естественно) дополнительные модули, то их тоже требуется тестировать на совместимость.
Дело в том, что поведенческий анализатор, контролирующий поведение, по сути начинает работу посоле внедрения эксплойта/плагина/допмодуля. И откатить назад к моменту внедрения в процесс близко к невозможному. Поэтому процесс убивается
При этом сейчас если не каждая, то каждая вторая игра\платфрма или еще чего идет с такой защитой, что при запущенной игре даже локальный отладчик в твоей любимой IDE не запускается.
С некоторых пор VirtualBox стал сильно параноидален к подобным трюкам. С ним работает это решение или нет?
В списке несовместимого софта его нет, в лабе сам VirtualBox у меня запустился нормально. Если интересует что-то конкретное, напишите в почту.
лет 10 назад нужно было заинжектить дллку в процесс фаерфокса для перехвата пары функций
все вроде работало у заказчика, но у некоторых тестеров падало
спустя много часов выяснилось, что касперский на рабочих станциях влезал во все процессы и рандомизировал адреса функций
сейчас это вроде как стандартная функция винды, интересно как обходите?
Если говорить про уязвимость в SMBv1 (WannaCry, Petya), то существовала она очень долго, и кто угодно, кто имел о ней информацию, мог её эксплуатировать незаметно. Но пользователи Traps были защищены.

А этому есть какое-то подтверждение?

Спасибо за ссылку, но по ней, по сути дела, обычная вендорская "вода" без конкретных примеров, как продукт реально кому-то помог. Там описано 4 способа предотвращения угрозы, пройдемся по пунктам:


WildFire Threat Intelligence:

Не работает, потому что угроза еще не известна. Плюс сама по себе фича не уникальна.


Local Analysis via Machine Learning: The local analysis malware prevention method blocks the execution of new and never-before-seen variants of WanaCrypt0r before they can compromise endpoints.

По описанию, предотвращает исполнение модификаций уже известных угроз. Для неизвестных опять не работает (или как повезет), если я правильно понимаю.


WildFire Inspection and Analysis

См. п. 1


Execution Restrictions

Сто лет как есть в винде штатно, Traps для этого не нужен.


Плюс еще очевидный момент — если бы "кто угодно" эксплуатировал уязвимость в сети с Traps и антивирус ее отловил бы, проблему обнаружили бы раньше. И вендор не упустил бы случая похвастаться, как его продукт помог отловить 0-day. ;) Отсюда вывод — либо не ловил, либо не сталкивался.


В сухом остатке реальных подтверждений того, что именно Traps тут бы помог, я пока не вижу. В идеале хотелось бы почитать о случае из реальной жизни, в крайнем случае — какой-то эксперимент типа того, что вы делали выше — создать изолированную среду с уязвимостью, поставить Traps в том виде, в котором он существовал до того, как эксплойт получил известность, запустить туда вирус и посмотреть, что будет. Причем сравнить со случаем, когда Traps нет, а есть защита "другими стиральными порошками".

Sign up to leave a comment.