Kaspersky Internet Security 15.0.2.361 Unsalted Hash

2015-10-01T00:00:00
ID PACKETSTORM:133808
Type packetstorm
Reporter Matthias Deeg
Modified 2015-10-01T00:00:00

Description

                                        
                                            `-----BEGIN PGP SIGNED MESSAGE-----  
Hash: SHA512  
  
Advisory ID: SYSS-2015-008  
Product: Kaspersky Internet Security (KIS)  
Vendor: Kaspersky Lab ZAO  
Affected Version(s): 15.0.2.361  
Tested Version(s): 15.0.2.361  
Vulnerability Type: Use of a One-Way Hash without a Salt (CWE-759)  
Risk Level: Low  
Solution Status: Fixed  
Vendor Notification: 2015-02-19  
Solution Date: 2015-10-01  
Public Disclosure: 2015-10-01  
CVE Reference: Not yet assigned  
Authors of Advisory: Matthias Deeg and Sven Freund (SySS GmbH)  
  
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~  
  
Overview:  
  
Kaspersky Internet Security is an endpoint protection software with many  
features defending users against different threats.  
  
The vendor Kaspersky describes the product as follows (see [1]):  
  
"Protects your privacy, your money & your kids from Internet risks  
* Protects your PC against today’s Internet threats  
* Adds extra security for online banking & shopping  
* Safeguards your privacy and personal information  
* Helps protect your children against online threats  
* Combines superior security & optimized performance"  
  
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~  
  
Vulnerability Details:  
  
The SySS GmbH found out that the administrator password for protecting  
different functions of the Kaspersky Internet Security software, like  
managing backups or stopping protection services, is stored as raw,  
unsalted MD5 hash value in the Windows registry.  
  
The used registry value  
  
"HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\KasperskyLab\AVP15.0.2\settings\OPEP"  
  
is by default readable by every user.  
  
The use of the cryptographic one-way hash function MD5 without using a   
salt for storing sensitive data like admin passwords allows an attacker  
with access to this data to perform efficient password guessing attacks  
using pre-computed dictionaries, for instance rainbow tables.  
  
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~  
  
Proof of Concept (PoC):  
  
The configured admin password is stored as raw, unsalted MD5 hash value  
of the UTF-16 (wide char) string representation of the set password.  
  
For instance, it can be read using the following command:  
  
C:\Users\SySS>reg query HKLM\SOFTWARE\Wow6432Node\KasperskyLab\AVP15.0.2\settings /v OPEP  
  
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\KasperskyLab\AVP15.0.2\settings  
OPEP REG_SZ CFB37E7C04BEA837D23005199B1CD62B  
  
  
The read string in this example is a raw, unsalted MD5 hash value of the  
UTF-16 string "syss", as the following output illustrates:  
  
$ echo -en "s\x00y\x00s\x00s\x00" | md5sum  
cfb37e7c04bea837d23005199b1cd62b -  
  
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~  
  
Solution:  
  
According to information by Kaspersky, the described security issue has  
been fixed in newer software releases.  
  
Please contact the manufacturer for further information or support.  
  
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~  
  
Disclosure Timeline:  
  
2015-02-19: Vulnerability reported to vendor  
2015-02-20: Vendor acknowledges e-mail with SySS security advisory   
2015-03-17: Rescheduling of the publication date in agreement with the  
manufacturer  
2015-04-14: Rescheduling of the publication date in agreement with the  
manufacturer  
2015-09-28: SySS asks for further information about software fix  
2015-10-01: Public release of security advisory on agreed publication  
date  
  
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~  
  
References:  
[1] Product Web site for Kaspersky Internet Security  
http://www.kaspersky.com/internet-security  
[2] SySS Security Advisory SYSS-2015-008  
https://www.syss.de/fileadmin/dokumente/Publikationen/Advisories/SYSS-2015-008.txt  
[3] SySS Responsible Disclosure Policy  
https://www.syss.de/en/news/responsible-disclosure-policy/  
  
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~  
  
Credits:  
  
This security vulnerability was found by Matthias Deeg and Sven Freund  
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: sven.freund (at) syss.de  
Public Key: https://www.syss.de/fileadmin/dokumente/Materialien/PGPKeys/Sven_Freund.asc  
Key fingerprint = DCDB 7627 C1E3 9CE8 62DF 2666 8A5F A853 415D 46DC  
  
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~  
  
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  
  
iQIcBAEBCgAGBQJWDPCdAAoJENmkv2o0rU2rpdcP/1395FvTLiSDbNhDYaRrRuel  
bGxUgjqSz3/1xDWFzKKQLGCsk7Olo8omcIsMtuyXMpXGSqzPmmX2z9ZF8XsEW1GW  
cmQOsdfqRb75WcEN8AXsQiL0a4dGnbXenFxF3lWeIpj6p0n6Ckj8M4+iSHIm/6E1  
N23zTvXRO++W7U9cg7z7szE0E0uiwpWApGjVdrgMtlOYqsePOA0wDMfBt7Oc0Ghp  
gs4ZMQEqg2pfx6dmSYABWgdbtdVyKMG3RHzDL1FxZZPqOPTG0sWRF9Y1HS+OzjSo  
JY9pHAyCJjkAfjJEvD36AJJcM1eG0qNcTEYBuluJY9Kvsw6roqAQQ0UbaUUCDiVy  
B9a2zufzk+C6bidg7oIaPsvt+AVxRNGxusDAxIiHC5XRXaMvr1LjJTa9cso8FEZh  
YQZQny60fd8jaFUU0JxAPzPmZWkpvshZ0UFISrahl0hrvyKJ8sgPyIbfoB/twtvg  
I2bT4BbB5++mIx3EoB11E/OLDf30z6s08PCnERi9qXcJPEfZ6BFKcghay+YosYem  
ledkc6VjUnVAniCNZ1FlCYwjCaZXD11pwFZ16nRpiEujeKtLEwQ8E8J22Avh8Ai+  
bBuXrXKBCjAUm1xgEFdzDHgVuhMEyqjsegK4cnnL4Mn9iP+APr2vLfFlFH/eswix  
PwsOM45P32dlKeU2jVyy  
=c8dT  
-----END PGP SIGNATURE-----  
`