Небольшой опус об ИБ в финтех
Доброго времени суток хаброжителям!
Когда сидел вечером за чашечкой кофе, пришла в голову мысль о том, что из себя представляют современные платёжные системы, которыми мы пользуемся повсеместно.
Например, времена, как известно из текущей ситуации в мире, того же пейпала уже прошли, а рынок как бы мы ни хотели растёт. Та же пандемия внесла большие коррективы в том как мы стали производить обмен товаров на деньги. Люди все сидят по домам, а товары хоть и в меньшей мере, но покупать хочется и нужно .
Решил проверить как это происходит на различных торговых площадках, которые распространены на территории СНГ и дружественных ему стран. Давайте напомню этот «сложный и тернистый» путь:
логинимся,
выбираем интересный нам товар (о боги это очень долго так как хочется жеж и то и пятое, и десятое)
тэкс выбрали
идём дальше в корзину
переходим уже к оплате
выбираем оплату картой и….
Видим доселе нам незнакомое окошко совсем не сайта торговой площадки, а что-то связанное со словом 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.