r1 ➤ r2 |
2 | [Include(틀:가져옴,O=넥스32 위키, C=[[http://www.gnu.org/licenses/fdl-1.3.html|GNU Free Documentation License 1.3]], L=[[https://web.archive.org/web/20210728145242/https://wiki.nex32.net/%EC%9A%A9%EC%96%B4/dma_%EA%B3%B5%EA%B2%A9|링크]])] |
11 | 운영체제는 메모리에 접근하는 장치 및 접근에 대한 제어 기능을 갖추고 있으며, 접근하는 장치 및 접근자에 대한 무결성 검사를 거친다. 이를 통해 허가 없는 장치 및 접근자가 커널 디버깅 상태 변경을 하려는 접근을 막고 시스템의 안정성과 제어권을 보호한다. 그러나 IEEE1394 방식의 장비는 IEEE1394의 통신 방식인 [[SBP-2(Serial Bus Protocol 2)]] 방식을 통해 데이터를 주고 받는데, 이 중간에 SBP-2 하드웨어의 ID를 검사하여 무결성을 인증한 이후에 운영체제 범위 밖의 장치에서 하드웨어 ID를 스푸핑할 수 있다. 운영체제에서 인증되어 DMA 접근을 허가받은 SBP-2 방식의 장비는 운영체제의 관리를 벗어나 직접 메모리에 접근, 읽기와 쓰기를 할 수 있게 된다. 이를 통해 접근된 물리 메모리 상에서 운영체제의 암호화 키를 탈취하는 것이 가능하며, 이를 통해 운영체제의 전체 권한을 탈취하는 것이 가능하다. |
18 | 그러나 외장 인터페이스인 IEEE1394 방식과 PCI의 플러그 앤 플레이 규격인 PCMCIA, PCI-Express의 플러그 앤 플레이 규격인 ExpressCard는 이러한 문제로부터 자유롭지 못하다. 이것은 PCI-Express 기반의 확장 인터페이스인 [[썬더볼트 (ThunderBolt) 인터페이스]] 또한 마찬가지이다. |
25 | 때문에 이러한 기능이 갖춰지지 않은 시스템에서 중요 데이터 및 작업을 관리할 필요가 있을 경우 바이오스 등에서 해당 인터페이스의 접근을 막아두는 것을 권장하고 있다. |
26 | |
27 | [Include(틀:가져옴,O=넥스32 위키, C=[[http://www.gnu.org/licenses/fdl-1.3.html|GNU Free Documentation License 1.3]], L=[[https://web.archive.org/web/20210728145242/https://wiki.nex32.net/%EC%9A%A9%EC%96%B4/dma_%EA%B3%B5%EA%B2%A9|링크]])] |