Thunderspy - ืกื“ืจืช ื”ืชืงืคื•ืช ืขืœ ืฆื™ื•ื“ ืขื ืžืžืฉืง Thunderbolt

ื’ื™ืœื” ืžื™ื“ืข ืขืœ ืฉื‘ืข ื ืงื•ื“ื•ืช ืชื•ืจืคื” ื‘ืฆื™ื•ื“ ืขื ืžืžืฉืง Thunderbolt, ืžืื•ื—ื“ ืชื—ืช ืฉื ื”ืงื•ื“ ืจืขื ื•ืœืขืงื•ืฃ ืืช ื›ืœ ืจื›ื™ื‘ื™ ื”ืื‘ื˜ื—ื” ื”ืขื™ืงืจื™ื™ื ืฉืœ Thunderbolt. ื‘ื”ืชื‘ืกืก ืขืœ ื”ื‘ืขื™ื•ืช ืฉื–ื•ื”ื•, ืžื•ืฆืขื™ื ืชืฉืขื” ืชืจื—ื™ืฉื™ ืชืงื™ืคื”, ื”ืžื™ื•ืฉืžื™ื ืื ืœืชื•ืงืฃ ื™ืฉ ื’ื™ืฉื” ืžืงื•ืžื™ืช ืœืžืขืจื›ืช ื‘ืืžืฆืขื•ืช ื—ื™ื‘ื•ืจ ื”ืชืงืŸ ื–ื“ื•ื ื™ ืื• ืžื ื™ืคื•ืœืฆื™ื” ืฉืœ ื”ืงื•ืฉื—ื”.

ืชืจื—ื™ืฉื™ ืชืงื™ืคื” ื›ื•ืœืœื™ื ืืช ื”ื™ื›ื•ืœืช ืœื™ืฆื•ืจ ืžื–ื”ื™ื ืฉืœ ื”ืชืงื ื™ Thunderbolt ืฉืจื™ืจื•ืชื™ื™ื, ืœืฉื›ืคืœ ืžื›ืฉื™ืจื™ื ืžื•ืจืฉื™ื, ื’ื™ืฉื” ืืงืจืื™ืช ืœื–ื™ื›ืจื•ืŸ ื”ืžืขืจื›ืช ื‘ืืžืฆืขื•ืช DMA ื•ืœืขืงื•ืฃ ืืช ื”ื’ื“ืจื•ืช ืจืžืช ื”ืื‘ื˜ื—ื”, ื›ื•ืœืœ ื”ืฉื‘ืชื” ืžื•ื—ืœื˜ืช ืฉืœ ื›ืœ ืžื ื’ื ื•ื ื™ ื”ื”ื’ื ื”, ื—ืกื™ืžืช ื”ืชืงื ืช ืขื“ื›ื•ื ื™ ืงื•ืฉื—ื” ื•ืชืจื’ื•ืžื™ ืžืžืฉืง ืœืžืฆื‘ Thunderbolt ื‘- ืžืขืจื›ื•ืช ืžื•ื’ื‘ืœื•ืช ืœื”ืขื‘ืจืช USB ืื• DisplayPort.

Thunderbolt ื”ื•ื ืžืžืฉืง ืื•ื ื™ื‘ืจืกืœื™ ืœื—ื™ื‘ื•ืจ ื”ืชืงื ื™ื ื”ื™ืงืคื™ื™ื ื”ืžืฉืœื‘ ืžืžืฉืงื™ PCIe (PCI Express) ื•-DisplayPort ื‘ื›ื‘ืœ ืื—ื“. Thunderbolt ืคื•ืชื—ื” ืขืœ ื™ื“ื™ ืื™ื ื˜ืœ ื•ืืคืœ ื•ืžืฉืžืฉืช ื‘ื”ืจื‘ื” ืžื—ืฉื‘ื™ื ื ื™ื™ื“ื™ื ื•ืžื—ืฉื‘ื™ื ืื™ืฉื™ื™ื ืžื•ื“ืจื ื™ื™ื. ื”ืชืงื ื™ Thunderbolt ืžื‘ื•ืกืกื™ PCIe ืžืกื•ืคืงื™ื ืขื DMA I/O, ื”ืžื”ื•ื•ื” ืื™ื•ื ืฉืœ ื”ืชืงืคื•ืช DMA ืœืงืจื™ืื” ื•ืœื›ืชื™ื‘ื” ืฉืœ ื›ืœ ื–ื™ื›ืจื•ืŸ ื”ืžืขืจื›ืช ืื• ืœื›ื™ื“ืช ื ืชื•ื ื™ื ืžื”ืชืงื ื™ื ืžื•ืฆืคื ื™ื. ื›ื“ื™ ืœืžื ื•ืข ื”ืชืงืคื•ืช ื›ืืœื”, Thunderbolt ื”ืฆื™ืข ืืช ื”ืจืขื™ื•ืŸ ืฉืœ ืจืžื•ืช ืื‘ื˜ื—ื”, ื”ืžืืคืฉืจ ืฉื™ืžื•ืฉ ืจืง ื‘ืžื›ืฉื™ืจื™ื ื”ืžื•ืจืฉื™ื ืœืžืฉืชืžืฉ ื•ืžืฉืชืžืฉ ื‘ืื™ืžื•ืช ืงืจื™ืคื˜ื•ื’ืจืคื™ ืฉืœ ื—ื™ื‘ื•ืจื™ื ื›ื“ื™ ืœื”ื’ืŸ ืžืคื ื™ ื–ื™ื•ืฃ ื–ื™ื”ื•ื™.

ื”ืคื’ื™ืขื•ื™ื•ืช ืฉื–ื•ื”ื• ืžืืคืฉืจื•ืช ืœืขืงื•ืฃ ื›ืจื™ื›ื” ื›ื–ื• ื•ืœื—ื‘ืจ ืžื›ืฉื™ืจ ื–ื“ื•ื ื™ ื‘ืžืกื•ื•ื” ืฉืœ ืžื•ืจืฉื”. ื‘ื ื•ืกืฃ, ื ื™ืชืŸ ืœืฉื ื•ืช ืืช ื”ืงื•ืฉื—ื” ื•ืœื”ืขื‘ื™ืจ ืืช ื”-SPI Flash ืœืžืฆื‘ ืงืจื™ืื” ื‘ืœื‘ื“, ืฉื ื™ืชืŸ ืœื”ืฉืชืžืฉ ื‘ื• ื›ื“ื™ ืœื”ืฉื‘ื™ืช ืœื—ืœื•ื˜ื™ืŸ ืืช ืจืžื•ืช ื”ืื‘ื˜ื—ื” ื•ืœืืกื•ืจ ืขื“ื›ื•ื ื™ ืงื•ืฉื—ื” (ื”ื•ื›ื ื• ื›ืœื™ ืขื–ืจ ืœืžื ื™ืคื•ืœืฆื™ื•ืช ื›ืืœื” tcfp ะธ spiblock). ื‘ืกืš ื”ื›ืœ ื ื—ืฉืฃ ืžื™ื“ืข ืขืœ ืฉื‘ืข ื‘ืขื™ื•ืช:

  • ืฉื™ืžื•ืฉ ื‘ืชื›ื ื™ื•ืช ืื™ืžื•ืช ืงื•ืฉื—ื” ืœื ื ืื•ืชื•ืช;
  • ืฉื™ืžื•ืฉ ื‘ืกื›ื™ืžืช ืื™ืžื•ืช ื—ืœืฉื” ืฉืœ ื”ืชืงืŸ;
  • ื˜ืขื™ื ืช ืžื˜ื ื ืชื•ื ื™ื ืžืžื›ืฉื™ืจ ืœื ืžืื•ืžืช;
  • ื–ืžื™ื ื•ืช ืฉืœ ืžื ื’ื ื•ื ื™ ืชืื™ืžื•ืช ืœืื—ื•ืจ ื”ืžืืคืฉืจื™ื ืฉื™ืžื•ืฉ ื‘ื”ืชืงืคื•ืช ื’ืœื’ืœ ืœืื—ื•ืจ ืขืœ ื˜ื›ื ื•ืœื•ื’ื™ื•ืช ืคื’ื™ืขื•ืช;
  • ืฉื™ืžื•ืฉ ื‘ืคืจืžื˜ืจื™ื ืฉืœ ืชืฆื•ืจืช ื‘ืงืจ ืœื ืžืื•ืžืชื™ื;
  • ืชืงืœื•ืช ื‘ืžืžืฉืง ืขื‘ื•ืจ SPI Flash;
  • ื—ื•ืกืจ ื‘ืฆื™ื•ื“ ืžื’ืŸ ื‘ืจืžื” ืžื—ื ื” ืืชื—ื•ืœ.

ื”ืคื’ื™ืขื•ืช ืžืฉืคื™ืขื” ืขืœ ื›ืœ ื”ืžื›ืฉื™ืจื™ื ื”ืžืฆื•ื™ื“ื™ื ื‘-Thunderbolt 1 ื•-2 (ืžื‘ื•ืกืก Mini DisplayPort) ื•-Thunderbolt 3 (ืžื‘ื•ืกืก USB-C). ืขื“ื™ื™ืŸ ืœื ื‘ืจื•ืจ ืื ืžื•ืคื™ืขื•ืช ื‘ืขื™ื•ืช ื‘ืžื›ืฉื™ืจื™ื ืขื USB 4 ื•-Thunderbolt 4, ืฉื›ืŸ ื˜ื›ื ื•ืœื•ื’ื™ื•ืช ืืœื• ื”ื•ื›ืจื–ื• ืจืง ื–ื” ืขืชื” ื•ืื™ืŸ ืขื“ื™ื™ืŸ ื“ืจืš ืœื‘ื“ื•ืง ืืช ื™ื™ืฉื•ืžืŸ. ืœื ื ื™ืชืŸ ืœื‘ื˜ืœ ืคื’ื™ืขื•ื™ื•ืช ื‘ืืžืฆืขื•ืช ืชื•ื›ื ื” ื•ื“ื•ืจืฉื•ืช ืขื™ืฆื•ื‘ ืžื—ื“ืฉ ืฉืœ ืจื›ื™ื‘ื™ ื”ื—ื•ืžืจื”. ืขื ื–ืืช, ืขื‘ื•ืจ ื—ืœืง ืžื”ืžื›ืฉื™ืจื™ื ื”ื—ื“ืฉื™ื ื ื™ืชืŸ ืœื—ืกื•ื ื—ืœืง ืžื”ื‘ืขื™ื•ืช ื”ืงืฉื•ืจื•ืช ืœ-DMA ื‘ืืžืฆืขื•ืช ื”ืžื ื’ื ื•ืŸ ื”ื’ื ืช DMA ืœื™ื‘ื”, ืชืžื™ื›ื” ืขื‘ื•ืจื” ื”ื—ืœื” ืœื”ื™ื•ืช ืžื™ื•ืฉืžืช ื”ื—ืœ ืžืฉื ืช 2019 (ื ืชืžืš ืขืœ ื™ื“ื™ ื‘ืœื™ื‘ืช ืœื™ื ื•ืงืก, ื”ื—ืœ ืžื’ืจืกื” 5.0, ืืชื” ื™ื›ื•ืœ ืœื‘ื“ื•ืง ืืช ื”ื”ื›ืœืœื” ื‘ืืžืฆืขื•ืช "/sys/bus/thunderbolt/devices/domainX/iommu_dma_protection").

ืžืกื•ืคืง ืกืงืจื™ืคื˜ Python ื›ื“ื™ ืœื‘ื“ื•ืง ืืช ื”ืžื›ืฉื™ืจื™ื ืฉืœืš ืฆ'ืง ืจื™ื’ื•ืœ, ื”ื“ื•ืจืฉ ืจื™ืฆื” ื›ืฉื•ืจืฉ ื›ื“ื™ ืœื’ืฉืช ืœื˜ื‘ืœืช DMI, ACPI DMAR ื•-WMI. ื›ื“ื™ ืœื”ื’ืŸ ืขืœ ืžืขืจื›ื•ืช ืคื’ื™ืขื•ืช, ืื ื• ืžืžืœื™ืฆื™ื ืœื ืœื”ืฉืื™ืจ ืืช ื”ืžืขืจื›ืช ืœืœื ื”ืฉื’ื—ื” ืžื•ืคืขืœืช ืื• ื‘ืžืฆื‘ ื”ืžืชื ื”, ืœื ืœื—ื‘ืจ ืžื›ืฉื™ืจื™ Thunderbolt ืฉืœ ืžื™ืฉื”ื• ืื—ืจ, ืœื ืœื”ืฉืื™ืจ ืื• ืœืžืกื•ืจ ืืช ื”ืžื›ืฉื™ืจื™ื ืฉืœืš ืœืื—ืจื™ื, ื•ืœื•ื•ื“ื ืฉื”ืžื›ืฉื™ืจื™ื ืฉืœืš ืžืื•ื‘ื˜ื—ื™ื ืคื™ื–ื™ืช. ืื ืื™ืŸ ืฆื•ืจืš ื‘-Thunderbolt, ืžื•ืžืœืฅ ืœื”ืฉื‘ื™ืช ืืช ื‘ืงืจ ื”-Thunderbolt ื‘-UEFI ืื• ื‘-BIOS (ื”ื“ื‘ืจ ืขืœื•ืœ ืœื’ืจื•ื ืœื™ืฆื™ืื•ืช ื”-USB ื•ื”-DisplayPort ืœื ืœืขื‘ื•ื“ ืื ื”ืŸ ืžื™ื•ืฉืžื•ืช ื‘ืืžืฆืขื•ืช ื‘ืงืจ Thunderbolt).

ืžืงื•ืจ: OpenNet.ru

ื”ื•ืกืคืช ืชื’ื•ื‘ื”