COMPUTERSECURITYBASICS Telegram 102
История первая, о криптографии. Как строить, строить и наконец ничего не построить

В начале 2021 года была официально опубликована информация об уязвимостях различной степени критичности (от 3.1 до 7.1) в ПЛК Modicon M100/M200/M221 производства Schneider Electric. Уязвимости связаны с недостатками реализации криптографических функций защиты данных.
Эти и подобные контроллеры используются для базовой машинной автоматизации в автоматизации упаковки, погрузочно-разгрузочных работах, в том числе в логистических системах (доставке), переработке материалов, в промышленной роботизации. Конкретно контроллеры этих линеек работают на базе изначально небезопасного протокола Modbus over TCP. Аутентификация инженера и дальнейший обмен данными, к примеру, при переконфигурации контроллера требуют защиты. Если нарушитель получил доступ к промышленной сети, то его несанкционированный доступ к контроллеру или MitM атака c подделкой данных может привести к непредсказуемым последствиям, в том числе физическому ущербу.

Так ли уж защищает от подобных атак спроектированная инженерами Schneider Electric криптография?

На самом деле нет: при реализации защиты были сделаны детские ошибки.
Во-первых, собственный алгоритм для генерации общего «секрета» (ключа), несколько похожий на алгоритм Диффи-Хеллмана, но отличающийся в деталях (замечу, что этот алгоритм генерации секрета не является устойчивым к MitM атаке)
Во-вторых, длина того самого секрета – всего 4 байта! Пространство перебора очень небольшое, да и сложность задачи дискретного логарифмирования в таких порядках невысока
В-третьих, для генерации случайных данных использовалось текущее время, а это абсолютно плохая практика, так как числа получаются предсказуемыми.
В-четвертых, в трафике смешивались шифрованные и нешифрованные данные, это всегда облегчает криптоанализ.
Ну, и в-пятых, никакой криптоанализ и не требовался, точнее, требовался в минимальном объеме. Дело в том, что для шифрования передаваемых данных на общем «секрете» использовалось «исключающее или» (XOR) с этим ключом. Для Modbus трафика с предсказуемыми, часто нулевыми заполнениями, это позволяет в некоторых участках дампа трафика попросту наблюдать ключ в открытом виде (XOR нулевых байтов и ключа даст сам ключ).
Давайте вспомним, что разработка каких-то новых функций в ПО известного оборудования – довольно дорогостоящая история. Кто-то обосновал и спроектировал эту «защиту», описал требования, был проведен цикл разработки, включая контроль качества, успешно прошел релиз. Эффект для безопасности – околонулевой. Издержки на выпуск обновления, коммуникацию, поддержку репутации.
А стоило всего лишь привлечь кого-то, кто не пропускал лекции по основам криптографии в универе

Ссылки на оригинальные источники в блоге Kaspersky ICS CERT
🔥8👍1



tgoop.com/computersecuritybasics/102
Create:
Last Update:

История первая, о криптографии. Как строить, строить и наконец ничего не построить

В начале 2021 года была официально опубликована информация об уязвимостях различной степени критичности (от 3.1 до 7.1) в ПЛК Modicon M100/M200/M221 производства Schneider Electric. Уязвимости связаны с недостатками реализации криптографических функций защиты данных.
Эти и подобные контроллеры используются для базовой машинной автоматизации в автоматизации упаковки, погрузочно-разгрузочных работах, в том числе в логистических системах (доставке), переработке материалов, в промышленной роботизации. Конкретно контроллеры этих линеек работают на базе изначально небезопасного протокола Modbus over TCP. Аутентификация инженера и дальнейший обмен данными, к примеру, при переконфигурации контроллера требуют защиты. Если нарушитель получил доступ к промышленной сети, то его несанкционированный доступ к контроллеру или MitM атака c подделкой данных может привести к непредсказуемым последствиям, в том числе физическому ущербу.

Так ли уж защищает от подобных атак спроектированная инженерами Schneider Electric криптография?

На самом деле нет: при реализации защиты были сделаны детские ошибки.
Во-первых, собственный алгоритм для генерации общего «секрета» (ключа), несколько похожий на алгоритм Диффи-Хеллмана, но отличающийся в деталях (замечу, что этот алгоритм генерации секрета не является устойчивым к MitM атаке)
Во-вторых, длина того самого секрета – всего 4 байта! Пространство перебора очень небольшое, да и сложность задачи дискретного логарифмирования в таких порядках невысока
В-третьих, для генерации случайных данных использовалось текущее время, а это абсолютно плохая практика, так как числа получаются предсказуемыми.
В-четвертых, в трафике смешивались шифрованные и нешифрованные данные, это всегда облегчает криптоанализ.
Ну, и в-пятых, никакой криптоанализ и не требовался, точнее, требовался в минимальном объеме. Дело в том, что для шифрования передаваемых данных на общем «секрете» использовалось «исключающее или» (XOR) с этим ключом. Для Modbus трафика с предсказуемыми, часто нулевыми заполнениями, это позволяет в некоторых участках дампа трафика попросту наблюдать ключ в открытом виде (XOR нулевых байтов и ключа даст сам ключ).
Давайте вспомним, что разработка каких-то новых функций в ПО известного оборудования – довольно дорогостоящая история. Кто-то обосновал и спроектировал эту «защиту», описал требования, был проведен цикл разработки, включая контроль качества, успешно прошел релиз. Эффект для безопасности – околонулевой. Издержки на выпуск обновления, коммуникацию, поддержку репутации.
А стоило всего лишь привлечь кого-то, кто не пропускал лекции по основам криптографии в универе

Ссылки на оригинальные источники в блоге Kaspersky ICS CERT

BY Computer security basics


Share with your friend now:
tgoop.com/computersecuritybasics/102

View MORE
Open in Telegram


Telegram News

Date: |

Deputy District Judge Peter Hui sentenced computer technician Ng Man-ho on Thursday, a month after the 27-year-old, who ran a Telegram group called SUCK Channel, was found guilty of seven charges of conspiring to incite others to commit illegal acts during the 2019 extradition bill protests and subsequent months. How to build a private or public channel on Telegram? While the character limit is 255, try to fit into 200 characters. This way, users will be able to take in your text fast and efficiently. Reveal the essence of your channel and provide contact information. For example, you can add a bot name, link to your pricing plans, etc. As the broader market downturn continues, yelling online has become the crypto trader’s latest coping mechanism after the rise of Goblintown Ethereum NFTs at the end of May and beginning of June, where holders made incoherent groaning sounds and role-played as urine-loving goblin creatures in late-night Twitter Spaces. The SUCK Channel on Telegram, with a message saying some content has been removed by the police. Photo: Telegram screenshot.
from us


Telegram Computer security basics
FROM American