рднреЗрджреНрдпрддрд╛ рдЬреА рддреБрдореНрд╣рд╛рд▓рд╛ QEMU рд╡реЗрдЧрд│реНрдпрд╛ рд╡рд╛рддрд╛рд╡рд░рдгрд╛рддреВрди рдмрд╛рд╣реЗрд░ рдкрдбрдгреНрдпрд╛рдЪреА рдкрд░рд╡рд╛рдирдЧреА рджреЗрддреЗ

рдкреНрд░рдХрдЯ рдЧрдВрднреАрд░ рдЕрд╕реБрд░рдХреНрд╖рд╛ рддрдкрд╢реАрд▓ (рд╕реАрд╡реНрд╣реАрдИ- 2019-14378) рдбреАрдлреЙрд▓реНрдЯ SLIRP рд╣рдБрдбрд▓рд░рдордзреНрдпреЗ QEMU рдордзреНрдпреЗ рд╡рд╛рдкрд░рдгреНрдпрд╛рдд рдЖрд▓реЗрд▓рд╛ рд╡реНрд╣рд░реНрдЪреНрдпреБрдЕрд▓ рдиреЗрдЯрд╡рд░реНрдХ рдЕрдбреЕрдкреНрдЯрд░ рдЖрдгрд┐ QEMU рдмрд╛рдЬреВрд▓рд╛ рдиреЗрдЯрд╡рд░реНрдХ рдмреЕрдХрдПрдВрдб рджрд░рдореНрдпрд╛рди рд╕рдВрд╡рд╛рдж рдЪреЕрдиреЗрд▓ рд╕реНрдерд╛рдкрд┐рдд рдХреЗрд▓рд╛ рдЬрд╛рддреЛ. рд╕рдорд╕реНрдпрд╛ KVM-рдЖрдзрд╛рд░рд┐рдд рд╡реНрд╣рд░реНрдЪреНрдпреБрдЕрд▓рд╛рдпрдЭреЗрд╢рди рд╕рд┐рд╕реНрдЯрдорд▓рд╛ рджреЗрдЦреАрд▓ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд░рддреЗ (рдордзреНрдпреЗ рд╡рд╛рдкрд░рдХрд░реНрддрд╛ рдореЛрдб) рдЖрдгрд┐ рд╡реНрд╣рд░реНрдЪреНрдпреБрдЕрд▓рдмреЙрдХреНрд╕, рдЬреЗ QEMU рд╡рд░реВрди рд╕реНрд▓рд┐рд░реНрдк рдмреЕрдХрдПрдВрдб рд╡рд╛рдкрд░рддрд╛рдд, рддрд╕реЗрдЪ рд╡рд╛рдкрд░рдХрд░реНрддрд╛-рд╕реНрдкреЗрд╕ рдиреЗрдЯрд╡рд░реНрдХрд┐рдВрдЧ рд╕реНрдЯреЕрдХ рд╡рд╛рдкрд░рдгрд╛рд░реЗ рдЕрдиреБрдкреНрд░рдпреЛрдЧ libSLIRP (TCP/IP рдПрдореБрд▓реЗрдЯрд░).

рдЕрддрд┐рдереА рд╕рд┐рд╕реНрдЯреАрдордордзреВрди рд╡рд┐рд╢реЗрд╖ рдбрд┐рдЭрд╛рдЗрди рдХреЗрд▓реЗрд▓реЗ рдЦреВрдк рдореЛрдареЗ рдиреЗрдЯрд╡рд░реНрдХ рдкреЕрдХреЗрдЯ рдкрд╛рдард╡рд▓реЗ рдЬрд╛рддреЗ, рдЬреНрдпрд╛рд╕рд╛рдареА рд╡рд┐рдЦрдВрдбрди рдЖрд╡рд╢реНрдпрдХ рдЕрд╕рддреЗ рддреЗрд╡реНрд╣рд╛ рднреЗрджреНрдпрддрд╛ QEMU рд╣рдБрдбрд▓рд░ рдкреНрд░рдХреНрд░рд┐рдпреЗрдЪреНрдпрд╛ рдЕрдзрд┐рдХрд╛рд░рд╛рдВрд╕рд╣ рд╣реЛрд╕реНрдЯ рд╕рд┐рд╕реНрдЯрдо рдмрд╛рдЬреВрд▓рд╛ рдХреЛрдб рдХрд╛рд░реНрдпрд╛рдиреНрд╡рд┐рдд рдХрд░рдгреНрдпрд╛рд╕ рдЕрдиреБрдорддреА рджреЗрддреЗ. ip_reass() рдлрдВрдХреНрд╢рдирдордзреАрд▓ рддреНрд░реБрдЯреАрдореБрд│реЗ, рдЬреНрдпрд╛рд▓рд╛ рдЗрдирдХрдорд┐рдВрдЧ рдкреЕрдХреЗрдЯреНрд╕ рдкреБрдиреНрд╣рд╛ рдПрдХрддреНрд░ рдХрд░рддрд╛рдирд╛ рдореНрд╣рдгрддрд╛рдд, рдкрд╣рд┐рд▓рд╛ рддреБрдХрдбрд╛ рд╡рд╛рдЯрдк рдХреЗрд▓реЗрд▓реНрдпрд╛ рдмрдлрд░рдордзреНрдпреЗ рдмрд╕реВ рд╢рдХрдд рдирд╛рд╣реА рдЖрдгрд┐ рддреНрдпрд╛рдЪреА рд╢реЗрдкрдЯреА рдмрдлрд░рдЪреНрдпрд╛ рдкреБрдвреАрд▓ рдореЗрдорд░реА рднрд╛рдЧрд╛рдд рд▓рд┐рд╣рд┐рд▓реА рдЬрд╛рдИрд▓.

рдЖрдзреАрдЪ рдЪрд╛рдЪрдгреАрд╕рд╛рдареА рдЙрдкрд▓рдмреНрдз рдПрдХреНрд╕реНрдкреНрд▓реЙрдпрдЯрдЪрд╛ рдПрдХ рдХрд╛рд░реНрдпрд░рдд рдкреНрд░реЛрдЯреЛрдЯрд╛рдЗрдк, рдЬреЛ ASLR рдмрд╛рдпрдкрд╛рд╕ рдХрд░рдгреЗ рдЖрдгрд┐ рдЯрд╛рдЗрдорд░рджреНрд╡рд╛рд░реЗ рдХреЙрд▓ рдХреЗрд▓реЗрд▓реНрдпрд╛ рд╣рдБрдбрд▓рд░реНрд╕рд╕рд╣ QEMUTimerList рд╕рд╣ main_loop_tlg рдЕреЕрд░реЗрдЪреА рдореЗрдорд░реА рдУрд╡реНрд╣рд░рд░рд╛рдИрдЯ рдХрд░реВрди рдХреЛрдб рдХрд╛рд░реНрдпрд╛рдиреНрд╡рд┐рдд рдХрд░рдгреНрдпрд╛рдЪреА рддрд░рддреВрдж рдХрд░рддреЛ.
рдордзреНрдпреЗ рдЕрд╕реБрд░рдХреНрд╖рд╛ рдЖрдзреАрдЪ рдирд┐рд╢реНрдЪрд┐рдд рдХреЗрд▓реА рдЧреЗрд▓реА рдЖрд╣реЗ Fedora ╨╕ SUSE/openSUSE, рдкрд░рдВрддреБ рдордзреНрдпреЗ рдЕрд╕реБрдзрд╛рд░рд┐рдд рд░рд╛рд╣рддреЗ рдбреЗрдмрд┐рдпрди, рдЖрд░реНрдХ рд▓рд┐рдирдХреНрд╕ ╨╕ FreeBSD. рдж рдЙрдмрдВрдЯреВ ╨╕ рд░рд╣реЗрд▓ рд╕реНрд▓рд┐рдк рди рд╡рд╛рдкрд░рд▓реНрдпрд╛рдиреЗ рд╕рдорд╕реНрдпрд╛ рджрд┐рд╕реВрди рдпреЗрдд рдирд╛рд╣реА. рдирд╡реАрдирддрдо рд░рд┐рд▓реАрдЭрдордзреНрдпреЗ рдЕрд╕реБрд░рдХреНрд╖рд╛ рдХрд╛рдпрдо рдЖрд╣реЗ libslirp 4.0 (рдирд┐рд░рд╛рдХрд░рдг рд╕рдзреНрдпрд╛ рдЙрдкрд▓рдмреНрдз рдЖрд╣реЗ рдкреЕрдЪ).

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

рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдЬреЛрдбрд╛