logo elektroda
logo elektroda
X
logo elektroda
ADVERTISEMENT
Treść została przetłumaczona polish » english Zobacz oryginalną wersję tematu
  • #1 18316505
    dondu
    Moderator on vacation ...
    Further information on ESP's vulnerability to hacking. This time without the possibility of removing the cause: https://www.infoq.com/news/2019/12/esp32-fatal-fury/

    Moderated By dondu:

    Hover topic, as this is important information and would be good to be collected in one topic.

  • ADVERTISEMENT
  • #2 18316879
    mipix
    Level 38  
    That is, it can be expected that, for security purposes, some future products with this controller will have the ability to change the software blocked.
  • #3 18316920
    dondu
    Moderator on vacation ...
    This is how it can be understood, which will cause the problem of software swapping to address other security vulnerabilities. I think they have backed themselves into a corner especially as they have already sold over 100million units (January 2018 figures).
  • #4 18316929
    khoam
    Level 42  
    mipix wrote:
    some future products with this controller will be blocked from changing the software.
    .
    Provided the manufacturers of these products with ESP32 wish to do so.

    dondu wrote:
    This is how it can be understood, which will cause the problem of changing the software to address other security vulnerabilities. I think they have backed themselves into a corner all the more
    .
    I suggest reading the current eFuse documentation for ESP32:
    https://www.espressif.com/sites/default/files...ation/esp32_technical_reference_manual_en.pdf (chapter 20), and
    https://docs.espressif.com/projects/esp-idf/en/latest/api-reference/system/efuse.html
  • ADVERTISEMENT
  • #5 18316937
    mipix
    Level 38  
    Repair the equipment by replacing it with a new one. In the next one they will correct old faults and make new ones :) .
  • #6 18317334
    dondu
    Moderator on vacation ...
    khoam wrote:
    dondu wrote:
    This can be understood, which will cause a problem with software substitutions to address other security vulnerabilities. I think they have backed themselves into a corner all the more
    .
    I suggest reading the current eFuse documentation for ESP32:
    https://www.espressif.com/sites/default/files...ation/esp32_technical_reference_manual_en.pdf (chapter 20), and
    https://docs.espressif.com/projects/esp-idf/en/latest/api-reference/system/efuse.html
    .

    I just read the article indicated in the first post and in it:

    Quote:
    The attack works against eFuse, a one-time programmable memory where data can be burned to the device. The ESP32 official documentation describes why the attack works: "Each eFuse is a one-bit field which can be programmed to 1 after which it cannot be reverted back to 0." By burning a payload into the device’s eFuse, no software update can ever reset the fuse and the chip must be physically replaced or the device discarded.
    .

    I am not an ESP32 specialist, so please explain.
  • ADVERTISEMENT
  • #7 18317401
    khoam
    Level 42  
    dondu wrote:
    I just read the article indicated in the first post and in it:

    Well, that's exactly what it said, but it didn't include any more information, that it requires direct physical access to the MCU in the device in question and requires "some" modifications in the pcb itself and in some cases opening the metal case ESP32, if there is one - I'm not referring to the simple and cheap developer boards from AliExpress on which "penetration" tests have been performed, because that was simpler.

    Furthermore, Espressif's recommendations were and are clear on ESP32 security (as long as one needs, understands and uses them):
    • Use per-device unique keys for Secure Boot and Flash Encryption.
    • Generate per-device unique keys stored in flash for application uses, rather than using a single shared key across all devices.
    .

    Following the above rules ensures that "breaking" one ESP32 in one unit of a given device, will not result in "breaking" the security in all other ESP32s in the same devices i.e. with the same firmware. The wise will listen and the foolish will 'save'.

    This is what one of the 'hacking' steps looks like after removing the ESP32's metal casing:

    ESP: Security gaps and bugs .
  • ADVERTISEMENT
  • #8 18318542
    dondu
    Moderator on vacation ...
    Did I understand correctly that the average user of an ESP32 programmed e.g. in an Arduino environment does not use the recommended security features and is thus vulnerable to attack without having to physically access the chip?
  • #9 18318874
    khoam
    Level 42  
    dondu wrote:
    Did I understand correctly that the average user of an ESP32 programmed e.g. in the Arduino environment does not use the recommended security features and is thus vulnerable to attack without having to physically access the chip?
    .
    No, the attack can be performed with physical access to the chip - the article you quoted in the first post states:
    " A security researcher has identified a local-access technique "

    I don't know who the "average user of an ESP32 programmed in an Arduino environment for example" is, I'm just crawling around myself. Familiarity with Arduino HAL, or lack thereof, is irrelevant. The Arduino HAL in ESP32 is based entirely on ESP-IDF. So knowledge of the ESP32 architecture and ESP-IDF is needed. It also doesn't matter whether one develops software in the Arduino IDE, VSC, Eclipse or any other IDE.
  • #10 18329481
    vagteile
    Level 2  
    khoam wrote:
    dondu wrote:
    I only read the article indicated in the first post and in it:
    .
    Well, that's exactly what it said, but it didn't include any more information, that this requires direct physical access to the MCU in the device in question and requires "some" modifications in the pcb itself and in some cases opening the metal case ESP32, if there is one - I'm not referring to the simple and cheap developer boards from AliExpress on which "penetration" tests have been done, because that was simpler.

    Furthermore, Espressif's recommendations were and are clear on ESP32 security (as long as one needs, understands and uses them):
    • Use per-device unique keys for Secure Boot and Flash Encryption.
    • Generate per-device unique keys stored in flash for application uses, rather than using a single shared key across all devices.
    .

    Following the above rules ensures that 'breaking' one ESP32 in one unit of a given device, will not result in 'breaking' the security in all other ESP32s in the same devices i.e. with the same firmware. The wise will listen and the foolish will 'save'.

    This is what one of the 'hacking' steps looks like after removing the ESP32's metal casing:

    ESP: Security gaps and bugs
    .

    It guarantees that an unauthorised person will be able to access the flash from a particular type of device, which significantly increases the chance of cloning the device or finding further vulnerabilities in the software itself. Unique keys for Secure Boot and Flash encryption become very problematic from a certain volume. Espressif's irresponsible design of the validation and the fact that they upset the LR guy with their policy/sneakiness has backfired.
  • #11 18329702
    khoam
    Level 42  
    vagteile wrote:
    Espressif irresponsibly designed the validation and additionally upset the LR guy with its policy/curiosity, which hiccuped
    .
    Espressif has already designed and will release new versions of the ESP32-D0WD-V3 this quarter that are resistant to this local attack. As for corridor rumours, I won't comment, as I don't frequent Espressif corridors.

    vagteile wrote:
    Unique keys for Secure Boot and Flash encryption get very kludgy from a certain volume.

    Either it is easier or it is more secure.
  • #12 18378724
    khoam
    Level 42  
    khoam wrote:
    Espressif has already designed and will release new versions of ESP32-D0WD-V3 this quarter that are resistant to this local attack.

    For those interested, attached is a manufacturer's document describing the changes in the new V3 version.
ADVERTISEMENT