
рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рд╣рдорд▓реЗ рдорд╛рдЗрдХреНрд░реЛрдХрдВрдЯреНрд░реЛрд▓рд░реНрд╕ (рдЗрд╕рдХреЗ рдмрд╛рдж - рдПрдордХреЗ) рдХреЗ рд╕рд╛рде рд╕рднреА рдЙрдкрдХрд░рдгреЛрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рдмрдбрд╝рд╛ рдЦрддрд░рд╛ рдкреИрджрд╛ рдХрд░рддреЗ рд╣реИрдВ, рдХреНрдпреЛрдВрдХрд┐ рд╡реЗ рд╡рд┐рднрд┐рдиреНрди рд╕реБрд░рдХреНрд╖рд╛ рддрдВрддреНрд░реЛрдВ рдХреЛ рдмрд╛рдпрдкрд╛рд╕ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рдпрд╛ рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдРрд╕реЗ рд╣рдорд▓реЛрдВ рд╕реЗ рдмрдЪрд╛рд╡ рдХрд░рдирд╛ рдХрдард┐рди рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЖрдк рд╡рд┐рднрд┐рдиреНрди рдкреНрд░рдХрд╛рд░ рдХреЗ рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рд╣рдорд▓реЛрдВ рдФрд░ рдПрдордХреЗ рдХреА рд╕реБрд░рдХреНрд╖рд╛ рдХреЗ рддрд░реАрдХреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ STMicroelectronics рд╕реЗ рдПрдХ рд▓реЗрдЦ рдкрдврд╝ рд╕рдХрддреЗ рд╣реИрдВред
рд╣рдо, рдПрдХ рдкреНрд░рдХрд╛рд░ рдХрд╛ рдЬрд╛рдирд╡рд░ рд╕реБрд░рдХреНрд╖рд╛ рджрд▓, рдЗрд╕ рд╡рд┐рд╖рдп рдореЗрдВ рд░реБрдЪрд┐ рд░рдЦрддреЗ рд╣реИрдВ, рдХреНрдпреЛрдВрдХрд┐ рд╣рдорд╛рд░реА рдХрдВрдкрдиреА рдХреА рдЧрддрд┐рд╡рд┐рдзрд┐ рдХрд╛ рдПрдХ рдХреНрд╖реЗрддреНрд░ рдПрдореНрдмреЗрдбреЗрдб рдЙрдкрдХрд░рдгреЛрдВ рдХрд╛ рд╡рд┐рдХрд╛рд╕ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рд╕реВрдЪрдирд╛ рд╕реБрд░рдХреНрд╖рд╛ рддрдВрддреНрд░ рд╢рд╛рдорд┐рд▓ рд╣реИрдВред рдЕрдзрд┐рдХрд╛рдВрд╢ рднрд╛рдЧ рдХреЗ рд▓рд┐рдП, рд╣рдо рдЧрдбрд╝рдмрдбрд╝ рд╣рдорд▓реЛрдВ рдореЗрдВ рд░реБрдЪрд┐ рд░рдЦрддреЗ рд╣реИрдВ, рдХреНрдпреЛрдВрдХрд┐ рд╡реЗ рдЖрдкрдХреЛ рдирд┐рд╖реНрдкрд╛рджрди рдпреЛрдЧреНрдп рдПрдордХреЗ рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХреЛ рдЦрддреНрдо рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреЗ рд╣реИрдВред рдпрд╣ рдПрдордХреЗ рдореЗрдВ рдирд┐рд╣рд┐рдд рдЧреЛрдкрдиреАрдп рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рд▓рд┐рдП рдПрдХ рдЧрдВрднреАрд░ рдЦрддрд░рд╛ рд╣реИ, рдФрд░ рдЗрд╕ рддрд░рд╣ рдХреЗ рд╣рдорд▓реЛрдВ рдХрд╛ рд╕рдмрд╕реЗ рдЦрддрд░рдирд╛рдХ рдкрд░рд┐рдгрд╛рдо рдПрдордХреЗ рдбреЗрд╡рд▓рдкрд░реНрд╕ рджреНрд╡рд╛рд░рд╛ рдкреНрд░рджрд╛рди рдХреА рдЧрдИ рд╕реБрд░рдХреНрд╖рд╛ рддрдВрддреНрд░ рдХреЛ рджрд░рдХрд┐рдирд╛рд░ рдХрд░рддреЗ рд╣реБрдП, рдмрдВрдж рдлрд░реНрдорд╡реЗрдпрд░ рдкрдврд╝ рд░рд╣рд╛ рд╣реИред
рд╣рд░реНрдмрд░реНрдЧ рдПрдВрдбрд┐рдпреЛ 2018 рдореЗрдВ рдж рд╣реЗрдЧ рдПрдВрдб рдПрдВрдмреЗрдбреЗрдбрд╡рд░реНрд▓реНрдб 2019 рдореЗрдВ рдиреВрд░реЗрдордмрд░реНрдЧ рдореЗрдВ, NewAE рдиреЗ рдЪрд┐рдкрд╡рд┐рд╕реНрдкрд░ рдбрд┐рд╡рд╛рдЗрд╕ рдХрд╛ рдкреНрд░рджрд░реНрд╢рди рдХрд┐рдпрд╛, рдЬреЛ рдЧреИрд░-рдЗрдирд╡реЗрд╕рд┐рд╡ рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рд╣рдорд▓реЛрдВ рдХреЗ рдЙрд╕ рд╣рд┐рд╕реНрд╕реЗ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдиреИрдиреЛ-рдЗрд▓реЗрдХреНрдЯреНрд░реЛрдирд┐рдХреНрд╕ рдХреЗ рдЧрд╣рди рдЬреНрдЮрд╛рди рдФрд░ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдЙрдкрдХрд░рдгреЛрдВ рдХреА рдЙрдкрд▓рдмреНрдзрддрд╛ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реЛрддреА рд╣реИред рдЗрд╕ рдЙрдкрдХрд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП, рд╣рдордиреЗ рдПрдореНрдмреЗрдбреЗрдб рдЙрдкрдХрд░рдгреЛрдВ рдХреА рд╕реБрд░рдХреНрд╖рд╛ рдХрд╛ рдЕрдзреНрдпрдпрди рдХрд┐рдпрд╛ рдФрд░ рдкрддрд╛ рд▓рдЧрд╛рдпрд╛ рдХрд┐ рдРрд╕реЗ рд╣рдорд▓реЛрдВ рдХреЗ рдкрд░рд┐рдгрд╛рдо рдХреЛ рдХреИрд╕реЗ рдХрдо рдХрд┐рдпрд╛ рдЬрд╛рдПред рдХрдЯреМрддреА рдХреЗ рддрд╣рдд - рд╣рдордиреЗ рдХреНрдпрд╛ рдХрд┐рдпрд╛ред
ChipWhisperer
рд╕рдмрд╕реЗ рд▓реЛрдХрдкреНрд░рд┐рдп MK (STM, Xmega, Intel D2000, SAM, LPC, MSP, 78K рдФрд░ рдЕрдиреНрдп) рдФрд░ FPGAs рдХреА рд╕реБрд░рдХреНрд╖рд╛ рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП ChipWhisperer рдХрд┐рдЯ рдПрдХ рдУрдкрди рд╕реЛрд░реНрд╕ рдЯреВрд▓рдХрд┐рдЯ рд╣реИред рдкрд░рд┐рдпреЛрдЬрдирд╛ 27 рдлрд░рд╡рд░реА, 2015 рдХреЛ рдХрд┐рдХрд╕реНрдЯрд╛рд░реНрдЯрд░ рдкрд░ рд╢реБрд░реВ рд╣реБрдИред рдлрд┐рд▓рд╣рд╛рд▓, рдЪрд┐рдкрд╡рд┐рд╕реНрдкрд░ рдХреЗ рд╡рд┐рднрд┐рдиреНрди рд╕рдВрд╕реНрдХрд░рдг рд╣реИрдВ (рд╕рднреА рд╡рд┐рдХрд▓реНрдк рдХреИрдЯрд▓реЙрдЧ рдореЗрдВ рдкрд╛рдП рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВ)ред рдЙрдирдХреЗ рдкрд╛рд╕ рдЙрдкрдХрд░рдгреЛрдВ рдХрд╛ рдПрдХ рдЕрд▓рдЧ рд╕реЗрдЯ рд╣реИ, рд▓реЗрдХрд┐рди рдЖрдо рддреМрд░ рдкрд░ рдирд┐рдореНрди рдкреНрд░рдХрд╛рд░ рдХреЗ рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рд╣рдорд▓реЛрдВ рдХреА рдУрд░ рдзреНрдпрд╛рди рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ:
тАв рд╕рд╛рдЗрдб-рдЪреИрдирд▓ рд╣рдорд▓реЗ (рдПрд╕рд╕реАрдП);
тАв рдЧрдбрд╝рдмрдбрд╝ рд╣рдорд▓реЗред
рдЖрдЧреЗ рдХреЗ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХреЗ рд▓рд┐рдП, рд╣рдордиреЗ рдЪрд┐рдк-рд╡рд┐рдпрд░-рдкреНрд░реЛ (CW1200) рдХреЛ рдЪреБрдирд╛, рдЬреЛ рдЗрд╕ рд╕рдордп рд╕рдмрд╕реЗ рдкреБрд░рд╛рдирд╛ рдЪрд┐рдкрд╡рд░реНрдкрд░ рдореЙрдбрд▓ рд╣реИ рдФрд░ рдЗрд╕рдХреА рд╡реНрдпрд╛рдкрдХ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдФрд░ рдПрдХ рдмрдбрд╝рд╛ рдкреИрдХреЗрдЬ рд╣реИ:

рдЪрд┐рдк рд╡рд╛рдЗрд╕рдкрд░ рдХрд┐рдЯ (CW1200)
рдмреЛрд░реНрдб рдкрд░, CW1200 рдореЗрдВ рдПрдХ рдЖрд╕реНрдЯрд╕реАрд▓рд╕реНрдХрдк рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рдПрдХ рд╕рдорд╛рдпреЛрдЬреНрдп рдПрдореНрдкрд▓реАрдлрд╛рдпрд░ рдФрд░ 105 MSPS рдХреЗ рдирдореВрдиреЗ рдХреЗ рд╕рд╛рде рдПрдХ ADC рд╣реИред рдЙрдкрдХрд░рдгреЛрдВ рдХрд╛ рдпрд╣ рд╕реЗрдЯ рдЖрдкрдХреЛ рдорд┐рд▓рд┐рд╡реЙрд▓ рдХреЗ рд╕реМрд╡реЗрдВ рд╣рд┐рд╕реНрд╕реЗ рдореЗрдВ рд╕рд┐рдЧреНрдирд▓ рд╕реНрддрд░ рдХреЛ рдкрдВрдЬреАрдХреГрдд рдХрд░рдиреЗ рдФрд░ рдПрдХ рдЕрдЪреНрдЫрд╛ рд╕рдордп рдЖрдзрд╛рд░ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рд╕реАрдбрдмреНрд▓реНрдпреВ 1200 рдореЗрдВ рднреА рд╕реАрдПрд▓рдХреЗ-рдЧреНрд▓рд┐рдЪ рдФрд░ рд╡реАрд╕реАрд╕реА-рдЧреНрд▓рд┐рдЪ рдХреЗ рдЖрдпреЛрдЬрди рдХреЗ рд▓рд┐рдП рдкреЛрд░реНрдЯ рд╣реИрдВ, рдЬреАрдкреАрдЖрдИрдУ рдкреЛрд░реНрдЯ рдЬрд┐рдиреНрд╣реЗрдВ рдХрд┐рд╕реА рдИрд╡реЗрдВрдЯ рдХреЗ рдореВрд▓ (рдкрд╛рд╕рд╡рд░реНрдб рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐ рдЕрдиреБрд░реЛрдз, рдбрд╛рдЙрдирд▓реЛрдб рд╕реНрдерд┐рддрд┐, рдЖрджрд┐) рдХреЛ рдЯреНрд░реИрдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрдирдкреБрдЯ рдЯреНрд░рд┐рдЧрд░реНрд╕ рдХреЗ рд░реВрдк рдореЗрдВ рд╕реМрдВрдкрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред CW1200 USB рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдПрдХ PC рд╕реЗ рдХрдиреЗрдХреНрдЯ рд╣реЛрддрд╛ рд╣реИ рдФрд░ рдЗрд╕рдореЗрдВ MK: UART рдФрд░ SPI рдХреЗ рд╕рд╛рде рджреЛ рд╕рдВрдЪрд╛рд░ рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рд╣реЛрддреЗ рд╣реИрдВред
ChipWhisperer рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдбреНрд░рд╛рдЗрд╡рд░реЛрдВ рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ, Python рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреЛ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдиреЗ рдФрд░ GitHub рд╕реЗ рдХрд╛рдо рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдЙрджрд╛рд╣рд░рдгреЛрдВ рдХреЛ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдиреЗ рдпрд╛ рд▓рд┐рдирдХреНрд╕ рдкрд░ рдПрдХ рд╡рд░реНрдЪреБрдЕрд▓ рдорд╢реАрди рдХреА рддреИрдпрд╛рд░ рдХреА рдЧрдИ рдЫрд╡рд┐ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рд╕рднреА рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдФрд░ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рдЙрджрд╛рд╣рд░рдгреЛрдВ рдХреЛ рдкреВрд░реНрд╡рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдЗрди рдЦреБрд▓реЗ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ:
тАв рдЪрд┐рдк рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдХреЗ рд╕рд╛рде рд╕рдВрдЪрд╛рд░ рдкреНрд░реЛрдЯреЛрдХреЙрд▓;
тАв рд▓реЛрдХрдкреНрд░рд┐рдп рдПрдиреНрдХреНрд░рд┐рдкреНрд╢рди рд╡рд┐рдзрд┐рдпреЛрдВ рдкрд░ рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рд╣рдорд▓реЛрдВ рдХреЗ рд▓рд┐рдП рдЧрдгрд┐рддреАрдп рдПрд▓реНрдЧреЛрд░рд┐рджрдо;
тАв рд▓реЛрдХрдкреНрд░рд┐рдп рдПрдордХреЗ рдХреЗ рдмреВрдЯрд▓реЛрдбрд░реНрд╕ рдХреЗ рд╕рд╛рде рд╕рдВрдЪрд╛рд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░реЛрдЯреЛрдХреЙрд▓;
тАв рдХрд┐рдЯ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рдПрдордХреЗ рдХреЗ рд╕рд╛рде рдмреЛрд░реНрдбреЛрдВ рдкрд░ рдкреНрд░рд╢рд┐рдХреНрд╖рдг рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рдлрд░реНрдорд╡реЗрдпрд░ред
рд╣рдордиреЗ рдкреБрд░рд╛рдиреА NewAE рд╡реЗрдмрд╕рд╛рдЗрдЯ рдкрд░ рд╕рднреА рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓реНрд╕ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЬрд╛рдиреЗ рдХрд╛ рдирд┐рд░реНрдгрдп рд▓рд┐рдпрд╛ред рдЕрдм рдПрдХ рдФрд░ рд╕рдВрд╕рд╛рдзрди рд╡рд┐рдХрд╕рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИ, рдЬрд╣рд╛рдБ рдЕрдзрд┐рдХ рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рдЬрд╛рдирдХрд╛рд░реА рдкреНрд░рд╕реНрддреБрдд рдХреА рдЧрдИ рд╣реИ рдФрд░ рдПрдХ рдордВрдЪ рд╣реИ ред
рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ, рд╣рдо рдЪрд┐рдкрд╡реНрдпреВрдкрд░ рдбреЗрд╡рд▓рдкрд░реНрд╕ рд╕реЗ рдЧрд╛рдЗрдб рдХреЗ рдХреЗрд╡рд▓ рдХреБрдЫ рдЙрджрд╛рд╣рд░рдг рдкреЗрд╢ рдХрд░реЗрдВрдЧреЗ рдФрд░ рд╣рдо рдЙрдиреНрд╣реЗрдВ рдПрдордХреЗ рдХреЗ рд╕рд╛рде рдмреЛрд░реНрдбреЛрдВ рдкрд░ рд▓рд╛рдЧреВ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ рдЬреЛ рдкреИрдХреЗрдЬ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ, рд▓реЗрдХрд┐рди STM32F103RBT6 рдкрд░:

рдмреЛрд░реНрдб STM32F103RBT6
рд╣рдордиреЗ рдЙрдирдХреЗ рддреИрдпрд╛рд░ рдЙрджрд╛рд╣рд░рдгреЛрдВ рдХреЗ рд╕рдорд╛рди рдХреЛрдб рднреА рд▓рд┐рдЦрд╛ рдерд╛, рд▓реЗрдХрд┐рди рдХреНрдпреВрдПрдордПрдордПрдХреНрд╕ рд╕реЗ рдЙрддреНрдкрдиреНрди рдПрдЪрдПрдПрд▓ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреЗ рд╕рд╛рдеред рдЗрди рд╕рднреА рдХрд╛рд░реНрд░рд╡рд╛рдЗрдпреЛрдВ рдХреА рдкреБрд╖реНрдЯрд┐ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рд╣реИ рдХрд┐ рдХрд┐рд╕реА рднреА рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рдЙрдкрдХрд░рдгреЛрдВ рдкрд░, рдЪрд┐рдкрд╕реЗрдЯ рдореЗрдВ рд╣рдорд▓рд╛ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рди рдХрд┐ рдХрд┐рдЯ рдореЗрдВ рдореМрдЬреВрдж рдмреЛрд░реНрдбреЛрдВ рдкрд░ред
рдЕрдЧрд▓рд╛, рд╣рдо рдПрдХ рд╕рдВрдХреНрд╖рд┐рдкреНрдд рдЕрд╡рд▓реЛрдХрди рдФрд░ SCA рд╣рдорд▓реЛрдВ рдФрд░ рдЧрдбрд╝рдмрдбрд╝ рд╣рдорд▓реЛрдВ рдХреЗ рдЙрджрд╛рд╣рд░рдг рдкреНрд░рджрд╛рди рдХрд░рддреЗ рд╣реИрдВред
SCA рд╡рд┐рд╢реНрд▓реЗрд╖рдг
рдПрд╕рд╕реАрдП рд╣рдорд▓реЛрдВ рдХрд╛ рдЖрдзрд╛рд░ рд╡рд┐рднрд┐рдиреНрди рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХреЗ рд╡рд┐рдХрд╛рд╕ рдХреЗ рджреМрд░рд╛рди рдПрдорд╕реА рд░рд╛рдЬреНрдп (рдПрдорд╕реА, рддрд╛рдкрдорд╛рди, рд╡рд┐рджреНрдпреБрдд рдЪреБрдореНрдмрдХреАрдп рдХреНрд╖реЗрддреНрд░ рдХреА рд╡рд░реНрддрдорд╛рди рдЦрдкрдд) рдХреЗ рдмрд╛рд╣рд░реА рдХрд╛рд░рдХреЛрдВ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрди рдХреЛ рдЯреНрд░реИрдХ рдХрд░ рд░рд╣рд╛ рд╣реИред рдЪрд┐рдк рд╡реЙрд╢рд░ рдПрдХ рдПрдбреАрд╕реА рдФрд░ рдПрдХ рдПрдВрдЯреАрдирд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдПрдХ рд╡рд┐рджреНрдпреБрдд рдЪреБрдореНрдмрдХреАрдп рдХреНрд╖реЗрддреНрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рдмрд┐рдЬрд▓реА рдХреА рдирд┐рдЧрд░рд╛рдиреА рдХреЗ рд▓рд┐рдП рдЪреИрдирд▓реЛрдВ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рддрд╛ рд╣реИред
SCA рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдкрд╛рд╕рд╡рд░реНрдб, рдПрдиреНрдХреНрд░рд┐рдкреНрд╢рди рдХреБрдВрдЬреА рдЖрджрд┐ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдореЗрдВ рдкреНрд░рднрд╛рд╡реА рд╣реИред NewAE рд╡реЗрдмрд╕рд╛рдЗрдЯ рдореЗрдВ рдХрдИ рдЕрд▓рдЧ-рдЕрд▓рдЧ рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдВ рд╣реИрдВ
рдПрдиреНрдХреНрд░рд┐рдкреНрд╢рди рдХреБрдВрдЬреА рдЦреЛрдЬрдиреЗ рдФрд░ SCA рд╣рдорд▓реЛрдВ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧреА рджрд┐рд╢рд╛рдирд┐рд░реНрджреЗрд╢ , рд▓реЗрдХрд┐рди рд╣рдо SCA рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд╛ рдХреЗрд╡рд▓ рдПрдХ рдЙрджрд╛рд╣рд░рдг рджреЗрдВрдЧреЗ, рдХреНрдпреЛрдВрдХрд┐ рдЧрдбрд╝рдмрдбрд╝ рд╣рдорд▓реЗ рд╣рдорд╛рд░реЗ рд▓рд┐рдП рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рд░реБрдЪрд┐ рд░рдЦрддреЗ рд╣реИрдВред
рдЙрджрд╛рд╣рд░рдг рдПрд╕рд╕реАрдП рдЕрдЯреИрдХ - рдкрд╛рд╡рд░ рд╕рд┐рдЧреНрдиреЗрдЪрд░ рдПрдирд╛рд▓рд┐рд╕рд┐рд╕
рдпрд╣ рдЧрд╛рдЗрдб рдПрдХ рдкреНрд░рдХрд╛рд░ рдХреЗ SCA рд╣рдорд▓реЗ рдХреЛ рджрд░реНрд╢рд╛рддрд╛ рд╣реИ - рдкрд╛рд╡рд░ рдЪреИрдирд▓ рдкрд░ рд╣рд╕реНрддрд╛рдХреНрд╖рд░ рдХреА рдирд┐рдЧрд░рд╛рдиреА рдХрд░рдХреЗ рдЪрд░рд┐рддреНрд░-рджрд░-рд╡рд░реНрдг рдкрд╛рд╕рд╡рд░реНрдб рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐ рдкрд░ рдирдЬрд╝рд░ рд░рдЦрдирд╛ред рд╢рдХреНрддрд┐ рд╣рд╕реНрддрд╛рдХреНрд╖рд░ рджреЛрд╣рд░рд╛рдХрд░, рдПрдордХреЗ рдХреЗ рдЕрдВрджрд░ рд╡рд┐рднрд┐рдиреНрди рдХрд╛рд░реНрдпрдХреНрд░рдо рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХреЗ рд╡рд┐рдХрд╛рд╕ рдХреА рдкрд╣рдЪрд╛рди рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реИред рдЙрдкрд░реЛрдХреНрдд рдЙрджрд╛рд╣рд░рдг break
рдСрдкрд░реЗрд╢рди рдХреЗ рд╣рд╕реНрддрд╛рдХреНрд╖рд░ рдХреЛ рдЯреНрд░реИрдХ рдХрд░рдХреЗ рдкрд╛рд╕рд╡рд░реНрдб рдЗрдирдкреБрдЯ рдПрдордХреЗ рдХреЗ рд╡рд┐рдХрд╛рд╕ рдХреЛ рджрд░реНрд╢рд╛рддрд╛ рд╣реИред
рдЪрд▓рд┐рдП рддреИрдпрд╛рд░реА рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВред рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдЖрдкрдХреЛ рдЖрдВрдХрдбрд╝реЗ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдХрдиреЗрдХреНрд╢рди рдмрдирд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ:

SCA рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХреЗ рд▓рд┐рдП MC рдХрдиреЗрдХреНрд╢рди
рдЖрд░реЗрдЦ рд╕реНрдЯреНрд░рд╛рдЗрдХрдереНрд░реВ рдЖрдЙрдЯ рдШрдЯрдХреЛрдВ рдХреЛ рдХрдиреЗрдХреНрдЯ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ (рдорд╛рдирдХ рдПрдордХреЗ рдХрдиреЗрдХреНрд╢рди рдХреЗ рд╡рд┐рдкрд░реАрдд)ред рддреАрд░ ChipWhisperer рдХреЗ рдХрдиреЗрдХреНрд╢рди рдмрд┐рдВрджреБрдУрдВ рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░рддреЗ рд╣реИрдВ, рдФрд░ рд╣рд╕реНрддрд╛рдХреНрд╖рд░ рдЗрд╕рдХреЗ рдкрд┐рди рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░рддреЗ рд╣реИрдВред
рдлрд░реНрдорд╡реЗрдпрд░ рдПрдордХреЗ рддреИрдпрд╛рд░ рдХрд░реЗрдВред рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХрд╛рд░реНрдп while(1)
рдореБрдЦреНрдп рд▓реВрдк рдореЗрдВ рд╣реИ:
028 void password_check() { 029 char passwd[32]; 030 char correct_passwd[] = "Vulkan"; 031 HAL_Delay(10); 032 uart_send("WARNING: UNAUTHORIZED ACCESS WILL BE PUNISHED\n"); 033 led_off(); 034 035
рд▓рд╛рдЗрди 030 рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐ рдХреЗ рд▓рд┐рдП рдкрд╛рд╕рд╡рд░реНрдб рд╕реЗрдЯ рдХрд░рддреА рд╣реИ - рд╡рд▓реНрдХрдиред рдЕрдЧрд▓рд╛, рдПрд▓рдИрдбреА рдЪрд╛рд▓реВ рд╣реЛрддрд╛ рд╣реИ
led_on()
рдФрд░ UART рд╕рдВрджреЗрд╢ рдкрд╛рд╕рд╡рд░реНрдб рдЕрдиреБрд░реЛрдз рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рднреЗрдЬрд╛ рдЬрд╛рддрд╛ рд╣реИред led_on()
рдлрд╝рдВрдХреНрд╢рди PA12 MK рдХреЗ GPIO рдкрд┐рди рдХреЛ рд╕рдХреНрд░рд┐рдп рдХрд░рддрд╛ рд╣реИ рдФрд░ рдПрдХ рдШрдЯрдирд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реВрдЪрд┐рдд рдХрд░рддрд╛ рд╣реИ рдЬрд┐рд╕рдХреЗ рдЦрд┐рд▓рд╛рдл ChipWhisperer waveforms рдХреЛ рдЬрдорд╛ рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░ рджреЗрдЧрд╛ред рдпрд╣ рдЗрд╕ рдкрд┐рди рдХреЗ рд▓рд┐рдП рд╣реИ рдХрд┐ CW_TRIG рдЬреБрдбрд╝рд╛ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рдпрд╣ рд╕рдм рд╕реБрд╡рд┐рдзрд╛ рдХреЗ рд▓рд┐рдП "рд╕рдВрд╢реНрд▓реЗрд╖рд┐рдд" рд╣реИ, рд▓реЗрдХрд┐рди рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдорд╛рдорд▓реЛрдВ рдореЗрдВ рдпрд╣ рдЕрдВрддрд░ рдорд╣рддреНрд╡рд╣реАрди рд╣реЛрдЧрд╛, рдХреНрдпреЛрдВрдХрд┐ рдЖрдк рдХрд┐рд╕реА рднреА рдШрдЯрдирд╛ рдХреЗ рд╕рдВрдмрдВрдз рдореЗрдВ CLOCK рдШрдбрд╝реА рдЪрдХреНрд░реЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рдПрдХ рд╕рдордп рдХреА рджреЗрд░реА рджрд░реНрдЬ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬрд┐рд╕рд╕реЗ CW_TRIG рдЬреБрдбрд╝рд╛ рд╣реБрдЖ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрд╣ рдПрдордХреЗ рдбрд╛рдЙрдирд▓реЛрдб, рд╕рдВрджреЗрд╢ рдкреНрд░рд╕рд╛рд░рдг / рд░рд┐рд╕реЗрдкреНрд╢рди, рдПрд▓рдИрдбреА рдСрди рдЖрджрд┐ рдХреА рд╢реБрд░реБрдЖрдд рд╣реЛ рд╕рдХрддреА рд╣реИред
рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, MK рдПрдХ рдкрд╛рд╕рд╡рд░реНрдб рджрд░реНрдЬ рдХрд░рдиреЗ рдХреА рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░рддрд╛ рд╣реИ, рдЬрд┐рд╕реЗ рд╡рд╣ рдЪрд░рд┐рддреНрд░ рджреНрд╡рд╛рд░рд╛ рд╡рд░реНрдг рд╕рддреНрдпрд╛рдкрд┐рдд рдХрд░реЗрдЧрд╛ред рдпрджрд┐ рдХрддрд╛рд░ рдореЗрдВ рдХреЛрдИ рднреА рд╡рд░реНрдг рдореЗрд▓ рдирд╣реАрдВ рдЦрд╛рддрд╛ рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рддреАрди рд╡рд░реНрдг рд╕рд╣реА рд╣реИрдВ, рдФрд░ рдЪреМрдерд╛ рдирд╣реАрдВ рд╣реИ, рддреЛ рдЖрдкрдХреЛ break
рд╕реНрдЯреЗрдЯрдореЗрдВрдЯ рдХреЗ рд▓рд┐рдП рд▓реВрдк рд╕реЗ рдмрд╛рд╣рд░ рдирд┐рдХрд▓рдиреЗ рдФрд░ рдЧрд▓рдд рдкрд╛рд╕рд╡рд░реНрдб рдХреА рд░рд┐рдкреЛрд░реНрдЯ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред 055-059 рд▓рд╛рдЗрдиреЛрдВ рдореЗрдВ, рдПрдХ рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рджреЗрд░реА рдЬрдирд░реЗрдЯрд░ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЗрд╕ рдбрд┐рдЬрд╛рдЗрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдЕрдХреНрд╕рд░ рдЕрд╕реНрдерд╛рдпреА рд╣рдорд▓реЛрдВ рдХреЗ рд╕рдВрдЪрд╛рд▓рди рдХреЛ рдЬрдЯрд┐рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ (рдпрд╛рдиреА, рдкреВрд░реЗ рд╕рд┐рд╕реНрдЯрдо рдХреЗ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рд╕рдордп рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрди рдХреЛ рдЯреНрд░реИрдХ рдХрд░рдирд╛)ред рдпрд╣ рдбрд┐рдЬрд╝рд╛рдЗрди рдпрд╣ рд╕рдордЭрдиреЗ рдХреЗ рд▓рд┐рдП рд╢рд╛рдорд┐рд▓ рд╣реИ рдХрд┐ рд╣рдордиреЗ рдЕрд╕реНрдерд╛рдпреА рд╣рдорд▓реЗ рдкрджреНрдзрддрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдкрд╛рд╕рд╡рд░реНрдб рдХрд╛ рдЪрдпрди рдирд╣реАрдВ рдХрд┐рдпрд╛ рд╣реИред
рдЬреБрдкрд┐рдЯрд░ рдкрд╛рдпрдерди рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓ рдХреЛрдб рдХреЛ рд╕рдВрдмрдВрдзрд┐рдд рд╕рдВрд╕рд╛рдзрди рдкрд░ рд╣реЛрд╕реНрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ ред рдиреАрдЪреЗ рджрд┐рдпрд╛ рдЧрдпрд╛ рдЖрдВрдХрдбрд╝рд╛ рдкреНрд░рддреНрдпреЗрдХ рдирдП рд╕рд╣реА рдкреНрд░рддреАрдХ рдХреЗ рд╕рд╛рде рдПрдордХреЗ рдХреА рдмрд┐рдЬрд▓реА рдЖрдкреВрд░реНрддрд┐ рддрд░рдВрдЧ рдХреЗ рдЖрдЙрдЯрдкреБрдЯ рдХреЗ рд╕рд╛рде рдПрдХ рдкрд╛рд╕рд╡рд░реНрдб рджрд░реНрдЬ рдХрд░рдиреЗ рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рджрд┐рдЦрд╛рддрд╛ рд╣реИред рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рд╕рд╣реА рдкрд╛рд╕рд╡рд░реНрдб рдХреЗ рдЪрд░рд┐рддреНрд░ рдЗрдирдкреБрдЯ рдХреЗ рд╕рд╛рде (рдЖрдкрдХреЗ рджреНрд╡рд╛рд░рд╛ рджрд░реНрдЬ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдкрд╛рд╕рд╡рд░реНрдб рдЖрдВрдХрдбрд╝рд╛ рдХреЗ рд╢реАрд░реНрд╖ рдкрд░ рджрд┐рдЦрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ), break
рдСрдкрд░реЗрд╢рди рдХреЗ рд╣рд╕реНрддрд╛рдХреНрд╖рд░ рдХреЛ рд▓рд╛рдЗрди 046 рдкрд░ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ (рдиреАрдЪреЗ рджрд┐рдП рдЧрдП рдЪрд┐рддреНрд░ рдореЗрдВ рдирд╛рд░рдВрдЧреА рдореЗрдВ рд╣рд╛рдЗрд▓рд╛рдЗрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛)ред рдпрд╣ break
рдСрдкрд░реЗрд╢рди рджреНрд╡рд╛рд░рд╛ рд░реБрдХрд╛рд╡рдЯ рдХреА "рдХрдордЬреЛрд░реА" рд╣реИ рдЬрдм рдкрд╛рд╕рд╡рд░реНрдб рдХрд╛ рдкрд╛рд╕рд╡рд░реНрдб-рджрд░-рд╡рд░реНрдг рд╕рддреНрдпрд╛рдкрди рд╣реЛрддрд╛ рд╣реИред

рдкрд╛рд╕рд╡рд░реНрдб рдУрд╕реНрд╕рд┐рд▓реЛрдЧреНрд░рд╛рдореНрд╕
рдЗрд╕ рдЧрд╛рдЗрдб рдХреЗ рд╕рд╛рде рдкрд░рд┐рдЪрд┐рдд рд╣реЛрдиреЗ рдХреЗ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк, рд╣рдореЗрдВ рдкрддрд╛ рдЪрд▓рд╛ рдХрд┐ SCA рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЗрд╕реЗ рдЬрд╛рдВрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рдЗрд╕ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХреЗ рд╕рд╛рде рдкрд╛рд╕рд╡рд░реНрдб рд╕реБрд░рдХреНрд╖рд╛ рдХреЛ рдмрд╛рдпрдкрд╛рд╕ рдХрд░рдирд╛ рдХрд┐рддрдирд╛ рдЖрд╕рд╛рди рд╣реИред рдЗрд╕ рдлрд░реНрдорд╡реЗрдпрд░ рдореЗрдВ рд▓рд╛рдЗрди 048 рдореЗрдВ break
рдСрдкрд░реЗрд╢рди рдкрд░ рдЯрд┐рдкреНрдкрдгреА рдХрд░рдирд╛ рдкрд░реНрдпрд╛рдкреНрдд рд╣реИ рдФрд░ рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рдкрд╛рд╕рд╡рд░реНрдб рдХреА рдЬрд╛рдВрдЪ рд╕рдлрд▓ рд╣реЛрдЧреА, рд▓реЗрдХрд┐рди рд╣рд╕реНрддрд╛рдХреНрд╖рд░ рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдХреА рдЯреНрд░реИрдХрд┐рдВрдЧ рдЕрдзрд┐рдХ рдЬрдЯрд┐рд▓ рд╣реЛ рдЬрд╛рдПрдЧреАред рдЗрд╕рд▓рд┐рдП, рдРрд╕реЗ рд╣рдорд▓реЛрдВ рдХреА рдкреНрд░рднрд╛рд╡рд╢реАрд▓рддрд╛ рдХреЛ рдХрдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рд╕реНрдХреИрди рдЪрдХреНрд░ рдХреЗ рддрддреНрдХрд╛рд▓ рд╡реНрдпрд╡рдзрд╛рди рдХреЗ рд╕рдВрдЪрд╛рд▓рди рд╕реЗ рдмрдЪрдирд╛ рдЪрд╛рд╣рд┐рдПред
рдЗрд╕ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХреА рдЬрдЯрд┐рд▓рддрд╛ рдЖрд╡рд╢реНрдпрдХ рд╣рд╕реНрддрд╛рдХреНрд╖рд░ рдЦреЛрдЬрдиреЗ рдореЗрдВ рдирд┐рд╣рд┐рдд рд╣реИред рдЗрд╕рд▓рд┐рдП, рдЗрд╕ рддрд░рд╣ рдХреЗ рд╣рдорд▓реЛрдВ рдХрд╛ рд╕рдВрдЪрд╛рд▓рди рдкрд╛рд╕рд╡рд░реНрдб рд╕рддреНрдпрд╛рдкрди рдХреЗ рд╕рдордп рдЕрд╕реНрдерд╛рдпреА rand()
рдирд┐рд░реНрдорд╛рдг рдХреА рд╢реБрд░реВрдЖрдд рдХреЛ рдЬрдЯрд┐рд▓ рдХрд░ рд╕рдХрддрд╛ рд╣реИ, рдЕрддрд┐рд░рд┐рдХреНрдд рдЧрдгрдирд╛ рдЬреЛрдбрд╝ рд╕рдХрддрд╛ рд╣реИ, рдпрд╛ рдЕрдиреНрдп рдШрдЯрдХреЛрдВ рдХреЗ рд▓рд┐рдП рд╢реЛрд░ рдЬреЛрдбрд╝ рд╕рдХрддрд╛ рд╣реИред
рдЧрдбрд╝рдмрдбрд╝ рд╣рдорд▓реЗ
рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рд╡рд┐рдзрд┐ рдХреЗ рдкреНрд░рднрд╛рд╡ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рд╕рдордп рдкрд░ рд╕рдЯреАрдХ рд╕рдордп рдкрд░ рдЕрд▓реНрдкрдХрд╛рд▓рд┐рдХ рдЖрд╡реЗрдЧреЛрдВ рдХреА рдПрдХ рд╢реНрд░реГрдВрдЦрд▓рд╛ рдХреЗ рджреНрд╡рд╛рд░рд╛ рдЧрдбрд╝рдмрдбрд╝ рд╣рдорд▓реЛрдВ рдХреЛ рдЕрдВрдЬрд╛рдо рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рд╕рдмрд╕реЗ рд▓реЛрдХрдкреНрд░рд┐рдп рддрд░реАрдХреЗ рд╣реИрдВ: рдШрдбрд╝реА (рд╕реАрдПрд▓рдХреЗ-рдЧреНрд▓рд┐рдЪ), рдкрд╛рд╡рд░ (рд╡реАрд╕реАрд╕реА-рдЧреНрд▓рд┐рдЪ), рдФрд░ рд╡рд┐рджреНрдпреБрдд рдЪреБрдореНрдмрдХреАрдп рдХреНрд╖реЗрддреНрд░ред рд╡рд┐рджреНрдпреБрдд рдЪреБрдореНрдмрдХреАрдп рдХреНрд╖реЗрддреНрд░ рдПрдорд╕реА рдХреЗ рдкрд╛рд╕ рдПрдХ рдЙрдЪреНрдЪ-рд╡реЛрд▓реНрдЯреЗрдЬ рд╕реНрдкрд╛рд░реНрдХ рджреНрд╡рд╛рд░рд╛ рдЙрддреНрдкрдиреНрди рд╣реЛрддрд╛ рд╣реИред рдЗрд╕рдХреЗ рд▓рд┐рдП, NewAE ChipSHOUTER рдЙрдкрдХрд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред рд╣рдордиреЗ рдЗрд╕реЗ рдирд╣реАрдВ рдЦрд░реАрджрд╛, рдЗрд╕рд▓рд┐рдП рд╣рдордиреЗ рдХреЗрд╡рд▓ рд╕реАрдПрд▓рдХреЗ-рдЧреНрд▓рд┐рдЪ рдФрд░ рд╡реАрд╕реАрд╕реА-рдЧреНрд▓рд┐рдЪ рд╣рдорд▓реЛрдВ рдХреЛ рдЕрдВрдЬрд╛рдо рджрд┐рдпрд╛ред
рдПрдХ рд╡реЛрд▓реНрдЯреЗрдЬ рдкрд▓реНрд╕ рдХреЛ рдЬреЛрдбрд╝рдХрд░ рдЧреНрд▓рд┐рдЪ рдХреЗ рд╣рдорд▓реЛрдВ рдХреЛ рдЕрдВрдЬрд╛рдо рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ: рд╕реАрдПрд▓рдХреЗ-рдЧреНрд▓рд┐рдЪ рдХреЗ рд▓рд┐рдП - рдПрдордХреЗ рдХреЗ рдмрд╛рд╣рд░реА рдХреНрд▓реЙрдХ рд╕рд┐рдЧреНрдирд▓ (рдПрдХ рдмрд╛рд╣рд░реА рдХреНрд╡рд╛рд░реНрдЯреНрдЬ рдпрд╛ рдЬрдирд░реЗрдЯрд░ рд╕реЗ) рдХреЗ рд▓рд┐рдП, рд╡реАрд╕реАрд╕реА-рдЧреНрд▓рд┐рдЪ рдХреЗ рд▓рд┐рдП - рдмрд┐рдЬрд▓реА рдкрд░ред
рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рдЧрдбрд╝рдмрдбрд╝ рд╣рдорд▓реЗ рдЖрдкрдХреЛ рдХрд┐рд╕реА рднреА рдПрдордХреЗ рдирд┐рд░реНрджреЗрд╢ рдХреЛ рдмрд╛рдпрдкрд╛рд╕ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреЗ рд╣реИрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдПрдХ рдкрд╛рд╕рд╡рд░реНрдб рджрд░реНрдЬ рдХрд░рдирд╛, рдПрдХреНрд╕реЗрд╕ рдЕрдиреБрд░реЛрдз, рд▓рд╛рдЗрд╕реЗрдВрд╕ рд╕рдордЭреМрддрд╛, рдЖрджрд┐ред рдЧрдбрд╝рдмрдбрд╝ рд╣рдорд▓реЗ рдЕрдзрд┐рдХ рдЬрдЯрд┐рд▓, рд╢реНрд░рдорд╕рд╛рдзреНрдп рдФрд░ рд╕рдордп рд▓реЗрдиреЗ рд╡рд╛рд▓реЗ рд╣реЛрддреЗ рд╣реИрдВред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЧрдбрд╝рдмрдбрд╝ рд╣рдорд▓реЗ рдХреЛ рдмрд╛рд░-рдмрд╛рд░ рджреЛрд╣рд░рд╛рдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕рдХреА рд╕рдлрд▓рддрд╛ рдкреНрд░рдХреГрддрд┐ рдореЗрдВ рд╕рдВрднрд╛рд╡рд┐рдд рд╣реИ рдФрд░ рдирд╛рдбрд╝реА рдХреЗ рдорд╛рдкрджрдВрдбреЛрдВ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддреА рд╣реИред рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЧрдбрд╝рдмрдбрд╝ рд╡рд┐рдХрд▓реНрдк рд╣реИрдВ:
тАв рд╕реНрдХреЛрдк.рдЧреНрд▓рд┐рдЪ.рдкреНрд░рд╛рдЗрд╡реЗрд╢рди - рдХреНрд▓реЛрдХ рдХреЗ рд╕рд╛рдкреЗрдХреНрд╖ рдкреНрд░рддрд┐рд╢рдд рдореЗрдВ рдкрд▓реНрд╕ рдЪреМрдбрд╝рд╛рдИ;
тАв рд╕реНрдХреЛрдк.рдЧреНрд▓рд┐рдЪ.рдСрдлрд╕реЗрдЯ - рдХреНрд▓реЛрдХ рдХреЗ рд╕рд╛рдкреЗрдХреНрд╖ рдкреНрд░рддрд┐рд╢рдд рдореЗрдВ рдЖрд╡реЗрдЧ рдСрдлрд╕реЗрдЯ;
тАв рдЧреБрдВрдЬрд╛рдЗрд╢.glitch.repeat - рд╣рдорд▓рд╛ рджрд╛рд▓реЛрдВ рдХреА рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐ рдХреА рд╕рдВрдЦреНрдпрд╛;
тАв рдЧреБрдВрдЬрд╛рдЗрд╢.glitch.ext_offset - рдШрдЯрдирд╛ рдХреЗ рдЯреНрд░рд┐рдЧрд░ рдХреЗ рдмрд╛рдж рдЫреВрдЯреЗ рд╣реБрдП рдЙрдкрд╛рдпреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ред
рд╕реАрдПрд▓рдХреЗ-рдЧреНрд▓рд┐рдЪ рдФрд░ рд╡реАрд╕реАрд╕реА-рдЧреНрд▓рд┐рдЪ рдХреЗ рд▓рд┐рдП рдЧрдбрд╝рдмрдбрд╝ рдореИрдкрд┐рдВрдЧ рд╕рдордп рд░реЗрдЦрд╛рдЪрд┐рддреНрд░ рдореЗрдВ рджрд┐рдЦрд╛рдП рдЧрдП рд╣реИрдВ:

CLK-glitch рдХреЗ рд▓рд┐рдП рд╕рдордп рдЖрд░реЗрдЦ

Vcc-glitch рдХреЗ рд▓рд┐рдП рд╕рдордп рдЖрд░реЗрдЦ
рдЧрдбрд╝рдмрдбрд╝ рдкрд▓реНрд╕ рдХреЗ рд╕рднреА рдорд╛рдкрджрдВрдбреЛрдВ рдХреЛ рдЪреБрдирд╛ рдЬрд╛рддрд╛ рд╣реИ рддрд╛рдХрд┐ рдПрдордХреЗ рдХреЛрд░ рдПрдХ рдЕрд╕реНрдерд┐рд░ рдореЛрдб рдореЗрдВ рд╕рдВрдЪрд╛рд▓рд┐рдд рд╣реЛ (рдЬрд┐рд╕рдХреЗ рдХрд╛рд░рдг рдирд┐рд░реНрджреЗрд╢ рдЫреЛрдбрд╝ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ)ред
рдЧреНрд▓рд┐рдЪ-рд╣рдорд▓реЛрдВ рдХреЗ рдкрд░рд┐рдгрд╛рдореЛрдВ рдХреЗ рдЕрдиреБрд╕рд╛рд░, рдпрд╣ рдкрддрд╛ рдЪрд▓рд╛ рдерд╛ рдХрд┐ рдпрджрд┐ рдкреИрд░рд╛рдореАрдЯрд░ рдЧреБрдВрдЬрд╛рдЗрд╢ рдХрд╛ рдорд╛рди редglitch.repeat рдмрд╣реБрдд рдЫреЛрдЯрд╛ рд╣реИ, рддреЛ рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХрд╛ "рдлрд┐рд╕рд▓" рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИред рдпрджрд┐ рдЖрдк рдПрдХ рдмрдбрд╝рд╛ рдореВрд▓реНрдп рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рди рдХреЗрд╡рд▓ рдЖрд╡рд╢реНрдпрдХ рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХреЛ рдЫреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВ, рдмрд▓реНрдХрд┐ рд╕рднреА рдмрд╛рдж рд╡рд╛рд▓реЗ рдХреЛ рднреА рдЫреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВред рдЬреНрдпрд╛рджрд╛рддрд░ рдорд╛рдорд▓реЛрдВ рдореЗрдВ, 5-25 рдХреЗ рдХреНрд╖реЗрддреНрд░ рдореЗрдВ рд╕реНрдХреЛрдк.рдЧреНрд▓рд┐рдЪ.рд░реЗрдк рдХреА рддрд▓рд╛рд╢ рдкрд░реНрдпрд╛рдкреНрдд рд╣реИред рдЕрдиреНрдп рдорд╛рдкрджрдВрдбреЛрдВ рдХреЗ рд╕рдВрдмрдВрдз рдореЗрдВ, рдпрд╣ рд╕рднреА рд╣рдорд▓реЗ рдХреЗ рдкреНрд░рдХрд╛рд░ рдФрд░ рдХрдиреЗрдХреНрд╢рди рдХреА рд╕реНрдерд┐рддрд┐рдпреЛрдВ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИред
CLK-рдЧрдбрд╝рдмрдбрд╝
CLK-glitch рд╣рдорд▓реЛрдВ рдХреЛ рдХрдо рдЕрд╡рдзрд┐ рдХреЗ рджрд╛рд▓реЛрдВ рдХреЛ CLOCK MK рд╕рд┐рдЧреНрдирд▓ рдореЗрдВ рдЬреЛрдбрд╝рдХрд░ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЗрд╕рд▓рд┐рдП, CLOCK рдХреЛ рдПрдордХреЗ рд╕реЗ рдбрд┐рд╕реНрдХрдиреЗрдХреНрдЯ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдФрд░ рдЗрд╕реЗ рдЪрд┐рдкрдХреЗрдкрд░ рд╕реЗ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╕реАрдПрд▓рдХреЗ-рдЧреНрд▓рд┐рдЪ рд╣рдорд▓реЗ рдХреЗ рд╕рд╛рде рдЦрд┐рд▓рд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред
рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ рдЖрдкрдХреЛ ChipWhisperer рдХреЛ MK рд╕реЗ рдЬреЛрдбрд╝рдирд╛ рд╣реЛрдЧрд╛:

рд╕реАрдПрд▓рдХреЗ-рдЧреНрд▓рд┐рдЪ рдХреЗ рд▓рд┐рдП рдХрдиреЗрдХреНрд╢рди рдЖрд░реЗрдЦ
рд╕рднреА рдкрд╛рдпрдерди рдХреЛрдб рдФрд░ рдореИрдиреБрдЕрд▓ рдХрд╛ рд╡рд┐рд╕реНрддреГрдд рд╡рд┐рд╡рд░рдг рд╕рдВрд╕рд╛рдзрди рдкрд░ рдкреНрд░рд╕реНрддреБрдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ ред рдлрд┐рд░, STM32F103RBT6 рдореЗрдВ, рдлрд░реНрдорд╡реЗрдпрд░ рднрд░реЗрдВ, рдЬрд╣рд╛рдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдлрд╝рдВрдХреНрд╢рди рдореБрдЦреНрдп while(1)
рдореЗрдВ рдЬреЛрдбрд╝реЗ рдЬрд╛рддреЗ рд╣реИрдВ:
075 void glitch_password(void) 076 { 077 char inp[16]; 078 char c = 'A'; 079 unsigned char cnt = 0; 080 uart_send("Password:"); 081 082 while((c != '\n') & (cnt < 16)) 083 { 084 c = getch(); 085 inp[cnt] = c; 086 cnt++; 087 } 088 089 char passwd[] = "Vulkan"; 090 char passok = 1; 091 092 led_on(); 093 led_off(); 094 095
рд╣рдорд╛рд░рд╛ рд▓рдХреНрд╖реНрдп рдЧрд▓рдд рдкрд╛рд╕рд╡рд░реНрдб рджрд░реНрдЬ рдХрд░рддреЗ рд╕рдордп рд▓рд╛рдЗрди 103 рдкрд░ if
рдЧрдП if
рдХреЛ рдмрд╛рдИрдкрд╛рд╕ рдХрд░рдирд╛ рд╣реИ рдФрд░ рд▓рд╛рдЗрди 106 рдкрд░ else
рдорд╛рдорд▓реЗ рдореЗрдВ рдЬрд╛рдирд╛ рд╣реИред рдЗрд╕ рд╣рдорд▓реЗ рдореЗрдВ рд╕рдмрд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдмрд╛рдд рдпрд╣ рд╣реИ рдХрд┐ рд▓рд╛рдЗрди 103 рдкрд░ passok
рд╡реИрд░рд┐рдПрдмрд▓ рдХреА рдЬрд╛рдВрдЪ рдХрд░реЗрдВред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЧреБрдВрдЬрд╛рдЗрд╢ рдХрд╛ рдЪрдпрди рдХрд░реЗрдВред custom_ext_offset рдкреИрд░рд╛рдореАрдЯрд░ред UART рдореЗрдВ рдСрд╕рд┐рд▓реЛрд╕реНрдХреЛрдк рдХреЛ рдЬреЛрдбрд╝рдХрд░ рдФрд░ рдЧреНрд▓рд┐рдЪ рдХреЛ рд╣рд╕реНрддрдХреНрд╖реЗрдк рдХреЗ рд╕реНрдерд╛рди рдкрд░ рд╕реЗрдЯ рдХрд░рдХреЗ рдХрд░рдирд╛ рд╕рдмрд╕реЗ рдЖрд╕рд╛рди рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдЧреНрд▓рд┐рдЪ рдкреВрд░реЗ рдПрдордХреЗ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд░рд┐рд╕рддрд╛ рд╣реИ:

рдЧрдбрд╝рдмрдбрд╝ рд╕реНрдерд╛рди
рд╣рдорд▓реЗ рдХрд╛ рдХреЛрдб рдФрд░ рдХрд╛рд░реНрдпрдкреНрд░рдгрд╛рд▓реА рдЗрд╕ рдореИрдиреБрдЕрд▓ (рдЕрдЯреИрдХ рд▓реВрдк рд╕реЗрдХреНрд╢рди, рдмреНрд▓реЙрдХ 9-10) рд╕реЗ рд▓реА рдЧрдИ рд╣реИред рдХреЗрд╡рд▓ рдПрдХ рдЪреАрдЬ рдЬреЛ рд╣рдордиреЗ рдХреЛрдб рдореЗрдВ рдмрджрд▓реА рдереА, рд╡рд╣ рд╕рднреА print(response)
рд╕рдВрджреЗрд╢реЛрдВ рдХреЗ рдЖрдЙрдЯрдкреБрдЯ рдХреЛ рдлрд╝рд┐рд▓реНрдЯрд░ рдХрд┐рдП рдмрд┐рдирд╛ рд╕рдХреНрд╖рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдереА, рдХреНрдпреЛрдВрдХрд┐ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдШрдЯрдирд╛рдУрдВ рдХреЛ рдЕрдХреНрд╕рд░ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдП рдЧрдП рдлрд╝рд┐рд▓реНрдЯрд░ рдЬреИрд╕реЗ рдХрд╛рд░рдг рд╕реЗ рдЫреЛрдбрд╝ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ:
if need_response not in response: pass else: print ("!")
рдиреАрдЪреЗ рджрд┐рдП рдЧрдП рдЖрдВрдХрдбрд╝реЗ рдПрдХ рд╕рдВрджреЗрд╢ рдЖрдЙрдЯрдкреБрдЯ рд▓реЙрдЧ рдХреЗ рдЙрджрд╛рд╣рд░рдг рджрд┐рдЦрд╛рддреЗ рд╣реИрдВ рдЬреЛ рддрдм рджрд┐рдЦрд╛рдИ рджреЗрддрд╛ рд╣реИ рдЬрдм рдПрдХ рд╕реАрдПрд▓рдХреЗ-рдЧреНрд▓рд┐рдЪ рд╣рдорд▓рд╛ рд╕рдлрд▓рддрд╛ рдХреЗ рдХрд░реАрдм рд╣реИ рдпрд╛ рд╕рдлрд▓ рд╕реЗ рдмрд╣реБрдд рджреВрд░ рд╣реИред рд╕рд╣реА рдЧрдбрд╝рдмрдбрд╝ рдорд╛рдкрджрдВрдбреЛрдВ рдХреЗ рдХрд░реАрдм рдкрд╣реБрдВрдЪрдиреЗ рдкрд░, рдПрдордХреЗ рдХреЗ рд╕рдВрдЪрд╛рд▓рди рдореЗрдВ рдЕрд╕реНрдерд┐рд░рддрд╛ рджрд┐рдЦрд╛рдИ рджреЗрдиреЗ рд▓рдЧрддреА рд╣реИ (рд╕рдВрджреЗрд╢ рдмрдВрдж рд╣реЛ рдЬрд╛рддреЗ рд╣реИрдВ, рдПрдордХреЗ рд░рд┐рдмреВрдЯ рдореЗрдВ рдЪрд▓рд╛ рдЬрд╛рддрд╛ рд╣реИ)ред рдЦреЛрдЬ рдХрд░рддреЗ рд╕рдордп рдпрд╣ рдПрдХ рд╕рдВрдХреЗрдд рд╣реЛ рд╕рдХрддрд╛ рд╣реИред

рд╕рдВрджреЗрд╢ рдЙрддреНрдкрд╛рджрди рдХреЗ рджреМрд░рд╛рди рдПрдХ рдЧрдбрд╝рдмрдбрд╝ рд╣рдорд▓реЗ рдХреЗ рджреМрд░рд╛рди рдкреИрд░рд╛рдореАрдЯрд░ рдЬреЛ рд╕рдлрд▓ (рдП) рд╕реЗ рджреВрд░ рд╣реИ рдФрд░ рд╕рдлрд▓рддрд╛ рдХреЗ рдХрд░реАрдм рд╣реИ (рдмреА)

рдПрдХ рд╕рдлрд▓ рд╕реАрдПрд▓рдХреЗ-рдЧреНрд▓рд┐рдЪ рд╣рдорд▓реЗ рдХрд╛ рдкрд░рд┐рдгрд╛рдо
рд╣рдорд▓реЛрдВ рдХреЗ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк, рдпрд╣ рдкрддрд╛ рдЪрд▓рд╛ рдХрд┐ рд╕реАрдПрд▓рдХреЗ-рдЧреНрд▓рд┐рдЪ рдкрд▓реНрд╕ рдХреЗ рдкреИрд░рд╛рдореАрдЯрд░, рдХреНрд▓реЙрдХ рдПрдордХреЗ рдХреЗ рдЪрд┐рдкрд╡рд┐рдкрд░ рдХрдиреЗрдХреНрд╢рди рдХреА рдЧреБрдгрд╡рддреНрддрд╛ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ "рдлреНрд▓реЛрдЯ" рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЬрдм рдЖрд╕реНрдЯрд╕реАрд▓рд╕реНрдХрдк рдЬрд╛рдВрдЪ рдХреЛ CLOCK рдкрд┐рди рдкрд░ рд╕реЗрдЯ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдПрдХ рд╕рдлрд▓ рд╣рдорд▓реЗ рдХреЗ рд▓рд┐рдП рдЧреБрдВрдЬрд╛рдЗрд╢.glitch.offset рдкреИрд░рд╛рдореАрдЯрд░ рдЕрд▓рдЧ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдЬрд╛рдВрдЪ рдХреЗ рдЕрдкрдиреЗ рдХреИрдкреЗрд╕рд┐рдЯрд┐рд╡ рдЗрдВрдбрдХреНрдЯрд┐рд╡ рдкреИрд░рд╛рдореАрдЯрд░ рд╣реЛрддреЗ рд╣реИрдВ рдЬреЛ рдЙрдЪреНрдЪ рдЖрд╡реГрддреНрддрд┐ рд╡рд╛рд▓реА рдЧрдбрд╝рдмрдбрд╝ рдХреЛ рд╕рд╣реА рдХрд░рддреЗ рд╣реИрдВред рддреЛ рдПрдХ рд▓рдВрдмреЗ рдмрд┐рдирд╛ рддрд╛рд░ рд╡рд╛рд▓реА рдХреЗрдмрд▓ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЬреБрдбрд╝рдиреЗ рд╕реЗ рдЗрд╕рдХрд╛ рдЖрд╢реНрдЪрд░реНрдп рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдЕрдиреНрдпрдерд╛, рд╕реАрдПрд▓рдХреЗ-рдЧреНрд▓рд┐рдЪ рд╣рдорд▓реЛрдВ рдХреЛ рд╕реНрдерд┐рд░ рдХрд╣рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдЬреИрд╕рд╛ рдХрд┐ рдЙрдирдХреЗ рдкреИрд░рд╛рдореАрдЯрд░ рд╡рд┐рднрд┐рдиреНрди рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХреЗ рд▓рд┐рдП рдереЛрдбрд╝рд╛ рдмрджрд▓ рдЧрдП (рдпрджрд┐, рдХреЗ рд▓рд┐рдП, рдЬрдмрдХрд┐ рдЬрд╛рдБрдЪ рдХреА рдЧрдИ рдереА)ред
рдЗрд╕ рддрд░рд╣ рдХреЗ рд╣рдорд▓реЛрдВ рдХреЗ рдЦрд┐рд▓рд╛рдл рд╕реБрд░рдХреНрд╖рд╛ рдХрд╛ рддрд░реАрдХрд╛ рдЖрдВрддрд░рд┐рдХ рд▓реЙрдХ рдПрдордХреЗ рд╕рд┐рдЧреНрдирд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕рдореЗрдВ рд╕рдмрд╕реЗ рдЦрд░рд╛рдм рддрд╛рдкрдорд╛рди рдФрд░ рд╕рдордп рд╕реНрдерд┐рд░рддрд╛ рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдПрдХ рдкреНрд░рднрд╛рд╡реА рддрд░реАрдХрд╛ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдирд┐рд░реНрджреЗрд╢реЛрдВ (рдкрд╛рд╕рд╡рд░реНрдб, рд╡реНрдпрдХреНрддрд┐рдЧрдд рдбреЗрдЯрд╛, рдЖрджрд┐ рдХреА рдЬрд╛рдВрдЪ) рд╕реЗ рдкрд╣рд▓реЗ рдФрд░ рдмрд╛рдж рдореЗрдВ рдПрдХ рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рд╕рдордп рдХреА рджреЗрд░реА рдХрд╛ рдкрд░рд┐рдЪрдп рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдЬреЛ рд╕рд╣реА рд╕рдордп рдкрд░ рд╕реАрдПрд▓рдХреЗ-рдЧреНрд▓рд┐рдЪ рдкрд▓реНрд╕ рдХреЗ рд╕рдЯреАрдХ рд╣рд┐рдЯ рдХреЛ рдЬрдЯрд┐рд▓ рдХрд░ рд╕рдХрддрд╛ рд╣реИред
VCC-рдЧрдбрд╝рдмрдбрд╝
рд╕реАрдПрд▓рдХреЗ-рдЧреНрд▓рд┐рдЪ рдХреА рддрд░рд╣ рд╡реАрд╕реА-рдЧреНрд▓рд┐рдЪ рдПрдордХреЗ рдХреЗ рд╕рдВрдЪрд╛рд▓рди рдореЗрдВ рдЙрдЪреНрдЪ рдЖрд╡реГрддреНрддрд┐ рдХреЗ рд╣рд╕реНрддрдХреНрд╖реЗрдк рдХрд╛ рдкрд░рд┐рдЪрдп рджреЗрддрд╛ рд╣реИ, рдХреЗрд╡рд▓ рдПрдордХреЗ рдмрд┐рдЬрд▓реА рдХреА рдЖрдкреВрд░реНрддрд┐ рдХреЛ рдЬрдореАрди рддрдХ рдХрдо-рдЪрдХреНрдХрд░ рд▓рдЧрд╛рдХрд░ред Vcc-glitch рд╣рдорд▓реЛрдВ рдХрд╛ рд╕рдВрдЪрд╛рд▓рди рдХрд░рддреЗ рд╕рдордп, рдпрд╣ рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ рдПрдХ рд╕рдлрд▓ рдкрд▓реНрд╕ рдХреЗ рдкреИрд░рд╛рдореАрдЯрд░ рдХрдИ рдХрд╛рд░рдХреЛрдВ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддреЗ рд╣реИрдВ, рдЬреИрд╕реЗ:
тАв рдПрдордХреЗ рдХреЗ рд▓рд┐рдП рдореБрджреНрд░рд┐рдд рд╕рд░реНрдХрд┐рдЯ рдмреЛрд░реНрдб рдХреА рдбрд┐рдЬрд╛рдЗрди рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдВ рдФрд░ рдПрдХ рд╡рд┐рд╡рд┐рдз рд╕реНрдЯреНрд░реИрдкрд┐рдВрдЧ рдХреА рдЙрдкрд╕реНрдерд┐рддрд┐;
тАв рдПрдордХреЗ рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдорд╛рдХреНрд╖реАрдп рдХреЗрдмрд▓ рдХреА рд▓рдВрдмрд╛рдИ рдФрд░ рдЪрд┐рдкрд╡рд┐рд╕реНрдкрд░ (рд▓рдВрдмреЗ рд╕рдордп рддрдХ рдХреЗрдмрд▓ рдХрд╛ рдЧрдбрд╝рдмрдбрд╝ рдмрдВрджрд░рдЧрд╛рд╣, рдПрдХ рд╕рдлрд▓ рд╣рдорд▓реЗ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рдХрдо рд╣реИ, рдЗрд╖реНрдЯрддрдо рд▓рдВрдмрд╛рдИ 10-15 рд╕реЗрдореА рд╣реИ);
тАв рдПрдордХреЗ рд╢реНрд░реГрдВрдЦрд▓рд╛;
тАв рдЫреЛрдбрд╝реЗ рдЬрд╛рдиреЗ рдХреЗ рдирд┐рд░реНрджреЗрд╢;
тАв рдПрдордХреЗ рд╕рдВрдХрд▓рдХ рдЕрдиреБрдХреВрд▓рди;
тАв MOSFET рдЯреНрд░рд╛рдВрдЬрд┐рд╕реНрдЯрд░ рдХрд╛ рдкреНрд░рдХрд╛рд░ (рдПрд╕-рдорд╛рдкрджрдВрдбреЛрдВ рдХреЗ рдЙрдЪреНрдЪ рдЖрд╡реГрддреНрддрд┐ рдШрдЯрдХреЛрдВ рдореЗрдВ рдЕрдВрддрд░ рдХреЗ рдХрд╛рд░рдг)ред
рдЗрд╕рд▓рд┐рдП, рд╣рдорд▓реЛрдВ рдХрд╛ рд╕рдВрдЪрд╛рд▓рди рдХрд░рддреЗ рд╕рдордп, рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИ рдХрд┐ рдпреЗ рдкреИрд░рд╛рдореАрдЯрд░ рдирд╣реАрдВ рдмрджрд▓рддреЗ рд╣реИрдВред
рдкрд╣рд▓реЗ рдЖрдкрдХреЛ рдПрдордХреЗ рд╕реЗ рдЪрд┐рдк рд╡рд╛рдЗрд╕рдкрд░ рдХреЛ рдХрдиреЗрдХреНрдЯ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП:

Vcc-glitch рд╣рдорд▓реЛрдВ рдХреЗ рд▓рд┐рдП рдХрдиреЗрдХреНрд╢рди рдпреЛрдЬрдирд╛
рдЕрдЧрд▓рд╛, рд╣рдо рдПрдордХреЗ рдореЗрдВ рдлрд░реНрдорд╡реЗрдпрд░ "рдлреНрд▓реИрд╢" рдХрд░рддреЗ рд╣реИрдВ, рдЬрд╣рд╛рдВ рдореБрдЦреНрдп while(1)
рдореЗрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдлрд╝рдВрдХреНрд╢рди рд╣реЛрддрд╛ рд╣реИ:
115 void glitch_while() 116 { 117 volatile uint8_t infinity = 0; 118 uart_send(" Hello habr!"); 119 led_on(); 120 led_off(); 121 122 while(infinity != 2) 123 { 124 ; 125 } 126 uart_send("WOW!!! Vcc Glitch work!"); 127 while(1) 128 { 129 ; 130 } 131 }
рдПрдордХреЗ рд╕рдВрджреЗрд╢ рднреЗрдЬрдиреЗ рдХреЗ рдмрд╛рдж "рд╣реИрд▓реЛ рд╣рдмреНрд░!" рд▓рд╛рдЗрди 122 рдкрд░ рдПрдХ рдЕрдВрддрд╣реАрди рд▓реВрдк рдореЗрдВ рдЬрд╛рддрд╛ рд╣реИред рд╣рдорд╛рд░рд╛ рдХрд╛рд░реНрдп рдПрдордХреЗ рдХреЛ Vcc-glitch рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЗрд╕ рд▓реВрдк рд╕реЗ рдирд┐рдХрд╛рд▓рдирд╛ рд╣реИред рдЗрд╕ рд▓реВрдк рдореЗрдВ, volatile uint8_t infinity
рдЪрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдПрдХ рд╢рд░реНрдд рдХреЗ рд░реВрдк рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬреЛ рдХрд┐ рд╕рд╛рдорд╛рдиреНрдп рд░реВрдк рд╕реЗ volatile uint8_t infinity
рдкрд░ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХреЗ рдмрд░рд╛рдмрд░ рджреЛ рдХрднреА рдирд╣реАрдВ рд╣реЛрдЧрд╛ред рдпрджрд┐ рд╣рдо while(1)
рдмрдЬрд╛рдп while(infinity != 2)
рдХреЛ рд▓рдЧрд╛рддреЗ рд╣реИрдВ, рддреЛ рд╕рдВрдХрд▓рдХ рдиреАрдЪреЗ рджрд┐рдП рдЧрдП рдХреЛрдб рдХреЛ рдЕрдирджреЗрдЦрд╛ рдХрд░ рджреЗрдЧрд╛, рдЬрд┐рд╕рдореЗрдВ рд╣рдорд╛рд░рд╛ рд╕рдВрджреЗрд╢ рднреА рд╢рд╛рдорд┐рд▓ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдЕрдирдВрдд рд▓реВрдк рд╕реЗ рдмрд╛рд╣рд░ рдирд┐рдХрд▓рдиреЗ рдХреА рдШреЛрд╖рдгрд╛ рдХреА рдЧрдИ рд╣реИред рдЯрд╛рдЗрдк volatile
рдПрдХ рдЪрд░ рдХреЗ рдХрд╛рд░рдг volatile
рдХрдВрдкрд╛рдЗрд▓рд░ рдРрд╕рд╛ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдирд╣реАрдВ рд╣реЛрдЧрд╛ред while(1)
127 while(1)
рд▓рд╛рдЗрди 127 while(1)
рдЬреЛрдбрд╝рд╛ рдЬрд╛рддрд╛ рд╣реИ рддрд╛рдХрд┐ WOW рдХреЗ рдмрд╛рдж !!! Vcc рдЧрдбрд╝рдмрдбрд╝ рдХрд╛рдо! рд╣рдордиреЗ рдлрд┐рд░ рд╕реЗ рдкреНрд░рджрд░реНрд╢рд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рд╣реИ рд╣реИрд▓реЛ рд╣рдмреНрд░!
рд╣рдордиреЗ рдЗрд╕ рдЧрд╛рдЗрдб рд╕реЗ ChipWhisperer рдХреЛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд╛рдпрдерди рдХреЛрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ред рдПрдордХреЗ рдХреЗ рд╕рдВрджреЗрд╢ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рд╣реИрдВ:

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

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