I tried to get that disabled in Linux. There's a register in the FireWire interface which sets the range of addresses into which external memory access requests can be made. By default, it was at 4GB, even on 64 bit systems. Setting it to zero would break some external kernel debugger, though, so it was left open.
(Firewire isn't DMA. PCI-E is DMA. Firewire is a network cable, over which software sends packets. LAN over FireWire was sometimes done. But there's an optional feature which recognizes special packets for doing word-size loads and stores. This is usually used to talk to dumb slave devices, where you write "registers" to make things happen. It's not needed on a computer, and it's far too slow for bulk transfers. FireWire isn't inherently more vulnerable than a LAN port.)