Сага о бешеной мыши

Я не знаю точного значения слова «сага», но интуитивно понятно, что это – короткий рассказ с мифическим уклоном. Возможно, это – самое подходящее название для данного поста.

Основной текст поста будет чуть ниже, для затравки – небольшой старый анекдот (но в тему).

Юзер: - Поставь-ка новые драйверы видеокарты.

Windows: - А диск есть?

Юзер: - Есть.

Windows: - А что сказать надо?

Юзер: - Ok'.

Windows: - Фиг тебе, а не Ok'. Не могу найти необходимые файлы!

Юзер: - Так вот же они!

Windows: - Где?!

Юзер: - Да на диске!

Windows: - На каком?

Юзер: - На B:.

Windows: - Нет такого диска.

Юзер: - А почему под DOS'ом есть?!

Windows: - Не мои проблемы.

Юзер: - А как же мне драйверы поставить?

Windows: - А зачем тебе драйверы? У тебя видеокарты-то нет.

Юзер: - Не может быть!

Windows: - Точно тебе говорю.

Юзер: - А аудио есть?

Windows: - И аудио нет.

Юзер: - А что есть?

Windows: - Джойстик есть.

Юзер: - Отродясь не было...

Windows: - Мне виднее.

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

Основную роль в управлении оборудованием играет, конечно же, программируемый логический контроллер (ПЛК), который – тупой, как железяка, и не требует «штатного» завершения работы при отключении питания.

Специально для этого панельного компьютера предусмотрен источник бесперебойного питания (ИБП), который пару минут будет держать питание 24 В, чтобы Windows корректно завершила работу.

С этим ИБП предусмотрена связь по интерфейсу RS485 (это последовательный, или COM порт на компьютере, протокол Modbus RTU). Фактически стояла задача корректно свернуть работу Windows при пропадании внешнего питания.

Так, вот, тестируем эту систему у себя на столе, кабель для COM-порта, соответственно – времянка, сделан на соплях. В какой-то момент (интерфейс оператора еще не запущен) отвалилась одна жила в разъеме. И тут началось…

Висящая в воздухе жила поймала какую-то наводку, может радио, может 50 Гц промышленной частоты. Windows тут же сообразила, что кто-то стучится ей в COM порт и, соответственно, тут же установила себе мышку (которой отродясь не было). Так вот, эта «бешеная мышь», что только не вытворяла. Носилась с большой скоростью по всему экрану, открывала какие-то бесчисленные окна, закрывала, что-то сохраняла, что-то удаляла, меняла настройки Windows.

Пока разобрались и выдернули этот чертов кабель, прошло не больше минуты.

Эта «бешеная мышь» умудрилась за одну минуту сделать удивительные вещи: удалила все иконки с рабочего стола, да так искусно это сделала, что на «стерильный» рабочий стол больше не было никакой возможности ни перетащить, не создать новую иконку. Я даже пробовал просто новый текстовый документ создать на рабочем столе – не создавался.

Интерфейс оператора, как и любой другой exe-файл просто не запускались. Перезагрузка компьютера не помогала.

Пришел сисадмин…

Пощелкал во всякие настройки (минут 20), после чего изумленно поворачивается к нам:

- Как вы это сделали?

- Да, никак. Это все «мышь бешенная»!

Пришлось полностью переустанавливать систему.

Я, честно говоря, до этого инцидента не верил, что без клавиатуры можно что-то существенно изменить в Windows. Пока мы ошарашенно смотрели на монитор: «Что, собственно говоря, происходит?», я не застукал эту мышь за занятием, чтобы она открывала бы экранную клавиатуру и что-то осмысленное набирала. Но ведь, смогла же! Ни один хакер бы за такое короткое время не справился, чтобы так порушить систему.

Мы после этого отключили всякое автоматическое добавление устройств.