USB төхөөрөмжийг дуурайх зориулалттай Linux модуль болох USB Raw Gadget бэлэн байна

Google-ийн Андрей Коновалов шинэ модуль боловсруулж байна USB түүхий эд хэрэгсэл, зөвшөөрөх хэрэглэгчийн орон зайд USB төхөөрөмжүүдийг дуурайх. Хүлээгдэж байна програм Энэ модулийг Линуксийн үндсэн цөмд оруулахын тулд. USB Raw Gadget аль хэдийн хэрэглэсэн багаж ашиглан USB цөмийн стекийн fuzz тестийг хялбаршуулахын тулд Google дээр syzkaller.

Модуль нь цөмийн дэд системд шинэ програмчлалын интерфейсийг нэмдэг USB хэрэгсэл GadgetFS-ийн өөр хувилбар болгон хөгжүүлж байна. Шинэ API үүсгэх нь USB Gadget дэд системд хэрэглэгчийн орон зайгаас доод түвшний, шууд хандалт хийх хэрэгцээ шаардлагаас үүдэлтэй бөгөөд энэ нь бүх боломжит USB хүсэлтийг боловсруулах боломжийг олгосон (GadgetFS нь зарим хүсэлтийг хэрэглэгчийн орон зайд дамжуулахгүйгээр бие даан боловсруулдаг) . USB Raw Gadget нь GadgetFS-ийн /dev/gadget-тай төстэй /dev/raw-gadget төхөөрөмжөөр удирдагддаг боловч харилцан үйлчлэл нь псевдо-FS гэхээсээ илүү ioctl()-д суурилсан интерфэйсийг ашигладаг.

Шинэ интерфэйс нь хэрэглэгчийн орон зай дахь процессоор бүх USB хүсэлтийг шууд боловсруулахаас гадна USB хүсэлтийн хариуд дурын өгөгдлийг буцаах чадвартай (GadgetFS нь USB тодорхойлогчдын зөв эсэхийг шалгаж, тодорхой хариултуудыг шүүдэг бөгөөд энэ нь илрүүлэхээс сэргийлдэг. USB стекийг бүдгэрүүлэх туршилтын явцад гарсан алдаа). Raw Gadget нь танд тодорхой UDC (USB Device Controller) төхөөрөмж болон драйверийг сонгох боломжийг олгодог бол GadgetFS нь анхны боломжтой UDC төхөөрөмжид хавсаргадаг. Урьдчилан таамаглах нэрсийг өөр өөр UDC-д өгдөг төгсгөлийн цэг нэг төхөөрөмж дотор өөр өөр төрлийн өгөгдөл солилцох сувгуудыг салгах.

Эх сурвалж: opennet.ru

сэтгэгдэл нэмэх