рдЪрд┐рдбрд╝рд┐рдпрд╛рдШрд░ рдПрдПрдлрдПрд▓ рдЪрд░рдг

рдЫрд╡рд┐

Habr├й рдкрд░ рдХрдИ рдмрд╛рд░ рд▓реЗрдЦ рджрд┐рдЦрд╛рдИ рджрд┐рдП рд╣реИрдВ рдХрд┐ рдЕрдореЗрд░рд┐рдХрди рдлрдЬрд╝реА рд▓реЛрдк (AFL) ( 1 , 2 ) рдХрд╛ рд╡рд┐рд╖рдп рдЙрдард╛рдПрдВред рд▓реЗрдХрд┐рди рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ рд╣рдо рдХреНрд▓рд╛рд╕рд┐рдХ рдПрдПрдлрдПрд▓ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдирд╣реАрдВ, рдмрд▓реНрдХрд┐ рдЗрд╕рдХреЗ рд▓рд┐рдП рд╕рд╣рд╛рдпрдХ рдЙрдкрдпреЛрдЧрд┐рддрд╛рдУрдВ рдФрд░ рдЗрд╕рдХреЗ рд╕рдВрд╢реЛрдзрдиреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░реЗрдВрдЧреЗ, рдЬреЛ рд╣рдорд╛рд░реА рд░рд╛рдп рдореЗрдВ, рдлрд╝рдЬрд╝рд┐рдВрдЧ рдХреА рдЧреБрдгрд╡рддреНрддрд╛ рдореЗрдВ рдХрд╛рдлреА рд╕реБрдзрд╛рд░ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдпрджрд┐ рдЖрдк рдПрдПрдлрдПрд▓ рдХреЛ рдЕрдкрдЧреНрд░реЗрдб рдХрд░рдиреЗ рдФрд░ рддреЗрдЬ рдФрд░ рдЕрдзрд┐рдХ рдХрдордЬреЛрд░рд┐рдпреЛрдВ рдХреА рддрд▓рд╛рд╢ рдХрд░рдиреЗ рдХреЗ рддрд░реАрдХреЗ рд╕реАрдЦрдиреЗ рдореЗрдВ рд░реБрдЪрд┐ рд░рдЦрддреЗ рд╣реИрдВ, рддреЛ рдХрдЯреМрддреА рдореЗрдВ рдЖрдкрдХрд╛ рд╕реНрд╡рд╛рдЧрдд рд╣реИ!

рдПрдПрдлрдПрд▓ рдХреНрдпрд╛ рд╣реИ рдФрд░ рдпрд╣ рдЗрддрдирд╛ рдЕрдЪреНрдЫрд╛ рдХреНрдпреЛрдВ рд╣реИ


AFL - рдХрд╡рд░реЗрдЬ-рдирд┐рд░реНрджреЗрд╢рд┐рдд рдлрд╝рд░реНрдЬрд╝рд░ рдпрд╛ рдлреАрдбрдмреИрдХ-рдЖрдзрд╛рд░рд┐рдд рдлрд╝рдЬрд╝рд░ред рдЖрдк рдЗрди рдЕрд╡рдзрд╛рд░рдгрд╛рдУрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдлрд╝рдЬрд╝рд┐рдВрдЧ: рдХрд▓рд╛, рд╡рд┐рдЬреНрдЮрд╛рди, рдФрд░ рдЗрдВрдЬреАрдирд┐рдпрд░рд┐рдВрдЧ рдЬреИрд╕реЗ рд╢рд╛рдВрдд рдкреЗрдкрд░ рд╕реЗ рдЕрдзрд┐рдХ рдЬрд╛рди рд╕рдХрддреЗ рд╣реИрдВред рдпрджрд┐ рд╣рдо AFL рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ рджреЗрддреЗ рд╣реИрдВ, рддреЛ рд╣рдо рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХрд╣ рд╕рдХрддреЗ рд╣реИрдВ:
  • рдХрд╡рд░реЗрдЬ рдХреА рдЬрд╛рдирдХрд╛рд░реА рдПрдХрддреНрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдирд┐рд╖реНрдкрд╛рджрди рдпреЛрдЧреНрдп рдЯреВрд▓рд┐рдВрдЧ
  • рдХрд╡рд░реЗрдЬ рдХреЛ рдЕрдзрд┐рдХрддрдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрдирдкреБрдЯ рдореНрдпреВрдЯ рдХрд░рддрд╛ рд╣реИ
  • рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХреНрд░реИрд╢ рдЦреЛрдЬрдиреЗ рдХреЗ рд▓рд┐рдП рдкрд┐рдЫрд▓реЗ рдЪрд░рдг рдХреЛ рджреЛрд╣рд░рд╛рддрд╛ рд╣реИред
    • рд╡реНрдпрд╡рд╣рд╛рд░ рдореЗрдВ, рдмрд╣реБрдд рдкреНрд░рднрд╛рд╡реА рд╕рд╛рдмрд┐рдд рд╣реБрдЖ
      • рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдЖрд╕рд╛рди рд╣реИ


рдЖрд▓реЗрдЦреАрдп рд░реВрдк рд╕реЗ, рдЗрд╕реЗ рдирд┐рдореНрдирд╛рдиреБрд╕рд╛рд░ рджрд░реНрд╢рд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:

рдЫрд╡рд┐

рдпрджрд┐ рдЖрдкрдХреЛ рдирд╣реАрдВ рдкрддрд╛ рд╣реИ рдХрд┐ AFL рдХреНрдпрд╛ рд╣реИ, рддреЛ рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╣рдо рдЕрдиреБрд╢рдВрд╕рд╛ рдХрд░рддреЗ рд╣реИрдВ:

  1. рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХрд╛ рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рдкреГрд╖реНрда
  2. рдПрдлрдПрд▓-рдкреНрд░рд╢рд┐рдХреНрд╖рдг - рдПрдПрдлрдПрд▓ рдореЗрдВ рдПрдХ рд╕рдВрдХреНрд╖рд┐рдкреНрдд рднреНрд░рдордг
  3. рдПрдлрдПрд▓-рдбреЗрдореЛ - рдПрдПрдлрдПрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕реА ++ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХреЛ рдХреИрд╕реЗ рдлрд╝реВрдЬрд╝ рдХрд┐рдпрд╛ рдЬрд╛рдП, рдЗрд╕рдХрд╛ рдПрдХ рд╕рд░рд▓ рдкреНрд░рджрд░реНрд╢рди
  4. afl-cve - AFL рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЦреЛрдЬреА рдЧрдИ рдХрдордЬреЛрд░рд┐рдпреЛрдВ рдХрд╛ рд╕рдВрдЧреНрд░рд╣ (2017 рдХреЗ рдмрд╛рдж рд╕реЗ рдЕрдкрдбреЗрдЯ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛)
  5. рддрдереНрдп рдпрд╣ рд╣реИ рдХрд┐ рдПрдПрдлрдПрд▓ рдЕрдкрдиреЗ рд╡рд┐рдзрд╛рдирд╕рднрд╛ рдХреЗ рджреМрд░рд╛рди рдХрд╛рд░реНрдпрдХреНрд░рдо рдореЗрдВ рдЬреЛрдбрд╝рддрд╛ рд╣реИ рдпрд╣рд╛рдВ рдкрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
  6. рдпрд╣рд╛рдБ рдиреЗрдЯрд╡рд░реНрдХ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рдЙрдкрдпреЛрдЧреА рд╕реБрдЭрд╛рд╡

рд▓реЗрдЦрди рдХреЗ рд╕рдордп, AFL рдХрд╛ рдирд╡реАрдирддрдо рд╕рдВрд╕реНрдХрд░рдг 2.52b рд╕рдВрд╕реНрдХрд░рдг рдерд╛ред рдлрд╝реЗрдЬрд╝рд░ рд╕рдХреНрд░рд┐рдп рд░реВрдк рд╕реЗ рд╡рд┐рдХрд╕рд┐рдд рд╣реЛ рд░рд╣рд╛ рд╣реИ, рдФрд░ рд╕рдордп рдХреЗ рд╕рд╛рде, рдХреБрдЫ рддреГрддреАрдп-рдкрдХреНрд╖ рдХреЗ рд╡рд┐рдХрд╛рд╕ рдореБрдЦреНрдп рдПрдПрдлрдПрд▓ рд╢рд╛рдЦрд╛ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ рдФрд░ рдЦреБрдж рд╕реЗ рдЕрдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рд╣реЛ рдЬрд╛рддреЗ рд╣реИрдВред рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдХрдИ рдЙрдкрдпреЛрдЧреА рд╕рд╣рд╛рдпрдХ рдЙрдкрдХрд░рдг рд╣реИрдВ рдЬрд┐рдиреНрд╣реЗрдВ рдкрд╣рдЪрд╛рдирд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ - рд╡реЗ рдЕрдЧрд▓реЗ рдЕрдиреБрднрд╛рдЧ рдореЗрдВ рд╕реВрдЪреАрдмрджреНрдз рд╣реИрдВред

рдкреНрд░рддрд┐рдпреЛрдЧрд┐рддрд╛ Rode0day
рдЕрд▓рдЧ-рдЕрд▓рдЧ, рдпрд╣ рдорд╛рд╕рд┐рдХ рдкреНрд░рддрд┐рдпреЛрдЧрд┐рддрд╛ Rode0day рдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдХрд░рдиреЗ рдХреЗ рд▓рд╛рдпрдХ рд╣реИ, рдЬрд╣рд╛рдВ рдЪрд░рдгрдмрджреНрдзреЛрдВ рдХреЗ рдмреАрдЪ рдПрдХ рдкреНрд░рддрд┐рдпреЛрдЧрд┐рддрд╛ рд╣реИ рдЬреЛ рд╕реНрд░реЛрдд рдХреЛрдб рддрдХ рдкрд╣реБрдВрдЪ рдХреЗ рд╕рд╛рде рдФрд░ рдЗрд╕рдХреЗ рдмрд┐рдирд╛ рдкрд╣рд▓реЗ рд╕реЗ рддреИрдпрд╛рд░ рдорд╛рдорд▓реЛрдВ рдореЗрдВ рдХрдордЬреЛрд░рд┐рдпреЛрдВ рдХреЛ рддреЗрдЬреА рд╕реЗ рдФрд░ рдЕрдзрд┐рдХ рдкрд╛рдПрдВрдЧреЗред рдФрд░ рдмрдбрд╝реЗ рдФрд░ рд╡рд┐рднрд┐рдиреНрди рд╕рдВрд╢реЛрдзрдиреЛрдВ рдФрд░ рдХрд╛рдВрдЯреЗ AFL рдХрд╛ рдЯрдХрд░рд╛рд╡ рд╣реИред

рдЙрд╕реА рд╕рдордп, рдХреБрдЫ рдПрдПрдлрдПрд▓ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдиреЗ рдзреНрдпрд╛рди рджрд┐рдпрд╛ рдХрд┐ рдлреЗрдЬрд░ рдорд╛рдЗрдХрд▓ рдЬрд╝рд╛рд▓реНрд╕реНрдХреА рдХреЗ рд▓реЗрдЦрдХ рдиреЗ рдЕрдкрдиреЗ рджрд┐рдорд╛рдЧ рдХреА рдЙрдкрдЬ рдХреЛ рд╕рдорд░реНрдерди рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрднрд┐рдпрд╛рди рдЪрд▓рд╛рдпрд╛, рдХреНрдпреЛрдВрдХрд┐ рдирд╡реАрдирддрдо рдкрд░рд┐рд╡рд░реНрддрди 5 рдирд╡рдВрдмрд░, 2017 рдХреЛ рд╣реБрдП рд╣реИрдВред рдпрд╣ рдХрдерд┐рдд рд░реВрдк рд╕реЗ Google рдФрд░ рдирдИ рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рд╕реЗ рдЙрдирдХреЗ рдкреНрд░рд╕реНрдерд╛рди рдХреЗ рд╕рд╛рде рдЬреБрдбрд╝рд╛ рд╣реБрдЖ рд╣реИред рдЗрд╕ рд╕рдВрдмрдВрдз рдореЗрдВ, рд▓реЛрдЧреЛрдВ рдиреЗ рд╕реНрд╡рддрдВрддреНрд░ рд░реВрдк рд╕реЗ рдирд╡реАрдирддрдо рд╡рд░реНрддрдорд╛рди рд╕рдВрд╕реНрдХрд░рдг 2.52 рдмреА рдХреЗ рд▓рд┐рдП рдкреИрдЪ рдЗрдХрдЯреНрдард╛ рдХрд░рдирд╛ рдФрд░ рдмрдирд╛рдирд╛ рд╢реБрд░реВ рдХрд░ рджрд┐рдпрд╛ред

рдЫрд╡рд┐

рдПрдПрдлрдПрд▓ рд╕реЗ рдЕрд▓рдЧ-рдЕрд▓рдЧ рд╡рд┐рдХрд▓реНрдк рдФрд░ рдбреЗрд░рд┐рд╡реЗрдЯрд┐рд╡ рднреА рд╣реИрдВ рдЬреЛ рдкрд╛рдпрдерди, рдЧреЛ, рд░рд╕реНрдЯ, рдУрдХреЗрдПрдордПрд▓, рдЬреАрд╕реАрдЬреЗ рдЬрд╛рд╡рд╛, рдХрд░реНрдиреЗрд▓ рд╕рд┐рд╕реНрдХреЙрд▓, рдпрд╛ рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдкреВрд░реЗ рд╡реАрдПрдо рдХреЛ рдлрд╝реНрдпреВрдЬрд╝ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреЗ рд╣реИрдВред

рдЕрдиреНрдп рдкреАрдПрд▓ рдХреЗ рд▓рд┐рдП рдПрдПрдлрдПрд▓

- рдЕрдЬрдЧрд░ - afl - рдкрд╛рдпрдерди рдХреЗ рд▓рд┐рдПред
- afl.rs - Rust рдореЗрдВ рдХрд┐рд╕реА рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХреЛ рдлрд╝реНрдпреВрдЬрд╝ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП
- afl-fuzz-js - afl-fuzz рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рд▓рд┐рдПред
рдЬрд╛рд╡рд╛-рдПрдлрдПрд▓ - рдПрдПрдлрдПрд▓ рдЬрд╛рд╡рд╛ рдХреЗ рд▓рд┐рдП рдлрд╝рдЬрд╝рд┐рдВрдЧ
- рдХреЗрд▓рд┐рдЬрд┐рди - рдЗрд╕ рд╡рд┐рд╖рдп рдкрд░ рдПрдХ рд▓реЗрдЦ рдХреЗ рд╕рд╛рде рдЬрд╛рд╡рд╛ рдХреЗ рд▓рд┐рдП рдПрдХ рдФрд░ рдЪрд░рдг
- рдЬреЗрд╡рди-рд╡рд╛рд░реНрдЯреА-рдкрд┐рдЧ - рдЬреЗрд╡реАрдПрдо рдХреЗ рд▓рд┐рдП рдПрдПрдлрдПрд▓-рдЬреИрд╕реЗ рдлрдЬреАрд░ред
- рдПрдлрдПрд▓-рд╕реНрд╡рд┐рдлреНрдЯ - рд╕реНрд╡рд┐рдлреНрдЯ рдкрд░ рдПрдХ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХреЛ рдлрд╝реНрдпреВрдЬрд╝ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП
- рдУрдХрд╛рдореНрд▓ рдХреЗ рд▓рд┐рдП рдУрд╕рдорд▓реЛрдкреНрдЯ-рдПрдлрдПрд▓ -ред
- рд╢рд╛рд░реНрдкрдлрдЬрд╝ - .l рдХреЗ рд▓рд┐рдП -basedред

рд╕рд╣рд╛рдпрдХ рдЙрдкрдХрд░рдг


рдЗрд╕ рдЦрдВрдб рдореЗрдВ, рд╣рдордиреЗ AFL рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╡рд┐рднрд┐рдиреНрди рд▓рд┐рдкрд┐рдпреЛрдВ рдФрд░ рдЙрдкрдХрд░рдгреЛрдВ рдХрд╛ рдЪрдпрди рдХрд┐рдпрд╛ рд╣реИ рдФрд░ рдЙрдиреНрд╣реЗрдВ рдХрдИ рд╢реНрд░реЗрдгрд┐рдпреЛрдВ рдореЗрдВ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд┐рдпрд╛ рд╣реИ:

рдХреНрд░реЗрд╢ рдХрд╛ рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг

  • рдПрдлрдПрд▓-рдмрд░реНрддрди - рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг / рджреБрд░реНрдШрдЯрдирд╛рдУрдВ рдХреЗ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдФрд░ рдкрд░реАрдХреНрд╖рдг рдорд╛рдорд▓реЛрдВ рдХреЛ рдХрдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧрд┐рддрд╛рдУрдВ рдХрд╛ рдПрдХ рд╕реЗрдЯред
  • afl-crash-рд╡рд┐рд╢реНрд▓реЗрд╖рдХ - рдПрдХ рдФрд░ AFL рдХреНрд░реИрд╢ рд╡рд┐рд╢реНрд▓реЗрд╖рдХ ред
  • рдлрдЬреА-рдмрд░реНрддрди - рдкрд░рд┐рдгрд╛рдореЛрдВ рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрд╛ рдПрдХ рд╕реЗрдЯред
  • atage рдПрдХ рд╕рд╛рдзрд╛рд░рдг рдЯреНрд░рд╛рдЗрдПрдЬ рдЯреВрд▓ рд╣реИред
  • afl-kit - рдЕрдЬрдЧрд░ рдореЗрдВ рдЙрд▓реНрд▓рд┐рдЦрд┐рдд afl-cminред
  • AFLize рдПрдХ рдРрд╕рд╛ рдЯреВрд▓ рд╣реИ рдЬреЛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ afl-friendly debian рдкреИрдХреЗрдЬ рдмрдирд╛рддрд╛ рд╣реИред
  • afl-fid - рдЗрдирдкреБрдЯ рдбреЗрдЯрд╛ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдХрд░рдгреЛрдВ рдХрд╛ рдПрдХ рд╕реЗрдЯред

рдХреЛрдб рдХрд╡рд░реЗрдЬ

  • afl-cov - рдорд╛рдирд╡-рдкрдардиреАрдп рдХрд╡рд░реЗрдЬ рдбреЗрдЯрд╛ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред
  • рдЧрд┐рдирддреА-рдПрдлрдПрд▓-рдХреЙрд▓ - рдЕрдиреБрдкрд╛рдд рд╕реНрдХреЛрд░ред рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдмрд┐рдирд╛рд░ рдореЗрдВ рдЗрдВрд╕реНрдЯреНрд░реВрдореЗрдВрдЯреЗрдб рдмреНрд▓реЙрдХреНрд╕ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреЛ рдЧрд┐рдирд╛рддреА рд╣реИред
  • afl-sancov - afl-cov рдХреА рддрд░рд╣, рд▓реЗрдХрд┐рди рдХреНрд▓реИрдВрдЧ рд╕реИрдирд┐рдЯрд╛рдЗрдЬрд╝рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред
  • covnavi Cisco Talos Group рдХреА рдПрдХ рдХреЛрдб рдХрд╡рд░реЗрдЬ рдФрд░ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╣реИред
  • рдПрд▓рдПрдПрдл рдПрд▓рдПрд▓рд╡реАрдПрдо рдкрд╛рд╕ рдПрдлрдПрд▓ рдХреЗ рд▓рд┐рдП рдкреИрдЪ рдХрд╛ рдПрдХ рд╕рдВрдЧреНрд░рд╣ рд╣реИ рдЬреЛ рд╢рд╛рдЦрд╛рдУрдВ рдХреЛ рдЧреБрдЬрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдлрд╝реБрдЬрд╝рд░ рдХреЗ рд▓рд┐рдП рдЖрд╕рд╛рди рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЛрдб рдХреЛ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░рддрд╛ рд╣реИ

рдкрд░реАрдХреНрд╖рдг рдорд╛рдорд▓реЛрдВ рдХреЛ рдХрдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрдИ рд╕реНрдХреНрд░рд┐рдкреНрдЯ

  • afl-pytmin afl-tmin рдХреЗ рд▓рд┐рдП рдПрдХ рдЖрд╡рд░рдг рд╣реИ рдЬреЛ рдХрдИ рд╕реАрдкреАрдпреВ рдХреЛрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдкрд░реАрдХреНрд╖рдг рдорд╛рдорд▓реЗ рдХреЛ рдХрдо рдХрд░рдиреЗ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рддреЗрдЬ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рддрд╛ рд╣реИред
  • afl-ddmin- рдореЙрдб - dlmin рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдХреЗ рдЖрдзрд╛рд░ рдкрд░ afl-tmin рдХреА рднрд┐рдиреНрдирддрд╛ред
  • рд╣рд╛рдл рдЦрд╛рд▓реА рдЯреИрд╡рд┐рд╕ рдУрд░рдордВрдбреА рд╕реЗ рдкрд░реАрдХреНрд╖рдг рдорд╛рдорд▓реЛрдВ рдХреЛ рдХрдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рддреНрд╡рд░рд┐рдд рд╕рдорд╛рдирд╛рдВрддрд░- рдЖрдзрд╛рд░рд┐рдд рдЙрдкрдпреЛрдЧрд┐рддрд╛ рд╣реИред

рд╡рд┐рддрд░рд┐рдд рд╕реНрдЯрд╛рд░реНрдЯрдЕрдк рдХреЗ рд▓рд┐рдП

  • Discuzz-afl - рд╡рд┐рддрд░рд┐рдд рдПрдлрдЬрд╝реА рдПрдлрд┐рд▓ рдХреЗ рд▓рд┐рдПред
  • AFLDFF AFL рдХреЗ рд╕рд╛рде рд╡рд┐рддрд░рдг рдХреЗ рд▓рд┐рдП рдПрдХ рд░реВрдкрд░реЗрдЦрд╛ рд╣реИред
  • afl- рд▓реЙрдиреНрдЪ рдХрдИ afl рдЙрджрд╛рд╣рд░рдгреЛрдВ рдХреЛ рд▓реЙрдиреНрдЪ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЙрдкрдХрд░рдг рд╣реИред
  • afl-mothership - AWS рдХреНрд▓рд╛рдЙрдб рдкрд░ рдХрдИ рд╕рд┐рдВрдХреНрд░реЛрдирд╛рдЗрдЬрд╝реНрдб AFL рдлрд╝реБрдЬрд░реНрд╕ рдкреНрд░рдмрдВрдзрд┐рдд рдФрд░ рд▓реЙрдиреНрдЪ рдХрд░реЗрдВред
  • afl-in-the-cloud AWS рдореЗрдВ afl рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдФрд░ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╣реИред
  • VU_BSc_project - Fuzz рдкрд░реАрдХреНрд╖рдг рдУрдкрди рд╕реЛрд░реНрд╕ рд▓рд╛рдЗрдмреНрд░реЗрд░реАрдЬрд╝ рдХреЗ рд╕рд╛рде libFuzzer рдФрд░ AFLред

рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдПрдХ рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рд▓реЗрдЦ "рд╕реНрдХреЗрд▓рд┐рдВрдЧ рдПрдПрдлрдПрд▓ рдХреЛ 256 рдереНрд░реЗрдб рдорд╢реАрди" рд╣рд╛рд▓ рд╣реА рдореЗрдВ рдЗрд╕ рд╡рд┐рд╖рдп рдкрд░ рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЬреЛ 256 рдереНрд░реЗрдбреНрд╕ рдкрд░ рдПрдПрдлрдПрд▓ рдХреЗ рд▓реЙрдиреНрдЪ рдХрд╛ рд╡рд░реНрдгрди рдХрд░рддрд╛ рд╣реИред

рддреИрдирд╛рддреА, рдкреНрд░рдмрдВрдзрди, рдирд┐рдЧрд░рд╛рдиреА, тАЛтАЛрд░рд┐рдкреЛрд░реНрдЯрд┐рдВрдЧ

  • afl-other-arch - AFL рдореЗрдВ рд╡рд┐рднрд┐рдиреНрди (рдЧреИрд░ x86) рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░ рдХреЗ рд▓рд┐рдП рдЖрд╕рд╛рдиреА рд╕реЗ рд╕рдорд░реНрдерди рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдкреИрдЪ рдФрд░ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрд╛ рдПрдХ рд╕реЗрдЯред
  • afl-trivia - AFL рдкреНрд░рдмрдВрдзрди рдХреЛ рд╕рд░рд▓ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рдЫреЛрдЯреА рд╕реНрдХреНрд░рд┐рдкреНрдЯред
  • afl-monitor - AFL рдХреЗ рд╕рдВрдЪрд╛рд▓рди рдХреА рдирд┐рдЧрд░рд╛рдиреА рдХреЗ рд▓рд┐рдП рдПрдХ рд╕реНрдХреНрд░рд┐рдкреНрдЯред
  • afl-manager - рдорд▓реНрдЯреА-рдПрдлрдПрд▓ рдХреЗ рдкреНрд░рдмрдВрдзрди рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрдЬрдЧрд░ рд╡реЗрдм рд╕рд░реНрд╡рд░ред
  • afl-tools - afl-latest, afl-dyninst рдФрд░ Triforce-afl рдХреЗ рд╕рд╛рде docker рдХреА рдЫрд╡рд┐ред
  • afl-рджреВрд░рджрд░рд╛рдЬ - рджреВрд░рд╕реНрде afl рдЙрджрд╛рд╣рд░рдг рдкреНрд░рдмрдВрдзрди рдХреЗ рд▓рд┐рдП рдПрдХ рд╡реЗрдм рд╕рд░реНрд╡рд░ред

AFL рд╕рдВрд╢реЛрдзрди


AFL рдиреЗ рднреЗрджреНрдпрддрд╛ рдЦреЛрдЬ рд╕рдореБрджрд╛рдп рдФрд░ рдлрд╝рдЬрд╝рд┐рдВрдЧ рдЙрджреНрдпреЛрдЧ рдХреЛ рдмрд╣реБрдд рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд┐рдпрд╛ рд╣реИред рдФрд░ рдпрд╣ рдЖрд╢реНрдЪрд░реНрдпрдЬрдирдХ рдирд╣реАрдВ рд╣реИ рдХрд┐ рд╕рдордп рдХреЗ рд╕рд╛рде, рдореВрд▓ AFL рд╕реЗ рдкреНрд░реЗрд░рд┐рдд рд╡рд┐рднрд┐рдиреНрди рд╕рдВрд╢реЛрдзрди рдЙрдирдХреЗ рд╡рд┐рдЪрд╛рд░ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рджрд┐рдЦрд╛рдИ рджреЗрдиреЗ рд▓рдЧреЗред рдЗрд╕ рдЦрдВрдб рдореЗрдВ рд╣рдо рдЙрди рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВрдЧреЗред рдЗрди рд╕рдВрд╢реЛрдзрдиреЛрдВ рдореЗрдВ рд╕реЗ рдкреНрд░рддреНрдпреЗрдХ рдХреЗ рдЕрд▓рдЧ-рдЕрд▓рдЧ рд╕реНрдерд┐рддрд┐рдпреЛрдВ рдореЗрдВ рдореВрд▓ рдПрдПрдлрдПрд▓ рд╕рдВрд╕реНрдХрд░рдг рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдЗрд╕рдХреЗ рдлрд╛рдпрджреЗ рдФрд░ рд╕рд╛рде рд╣реА рдЗрд╕рдХреЗ рдиреБрдХрд╕рд╛рди рднреА рд╣реИрдВред

рд╣рдо рддреБрд░рдВрдд рдХрд╣реЗрдВрдЧреЗ рдХрд┐ рдпрджрд┐ рд╕реНрдерд╛рдкрдирд╛ рдореЗрдВ рдХреЛрдИ рд╕рдорд╕реНрдпрд╛ рд╣реИ рдпрд╛ рдЖрдк рд╕рдордп рдмрд░реНрдмрд╛рдж рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рд▓рдЧрднрдЧ рдХреЛрдИ рднреА рд╕рдВрд╢реЛрдзрди hub.docker.com рдкрд░ рдкрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

рдХреНрдпреЛрдВ?

  • рдЧрддрд┐ рдФрд░ / рдпрд╛ рдХреЛрдб рдХрд╡рд░реЗрдЬ рдмрдврд╝рд╛рдПрдБ
    • рдПрд▓реНрдЧреЛрд░рд┐рджрдо
    • рдкрд░реНрдпрд╛рд╡рд░рдг
      • рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо
      • рд▓реЛрд╣рд╛


  • рд╕реНрд░реЛрдд рдХреЛрдб рдХреЗ рдмрд┐рдирд╛ рд╕реНрдерд┐рддрд┐рдпреЛрдВ рдореЗрдВ рдХрд╛рдо рдХрд░реЗрдВ
    • рдХреЛрдб рдЕрдиреБрдХрд░рдг
    • рдХреЛрдб рдЗрдВрд╕реНрдЯреНрд░реВрдореЗрдВрдЯреЗрд╢рди
      • рд╕реНрдерд┐рд░
      • рдЧрддрд┐рд╢реАрд▓



рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд AFL рдореЛрдбреНрд╕

рд╡рд┐рднрд┐рдиреНрди рдПрдПрдлрдПрд▓ рд╕рдВрд╢реЛрдзрдиреЛрдВ рдФрд░ рдХрд╛рдВрдЯреЗ рдХреА рдЪрд░реНрдЪрд╛ рдХреЗ рд▓рд┐рдП рдЖрдЧреЗ рдмрдврд╝рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ, рджреЛ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдореЛрдбреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИ рдЬреЛ рдПрдХ рдмрд╛рд░ рд╕рдВрд╢реЛрдзрди рднреА рдереЗ, рдФрд░ рдЕрдВрддрддрдГ рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рдореЛрдб рдмрди рдЧрдПред рдпрд╣ Syzygy рдореЛрдб рдФрд░ Qemu рдореЛрдб рд╣реИред

Syzygy рдореЛрдб - рдЙрдкрдХрд░рдг рдореЗрдВ рдСрдкрд░реЗрдЯрд┐рдВрдЧ рдореЛрдб рд╣реИ ред.exe
instrument.exe --mode=afl --input-image=test.exe --output-image=test.instr.exe 
рдЗрд╕ рдореЛрдб рдХреЗ рд▓рд┐рдП рдпрд╣ рдЖрд╡рд╢реНрдпрдХ рд╣реИ: рдПрдПрдлрдПрд▓ рдХреЗ рд╕рд╛рде PE32 рдмрд╛рдпрдиреЗрд░рд┐рдЬрд╝ рдХреЛ рд╕реНрдЯреЗрдЯрд┐рдХ рд░реВрдк рд╕реЗ рдлрд┐рд░ рд╕реЗ рд▓рд┐рдЦрдирд╛, рдкреНрд░рддреАрдХреЛрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, WinAFL рдХрд░реНрдиреЗрд▓ рдХреЛ рдЬрд╛рдЧрд░реВрдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрддрд┐рд░рд┐рдХреНрдд рджреЗрд╡ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред

Qemu рдореЛрдб - рдпрд╣ QEMU рдХреЗ рддрд╣рдд рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рдпрд╣рд╛рдВ рдкрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ "Internals of AFL fuzzer - QEMU рдЗрдВрд╕реНрдЯреНрд░реВрдореЗрдВрдЯреЗрд╢рди" ред QEMU рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП рдмрд╛рдпрдиреЗрд░рд┐рдЬрд╝ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рд╕рдВрд╕реНрдХрд░рдг 1.31 рдмреА рд╕реЗ рдЕрдкрд╕реНрдЯреНрд░реАрдо рдПрдПрдлрдПрд▓ рдореЗрдВ рджрд┐рдЦрд╛рдИ рджрд┐рдпрд╛ред Afl qemu рдореЛрдб рдмрд╛рдЗрдирд░реА рдХреЛрдб рдЗрдВрдЬрди qemu tcg (рдЫреЛрдЯреЗ рдЬрдирд░реЗрдЯрд░ рдЬрдирд░реЗрдЯрд░) рдореЗрдВ рдмрд╛рдЗрдирд░реА рдХреЛрдб рдХреЗ рдЗрдВрд╕реНрдЯреНрд░реВрдореЗрдВрдЯреЗрд╢рди рдХреА рдЕрддрд┐рд░рд┐рдХреНрдд рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, afl рдореЗрдВ рдПрдХ qemu рдмрд┐рд▓реНрдб рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╣реИ рдЬреЛ qemu рдХреЗ рд╡рд┐рд╢рд┐рд╖реНрдЯ (2.10.0) рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рд▓рд┐рдП рд╕реНрд░реЛрдд рдХреЛрдб рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рддрд╛ рд╣реИ, рдЙрди рдкрд░ рдХрдИ рдЫреЛрдЯреЗ рдкреИрдЪ рд▓рдЧрд╛рддрд╛ рд╣реИ рдФрд░ рджрд┐рдП рдЧрдП рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░ рдХреЗ рд▓рд┐рдП рд╕рдВрдХрд▓рди рдХрд░рддрд╛ рд╣реИред рдЙрд╕рдХреЗ рдмрд╛рдж, afl-qemu-рдЯреНрд░реЗрд╕ рдлрд╝рд╛рдЗрд▓ рд╡рд╛рдкрд╕ рдЖ рдЧрдИ рд╣реИ, рдЬреЛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдПрдХ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛-рдореЛрдб (рдХреЗрд╡рд▓ ELF рдирд┐рд╖реНрдкрд╛рджрди рдпреЛрдЧреНрдп рдлрд╝рд╛рдЗрд▓реЛрдВ рдХрд╛ рдЕрдиреБрдХрд░рдг) qemu- рдЕрдиреБрдХрд░рдг рд╣реИред рдЗрд╕рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж, рдЖрдк рдПрд▓реНрдл рдмрд╛рдпрдиреЗрд░рд┐рдЬрд╝ рдкрд░ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХреЗ рд╕рд╛рде рдлрд╝рдЬрд╝рд┐рдВрдЧ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдФрд░ рдХреНрдпреВрдореВ рджреНрд╡рд╛рд░рд╛ рд╕рдорд░реНрдерд┐рдд рд╡рд┐рднрд┐рдиреНрди рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░ рдХреЗ рдЭреБрдВрдб рдХреЗ рд▓рд┐рдПред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЖрдкрдХреЛ рд╕рднреА рдХреВрд▓ рдПрдлрдПрд▓ рдЯреВрд▓ рдорд┐рд▓рддреЗ рд╣реИрдВ, рдЬреЛ рд╡рд░реНрддрдорд╛рди рд╕рддреНрд░ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рд╕рд╛рде рдПрдХ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╕реНрдХреНрд░реАрди рдХреЗ рд╕рд╛рде рд╢реБрд░реВ рд╣реЛрддреЗ рд╣реИрдВ рдФрд░ рдПрдлрдПрд▓-рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдЬреИрд╕реА рдЙрдиреНрдирдд рдЪреАрдЬреЛрдВ рдХреЗ рд╕рд╛рде рд╕рдорд╛рдкреНрдд рд╣реЛрддреЗ рд╣реИрдВред рд▓реЗрдХрд┐рди рдзреНрдпрд╛рди рд░рдЦреЗрдВ рдХрд┐ рдЖрдкрдХреЛ рдХреНрдпреВрдореВ рдкреНрд░рддрд┐рдмрдВрдз рднреА рдорд┐рд▓рддрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрджрд┐ рдлрд╝рд╛рдЗрд▓ SoC рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдЯреВрд▓рдХрд┐рди рджреНрд╡рд╛рд░рд╛ рд╕рдВрдХрд▓рд┐рдд рдХреА рдЬрд╛рддреА рд╣реИ, рдЬрд┐рд╕ рдкрд░ рдмрд┐рдирд╛рд░ рд▓реЙрдиреНрдЪ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдФрд░ рдЬреЛ qemu рджреНрд╡рд╛рд░рд╛ рд╕рдорд░реНрдерд┐рдд рдирд╣реАрдВ рд╣реИ, рддреЛ рдЬреИрд╕реЗ рд╣реА рдХреЛрдИ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдирд┐рд░реНрджреЗрд╢ рд╕рд╛рдордиреЗ рдЖрддрд╛ рд╣реИ, рдлрд╝рдЬрд╝рд┐рдВрдЧ рдЯреВрдЯ рдЬрд╛рдПрдЧрд╛, рдпрд╛, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ MMIO рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

рдХреНрдпреВрдореВ рдореЛрдб рдХрд╛ рдПрдХ рдРрд╕рд╛ рджрд┐рд▓рдЪрд╕реНрдк рдХрд╛рдВрдЯрд╛ рднреА рд╣реИ, рдЬрд╣рд╛рдВ TCG рдХреЛрдб рдФрд░ рдХреИрд╢рд┐рдВрдЧ рдХреЗ рдЗрдВрд╕реНрдЯреНрд░реВрдореЗрдВрдЯреЗрд╢рди рдХреЗ рдХрд╛рд░рдг рдЧрддрд┐ рдХреЛ 3x-4x рдмрд╛рд░ рдмрдврд╝рд╛рдпрд╛ рдЧрдпрд╛ рдерд╛ред

рдХрд╛рдВрдЯрд╛

рдПрдПрдлрдПрд▓ рдХрд╛рдВрдЯреЗ рдХреА рдЙрдкрд╕реНрдерд┐рддрд┐ рдореБрдЦреНрдп рд░реВрдк рд╕реЗ рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЗ рд╕рд╛рде рдЬреБрдбрд╝реА рд╣реБрдИ рд╣реИ, рд╕реНрд╡рдпрдВ рдХреНрд▓рд╛рд╕рд┐рдХ рдПрдПрдлрдПрд▓ рдХреЗ рд╕рдВрдЪрд╛рд▓рди рдХреЗ рдПрд▓реНрдЧреЛрд░рд┐рджрдо рдореЗрдВ рд╕реБрдзрд╛рд░ред

  • afl-cygwin рдХреНрд▓рд╛рд╕рд┐рдХ AFL рдХреЛ рд╡рд┐рдВрдбреЛрдЬ рдореЗрдВ Cygwin рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдкреЛрд░реНрдЯ рдХрд░рдиреЗ рдХрд╛ рдПрдХ рдкреНрд░рдпрд╛рд╕ рд╣реИред рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ, рдпрд╣ рдкреНрд░рдпрд╛рд╕ рдХрд╛рдлреА рдЖрд▓рд╕реА, рдзреАрдорд╛ рдФрд░ рд╡рд┐рдХрд╛рд╕ рдХреЛ рдЫреЛрдбрд╝ рджреЗрдиреЗ рд╡рд╛рд▓рд╛ рдХрд╣рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
  • рдПрдПрдлрдПрд▓рдлрд╝рд╛рд╕реНрдЯ (рдкрд╛рд╡рд░ рд╢реЗрдбреНрдпреВрд▓ рдХреЗ рд╕рд╛рде рдПрдПрдлрдПрд▓ рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рдХрд░рддрд╛ рд╣реИ) - рдПрдПрдлрдПрд▓ рдХреЗ рдкрд╣рд▓реЗ рдХрд╛рдВрдЯреЗ рдореЗрдВ рд╕реЗ рдПрдХ, рд╕рднреА рдкреНрд░рдХрд╛рд░ рдХреЗ рд╣реЗрдпреВрд░рд┐рд╕реНрдЯрд┐рдХреНрд╕ рдХреЛ рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛ рдерд╛, рдЬрд┐рд╕рдХреА рдмрджреМрд▓рдд рдпрд╣ рдЫреЛрдЯреА рдЕрд╡рдзрд┐ рдореЗрдВ рдЕрдзрд┐рдХ рддрд░реАрдХреЗ рд╕реЗ рдЬрд╛ рд╕рдХрддрд╛ рдерд╛ред
  • рдлреЗрдпрд░рдлрдЬ рдПрдХ рдПрдПрдлрдПрд▓ рдПрдХреНрд╕рдЯреЗрдВрд╢рди рд╣реИ рдЬрд┐рд╕рдХрд╛ рд▓рдХреНрд╖реНрдп рджреБрд░реНрд▓рдн рд╢рд╛рдЦрд╛рдУрдВ рдкрд░ рдЕрдзрд┐рдХ рд╕рдордп рдмрд┐рддрд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рдирд╛ рд╣реИред
  • AFLGo AFL рдХреЗ рд▓рд┐рдП рдПрдХ рд╡рд┐рд╕реНрддрд╛рд░ рд╣реИ, рдЬреЛ рдореБрдЦреНрдп рд░реВрдк рд╕реЗ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХреЛрдб рдХреЗ рд╕рд╛рдорд╛рдиреНрдп рдХрд╡рд░реЗрдЬ рдХреЗ рдмрдЬрд╛рдп рдХреЛрдб рдХреЗ рдХреБрдЫ рд╡рд░реНрдЧреЛрдВ рдХреА рд▓рдХреНрд╖рд┐рдд рдЙрдкрд▓рдмреНрдзрд┐ рдХреЗ рд▓рд┐рдП рд╣реИред рдпрд╣ рдкреИрдЪ рдпрд╛ рдХреЛрдб рдХреЗ рдирдП рдЬреЛрдбрд╝реЗ рдЧрдП рд╡рд░реНрдЧреЛрдВ рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
  • PerfFuzz рдПрдХ рдПрдПрдлрдПрд▓ рдПрдХреНрд╕рдЯреЗрдВрд╢рди рд╣реИ рдЬреЛ рдкрд░реАрдХреНрд╖рдг рдорд╛рдорд▓реЛрдВ рдХреА рддрд▓рд╛рд╢ рдХрд░рддрд╛ рд╣реИ рдЬреЛ рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреЛ рдЬрд┐рддрдирд╛ рд╕рдВрднрд╡ рд╣реЛ рдЙрддрдирд╛ рдзреАрдорд╛ рдХрд░ рд╕рдХрддрд╛ рд╣реИред
  • рдкрд╛рдпрдерд┐рдпрд╛ рдПрдПрдлрдПрд▓ рдХреЗ рд▓рд┐рдП рдПрдХ рд╡рд┐рд╕реНрддрд╛рд░ рд╣реИ рдЬрд┐рд╕рдХрд╛ рдЙрджреНрджреЗрд╢реНрдп рднрд╡рд┐рд╖реНрдп рдХреЗ рдкрде рдХреА рдЦреЛрдЬ рдХреА рдХрдард┐рдирд╛рдИ рдХреЗ рд╕рдВрдмрдВрдз рдореЗрдВ рдЪрд░рдгрдмрджреНрдз рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ рднрд╡рд┐рд╖реНрдпрд╡рд╛рдгреА рддрддреНрд╡реЛрдВ рдХреЛ рдЬреЛрдбрд╝рдирд╛ рд╣реИред
  • рдЕрдВрдЧреЛрд░рд╛ рд╕рдмрд╕реЗ рд╣рд╛рд▓ рд╣реА рдореЗрдВ рдЬрд╛рд░реА рдлрдЬрд╝рд░реНрд╕ рдореЗрдВ рд╕реЗ рдПрдХ рд╣реИ, рдЬрд┐рд╕реЗ рдЬрдВрдЧ рдореЗрдВ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рд╣реИред рдореНрдпреВрдЯреЗрд╢рди рдХреЗ рд▓рд┐рдП рдФрд░ рдХрд╡рд░реЗрдЬ рдмрдврд╝рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдкрдиреА рдирдИ рд░рдгрдиреАрддрд┐рдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред
  • Neuzz - рддрдВрддреНрд░рд┐рдХрд╛ рдиреЗрдЯрд╡рд░реНрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдлрд╝рдЬрд╝ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ред
  • UnTracer-AFL - рдПрдлрдПрд▓ рдПрдХреАрдХрд░рдг рдХреЗ рд╕рд╛рде UnTracer, рдХреБрд╢рд▓ рдЕрдиреБрд░реЗрдЦрдг рдХреЗ рд▓рд┐рдПред
  • Qsym - рд╣рд╛рдЗрдмреНрд░рд┐рдб рдлрд╝рдЬрд╝рд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рдкреНрд░реИрдХреНрдЯрд┐рдХрд▓ рдХреЙрдирдХреЛрд▓рд┐рдХ рдПрдХреНрдЬрд╝реАрдХреНрдпреВрд╢рди рдЗрдВрдЬрди рдЯреЗрд▓рд░реНрдбред рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдпрд╣ рдПрдХ рдкреНрд░рддреАрдХ рдирд┐рд╖реНрдкрд╛рджрди рдЗрдВрдЬрди рд╣реИ (рдореБрдЦреНрдп рдШрдЯрдХреЛрдВ рдХреЛ рдПрдХ рдЗрдВрдЯреЗрд▓ рдкрд┐рди рдкреНрд▓рдЧ-рдЗрди рдХреЗ рд░реВрдк рдореЗрдВ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ), рдЬреЛ рдХрд┐ рдПрдлрдПрд▓ рдХреЗ рд╕рд╛рде рд╕рдВрдпреЛрдЬрди рдореЗрдВ рд╣рд╛рдЗрдмреНрд░рд┐рдб рдлрд╝реНрдпреВрдЬрд╝рд┐рдВрдЧ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рддрд╛ рд╣реИред рдпрд╣ рдлреАрдбрдмреИрдХ рдЖрдзрд╛рд░рд┐рдд рд╡рд┐рд╖рдп рдкрд░ рдПрдХ рдФрд░ рд╡рд┐рдХрд╛рд╕ рд╣реИ рдФрд░ рдПрдХ рдЕрд▓рдЧ рдЪрд░реНрдЪрд╛ рдХрд╛ рдкрд╛рддреНрд░ рд╣реИред рдЙрдирдХреА рдореБрдЦреНрдп рдпреЛрдЧреНрдпрддрд╛ рдпрд╣ рд╣реИ рдХрд┐ рд╡рд╣ рдмрд╣реБрдд рдЬрд▓реНрджреА (рдмрд╛рдХреА рдХреЗ рд╕рд╛рдкреЗрдХреНрд╖) рд╕рд╛рдВрдХреЗрддрд┐рдХ рдирд┐рд╖реНрдкрд╛рджрди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдпрд╣ рдХреЛрдб рдХреА рдордзреНрдпрд╡рд░реНрддреА рдкреНрд░рд╕реНрддреБрддрд┐ рдХреЗ рдмрд┐рдирд╛ рдЖрджреЗрд╢реЛрдВ рдХреЗ рдореВрд▓ рдирд┐рд╖реНрдкрд╛рджрди рдХреЗ рдХрд╛рд░рдг рд╣реЛрддрд╛ рд╣реИ, рд╕реНрдиреИрдкрд╢реЙрдЯ рддрдВрддреНрд░ рдФрд░ рдХрдИ рдЖрдВрдХрдбрд╝реЛрдВ рд╕реЗ рдЫреБрдЯрдХрд╛рд░рд╛ рдкрд╛рддрд╛ рд╣реИред рдпрд╣ рдкреБрд░рд╛рдиреЗ рдЗрдВрдЯреЗрд▓ рдкрд┐рди (libz3 рдФрд░ рдЕрдиреНрдп DBTs рдХреЗ рдмреАрдЪ рдХрдИ рд╕рдорд░реНрдерди рдореБрджреНрджреЛрдВ рдХреЗ рдХрд╛рд░рдг) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ, рдФрд░ рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдпреЛрдЧрд┐рдиреА x86 рдФрд░ x86_64 рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░ рд╕рдХрддрд╛ рд╣реИред

рдпрд╣ рдХрд╣рдиреЗ рдпреЛрдЧреНрдп рд╣реИ рдХрд┐ рдирдП рджреГрд╖реНрдЯрд┐рдХреЛрдгреЛрдВ рдХреЗ рдХреНрд░рд┐рдпрд╛рдиреНрд╡рдпрди рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдмрдбрд╝реА рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рдЕрдХрд╛рджрдорд┐рдХ рдХрд╛рд░реНрдп рд╣реИрдВ, рдлрд╝рдЬрд╝рд┐рдВрдЧ рддрдХрдиреАрдХ, рдЬрд╣рд╛рдВ рдПрдПрдлрдПрд▓ рдХреЛ рд▓рд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рд╡реНрд╣рд╛рдЗрдЯрдкреЗрдкрд░ рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдХреБрдЫ рдФрд░ рдЙрдкрд▓рдмреНрдз рдирд╣реАрдВ рд╣реИ, рдЗрд╕рд▓рд┐рдП рд╣рдордиреЗ рдЗрд╕ рддрд░рд╣ рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдирд╣реАрдВ рдХрд┐рдпрд╛ред рдпрджрд┐ рдЖрдк рд░реБрдЪрд┐ рд░рдЦрддреЗ рд╣реИрдВ, рддреЛ рд╡реЗ Google рдХреЗ рд▓рд┐рдП рдЖрд╕рд╛рди рд╣реИрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдмрд╛рдж рд╡рд╛рд▓рд╛ CollAFL рд╣реИ: Path Sensitive Fuzzing , EnFuzz , Smart Greybox Fuzzing , ML to aflред

Qemu рдкрд░ рдЖрдзрд╛рд░рд┐рдд рд╕рдВрд╢реЛрдзрди

  • TriforceAFL - AFL / QEMU рдлреБрд▓ рд╕рд┐рд╕реНрдЯрдо рдЗрдореНрдпреВрд▓реЗрд╢рди рдХреЗ рд╕рд╛рдеред Nccgroup рд╕реЗ рдХрд╛рдВрдЯрд╛ред Qemu рдореЛрдб рдореЗрдВ рд╕рдВрдкреВрд░реНрдг рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рдХреЛ рдлрд╝реНрдпреВрдЬрд╝ рдХрд░рдиреЗ рджреЗрддрд╛ рд╣реИред рдПрдХ рд╡рд┐рд╢реЗрд╖ рдирд┐рд░реНрджреЗрд╢ (aflCall (0f 24)) рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛, рдЬрд┐рд╕реЗ QEMU x64 CPU рдореЗрдВ рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛ рдерд╛ред рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ, рдпрд╣ рдЕрдм рд╕рдорд░реНрдерд┐рдд рдирд╣реАрдВ рд╣реИ, рдЗрд╕рдореЗрдВ afl рдХрд╛ рдирд╡реАрдирддрдо рд╕рдВрд╕реНрдХрд░рдг 2.06b рд╣реИред
  • TriforceLinuxSyscallFuzzer - рдлрд╝рдЬрд╝рд┐рдВрдЧ рд▓рд┐рдирдХреНрд╕ рд╕рд┐рд╕реНрдЯрдо рдХреЙрд▓ред
  • afl-qai QEMU рдСрдЧрдореЗрдВрдЯреЗрдб рдЗрдВрд╕реНрдЯреНрд░реВрдореЗрдВрдЯреЗрд╢рди (qai) рдХреЗ рд╕рд╛рде рдПрдХ рдЫреЛрдЯрд╛ рдбреЗрдореЛ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рд╣реИред


KLEE рдкрд░ рдЖрдзрд╛рд░рд┐рдд рд╕рдВрд╢реЛрдзрди

kleefl - рдкреНрд░рддреАрдХрд╛рддреНрдордХ рдирд┐рд╖реНрдкрд╛рджрди рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдкрд░реАрдХреНрд╖рдг рдорд╛рдорд▓реЛрдВ рдХреЛ рдЙрддреНрдкрдиреНрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП (рдмрдбрд╝реЗ рдХрд╛рд░реНрдпрдХреНрд░рдореЛрдВ рдкрд░ рдмрд╣реБрдд рдзреАрдореА рдЧрддрд┐ рд╕реЗ)ред

рдЧреЗрдВрдбрд╛ рдкрд░ рдЖрдзрд╛рд░рд┐рдд рд╕рдВрд╢реЛрдзрди

рдПрдлрдПрд▓-рдпреВрдирд┐рдХреЙрд░реНрди - рдЖрдкрдХреЛ рдпреВрдирд┐рдХреЙрд░реНрди рдЗрдВрдЬрди рдкрд░ рдЕрдиреБрдХрд░рдг рдХрд░рддреЗ рд╣реБрдП, рдХреЛрдб рдХреЗ рдЯреБрдХрдбрд╝реЛрдВ рдХреЛ рднрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рд╣рдордиреЗ рдЕрдкрдиреЗ рдЕрднреНрдпрд╛рд╕ рдореЗрдВ рдЗрд╕ AFL рднрд┐рдиреНрдирддрд╛ рдХрд╛ рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛, рдЕрд░реНрдерд╛рддреН, рдПрдХ RTOS рдХреЗ рдХреЛрдб рдЕрдиреБрднрд╛рдЧреЛрдВ рдореЗрдВ, рдЬрд┐рд╕реЗ SOC рдкрд░ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдФрд░ QEMU рдореЛрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЕрд╕рдВрднрд╡ рдерд╛ред рдЗрд╕ рд╕рдВрд╢реЛрдзрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЙрдЪрд┐рдд рд╣реИ рдЬрдм рдХреЛрдИ рд╕реНрд░реЛрдд рдирд╣реАрдВ рд╣реИрдВ (рдЖрдк рдкрд╛рд░реНрд╕рд░ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХреЗ рд▓рд┐рдП рд╕реНрдЯреИрдВрдб-рдЕрд▓реЛрди рдмрд╛рдпрдиреЗрд░рд┐рдЬрд╝ рдХреЛ рдЗрдХрдЯреНрдард╛ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ) рдФрд░ рдкреНрд░реЛрдЧреНрд░рд╛рдо рд╕реАрдзреЗ рдЗрдирдкреБрдЯ рдбреЗрдЯрд╛ рдХреЛ рд╕реНрд╡реАрдХрд╛рд░ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╡реЗ рдПрдХ рд╕реАрдЬреАрдУ рдмрд┐рдирд╛рд░ рдХреЗ рд░реВрдк рдореЗрдВ рд╕рд┐рдЧреНрдирд▓ рдХреЗ рдирдореВрдиреЗ рдПрдиреНрдХреНрд░рд┐рдкреНрдЯреЗрдб рдпрд╛ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХрд░рддреЗ рд╣реИрдВ), рддреЛ рдЖрдк рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рд░рд┐рд╡рд░реНрд╕ рд╕реНрдерд╛рдиреЛрдВ рдФрд░ рдкреНрд░рд╕реНрддрд╛рд╡рд┐рдд рд╕реНрдерд╛рдиреЛрдВ-рдлрд╝рдВрдХреНрд╢рдВрд╕ рдХреЛ рдвреВрдВрдвреЗрдВ рдЬрд╣рд╛рдВ рдпрд╣ рдбреЗрдЯрд╛ рдлрд╝реНрдпреВрдЬрд╝рд░ рдХреЗ рд▓рд┐рдП рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рд╕рдВрд╕рд╛рдзрд┐рдд рд╣реЛрддрд╛ рд╣реИ рдФрд░ рдЬрд┐рд╕реЗ рдлрд╝рдЬрд╝реА рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдпрд╣ рд╕рдмрд╕реЗ рдЖрдо рдПрдПрдлрдПрд▓ рд╕рдВрд╢реЛрдзрди рд╣реИред рдЗрд╕ рдЕрд░реНрде рдореЗрдВ рдХрд┐ рдпрд╣ рдЖрдкрдХреЛ рд╕рдм рдХреБрдЫ рд╕рдЪрдореБрдЪ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдпрд╣реА рд╣реИ, рдпрд╣ рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░, рд╕реЛрд░реНрд╕ рдХреЛрдб рдХреА рдЙрдкрд▓рдмреНрдзрддрд╛, рдЗрдирдкреБрдЯ рдбреЗрдЯрд╛ рдХрд╛ рдкреНрд░рд╛рд░реВрдк рдФрд░ рдЦреБрдж рдмрд┐рдирд╛рд░ рдХрд╛ рдкреНрд░рд╛рд░реВрдк рдкрд░ рдирд┐рд░реНрднрд░ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ (рд╕рдмрд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдЙрджрд╛рд╣рд░рдг рд╕рд┐рд░реНрдл рдирдВрдЧреЗ-рдзрд╛рддреБ рд╣реИ - рдирд┐рдпрдВрддреНрд░рдХ рдХреА рдореЗрдореЛрд░реА рд╕реЗ рдХреЛрдб рдХреЗ рд╕рд┐рд░реНрдл рдЯреБрдХрдбрд╝реЗ)ред рд╢реЛрдзрдХрд░реНрддрд╛ рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдЗрд╕ рдмрд┐рдирд╛рд░ рдХреА рдЬрд╛рдВрдЪ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдПрдХ рдлрд╝рдЬрд╝рд░ рд▓рд┐рдЦрддрд╛ рд╣реИ рдЬреЛ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдкрд╛рд░реНрд╕рд░ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЗ рдЗрдирдкреБрдЯ рдкрд░ рд░рд╛рдЬреНрдп рдХрд╛ рдЕрдиреБрдХрд░рдг рдХрд░рддрд╛ рд╣реИред рдпрд╣ рджреЗрдЦрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐, AFL рдХреЗ рд╡рд┐рдкрд░реАрдд, рдЖрдкрдХреЛ рдмрд┐рдирд╛рд░ рдкрд░ рдХрд┐рд╕реА рдкреНрд░рдХрд╛рд░ рдХрд╛ рд╢реЛрдз рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдирдВрдЧреЗ-рдзрд╛рддреБ рдлрд░реНрдорд╡реЗрдпрд░ рдХреЗ рд▓рд┐рдП, рдЬреИрд╕реЗ рдХрд┐ рд╡рд╛рдИ-рдлрд╛рдИ рдпрд╛ рдмреЗрд╕рдмреИрдВрдб, рдмрд╕ рдХрдИ рдиреБрдХрд╕рд╛рди рд╣реИрдВ рдЬреЛ рдЖрдкрдХреЛ рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ:

  1. рдХрд┐рд╕реА рднреА рддрд░рд╣ рд╕реЗ рдЪреЗрдХрд╕рдо рдЪреЗрдХ рдХреЛ рд╕реНрдерд╛рдиреАрдп рдмрдирд╛рдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИред
  2. рдпрд╣ рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦрдирд╛ рд╣реЛрдЧрд╛ рдХрд┐ рдлрд╝рдЬрд╝рд░ рдХреА рд╕реНрдерд┐рддрд┐ рдореЗрдореЛрд░реА рдбрдВрдк рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рдореЗрдореЛрд░реА рдХреА рд╕реНрдерд┐рддрд┐ рд╣реИ, рдЗрд╕рд╕реЗ рдлрд╝рдЬрд╝рд░ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рдирд┐рд╢реНрдЪрд┐рдд рдкрдереЛрдВ рдХреА рдЙрдкрд▓рдмреНрдзрд┐ рдХреЛ рд░реЛрдХрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
  3. рдЧрддрд┐рд╢реАрд▓ рдореЗрдореЛрд░реА рддрдХ рдкрд╣реБрдВрдЪ рдХреА рдХреЛрдИ рд╕реНрд╡рдЪреНрдЫрддрд╛ рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕реЗ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ (рдЦрд░реНрдЪ рдХрд┐рдП рдЧрдП рдкреНрд░рдпрд╛рд╕ рднреА), рдФрд░ рдпрд╣ рдЖрд░рдЯреАрдУрдПрд╕ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░реЗрдЧрд╛ (рдЗрд╕рдХреА рдкрд╣рд▓реЗ рд╕реЗ рдЬрд╛рдВрдЪ рдХрд░рдиреЗ рдХреА рднреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ)ред
  4. RTOS рдЗрдВрдЯрд░-рдЯрд╛рд╕реНрдХ рдЗрдВрдЯрд░реИрдХреНрд╢рди рдХрд╛ рдЕрдиреБрдХрд░рдг рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ - рдЖрдк рдлрд╝рдЬрд╝рд░ рдХреЛ рдХреБрдЫ рдирд┐рд╢реНрдЪрд┐рдд рд░рд╛рд╕реНрддреЛрдВ рдХреЛ рдЦреЛрдЬрдиреЗ рд╕реЗ рднреА рд░реЛрдХ рд╕рдХрддреЗ рд╣реИрдВред

рдЗрд╕ рд╕рдВрд╢реЛрдзрди рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рд╣реИ "afl-unicorn: Fuzzing Arbiteath Binary Binary" рдФрд░
"рдЕрдлрд╝реНрд▓-рдЕрдирдЗрдХреЙрд░реНрди: рдкрд╛рд░реНрдЯ 2 - 'рдЕрдирдлрд╝реБрдЬрд╝реЗрдмрд▓' рдлрд╝рдЬрд╝рд┐рдВрдЧ" ред

рдбрд╛рдпрдиреЗрдорд┐рдХ рдмрд╛рдЗрдирд░реА рдЗрдВрд╕реНрдЯреНрд░реВрдореЗрдВрдЯреЗрд╢рди (DBI) рдлреНрд░реЗрдорд╡рд░реНрдХ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рд╕рдВрд╢реЛрдзрдиреЛрдВ рдХреЗ рд▓рд┐рдП рдЖрдЧреЗ рдмрдврд╝рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ, рд╣рдо рддреБрд░рдВрдд рдпрд╛рдж рдХрд░рддреЗ рд╣реИрдВ рдХрд┐ рдЗрди рдЪреМрдЦрдЯреЛрдВ рдореЗрдВ рд╕рдмрд╕реЗ рддреЗрдЬ рдбрд╛рдпрдирд╛рдореЛрдЗрд░реЛ, рдлрд┐рд░ рдбрд╛рдпрдиреЗрд╕реНрдЯ рдФрд░ рдЕрдВрдд рдореЗрдВ рдкрд┐рди рд╣реИред

рдкрд┐рди рд╕рдВрд╢реЛрдзрди

  • aflpin - AFL рдЗрдВрдЯреЗрд▓ рдкрд┐рди рдЗрдВрд╕реНрдЯреНрд░реВрдореЗрдВрдЯреЗрд╢рди рдХреЗ рд╕рд╛рдеред
  • afl_pin_mode - Intel PIN рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рд┐рдд рдПрдХ рдФрд░ AFL рдЗрдВрд╕реНрдЯреНрд░реВрдореЗрдВрдЯреЗрд╢рдиред
  • рдПрдлрдПрд▓ -рдкрд┐рди - рдПрдПрдлрдПрд▓ рдкрд┐рдирдЯреВрд▓ рдХреЗ рд╕рд╛рдеред
  • NaFl - AFL рдлрд╝рдЬрд╝рд░ рдХрд╛ рдПрдХ рдХреНрд▓реЛрди (рдореВрд▓ рдХреЛрд░ рдХрд╛)ред
  • PinAFL - рдЯреВрд▓ рдХреЗ рд▓реЗрдЦрдХ рдиреЗ рдкрд╣рд▓реЗ рд╕реЗ рд╕рдВрдХрд▓рд┐рдд рдмрд╛рдпрдиреЗрд░рд┐рдЬрд╝ рдХреЗ рд▓рд┐рдП рдПрдПрдлрдПрд▓ рдХреЛ рд╡рд┐рдВрдбреЛрдЬ рдореЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреАред рдЬрд╛рд╣рд┐рд░ рд╣реИ, рдПрдХ рд╢рд╛рдо рдореЗрдВ рдкреНрд░рд╢рдВрд╕рдХ рдкрд░ рдЕрдзрд┐рдХ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдФрд░ рдлрд┐рд░ рдкрд░рд┐рдпреЛрдЬрдирд╛ рд╡рд┐рдХрд╕рд┐рдд рдирд╣реАрдВ рд╣реЛрддреА рд╣реИред рднрдВрдбрд╛рд░ рдореЗрдВ рд╕реНрд░реЛрдд рдирд╣реАрдВ рд╣реЛрддреЗ рд╣реИрдВ, рдХреЗрд╡рд▓ рд╕рдВрдЧреНрд░рд╣рд┐рдд рдмрд╛рдпрдиреЗрд░реА рдФрд░ рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдирд┐рд░реНрджреЗрд╢ рд╣реИрдВред AFL рд╕рдВрд╕реНрдХрд░рдг рдЬрд┐рд╕ рдкрд░ рдпрд╣ рдЙрдкрдХрд░рдг рдЖрдзрд╛рд░рд┐рдд рд╣реИ, рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдирд╣реАрдВ рд╣реИ, рдФрд░ рдХреЗрд╡рд▓ 32-рдмрд┐рдЯ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИред

рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ, рдХрдИ рдЕрд▓рдЧ-рдЕрд▓рдЧ рд╕рдВрд╢реЛрдзрди рд╣реИрдВ, рд▓реЗрдХрд┐рди рд╡реНрдпрд╡рд╣рд╛рд░ рдореЗрдВ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдЬреАрд╡рди рдореЗрдВ рдЙрдирдХрд╛ рдмрд╣реБрдд рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рд╣реИред

рд░рд╛рдЬрд╡рдВрд╢ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рд╕рдВрд╢реЛрдзрди

afl-dyninst - рдЕрдореЗрд░рд┐рдХрди рдлрдЬрд╝реА рд▓реЛрдк + рдбрд╛рдпрдиреНрд╕реНрдЯреАрди == рдПрдПрдлрдПрд▓ рдмреНрд▓реИрдХрдмреЙрдХреНрд╕ рдлрд╝рдЬрд╝рд┐рдВрдЧред рдЗрд╕ рд╕рдВрд╕реНрдХрд░рдг рдХреА рд╡рд┐рд╢реЗрд╖рддрд╛ рдпрд╣ рд╣реИ рдХрд┐ рдкреНрд░рд╛рд░рдВрдн рдореЗрдВ рдЕрдзреНрдпрдпрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рдкреНрд░реЛрдЧреНрд░рд╛рдо (рд╕реНрд░реЛрдд рдХреЛрдб рдХреЗ рдмрд┐рдирд╛) рд╕рд╛рдВрд╡рд┐рдзрд┐рдХ рд░реВрдк рд╕реЗ рдЗрдВрд╕реНрдЯреНрд░реВрдореЗрдВрдЯ (рд╕реНрдЯреЗрдЯрд┐рдХ рдмрд╛рдЗрдирд░реА рдЗрдВрд╕реНрдЯреНрд░реВрдореЗрдВрдЯреЗрд╢рди, рд╕реНрдЯреЗрдЯрд┐рдХ рдмрд╛рдЗрдирд░реА рд░реАрд░рд╛рдЗрдЯрд┐рдВрдЧ) рд╣реИ, рдЬрд┐рд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдбрд╛рдпрдиреЗрд╕реНрдЯ рд╕реЗ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдФрд░ рдлрд┐рд░ рдХреНрд▓рд╛рд╕рд┐рдХ рдПрдПрдлрдПрд▓ рджреНрд╡рд╛рд░рд╛ рдлрдЬ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬреЛ рд╕реЛрдЪрддрд╛ рд╣реИ рдХрд┐ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдПрд▓рдПрд▓-рдЬреАрд╕реАрд╕реА / рдПрдлрдПрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рдерд╛ред -g ++ / afl-as;) рдЕрдВрдд рдореЗрдВ, рдпрд╣ рд╣рдореЗрдВ рд╕реНрд░реЛрдд рдХреЛрдб рдХреЗ рдмрд┐рдирд╛ рдФрд░ рдмрд╣реБрдд рдЕрдЪреНрдЫреЗ рдкреНрд░рджрд░реНрд╢рди рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХрд╛ рдЕрд╡рд╕рд░ рджреЗрддрд╛ рд╣реИ - рдпрд╣ рдПрдХ рджреЗрд╢реА рд╕рдВрдХрд▓рди рдХреА рддреБрд▓рдирд╛ рдореЗрдВ 0.25x рдХреА рдЧрддрд┐ рд╕реЗ рд╣реБрдЖ рдХрд░рддрд╛ рдерд╛ред QEMU рдкрд░ рдПрдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд▓рд╛рдн рд╣реИ, рдЬреЛ рдЧрддрд┐рд╢реАрд▓ рд░реВрдк рд╕реЗ рдЬреБрдбрд╝реЗ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреЛ рд╕рд╛рдзрдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рд╣реИред рдЬрдмрдХрд┐ рдХреНрдпреВрдИрдПрдордпреВ рдХреЗрд╡рд▓ рдореБрдЦреНрдп рдирд┐рд╖реНрдкрд╛рджрди рдпреЛрдЧреНрдп рдлрд╝рд╛рдЗрд▓ рдХреЛ рд╕рд╛рдВрдЦреНрдпрд┐рдХреАрдп рд░реВрдк рд╕реЗ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рд╕реЗ рдЬреЛрдбрд╝рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реИред рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ, рдЕрдм рдпрд╣ рдХреЗрд╡рд▓ рд▓рд┐рдирдХреНрд╕ рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рдХреЗ рд▓рд┐рдП рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рд╣реИред рд╡рд┐рдВрдбреЛрдЬ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, DynInst рдореЗрдВ рдмрджрд▓рд╛рд╡ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдФрд░ рд╡рд╣рд╛рдВ рдХрд╛рдо рдЪрд▓ рд░рд╣рд╛ рд╣реИ ред

рдЖрдк рдРрд╕реЗ рдХрд╛рдВрдЯреЗ рдкрд░ рднреА рдзреНрдпрд╛рди рджреЗ рд╕рдХрддреЗ рд╣реИрдВ рдЬрд╣рд╛рдБ рдпрд╣ рд╡рд┐рднрд┐рдиреНрди рдХреНрд╖рдорддрд╛рдУрдВ (AARCH64 рдФрд░ PPC рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░ рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди) рдФрд░ рдЧрддрд┐;

рдбрд╛рдпрдирдореЛрдЖрд░рдЖрдИрдУ рдкрд░ рдЖрдзрд╛рд░рд┐рдд рд╕рдВрд╢реЛрдзрди

  • drAFL - AFL + DynamoRIO = рд▓рд┐рдирдХреНрд╕ рдкрд░ рд╕реНрд░реЛрдд рдХреЗ рдмрд┐рдирд╛ рдлрд╝рдЬрд╝рд┐рдВрдЧред
  • afl-dr - рдбрд╛рдпрдирдореЛрдЗрд░реЛ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдПрдХ рдФрд░ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдЬреЛ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╣реИрдмрд░ рдХреЗ рдЦреБрд▓реЗ рд╕реНрдерд╛рдиреЛрдВ рдкрд░ рдЪрд┐рддреНрд░рд┐рдд рдорд╣рд╛рди рд╡рд┐рд╕реНрддрд╛рд░ рдореЗрдВ рд╣реИред
  • afl-dynamorio - рд╡реИрдиреНрд╣реМрд╕реЗрд░-рдереЗрдХ (рдПрдПрдлрдПрд▓ рдХреЛ рдкрдВрдк рдФрд░ рд╕реНрдерд┐рд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдкреНрд░рд╢рдВрд╕рдХ) рд╕реЗ рд╕рдВрд╢реЛрдзрдиред рд╡рд╣ рдЗрд╕ рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХрд╣рддреЗ рд╣реИрдВ: "AFL рдХреЛ рдбрд╛рдпрдирдореЛрдЖрд░рдЖрдИрдУ рдХреЗ рд╕рд╛рде рдЪрд▓рд╛рдПрдВ рдЬрдм рд╕рд╛рдорд╛рдиреНрдп рдПрдлрдПрд▓-рдбрд╛рдЗрдирд╕реНрдЯреАрди рджреНрд╡рд┐рдЖрдзрд╛рд░реА рдХреЛ рджреБрд░реНрдШрдЯрдирд╛рдЧреНрд░рд╕реНрдд рдХрд░ рд░рд╣рд╛ рд╣реИ рдФрд░ рдХреНрдпреВрдореВ рдореЛрдб-рдХреНрдпреВ рдПрдХ рд╡рд┐рдХрд▓реНрдк рдирд╣реАрдВ рд╣реИред" рд╕реБрдЦрдж рд╕реЗ, ARM рдФрд░ AARCH64 рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рдпрд╣рд╛рдВ рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛ рд╣реИред рдкреНрд░рджрд░реНрд╢рди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ: рдбрд╛рдпрдирдореЛрдЗрд░реЛ Qemu рдХреА рддреБрд▓рдирд╛ рдореЗрдВ ~ 10 рдзреАрдорд╛ рд╣реИ, ~ dyninst рдХреА рддреБрд▓рдирд╛ рдореЗрдВ 25 рдзреАрдорд╛ - рд╣рд╛рд▓рд╛рдВрдХрд┐, рдкрд┐рдВрдЯреВрд▓ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ ~ 10 рддреЗрдЬ рд╣реИред
  • WinAFL рд╡рд┐рдВрдбреЛрдЬ рдХреЗ рд▓рд┐рдП afl рдХрд╛ рд╕рдмрд╕реЗ рдкреНрд░рд╕рд┐рджреНрдз рдХрд╛рдВрдЯрд╛ рд╣реИред (рдбрд╛рдпрдирдореЛрдЗрд░реЛ, рд╕рд┐рдЬрд╝реНрдЧреА рдореЛрдб рднреА рд╣реИ)ред рдЗрд╕ рд╕рдВрд╢реЛрдзрди рдХреА рдЙрдкрд╕реНрдерд┐рддрд┐ рдХреЗрд╡рд▓ рд╕рдордп рдХреА рдмрд╛рдд рдереА, рдХреНрдпреЛрдВрдХрд┐ рдПрдПрдлрдПрд▓ рдХреЛ рд╡рд┐рдВрдбреЛрдЬ рдкрд░ рдЙрди рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдЖрдЬрд╝рдорд╛рдиреЗ рдХреА рдЗрдЪреНрдЫрд╛ рдереА, рдЬрд┐рдирдХреЗ рд▓рд┐рдП рдХреЛрдИ рд╕реНрд░реЛрдд рдХреЛрдб рдирд╣реАрдВ рд╣реИрдВред рдлрд┐рд▓рд╣рд╛рд▓, рдЯреВрд▓ рдХреЛ рд╕рдХреНрд░рд┐рдп рд░реВрдк рд╕реЗ рд╡рд┐рдХрд╕рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИ, рдФрд░ рдереЛрдбрд╝рд╛ рд╕реБрд╕реНрдд рдПрдПрдлрдПрд▓ рдХреЛрдб рдмреЗрд╕ (рд▓рд┐рдЦрдиреЗ рдХреЗ рд╕рдордп 2.43 рдмреА) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рдмрд╛рд╡рдЬреВрдж, рдЗрд╕рдХреЗ рд╕рд╛рде рдХрдИ рдХрдордЬреЛрд░рд┐рдпрд╛рдВ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдкрд╛рдИ рдЧрдИ рд╣реИрдВ (рд╕реАрд╡реАрдИ-2016-7212, рд╕реАрд╡реАрдИ-2017-0073, рд╕реАрд╡реАрдИ-2017- 0190, CVE-2017-11816)ред рдпрд╣ рдзреНрдпрд╛рди рджрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ рдореБрдЦреНрдп рдбреЗрд╡рд▓рдкрд░реНрд╕ Google рдЬрд╝реАрд░реЛ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдЯреАрдо рдФрд░ MSRC рдХрдордЬреЛрд░рд┐рдпреЛрдВ рдФрд░ рдХрдорд╛рдиреА рдЯреАрдо рдХреЗ рд╡рд┐рд╢реЗрд╖рдЬреНрдЮ рд╣реИрдВ, рдЬреЛ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рдЖрдЧреЗ рд╕рдХреНрд░рд┐рдп рд╡рд┐рдХрд╛рд╕ рдХреЗ рд▓рд┐рдП рдЖрд╢рд╛ рдХрд╛ рдХрд╛рд░рдг рджреЗрддрд╛ рд╣реИред рдлрд╝реНрдпреВрдЬрд╝рд░ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдбреЗрд╡рд▓рдкрд░реНрд╕ рдЯрд╛рдЗрдо рдЗрдВрд╕реНрдЯреНрд░реВрдореЗрдВрдЯреЗрд╢рди рдХреЛ рдбрд╛рдпрдиреЗрдорд┐рдХ рдЗрдВрд╕реНрдЯреНрд░реВрдореЗрдВрдЯреЗрд╢рди (рдбрд╛рдпрдирдореЛрдЗрд░реЛ рдкрд░ рдЖрдзрд╛рд░рд┐рдд) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдВрдХрд▓рди рдХрд░рдиреЗ рд╕реЗ рдЪрд▓реЗ рдЧрдП рд╣реИрдВ, рдЬреЛ рдЕрдзреНрдпрдпрди рдХреЗ рддрд╣рдд рд╕реЙрдлрд╝реНрдЯрд╡реЗрдпрд░ рдХреЗ рдирд┐рд╖реНрдкрд╛рджрди рдХреЛ рдзреАрдорд╛ рдХрд░ рджреЗрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк рдУрд╡рд░рд╣реЗрдб (рджреЛ рдмрд╛рд░) рджреНрд╡рд┐рдЖрдзрд╛рд░реА рдореЛрдб рдореЗрдВ рдХреНрд▓рд╛рд╕рд┐рдХ рдПрдПрдлрдПрд▓ рдХреЗ рд▓рд┐рдП рддреБрд▓рдиреАрдп рд╣реИред рдбреЗрд╡рд▓рдкрд░реНрд╕ рдиреЗ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреА рдПрдХ рд▓рдВрдмреА рд╢реБрд░реБрдЖрдд рдХреЗ рдореБрджреНрджреЗ рдХреЛ рднреА рд╣рд▓ рдХрд┐рдпрд╛, рдЗрд╕реЗ рд▓рдЧрд╛рддрд╛рд░ рдлрд╝рдЬрд╝рд┐рдВрдЧ рдореЛрдб рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ, рд╡реЗ рдЙрд╕ рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдЪрдпрди рдХрд░рддреЗ рд╣реИрдВ рдЬрд┐рд╕реЗ рдлрд╝реНрдпреВрдЬрд╝ рдХрд┐рдП рдЬрд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ (рдлрд╝рд╛рдЗрд▓ рдХреЗ рднреАрддрд░ рдпрд╛ рдпрджрд┐ рдлрд╝рдВрдХреНрд╢рди рдирд┐рд░реНрдпрд╛рдд рддрд╛рд▓рд┐рдХрд╛ рдореЗрдВ рдкреНрд░рд╕реНрддреБрдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рддреЛ рдирд╛рдо рд╕реЗ) рдФрд░ рдЗрд╕реЗ рдЗрд╕ рддрд░рд╣ рд╕реЗ рдЗрдВрд╕реНрдЯреНрд░реВрдореЗрдВрдЯ рдХрд░реЗрдВ рдХрд┐ рдЗрд╕реЗ рд▓реВрдк рдореЗрдВ рдмреБрд▓рд╛рдпрд╛ рдЬрд╛ рд╕рдХреЗред рдЬрд┐рд╕рд╕реЗ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рдкреБрдирдГ рдЖрд░рдВрдн рдХрд┐рдП рдмрд┐рдирд╛ рдЗрдирдкреБрдЯ рдбреЗрдЯрд╛ рдХреЗ рдХрдИ рдирдореВрдиреЗ рд▓реЙрдиреНрдЪ рдХрд┐рдП рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВред рд╣рд╛рд▓ рд╣реА рдореЗрдВ рдПрдХ рджрд┐рд▓рдЪрд╕реНрдк рд▓реЗрдЦ рд╕рд╛рдордиреЗ рдЖрдпрд╛, рдЬрд┐рд╕рдореЗрдВ рд╢реЛрдзрдХрд░реНрддрд╛рдУрдВ рдиреЗ рджрд┐рдЦрд╛рдпрд╛ рдХрд┐ рдХреИрд╕реЗ рдЙрдиреНрд╣реЛрдВрдиреЗ ~ 50 рджрд┐рдиреЛрдВ рдХреЗ рд▓рд┐рдП ~ 50 рджрд┐рдиреЛрдВ рдХреЗ рд╕рд╛рде Winafl рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдкрд╛рдпрд╛ред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, WinAFL рдореЗрдВ рд▓реЗрдЦ рдХреЗ рдкреНрд░рдХрд╛рд╢рди рд╕реЗ рд▓рдЧрднрдЧ рдкрд╣рд▓реЗ, рдЗрдВрдЯреЗрд▓ рдкреАрдЯреА рдореЛрдб рднреА рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛ рдерд╛ (рдЗрд╕ рдкрд░ рдмрд╛рдж рдореЗрдВ) - рд╡рд┐рд╡рд░рдг рдпрд╣рд╛рдВ рд╣реИрдВ ред

рдПрдХ рдЙрдиреНрдирдд / рдкрд░рд┐рд╖реНрдХреГрдд рдкрд╛рдардХ рдпрд╣ рдиреЛрдЯ рдХрд░ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдлреНрд░рд┐рдбрд╛ рдХреЗ рдЕрдкрд╡рд╛рдж рдХреЗ рд╕рд╛рде рд╕рднреА рд▓реЛрдХрдкреНрд░рд┐рдп рдЗрдВрд╕реНрдЯреНрд░реВрдореЗрдВрдЯреЗрд╢рди рдлреНрд░реЗрдорд╡рд░реНрдХ рдХреЗ рд╕рд╛рде рд╕рдВрд╢реЛрдзрди рд╣реИрдВ - рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдпрд╣ рд╣реИред рдПрдПрдлрдПрд▓ рдХреЗ рд╕рд╛рде рдлреНрд░рд┐рдбрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдПрдХрдорд╛рддреНрд░ рдЙрд▓реНрд▓реЗрдЦ рдХреЗрд╡рд▓ рдЪрд┐рдЬрд╝рдкреБрд░рдлреЗрд▓ рдореЗрдВ рдкрд╛рдпрд╛ рдЧрдпрд╛ рдерд╛ : рд╡рд┐рдХреНрд░реЗрддрд╛ рд╕реЗрд╡рд╛ рдЕрдиреБрдХреВрд▓рди рдХреЗ рд▓рд┐рдП рдПрдХ рдЧреНрд░реЗ-рдмреЙрдХреНрд╕ рдПрдВрдбреНрд░реЙрдЗрдб рдлрд╝рдЬрд╝рд░ ред рдлреНрд░реАрдбрд╛ рдХреЗ рд╕рд╛рде AFL рдХрд╛ рд╕рдВрд╕реНрдХрд░рдг рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЙрдкрдпреЛрдЧреА рдерд╛ рдХреНрдпреЛрдВрдХрд┐ рдлреНрд░реАрдбрд╛ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ RISC рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░ рдХреА рдПрдХ рд╕рдВрдЦреНрдпрд╛ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИред

рдХрдИ рд╢реЛрдзрдХрд░реНрддрд╛ Capstone, Unicorne, Keystone рдХреЗ рдирд┐рд░реНрдорд╛рддрд╛ рд╕реЗ рд╕реНрдХреЙрд░реНрдкрд┐рдпреЛ рдбреАрдмреАрдЖрдИ рдврд╛рдВрдЪреЗ рдХреА рд░рд┐рд╣рд╛рдИ рдХреЗ рд▓рд┐рдП рднреА рддрддреНрдкрд░ рд╣реИрдВред рдЗрд╕ рдврд╛рдВрдЪреЗ рдХреЗ рдЖрдзрд╛рд░ рдкрд░, рд▓реЗрдЦрдХ рдЦреБрдж рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдПрдХ рдлрдЬрд░ (рдбрд╛рд░реНрдХреЛ) рдмрдирд╛ рдЪреБрдХреЗ рд╣реИрдВ рдФрд░, рдЙрдирдХреЗ рдЕрдиреБрд╕рд╛рд░, рдПрдореНрдмреЗрдбреЗрдб рдЙрдкрдХрд░рдгреЛрдВ рдХреЗ рд▓рд┐рдП рдЗрд╕рдХрд╛ рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рд╣реИред рдЕрдзрд┐рдХ рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рд▓рд┐рдП, рдбреАрдЬрд╝рд┐рдВрдЧ рдбреАрдкрд┐рдВрдЧ рджреЗрдЦреЗрдВ : рдХреЛрдб рдХрд╡рд░реЗрдЬ рдЧрд╛рдЗрдбреЗрдб рдлрд╝рдЬрд╝рд┐рдВрдЧ рдХреЗ рд╕рд╛рде рдПрдВрдмреЗрдбреЗрдб рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ 0 рджрд┐рди рдЦреЛрдЬрдирд╛ ред

рдкреНрд░реЛрд╕реЗрд╕рд░ рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рдХреНрд╖рдорддрд╛рдУрдВ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рд╕рдВрд╢реЛрдзрди

рдЬрдм рдПрдПрдлрдПрд▓ рд╕рдВрд╢реЛрдзрдиреЛрдВ рдХреА рдмрд╛рдд рдЖрддреА рд╣реИ рдЬреЛ рдкреНрд░реЛрд╕реЗрд╕рд░ рдХреА рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рдХреНрд╖рдорддрд╛рдУрдВ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдпрд╣ рдореБрдЦреНрдп рд░реВрдк рд╕реЗ рдХрд░реНрдЬрд╝ рдХреЛрдб рдХреЛ рдлрд╝рд┐рдЬрд╝ рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░рддрд╛ рд╣реИ, рдФрд░ рджреВрд╕рд░реА рдмрд╛рдд, рд╕реНрд░реЛрдд рдХреЛрдб рдХреЗ рдмрд┐рдирд╛ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рдЙрдЪреНрдЪ рдлрд╝рдЬрд╝рд┐рдВрдЧ рдЧрддрд┐ред

рдФрд░, рдЬрд╝рд╛рд╣рд┐рд░ рд╣реИ, рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ рд╣рдо рдкреНрд░реЛрд╕реЗрд╕рд░ рдХреА рдРрд╕реА рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рдХреНрд╖рдорддрд╛рдУрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдЬреИрд╕реЗ рдЗрдВрдЯреЗрд▓ рдкреАрдЯреА (рдкреНрд░реЛрд╕реЗрд╕рд░ рдЯреНрд░реЗрд╕рд┐рдВрдЧ)ред рдЬреЛ рдХрд┐ 6 рд╡реАрдВ рдкреАрдврд╝реА рдХреЗ рдкреНрд░реЛрд╕реЗрд╕рд░ рд╕реЗ рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИ (рдпрд╣ рд▓рдЧрднрдЧ 2015 рд╕реЗ рд╣реИ)ред рд╕реНрд╡рд╛рднрд╛рд╡рд┐рдХ рд░реВрдк рд╕реЗ, рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдлрд╝рдЬрд╝рд░реНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдЙрдкрдпреБрдХреНрдд рдЗрдВрдЯреЗрд▓ рдкреАрдЯреА рд╕рдорд░реНрдерди рдХреЗ рд╕рд╛рде рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреАред

  • WinAFL-IntelPT рдПрдХ рдерд░реНрдб-рдкрд╛рд░реНрдЯреА WinAFL рдореЙрдбрд┐рдлрд┐рдХреЗрд╢рди рд╣реИ рдЬрд┐рд╕рдореЗрдВ DynamoRIO рдХреЗ рдмрдЬрд╛рдп Intel PT рддрдХрдиреАрдХ рдХрд╛ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
  • kAFL рдПрдХ рд╢реИрдХреНрд╖рдгрд┐рдХ рд╡рд┐рдХрд╛рд╕ рд╣реИ рдЬрд┐рд╕рдХрд╛ рдЙрджреНрджреЗрд╢реНрдп рдУрдПрд╕ рд╕реНрд╡рддрдВрддреНрд░ рддрд░реАрдХреЗ рд╕реЗ рдХрд░реНрдиреЗрд▓ рдЪрд░рдгрдмрджреНрдз рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╡рд░реЗрдЬ-рдирд┐рд░реНрджреЗрд╢рд┐рдд рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рдирд╛ рд╣реИред рд╣рд╛рдЗрдкрд░рд╡рд┐рдЬрд░ рдФрд░ рдЗрдВрдЯреЗрд▓ рдкреАрдЯреА рддрдХрдиреАрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХреНрдпрд╛ рд╣рд▓ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЖрдк рдЙрдирдХреЗ рд╢реНрд╡реЗрддрдкрддреНрд░ "рдХреЗрдПрдПрдлрдПрд▓: рд╣рд╛рд░реНрдбрд╡реЗрдпрд░-рдЕрд╕рд┐рд╕реНрдЯреЗрдб рдлреАрдбрдмреИрдХ рдлрд╝рдЬрд╝рд┐рдВрдЧ рдлрд╝реЙрд░ рдУрдПрд╕ рдХрд░реНрдиреЗрд▓" рд╕реЗ рдЕрдзрд┐рдХ рд╕реАрдЦ рд╕рдХрддреЗ рд╣реИрдВред

рдирд┐рд╖реНрдХрд░реНрд╖


рдЬреИрд╕рд╛ рдХрд┐ рдЖрдкрдиреЗ рджреЗрдЦрд╛ рд╣реЛрдЧрд╛, рдпрд╣ рд╡рд┐рд╖рдп рд╕рдХреНрд░рд┐рдп рд░реВрдк рд╕реЗ рд╡рд┐рдХрд╕рд┐рдд рд╣реЛ рд░рд╣рд╛ рд╣реИред рд╕рд╛рде рд╣реА, AFL рдХрд╛ рдирдпрд╛, рд░реЛрдЪрдХ рдФрд░ рдЙрдкрдпреЛрдЧреА рд╕рдВрд╢реЛрдзрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд░рдЪрдирд╛рддреНрдордХрддрд╛ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдЬрдЧрд╣ рд╣реИред

рдЖрдкрдХрд╛ рдзреНрдпрд╛рди рдФрд░ рд╕рдлрд▓ рдлрд╝рдЬрд╝рд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж!

рд╕рд╣-рд▓реЗрдЦрдХ: рдирд┐рдХрд┐рддрд╛ рдирд┐рдЭреЛрд╡

рдкреБрдирд╢реНрдЪ рдЗрд╕ рд╕рд╛рдордЧреНрд░реА рдХреЛ рддреИрдпрд╛рд░ рдХрд░рдиреЗ рдореЗрдВ рдЙрдирдХреА рдорджрдж рдХреЗ рд▓рд┐рдП рдЕрдиреБрд╕рдВрдзрд╛рди рдХреЗрдВрджреНрд░ рдХреА рдкреВрд░реА рдЯреАрдо рдХреЛ рдзрдиреНрдпрд╡рд╛рдж, рдЙрдирдХреЗ рдЕрдиреБрднрд╡ рдХреЗ рдмрд┐рдирд╛ рдФрд░ рдЗрд╕ рддрд░рд╣ рдХреА рддреИрдпрд╛рд░реА рдХрд░рдирд╛ рдЕрд╕рдВрднрд╡ рд╣реЛрдЧрд╛ред

Source: https://habr.com/ru/post/hi435644/


All Articles