Comments 2
Эм, хотелось бы заметить, что в грамотно спроектированной системе банальный останов рядового ПЛК в общем случае не должен приводить к необратимой поломке оборудования, так что заголовок чуть громче чем надо. Так можно и промышленную хлеборезку остановить. Stuxnet был устроен куда как хитрее, я лет десять назад внимательно изучал все документы, до которых смог дотянуться, и пришёл к выводу, что там без инсайда не обошлось и у хакеров, которые реализовали MITM атаку, просто была в распоряжении центрифуга с ПЛК, и они точно знали "куда бить" (насколько я помню, там было несколько версий вируса, одна из которых закрывала все выпускные клапаны так, что в центрифуге давление возрастало до недопустимого с пятикратным превышением, а другая раскручивала её до недопустимой скорости). Соответственно надо точно знать, какой функциональный блок и какие переменные ПЛК за что отвечают. Ходили слухи, что вроде как у Каддафи была эта игрушка в сборе, ну и в ходе той катавасии, ну вы поняли... В данном же примере был просто выполнен жёсткий останов ПЛК. Современные ПЛК тесно интегрированы с цепями безопасности и в общем случае хороший системный инженер должен предусмотреть сценарий, когда ПЛК встанет колом и внешняя по отношению к нему автоматика должна мягко разрулить эту ситуацию. Это безотносительно центрифуг, скажем если ПЛК управляет механизмами в опасной зоне, и там могут находиться люди, то останов основного процессора ПЛК (одноплатника по большому счёту, не знаю что там у Сименса, а у B&R, скажем, обычный Intel Atom камушек на 300-400 МГц стоит) не должен приводить к фатальным последствиям, поэтому там много чего продублировано. Просто надо дотошно рассмотреть все возможные точки отказа, на одну из которых и надавили в данном случае (безотносительно того, что фишинговое письмо не должно пробивать до низкоуровнего протокола). В нашей компании служба безопасности раз в квартал рассылает фишинговые письма (очень аутентичные) и смотрят, сколько их накликают.
А так - спасибо, я вот честно говоря не знал, что Сименсовский ПЛК можно просто остановить, отправив ему функциональный код 0х29 в S7COMM заголовке. Доки реверс инжиниринга говорят мне, что там также можно через 0х04/0х05 читать и писать переменные в памяти - вот это уже значительно интереснее.
Не мог пройти мимо. На промышленных АЭС мощностью в ГВт нет центрифуг для обогащения урана. На фабриках в РФ и в первом контуре АЭС как правило иностранное оборудование в системах автоматизации не применяется. Ну и никто не отменял аппаратные системы защит, реле безопасности и SIL3. В общем, проблема чаще надуманная и распиаренная для зарабатывания денег. Реальные масштабные инциденты происходят отнюдь не по вине плохой работы ИБ.
Опасные игры: остановка центрифуги для обогащения урана на виртуальной АЭС