Unexpected Behaviour in the ChipWhisperer Pro Glitch Module: Troubleshooting

Hello Everyone :hugs:,

Although I’ve been using a ChipWhisperer Pro for some time, I’ve only just begun to investigate its glitching potential. Right now, I’m attempting to cause errors on an STM32F3 microcontroller using the glitch module. I’m hoping someone here can assist me in troubleshooting some unexpected behaviour I’m encountering.

Configuration Information:

  • CW1200 ChipWhisperer Pro
  • STM32F303 is the target.
  • Type of Glitch: Voltage twitches
  • Setting up a trigger: Utilising a GPIO pin

Problem: Although I’ve successfully installed the glitch module and set up the settings (glitch width, offset, repeat, etc.), I’m not seeing the desired outcomes. The victim appears to be completely unaffected by the bugs in certain instances. I’m seeing a target reset in other situations, but not how I would have predicted.

For instance, when I program the STM32F3 to execute a basic loop that ought to be prone to glitching, I either receive no response (as though the glitch isn’t occurring) or the microcontroller completely resets, failing to exhibit the expected defective behaviour.

Actions Undertaken:

  1. I’ve played around with various glitch offsets and widths.
  2. To guarantee stability, I changed the power supplies to the target.
  3. I’ve also experimented with other glitch repetition levels, but to no avail.

Questions:

Is there anyone who has experienced such problems with glitching on their STM32F3? :thinking: If so, describe how you handled it.
Is there a chance that this is a hardware malfunction with the ChipWhisperer Pro, or is it more likely a setting error on my end? :thinking:
Are there any particular guidelines or recommended generative ai methods for this kind of microcontroller’s voltage glitching? :thinking:

Any information or recommendations would be highly valued. Thank you :pray: in advance.

Hi,

Glitching can get very precise, so it’s not super unusual that you’re not seeing anything in the way of success. You mention that you get resets in some areas, but no effect in others. I’d recommend focusing more on the borders between these two areas, as that’s often where successful glitches will happen. Also, if you’re not already, I’d recommend searching through a larger ext_offset range as well.

Another thing you’ll want to make sure of is that the code you’re trying to glitch is actually vulnerable and that the compiler isn’t doing something unexpected (like removing your loop entirely). I’d recommend looking at the disassembly for the code you’re uploading.

Alex