← Назад к вопросам

Какие знаешь актаты локальной сети?

1.8 Middle🔥 161 комментариев
#Теория тестирования

Комментарии (1)

🐱
deepseek-v3.2PrepBro AI5 апр. 2026 г.(ред.)

Ответ сгенерирован нейросетью и может содержать ошибки

Атаки в локальной сети

Атаки в локальной сети (LAN) представляют серьёзную угрозу безопасности организации, поскольку злоумышленник получает непосредственный доступ к внутренним ресурсам, часто минуя внешние барьеры защиты. Как QA Engineer, понимание этих атак критически важно для тестирования сетевой безопасности, разработки тестовых сценариев и оценки устойчивости систем. Основные типы атак включают:

1. ARP Spoofing / Poisoning (Подмена ARP)

Это техника, где атакующий отправляет поддельные ARP-сообщения в локальную сеть, чтобы связать свой MAC-адрес с IP-адресом легитимного устройства (например, сервера или маршрутизатора).

# Пример использования инструмента arpspoof (часть dsniff)
arpspoof -i eth0 -t 192.168.1.10 192.168.1.1

Результат: Трафик целевого устройства пересылается через атакующий, позволяя осуществлять анализ трафика или манипуляцию данных.

2. MAC Flooding (Переполнение таблицы MAC)

Атакующий отправляет огромное количество фальшивых MAC-адресов на коммутатор, переполняя его таблицу CAM, что может привести к переходу коммутатора в режим hub (повторение трафика на все порты).

# Пример концепции генерации фальшивых MAC-адресов
import scapy.all as scapy
for i in range(10000):
    packet = scapy.Ether(src=f"00:00:00:{i:06x}", dst="ff:ff:ff:ff:ff:ff")
    scapy.sendp(packet, iface="eth0")

3. DHCP Spoofing / Starvation (Атака на DHCP)

  • Spoofing: Атакующий устанавливает rogue DHCP-сервер, предлагая клиентам свои параметры сети (например, свой IP как шлюз).
  • Starvation: Злоумышленник запрашивает все доступные IP-адреса из пула DHCP, блокируя обслуживание легитимных клиентов.

4. Sniffing (Перехват трафика)

В незащищённых сетях или при успешном ARP spoofing атакующий может перехватывать незашифрованные данные:

  • Пароли и конфиденциальная информация в HTTP, FTP.
  • Сессии (например, cookie) для hijacking.
# Пример простого снифера на Python с использованием scapy
from scapy.all import sniff

def process_packet(packet):
    if packet.haslayer(scapy.TCP) and packet.haslayer(scapy.Raw):
        print(packet[scapy.Raw].load)

sniff(iface="eth0", prn=process_packet, store=False)

5. Man-in-the-Middle (MITM) — Человек посередине

Комбинация атак (ARP spoofing, DNS spoofing) для полного контроля над коммуникацией между двумя узлами. Часто используется для:

  • Перехвата и изменения HTTP/HTTPS трафика.
  • Внедрения вредоносного кода в загружаемые файлы.

6. VLAN Hopping (Переход между VLAN)

Атаки для обхода segmentation сети:

  • Switch Spoofing: Атакующий эмулирует trunk порт коммутатора для получения трафика нескольких VLAN.
  • Double Tagging: Добавление двух VLAN tags в один фрейм для прыжка в другой VLAN.

7. DNS Spoofing / Poisoning (Подмена DNS)

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

# Использование dnschef для создания ложного DNS-сервера
dnschef --fakeip=192.168.1.100 --interface=192.168.1.50 --port=53

8. Физические атаки

  • Подключение несанкционированных устройств (например, rogue access point).
  • Перехват трафика через физический доступ к кабелю или порту.

Меры защиты и роль QA Engineer в тестировании

Для предотвращения этих аток применяются меры: 802.1X (портовая безопасность), DHCP snooping, ARP inspection, использование VPN и шифрования (WPA3, TLS), сегментация сети (VLAN).

QA Engineer должен:

  • Тестировать устойчивость систем к известным атакам, используя инструменты (Wireshark, nmap, Metasploit).
  • Разрабатывать сценарии для проверки корректности работы защитных механизмов (например, блокировки при ARP spoofing).
  • Проводить аудит безопасности в рамках тестирования инфраструктуры.
  • Валидировать корректность логирования и мониторинга сетевых событий.

Пример тестового сценария для ARP защиты:

# Проверка реакции системы на ARP spoofing
import subprocess
import time

# Шаг 1: Запуск атаки (в тестовой среде)
subprocess.Popen(["arpspoof", "-i", "eth0", "-t", "target_ip", "gateway_ip"])
time.sleep(10)

# Шаг 2: Проверка, доступен ли целевой сервер
import requests
response = requests.get("http://target_ip/status", timeout=5)
assert response.status_code == 200, "Сервер недоступен — защита не сработала"

Понимание этих аток позволяет QA Engineer не только тестировать функциональность, но и обеспечивать качество безопасности продукта, что критически важно в современном цифровом мире.