Гы-гы-гы. Перезагрузку системы пользователь наверняка заметит. А основные проблемы далеко не с этим - сейчас программа может без особых проблем поиметь систему в сколь угодно извращённой форме даже без перезагрузки системы и даже без загрузки драйвера.Mario wrote:Вообще-то проблема только быстрым перезапуском не ограничивается. Деструктивный код может перезаписать ядро и сохранить образ рамдиска, единственная вещь которая частично компенсирует это - ядро не знает откуда оно запущено. Это знает только пользователь.
Вот, например, в аттаче программа, которая без всяких перезагрузок и без всяких драйверов забивает первый сектор диска /hd0 CC'шками (внимание! проверять только на жёстких дисках, которых не жалко! например, в эмуляторах, предварительно отсоединив рабочий диск и создав временный! и не говорите потом, что я не предупреждал!). Поскольку таймауты выверять лень и слишком сильно издеваться над системой тоже лень, при физическом отсутствии ATA-диска на Primary Master может подвесить систему наглухо на несколько секунд (но это устранимая особенность реализации); при наличии устройства отрабатывает мгновенно и тут же завершается, пользователь не имеет шансов понять, что произошло.
Но нет, нормальным программам нужно обязательно усложнить жизнь, заставив их зависеть от драйвера, а пользователя обязать включать драйвер или перекомпилировать ядро, в то время как вредоносные могут спокойно жить. Говорю же, идиотизм.