如何验证医学图像文件

How to validate medical image files

我对验证某些格式的医学图像文件很感兴趣。当我说验证时,我的意思是确保它们确实是那种文件,而不是伪装成文件的恶意软件。因此,例如,如果某人有一个文件 virus.exe 并且他们将其更改为 virus.dcm 我想知道它不是合法的 .dcm 文件

我看到一个回答 for validating dicom files,它说我应该查看某个标签的偏移量 0x80。但我不确定是否有人可以将该标签插入 virus.dcm.

我要验证的文件类型是 DICOM 文件(.dcm、.PAR/.REC)、NIFTI 文件(.nii、.nii.gz)、ANALYZE 文件(.img/.hdr)、和 .zip 文件

我不是在寻找代码本身(尽管那会很好),但我想知道区分这些类型的合法文件和已更改为看起来像的恶意软件文件的最佳方法是什么这些文件。

验证 dicom 文件非常困难:问题在于 DICOM 标准允许文件的前 128 个字节包含任何内容(包括可执行代码)。在前 128 个字节之后是 DICM 签名(偏移量 0x80)。

因此,即使您设法打开 DICOM 文件并在 DICOM 查看器中看到有效的图像和标签,该文件的前 128 个字节仍可能包含可执行代码(它可能包含指向某些部分的指针DICOM 数据的结尾)。

我建议在 Linux 上使用 chmod 或在 Windows

上使用 this suggestion 将所有 DICOM 文件标记为不可执行