-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA512 Advisory ID: SYSS-2022-045 Product: Store 'n' Go Secure Portable SSD Manufacturer: Verbatim Affected Version(s): #53402 (GDMSLK02 C-INIC3637-V1.1) Tested Version(s): #53402 (GDMSLK02 C-INIC3637-V1.1) Vulnerability Type: Missing Immutable Root of Trust in Hardware (CWE-1326) Risk Level: Medium Solution Status: Fixed Manufacturer Notification: 2022-06-29 Solution Date: - Public Disclosure: 2022-10-07 CVE Reference: CVE-2022-28383 Author of Advisory: Matthias Deeg (SySS GmbH) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Overview: The Verbatim Store 'n' Go Secure Portable SSD is a portable USB drive with AES 256-bit hardware encryption and a built-in keypad for passcode entry. The manufacturer describes the product as follows: "The AES 256-bit Hardware Encryption seamlessly encrypts all data on the drive in real-time with a built-in keypad for password input. The hard drive does not store passwords in the computer or system’s volatile memory making it far more secure than software encryption. Also, if it falls into the wrong hands, the hard drive will lock and require re-formatting after 20 failed password attempts."[1] Due to insufficient firmware validation, an attacker can store malicious firmware code for the USB-to-SATA bridge controller on the external drive, which gets executed. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Vulnerability Details: When analyzing the external data storage Verbatim Store 'n' Go Secure Portable SSD, Matthias Deeg found out that the validation of the firmware for the USB-to-SATA bridge controller INIC-3637EN only consists of a simple CRC-16 check (XMODEM CRC-16). Thus, an attacker is able to store malicious firmware code for the INIC-3637EN with a correct checksum on the used SPI flash memory chip (XT25F01D), which then gets successfully executed by the USB-to-SATA bridge controller. For instance, this security vulnerability could be exploited in a so-called "supply chain attack" when the device is still on its way to its legitimate user. An attacker with temporary physical access during the supply could program a modified firmware on the Verbatim Keypad Secure, which always uses an attacker-controlled AES key for the data encryption, for example. If, later on, the attacker gains access to the used USB drive, he can simply decrypt all contained user data. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Proof of Concept (PoC): SySS was able to read and write the SPI flash memory containing the firmware of the INIC-3637EN controller (128 KB) using a universal programmer. By analyzing the dumped memory content, SySS found out that the INIC-3637EN firmware is stored from the file offset 0x4000 to the file offset 0x1BFFB, and that the corresponding XMODEM CRC-16 is stored at the file offset 0x1FFFC. Matthias Deeg developed a simple Python tool for updating the checksum of modified firmware images before writing them to the SPI flash memory chip. The following output exemplarily shows updating a modified firmware image: $ python update-firmaware.py firmware_hacked.bin Verbatim Store 'n' Go Firmware Updater v0.1 - Matthias Deeg, SySS GmbH (c) 2022 [*] Computed CRC-16 (0x0874) does not match stored CRC-16 (0x5E8C). [*] Successfully updated firmware file ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Solution: SySS GmbH is not aware of a solution for the described security issue. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Disclosure Timeline: 2022-06-29: Vulnerability reported to manufacturer 2022-10-07: Public release of security advisory ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ References: [1] Product website for Verbatim Store 'n' Go Secure Portable SSD https://www.verbatim.com.au/products/store-n-go-portable-ssd-with-keypad-access/ [2] SySS Security Advisory SYSS-2022-045 https://www.syss.de/fileadmin/dokumente/Publikationen/Advisories/SYSS-2022-045.txt [3] SySS GmbH, SySS Responsible Disclosure Policy https://www.syss.de/en/responsible-disclosure-policy ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Credits: This security vulnerability was found by Matthias Deeg of SySS GmbH. E-Mail: matthias.deeg (at) syss.de Public Key: https://www.syss.de/fileadmin/dokumente/Materialien/PGPKeys/Matthias_Deeg.asc Key fingerprint = D1F0 A035 F06C E675 CDB9 0514 D9A4 BF6A 34AD 4DAB ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Disclaimer: The information provided in this security advisory is provided "as is" and without warranty of any kind. Details of this security advisory may be updated in order to provide as accurate information as possible. The latest version of this security advisory is available on the SySS website. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Copyright: Creative Commons - Attribution (by) - Version 3.0 URL: http://creativecommons.org/licenses/by/3.0/deed.en -----BEGIN PGP SIGNATURE----- iQIzBAEBCgAdFiEE0fCgNfBs5nXNuQUU2aS/ajStTasFAmM+19cACgkQ2aS/ajSt TasncQ//Wyo1w0EHJ7a5OqmZa7cbSiOi0f2ec2RWzAymIcQ4Z+l7TV/jiBgDlZ+D /Oj9GhIFBQAXd5ZAxI4FerG8BmbCs6i+/SBVT1ABoelhxFWVVr+NlevBeryS9HFs p4uxATAsC4VzMIzGJUH4GXJ9aoA/LDq/2jV0fOX2hljqOv8V0sRn/bcrbFIXID8Q /KpKG/EfPVsmAaEA2a5Wv4O9DcxRh0VdTioR6AfF4XqaUjy7Y7NWUR2/6kIo35bz SxdoAOh7gd7CxjyyGXAN43uZM3rw2Hp1lXOOeJc3OMLWa5nGtkUuy73JbrArppnZ vANooXfD1Pk6hYSQWzfTe3sJ0t3QWbCRUdAd1MZy3pedyIpv2/7ncgaARZ70qrz4 3CaJN1e78B3drZm/sigbncYuB5fLsjDRXoD+lCZPXOqqE9rvEGcT9duKM7xnqBJb UAUvizwVCqA2jC4R5whEv66nyJAKMLHmQscxIcAEfJKyYYiArkk1Y3czSN4Jrjtz MbFzuiEbhq+IafOYK/tA2TvJtD96gA7MERcFFBBVaLOEjJ+NFls382mjU+h30gFX OzHbu5cB6gpYkZQb9DDw4WLv8AnQ5jXwLg2ICeffP9WW92+C3L8oGch0h1Uh2KCE 3MaBYmvduKrM4+Wi8KL+j3aPRqI5nMWG9JAxjCWvRvTvk5igXIk= =mfyd -----END PGP SIGNATURE-----