USB рдХрдЪреНрдЪрд╛ рдЧреНрдпрд╛рдЬреЗрдЯ, USB рдЙрдкрдХрд░рдгрд╣рд░реВ рдЕрдиреБрдХрд░рдг рдЧрд░реНрдирдХреЛ рд▓рд╛рдЧрд┐ рд▓рд┐рдирдХреНрд╕ рдореЛрдбреНрдпреБрд▓ рдЙрдкрд▓рдмреНрдз рдЫ

Google рдмрд╛рдЯ Andrey Konovalov рдПрдХ рдирдпрд╛рдБ рдореЛрдбреНрдпреБрд▓ рд╡рд┐рдХрд╛рд╕ рдЧрд░реНрджреИ рд╣реБрдиреБрд╣реБрдиреНрдЫ USB рдХрдЪреНрдЪрд╛ рдЧреНрдпрд╛рдЬреЗрдЯ, рдЕрдиреБрдорддрд┐ рджрд┐рдБрджреИ рдкреНрд░рдпреЛрдЧрдХрд░реНрддрд╛ рдард╛рдЙрдБрдорд╛ USB рдЙрдкрдХрд░рдгрд╣рд░реВ рдЕрдиреБрдХрд░рдг рдЧрд░реНрдиреБрд╣реЛрд╕реНред рд╡рд┐рдЪрд╛рд░рд╛рдзреАрди рдЫ рдЖрд╡реЗрджрди рдореБрдЦреНрдп рд▓рд┐рдирдХреНрд╕ рдХрд░реНрдиреЗрд▓рдорд╛ рдпреЛ рдореЛрдбреНрдпреБрд▓ рд╕рдорд╛рд╡реЗрд╢ рдЧрд░реНрдирдХрд╛ рд▓рд╛рдЧрд┐ред USB рдХрдЪреНрдЪрд╛ рдЧреНрдпрд╛рдЬреЗрдЯ рдкрд╣рд┐рд▓реЗ рдиреИ рд▓рд╛рдЧреВ рдЧрд░рд┐рдпреЛ рдЙрдкрдХрд░рдгрд╣рд░реВ рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ USB рдХрд░реНрдиреЗрд▓ рд╕реНрдЯреНрдпрд╛рдХрдХреЛ рдлрдЬ рдкрд░реАрдХреНрд╖рдгрд▓рд╛рдИ рд╕рд░рд▓ рдмрдирд╛рдЙрди Google рдорд╛ syzkaller.

рдореЛрдбреНрдпреБрд▓рд▓реЗ рдХрд░реНрдиреЗрд▓ рдЙрдкрдкреНрд░рдгрд╛рд▓реАрдорд╛ рдирдпрд╛рдБ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдЩ рдЗрдиреНрдЯрд░рдлреЗрд╕ рдердкреНрдЫ USB рдЧреНрдпрд╛рдЬреЗрдЯ рд░ GadgetFS рдХреЛ рдПрдХ рд╡рд┐рдХрд▓реНрдкрдХреЛ рд░реВрдкрдорд╛ рд╡рд┐рдХрд╕рд┐рдд рдЧрд░рд┐рдПрдХреЛ рдЫред рдирдпрд╛рдБ API рдХреЛ рд╕рд┐рд░реНрдЬрдирд╛ рдкреНрд░рдпреЛрдЧрдХрд░реНрддрд╛ рд╕реНрдкреЗрд╕рдмрд╛рдЯ USB рдЧреНрдпрд╛рдЬреЗрдЯ рдЙрдкрдкреНрд░рдгрд╛рд▓реАрдорд╛ рдХрдо-рд╕реНрддрд░ рд░ рдкреНрд░рддреНрдпрдХреНрд╖ рдкрд╣реБрдБрдЪ рдкреНрд░рд╛рдкреНрдд рдЧрд░реНрди рдЖрд╡рд╢реНрдпрдХ рдЫ, рдпрд╕рд▓реЗ рд╕рдмреИ рд╕рдореНрднрд╛рд╡рд┐рдд USB рдЕрдиреБрд░реЛрдзрд╣рд░реВ рдкреНрд░рд╢реЛрдзрди рдЧрд░реНрди рдЕрдиреБрдорддрд┐ рджрд┐рдиреНрдЫ (рдЧреНрдпрд╛рдЬреЗрдЯрдПрдлрдПрд╕рд▓реЗ рдкреНрд░рдпреЛрдЧрдХрд░реНрддрд╛ рд╕реНрдкреЗрд╕рдорд╛ рдкрд╛рд╕ рдирдЧрд░реА рдХреЗрд╣реА рдЕрдиреБрд░реЛрдзрд╣рд░реВ рд╕реНрд╡рддрдиреНрддреНрд░ рд░реВрдкрдорд╛ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдЧрд░реНрджрдЫ)ред ред USB рдХрдЪреНрдЪрд╛ рдЧреНрдпрд╛рдЬреЗрдЯ /dev/raw-gadget рдЙрдкрдХрд░рдг рдорд╛рд░реНрдлрдд рдирд┐рдпрдиреНрддреНрд░рд┐рдд рд╣реБрдиреНрдЫ, GadgetFS рдорд╛ /dev/gadget рдЬрд╕реНрддреИ, рддрд░ рдЕрдиреНрддрд░рдХреНрд░рд┐рдпрд╛рд▓реЗ рдЫрджреНрдо-FS рдХреЛ рд╕рдЯреНрдЯрд╛ ioctl()-рдЖрдзрд╛рд░рд┐рдд рдЗрдиреНрдЯрд░рдлреЗрд╕ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрджрдЫред

рдкреНрд░рдпреЛрдЧрдХрд░реНрддрд╛ рдЕрдиреНрддрд░рд┐рдХреНрд╖рдорд╛ рдПрдХ рдкреНрд░рдХреНрд░рд┐рдпрд╛рджреНрд╡рд╛рд░рд╛ рд╕рдмреИ USB рдЕрдиреБрд░реЛрдзрд╣рд░реВрдХреЛ рдкреНрд░рддреНрдпрдХреНрд╖ рдкреНрд░рд╢реЛрдзрдирдХреЛ рдЕрддрд┐рд░рд┐рдХреНрдд, рдирдпрд╛рдБ рдЗрдиреНрдЯрд░рдлреЗрд╕рд▓реЗ USB рдЕрдиреБрд░реЛрдзрдХреЛ рдЬрд╡рд╛рдлрдорд╛ рдХреБрдиреИ рдкрдирд┐ рдбреЗрдЯрд╛ рдлрд┐рд░реНрддрд╛ рдЧрд░реНрдиреЗ рдХреНрд╖рдорддрд╛ рдкрдирд┐ рд╕рдорд╛рд╡реЗрд╢ рдЧрд░реНрджрдЫ (рдЧреНрдпрд╛рдЬреЗрдЯрдПрдлрдПрд╕рд▓реЗ USB рд╡рд░реНрдгрдирдХрд░реНрддрд╛рд╣рд░реВрдХреЛ рд╢реБрджреНрдзрддрд╛ рдЬрд╛рдБрдЪ рдЧрд░реНрджрдЫ рд░ рдирд┐рд╢реНрдЪрд┐рдд рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛рд╣рд░реВ рдлрд┐рд▓реНрдЯрд░ рдЧрд░реНрджрдЫ, рдЬрд╕рд▓реЗ рдкрддреНрддрд╛ рд▓рдЧрд╛рдЙрди рд░реЛрдХреНрдЫред USB рд╕реНрдЯреНрдпрд╛рдХрдХреЛ рдлрдЬ рдкрд░реАрдХреНрд╖рдгрдХреЛ рдХреНрд░рдордорд╛ рддреНрд░реБрдЯрд┐рд╣рд░реВ)ред рдХрдЪреНрдЪрд╛ рдЧреНрдпрд╛рдЬреЗрдЯрд▓реЗ рддрдкрд╛рдИрдВрд▓рд╛рдИ рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ UDC (USB рдЙрдкрдХрд░рдг рдирд┐рдпрдиреНрддреНрд░рдХ) рдЙрдкрдХрд░рдг рд░ рдбреНрд░рд╛рдЗрднрд░рд▓рд╛рдИ рд╕рдВрд▓рдЧреНрди рдЧрд░реНрди рдЪрдпрди рдЧрд░реНрдиреЗ рдХреНрд╖рдорддрд╛ рдкрдирд┐ рджрд┐рдиреНрдЫ, рдЬрдмрдХрд┐ GadgetFS рд▓реЗ рдкрд╣рд┐рд▓реЛ рдЙрдкрд▓рдмреНрдз UDC рдЙрдкрдХрд░рдгрдорд╛ рд╕рдВрд▓рдЧреНрди рдЧрд░реНрджрдЫред рдЕрдиреБрдорд╛рдирд┐рдд рдирд╛рдорд╣рд░реВ рд╡рд┐рднрд┐рдиреНрди UDC рд▓рд╛рдИ рддреЛрдХрд┐рдПрдХрд╛ рдЫрдиреН рдЕрдиреНрддрдмрд┐рдиреНрджреБ рдПрдЙрдЯреИ рдпрдиреНрддреНрд░ рднрд┐рддреНрд░ рд╡рд┐рднрд┐рдиреНрди рдкреНрд░рдХрд╛рд░рдХрд╛ рдбрд╛рдЯрд╛ рдПрдХреНрд╕рдЪреЗрдиреНрдЬ рдЪреНрдпрд╛рдирд▓рд╣рд░реВ рдЕрд▓рдЧ рдЧрд░реНрдиред

рд╕реНрд░реЛрдд: opennet.ru

рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдердкреНрди