Приветствуем всех читателей. Сегодня мы проведём
краткий осмотр DICOM: узнаем что это такое, где применяется, какие у системы есть уязвимости. Начнём с объяснений. DICOM — стандарт, применяемый в медицине для передачи данных между медицинским оборудованием и компьютерами конечных пользователей, в основном, это ПК врачей.
Стандарт этот двухуровневый:
●
Первый уровень — файловый. А именно файлы, содержащие данные о пациентах.
●
Второй уровень — сетевой. Или, как его ещё называют, — коммуникационный. Нужен для передачи файлов и команд между оборудованием, сервером и компьютером.
Данные, содержащиеся в файле на первом уровне системы:
● Атрибуты и демографические данные пациента;
● Модель и фирма производителя аппарата, на котором проводилось обследование;
● Атрибуты медицинского учреждения, где было проведено обследование;
● Атрибуты персонала, проводившего обследование пациента;
● Вид обследования и время его проведения;
● Условия и параметры проведения исследования пациента;
● Параметры изображения или серии изображений, записанных в DICOM-файле;
● Изображение, серия или набор серий, полученных при обследовании пациента.
На данный момент в мире около 3000 DICOM-серверов, безопасно настроена очень малая их часть, а остальные уязвимы. Утилиты, например,
findscu и
getscu, реализуют бОльшую часть возможностей по обращению с DICOM-устройствами.
Разберём команду findscu:
-aet <AE_Title> -P -k PatientName="<Имя_пациента>" <ip_адрес> <порт>
Она вытаскивает с сервера все существующие исследования, их список. При подстановке
<*>
в имя пациента видны данные обо всех пациентах. Про
AE Title: в устройствах DICOM используется авторизация по обозначению организации. AE Title и есть это обозначение (
Application Entity Title). Оно может и отсутствовать, и быть стандартным, как это часто встречается в документации от производителя. Действия с системой возможны, если Application Entity Title не задан или задан стандартно. Предположим, найдены данные интересного нам человека или хочется скачать всё. Тогда меняем findscu на getscu, чтобы получить команду:
-aet <AE Title> -P -k PatientName="John Doe" <host> <port>
Готово! Это лишь одна из множества уязвимостей протокола DICOM. До новых встреч!