Comments 58
Нет ничего смешнее, чем антивирус, который ведёт себя как вирус и работает даже под WinXP.
Напоминает рекетиров из 90-х — «Ты нам плати за безопасность, чтобы тебя другие бандиты не трогали».
На сайте paolo alto таже хрень — «contact with sales».
Я блин интроверт, я не хочу контакт, я хочу пыщь-пыщь карточкой и антивирус у моего тестя на компьютере… Есть для людей что-то? Или как всегда только суровый интырпрайз?
А они хотят только жырных энтерпрайзных клиентов)
Чтобы поймать маньяка, надо думать как маньяк. Тут это принцип не совсем применим.
Разумеется, можно добавлять свои приложения для защиты. Процесс описан здесь: www.paloaltonetworks.com/documentation/41/endpoint/endpoint-admin-guide/getting-started-with-rules/process-management/add-a-new-protected-process
Вообще это предлагаемый подход 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
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
Нормальные разработчики защищают свою программу от патчей (в том числе и в памяти), банальная проверка CRC, инжектов dll и более экзотические способы. Программа просто посчитает, что ее лицензию ломают и не даст пользователю с ней работать.
Кстати, вот пример от «больших» производителей.
для него в Traps действительно есть исключение, которое отключает инъекцию в процесс для версий выше 11.00.15048 (см. скриншот). То есть, защита от эксплойтов (EPM) в этих версиях работать не будет. Таких исключений из коробки, опять же, совсем немного. В
основном это другие антивирусные продукты (в т.ч. встроенный Defender) и 2 браузера — Edge и Firefox (см. скриншот). Ну и если допустить успешную эксплуатацию уязвимости Edge, то в атаке должны быть еще какие-то действия: запуск других процессов, попытка связи
с C&C-центром и т.д… Такую активность можно задетектировать другими модулями Traps, а сетевую активность на файерволле.
В Windows есть 2 основных легальных способа перехвата работы ф-ций приложения, это хуки (довольно обрезанный ф-ционал) и обработчики ф-ций уровня ядра (делаем всё что душе угодно, но если где-то зазевались — роняем систему) обычно продвинутые антивири используют именно последний способ, он требует ооочень кропотливого отношения к коду, но за-то позволяет перехватывать ф-ции без вмешательства в чужие приложения.
В случае же с инжектом — это чистый хак, причем заменяя адреса вызовов оригинальных ф-ций в адресном пространстве приложения Трапс напрямую нарушает лицензию приложения (т.к. обычно там практически всегда запрещается модификация кода), поэтому это очень скользкий путь… да инжект проще чем драйверы ядра и гораздо ф-циональнее хуков — но это тёмная сторона силы ;)
Ну, а про то, что приложения, которые защищают себя от крэка (а таких не мало) могут среагировать на инжект, я уже писал выше.
описан по ссылке: www.paloaltonetworks.com/documentation/41/endpoint/endpoint-admin-guide/malware-protection/malware-protection-flow
Если интересно протестировать конкретный экземпляр, можем попробовать запустить у себя в лабе.
Что нового предлагает Palo Alto traps для разных реликтов, типа банкоматов, когда уже существует например, Symantec Critical System Protection?
у Traps удобные инструменты управления политиками, и новые правила можно быстро раскатывать
Правила добавляются пользователем (тогда по сути это исключения) или программу, вызвавшее ложное срабатывание, нужно посылать вендору для добавления правил (это тогда правило самого поведенческого анализатора)?
Антивирусное программное обеспечение должно ...:
•обнаруживать все известные виды вредоносного программного обеспечения;
•удалять все известные виды вредоносного программного обеспечения;
•обеспечивать защиту от всех известных видов вредоносного программного обеспечения
То есть четко говорится, что:
— АВ должен обнаруживать известные вредоносные программы (а поведенческий анализатор, описанный в статье, нацелен на обнаружение угроз, пропущенных АВ, еще неизвестных АВ лаборатории)
— АВ должен обнаруживать все типы вредоносного ПО. А поведенческий анализатор, описанный в статье, нацелен на обнаружение угроз, которые могут быть найдены по поведению — инжекту вы процессы скажем
На всякий случай. Я совершенно с вами не спорю, что сигнатуры не панацея и лишь один компонент антивирусной защиты. Мы говорим исключительно о прохождении требований PCI-DSS
•обнаруживать все известные виды вредоносного программного обеспечения;
•удалять все известные виды вредоносного программного обеспечения;
•обеспечивать защиту от всех известных видов вредоносного программного обеспечения
PCI никак не определяет категоризацию этих видов и ни слова про сигнатуры.
Иными словами вредоносы можно перечислять как trojan, rootkit, backdoor, dos и т.д. а можно как application with Code Injection, Buffer overflow, Privileges Escalation…
да хоть к тому же CWE привязаться, кому как удобнее. Это будет нормально и аудитор с этим не поспорит.
Я не спорю, лишь хочу сказать, что на стандарте PCI-DSS безопасность не должна заканчиваться. В нём весьма обтекаемые формулировки, которые можно обойти.
Вкратце, есть компания 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"
Подобный поведенческий анализатор защищает обычно бразузеры, офисное ПО и ПО, с которым есть договор на контроль. Не все подряд.
Дело в том, что поведенческий анализатор, контролирующий поведение, по сути начинает работу посоле внедрения эксплойта/плагина/допмодуля. И откатить назад к моменту внедрения в процесс близко к невозможному. Поэтому процесс убивается
все вроде работало у заказчика, но у некоторых тестеров падало
спустя много часов выяснилось, что касперский на рабочих станциях влезал во все процессы и рандомизировал адреса функций
сейчас это вроде как стандартная функция винды, интересно как обходите?
Если говорить про уязвимость в SMBv1 (WannaCry, Petya), то существовала она очень долго, и кто угодно, кто имел о ней информацию, мог её эксплуатировать незаметно. Но пользователи Traps были защищены.
А этому есть какое-то подтверждение?
Есть описание на сайте вендора.
researchcenter.paloaltonetworks.com/2017/05/traps-protections-wanacrypt0r-ransomware-attacks
Спасибо за ссылку, но по ней, по сути дела, обычная вендорская "вода" без конкретных примеров, как продукт реально кому-то помог. Там описано 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 нет, а есть защита "другими стиральными порошками".
Играем с Nextgen-антивирусом от Palo Alto Networks: он инжектирует свои dll в исполняемые процессы типа *.exe