Когда устаревший протокол подключается через Ethernet, а затем к Интернету, возникают проблемы безопасности. Стандартные команды для программируемых инструментов (SCPI) - это устаревший протокол, который поддерживают многие современные измерительные приборы. Он может быть выдан через универсальную интерфейсную шину (GPIB), универсальный асинхронный приемник / передатчик (UART), универсальную последовательную шину (USB) или Ethernet. Тем не менее, важно отметить, что аутентификация не является встроеной в этом протоколе.
Протокол SCPI, которому уже 30 лет, изначально был разработан для датчиков, соединяющихся по последовательным линиям. Он был спроектирован как простой текстовый протокол ASCII, который делает принятие через различные языки и аппаратные интерфейсы максимально простым. (Даже сегодня консорциум SCPI
Со временем многие высокотехнологичные сенсорные устройства приняли протокол, и, конечно, Ethernet стал доминирующим аппаратным интерфейсом. Сегодня эти устройства открыты для доступа в Интернет, так как подключается все больше сетей, но они никогда не предназначались для этого, и сетевые администраторы могут не знать, что это происходит. Следует также отметить, что такие устройства, как логические анализаторы и комнатные датчики, не работают в известных операционных системах и не отображаются в списках инвентаризации ПК.
Обзор исследований
Keysight Technologies от Agilent Technologies является ключевым игроком на рынке измерительного оборудования. Мы использовали его цифровые мультиметры (DMM) и источники питания, но когда мы прочитали их
Мы узнали, что SCPI, хотя и не ограничивается Keysight, может использоваться в моделях, где применяется Ethernet; и порт 5025, поддерживаемый Virtual Instrument Software Architecture (VISA), открыт по умолчанию. Сценарий Python в техническом документе описывает, как сбросить источник питания, установить ограничение напряжения и тока, измерить напряжение и ток, а также включить и выключить выходные каналы.
Экспонировать такой профессиональный источник питания в Интернете может быть опасно, поскольку он обычно подключается к точным приборам в лабораториях, где тестируемое устройство (DUT) обычно очень чувствительно к входной мощности. Защита от перенапряжения или перегрузки по току может быть отключена, и выход может быть опасным для проверяемого устройства, вызывая поражение электрическим током или, что еще хуже, пожар в лабораториях.
Поскольку сам протокол разработан без аутентификации / шифрования, исправление недоступно. Мы ответственно сообщили об этом исследовании заинтересованным поставщикам в рамках инициативы Zero Day Initiative (ZDI).
Таблица 1. Выставленные модели и их функции
У нас в офисе был цифровой мультиметр Keysight 34461A, поэтому мы рассмотрели потенциальные проблемы, которые могут возникнуть при его обнаружении в Интернете.
Цифровой мультиметр (DMM): тематическое исследование
Изучив руководство по
Рисунок 2. Веб-интерфейс цифрового мультиметра Keysight 34461A
Рисунок 3. Сетевые настройки цифрового мультиметра Keysight 34461A
После того, как пароль установлен или изменен, владелец должен сделать полный сброс или вызвать поставщика для сброса мультиметра. Можно выдавать общие команды SCPI через порты 5024 и 5025, поэтому мы протестировали PyVISA, библиотеку Python, поддерживающую VISA, которая отлично работает на порте 5025. Она работает в Telnet, как показано в следующем примере.
Мы смогли прочитать измеренное напряжение / ток, если к мультиметру подключено тестируемое устройство.
Следует отметить, что, хотя существует возможность утечки данных измерения DUT, цифровой мультиметр не является источником питания и не может причинить слишком много вреда, если точки измеренных данных не являются источником какого-либо привода. Если это так, любое изменение CALCulate: SCALe: GAIN или CALCulate: SCALe: OFFSet может вызвать проблемы в нисходящем направлении.
Чтобы повредить сам инструмент, можно установить PSC равным 0 и выполнить десятки тысяч команд * ESE, что может вызвать цикл записи в энергонезависимую память каждой команды. Энергонезависимая память может быть записана в
Если прибор является источником питания, можно снять защиту с выхода, выдав команду OUTP: PROT: CLE . После удаления можно установить максимальное значение напряжения и тока, которое может выдавать устройство. Более того, триггеры шины * TRG или GPIB следуют за * OPC? команда вызывает отказ в обслуживании (DoS), которая может быть исправлена только командой GPIB DCL (очистка устройства).
Одним из приемов, которые субъект угрозы может использовать на большинстве - если не на всех - открытых устройствах, является команда DISP: TEXT , которая отображает текст на передней панели. Это не причиняет вреда, но может показаться неприемлемым.
Рисунок 4. DISP: образец текста на передней панели
Исполнитель может также установить безопасный код (пароль калибровки), чтобы реальный владелец не мог изменить важные конфигурации. Это может вызвать неудобства, но владелец может внести
Сценарий атаки
Даже если блок питания (PSU) не обнаружен в Интернете, показания открытого цифрового мультиметра могут быть изменены другими сторонами (независимо от намерения), что приведет к каскадному эффекту. Мы проконсультировались с руководством для инженеров по тестированию для воображаемого сценария автоматизированного тестирования.
Рисунок 5. Блок-схема тестовой системы, используемой для исследований и разработок (R & D), на основе рисунка из
Блок питания слева (как показано на рисунке 5) подает предварительно определенное напряжение и ток на тестируемое устройство. Тем не менее, напряжение в цепи измеряется в нескольких точках, чтобы обеспечить правильное питание, особенно на вторичной стороне цепи трансформатора. Показания блока питания не являются полностью надежными и корректируются соответствующим образом (то есть управляются вручную) или регулируются через контур обратной связи (полууправляемый или автоматический).
В автоматизированной контролируемой среде манипулируемые показания в нескольких точках могут вызвать ложную обратную связь, которая повышает или понижает напряжение, подтвержденное блоком питания, тем самым повреждая проверяемое устройство.
В производственной системе цифровой мультиметр, функциональные генераторы, осциллограф и тестируемое устройство подключаются к шине LXI или SCPI через RS485 или Ethernet. Краткая и абстрактная последовательность испытаний аналогична описанию в следующей таблице.
Таблица 2. Выдержка из образца последовательности испытаний в автоматическом тесте на основе таблицы из
Когда стимул изменяется (то есть, изменение температуры, как в таблице), тестовая система должна ждать стабилизации DUT, прежде чем можно будет проводить измерения. Необходимо измерить чувствительные к времени компоненты (например, контур фазовой синхронизации [PLL] и стабилизацию регулятора с малым выпадением напряжения [LDO]). Если измерением манипулируют, фаза синхронизации ФАПЧ может быть нарушена или ТУ может быть сожжено пусковым током.
Заключение и рекомендации по безопасности
Команды SCPI очень полезны во многих реализациях и могут даже изменять практически любые настройки инструментов, поддерживающих протокол. Хотя в качестве примера для этого блога мы взяли цифровой мультиметр Keysight, протокол SCPI фактически поддерживается основными поставщиками приборов. Вполне возможно, что воздействие может быть ограничено не только в лабораториях с дорогими ИУ, но также и в полупроводниковом автоматизированном испытательном оборудовании (ATE). Закрепление измерительных приборов можно выполнить, следуя нашим рекомендуемым методам, таким как:
Протокол SCPI, которому уже 30 лет, изначально был разработан для датчиков, соединяющихся по последовательным линиям. Он был спроектирован как простой текстовый протокол ASCII, который делает принятие через различные языки и аппаратные интерфейсы максимально простым. (Даже сегодня консорциум SCPI
Ссылка скрыта от гостей
SCPI как на стандарт, который хорошо работает через интерфейсы RS-232 и с языком программирования BASIC.)Со временем многие высокотехнологичные сенсорные устройства приняли протокол, и, конечно, Ethernet стал доминирующим аппаратным интерфейсом. Сегодня эти устройства открыты для доступа в Интернет, так как подключается все больше сетей, но они никогда не предназначались для этого, и сетевые администраторы могут не знать, что это происходит. Следует также отметить, что такие устройства, как логические анализаторы и комнатные датчики, не работают в известных операционных системах и не отображаются в списках инвентаризации ПК.
Обзор исследований
Keysight Technologies от Agilent Technologies является ключевым игроком на рынке измерительного оборудования. Мы использовали его цифровые мультиметры (DMM) и источники питания, но когда мы прочитали их
Ссылка скрыта от гостей
описывающий, как использовать Python для автоматизации источника питания для лабораторных экспериментов, его интерфейс Ethernet привлек наше внимание.Мы узнали, что SCPI, хотя и не ограничивается Keysight, может использоваться в моделях, где применяется Ethernet; и порт 5025, поддерживаемый Virtual Instrument Software Architecture (VISA), открыт по умолчанию. Сценарий Python в техническом документе описывает, как сбросить источник питания, установить ограничение напряжения и тока, измерить напряжение и ток, а также включить и выключить выходные каналы.
Экспонировать такой профессиональный источник питания в Интернете может быть опасно, поскольку он обычно подключается к точным приборам в лабораториях, где тестируемое устройство (DUT) обычно очень чувствительно к входной мощности. Защита от перенапряжения или перегрузки по току может быть отключена, и выход может быть опасным для проверяемого устройства, вызывая поражение электрическим током или, что еще хуже, пожар в лабораториях.
Поскольку сам протокол разработан без аутентификации / шифрования, исправление недоступно. Мы ответственно сообщили об этом исследовании заинтересованным поставщикам в рамках инициативы Zero Day Initiative (ZDI).
Рисунок 1. Некоторые из устройств Keysight / Agilent, найденые в Shodan
Мы сделали быстрое сканирование Shodan и обнаружили в Интернете несколько SCPI-совместимых устройств. К счастью, в интернете не было таких источников питания. Тем не менее, мы видели дорогие инструменты; изменение параметра которого также может привести к повреждению блоков или чипов.
Мы сделали быстрое сканирование Shodan и обнаружили в Интернете несколько SCPI-совместимых устройств. К счастью, в интернете не было таких источников питания. Тем не менее, мы видели дорогие инструменты; изменение параметра которого также может привести к повреждению блоков или чипов.
Модем | Количество | функция |
EasyEXPERT | 19 | Программное обеспечение для определения характеристик устройства на основе графического интерфейса |
34972A | 11 | Система сбора данных |
M819xA | 9 | Генератор сигналов произвольной формы |
3352xx | 4 | Генераторы и синтезаторы функций |
344xxA | 2 | Цифровой мультиметр |
81180A | 2 | Генератор сигналов произвольной формы |
89601B | 2 | Программное обеспечение VSA и анализатор сигналов серии X |
DSO6104x | 2 | Осциллограф с тактовой частотой 1 ГГц |
DSOS104A | 2 | Осциллограф с тактовой частотой 1 ГГц |
E836xC | 2 | Анализатор микроволновой сети PNA |
34980A | 1 | Многофункциональный переключатель / единица измерения |
8164B | 1 | Lightwave измерительная система |
DSOS054A | 1 | Осциллограф 500 МГц |
E4438C | 1 | ESG векторный генератор сигналов |
E4446A | 1 | PSA высокопроизводительный анализатор спектра |
M8070B | 1 | Программное обеспечение для управления платформами MERT BERT и AWG |
M9505A | 1 | 5-слотовое шасси AXIe |
MSOS804A | 1 | Осциллограф высокого разрешения |
N9000B | 1 | CXA анализатор сигналов |
N9320B | 1 | РЧ-анализатор спектра (БСА) |
N9344C | 1 | Ручной анализатор спектра (HSA) |
N9923A | 1 | Портативный анализатор вектора RF с батарейным питанием |
У нас в офисе был цифровой мультиметр Keysight 34461A, поэтому мы рассмотрели потенциальные проблемы, которые могут возникнуть при его обнаружении в Интернете.
Цифровой мультиметр (DMM): тематическое исследование
Изучив руководство по
Ссылка скрыта от гостей
, мы заметили, что все интерфейсы (даже веб-интерфейс) были включены по умолчанию и не защищены паролями. Многие параметры были также настраиваемы. В дополнение к порту 80 порт 5024 (Telnet) и 5025 (SCPI) также были открыты для общественности.Рисунок 2. Веб-интерфейс цифрового мультиметра Keysight 34461A
Рисунок 3. Сетевые настройки цифрового мультиметра Keysight 34461A
После того, как пароль установлен или изменен, владелец должен сделать полный сброс или вызвать поставщика для сброса мультиметра. Можно выдавать общие команды SCPI через порты 5024 и 5025, поэтому мы протестировали PyVISA, библиотеку Python, поддерживающую VISA, которая отлично работает на порте 5025. Она работает в Telnet, как показано в следующем примере.
Код:
$ telnet 10.1.169.{BLOCKED} 5024
Trying 10.1.169.{BLOCKED}...
Connected to k-34461a-22828.client.tw.{BLOCKED}et.org.
Escape character is '^]'.
Welcome to Keysights's 34461A Digital Multimeter
34461A> *IDN?
Keysight Technologies,34461A,MY57222828,A.02.17-02.40-02.17-00.52-04-02
34461A> *ESR?
+32
34461A> *PSC?
1
34461A> SYST:ERR?
-113,"Undefined header"
Мы смогли прочитать измеренное напряжение / ток, если к мультиметру подключено тестируемое устройство.
Код:
34461A> MEAS:CURR?
+2.24079819E-09
34461A> MEAS:VOLT?
-5.23101894E-05
Следует отметить, что, хотя существует возможность утечки данных измерения DUT, цифровой мультиметр не является источником питания и не может причинить слишком много вреда, если точки измеренных данных не являются источником какого-либо привода. Если это так, любое изменение CALCulate: SCALe: GAIN или CALCulate: SCALe: OFFSet может вызвать проблемы в нисходящем направлении.
Чтобы повредить сам инструмент, можно установить PSC равным 0 и выполнить десятки тысяч команд * ESE, что может вызвать цикл записи в энергонезависимую память каждой команды. Энергонезависимая память может быть записана в
Ссылка скрыта от гостей
, но чрезмерная запись может привести к физическому повреждению, когда сломанный инструмент можно исправить только путем замены детали.Если прибор является источником питания, можно снять защиту с выхода, выдав команду OUTP: PROT: CLE . После удаления можно установить максимальное значение напряжения и тока, которое может выдавать устройство. Более того, триггеры шины * TRG или GPIB следуют за * OPC? команда вызывает отказ в обслуживании (DoS), которая может быть исправлена только командой GPIB DCL (очистка устройства).
Одним из приемов, которые субъект угрозы может использовать на большинстве - если не на всех - открытых устройствах, является команда DISP: TEXT , которая отображает текст на передней панели. Это не причиняет вреда, но может показаться неприемлемым.
Рисунок 4. DISP: образец текста на передней панели
Исполнитель может также установить безопасный код (пароль калибровки), чтобы реальный владелец не мог изменить важные конфигурации. Это может вызвать неудобства, но владелец может внести
Ссылка скрыта от гостей
чтобы предотвратить случайные или несанкционированные модификации инструмента.Сценарий атаки
Даже если блок питания (PSU) не обнаружен в Интернете, показания открытого цифрового мультиметра могут быть изменены другими сторонами (независимо от намерения), что приведет к каскадному эффекту. Мы проконсультировались с руководством для инженеров по тестированию для воображаемого сценария автоматизированного тестирования.
Рисунок 5. Блок-схема тестовой системы, используемой для исследований и разработок (R & D), на основе рисунка из
Ссылка скрыта от гостей
Agilent TechnologiesБлок питания слева (как показано на рисунке 5) подает предварительно определенное напряжение и ток на тестируемое устройство. Тем не менее, напряжение в цепи измеряется в нескольких точках, чтобы обеспечить правильное питание, особенно на вторичной стороне цепи трансформатора. Показания блока питания не являются полностью надежными и корректируются соответствующим образом (то есть управляются вручную) или регулируются через контур обратной связи (полууправляемый или автоматический).
В автоматизированной контролируемой среде манипулируемые показания в нескольких точках могут вызвать ложную обратную связь, которая повышает или понижает напряжение, подтвержденное блоком питания, тем самым повреждая проверяемое устройство.
В производственной системе цифровой мультиметр, функциональные генераторы, осциллограф и тестируемое устройство подключаются к шине LXI или SCPI через RS485 или Ethernet. Краткая и абстрактная последовательность испытаний аналогична описанию в следующей таблице.
Шаг программы | Условие ввода (стимул для DUT) | Настройка измерения (для измерения сигнала вне DUT) | Измерения DUT проведены |
1 | Установите условие ввода 1 (0 градусов C) | ||
2 | Подготовить настройку измерения 1 (напряжение) | ||
3 | Контрольная точка 1 напряжение | ||
4 | Контрольная точка 2 напряжения | ||
5 | Испытательная точка 3 напряжения | ||
6 | Установите условие ввода 2 (25 градусов C) | ||
7 | Контрольная точка 1 напряжение | ||
8 | Контрольная точка 2 напряжения | ||
9 | Испытательная точка 3 напряжения | ||
10 | Установите условие ввода 3 (55 градусов C) | ||
11 | Подготовить настройку измерения 2 (ток) | ||
12 | Точка испытания 1 ток | ||
13 | Точка испытания 2 текущая | ||
14 | Точка испытания 3 ток |
Ссылка скрыта от гостей
Agilent TechnologiesКогда стимул изменяется (то есть, изменение температуры, как в таблице), тестовая система должна ждать стабилизации DUT, прежде чем можно будет проводить измерения. Необходимо измерить чувствительные к времени компоненты (например, контур фазовой синхронизации [PLL] и стабилизацию регулятора с малым выпадением напряжения [LDO]). Если измерением манипулируют, фаза синхронизации ФАПЧ может быть нарушена или ТУ может быть сожжено пусковым током.
Заключение и рекомендации по безопасности
Команды SCPI очень полезны во многих реализациях и могут даже изменять практически любые настройки инструментов, поддерживающих протокол. Хотя в качестве примера для этого блога мы взяли цифровой мультиметр Keysight, протокол SCPI фактически поддерживается основными поставщиками приборов. Вполне возможно, что воздействие может быть ограничено не только в лабораториях с дорогими ИУ, но также и в полупроводниковом автоматизированном испытательном оборудовании (ATE). Закрепление измерительных приборов можно выполнить, следуя нашим рекомендуемым методам, таким как:
- Никогда не выставляйте инструменты в интернет
- Поместите приборы в изолированную сеть или отдельную виртуальную локальную сеть (VLAN), если необходимо подключение Ethernet.
- Установите защитный код (пароль для калибровки), чтобы предотвратить несанкционированное удаление лицензий и калибровку
- Реализуйте схему безопасности в случае, если источник питания подключен к высокоточному DUT (в случае, если выход был подделан в Интернете / интрасети)
- Рассмотрите возможность того, что показания могут быть подделаны в Интернете / интрасети, если показания мультиметра поступают на привод
- Внедрить мониторинг входящего и исходящего трафика (например, на предмет подозрительного поведения или ненормального доступа к лабораторным устройствам)
Ссылка скрыта от гостей