19 July 2016

Как работают процессоры FortiASIC

Блог компании МУК corporate blogInformation Security
Являясь мировым лидером в области высокоэффективных решений по обеспечению информационной безопасности, в вопросах производительности компания Fortinet делает ставку на операционную систему FortiOS в связке с FortiASIC, которые представляют собой специализированный набор микросхем, процессоры ускорения анализа контента и обработки сетевого трафика собственной разработки. В этой статье будет подробно расписано работа именно этих процессоров. Мы расскажем, как они ускоряют обработку/анализ пакетов.





FortiASIC

Большинство моделей FortiGate имеют специализированное аппаратное ускорение FortiASIC (Application Specific Integrated Circuit) для обработки трафика и снижения задержки, что позволяет разгрузить основной процессор (CPU).

— Network processors (NPs) – для обработки сетевого трафика
— Content processors (CPs) – для функций безопасности
— System-on-a-Chip Processor (SOC2) – для совместной работы функций безопасности и обработки трафика

Fortinet по производительности разделяет свою линейку FortiGate на три категории:

— Entry Level (Desktop)
— Mid-Range
— High-End

В каждой из категории используются разные CPU и FortiASIC, а также различное их количество.

Network processors

Сетевые процессоры NP работают на уровне интерфейса для ускорения трафика за счет разгрузки трафика от основного процессора. Современные модели содержат NP4 и NP6. Старые модели FortiGate включают NP1 (также известные как FortiAccel или FA2) и NP2.



На данный момент процессоры NP6 являются последней разработкой и могут разгрузить следующий трафик и услуги:

— IPv4 и IPv6-трафик, NAT64 и NAT46 трафик
— Link aggregation (LAG) (IEEE 802.3ad) трафик
— TCP, UDP, ICMP и SCTP
— IPsec VPN трафик, а также IPsec шифрования/дешифрования (включая SHA2-256 и SHA 2-512)
— Незашифрованный IPsec трафик
— IPS на основе аномалий, разгрузка контрольной суммы и фрагментации пакетов
— SIT и IPv6 Tunnelling сессии
— Multicast трафик (включая Multicast внутри IPsec)
— CAPWAP трафик
— Шейпинг трафик и формирование очереди по приоритету
— Syn проксирование
— Трафик проходящий через Inter-VDOM линк
— IPS
— Application Control
— CASI
— Flow-based antivirus
— Flow-based web filtering

NP не поддерживает разгрузку модифицированного контента на уровне приложений, это означает, что сессии не разгружаются, если в политике включены следующие функции безопасности:

— proxy-based virus scanning
— proxy-based web filtering
— DNS filtering
— DLP
— Anti-Spam
— VoIP
— ICAP
— Web Application Firewall
— Proxy options

Content processors

Контент-процессоры CP работают на системном уровне с задачами, определяемыми CPU. Новые модели FortiGate (2000E, 2500E, 6040E) содержат CP9. Старые версии – CP4, CP5, CP6, а в действующих моделях FortiGate используются CP8.

CP8 может разгрузить следующий задачи:

— Flow-based inspection IPS, Application Control, Cloud Access Security Inspection (CASI), Web Filtering, DLP, и Antivirus
— High performance VPN bulk data engine
— IPsec and SSL/TLS protocol processor
— DES/3DES/AES in accordance with FIPS46-3/FIPS81/FIPS197
— ARC4 in compliance with RC4
— MD5/SHA-1/SHA256 with RFC1321 and FIPS180
— HMAC in accordance with RFC2104/2403/2404 and FIPS198
— Key Exchange Processor support high performance IKE and RSA computation
— Public key exponentiation engine with hardware CRT support
— Primarily checking for RSA key generation
— Handshake accelerator with automatic key material generation
— Random Number generator compliance with ANSI X9.31
— Sub public key engine (PKCE) to support up to 4096 bit operation directly
— Message authentication module offers high performance cryptographic engine for calculating SHA256/SHA1/MD5 of data up to 4G bytes (used by many applications)
— PCI express Gen 2 four lanes interface
— Cascade Interface for chip expansion

System-on-a-Chip Processor

Процессоры SOC используются в младших моделях категории Entry Level (Desktop). Целью SoC-архитектуры является объединение нескольких процессоров в одном чипе, упрощая общую конструкцию оборудования. SOC объединяет в себе CP, NP, RISC-based CPU процессоры.

На данный момент актуальным является SOC версии 2, который разгружает трафик, описанный в NP и CP разделе.


Архитектура SOC

Offloading

Процесс разгрузки сессии происходит в несколько этапов. Первый пакет каждой новой сессии всегда поступает на CPU. Если NP поддерживает запрашиваемые функции безопасности, которые необходимо выполнить, CPU отсылает инструкцию для NP, что он может обработать эту сессию. Все последующие пакеты для «fast path» сессии переадресовываются в NP. Наконец, после последнего пакета TCP “FIN” (finish) или “RST” (reset) NP возвращает сессию к CPU для закрытия сессии. В противном случае, если NP не поддерживает запрашиваемые функции безопасности, которые требуются обработать, все пакеты в этой сессии должен отработать CPU.


Путь пакета в разгруженой сессии


Путь первого пакета в разгруженной сессии


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

Модели FortiGate уровня High-End с двумя и более NP6 физически соединены вместе через Integrated Switch Fabric (ISF), что позволяет осуществлять связь между всеми интерфейсами и процессорами NP6, минуя центральный процессор. Таким образом разгружается трафик, даже если входной и выходной порт принадлежит не одному NP процессору.


Integrated Switch Fabric

NTurbo-ускорение

Функционал ускорения NTurbo позволяет разгрузить UTM/NGFW-сессии, которые проходят через NP процессор.

Благодаря NTurbo создается специальный «канал передачи данных» для перенаправления трафика от NP к IPS движку и обратно. Шаги разгрузки:

1.NP принимает пакет и выполняет требуемые действия;
1.1Если пакет зашифрован, пакет передается CP процессору;
1.2Производиться расшифровка при помощи CP;
1.3CP передает данные NP процессору;
2.Для flow-based UTM/NGFW инспекции NP создает канал передачи данных с IPS-движком (отрабатывается на CPU) и предает ему данные;
3.IPS-движок передает задачу инспекции данных на CP для его ускорения;
4.CP возвращает данные IPS движку;
5.IPS-движок возвращает данные NP процессору;
6.Если данные были расшифрован, они передаются CP для зашифровки;
7.Производиться зашифровка при помощи CP;
8.CP передает данные NP процессору;
9.NP процессор передает пакет CPU.

NTurbo поддерживают NP4 и NP6.


NTurbo сессия с IPSA разгрузкой

IPSA ускорение

Технология IPSA разгружает расширений «pattern matching» для Flow-based UTM/NGFW проверки, технология доступна в NTurbo и стандартных сессий брандмауэра. IPSA поддерживают CP7, CP8 и CP9.

IPsec Encryption/Decryption

Если туннель IPsec использует алгоритмы шифрования и хэширования, поддерживаемые сетевым процессором NP, то обработка пользовательских данных протокола IPsec может быть выгружена для повышения производительности. В этом случаи NP будет только расшифровывать трафик, а CP зашифровывать.


IPsec Encryption/Decryption

Ускоренная Flow-based и Proxy-based инспекция с CP

Flow-based UTM/NGFW инспекция выявляет и блокирует угрозы безопасности в режиме реального времени путем выборки пакетов в сеансе, используя архитектуру single-pass, которая включает в себя Direct Filter Approach (DFA) pattern matching для выявления возможных атак или угроз.

Перед проверкой может быть применен движок IPS, используя ряд декодеров для определения соответствующих модулей безопасности, которые будут применяться в зависимости от протокола пакета и параметров политики. Кроме того, SSL-пакеты также будут расшифрованы. Дешифрования SSL разгружаются и ускоряются процессорами CP8 или CP9.

Применение модулей безопасности (IPS, Application Control, CASI, flow-based Web Filtering, flow-based DLP filtering) происходит одновременно за один подход и ускоряется процессорами CP8 и CP9. Сигнатуры CASI применяются в части Application Сontrol проверки. Flow-based Antivirus кеширует файлы во время декодирования протокола, после чего сканирует их. Если это был SSL-пакет, в конце проверки он шифруется и соответственно это процесс ускоряют процессоры CP8 и CP9.


Этапы Flow-based инспекции

Proxy-based UTM/NGFW инспекция извлекает и кеширует файлы для дальнейшей проверки.

Изначально пакеты попадают в IPS-движок и проходят flow-based инспекцию функциями безопасности, которые работают только в этом режиме (single-pass IPS, Application Control и CASI) и соответственно трафик ускоряется при помощи CP8 и CP9. После этого пакеты попадают на Proxy-server FortiOS для проверки функция безопасности в режиме proxy-based. Сначала прокси определяет SSL-трафик. SSL-пакеты будут расшифрованы с помощью CP8 или CP9 и снова отправлены в IPS-движок для повторной проверки flow-based функциями безопасности (single-pass IPS, Application Control и CASI) уже расшифрованного трафика. Дальше трафик попадает в Proxy-server, где применяться proxy-based функции безопасности. Инспекция проходит в следующем порядке:

• VoIP inspection
• DLP
• AntiSpam
• Web Filtering
• Antivirus
• ICAP

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


Этапы Proxy-based инспекции
Tags:процессорыFortiASICFortiOSбезопасность
Hubs: Блог компании МУК corporate blog Information Security
+4
4k 18
Comments 2