Monday, August 21, 2017

Критерий успеха

В одну реку нельзя войти дважды

Как писали ранее, тишина - это страшный звук. И уж тем более не критерий успеха для корпоративной безопасности. Но как же понять, что зачистка была успешна? Практика показывает косвенный рабочий критерий успешного избавления: радикальное увеличения интенсивности попыток проинфектить через характерные для конкретной атаки векторы и техники. Действительно, если бы закрепление сохранилось, предпринимать новые попытки пробива было бы не за чем. Ну, а поскольку оно было утрачено, + согласно 1-ому тезису, ребята не отстанут, - успешная чистка провоцирует активацию попыток новой компрометации. Не думаю, что возобновление забрасывания "плохими" письмами по почте служит исключительно для целей сохранения среднестатистического спам-фишинг-шума, так как попытки пробива с характерными нагрузками\атрибутикой - вынужденное палево для всех "новинок". Поэтому, несмотря на заметное осложнение ситуации на периметре, вывод здесь все-таки напрашивается позитивный: они пока не попали внутрь, раз так усиленно пытаются это сделать.


Saturday, August 19, 2017

После взлома

Есть цель? Иди к ней!
Не получается? Ползи к ней!
Не можешь? Ляг и лежи в ее направлении!

Уже писал об оперативности обнаружения, однако, заметна потребность в более системном объяснении, попробую здесь.

Любую атаку хочется предвидеть и предотвратить. Если не получилось предотвратить, то минимизировать ущерб. Минимизировать ущерб можно пытаясь обнаружить успешную атаку как можно раньше и прервать "работу" ребят, пока атакующий не достиг своих целей полностью. Если брать во внимание целевые атаки, планируемые с учетом используемых у Цели средств безопасности, а, следовательно, успешно их обходящие, и выполняемые людьми, и поэтому крайне проблематичны для обезвреживания исключительно автоматическими средствами, то такие атаки гарантировано будут пропущены. И здесь мы как раз попадаем на тот случай, когда предотвратить не получилось и надо обнаружить, расследовать и почиститься. Для достижения этих целей и служит TH, который включается уже после взлома. Поскольку любая атака - это трата ресурсов, а тратить ресурсы впустую - глупо, и атакующие это понимают, постепенно сбывается то, что писал: "в перспективе нас ожидают исключительно таргетированные атаки". Как следствие - повышенное внимание к TH, как подходу, эффективно работающему после взлома.
Ну а что же работает до взлома? Как прежде - все те же автоматические превентивные меры: IPS-ы, WAF-ы, антивирусы и пр. И, если у них не получилось, включается ТН. Печальная очевидная правда в том, что для того, чтобы отличить плохое поведение от хорошего, нужно чтобы это поведение случилось, т.е. придется дозволить допустить сделать плохо, поскольку это (выполненное плохое действие) - единственный индикатор. Но, с дугой стороны, не надо рефлексировать относительно этого вынужденного дозволения, поскольку пока плохое не сделано, ущерба нет и, можно сказать, нет и инцидента.

Закончить этот короткий пост хочется очередной ассоциативной картинкой о до и после взлома, показывающей, что успех - не в чем-то одном, но в совокупности эффективно взаимно дополняющих подходов, хорошо работающих на разных этапах (в общем, как и с детектом).

Saturday, August 12, 2017

Next-gen

Старый конь борозды не испортит
(Поговорка)

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

Примерно к таким же мыслям прихожу, когда читаю некоторые маркетинговые листовки о защитах нового поколения, включающих в себя все новомодные базворды: machine learning, artificial intelligence, deep learning, behavioral monitoring,..., next-generation. В этих же публикациях, как правило, не брезгают и покидаться грязью в "legacy AV", "signature-based" и т.п.

Что не так? Продолжим серию разоблачений...
Во-первых, по моему мнению "signature-based legacy AV" уже просто нет (если они еще остались, то скоро вымрут как динозавры). Против современных этак это не работает, это понятно, и надо быть полным невеждой, думая, что антималварные вендоры, кто всю свою историю занимаются поиском новых атак, чтобы в сложнейшей конкурентной борьбе, обеспечить свой detect rate, этого не понимают. Очевидно, производители АВЗ первыми сталкивались с новыми атаками и соответствующим образом развивали свои детектирующие технологии. Весной 2015, когда я работал еще в Заказчике, для меня эта логика была очевидной догадкой, сейчас, работая в Поставщике, я могу с уверенностью сказать - все, что можно продетектить и пролечить автоматически - продетекчивается и пролечивается автоматически, и, безусловно, "legacy" здесь недостаточно, поэтому ими все не ограничивается. Правда, не все можно обнаружить исключительно автоматически - но об этом дальше...

Во-вторых, "сигнатуры" могут быть не только на примитивные последовательности байтов, как многие думают. Они могут быть также и на поведение, "аномалия" - это тоже сигнатура - отклонение от такого-то порога, выход из такой-то статистической зависимости. На слайде 9 рассказывалось о концепции "ханта" - одного из множества используемых подходов к обнаружению - это некоторый квант аномального поведения (например, запуск командного интерпретатора из офисного приложения, или обращение в Интернет не от браузера, или несоответствие имени\пути файла его хешу и т.п.), совокупность которых анализируется при принятии решения о "подозрительности" того или иного наблюдения - это тоже сигнатура. В любом случае, если мы не говорим о каком-то самообучающимся машобуче, нам нужно автоматизированной системе пояснить, "что такое "хорошо", и что такое "плохо" - сигнатура - это один из распространеннейших способов такого пояснения.

В-третьих, есть масса фактов (раз, два, три, четыре, пять и т.п.) демонстрирующих, недостаточность, исключительно новомодных технологий. Тут масса причин: и то, что грань межу "целевой" и "обычной" атакой размыта (писали - вот подтверждение), и то, что и в целевых атаках используется "обычная" malware, и то, что есть миллион+1 вариант, когда никакими анализаторами аномалий нет возможности различить вредоносное поведение файла, и несравненно дешевле сделать детект на семейство файликов, чем стрелять по воробьям сложными математическими вычислениями (даже если они выполняются исключительно в облаке и не грузят endpoint), ... в общем, думаю, не надо быть гениальным, чтобы поверить, что разные технологии показывают разную эффективность в различных сценариях. Поскольку сценариев атак может быть великое множество, для обеспечения эффективности нужно иметь великое множество технологий и только их комбинация может дать желаемый результат. А все эти потуги возвышения "нового" за счет унижения "старого" - дешевый "технологический" маркетинг, попытки хоть чем-то обосновать "революционность" своего решения, что, на мой взгляд, в глазах думающего и понимающего потребителя имеет обратный эффект.

Именно поэтому новые технологии, использующие большие данные, машинное обучение, распределенные вычисления, облака - не вытесняют "легаси", а гармонично дополняют. А "новое поколение" - это не то, что реализует только новые подходы, а то, что реализует все, что показывает максимальную эффективность и результативность на современном ландшафте угроз.

Но даже и этого мало! Современные атаки реализуются людьми и противостоять им исключительно автоматически - невозможно, - все та же проблема с обходом средств защиты (новые навороченные автоматы, да, они более продвинуты, но, в любому случае, они - автоматы) и, поэтому, они [всегда, всегда, всегда] могут быть обойдены. И этот сценарий - компенсируется работой команды, не менее квалифицированной, чем атакующие, и использующей все эти новомодные средства не как стену за которую можно спрятаться, но как инструменты (оружие, если хотите) для активного обнаружения и противодействия.

Wednesday, August 2, 2017

Лес за деревьями

Когда  кариес - гигиена уже на поможет.
(Личный опыт)

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

Сложный технологический продукт трудно описать словами, лучшая его демонстрация - возможность испробовать в действии. Чтобы почувствовать прелесть автомобиля - лучше его потестдрайвить, ножом - порезать, камерой - поснимать, телевизор - посмотреть и т.п. Поэтому сервис может быть пропилотирован. Мы не распыляемся, - задача в общем-то одна - обнаружение атак, любых: целевых, безмалварных, с использованием новой малвары, с антифоренсикой - любой, что обошла существующие системы защиты (понятно, что не прошедшая системы защиты атака была успешно ими убита, и участия человека, в большинстве случаев, не требует). В целом, это не все, чем может заниматься SOC, - это один из его процессов, хотя...

После одного из пилотов, где количество выявленной альтернативной жизни красноречиво подтвердило прежде слабые догадки существования множества возможностей компрометации, а также, факты многократных взломов, и, в конечном счете, необходимость экстренной стимуляции кибериммунитета, было удивительно услышать, что Заказчик решил сначала сосредоточиться на более важных задачах обеспечения ИБ: контроль доступа, управление уязвимостями и выполнение требований комплайенса. Даже в обычных условиях список первоочередных мер вызывает улыбку умиления. Истерический смех вызывает этот список в совокупности со осознанием, что там были ребята (которые, возможно, и не ушли), а легковесная чистка на пилоте едва ли компенсирует отсутствие систематического подхода: поиск-расследование-реагирование-адаптация.

Как по-вашему, зачем ИБ? Какова прямая цель? Сохранение прежней эффективности и результативности бизнеса! КЦД информации - одна из перспектив достижения этой цели, но не сама цель. Контроль доступа - это одно из средств сохранения КЦД информации, так же и управление уязвимостями, тем более - комплайенс - это вообще способ измерения эффективности применяемых средств - ничто из перечисленного не годится в первостепенные меры, так как не закрывает цель, а лишь частично приближает к ней: решите вопрос с контролем доступа - атакуют через уязвимость в ПО, решите вопрос с уязвимостями - атакуют через целевой фишинг или зеродей, решение вопроса с комплайенсом - не является достаточным условием состояния безопасности вовсе. А, на самом деле, логическая цепочка очень проста: для сохранения прежних effectiveness и efficiency бизнеса нужно научиться противостоять атакам (это банально просто: любое покушение на бизнес - это  атака) -- чтобы атакам противостоять надо, как минимум научиться их обнаруживать, обнаруживать любые атаки, и реагировать на них. Получается примитивно простая формула: цель ИБ - защита от атак. Именно защиту от атак мы и предлагали, понимая что это - покроет цель, но Клиент предпочел средства: ставить патчи, управлять доступом, делать комплайнс - одним словом, заниматься гигиеной в то время, когда уже нужно лечить кариес.


Friday, July 28, 2017

Кибериммунитет

Уверен, что на определенном уровне абстракции все науки пользуются одними принципами

Очевидное поведение: если тебя стали разыскивать, надо "лечь на дно", пока ситуация не успокоится. И, тем не менее, удивился, когда столкнулся с этим на практике. Ребята (для упрощения можно считать APT), которых мы отслеживали в одном из пилотов, вероятно, легли на дно, поэтому пособирав все beacon-ы, вытащив оттуда все C&C-шки, позакрывав все их на периметре, почистив все, что на них отстукивалось, а также все, где были обнаружены другие, найденные в рамках чистки IoC-и, мы, было, успокоились - поддержка с воздуха не наблюдала ничего аномального...
Но к окончанию пилота Ребята вернулись. Причем, с большой степенью уверенности это не был новый пробив, - периметр хорошо просматривался и ничего эксплуатабельного не пролетало. Т.е., они сохранили persistence, просто приостановили свою работу и стали чуть менее заметны, и наш расслабленный подход, заключающийся в фиксации уже выявленного поведения и артефактов перестал давать результат, и отсутствие прежнего шума было расценено нами как победа над атакой, а это было - прекращение, временное.
Поначалу я немного сокрушался о такой нашей "оплошности" - увлеченные своим успехом, мы не заметили как нас переиграли. Но позднее понял то, что хочу донести в этой заметке - они никогда не остановятся. Они будут всегда возвращаться, и не важно как - через новый пробив периметра или используя старые бэкдоры. Задача ИБ - бороться с ущербом, при этом все равно как достигается, что его нет - Ребята не проникли в инфраструктуру или они пробились, но как только начинают активничать их сразу выявляют и они уходят, путь на время, чтобы затем вернуться, но результат достигнут - ущерба нет.

Нас постоянно одолевают миллиарды микробов и бактерий, однако, это не создает нам видимых проблем, так как у нас есть иммунитет, который эффективно справляется со всеми рецидивами, прежде чем они успеют переродится во что-то что причинит нам ущерб. Эта постоянная работа иммунитета не побеждает все зло в организме, однако держит ситуацию под контролем - мы не болеем.
{как любителю проводить всякого рода параллели и искать сходство в противоположностях, хочу отметить, что аналогия вполне успешна - у нас тоже есть периметр в виде кожного покрова, который защищает нас от совсем агрессивной среды, мы соблюдаем гигиену - моем руки, готовим пищу... и, тем не менее, если иммунитет ослабевает - мы заболеваем, получаем ущерб}

Как иммунитет постоянно в работе, так и ИБ - это бесконечный процесс выявления, расследования и чистки, причем, может, и не важно, что зачищено не все, важно, что ущерба нет, проявится активность - зачистим еще раз, главное - иметь возможность своевременно выявить и расследовать, до того, как активность обратится в профит для Ребят, и в ущерб для вас.

Закончить хочется краткими тезисами, суммирующими опыт, который я пытался максимально интересно изложить сегодня:
1. Ребята не отстанут - они будут приходить снова и снова
2. Не надейтесь на периметр, есть масса способов попасть внутрь, руководствуйтесь принципом, что Ребята уже внутри
3. Шансов обнаружить Ребят внутри значительно больше, так как закрепление, горизонтальные перемещения, внутренняя рекогносцировка,  сбор данных, эксфильтрация, удаленное управление и т.п. - намного более продолжительные и шумные операции, чем пролет неведомого эксплоита через периметр.
4. Не надо стремиться победить все зло (недостижимость совершенства - закон диалектики), надо стремиться победить материальное зло, несущее ущерб. Про приоритезацию есть книжный термин - триаж, но думаю на уровне здравого смысла, и без книжек, смысл понятен.
5. Никогда не расслабляйтесь - "тишина - страшный звук" - возможно Ребята сменили тактику, сменили инструменты, временно затихли - ищите с еще большим вниманием, охотьтесь постоянно, помните п.1
6. Квалификация и осведомленность Ребят - очень высокая, они знают вас и как вы их ищете, за вас здесь только старая аксиоматическая поговорка криминалистов о том, что любое преступление всегда оставляет улики - ищите эти улики, постоянно, а кто ищет - тот находит.
7. ИБ (Threat hunting, в частности) - это кибериммунитет корпорации, контролирующий ситуацию, не позволяющий ей дойти до ущерба.



Thursday, July 6, 2017

А ваши СОКи готовы к жаждущим рыданий неПетям?

Активное действие требует активного противодействия

Последние два месяца окропили страницы истории событиями, заставившими поверить в существование информационной безопасности самых консервативных скептиков и даже людей, не связанных с ИБ и ИТ вообще (картинок с блокскрином в самых неожиданных местах полно в Сети).
На просторах Всемирной Паутины в великом избытке можно найти всевозможные технические детали этих атак, поэтому в этом посте мы поговорим о более "бумажных" аспектах ИБ, а именно требованиях к операционной безопасности, выставляемых практикой мониторинга и контроля подобных атак.

На слайде 4 я рассказывал о Контексте угрозы, о современных ТТР, с которыми приходится считаться, а далее, начиная со слайда 11, приводил примеры инцидентов, с использованием этих ТТР и рассказывал, как это обнаруживать. Возможно тогда, все эти "новомодные" подходы типа Threat hunting, обнаружение по ТТР и усиление классического SOC, казались какими-то теоритезированными и далекими, но безжалостная практика показала, что современность требует именно этого.

Рассмотрим поверхностно применяемые техники и как они могут быть обнаружены.

WannaCry (12.05.2017)
Распространение - эксплоит EthernalBlue. Патч был выпущен заблаговременно (14.03.2017), спустя месяц (14.04.2017) - слив, который сразу же был проанализирован, и все нормальные IPS/IDS его детектили уже, самое позднее, на следующий день.
Нагрузка детектировалась нормальными антивирусами эвристикой (по поведению), а затем и сигнатурой на тушки.
"Классических" подходов к ИБ - вполне достаточно:

  • патчи ставить, можно даже с опозданием на месяц,
  • сигнатуры антивируса, IPS/IDS - обновлять,
  • сеть сегментировать (так как после сканирования своей подсети, сканировались случайные адреса),
  • в антивирусе включить поведенческий детект.

В целом, если перечисленные контроли работают, никакой мониторинг/SOC и не нужен.
Однако успешность атаки показала, что даже эти, назовем их статические (типа, сделал и забыл, никакой адаптации не нужно) меры, далеко не всегда выполняются.
Положительный эффект - то, что MS17-010, наконец-то, только истинные обломовцы не поставили.

Очевидно, что статических мер - недостаточно (про это были первые два абзаца воды) и вот практика это показала...

exPetr (27.06.2017)
Распространительный функционал обогащен дополнительными возможностями:

  • эксплоит EternalRomance (направлен на XP/2003, тоже патчится MS17-010);
  • увод аккаунтов (функционал схожий с Mimikatz);
  • далее с этими аккаунтами - wmic и psexec по сети;
  • выбор жертвы:
    • просмотр своих интерфейсов --> сканирование их сетей по 139 и 445 --> доступным - эксплоит/соединение;
    • аналог netstat - с кем соединения established --> эксплоит/соединение;
    • перечень хостов из arp-кеша --> эксплоит/соединение;
    • перечисление компов в домене --> эксплоит/соединение;
    • если адрес хоста - динамический --> эксплоит/соединение DHCP-сервера --> получение всех клиентов DHCP-севера --> эксплоит/соединение клиентов DHCP-сервера.
Вынесем за скобки другие фичи, типа удаления логов (~антифоренсика) и т.п., разберемся хотя бы с выписанным.

Выделенные красным - как раз те техники, что требуют дополнительных мер операционной безопасности - мониторинга и даже несколько более глубокого, так как:
  1. дамп паролей из памяти по поведению надежно продетектить сложно, так как, в целом, инжект в память lsass может быть вызван и легальной работой какой-нибудь загадочной аутентификации или системы безопасности, поэтому, как правило, антивирус детектит конкретный инструмент (Mimikatz, WCE, pwdump и пр.), а не ТТР;
  2. горизонтальные перемещения - выполняются с использованием легальных и даже штатных инструментов, использование которых не представляет собой ничего вредоносного, более того, зачастую используются администраторами (в нормальных инфраструктурах, конечно, не используют psexec (поэтому красным он не выделен), поскольку есть более "интерпрайзные" решения и, исходя из принципа минимума функционала, следует ими и ограничиться, однако, использование WMI (wmic) - достаточно распространенная практика);
  3. тупое шумное сканирование (любая NIDS вполне эффективно обнаруживает сканирования и портсвипы) обогащено функционалом выявления хостов с которыми непосредственно сейчас или в недалеком прошлом уже было сетевое взаимодействие и поэтому вредоносное подключение к ним не будет радикально выделяться при анализе межхостовых взаимодействий;
  4. сканирований за рамки своего VLAN-а уже нет, поэтому пролет "подозрительного" трафика через маршрутизатор (потенциально - межсетевой экран) отсутствует.
1 - обнаруживатется по инжектам в lsass - при наличии достаточной репутационной базы (и коммуникации с админами), аналитик без особого труда из множества инжектов найдет те, которые следует поисследовать, и среди них будет угроза, за которой охотились.
Про 2 у любого охотника накоплен богатый опыт, который, в совокупности с информацией о процессах, участвующих в этой сетевой активности на эндпоинтах, позволит аналитику быстро составить недвусмысленную картину. 
3 связано с 2, да и вообще, отслеживать кто на какой машине логинится и обращать внимание на отклонения от накопленного статистического профиля - дело благодарное, а обогащенное знаниями, что из сессии сетевого логона запускаются еще какие-то процессы, - заслуживает внимание аналитика, особенно когда ранее подобное не наблюдалось.
Нормальные Охотники на угрозы анализируют сетевые соединения. Если у вас DHCP-сервер - маршрутизатор (или, во всяком случае, не windows), то обращение к нему по 445 будет выглядеть более чем странно и внимательный аналитик непременно решит докопаться что за процесс генерит столь странные обращения.

Не надо быть сильно смекалистым, чтобы из написанного выше не сделать выводы, почему SOC-а в его классическом текущем понимании мало. И, все-таки, кратко остановлюсь на этом:
  • нужны низкоуровневые события с эндпоинта - запуски процессов, их сетевые соединения, загрузки библиотек, инжекты в код других процессов и т.п.;
  • в дополнение к эндпоинту, нужны данные, как минимум, с сетевого периметра, крайне полезен результат анализа внутреннего трафика;
  • нужны механизмы контроля использования легитимных и штатных инструментов ОС с возможностью быстрого понимания что "нормально", а что - "подозрительно";
  • нужны хорошие справочники TI, как позволяющие автоматически маркировать объекты в логах с последующим использованием в корреляционной логике, так и служащие справочником для аналитика, выполняющего расследование подмеченной подозрительной активности;
  • ну и, конечно, инфраструктура быстрого (~ автоматического) проведения форенсики - песочницы, опять же обвешенной всевозможным TI, позволяющим что-то автоматически протеггировать и немного сократить задачу аналитика по поиску следов атаки или подозрительной активности.

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



Monday, June 5, 2017

Наверно они сотрудничают...

Наблюдая то, как бодро Wikileaks и прочие борцы за справедливость публикуют секретные разработки в области компрометации различных товаров американского производства, создается впечатление, что разработчики этих товаров все-таки сотрудничают со спецслужбами, а весь этот цирк с секретными имплантами\эксплоитами - чтобы мы не прекращали верить в чистоту совести производителей и продолжали в них инвестировать, приобретая их товары.