[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[SYSS-2016-045] Perixx PERIDUO-710W - Insufficient Protection of Code (Firmware) and Data (Cryptographic Key)



-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512

Advisory ID: SYSS-2016-045
Product: PERIDUO-710W
Manufacturer: Perixx Computer GmbH
Affected Version(s): Part No. KG-1027
Tested Version(s): Part No. KG-1027
Vulnerability Type: Insufficient Protection of Code (Firmware) and 
                    Data (Cryptographic Key)
Risk Level: Medium
Solution Status: Open
Manufacturer Notification: 2016-05-27
Solution Date: -
Public Disclosure: 2016-07-29
CVE Reference: Not yet assigned
Authors of Advisory: Matthias Deeg and Gerhard Klostermeier (SySS GmbH)

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Overview:

PERIDUO-710W is a wireless desktop set consisting of a mouse and a
keyboard.

The manufacturer describes the product as follows (see [1]):

"PERIDUO can create flexible, convenient and wireless working
environment with its design. PERIDUO offers a reliable 2.4GHz high
frequency penetration, low interference, and omni-directional signal
transmissions with 10Meters meters [sic] receiving distance." 

Due to the insufficient protection of the flash memory of the keyboard,
an attacker with physical access to the wireless keyboard has read
and write access to the firmware and  the used cryptographic key.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Vulnerability Details:

The SySS GmbH found out that the embedded flash memory of the wireless
keyboard PERIDUO-710W can be read and written via the SPI interface of
the used transceiver with an embedded microcontroller nRF24LE1H, as the
flash memory is not protected by the offered read back protection
feature (RDISMB - Read DISable Main Block).

Thus, an attacker with physical access to the keyboard and transceiver 
can simply read and write the SPI-addressable code and data flash memory. 
Due to the use of nRF24 transceiver versions with one-time programmable 
memory, write access is limited in such a way that a set 1 bit can be 
changed to a 0 bit but not vice versa.

The AES cryptographic key used by the PERIDUO-710W keyboard is
accessible via the SPI interface. 

By having read and write access to the code and data flash memory, an
attacker can either extract the cryptographic key, for instance to
perform further attacks against the wireless communication, or modify
the firmware or the cryptographic key in a restricted way due to the
used one-time programmable memory.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Proof of Concept (PoC):

The SySS GmbH could successfully read the contents of the code and data
flash memory of the PERIDUO-710W keyboard using the hardware tool Bus
Pirate [3] in combination with the software tool nrfprog [4].

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Solution:

The SySS GmbH is not aware of a solution for this reported security
vulnerability.

For further information please contact the manufacturer.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Disclosure Timeline:

2016-05-27: Vulnerability reported to manufacturer
2016-06-06: Vulnerability reported to manufacturer again
2016-07-29: Public release of the security advisory

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

References:

[1] User manual for Perixx PERIDUO-710W
    http://perixx.com/en/service/Perixx_Manual/DUO/PERIDUO-710_manual.pdf
[2] Product website for Perixx PERIDUO-710W
    http://perixx.com/en/products/perixx-pro-11.html
[3] Website of Bus Pirate hardware tool
    http://dangerousprototypes.com/docs/Bus_Pirate
[4] nrfprog Github repository
    https://github.com/nekromant/nrfprog
[5] SySS Security Advisory SYSS-2016-045
    https://www.syss.de/fileadmin/dokumente/Publikationen/Advisories/SYSS-2016-045.txt
[6] SySS Responsible Disclosure Policy
    https://www.syss.de/en/responsible-disclosure-policy/

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Credits:

This security vulnerability was found by Matthias Deeg and Gerhard
Klostermeier of the 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

E-Mail: gerhard.klostermeier (at) syss.de
Public Key: https://www.syss.de/fileadmin/dokumente/PGPKeys/Gerhard_Klostermeier.asc
Key fingerprint = 8A9E 75CC D510 4FF6 8DB5 CC30 3802 3AAB 573E B2E7

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

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 Web 
site.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Copyright:

Creative Commons - Attribution (by) - Version 3.0
URL: http://creativecommons.org/licenses/by/3.0/deed.en

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2

iQIcBAEBCgAGBQJXmxonAAoJENmkv2o0rU2rv+oP+QEzS7IFP1szOdCSeed6Bw0L
f2qW/LyEXKATPOAmwWzF3wFYeYjoFM+JZwuAzbweh62UhpeIa0TYH3YP6icNgMtx
lWaLJRVCoJ7TjVVHePfFderyAH+tX5tSI4VyuKqIpM4e/LF93tps9D585tAwHnrv
Qfz5y95CnMO3AhDHqmsa1yzqYWaAEhmyYRIth57OXNvDbrOFswMk5fMGQSIcgDlP
z8LU0A1uddDK0k9IogU+vd2dji1N3q+dxBy50UoMH0EcZzxUGKnVn09Yzb3CwZCd
Ut5vJ2dCry02quJK1v57BTOnHbMcg1wbGpYMSYzrbxpGGLbpSPM/MhWL1b7ZpHN0
L841WL9j+bcm8td2euSo09g+P2tBqHC0/OUlR0cwg93Slkpde30xAjgB5PTFIXrC
7AqYX73ftq4B6+g26yp6kW8a+oaedjBOG93ZKJHXBziJnSE2bD8ylBhLAU/ZCx3A
f1ljQQL76T3p8hJjq6GKUwqmjdOTnzhZxTiE+lgAWDhhoFXTAcgWXvs54oloaI8O
qzHTy6eiR86J8pk3SBgOYKME/aGJnU5zdQXLlGLAvO1nYVC+4ojgLyoMknBjPrMm
RYmKX2V1epf2l7eD+qeecMATvi4OFAiPRdDwUDFQEbi7PGmq+sldHVXslzdnZ/hl
ryHPwpTRdgmht36QiIzW
=/8Fg
-----END PGP SIGNATURE-----