Поделиться через


Рекомендации по безопасности для драйверов минипорта Offload-Capable

Чтобы повысить производительность, транспорт Microsoft TCP/IP может перенести задачи или подключения на сетевой адаптер с соответствующими возможностями разгрузки TCP/IP. Аппаратное обеспечение сетевого адаптера обрабатывает разгруженные задачи сетевой коммуникации TCP/IP. Драйверы минипорта объявляют различные возможности разгрузки оборудования сетевого адаптера в операционную систему и настраивают оборудование сетевого адаптера. Оборудование сетевого адаптера выполняет заявленные задачи разгрузки для исходящих и входящих пакетов в обработчиках передачи и получения. Оборудование выполняет такие операции, как вычисление контрольной суммы IP-заголовка, и т. д.

Чтобы обеспечить безопасную среду, минипорт-драйвер должен объявлять только те возможности разгрузки, которые может предоставлять аппаратное обеспечение сетевого адаптера, и никаких других. Минипорт-драйвер должен настроить оборудование для разгрузки объявленных задач на тех пакетах, которые соответствуют заявленным критериям. В пути отправки операционная система не требует, чтобы драйвер выгрузил задачу, которую драйвер минипорта не объявлял. При приёме данных минипорт-драйвер и сетевой адаптер не должны выполнять задачи, не относящиеся к аппаратным возможностям сетевого адаптера, заявленным минипорт-драйвером.

Если мини-драйвер или сетевой адаптер не может выполнить задачу разгрузки в полученном пакете, минипорт-драйвер должен указать такой пакет в стеке драйверов без каких-либо действий. В этом случае верхние драйверы обрабатывают пакет как обычный пакет.

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

В следующих разделах содержатся дополнительные сведения о атаках безопасности и о том, как избежать проблем безопасности в драйверах NDIS:

Уязвимость для атак на безопасность в драйверах NDIS

Ухудшение производительности и атаки типа "отказ в обслуживании" в драйверах NDIS

добавленные затраты на тестирование уязвимых драйверов NDIS

Контрольный список безопасности драйверов NDIS