Pull to refresh

Размышления о безопасности на производстве

Reading time 6 min
Views 3.3K
Прочитал статью Почему я люблю Microsoft. Заметки зомби, оставил комментарий и захотелось написать статью про организацию безопасной инфраструктуры управления производством. Не деятельности предприятия, а непосредственно производства.

Заранее хочу предупредить, что к теме терроризма данная статья не имеет никакого отношения. И картинка повествует совсем не о том.


Реалии нашей жизни таковы, что большинство (около 100% более половины мирового рынка DCS-систем по данным википедии, а на самом деле и поболе будет) современных АСУТП фунциклируют под управлением ОС от Microsoft. Ни для кого не секрет, что они напичканы уязвимостями. Мой страшный сон представляет собой следующее:
Объявляется неизвестный, сокрушающий все защиты вирус, который единомоментно рушит все винды. В итоге получим полную остановку предприятия, как минимум на сутки. Если автоматизация проведена толково (до сих пор все нештатные ситуации проходили в очень даже штатном режиме), то ничего не взорвется, а просто произойдет корректная остановка технологических процессов. За сутки «свечной заводик» выпускает продукции на 1.5 миллиона зеленых бумажек. Себестоимость ресурсов, потраченных на остановку и запуск — еще столько же.

Пример:

Приблизительно так выглядит аварийная остановка. Происходит сброс давления продуктов находящися в аппаратах и трубопроводах цеха(природный газ, газообразный аммиак, синтез-газ) и сжигание их на факельной установке. Затем белый дым. Это излишки пара сбрасываются через ту-же факельную установку. После сброса цех остановлен полностью. При пуске на этой же факельной установке в течение нескольких дней горит природный газ со скоростью 200$ в минуту. Цех по плану работает без остановок 1-2 года. Потом капремонт и снова в бой.


Внимание, вопрос: может ли предприятие предъявить претензии к Microsoft и потребовать возместить потери?
Направление, куда заводу следует пойти со своими претензиями, написано в лицензионном соглашении:
23. ОГРАНИЧЕНИЕ И ИСКЛЮЧЕНИЕ ОТВЕТСТВЕННОСТИ ЗА УБЫТКИ И УЩЕРБ. За исключением денежного возмещения, которое могут предоставить изготовитель или установщик, вы не можете взыскать никакие другие убытки, включая косвенные, специальные, опосредованные или случайные убытки, а также убытки в связи с упущенной выгодой.
Это ограничение распространяется на:
• любые вопросы, связанные с программным обеспечением, службами и содержимым веб-узлов третьих лиц (включая код), а также с программами третьих лиц;
• претензии в связи с нарушением условий контракта, гарантии или других условий, строгой ответственностью, небрежностью или другим гражданским правонарушением, насколько это допускается применимым законодательством.
Это ограничение действует даже в случае, если:
• ремонт, замена программного обеспечения или денежное возмещение не компенсирует все убытки и ущерб или
• изготовитель, установщик или корпорация Майкрософт знали или должны были знать о возможности возникновения таких убытков и ущерба.
Законодательство некоторых штатов не допускает исключения или ограничения ответственности за случайные или косвенные убытки и ущерб. В этом случае вышеуказанные ограничения и исключения могут к вам не относиться. Они также могут к вам не относиться, если законодательство вашей страны не допускает исключения или ограничения ответственности за случайные, косвенные или другие убытки и ущерб.

Приблизительно тоже самое написано в лицензионных соглашениях программного обеспечения, которое управляет техпроцессами, хотя оно обладает кучей сертификатов по безопасности и прочего бла бла бла.
Обеспечение же безопасности таких систем — отдельная головная боль. Соседство с антивирусом на одном компьютере они переживают крайне болезненно. В моей практике даже есть пример АСУТП, рухнувшей из-за бага в Microsoft Office.

image
На этом изображении (просьба не считать рекламой) показано, что может представлять из себя навороченная система управления.

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

Во избежание неприятностей приходится использовать все доступные методы контрацепции:
  • Отрезать АСУТП от внешнего мира и пытливого ума операторов. Как вытекающее из этого следствие — обо всех плюсах интеграции (удаленное управление и прочие прелести) можно забыть.
  • Для учета сырья и продукции устанавливаются отдельные контроллеры, никак не влияющее на управление процессом.
  • При острой необходимости — доступ во внешний мир через шлюзовую станцию с антивирусом, файрволом и сложными паролями.

В принципе контроллеры способны самостоятельно управлять системой, но если верхний уровень управления все же вырубится, а обратно включаться откажется, придется выдернуть шнур и выдавить стекло нажать кнопку аварийной остановки. Она всегда реализуется аппаратно, и действует напрямую на нижний уровень.

Перейду к более конкретным примерам:

Когда продукт из крана капает исправно, последний сканворд уже час как заполнен, а начальник придет не скоро, появляется непреодолимое желание чем-нибудь развлечь себя любимого. А под рукой целый компьютер, используемый для такого примитивного занятия, как ведение скучного техпроцесса. Вот тут и начинается поиск обхода ограничений, установленных заботливыми администраторами. При помощи различных комбинаций клавиш и тыканья мышью иногда находятся весьма неожиданные способы запустить ненужное ПО. А еще есть флеш-накопители и live-cd. Надежной защитой от подобных манипуляций является только запертый в шкаф системный блок. На тот случай, когда страждущий, невзирая на препоны, все же доберется до вожделенной косынки, его ждет милый сюрприз. Принтер напечатает лист А4 следующего содержания:

image
Да, забыл уточнить, печатать это будет принтер, находящийся в кабинете начальника цеха.

Если у кого-то возникнет вопрос: «Зачем такая дырявая система?», то ответ прост — что закупили, с тем и работаем.

Запрет физического доступа к оборудованию очень важен:

Сервера и контроллеры защищены от просадок напряжения следующим образом:
Резервированные сервера, резервированные контроллеры, дублирование по питанию от двух вводов, 2 UPS по 30 кВатт. Но случилось 4 «маленьких» просчета:
  • Автоматы на вводах питания серверов и цисок всего лишь 6А;
  • Забытый наладчиками ключ от шкафа, в котором это оборудование стояло;
  • Наличие у ночной смены электрочайника;
  • Последние бекап был неделей ранее.
В итоге была потеряна неделя работы.

Отдельное спасибо хочется передать внедрителям, которые обеспечили каждого пользователя сети маленькой порцией Win32.Neshta. Обычно подразумевается, что компьютер с системой управления девственно чист, и его можно безбоязненно подключать в любую сеть.

Какая мораль этой басни? Да, собственно, её нет. Точнее есть: не следует скупиться на лишнее, на первый взгляд, оборудование.
  • Дополнительный компьютер с хорошим антивирусом будет исполнять роль шлюза во внешнюю сеть.
  • Шкафы для серверов и системных блоков обеспечат их сохранность.
  • Про отдельное помещение для контроллеров даже говорить не стоит.
  • Резервирование всего критически важного управляющего оборудования обезопасит при отказах железа.
  • Ну и бекапы еще никто не отменял. Желательно их хранить не на тех дисках, которые бекапятся.

Я, со своей стороны, предпринимаю все усилия для обеспечения безотказности систем управления. Например, когда в сети буйствовали вирусы, я узнал об этом только тогда, когда админы для профилактики отрубили интернет-шлюз.
UPD: поясню, что подразумевается под АСУТП.
Это комплекс оборудования контроллеры + система визуализации со свистелками и прочим.
Контроллер — это такая железяка, стабильной работе которой может помешать только взрыв.
СКАДА — диспетчерское управление и сбор данных. Рухнуть может от любого неосторожного чиха.
Приведу статистику за последние 2 года:
Средний аптайм windows машин — 1 год. Во время ремонта компы чистят от пыли. Сервера под Windows Server 2003 с аптаймом 2 года. Ни одного случая несанкционированного доступа. Чтобы к этому прийти потребовалось время, размышления и некоторое количество шишек. До кучи пришлось избавляться от костылей и подпорок, оставленных предшественником.
Теперь про ОС. Мне все равно, под какой операционной системой будет крутиться скада, лишь бы стабильно.
ОСРВ, типа QNX — это несколько другое. Основная их ниша — встраиваемые системы.
Приведу варианты систем, которые используются в химическом производстве:
Experion PKS — windows
Experion TPS — windows
Emerson Delta-V — windows
Foxboro — unix или в windows под эмулятором (что гораздо чаще)
Siemens SIMATIC — windows
ABB System 800xA — windows
YOKOGAWA CENTUM — Windows
IFix — windows
Intouch — windows
По возможности, хочется иметь контроллер и систему одного производителя с удобным инструментарием. Я не хаю ОСРВ, линукс и юникс. Просто основные мировые игроки рынка автоматизации в основном продвигают распределенные системы управления, работающие под windows.
Tags:
Hubs:
+59
Comments 92
Comments Comments 92

Articles