USB Raw Gadget, ืึท ืœื™ื ื•ืงืก ืžืึธื“ื•ืœืข ืคึฟืึทืจ ืขืžื•ืœืึทื˜ื™ื ื’ ื•ืกื‘ ื“ืขื•ื•ื™ืกืขืก, ืื™ื– ื‘ื ื™ืžืฆื

Andrey Konovalov ืคึฟื•ืŸ Google ืื™ื– ื“ืขื•ื•ืขืœืึธืคึผื™ื ื’ ืึท ื ื™ื™ึทืข ืžืึธื“ื•ืœืข ื•ืกื‘ ืจืึท ื”ืึทืžืฆืึธืข, ืึทืœืึทื•ื™ื ื’ ืขืžื™ืึทืœื™ื™ื˜ ื•ืกื‘ ื“ืขื•ื•ื™ืกืขืก ืื™ืŸ ื‘ืึทื ื™ืฆืขืจ ืคึผืœืึทืฅ. ืื™ื– ืคึผืขื ื“ื™ื ื’ ืึทืคึผืœืึทืงื™ื™ืฉืึทืŸ ืคึฟืึทืจ ื™ื ืงืœื•ื–ืฉืึทืŸ ืคื•ืŸ ื“ืขื ืžืึธื“ื•ืœืข ืื™ืŸ ื“ื™ ื”ื•ื™ืคึผื˜ ืœื™ื ื•ืงืก ืงืขืจืŸ. USB Raw Gadget ืฉื•ื™ืŸ ื’ืขื•ื•ืขื ื“ื˜ ื‘ื™ื™ Google ืฆื• ืคืึทืจืคึผืึธืฉืขื˜ืขืจืŸ ืคื•ื– ื˜ืขืกื˜ื™ื ื’ ืคื•ืŸ ื“ื™ ื•ืกื‘ ืงืขืจืŸ ืึธื ืœื™ื™ื’ืŸ ืžื™ื˜ ืžื›ืฉื™ืจื™ื syzkaller.

ื“ืขืจ ืžืึธื“ื•ืœืข ืžื•ืกื™ืฃ ืึท ื ื™ื™ึทืข ืคึผืจืึธื’ืจืึทืžืžื™ื ื’ ืฆื•ื‘ื™ื ื“ ืฆื• ื“ื™ ืงืขืจืŸ ืกืึทื‘ืกื™ืกื˜ืึทื ื•ืกื‘ ื”ืึทืžืฆืึธืข ืื•ืŸ ืื™ื– ื“ืขื•ื•ืขืœืึธืคึผืขื“ ื•ื•ื™ ืึทืŸ ืึธืœื˜ืขืจื ืึทื˜ื™ื•ื• ืฆื• GadgetFS. ื“ื™ ืฉืึทืคื•ื ื’ ืคื•ืŸ ืึท ื ื™ื™ึทืข ืึทืคึผื™ ืื™ื– ื’ืขื˜ืจื™ื‘ืŸ ื“ื•ืจืš ื“ื™ ื ื•ื™ื˜ ืฆื• ื‘ืึทืงื•ืžืขืŸ ื ื™ื“ืขืจื™ืง-ืžื“ืจื’ื” ืื•ืŸ ื“ื™ืจืขืงื˜ ืึทืงืกืขืก ืฆื• ื“ื™ ื•ืกื‘ ื”ืึทืžืฆืึธืข ืกืึทื‘ืกื™ืกื˜ืึทื ืคึฟื•ืŸ ื‘ืึทื ื™ืฆืขืจ ืคึผืœืึทืฅ, ืึทืœืึทื•ื™ื ื’ ืขืก ืฆื• ืคึผืจืึธืฆืขืก ืึทืœืข ืžืขื’ืœืขืš ื•ืกื‘ ืจื™ืงื•ื•ืขืก (GadgetFS ืคึผืจืึทืกืขืกืึทื– ืขื˜ืœืขื›ืข ืจื™ืงื•ื•ืขืก ื™ื ื“ื™ืคึผืขื ื“ืึทื ื˜ืœื™, ืึธืŸ ืคืึธืจืŸ ืขืก ืฆื• ื‘ืึทื ื™ืฆืขืจ ืคึผืœืึทืฅ) . ื“ื™ ื•ืกื‘ ืจืึท ื”ืึทืžืฆืึธืข ืื™ื– ืงืึทื ื˜ืจืึธื•ืœื“ ื“ื•ืจืš ื“ื™ /dev/raw-gadget ืžื™ื˜ืœ, ืขื ืœืขืš ืฆื• /dev/gadget ืื™ืŸ GadgetFS, ืึธื‘ืขืจ ื“ื™ ื™ื ื˜ืขืจืึทืงืฉืึทืŸ ื ื™ืฆื˜ ืึทืŸ ioctl()-ื‘ืื–ื™ืจื˜ ืฆื•ื‘ื™ื ื“ ืืœื ื•ื•ื™ ืึท ืคึผืกืขื•ื•ื“ืึธ-FS.

ืื™ืŸ ืึทื“ื™ืฉืึทืŸ ืฆื• ื“ื™ืจืขืงื˜ ืคึผืจืึทืกืขืกื™ื ื’ ืคื•ืŸ ืึทืœืข ื•ืกื‘ ืจื™ืงื•ื•ืขืก ื“ื•ืจืš ืึท ืคึผืจืึธืฆืขืก ืื™ืŸ ื‘ืึทื ื™ืฆืขืจ ืคึผืœืึทืฅ, ื“ื™ ื ื™ื™ึทืข ืฆื•ื‘ื™ื ื“ ืื•ื™ืš ืคึฟืขื™ึดืงื™ื™ื˜ืŸ ื“ื™ ืคื™ื™ื™ืงื™ื™ื˜ ืฆื• ืฆื•ืจื™ืงืงื•ืžืขืŸ ืงื™ื™ืŸ ื“ืึทื˜ืŸ ืื™ืŸ ืขื ื˜ืคืขืจ ืฆื• ืึท ื•ืกื‘ ื‘ืขื˜ืŸ (GadgetFS ืงืึธื ื˜ืจืึธืœื™ืจืŸ ื“ื™ ื’ื™ืœื˜ื™ืงื™ื™ึทื˜ ืคื•ืŸ ื•ืกื‘ ื“ื™ืกืงืจื™ืคึผื˜ืึธืจืก ืื•ืŸ ืคื™ืœื˜ืขืจืก ืื•ื™ืก ื–ื™ื›ืขืจ ืจืขืกืคึผืึธื ืกืขืก, ื•ื•ืึธืก ืคึผืจื™ื•ื•ืขื ืฅ ืขืจืจืึธืจืก ืคื•ืŸ ื“ื™ื˜ืขืงื˜ืึทื“ ื‘ืขืฉืึทืก ืคืึทื– ื˜ืขืกื˜ื™ื ื’ ืคื•ืŸ ื“ื™ ื•ืกื‘ ืึธื ืœื™ื™ื’ืŸ). Raw Gadget ืื•ื™ืš ื’ื™ื˜ ืื™ืจ ื“ื™ ืคื™ื™ื™ืงื™ื™ื˜ ืฆื• ืื•ื™ืกืงืœื™ื™ึทื‘ืŸ ืึท ืกืคึผืขืฆื™ืคื™ืฉ UDC (USB Device Controller) ืžื™ื˜ืœ ืื•ืŸ ืฉืึธืคืขืจ ืฆื• ืคืึทืจื‘ื™ื ื“ืŸ ืฆื•, ื‘ืฉืขืช GadgetFS ืึทื˜ืึทื˜ืฉื™ื– ืฆื• ื“ืขืจ ืขืจืฉื˜ืขืจ ื‘ื ื™ืžืฆื UDC ืžื™ื˜ืœ. ืคึผืจื™ื“ื™ืงื˜ืึทื‘ืึทืœ ื ืขืžืขืŸ ื–ืขื ืขืŸ ืึทืกื™ื™ื ื“ ืฆื• ืคืึทืจืฉื™ื“ืขื ืข UDCs ืขื ื“ืคึผื•ื™ื ื˜ ืฆื• ื‘ืึทื–ื•ื ื“ืขืจ ืคืึทืจืฉื™ื“ืขื ืข ื˜ื™ื™ืคึผืก ืคื•ืŸ ื“ืึทื˜ืŸ ื•ื•ืขืงืกืœ ื˜ืฉืึทื ืึทืœื– ืื™ืŸ ืื™ื™ืŸ ืžื™ื˜ืœ.

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

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