Анализ безопасности потребительских IoT-роутеров для ВКР: от цепочки поставок до Zero Trust

В марте 2026 года FCC США внесла зарубежные потребительские Wi-Fi-роутеры в так называемый covered list — реестр оборудования, закупка и авторизация которого ограничиваются из-за рисков национальной безопасности. При этом регулятор отдельно подчёркивает: уже купленные роутеры никто не отбирает, и ранее авторизованные модели по-прежнему можно приобрести. Для выпускника ИТ-направления это не «новость про политику», а готовый кейс: как строить модель угроз для устройства, у которого вы не контролируете ни прошивку, ни цепочку поставок, ни обновления. Именно из таких сюжетов получаются защищаемые ВКР — с воспроизводимой методикой, метриками и понятной практической ценностью.

Частые вопросы студентов по теме

Обязательно ли писать код, если тема про безопасность сетей?

Нет, но нужен измеримый артефакт. Это может быть скрипт инвентаризации прошивок, парсер SBOM, конфигурация сканера уязвимостей или матрица трассировки требований. Комиссия ценит воспроизводимость: если проверяющий возьмёт ваш репозиторий и повторит эксперимент — аргумент работает.

Где брать данные об уязвимостях, если нет доступа к промышленному стенду?

Открытые источники: NVD (CVE + CVSS), базы вендоров, отчёты OWASP IoT Top 10, репозитории прошивок (например, OpenWrt). Плюс собственный стенд из 3–5 роутеров разных лет выпуска. Для ВКР на заказ чаще всего именно стенд оказывается слабым местом — заранее проговорите с научруком, сколько устройств реально нужно.

Как считать эффективность системы защиты, чтобы цифры не вызвали вопросов?

Привязывайте метрику к базовой линии. Например: доля устройств с EOL-прошивкой до и после внедрения процедуры обновления; среднее время до патча (MTTP) в днях; покрытие инвентаря SBOM в процентах. Обязательна формула, единица измерения и способ сбора — иначе на защите спросят «откуда взяли 30%».

Нужно ли оформлять схемы сети по ГОСТ, если работа больше «инженерная»?

Да, если тема затрагивает проектирование. Логическая и физическая топология — по ГОСТ 34.601 (стадии проектирования) и с учётом 19.701 для схем. Диаграммы классов, развёртывания и последовательностей удобнее давать в UML, а DFD — как схему потоков данных с подписями. Главное — единая нотация по всей работе.

Три темы ВКР, которые можно собрать из кейса FCC

Как встроить материал статьи в главы работы

Глава 1: анализ и постановка задачи

Сюжет о покрытом списке FCC — это не «пример из новостей», а обоснование проблемы: технические решения перестают быть чисто техническими, когда появляются регуляторные ограничения и вопросы доверия к поставщику. В первой главе уместно дать обзор стандартов и практик: ISO/IEC 27001 (управление рисками ИБ), ISO/IEC 25010 (характеристики качества), OWASP IoT Top 10. Здесь же строится модель угроз. Простой DFD-набросок:

Внешние угрозы
    |
    v
[Интернет] --(WAN)--> [Роутер] --(LAN/Wi-Fi)--> [Клиенты IoT]
                          |
                          +--(Прошивка вендора, обновления)
                          +--(Цепочка поставок, прошивка OEM)
                          +--(Облачный сервис управления)

Для модели угроз используйте STRIDE: спуфинг, подмена данных, отказ в обслуживании, повышение привилегий. Каждую угрозу свяжите с конкретным компонентом и контролем — это снимет половину вопросов на защите.

Глава 2: проектирование и реализация

Здесь появляются артефакты: диаграмма развёртывания (UML deployment), схема сети по ГОСТ, конфигурации и скрипты. Простейший инвентаризатор прошивок, который сопоставляет версии с NVD и формирует отчёт, выглядит так:

# firmware_audit.py — сопоставление прошивок с NVD по CPE
import json, requests
from datetime import datetime

NVD = "https://services.nvd.nist.gov/rest/json/cves/2.0"

def lookup(cpe: str, version: str) -> list:
    r = requests.get(NVD, params={
        "cpeName": f"{cpe}:{version}",
        "resultsPerPage": 50
    }, timeout=20)
    r.raise_for_status()
    out = []
    for item in r.json().get("vulnerabilities", []):
        cve = item["cve"]
        metrics = cve.get("metrics", {})
        cvss = next(iter(metrics.values()), [{}])[0].get(
            "cvssData", {}).get("baseScore", "n/a")
        out.append({"id": cve["id"], "cvss": cvss,
                    "published": cve["published"][:10]})
    return out

if __name__ == "__main__":
    report = {"generated": datetime.utcnow().isoformat(),
              "devices": []}
    with open("inventory.json", encoding="utf-8") as f:
        for dev in json.load(f):
            report["devices"].append({
                "model": dev["model"],
                "firmware": dev["firmware"],
                "cves": lookup(dev["cpe"], dev["firmware"])
            })
    print(json.dumps(report, ensure_ascii=False, indent=2))

Дополнительно приложите SBOM в формате CycloneDX или SPDX — это подтверждает, что вы умеете работать с составом программного обеспечения, а не только «сканировать порты». Конфигурацию самого роутера удобно описывать чек-листом в YAML:

# router_hardening.yml
wifi:
  security: WPA3-Personal
  wps: disabled
  guest_network: isolated
admin:
  default_credentials_changed: true
  remote_management: disabled
  firmware_auto_update: true
services:
  upnp: disabled
  telnet: disabled
  ssh:
    enabled: true
    password_auth: false
logging:
  syslog_forward: "192.168.10.20:514"

Глава 3: тестирование и оценка эффективности

Минимальный набор метрик, который комиссия примет без споров:

МетрикаФормула / способ сбораЦелевое значение
Доля устройств с актуальной прошивкойОбновлённые / всего × 100%≥ 90%
MTTP (среднее время до патча)Σ(дата патча − дата релиза CVE) / N≤ 30 дней
Покрытие SBOMУстройства с SBOM / всего × 100%100%
Средний CVSS выявленных CVEΣ CVSS / Nснижение год к году
Открытые неиспользуемые порты на устройствоПо результатам сканирования0

Для сбора первичных данных подойдёт связка nmap и jq — этого достаточно для дипломного эксперимента:

nmap -sV -Pn -p- 192.168.10.0/24 -oX scan.xml
xmlstarlet sel -t -m "//port[state/@state='open']" \
  -v "concat(../address/@addr, ':', @portid, '/', @protocol)" -n scan.xml

Чему вы научитесь в процессе

Что проверить перед сдачей
  • Все CVE и версии прошивок имеют ссылку на первоисточник (NVD, вендор).
  • Задачи во введении дословно совпадают с выводами по главам.
  • Каждая схема подписана, пронумерована и упомянута в тексте.
  • Метрики имеют формулу, единицу измерения и способ получения.
  • Оформление таблиц, рисунков и приложений соответствует ГОСТ 7.32 и требованиям кафедры.
  • Отчёт о проверке на заимствования приложен, процент уникальности в норме.
  • В приложениях — SBOM, конфигурации, сырые логи экспериментов.
Типичные ошибки

1. Обзор вместо методики. Студент пересказывает новости про covered list и зарубежные роутеры, но не предлагает собственного способа оценки. Как избежать: сформулируйте методику как последовательность шагов с входами и выходами — тогда работа перестаёт быть рефератом.

2. Сканирование без модели угроз. nmap-выгрузка без STRIDE не отвечает на вопрос «что именно мы защищаем». Сначала угрозы и активы, потом инструменты.

3. Метрика без базовой линии. «Повысили безопасность на 40%» без исходных замеров — гарантированный вопрос на защите. Фиксируйте состояние «до» и «после» на одном и том же стенде.

Если тема уже выбрана, но непонятно, с чего начать — можно взять 120 часов работы с научруком и получить бесплатную консультацию по структуре и метрикам. Помогаем и с реализацией стенда, и с тем, как написать ВКР так, чтобы каждая глава опиралась на измеримый результат. Темы с сетевой безопасностью и IoT ведём давно, включая сложные случаи с ВКР на заказ по требованиям конкретной кафедры.

Материал подготовлен экспертами компании [Название сайта]. Мы помогаем студентам с 2010 года. Если вам нужна помощь в разработке темы или оформлении работы, наши специалисты готовы подсказать.

Последнее обновление: 2026-09-21

Источник: The United States router ban, explained (опубликовано 2026-03-25)