ืžื™ื™ืงืจืึธืกืึธืคึฟื˜ ื”ืื˜ ืฆื•ื’ืขื’ืจื™ื™ื˜ ืึทืŸ eBPF ื™ืžืคึผืœืึทืžืขื ื˜ื™ื™ืฉืึทืŸ ืคึฟืึทืจ Windows

ืžื™ื™ืงืจืึธืกืึธืคึฟื˜ ื”ืื˜ ืคืืจืขืคื ื˜ืœืขื›ื˜ ืึท ื™ืžืคึผืœืึทืžืขื ื˜ื™ื™ืฉืึทืŸ ืคื•ืŸ ื“ื™ eBPF ืกืึทื‘ืกื™ืกื˜ืขื ืคึฟืึทืจ Windows, ื•ื•ืึธืก ืึทืœืึทื•ื– ืื™ืจ ืฆื• ืงืึทื˜ืขืจ ืึทืจื‘ื™ื˜ืจืึทืจื™ืฉ ื”ืึทื ื“ืœืขืจืก ืคืœื™ืกื ื“ื™ืง ืื•ื™ืฃ ื“ื™ ืงืขืจืŸ ืžื“ืจื’ื” ืคื•ืŸ ืึธืคึผืขืจื™ื™ื˜ื™ื ื’ ืกื™ืกื˜ืขื. eBPF ื’ื™ื˜ ืึท ื‘ื™ื˜ืขืงืึธื“ืข ื™ื‘ืขืจื–ืขืฆืขืจ ื’ืขื‘ื•ื™ื˜ ืื™ืŸ ื“ื™ ืงืขืจืŸ, ื•ื•ืึธืก ืžืื›ื˜ ืขืก ืžืขื’ืœืขืš ืฆื• ืฉืึทืคึฟืŸ ื ืขืฅ ืึธืคึผืขืจืึทืฆื™ืข ื”ืึทื ื“ืœืขืจืก ืœืึธื•ื“ื™ื“ ืคึฟื•ืŸ ื‘ืึทื ื™ืฆืขืจ ืคึผืœืึทืฅ, ืงืึธื ื˜ืจืึธืœื™ืจืŸ ืึทืงืกืขืก ืื•ืŸ ืžืึธื ื™ื˜ืึธืจ ื“ื™ ืึธืคึผืขืจืึทืฆื™ืข ืคื•ืŸ โ€‹โ€‹โ€‹โ€‹ืกื™ืกื˜ืขื. eBPF ืื™ื– ืึทืจื™ื™ึทื ื’ืขืจืขื›ื ื˜ ืื™ืŸ ื“ื™ ืœื™ื ื•ืงืก ืงืขืจืŸ ื–ื™ื ื˜ ืžืขืœื“ื•ื ื’ 3.18 ืื•ืŸ ืึทืœืึทื•ื– ืื™ืจ ืฆื• ืฉืขืคึผืŸ ื™ื ืงืึทืžื™ื ื’ / ืึทื•ื˜ื’ืึธื•ื™ื ื’ ื ืขืฅ ืคึผืึทืงื™ืฅ, ืคึผืึทืงืึทื˜ ืคืึธืจื•ื•ืขืจื“ื™ื ื’, ื‘ืึทื ื“ื•ื•ื™ื“ื˜ ืคืึทืจื•ื•ืึทืœื˜ื•ื ื’, ืกื™ืกื˜ืขื ืจื•ืคืŸ ื™ื ื˜ืขืจืกืขืคึผืฉืึทืŸ, ืึทืงืกืขืก ืงืึธื ื˜ืจืึธืœ ืื•ืŸ ื˜ืจื™ื™ืกื™ื ื’. ื“ืึทื ืง ืฆื• ื“ื™ ื ื•ืฆืŸ ืคื•ืŸ JIT ื–ืึทืžืœื•ื ื’, ื‘ื™ื˜ืขืงืึธื“ืข ืื™ื– ืื™ื‘ืขืจื’ืขื–ืขืฆื˜ ืื™ืŸ ืžืึทืฉื™ืŸ ืื™ื ืกื˜ืจื•ืงืฆื™ืขืก ืื•ืŸ ืขืงืกืึทืงื™ื•ื˜ืึทื“ ืžื™ื˜ ื“ื™ ืคืึธืจืฉื˜ืขืœื•ื ื’ ืคื•ืŸ ืงืึทืžืคึผื™ื™ืœื“ ืงืึธื“. eBPF ืคึฟืึทืจ Windows ืื™ื– ืึธืคึฟืŸ ืžืงื•ืจ ืื•ื ื˜ืขืจ ื“ื™ MIT ื“ืขืจืœื•ื™ื‘ืขื ื™ืฉ.

eBPF ืคึฟืึทืจ Windows ืงืขื ืขืŸ ื–ื™ื™ืŸ ื’ืขื•ื•ื™ื™ื ื˜ ืžื™ื˜ ื™ื’ื–ื™ืกื˜ื™ื ื’ eBPF ืžื›ืฉื™ืจื™ื ืื•ืŸ ื’ื™ื˜ ืึท ื“ื–ืฉืึทื ืขืจื™ืง ืึทืคึผื™ ื’ืขื ื™ืฆื˜ ืคึฟืึทืจ eBPF ืึทืคึผืœืึทืงื™ื™ืฉืึทื ื– ืื•ื™ืฃ ืœื™ื ื•ืงืก. ืฆื•ื•ื™ืฉืŸ ืื ื“ืขืจืข ื–ืื›ืŸ, ื“ื™ ืคึผืจื•ื™ืขืงื˜ ืึทืœืึทื•ื– ืื™ืจ ืฆื• ื–ืึทืžืœืขืŸ ืงืึธื“ ื’ืขืฉืจื™ื‘ืŸ ืื™ืŸ C ืื™ืŸ eBPF ื‘ื™ื˜ืขืงืึธื“ืข ื ื™ืฆืŸ ื“ื™ ื ืึธืจืžืึทืœ ืงืœืึทื ื’-ื‘ืื–ื™ืจื˜ eBPF ืงืึทืžืคึผื™ื™ืœืขืจ ืื•ืŸ ืœื•ื™ืคืŸ eBPF ื”ืึทื ื“ืœืขืจืก ืฉื•ื™ืŸ ื‘ืืฉืืคืŸ ืคึฟืึทืจ ืœื™ื ื•ืงืก ืื•ื™ืฃ ืฉืคึผื™ืฅ ืคื•ืŸ ื“ื™ Windows ืงืขืจืŸ, ืคึผืจืึทื•ื•ื™ื™ื“ื™ื ื’ ืึท ืกืคึผืขืฆื™ืขืœ ืงืึทืžืคึผืึทื˜ืึทื‘ื™ืœืึทื˜ื™ ืฉื™ื›ื˜ืข ืื•ืŸ ืฉื˜ื™ืฆืŸ ื“ื™ ื ืึธืจืžืึทืœ Libbpf. ืึทืคึผื™ ืคึฟืึทืจ ืงืึทืžืคึผืึทื˜ืึทื‘ื™ืœืึทื˜ื™ ืžื™ื˜ ืึทืคึผืœืึทืงื™ื™ืฉืึทื ื– ื•ื•ืึธืก ื™ื ื˜ืขืจืึทืงื˜ ืžื™ื˜ eBPF ืžื’ื™ืœื”. ื“ืึธืก ื›ื•ืœืœ ืœื™ื™ึทืขืจืก ื•ื•ืึธืก ืฆื•ืฉื˜ืขืœืŸ ืœื™ื ื•ืงืก-ื•ื•ื™ ื›ื•ืงืก ืคึฟืึทืจ XDP (ืขืงืกืคึผืจืขืกืก ื“ืึทื˜ืึท ืคึผืึทื˜) ืื•ืŸ ื›ืึธืœืขืœ ื‘ื™ื ื“ืŸ, ืึทื‘ืกื˜ืจืึทืงื˜ื™ื ื’ ืึทืงืกืขืก ืฆื• ื“ื™ ื ืขืฅ ืึธื ืœื™ื™ื’ืŸ ืื•ืŸ Windows ื ืขืฅ ื“ืจื™ื•ื•ืขืจืก. ืคึผืœืึทื ื– ืึทืจื™ื™ึทื ื ืขืžืขืŸ ืคึผืจืึทื•ื•ื™ื™ื“ื™ื ื’ ืคื•ืœ ืžืงื•ืจ ืงืึธื“ ืงืึทืžืคึผืึทื˜ืึทื‘ื™ืœืึทื˜ื™ ืžื™ื˜ ื ืึธืจืžืึทืœ ืœื™ื ื•ืงืก eBPF ืคึผืจืึทืกืขืกืขืจื–.

ืžื™ื™ืงืจืึธืกืึธืคึฟื˜ ื”ืื˜ ืฆื•ื’ืขื’ืจื™ื™ื˜ ืึทืŸ eBPF ื™ืžืคึผืœืึทืžืขื ื˜ื™ื™ืฉืึทืŸ ืคึฟืึทืจ Windows

ื“ืขืจ ืฉืœื™ืกืœ ื—ื™ืœื•ืง ืฆื•ื•ื™ืฉืŸ ื“ื™ eBPF ื™ืžืคึผืœืึทืžืขื ื˜ื™ื™ืฉืึทืŸ ืคึฟืึทืจ Windows ืื™ื– ื“ื™ ื ื•ืฆืŸ ืคื•ืŸ ืึทืŸ ืึธืœื˜ืขืจื ืึทื˜ื™ื•ื• ื‘ื™ื˜ืขืงืึธื“ืข ื•ื•ืขืจืึทืคื™ื™ืขืจ, ืขืจื™ื“ื–ืฉื ืึทืœื™ ืคืืจื’ืขืœื™ื™ื’ื˜ ื“ื•ืจืš VMware ืขืžืคึผืœื•ื™ื™ื– ืื•ืŸ ืจื™ืกืขืจื˜ืฉืขืจื– ืคื•ืŸ ืงืึทื ืึทื“ื™ืึทืŸ ืื•ืŸ ื™ืฉืจืืœ ืื•ื ื™ื•ื•ืขืจืกื™ื˜ืขื˜ืŸ. ื“ื™ ื•ื•ืขืจืึทืคื™ื™ืขืจ ืœื•ื™ืคื˜ ืื™ืŸ ืึท ื‘ืึทื–ื•ื ื“ืขืจ, ืืคื’ืขื–ื•ื ื“ืขืจื˜ ืคึผืจืึธืฆืขืก ืื™ืŸ ื‘ืึทื ื™ืฆืขืจ ืคึผืœืึทืฅ ืื•ืŸ ืื™ื– ื’ืขื ื™ืฆื˜ ืื™ื™ื“ืขืจ ืขืงืกืึทืงื™ื•ื˜ื™ื ื’ BPF ืžื’ื™ืœื” ืฆื• ื™ื“ืขื ื˜ื™ืคื™ืฆื™ืจืŸ ืขืจืจืึธืจืก ืื•ืŸ ืคืึทืจืฉืคึผืึทืจืŸ ืžืขื’ืœืขืš ื‘ื™ื™ื–ืข ื˜ืขื˜ื™ืงื™ื™ื˜.

ืคึฟืึทืจ ื•ื•ืขืจืึทืคืึทืงื™ื™ืฉืึทืŸ, eBPF ืคึฟืึทืจ Windows ื ื™ืฆื˜ ืึท ืกื˜ืึทื˜ื™ืง ืึทื ืึทืœื™ืกื™ืก ืื•ืคึฟืŸ ื‘ืื–ื™ืจื˜ ืื•ื™ืฃ ืึทื‘ืกื˜ืจืึทืงื˜ ื™ื ื˜ืขืจืคึผืจืขื˜ืึทื˜ื™ืึธืŸ, ื•ื•ืึธืก, ืงืึทืžืคึผืขืจื“ ืžื™ื˜ ื“ื™ eBPF ื•ื•ืขืจืึทืคื™ื™ืขืจ ืคึฟืึทืจ ืœื™ื ื•ืงืก, ื“ืขืžืึทื ืกื˜ืจื™ื™ืฅ ืึท ื ื™ื“ืขืจื™ืงืขืจ ืคืึทืœืฉ positive ืงื•ืจืก, ืฉื˜ื™ืฆื˜ ืฉืœื™ื™ืฃ ืึทื ืึทืœื™ืกื™ืก ืื•ืŸ ื’ื™ื˜ ื’ื•ื˜ ืกืงืึทืœืึทื‘ื™ืœื™ื˜ื™. ื“ืขืจ ืื•ืคึฟืŸ ื ืขืžื˜ ืื™ืŸ ื—ืฉื‘ื•ืŸ ืคื™ืœืข ื˜ื™ืคึผื™ืฉ ื“ื•ืจื›ืคื™ืจื•ื ื’ ืคึผืึทื˜ืขืจื ื– ื‘ืืงื•ืžืขืŸ ืคื•ืŸ ื“ื™ ืึทื ืึทืœื™ืกื™ืก ืคื•ืŸ ื™ื’ื–ื™ืกื˜ื™ื ื’ eBPF ืžื’ื™ืœื”.

ื ืึธืš ื•ื•ืขืจืึทืคืึทืงื™ื™ืฉืึทืŸ, ื“ื™ ื‘ื™ื˜ืขืงืึธื“ืข ืื™ื– ื˜ืจืึทื ืกืคืขืจื“ ืฆื• ืึท ื™ื‘ืขืจื–ืขืฆืขืจ ืคืœื™ืกื ื“ื™ืง ืื•ื™ืฃ ื“ื™ ืงืขืจืŸ ืžื“ืจื’ื”, ืึธื“ืขืจ ื“ื•ืจื›ื’ืขื’ืื ื’ืขืŸ ื“ื•ืจืš ืึท JIT ืงืึทืžืคึผื™ื™ืœืขืจ, ื ืื›ื’ืขื’ืื ื’ืขืŸ ื“ื•ืจืš ื“ื•ืจื›ืคื™ืจื•ื ื’ ืคื•ืŸ ื“ื™ ืจื™ื–ืึทืœื˜ื™ื ื’ ืžืึทืฉื™ืŸ ืงืึธื“ ืžื™ื˜ ืงืขืจืŸ ืจืขื›ื˜. ืฆื• ื™ื–ืึธืœื™ืจืŸ eBPF ื”ืึทื ื“ืœืขืจืก ืื•ื™ืฃ ื“ื™ ืงืขืจืŸ ืžื“ืจื’ื”, ื“ื™ HVCI (HyperVisor-Enforced Code Integrity) ืžืขืงืึทื ื™ื–ืึทื ืื™ื– ื’ืขื ื™ืฆื˜, ื•ื•ืึธืก ื ื™ืฆื˜ ื•ื•ื™ืจื˜ื•ืึทืœื™ื–ืึทื˜ื™ืึธืŸ ืžื›ืฉื™ืจื™ื ืฆื• ื‘ืึทืฉื™ืฆืŸ ืคึผืจืึทืกืขืกืึทื– ืื™ืŸ ื“ื™ ืงืขืจืŸ ืื•ืŸ ื’ื™ื˜ ื‘ืึทืฉื˜ืขื˜ื™ืงื•ื ื’ ืคื•ืŸ ื“ื™ ืึธืจื ื˜ืœืขื›ืงื™ื™ึทื˜ ืคื•ืŸ ื“ื™ ืขืงืกืึทืงื™ื•ื˜ื™ื ื’ ืงืึธื“ ืžื™ื˜ ืึท ื“ื™ื’ื™ื˜ืึทืœ ื›ืกื™ืžืข. ื“ื™ ื‘ืึทื’ืจืขื ืขืฆื•ื ื’ ืคื•ืŸ HVCI ืื™ื– ืึทื– ืขืก ืงืขื ืขืŸ ื‘ืœื•ื™ื– ื‘ืึทืฉื˜ืขื˜ื™ืงืŸ ื™ื ื˜ืขืจืคึผืจืึทื˜ืึทื“ eBPF ืžื’ื™ืœื” ืื•ืŸ ืงืขื ืขืŸ ื ื™ื˜ ื–ื™ื™ืŸ ื’ืขื•ื•ื™ื™ื ื˜ ืื™ืŸ ืงืึทื ื“ื–ืฉืึทื ื’ืงืฉืึทืŸ ืžื™ื˜ JIT (ืื™ืจ ื”ืึธื‘ืŸ ืึท ื‘ืจื™ืจื” ืคื•ืŸ ืคืึธืจืฉื˜ืขืœื•ื ื’ ืึธื“ืขืจ ื ืึธืš ื–ื™ื›ืขืจื”ื™ื™ื˜).

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

ืœื™ื™ื’ืŸ ืึท ื‘ืึทืžืขืจืงื•ื ื’