Уязвимостите от тип извън обхвата (out-of-band) възникват, когато дадено приложение тихо се свързва с външна система по време на атака. Улавянето на този трафик изисква инфраструктура, която много изследователи изграждат сами. Нов проект с отворен код от Microsoft предоставя тази инфраструктура в пакет, предназначен да работи в частна изолирана среда.

Dusseldorf е платформа за извъндиапазонно тестване на сигурността на приложения. Тя улавя входящия мрежов трафик по няколко протокола и позволява на оператора да създава автоматизирани отговори за процеси на валидиране. Името идва от навика на Microsoft да използва имена на места за своите проекти. Германският град Дюселдорф (Düsseldorf) съдържа буквите SSRF, а умлаутът е премахнат за ежедневна употреба.

Инструментът е насочен към набор от дефекти, които оставят малко следи в самото приложение. Те включват фалшифициране на заявки от страна на сървъра (SSRF), междусайтови скриптове (XSS), инжектиране на шаблони от страна на сървъра (SSTI), външни XML обекти (XXE) и свързани класове уязвимости. Откриването зависи от наблюдението на поведението на приложението в рамките на мрежовия периметър, където именно се позиционира Dusseldorf.

След внедряване платформата стартира DNS, HTTP и HTTPS слушатели, свързани с домейн от типа *.yourdomain.net. Всяка заявка към този домейн и неговите поддомейни попада в лога на уловения трафик. Проектът нарича тези поддомейни „зони“, така че foo.yourdomain.net и foo.bar.yourdomain.net се регистрират като отделни записи. Защитен графичен интерфейс и съответстващ REST API предоставят на оператора преглед на уловените заявки и техните отговори, както и контроли за персонализирани отговори и филтри.

Основната идея на дизайна е частното внедряване. Операторът контролира интеграцията на самоличността, инфраструктурния отпечатък, използваните домейни и политиките за изпълнение, които управляват обработката на заявки. Правилата и промените на ниво услуга определят как платформата отговаря на входящия трафик.

Стартирането на Dusseldorf изисква машина в интернет с един или повече публични IPv4 адреси и домейн, чийто запис за сървър за имена (name server record) сочи към тези адреси. Кодовата база е създадена за Azure и се разделя на два пътя за внедряване:

  • Локален път – обхваща лабораторни среди и разработване от програмисти, включващ генериране на идентификационни данни, настройка на сертификати и Docker Compose процеси.
  • Azure път – управлява облачното обезпечаване и инициализацията на бази данни чрез Helm.

Списъкът с предварителни изисквания отразява този двоен подход. Инсталационната програма се нуждае от Docker, Docker Compose, Azure CLI, OpenSSL за TLS сертификати, Python 3 с pip, инструмента jq и Helm. След внедряването операторите работят през интерфейса и API, като успоредно с тях е документиран и път за команден ред.

Dusseldorf е достъпен безплатно в GitHub.