суббота, 20 ноября 2021 г.

Отличие SSL инспекции от SSL расшифрования

Иногда ко мне на встречи приходят заказчики, которые впечатлены тестами NSS Labs или просто datasheet поставщиков, которые им показали как быстро они расшифровывают SSL в своем устройстве класса все-в-одном. Причем глаза заказчиков горят, потому что они на каком-то основании думают, что это SSL расшифрование это SSL инспекция. 

В словах расшифрование и инспекция как минимум разные буквы. Так же как и в словах decryption и inspection. Почему же люди считают, что это одно и тоже? Давайте разберемся.

SSL инспекция работает в режиме proxy

Для начала приведу схему как идет поток ваших данных внутри NGFW к разным модулям. Внутри устройства SSL Decrypt используется два раза. Сначала, чтобы установить соединение и подтвердить доверие между клиентом и NGFW. И второй раз, чтобы установить соединение и установить доверие между NGFW и сервером. То есть любой NGFW выполняет расшифрование как прозрачный SSL proxy. Существуют на рынке и обычные прокси, которые тоже расшифровывают SSL, но они это делают только для HTTPS трафика. А NGFW расширяет функциональность и SSL Decrypt работает обычно для любого трафика на основе TLS.


Если возникло непонимание чем отличается SSL и TLS, то еще одна картинка ниже. Далее по тексту буду использовать слово SSL как более часто употребляемое, хотя конечно технически у вас в сети уже давно TLS 1.2 и TLS 1.3. TLS 1.1 и ранее уже не рекомендуется использовать в своей сети, как небезопасные версии.               

SSL инспекция в вашей сети

Зачем нужно расшифрование HTTPS, POP3S, IMAPS, SMTPS, FTPS и в принципе любого протокола, который сегодня основан на TLS 1.2 и TLS 1.3, но по-старинке мы используем название SSL. Для того, чтобы после расшифрования анализировать открытый трафик вашими средствами безопасности. В NGFW встроены такие модули безопасности как URL категоризация, cистема предотвращения атак (IPS), антивирус, песочница,  блокировка файлов по типам, DLP, Threat Intelligence, Machine Learning, DNS Security. Если трафик зашифрован, то очевидно, что эти системы работают неполноценно. Поэтому NGFW сегодня выполняет функцию SSL расшифрования. И вот SSL расшифрование + включенные модули безопасности - является SSL инспекцией.

Иногда функцию SSL расшифрования выполняет внешний балансировщик, например F5, A10, Radware, то да, это верно, они занимаются только SSL Decrypt.
А если функция расшифрования выполняется одновременно на NGFW и одновременно в нем включены модули защиты, то тогда, это SSL Inspection.

И вот эта путаница приводит к неверному выбору модели устройства. Дело в том, что разница в производительности одного и того же устройства с включенным функционалом threat protection и с выключенным - в 10 раз. Даже распознавание приложений убивает иногда устройство, что уж тут говорить про антивирус, с его миллионами сигнатур.

Причем производительность вычислительного устройств зависит от алгоритмов шифрования и обмена ключами: RSA, ECDHE, AES, DES, и от длины ключей 2 Кб или 1 Кб, 56 байт или 256 байт.  А еще производительность SSL/TLS зависит от того обращаемся ли мы к базе CRL для проверки не был ли сертификат отозван, часто это протокол OCSP. А еще производительность зависит от такого параметра как session reuse, это когда новое SSL соединение использует старый ключ от прошлого SSL соединения, что экономит процессорное время.

Внутри SSL может быть любое приложение. Даже веб трафик сегодня идет по QUIC, HTTPS и по HTTP/2 - это разные протоколы, там по-разному надо анализировать трафик и файлы в нем. Что уж говорить про такие протоколы на базе SSL как SMTPS, где файлы еще надо из BASE64 выковыривать.

URL категоризация 

Зачем нужна URL категоризация во время SSL инспекции? Потому что часть URL вы не имеете права расшифровывать даже банально по законодательству: личные страницы банков, медицинские карты, госуслуги. GDPR и закон о персональных данных не дремлют. И также вы будете исключать из расшифрования множество сайтов, который против расшифрования в принципе: все системы обновления, например, Microsoft Update не разрешит себя расшифровать, все вебинары, например, Zoom и Webex не разрешат себя расшифровать.. и в общем-то 50% трафика вы не сможете расшифровать в своей сети, потому что SSL pinning и проверка клиентских сертификатов не дремлют тоже. Также как и другие нюансы.

Вывод

Резюмируя: если вам говорят, что производитель очень быстрый на SSL Inspection, то, опыт показывает, что он точно выключил всю безопасность и измерил производительность с SSL Decrypt только. Причем это не какая-то вероятность, а именно 100% ситуация. Потому что всегда, когда ко мне приходили люди и счастливо говорили "ой какой он быстрый" то я показывал пальцем в документ этого же поставщика, где черным по белому написано: мы выключили контроль приложений, URL фильтрацию, анализ файлов любым способом, антивирус, песочницу и измерили скорость. Ну, молодцы. Только зачем сбивать с толку людей, что это скорость SSL инспекции?

И кстати, самый важный параметр для Вас не SSL throughput, а SSL new transaction per second. Смотрите в него. Ведь самое долгое в TLS - установить соединение и проверить доверие, а не передать трафик. Также как, самое долгое в поездке за границу - получить визу. Это тема отдельной статьи.

Попросите предоставить вам производительность именно с всеми включенными функциями анализа. Ведь запускать вхолостую SSL Decrypt вы не будете - вы явно будуте анализировать трафик после расшифрования. В противном случае вы покупаете устройство греть трафик в ЦОД.

Если посмотреть тесты NSS labs - там обычно измеряется только скорость с HTTPS Decrypt c включенным IPS. Это явно не весь функционал NGFW. Также я видел еще результаты публичных тестов, что когда тестируют SSL трафик, но расшифровывают только 50% а 50% просто пропускают и считают сколько пропустили. Также интересные результаты показывает NetSecOpen, где была включить попытка все модули. Но некоторые их результаты не бьются с реальными тестами, в которых участвовал я сам, поэтому к NetSecOpen надо отнестись внимательно, но осторожно. Ведь в тестах участвует две стороны: тот кто настраивает тестовый стенд и тот кто настраивает устройство. И у тех и у других сотни настроек, которые можно включить и включить. А какие были включены и выключены - там не описаны.
 



понедельник, 15 ноября 2021 г.

Избегайте эффекта освещенной улицы (streetlight effect)

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

- Что вы тут делаете?

- Ищу кошелек.

Долго ищут вместе...

- Вы точно его потеряли тут?

- Нет, в парке, но это то место, где мне хоть что-то видно.

Как часто вы исследуя какую-то проблему осознаете, сколько реально информации вам доступно для исследования? 5% или 20% от потенциально возможной?

Как часто вам кажется, что вы просмотрели все возможные варианты или что вы ищете именно там?

Мир часто не дает достаточной информации и мы должны принимать решение по части картинки, но это неверно - ищите как осветить остальную часть улицы и ищите там. То же самое касается информационной безопасности - задавайте себе вопрос: вся ли информация вам доступна?

https://en.wikipedia.org/wiki/Streetlight_effect

четверг, 21 октября 2021 г.

Почему у многих нет Zero Trust?


Часто вижу как красиво начинают писать правила межсетевого экрана: тщательно для каждого ресурса (принтера, камеры, сервера, подсети, категории URL) прописывают доступы конкретным людям (знают про identity control) и конкретным приложениям (знают про application control) и затем все остальное запрещают - так именно и выглядит Zero Trust - разрешить только нужное и точно известное и остальное запретить. Но когда долистываю до правила номер 500, вдруг обнаруживаю правило permit any to any. То есть, очевидно, что первые 100 ресурсов нормально защищены как положено, а остальные 10000 - уже было либо лень, либо был выбран неудачный продукт, где сложно больше 500 правил писать, либо был какой-то аврал и временно разрешили всему остальному все, либо оставили на потом... и забыли.. И неважно какой у вас NGFW: Palo Alto Networks, Fortinet, Check Point... Важно была ли у вас цель настроить их правильно? ) 


В итоге менеджеры думают, что удачно потратили миллион долларов на самую лучшую защиту от лидера Gartner... а администраторы NGFW просто не успевают его настроить нормально - ведь на это реально нужно _несколько лет_ а администраторы за эти годы еще и поменялись.. и вот поэтому вот так вот все..

И да, есть те, кто понимает эти тонкости и начинаются покупки AlgoSec, SkyBox, Tuffin для проверки и оптимизации политик.. Запускаются утилиты под названием Best Practice Assessment, заказываются аудиты и пентесты и даже нанимают себе Red Team.. Но я уверен, что если прийти в вашу компанию, то правила выглядят у вас где-то также... никакого Zero Trust ) спорим? )

понедельник, 18 октября 2021 г.

Осторожно! "Фальшивое свидание"

Схема развода "Фальшивое свидание": Красотку звали Анна: "Я в тиндере всего день, не привыкла общаться в интернете и тем более знакомиться 🙂 Я больше за живое общение. Но у меня щас неделя сильно загружена… Завтра, правда, немного времени найдется, иду на спектакль в 8 вечера, если хочешь — можем сходить вместе!" Чтобы пойти на свидание, нужно было купить билет — Анна сама скинула ссылку на сайт театра. 




Но горькая правда в том, что никакого первого свидания в партере не будет, деньги, перечисленные за билет, украдут, а Анна больше не выйдет на связь.

Group-IB обнаружила более 700 доменов фейковых сайтов театров, стендап-шоу, ресторанов, кинотеатров, которые мошенники используют для кражи денег под видом приглашения на свидание. За последние три года схему Fake Date (фальшивое свидание — с англ.) взяли на вооружение два десятка преступных групп — выручка одной из них за год составила более 18 миллионов рублей при более чем 7000 транзакций. 

Первые массовые случаи использования в России схемы Fake Date с приглашением на лжесвидания специалисты Group-IB фиксировали еще в 2018 году, после обращений обманутых пользователей.

Тогда в соцсетях или на сайте знакомств симпатичная девушка приглашала кавалера в "антикино" — кинотеатр с отдельными романтическими залами для двоих — и просила купить два билета на сайте.

Но это только верхушка айсберга. В ходе исследования аналитики обнаружили связи доменных имен фишинговых сайтов из схемы Fake Date с ресурсами из популярной схемы «Курьер» (или «Мамонт»), нацеленной на кражу денег и данных банковских карт пользователей с помощью фейковых сайтов популярных курьерских служб и маркетплейсов. 

Любопытно, что схема Fake Date практически полностью переняла у «Мамонта» иерархию, техническую базу, модель функционирования и даже сленг («мамонтом» на языке мошенников называют жертву).


Похищенные деньги поступают на карты или кошельки админов, которые выплачивают воркерам процент от каждой транзакции (от 70% до 85%). Когда жертва оплачивает возврат, часть суммы получает прозвонщик из технической поддержки. Чтобы присоединиться к команде, как и в случае с "Мамонтом", необходимо пройти небольшое, достаточно формальное собеседование.

Подробнее в статье Group-IB.

пятница, 15 октября 2021 г.

Почему Palo Alto Networks NGFW лучшее решение для защиты КИИ/ICS/SCADA

Нельзя защищать то, что вы не видите. Визуализация, обнаружение действий сотрудников, обнаружение ненужного трафика, снижение поверхности атаки, защита от атак, обнаружение неизвестного вредоносного кода, корреляция событий, Machine Learning, поведенческие аномалии - это все делает одно устройство компании Palo Alto Networks. Почему заказчики выбирают NGFW для защиты сети ICS/SCADA.
  • Лучшая реализация движка определения приложений IoT, IIoT, ICS, SCADA. Вы переходите на новый уровень визуализации своей собственной сети: от пакетов к приложениям.
  • Легкость добавления собственных сигнатур приложений. Например, для IEC 104, ICCP, DNP3, BACnet, OPC, GTP протоколов вы можете добавить собственные детекторы активности и реакции.
  • Прозрачная интеграция в существующую топологию без изменения сетевых потоков и маршрутизации на основе прозрачного подключения Virtual Wire или на SPAN.
  • Прозрачное подключение с добавлением сегментации используя VLAN Insertion.
  • Успешные инсталляции в 150 странах мира у 85000 заказчиков.
  • Лидер Gartner в номинации Лучший межсетевой экран
  • Лидер Forrester в номинации Лучшая реализация Zero Trust
  • Лидер индустрии использующий Machine Learning для обнаружения вредоносного кода
  • Поддержка NIST CyberSecurity Framework
  • Готовые схемы архитектуры защиты для ICS/SCADA
  • Работа со всеми мировыми производителями ICS/SCADA по управлению приложениями и защите от уязвимостей. 
  • Лучшее качество защиты и отсутствие методик обхода по тестам NSS Labs и Cyberratings.
Полный список поддерживаемых приложений в брошюре по APP-ID для ICS/SCADA
и на портале applipedia.paloaltonetworks.com





Список протоколов верный на октябрь 2021 года (постоянно расширяется) Современная версия на портале applipedia.paloaltonetworks.com
104 APCI KNXNET/IP ABB Network Manager Matrikon-tunneller ABB-RP570 Mitsubishi-melsec ADDP MMS-ICS BACnet Modbus CC-Link MQTT CIP EtherNet IP MTConnect CN/IP (CEA-852) Net-C-X COAP Niagara-Fox Cygnet SCADA Oasys-scada DLMS / COSEM / IEC 62056 Omron-fins DNP3 OPC-DA Elcom 90 OPC UA Emerson-Delta-V OSIsoft PI Systems Ethercat Ovation Ether-S-Bus Profinet ETHER-S-I/O (esio) R-GOOSE Fanuc-focas ROC Fisher-ROC Rockwell FactoryTalk Foundation Fieldbus RTCM (GPS/IP) GE EGD RTPS GE-Eterra-isd Schneider OASyS GE-Eterra-SCADA Schneider Wonderware Suitelink GE-Historian Schweitzer Engineering SEL Fast Messaging GE iFIX Siemens FactoryLink HDLC-OVER-TCP Siemens Profinet IO Honeywell Matrikon OPC Tunneller Siemens-P2 IEEE-c37.118- Synchrophasor Siemens S7 IRIG-106 Siemens S7-Comm-Plus ICCP (IEC 60870-6 / TASE.2) Suitelink IEC 60870-5-104 Twincat IEC-61850 Advance Messaging Queuing Protocol (AMQP) RabbitMQ General Packet Radio Service (GPRS) Signal System 7 (SS7) modbus-base modbus-encapsulated-transport modbus-mask-write-register modbus-read-coils modbus-read-discrete-inputs modbus-read-fifo-queue modbus-read-file-record modbus-read-holding-registers modbus-read-input-registers modbus-read-write-register modbus-write-file-record modbus-write-multiple-coils modbus-write-multiple-registers modbus-write-single-coil modbus-write-single-register cip-ethernet-ip-base cip-ethernet-ip-list-identity cip-ethernet-ip-reg-session cip-ethernet-ip-send-rr-data cip-ethernet-ip-send-unit-data dlms-base dlms-get-request (functional) dlms-get-response (functional) dlms-init-req-high-level-auth (functional) dlms-init-req-low-level-auth (functional) dlms-init-req-no-auth (functional) dlms-init-response (functional) dlms-set-request (functional) dlms-set-response (functional) dnp3-abort-file dnp3-assign-class dnp3-authenticate-file dnp3-base dnp3-close-file dnp3-cold-restart dnp3-confirm dnp3-delay-measurement dnp3-delete-file dnp3-direct-operate dnp3-direct-operate-no-resp dnp3-disable-unsolicited dnp3-enable-unsolicited dnp3-freeze dnp3-freeze-at-time dnp3-freeze-at-time-no-resp dnp3-freeze-clear dnp3-freeze-clear-no-resp dnp3-freeze-no-resp dnp3-get-file-information dnp3-initialize-application dnp3-initialize-data dnp3-open-file dnp3-operate dnp3-read dnp3-record-current-time dnp3-save-configuration dnp3-select dnp3-start-application dnp3-stop-application dnp3-unsolicited-message dnp3-warm-restart dnp3-write dlms-base dlms-get-request (functional) dlms-get-response (functional) dlms-init-req-high-level-auth (functional) dlms-init-req-low-level-auth (functional) dlms-init-req-no-auth (functional) dlms-init-response (functional) dlms-set-request (functional) dlms-set-response (functional) cn-ip-acknowledge cn-ip-base cn-ip-channel-membership cn-ip-channel-membership-req cn-ip-channel-routing cn-ip-channel-routing-req cn-ip-data-packet cn-ip-device-config-req cn-ip-device-configuration cn-ip-device-registration cn-ip-heartbeat-req cn-ip-segment cn-ip-send-list cn-ip-send-list-req 104apci-supervisory 104apci-unnumbered 104apci-unnumbered-startdt-act 104apci-unnumbered-startdt-con 104apci-unnumbered-stopdt-act 104apci-unnumbered-stopdt-con 104apci-unnumbered-test-act 104apci-unnumbered-test-con 104asdu-file-transfer 104asdu-file-transfer-type120 104asdu-file-transfer-type121 104asdu-file-transfer-type122 104asdu-file-transfer-type123 104asdu-file-transfer-type125 104asdu-file-transfer-type126 104asdu-file-transfer-type127 104asdu-param-control 104asdu-param-control-type110 104asdu-param-control-type111 104asdu-param-control-type112 104asdu-param-control-type113 104asdu-process-control 104asdu-process-control-type45 104asdu-process-control-type46 104asdu-process-control-type47 104asdu-process-control-type48 104asdu-process-control-type49 104asdu-process-control-type50 104asdu-process-control-type51 104asdu-process-control-type58 104asdu-process-control-type59 104asdu-process-control-type60 104asdu-process-control-type61 104asdu-process-control-type62 104asdu-process-control-type63 104asdu-process-control-type70 104asdu-process-monitor 104asdu-process-monitor-type1 104asdu-process-monitor-type10 104asdu-process-monitor-type11 104asdu-process-monitor-type12 104asdu-process-monitor-type13 104asdu-process-monitor-type14 104asdu-process-monitor-type15 104asdu-process-monitor-type16 104asdu-process-monitor-type17 104asdu-process-monitor-type18 104asdu-process-monitor-type19 104asdu-process-monitor-type2 104asdu-process-monitor-type20 104asdu-process-monitor-type21 104asdu-process-monitor-type3 104asdu-process-monitor-type30 104asdu-process-monitor-type31 104asdu-process-monitor-type32 104asdu-process-monitor-type33 104asdu-process-monitor-type34 104asdu-process-monitor-type35 104asdu-process-monitor-type36 104asdu-process-monitor-type37 104asdu-process-monitor-type38 104asdu-process-monitor-type39 104asdu-process-monitor-type4 104asdu-process-monitor-type40 104asdu-process-monitor-type5 104asdu-process-monitor-type6 104asdu-process-monitor-type7 104asdu-process-monitor-type8 104asdu-process-monitor-type9 104asdu-system-control 104asdu-system-control-type100 104asdu-system-control-type101 104asdu-system-control-type102 104asdu-system-control-type103 104asdu-system-control-type104 104asdu-system-control-type105 104asdu-system-control-type106 104asdu-system-control-type107 104asdu-system-monitor 104asdu-system-monitor-type64 iec-60870-5-104-base mms-ics-ack-event-notification mms-ics-additional-service mms-ics-alter-event-cond-monit mms-ics-alter-event-enroll mms-ics-base mms-ics-cancel mms-ics-conclude mms-ics-create-journal mms-ics-create-prog-invocations mms-ics-create-prog-invocation mms-ics-define-event-action mms-ics-define-event-condition mms-ics-define-event-enroll mms-ics-delete-domain mms-ics-delete-event-action mms-ics-delete-event-condition mms-ics-delete-event-enroll mms-ics-delete-journal mms-ics-delete-prog-invocation mms-ics-download-segment mms-ics-eventnotification mms-ics-file-close mms-ics-file-delete mms-ics-file-directory mms-ics-file-open mms-ics-file-read mms-ics-file-rename mms-ics-get-alarm-enroll-sum mms-ics-get-alarm-summary mms-ics-get-capability-list mms-ics-get-domain-attribute mms-ics-get-event-action-attr mms-ics-get-event-cond-attr mms-ics-get-event-enroll-attr mms-ics-get-prog-invo-attr mms-ics-informationreport mms-ics-initial-download-seq mms-ics-initialize-journal mms-ics-initiate-upload-seq mms-ics-kill mms-ics-load-domain-content mms-ics-obtain-file mms-ics-read-journal mms-ics-rep-event-action-stat mms-ics-rep-event-enroll-stat mms-ics-report-event-cond-stat mms-ics-report-journal-status mms-ics-report-pool-sema-stat mms-ics-report-sema-entry-stat mms-ics-request-domain-download mms-ics-request-domain-upload mms-ics-reset mms-ics-resume mms-ics-start mms-ics-stop mms-ics-store-domain-content mms-ics-terminate-download-seq mms-ics-terminate-upload-seq mms-ics-trigger-event mms-ics-unsolicitedstatus mms-ics-upload-segment mms-ics-write-journal iccp-base iccp-define-named-type iccp-define-named-variable iccp-define-named-variable-list iccp-define-scattered-access iccp-define-semaphore iccp-delete-named-type iccp-delete-named-variable-list iccp-write iccp-delete-semaphore iccp-delete-variable-access iccp-download-segment iccp-get-name-list iccp-get-named-type-attr iccp-get-scattered-access-attr iccp-get-variable-access-attr iccp-identity iccp-initiate-download-seq iccp-initiate-upload-seq iccp-input iccp-read iccp-relinquish-control iccp-rename iccp-report-pool-sem-status iccp-report-sem-entry-status iccp-report-semaphore-status iccp-status iccp-take-control iccp-terminate-download-seq IEC-61850 IEC-61850-base IEC-61850-delete-named-var-list IEC-61850-getatadir siemens-s7-comm-plus-base siemens-s7-comm-plus-create-ob siemens-s7-comm-plus-delete-ob siemens-s7-comm-plus-download siemens-s7-comm-plus-end-seq siemens-s7-comm-plus-explore siemens-s7-comm-plus-explore siemens-s7-comm-plus-get-mtvar siemens-s7-comm-plus-get-mtvar siemens-s7-comm-plus-get-vsstr siemens-s7-comm-plus-get-vsstr siemens-s7-comm-plus-run-cpu siemens-s7-comm-plus-set-mtvar siemens-s7-comm-plus-set-mtvar siemens-s7-comm-plus-set-time siemens-s7-comm-plus-set-var siemens-s7-comm-plus-set-var siemens-s7-comm-plus-stop-cpu siemens-s7-comm-plus-upload c37.118-cmd-frame-data-tx-off c37.118-cmd-frame-data-tx-on c37.118-cmd-frame-extended-frm c37.118-cmd-frame-send-cfg-1 c37.118-cmd-frame-send-cfg-2 c37.118-cmd-frame-send-hdr-frm c37.118-command-frame c37.118-configuration-frame-1 c37.118-configuration-frame-2 c37.118-data-frame c37.118-header-frame ieee-c37.118-synchrophasor-base siemens-s7-base siemens-s7-check-password-set siemens-s7-controller siemens-s7-download-program siemens-s7-read siemens-s7-set-clock siemens-s7-setup-communication siemens-s7-start siemens-s7-stop siemens-s7-upload-program siemens-s7-warm-restart siemens-s7-write bacnet-abort bacnet-ack-alarm bacnet-add-list-element bacnet-atomic-read-file bacnet-atomic-write-file bacnet-authenticate bacnet-base bacnet-complex-ack bacnet-confirmed-cov-notify bacnet-confirmed-event-notify bacnet-confirmed-private-xfer bacnet-confirmed-text-message bacnet-create-object bacnet-delete-object bacnet-device-comm-control bacnet-error bacnet-error-ack-alarm bacnet-error-add-list-element bacnet-error-atomic-read-file bacnet-error-atomic-write-file bacnet-error-conf-cov-notify bacnet-error-conf-event-notif bacnet-error-conf-private-trf bacnet-error-conf-text-mssg bacnet-error-delete-object bacnet-error-device-comm-cntrl bacnet-error-get-alarm-summary bacnet-error-get-enrollment-sum bacnet-error-get-event-info bacnet-error-life-safety-oper bacnet-error-read-property bacnet-error-read-property-cond bacnet-error-read-property-mul bacnet-error-read-range bacnet-error-reinitialize-dev bacnet-error-remove-list-elem bacnet-error-request-key bacnet-error-subscribe-cov bacnet-error-subscribe-cov-prop bacnet-error-vt-data bacnet-error-vt-open bacnet-error-write-prop-mult bacnet-get-alarm-summary bacnet-get-enrollment-summary bacnet-get-event-information bacnet-i-am bacnet-i-have bacnet-life-safety-operation bacnet-read-prop-conditional bacnet-read-prop-multiple bacnet-read-property bacnet-read-range bacnet-reinitialize-device bacnet-reject bacnet-remove-list-element bacnet-request-key bacnet-segment-ack bacnet-simple-ack bacnet-subscribe-cov bacnet-subscribe-cov-property bacnet-time-synchronization bacnet-unconfirmed-cov-notif bacnet-unconfirmed-event-notif bacnet-unconfirmed-private-txfr bacnet-unconfirmed-text-message bacnet-utc-time-synchronization bacnet-vt-close bacnet-vt-data bacnet-vt-open bacnet-who-has bacnet-who-has-access-credent bacnet-who-has-access-door bacnet-who-has-access-point bacnet-who-has-access-right bacnet-who-has-access-user bacnet-who-has-access-zone bacnet-who-has-accumulator bacnet-who-has-analog-input bacnet-who-has-analog-output bacnet-who-has-analog-value bacnet-who-has-averaging bacnet-who-has-binary-input bacnet-who-has-binary-output bacnet-who-has-binary-value bacnet-who-has-bitstring-value bacnet-who-has-calendar bacnet-who-has-command bacnet-who-has-cred-data-input bacnet-who-has-date-pattern-val bacnet-who-has-date-value bacnet-who-has-device bacnet-who-has-event-enrollment bacnet-who-has-event-log bacnet-who-has-global-group bacnet-who-has-group bacnet-who-has-integer-value bacnet-who-has-large-analog-val bacnet-who-has-life-safety-pt bacnet-who-has-life-safety-zone bacnet-who-has-multi-state-in bacnet-who-has-multi-state-out bacnet-who-has-multi-state-val bacnet-who-has-network-security bacnet-who-has-notification-cls bacnet-who-has-octatestring-val bacnet-who-has-pulse-converter bacnet-who-has-schedule bacnet-who-has-structured-view bacnet-who-has-time-pattern-val bacnet-who-has-time-value bacnet-who-has-trend-log bacnet-who-has-trend-log-mul bacnet-who-is bacnet-write-prop-multiple bacnet-write-property bacnet-who-has-time-value bacnet-who-has-trend-log-mul addp-base addp-dhcp-network-config-req (functional) addp-dhcp-network-config-resp (functional) addp-discovery-request (functional) addp-discovery-response (functional) addp-reboot-request (functional) addp-reboot-response (functional) addp-static-network-config-req (functional) addp-static-network-config-resp (functional) knxnet-ip-base knxnet-ip-configuration-request (functional) knxnet-ip-connect-request (functional) knxnet-ip-connection-state-req (functional) knxnet-ip-description-request (functional) knxnet-ip-disconnect-request (functional) knxnet-ip-search-request (functional) knxnet-ip-tunnelling-request (functional) coap-base coap-delete-request (functional) coap-get-request (functional) coap-post-request (functional) coap-put-request (functional) opc-ua-acknowledge (functional) opc-ua-activate-session-req (functional) opc-ua-add-nodes-req (functional) opc-ua-add-references-req (functional) opc-ua-browse-next-req (functional) opc-ua-browse-req (functional) opc-ua-call-method-req (functional) opc-ua-call-req (functional) opc-ua-cancel-req (functional) opc-ua-close (functional) opc-ua-close-secure-channel-req (functional) opc-ua-close-session-req (functional) opc-ua-create-session-req (functional) opc-ua-create-subscription-req (functional) opc-ua-delete-nodes-req (functional) opc-ua-delete-references-req (functional) opc-ua-delete-subscriptions-req (functional) opc-ua-error (functional) opc-ua-find-server-req (functional) opc-ua-get-endpoints-req (functional) opc-ua-hello (functional) opc-ua-history-read-req (functional) opc-ua-history-update-req (functional) opc-ua-open (functional) opc-ua-open-secure-channel-req (functional) opc-ua-publish-req (functional) opc-ua-query-first-req (functional) opc-ua-query-next-req (functional) opc-ua-read-req (functional) opc-ua-register-nodes-req (functional) opc-ua-register-servers-req (functional) opc-ua-republish-req (functional) opc-ua-set-monitoring-mode-req (functional) opc-ua-set-publishing-mode-req (functional) opc-ua-set-triggering-req (functional) opc-ua-unregister-node-req (functional) opc-ua-write-req (functional) gtp-base gtp-prime gtp-u gtpv0 gtpv1-c gtpv2-c ss7-map-ggsn-callingparty ss7-map-siwf-callingparty ss7-mapsgsn-callingparty ss7-map-hlr-callingparty ss7-map-vlr-callingparty ss7-map-msc-callingparty ss7-map-eir-callingparty ss7-map-gsmscf-callingparty ss7-map-gmlc-callingparty ss7-map-siwf-callingparty ss7-map-sgsn-callingparty ss7-map-ggsn-callingparty ss7-map-css-callingparty ethercat-base ethercat-device-protocol ethercat-mailbox-data ethercat-process-data ge-srtp-base ge-srtp-change-cpu-privilege (functional) ge-srtp-change-cpu-privilege (functional) ge-srtp-get-control-program (functional) ge-srtp-get-controller-info (functional) ge-srtp-get-fault-table (functional) ge-srtp-get-plc-time (functional) ge-srtp-plc-short-status-req (functional) ge-srtp-program-load (functional) ge-srtp-program-store (functional) ge-srtp-programmer-logon (functional) ge-srtp-read-program-mem (functional) ge-srtp-read-sys-mem (functional) ge-srtp-read-task-mem (functional) ge-srtp-set-control-id (functional) ge-srtp-set-plc (functional) ge-srtp-set-plc-time (functional) ge-srtp-toggle-force-sys-mem (functional) ge-srtp-write-program-blk-mem (functional) ge-srtp-write-sys-mem (functional) ge-srtp-write-task-mem (functional) tristation-base tristation-connect-req (functional) tristation-connect-rsp (functional) tristation-disconnect-req (functional) tristation-get-cp-status-req (functional) tristation-get-cp-status-rsp (functional) tristation-run-program (functional) umas umas-base umas-init-comm umas-plc-reservation-take umas-plc-reservation-release umas-memory-block-read umas-memory-block-write umas-variables-read umas-variables-write umas-coils-registers-read umas-coils-registers-write umas-initialize-upload umas-upload-block umas-initialize-download umas-download-block umas-sd-backup-make umas-sd-backup-restore umas-sd-backup-remove umas-plc-start umas-plc-stop umas-repeat-request umas-monitor-bits-read umas-monitor-bits-write umas-monitor-words-read umas-monitor-words-write umas-io-object-write umas-read-id 





воскресенье, 3 октября 2021 г.

В чем плюс безопасности из облака?

Существует несколько видов облачных сервисов безопасности из облака



  • Облачная защита: WAF, Anti-DDoS, когда атакующий трафик даже не доходит до ресурсов вашей компании, а чистится где-то в облаке;
  • Внешний Security Operation Center (SOC), когда вы можете отправлять события безопасности в сервисную компанию в облаке и она будет выявлять инциденты и оповещать вас;
  • Managed Detection and Response (MDR) - это тот же внешний SOC в задачу которого входит еще и реагировать на найденные инциденты;
  • Облачная защита сотрудников и офисов от угроз, реализованная в облаке в виде внешнего сервиса Secure Access Service Edge (SASE) включающего в себя защиту и собственных облачных ресурсов через Cloud Access Service Broker (CASB), что для многих выглядит как защита все-в-одном работающая облаке в некоторой точке в любой стране, к которой сотрудник или офис подключается по VPN или через прокси-сервер и через этот облачный фильтр потребляем ресурсы Интернет и собственные ресурсы компании;
  • Система хранения и обработки событий в облаке (Data Lake, XDR, SIEM, UEBA) когда вы не готовы хранить свои же события и когда вы не готовы администрировать средства защиты - здесь за размер и доступность хранилища и за работоспособность продуктов ИБ отвечает внешний поставщик - вы просто пользуетесь. В общем Security as a service по модели Software as a service. Сплошной SecaaS.


Первое замечательное свойство всех этих облачных сервисов:
- внешний SOC, SASE, MDR всегда может переварить больше событий, больше очистить трафика, чем куплено. Это даже вписывают в SLA. На собственном SIEM или NGFW эти события или трафик просто будут удалены по причине физической невозможности обработки данного трафика. Вы прекращаете битвы с поставщиками оборудования за то, что вам привезли NGFW не той модели или SIEM или DLP не тянут нагрузки. В облаке автоматически масштабируется нагрузка.
Второе свойство, которое может понравиться:
- это сервис, который уходит в OPEX и можно его поменять и гибко масштабировать.
Пример: Если вчера 1% сотрудников были дома и пользовались имеющимся VPN, а завтра надо чтобы все 100% остались дома и подключились по VPN - вам не надо спешно докупать новых 100 VPN шлюзов - вы просто доплачиваете за подписку!

воскресенье, 19 сентября 2021 г.

Не проходите психологические тесты из рекламы!

В социальных сетях злоумышленники активно используют рекламу для сбора необходимой им информации. Одним из примеров является реклама психологических тестов и астрологических прогнозов. При их заполнении у вас спрашивают огромное число персональных данных, которые потом впоследствии могут использовать против вас: для того, чтобы угадать ваш пароль, который чаще всего состоит из вашего же имени или имени вашей компании, или чтобы восстановить ваш пароль, ведь для этого нужно всего лишь знать ответ на секретный вопрос: девичья фамилия матери или имя первого учители или имя любимой группы. Все эти данные вы сами рассказали злоумышленнику под видом психологического теста? Никто вам уже не поможет, если вы сами сдали всю информацию. Будьте начеку!

воскресенье, 12 сентября 2021 г.

Пароли, которые НЕ должны быть у вас и ваших сотрудников



По результатам утечек паролей выясняется, что большинство сотрудников корпораций не затрудняют себя созданием сложных паролей. Недавнее исследование утекших паролей от компаний - лидеров различных индустрий из Fortune 500 показало, что пароли легко угадать. Посмотрите этот список. Существуют конкретные шаги для каждого сотрудника безопасности, чтобы повысить безопасность своей компании:
  1. У вас в компании есть утилиты класса Password Filters для проверки паролей ваших сотрудников. Используйте их.
  2. Поскольку сложный пароль трудно помнить, то также эффективны менеджеры паролей. В них уже содержится генератор сложных паролей и они умеют подставлять пароль в необходимые поля. Во всех современных браузерах встроены менеджеры паролей.
  3. Лучшей защитой от утечек паролей является двухфакторная аутентификация, поскольку для получения доступа, вы должны знать не только пароль, который вы знаете, но и подтвердить этот доступ через устройство, которое у вас есть: например токен yubikey или приложение Okta в смартфоне. 

Теперь внимательно посмотрите эти пароли. Не узнали свой? ) Хорошо!


















суббота, 28 августа 2021 г.

Отличие расшифрования от дешифрования

Существует разница в терминах расшифрование и дешифрование. Не ошибайтесь, если хотите профессионально выглядеть.



Расшифрование - процесс преобразования зашифрованного сообщения в открытый текст, когда вы знаете ключ шифрования.
Дешифрование - это "взлом" шифра, попытка "вскрытия" сообщения, когда вы НЕ знаете ключ шифрования.

среда, 11 августа 2021 г.

Значение RPO и RTO объединяет бизнес и CISO.

На одной из конференций сегодня были фразы про обвинения собственного CISO, когда он запугивает бизнес и приносит какие-то непонятные никому риски.

Чтобы риски стали понятны в курсе CISSP есть конкретные предложения: обсудить с бизнесом RPO и RTO. И когда бизнес выберет сам какие значения его устраивают - от этого и строить защиту.



RPO (recovery point objective) это максимально допустимый промежуток времени, внутри которого могут быть потеряны данные в результате инцидента. Допустим для интернет магазина RPO 1 час. Если все заказы в результате атаки криптолокера были потеряны и вы можете восстановить лишь базу заказов в их вчерашнее состояние (потеря данных за 24 часа), то вы не попадаете в требуемую RPO и вам нужно что-то изменить в компании, чтобы RPO стал час. Это значит что нужно выделение новых средств, внедрение новых процессов и даже наличие новых людей. Скажите бизнесу цифру вложений по переходу RPO с 24 до 1 бизнесу и он сам решит: может ему проще забить и пусть RPO будет 24 часа. Или он вообще скажет - а давай-ка сделаем RPO - ноль! Это и есть бизнес-ориентированный подход. 

То же самое с RTO. RTO (recovery time objective) это промежуток времени, в течение которого система может оставаться недоступной в случае аварии. Например, узнайте может ли ваш бизнес жить без почты час, 24 часа или неделю? ) 

Я не пишу о чем-то новом - это стандартные вещи из курса по BCP/DRP и в продолжение стоит прочитать, например, эту статью.

среда, 21 июля 2021 г.

Четыре способа защиты от потери денег на поддельном сайте

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

Самое страшное, что эти сайты направлены и на детей. Например, когда я ставил своему сыну minecraft, то первые 6 ссылок в google были на поддельные сайты с фейковым minecraft со встроенными троянами. Хорошо, что ставил я, а не он сам. Слава богу google борется с такими поисковыми выдачами, но не всегда успешно - много злоумышленников проникает через рекламу, которая показывается первой.

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

Таких сайтов очень много! В рекламе facebook, google полно мошенников, которые делают якобы сайты по продаже очень недорого, но товар вы никогда не получите. Вот еще один пример: реклама в facebook уцененных товаров от Amazon. Никого не насторожил даже факт, что продажа идет с какого-то странного домена. И 14 человек даже поделились, распространяя этот фейк. 

Какие четыре метода защиты есть для домашних пользователей.

На самом деле самые защищенные люди - корпоративные пользователи, потому что у них есть возможность пользоваться всеми последними технологиями в платных продуктах: Machine Learning для URL и DNS, специальные продукты для защиты электронной почты от фишинговых писем и спама, программы обучения с примерами, постоянные тренировки с тестовой рассылкой похожих писем. А домашним пользователям сложнее - обычно дома нет возможности поставить специализированное устройство защиты. Поэтому поговорим о том, что можно сделать на отдельном домашнем компьютере и какие средства защиты есть в самом Интернет, к которым вы можете подключиться.

1. Plugin в браузер. 

Это самое простое что можно сделать. Сейчас существует множество бесплатных плагинов, которые проверяют ваши письма, когда вы входите в веб-почту, проверяют ссылки URL, когда вы их вводите в адресной строке. И соответственно блокируют или оповещают, что вы сейчас увидели поддельный сайт.

Как искать такие плагины: наберите в google фразу anti phishing plugin. Самые популярные появятся в поиске.


Например, найденный первым сервис Cloudphish работает с электронными письмами, то есть при открытии веб-почты он будет проверять URL в ваших письмах.
Второй найденный в поиске сервис работает с URL в адресной строке. Допустим для вредоносного сайта incite-shops.site из вышеупомянутой фейковой рекламы facebook этот плагин говорит, что это новый домен, и это важный признак: никогда не покупайте на только что созданных доменах:


Поставьте себе такой plugin - это бесплатно!
С плагинами надо быть осторожными, чтобы не поставить себе вредоносный плагин, под видом защитного плагина. Была история, когда очень популярный плагин, который показывал погоду, перехватывал заходы на интернет-магазины и переводил своем разработчику кэшбек, который сейчас есть на многих сайтах.

2. DNS фильтр

Перед подключением к каждому веб-сайту ваш браузер делает DNS запрос. Он ищет какой IP адрес сейчас у данного веб-сайта. Существуют публичные и бесплатные сервисы, которые позволяют фильтровать ваши DNS запросы и блокировать известные уже вредоносные адреса.

Как найти такие фильтры. Не буду заставлять вас воспользовать google ) Перечислю )

1. DNS сервис google умеет фильтровать вредоносные адреса. Адрес Google DNS серверов: 8.8.8.8 и  8.8.4.4. Он также может отвечать на запросы DNS поверх TLS и HTTPS (сокращенно DoT и DoH для тех кто знает). Описание тут developers.google.com/speed/public-dns


2.  СloudShare DNS c запоминающимся адресом 1.1.1.1 тоже блокирует вредоносные и фишинговые сайты. Также он позиционирует себя как самый быстрый DNS. Описание тут 1.1.1.1/family/
3. Яндекc DNS предлагает три режима работы бесплатного сервиса: базовый - обычный DNS сервер, безопасный с адресами 77.88.8.88 и 77.88.8.2 - блокирует вредоносные и фишинговые сайты, семейный с адресами 77.88.8.7 и 77.88.8.3 - блокирует еще и порнографию.  Описание тут dns.yandex.ru
Думаю этих трех сервисов уже достаточно, чтобы начать ими пользоваться.

Как включить DNS фильтр

Это как раз просто.
- Либо прямо на совсем компьютере вы меняете адрес DNS сервера своего провайдера в настройках своей сетевой карты в настройках TCP/IP 4 версии. Если вдруг у вас включена 6 версия TCP/IP, то адреса тоже есть у этих бесплатных сервисов. Вот, например, как это сделать в Windows https://remontka.pro/change-dns-server-windows/
- Либо вы прописываете этот адрес в своем домашнем роутере. И это лучше, потому что вы защищаете таким образом все устройства вашей сети, поскольку они обычно пользуются DNS через ваш роутер. И часть роутеров домашних даже сразу предлагает включить такие сервисы, включая даже платные варианты SkyDNS или OpenDNS.

Включите у себя DNS фильтр. Я бы рекомендовал Яндекс DNS, поскольку он скорее всего больше плохих адресов именно русского интернета знает. И его адрес 77.88.8.88.

3. URL фильтрация

Существуют продукты, которые сразу распределяют все URL интернет по категориям: фишинг, вредоносный, новости, порно, оружие, наркотики, рекламные баннеры, спорт, рыбалка, криптомайнеры и так далее. Это позволяет вам запретить ненужные для вас категории. Вряд ли вы хотите заходить на сайты, где вам в браузер присылают javascript, который использует ресурсы вашего компьютера для обсчета криптовалюты для неизвестного вам человека. Заблокируйте это! 

И тут я бы рекомендовал зайти на сайт своего провайдера. Обычно ваш провайдер предоставляет такой сервис. Вы можете включить такой сервис и блокировать как минимум вредоносные и фишинговые сайты. Такая услуга обычно называется "Чистый Интернет" 

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

4. Антивирус

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

На самом деле антивирусы не идеальны и они пропускают эксплойты и атаки стандартными утилитами, которые бывают и для операционных систем Windows, MacOS, Linux и для мобильных устройств под Андроид и iOS. Поэтому защита полная опять же у корпоративных пользователей, которые могут пользоваться продуктами класса XDR, внутри которых включен и поведенческий анализ и песочницы и защита от эксплойты. Но это отдельный разговор.



суббота, 10 июля 2021 г.

Измерение производительности NGFW в PPS или TPS?


Иногда меня озадачивают таким вопросом: сколько PPS выдает данная модель NGFW. Дело в том, что packet per second - это метрика для измерения скорости роутеров, поскольку они не занимаются анализом трафика. В случае с анализаторами трафика нужно переходить на следующий уровень абстракции: измерять в транзакциях в секунду (TPS). И тогда нужно задавать другой вопрос: "Сколько транзакций HTTP длиной 64 килобайта в секунду может проанализировать ваш NGFW". 

 Да, я не спорю, что измерять можно в PPS, и еще потом сравнивать NGFW по PPS, но, на мой взгляд, это сравни обсуждению и сравнению количества еды в атомах. Сколько атомов вы съедаете за день? ) А ведь атомы воды или атомы из колбасы будут по-разному восприняты вашим организмом. Можно ли сказать, что человек употребивший 2 миллиарда молекул более сытно поел, чем другой человек, который употребил 1 миллиард молекул? Нет ) Ведь у первого могла быть вода, а у другого стейк ) Точно также и пакет HTTP/1 транзакции или HTTP/2 или SMTP или SMB транзакции по-разному обрабатывается внутри NGFW. И сбор в единое целое файла из разных пакетов внутри HTTP или SMB или HTTPS займет разное время, поэтому важно не число пакетов или фреймов, а что в них и насколько сложно эти пакеты было собрать в один файл для анализа.

Еще раз подчеркну две важных вещи в вопросе про производительность NGFW.

1) Длина транзакции (например, 64Кб) - очень важный параметр, поскольку длина транзакции приложений очень сильно влияет на их максимальное число и на общую пропускную способность устройства. Для примера,  Cisco Firepower NGFW измеряет свои устройства на транзакциях HTTP 256Кб, (в datasheet это описано фразой 1024B, 37 слайд тут)  Остальные производители стандартно измеряют производительность на HTTP транзакциях длиной 64Kб или на миксе приложений, например, Check Point, Fortinet или Palo Alto Networks. Соответственно у Cisco пропускная способность при том же числе транзакций на 256Кб транзакциях получается в 4 раза быстрее чем у других на 64К.

2) Если вы измеряете пропускную способность на солянке из разных приложений (в datasheet это помечается как appmix), то здесь еще сложнее: ведь приложения SSL без расшифрования ускоряют анализ, потому что там нечего анализировать - там все зашифровано, а приложение HTTP замедляет анализ, потому что там много файлов разных типов от EXE до картинок, также скрипты, CSS, обфускация, URL и другие объекты которые нужно проверять разными движками безопасности. Поэтому когда вендор говорит, что он измерял на миксе, то спросите что за приложения или протоколы были в этом миксе. И естественно какой у них был размер транзакций. И если измерять скорость Palo Alto Networks на миксе приложений придуманной в лаборатории Check Point, то будет быстрее или медленнее, а если наоборот? 

Про то какой у кого микс протоколов проведу исследование в следующей статье.. 

понедельник, 28 июня 2021 г.

mtr (my traceroute) - новая жизнь ping и traceroute

Мы настолько привыкли к стандартным утилитам ping и traceroute, что уже не пользуемся более удобными их версиями. 

tracert и traceroute в Windows и Linux по-разному работают. В Windows отправляются ICMP пакеты с разными TTL, а в Linux и роутерах - UDP пакеты. Это дает возможность для UDP пакетов указывать даже порт. Также у traceroute есть опция сменить UDP на TCP SYN и там тоже указать порт. 

Есть новая утилита mtr, которая смешивает функциональность ping и traceroute. Ее нужно будет дополнительно установить, например, на MacOS нужно набрать 

brew install mtr


И затем после успешной инсталляции в моем случае еще нужно было скопировать утилиту mtr в путь доступный по PATH


cp /usr/local/Cellar/mtr/0.94/sbin/mtr /usr/local/sbin/


Ну и получается очень интересно. Вот так выглядит запуск


sudo mtr rbc.ru


Видно, что можно колонки поменять местами и даже добавить новые, кнопкой O.

Я включил все возможные, включая джиттер:


Есть сейчас современные  корпоративные продукты, направленные на повышение продуктивности сотрудников компании, под названием Digital Experience Monitoring (DEM). DEM постоянно на вашем ноутбуке мониторят нужные вам для работы сервисы и показывают вам и вашей техподдержке где в течение суток проблемы: на твоей WiFi точке, у провайдера или само приложение заглючило и твоя техподдержка не ломает голову где перестало работать, используя старые добрые ping и traceroute.

Вот, например, схема работы сервиса DEM во время контроля доступности сервиса SASE


Подробнее в следующих постах.