Simbiote рд╣реЗ рдПрдХ Linux рдорд╛рд▓рд╡реЗрдЕрд░ рдЖрд╣реЗ рдЬреЗ рд▓рдкрд╡рдгреНрдпрд╛рд╕рд╛рдареА eBPF рдЖрдгрд┐ LD_PRELOAD рд╡рд╛рдкрд░рддреЗ

Intezer рдЖрдгрд┐ BlackBerry рдордзреАрд▓ рд╕рдВрд╢реЛрдзрдХрд╛рдВрдиреА Simbiote рдХреЛрдбрдиреЗрдо рдЕрд╕рд▓реЗрд▓реЗ рдорд╛рд▓рд╡реЗрдЕрд░ рд╢реЛрдзрд▓реЗ рдЖрд╣реЗ, рдЬреНрдпрд╛рдЪрд╛ рдЙрдкрдпреЛрдЧ Linux рдЪрд╛рд▓рд╡рдгрд╛рд░реНтАНрдпрд╛ рддрдбрдЬреЛрдб рдХреЗрд▓реЗрд▓реНрдпрд╛ рд╕рд░реНрд╡реНрд╣рд░рдордзреНрдпреЗ рдмреЕрдХрдбреЛрдЕрд░ рдЖрдгрд┐ рд░реВрдЯрдХрд┐рдЯ рдЗрдВрдЬреЗрдХреНрдЯ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдХреЗрд▓рд╛ рдЬрд╛рддреЛ. рдЕрдиреЗрдХ рд▓реЕрдЯрд┐рди рдЕрдореЗрд░рд┐рдХрди рджреЗрд╢рд╛рдВрдордзреАрд▓ рд╡рд┐рддреНрддреАрдп рд╕рдВрд╕реНрдерд╛рдВрдЪреНрдпрд╛ рдкреНрд░рдгрд╛рд▓реАрдВрд╡рд░ рдорд╛рд▓рд╡реЗрдЕрд░ рдЖрдврд│реВрди рдЖрд▓реЗ. рд╕рд┐рд╕реНтАНрдЯреАрдорд╡рд░ рд╕рд┐рдВрдмрд┐рдУрдЯ рдЗрдВрд╕реНтАНрдЯреЙрд▓ рдХрд░рдгреНтАНрдпрд╛рд╕рд╛рдареА, рдЖрдХреНрд░рдордг рдХрд░рдгрд╛рд░реНтАНрдпрд╛рдХрдбреЗ рд░реВрдЯ рдНрдХреНтАНрд╕реЗрд╕ рдЕрд╕рдгреЗ рдЖрд╡рд╢реНтАНрдпрдХ рдЖрд╣реЗ, рдЬреЗ рдорд┐рд│рд╡рддрд╛ рдпреЗрддреЗ, рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, рдЕрдирдкреЕрдЪ рдирд╕рд▓реЗрд▓реНрдпрд╛ рднреЗрджреНрдпрддрд╛ рдХрд┐рдВрд╡рд╛ рдЦрд╛рддреЗ рд▓реАрдХрдЪреЗ рд╢реЛрд╖рдг рдХреЗрд▓реНрдпрд╛рдореБрд│реЗ. рд╕рд┐рдореНрдмрд┐рдУрдЯ рддреБрдореНрд╣рд╛рд▓рд╛ рд╣реЕрдХрд┐рдВрдЧрдирдВрддрд░ рд╕рд┐рд╕реНрдЯреАрдордордзреНрдпреЗ рддреБрдордЪреА рдЙрдкрд╕реНрдерд┐рддреА рдордЬрдмреВрдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдкреБрдвреАрд▓ рд╣рд▓реНрд▓реЗ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА, рдЗрддрд░ рджреБрд░реНрднрд╛рд╡рдирд╛рдкреВрд░реНрдг рдНрдкреНрд▓рд┐рдХреЗрд╢рдиреНрд╕рдЪреА рдЕтАНреЕрдХреНрдЯрд┐рд╡реНрд╣рд┐рдЯреА рд▓рдкрд╡рдгреНрдпрд╛рд╕рд╛рдареА рдЖрдгрд┐ рдЧреЛрдкрдиреАрдп рдбреЗрдЯрд╛рдЪреЗ рд╡реНрдпрддреНрдпрдп рдЖрдпреЛрдЬрд┐рдд рдХрд░рдгреНрдпрд╛рд╕ рдЕрдиреБрдорддреА рджреЗрддреЗ.

рд╕рд┐рдореНрдмрд┐рдУрдЯрдЪреЗ рдПрдХ рд╡рд┐рд╢реЗрд╖ рд╡реИрд╢рд┐рд╖реНрдЯреНрдп рдореНрд╣рдгрдЬреЗ рддреЗ рд╕рд╛рдорд╛рдпрд┐рдХ рд▓рд╛рдпрдмреНрд░рд░реАрдЪреНрдпрд╛ рд╕реНрд╡рд░реВрдкрд╛рдд рд╡рд┐рддрд░рд┐рдд рдХреЗрд▓реЗ рдЬрд╛рддреЗ, рдЬреЗ LD_PRELOAD рдпрдВрддреНрд░рдгрд╛ рд╡рд╛рдкрд░реВрди рд╕рд░реНрд╡ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╕реБрд░реВ рдХрд░рддрд╛рдирд╛ рд▓реЛрдб рдХреЗрд▓реЗ рдЬрд╛рддреЗ рдЖрдгрд┐ рдорд╛рдирдХ рд▓рд╛рдпрдмреНрд░рд░реАрдордзреНрдпреЗ рдХрд╛рд╣реА рдХреЙрд▓ рдмрджрд▓рддреЗ. рд╕реНрдкреВрдлрдб рдХреЙрд▓ рд╣рдБрдбрд▓рд░ рдмреЕрдХрдбреЛрдЕрд░-рд╕рдВрдмрдВрдзрд┐рдд рдХреНрд░рд┐рдпрд╛рдХрд▓рд╛рдк рд▓рдкрд╡рддрд╛рдд, рдЬрд╕реЗ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╕реВрдЪреАрдордзреАрд▓ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдЖрдпрдЯрдо рд╡рдЧрд│рдгреЗ, /proc рдордзреАрд▓ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдлрд╛рдпрд▓реАрдВрдЪрд╛ рдкреНрд░рд╡реЗрд╢ рдЕрд╡рд░реЛрдзрд┐рдд рдХрд░рдгреЗ, рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛рдВрдордзреНрдпреЗ рдлрд╛рдпрд▓реА рд▓рдкрд╡рдгреЗ, ldd рдЖрдЙрдЯрдкреБрдЯрдордзреНрдпреЗ рджреБрд░реНрднрд╛рд╡рдирд╛рдкреВрд░реНрдг рд╕рд╛рдорд╛рдпрд┐рдХ рд▓рд╛рдпрдмреНрд░рд░реА рд╡рдЧрд│рдгреЗ (execve рдлрдВрдХреНрд╢рди рд╣рд╛рдпрдЬреЕрдХ рдХрд░рдгреЗ рдЖрдгрд┐ рдХреЙрд▓рдЪреЗ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░рдгреЗ. рдПрдирд╡рд╛рдпрд░рдореЗрдВрдЯ рд╡реНрд╣реЗрд░рд┐рдПрдмрд▓ LD_TRACE_LOADED_OBJECTS) рджреБрд░реНрднрд╛рд╡рдирд╛рдпреБрдХреНрдд рдХреНрд░рд┐рдпрд╛рдХрд▓рд╛рдкрд╛рдВрд╢реА рд╕рдВрдмрдВрдзрд┐рдд рдиреЗрдЯрд╡рд░реНрдХ рд╕реЙрдХреЗрдЯреНрд╕ рджрд╛рдЦрд╡рдд рдирд╛рд╣реАрдд.

рд░рд╣рджрд╛рд░реА рддрдкрд╛рд╕рдгреАрдкрд╛рд╕реВрди рд╕рдВрд░рдХреНрд╖рдг рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА, libpcap рд▓рд╛рдпрдмреНрд░рд░реА рдХрд╛рд░реНрдпреЗ рдкреБрдиреНрд╣рд╛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХреЗрд▓реА рдЬрд╛рддрд╛рдд, /proc/net/tcp рд░реАрдб рдлрд┐рд▓реНрдЯрд░рд┐рдВрдЧ рдЖрдгрд┐ рдПрдХ eBPF рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХрд░реНрдирд▓рдордзреНрдпреЗ рд▓реЛрдб рдХреЗрд▓рд╛ рдЬрд╛рддреЛ, рдЬреЛ рдЯреНрд░реЕрдлрд┐рдХ рд╡рд┐рд╢реНрд▓реЗрд╖рдХрд╛рдВрдЪреНрдпрд╛ рдСрдкрд░реЗрд╢рдирд▓рд╛ рдкреНрд░рддрд┐рдмрдВрдзрд┐рдд рдХрд░рддреЛ рдЖрдгрд┐ рд╕реНрд╡рддрдГрдЪреНрдпрд╛ рдиреЗрдЯрд╡рд░реНрдХ рд╣рдБрдбрд▓рд░рд▓рд╛ рддреГрддреАрдп-рдкрдХреНрд╖рд╛рдЪреНрдпрд╛ рд╡рд┐рдирдВрддреНрдпрд╛ рдЯрд╛рдХреВрди рджреЗрддреЛ. eBPF рдкреНрд░реЛрдЧреНрд░рд╛рдо рдкрд╣рд┐рд▓реНрдпрд╛ рдкреНрд░реЛрд╕реЗрд╕рд░рдордзреНрдпреЗ рд▓реЙрдиреНрдЪ рдХреЗрд▓рд╛ рдЬрд╛рддреЛ рдЖрдгрд┐ рдиреЗрдЯрд╡рд░реНрдХ рд╕реНрдЯреЕрдХрдЪреНрдпрд╛ рд╕рд░реНрд╡рд╛рдд рдЦрд╛рд▓рдЪреНрдпрд╛ рд╕реНрддрд░рд╛рд╡рд░ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рд┐рдд рдХреЗрд▓рд╛ рдЬрд╛рддреЛ, рдЬреЛ рддреБрдореНрд╣рд╛рд▓рд╛ рдирдВрддрд░ рд▓реЙрдиреНрдЪ рдХреЗрд▓реЗрд▓реНрдпрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдХрд╛рдВрд╕рд╣, рдмреЕрдХрдбреЛрдЕрд░ рдиреЗрдЯрд╡рд░реНрдХ рдХреНрд░рд┐рдпрд╛рдХрд▓рд╛рдк рд▓рдкрд╡реВ рджреЗрддреЛ.

рд╕рд┐рдореНрдмрд┐рдУрдЯ рддреБрдореНрд╣рд╛рд▓рд╛ рдлрд╛рдЗрд▓ рд╕рд┐рд╕реНрдЯрдордордзреАрд▓ рдХрд╛рд╣реА рдХреНрд░рд┐рдпрд╛рдХрд▓рд╛рдк рд╡рд┐рд╢реНрд▓реЗрд╖рдХрд╛рдВрдирд╛ рдмрд╛рдпрдкрд╛рд╕ рдХрд░рдгреНрдпрд╛рдЪреА рдкрд░рд╡рд╛рдирдЧреА рджреЗрдЦреАрд▓ рджреЗрддреЗ, рдХрд╛рд░рдг рдЧреЛрдкрдиреАрдп рдбреЗрдЯрд╛рдЪреА рдЪреЛрд░реА рдлрд╛рдЗрд▓реНрд╕ рдЙрдШрдбрдгреНрдпрд╛рдЪреНрдпрд╛ рд╕реНрддрд░рд╛рд╡рд░ рдХреЗрд▓реА рдЬрд╛рдК рд╢рдХрдд рдирд╛рд╣реА, рдкрд░рдВрддреБ рдХрд╛рдпрджреЗрд╢реАрд░ рдЕрдиреБрдкреНрд░рдпреЛрдЧрд╛рдВрдордзреНрдпреЗ рдпрд╛ рдлрд╛рдЗрд▓реНрд╕рдордзреВрди рд╡рд╛рдЪрди рдСрдкрд░реЗрд╢рдиреНрд╕рдордзреНрдпреЗ рдЕрдбрдерд│рд╛ рдЖрдгреВрди (рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, рд▓рд╛рдпрдмреНрд░рд░реАрдЪреА рдЬрд╛рдЧрд╛ рдмрджрд▓рдгреЗ) рдлрдВрдХреНрд╢рдиреНрд╕ рддреБрдореНрд╣рд╛рд▓рд╛ рд╡рд╛рдкрд░рдХрд░реНрддреНрдпрд╛рд▓рд╛ рдкрд╛рд╕рд╡рд░реНрдб рдПрдВрдЯрд░ рдХрд░рдгрд╛рд░реНтАНрдпрд╛ рдХрд┐рдВрд╡рд╛ рдНрдХреНрд╕реЗрд╕ рдХреА рд╡рд╛рдкрд░реВрди рдлрд╛рдЗрд▓ рдбреЗрдЯрд╛ рд▓реЛрдб рдХрд░рдгрд╛рд░реНтАНрдпрд╛рд▓рд╛ рд░реЛрдЦреВ рджреЗрддреЗ). рд░рд┐рдореЛрдЯ рд▓реЙрдЧрд┐рди рдЖрдпреЛрдЬрд┐рдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА, рд╕рд┐рдореНрдмрд┐рдУрдЯ рдХрд╛рд╣реА PAM рдХреЙрд▓реНрд╕ (рдкреНрд▓рдЧреНрдЧреЗрдмрд▓ рдСрдереЗрдВрдЯрд┐рдХреЗрд╢рди рдореЙрдбреНрдпреБрд▓) рдЗрдВрдЯрд░рд╕реЗрдкреНрдЯ рдХрд░рддреЗ, рдЬреЗ рддреБрдореНрд╣рд╛рд▓рд╛ рдХрд╛рд╣реА рдЕрдЯреЕрдХрд┐рдВрдЧ рдХреНрд░реЗрдбреЗрдВрд╢рд┐рдпрд▓реНрд╕рд╕рд╣ SSH рджреНрд╡рд╛рд░реЗ рд╕рд┐рд╕реНрдЯрдорд╢реА рдХрдиреЗрдХреНрдЯ рдХрд░рдгреНрдпрд╛рдЪреА рдкрд░рд╡рд╛рдирдЧреА рджреЗрддреЗ. HTTP_SETTHIS рдкрд░реНрдпрд╛рд╡рд░рдг рд╡реНрд╣реЗрд░рд┐рдПрдмрд▓ рд╕реЗрдЯ рдХрд░реВрди рд░реВрдЯ рд╡рд╛рдкрд░рдХрд░реНрддреНрдпрд╛рд╕рд╛рдареА рддреБрдордЪреЗ рд╡рд┐рд╢реЗрд╖рд╛рдзрд┐рдХрд╛рд░ рд╡рд╛рдврд╡рдгреНрдпрд╛рдЪрд╛ рдПрдХ рдЫреБрдкрд╛ рдкрд░реНрдпрд╛рдп рджреЗрдЦреАрд▓ рдЖрд╣реЗ.

Simbiote - Linux рдорд╛рд▓рд╡реЗрдЕрд░ рдЬреЗ рд▓рдкрд╡рдгреНрдпрд╛рд╕рд╛рдареА eBPF рдЖрдгрд┐ LD_PRELOAD рд╡рд╛рдкрд░рддреЗ


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

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