Все дело в том, как работает вирус. Вы сказали On layer 2 network, it is easy
.
Почему это легко - представьте себе сеть уровня 2 с 200 незараженными компьютерами Windows и 1 зараженным компьютером Windows (предположим, что вирус распространяется через порт 139 и / или 445). Вирус будет распространяться очень быстро, если эти порты открыты (они открыты по умолчанию).
Итак, что здесь происходит? Зараженный компьютер может связаться со всеми компьютерами в подсети и проверить, открыт ли порт 139. Вирус находит машину с открытым портом 139 и после этого заходит на этот компьютер. Теперь двое из них будут делать то же самое со следующим компьютером, пока все они не будут заражены.
Что способствовало распространению вируса здесь? Предположение (или знание), что в одной подсети есть компьютеры с Windows. Я не гуру Windows, но я все еще помню, что есть такие вещи, как Сетевое окружение Windows - вы открываете его и видите компьютеры Windows в одной рабочей группе. Вам просто нужно зарегистрировать свой компьютер, и все компьютеры в одной рабочей группе узнают о существовании вашего компьютера. Таким образом, вирус, вероятно, может воспользоваться этим автоматическим открытием в будущем и просто получить список компьютеров, которые находятся рядом. После этого вирус просто заражает эти компьютеры.
И множество компьютеров с Windows уязвимы для эксплойта порта 139. Этот порт открыт по умолчанию и, к сожалению, он очень опасен.
Теперь представьте две подсети. Без дополнительной настройки компьютеры не могут быть частью одной и той же рабочей группы. Итак, вирус не может получить список компьютеров в другой подсети. Он не знает, куда идти. Он не может заразить их, не подключившись к ним. Это как вы не можете дать мне коробку, если вы не знаете мое местоположение.
Это первый ответ - на уровне 2 легко угадать адрес соседских машин. (192.168.0.x, 192.168.0.x+1 ... )
Второй ответ - подсети разделены на маршрутизаторы. Чаще всего маршрутизаторы имеют брандмауэры. И чаще всего системные администраторы закрывают ненужные и опасные порты на них, чтобы предотвратить несанкционированный доступ и распространение вирусов.
Даже если зараженная машина будет знать адреса компьютеров в разных подсетях - брандмауэр не позволит распространяться вирусу (если заблокированы необходимые порты).
И подумайте об этом с простой точки зрения. В этом нет никакой магии. Вирус - это компьютерная программа. Для подключения к другому компьютеру в сети эти условия должны быть ИСТИНА:
- Программа знает IP-адрес назначения
- Программа знает сетевой порт назначения
- Возможна сетевая связь между отправителем и получателем
В сети Windows второго уровня все эти условия по умолчанию часто имеют значение ИСТИНА.