Доброго времени суток хаброжителям!

Когда сидел вечером за чашечкой кофе, пришла в голову мысль о том, что из себя представляют современные платёжные системы, которыми мы пользуемся повсеместно.

Например, времена, как известно из текущей ситуации в мире, того же пейпала уже прошли, а рынок как бы мы ни хотели растёт. Та же пандемия внесла большие коррективы в том как мы стали производить обмен товаров на деньги. Люди все сидят по домам а товары хоть и в меньшей мере но покупать хочется и нужно .

Решил проверить как это происходит на различных торговых площадках, которые распространены на территории СНГ и дружественных ему стран.  Давайте напомню этот «сложный и тернистый» путь:

  • логинимся,

  • выбираем интересный нам товар (о боги это очень долго так как хочется жеж и то и пятое, и десятое)

  • тэкс выбрали

  • идём дальше в корзину

  • переходим уже к оплате

  • выбираем оплату картой и….

Видим доселе нам незнакомое окошко совсем не сайта торговой площадки, а что-то связанное со словом PAY и деньги, или что-то подобное. Нас уверяют что данная страница соответствует всем требованиям безопасности транзакций и это и правда так (если конечно сайт маркетплейса не был скомпрометирован) и мы вводим с полной уверенностью данные нашей карты и вуаля! Нам говорят, что наш товар оплачен, а деньги списаны с карты. Все что нам осталось – так это ждать доставки, урааа! Правда просто?

А теперь заглянем под капот как это работает.

У каждой системы есть фронт энд и бек энд. То есть та сторона что нас принимает и отдаёт на обработку куда-то дальше.

Именно это самый интересный момент - любая платёжная система не является местом, где деньги оседают. Она агрегирует платежи и проксирует их в банки/банк которые к ней подключены. Естественным моментом является то, что вся цепочка проведения транзакций должна быть безопасна – так как это деньги пользователей.

Обычно любая уважающая себя платёжная система предоставляет открытый API для интеграции или даже более того различные плагины для CMS.

Для того чтобы защитить прохожде��ие наших средств, а-ка рубликов, тугриков, сумов и т.д платёжная система должна выстраивать баррикады которые чётко фиксируют всяких «редисок» которые могут попытаться собственно стыбрить нажитое непосильным трудом. Неприятненько но такое в жизни случается. Вернёмся к нашим баранам транзакциям.

К примеру у платёжной системы есть минимальный комплект – WAF , NGFW , SIEM .

Антивирусы я думаю по дефолту стоят на серверах обработки либо какой то HIPS. Итак сначала обрисую как я это вижу с тремя устройствами , остальное можно сделать по аналогии.

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

Недостаточно просто поставить WAF + NGFW , требуется также объединить все средства безопасности в единый организм . Прямых требований у того же PCI DSS есть несколько - у вас должен быть WAF если вы занимаетесь ecomm и IPS для входящей обработки трафика , но исходя из практики можно понять что как отдельный организм это работать может но эффект будет не тот, должны работать все защитные меры. Если мы говорим о решениях типа EDR/XDR то они работают также сами по себе , при этом мы можем отдавать данные в СИЕМ и в принципе многие на этом останавливаются. Если смотреть глобальнее то лучшим решением будет их оборачивать через какой то прокси между собой , у каких то вендоров это называется фабрикой , у другого шина данных , вообщем как не назови смысл один и тот же. А как сделать если в инфраструктуре ИБ зоопарк как это часто бывает? Мысль склоняется больше к тому что точкой входа и выхода всё таки будет SIEM или SOAR , по респонс процессу в принципе понятно – как напишешь так и будет работать . Хотелось бы показать пару кейсов как это может работать.

К примеру WAF получает сообщение о том что происходит сканирование какого-либо домена, он передаёт в реал-тайм эту информацию в SIEM либо в какой то свой анализатор с возможностью использования плейбука, SIEM же отправляет вебхуком или через API информацию в NGFW для того чтобы заблокировать адрес сканирующего уже на своём уровне. Далее уже распространяет эту информацию по всем точкам присутствия. Если есть песочница и есть передача файлов то можно в принципе и туда этот трафик заслать. Не забываем про DPI – то есть можно загнать такие адреса в отдельный VLAN и там его уже исследовать на ханипоте.

В таком варианте получается что SIEM является автоматической точкой принятия решений , следовательно берем матрицу MITRE&ATTACK и составляем плейбуки согласно тем типам атак L7 которые там описаны. В основном это различного типа CSS, LFI, RFI,SQLi и прочие . Также не лишним будет заглянуть в OWASP и проанализировать по каким доменам идут сработки WAF как принимающей стороны. А также закрываем L3 наглухо.

Уповать только на  WAF конечно тоже не стоит . Так как есть средства для его байпасса, стоит установить на вэб серверах дополнительные защитные меры в виде той же Suricata или подобного , сильно прохождение трафика это не замедлит , но от чего то крупного и уже известного может спасти в случае чего .

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

Тут уже вступает в свои права NGFW – было описано уже большое количество раз про сегментацию и микросегментацию сети , почему вы не делаете это до сих пор ? Отпишитесь кто сегментирует DMZ и делаете ли вы это вообще?  Процесс микросегментации сети аналогичен как в он-премис так и в облаке . Но до сих пор встречаю в некоторых организациях нули как на входе так и на выходе. Это очень печальный опыт который выливается в большие потери.

NGFW также отдаёт эти данные в SIEM и также с помощью API встроенного в него может принимать какой то респонс на основе того что мы сделали в SIEM/SOAR.

Также хочется напомнить про харденинг систем – в этом отношении облачные решения сделали большой шаг вперёд и предоставляют за совсем смешные деньги уже готовые CIS машины с готовым харденингом под капотом. Это безопасно и не отнимает у вас времени на настройку ОС согласно требованиям безопасности.

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

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