Security Week 2334: уязвимости в промышленном SDK Codesys

Одна из презентаций на недавно прошедшей конференции BlackHat была посвящена уязвимостям в SDK Codesys. Уязвимости нашли специалисты компании Microsoft, а история их обнаружения подробно изложена в этой публикации. Codesys — это среда разработки для систем промышленной автоматизации, а именно для...

Все блоги / Про интернет

[Перевод] Безопасность ПЛК: 20) Ловите ложные срабатывания для критических предупреждений

Определите критические предупреждения и запрограммируйте ловушки для этих предупреждений. Установите ловушки так, чтобы отслеживать условия срабатывания и состояния оповещений. Разбираем последние рекомендации по безопасному программированию ПЛК. Обсудим где, кому и зачем данные рекомендации нужны....

Все блоги / Про интернет

[Перевод] Безопасность ПЛК: 16-19) Отслеживайте длительность циклов, потребление памяти, логируйте аварийные ситуации

Суммируйте время циклов каждые 2-3 секунды и направляйте на HMI для визуализации на графике. Логируйте время безотказной работы ПЛК, чтобы знать, когда он был перезапущен. Отслеживайте время безотказной работы на HMI для диагностики. Храните события неожиданной остановки ПЛК из-за сбоев или...

Все блоги / Про интернет

[Перевод] Безопасность ПЛК: 13-15) Сетевые интерфейсы и безопасная перезагрузка ПЛК

Контроллеры ПЛК и модули сетевого интерфейса обычно поддерживают несколько протоколов связи, которые включены по умолчанию. Отключите порты и протоколы, которые не требуются для приложения. Ограничьте типы соединений и доступные данные для сторонних интерфейсов. Соединения или интерфейсы передачи...

Все блоги / Про интернет

[Перевод] Безопасность ПЛК: 11, 12) Реализуйте механизмы для проверки достоверности измерений и входных значений

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

Все блоги / Про интернет

[Перевод] Безопасность ПЛК: 10) Разделите регистры по их назначению

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

Все блоги / Про интернет

[Перевод] Безопасность ПЛК: 8,9) Проверяйте входные переменные, следите за косвенными обращениями

Доступ к переменным ПЛК должен быть ограничен. Значение с HMI, вышедшее за допустимые пределы, должно быть корректно обработано или оператор должен получить об этом сообщение. Следите за обращением к элементам массива, чтобы избежать ошибку неучтённой единицы. Разбираем рекомендации по безопасному...

Все блоги / Про интернет

[Перевод] Безопасность ПЛК: 6,7) Проверяйте таймеры, счётчики и парные входы/выходы

Счётчики и таймеры написанные для программ ПЛК должны быть проверены на корректность, в том числе на обработку обратных отсчётов и значений меньше нуля. Убедитесь, что парные сигналы не задаются одинаково. Оповещайте оператора, если состояние входов/выходов физически невозможно или недопустимо....

Все блоги / Про интернет

[Перевод] Безопасность ПЛК: 4,5) Используйте переменные-флаги, хеши и контрольные суммы для проверки целостности проекта

Добавляйте счётчики для флагов ошибок. Используйте хеши или контрольную сумму (если хеши не могут быть использованы) для проверки целостности кода и выдачи предупреждения, если он был изменён. Разбираем рекомендации по безопасному программированию ПЛК, формируем список своих рекомендаций. Всех...

Все блоги / Про интернет

[Перевод] Безопасность ПЛК: 3) Вся логика процесса по возможности должна быть в ПЛК

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

Все блоги / Про интернет

[Перевод] Безопасность ПЛК: 2) Следите за режимом работы

Держите ПЛК в режиме исполнения. Если ПЛК вышел из режима исполнения, то следует выдать предупреждение оператору. Разбираем рекомендации по безопасному программироваю ПЛК, формируем список своих рекомендаций. Всех неравнодушных прошу под кат. Читать далее...

Все блоги / Про интернет

[Перевод] Безопасность ПЛК: 1) Модульность программы

Разделите код на модули, рационально используйте программные организационные единицы. Тестируйте модули независимо. Разбираем рекомендации по безопасному программироваю ПЛК, формируем список своих рекомендаций. Всех неравнодушных прошу под кат. Читать далее...

Все блоги / Про интернет