-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512
Advisory ID: SYSS-2015-019
Product: BullGuard Antivirus
Vendor: BullGuard Ltd.
Affected Version(s): 15.0.297
Tested Version(s): 15.0.297
Vulnerability Type: Authentication Bypass Using an Alternate Path or
Channel (CWE-288)
Risk Level: Medium
Solution Status: Not fixed
Vendor Notification: 2015-03-16
Solution Date: -
Public Disclosure: 2015-05-07
CVE Reference: Not yet assigned
Author of Advisory: Matthias Deeg (SySS GmbH)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Overview:
BullGuard Antivirus is an endpoint protection software with
many features defending users against different threats.
The vendor BullGuard describes the product as follows (see [1]):
"Independent tests established that BullGuard antivirus has the best
malware catch rates. It features multiple layers of defence providing an
impenetrable protection system"
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Vulnerability Details:
The antivirus software BullGuard Antivirus offers a password protection
in order to restrict access to the management console. With an enabled
password protection, changing settings or deactivating the protection
features requires the set password.
By analyzing the password-based authentication of the implemented
password protection, the SySS GmbH found out, that the password
comparison is done within the process BullGuard.exe, which can be run
in the context of the current Windows user, who can also be a standard,
limited user, if no further security controls preventing such an analysis
have been implemented.
This fact allows a further analysis and the manipulation of the password
comparison during runtime without administrative privileges, as every
user is able to debug and manipulate the processes running with her user
privileges.
In order to bypass the password-based authentication, for example to
deactivate the antivirus protection of BullGuard Antivirus in an
unauthorized manner, an attacker only has to patch this password
comparison, so that it always returns true, for example by comparing
the correct unload password with itself or by modifying the program
control flow. For running a new instance of the process BullGuard.exe
besides an already running protected version of this process, that can
neither be debugged nor terminated with low user privileges, an instance
check has to be patched, too.
The SySS GmbH also found out, that the actual set password for the
password protection can be extracted as cleartext during runtime from
the attacker-controlled process BullGuard.exe.
Thus, a limited Windows user or malware running in the context of such a
user is able to deactivate BullGuard Antivirus in an unauthorized manner
and furthermore to extract the actual password as cleartext.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Proof of Concept (PoC):
The SySS GmbH developed a proof-of-concept software tool named
UnloadBullGuard for deactivating the BullGuard protection in an
unauthorized manner.
The following output exemplarily shows a successful bypass of the
password-based authentication and of the cleartext password extraction:
>UnloadBullguard.exe
____________________________________________________________
/ _____ _____ _____ \
/ / ___| / ___/ ___| \
| \ `--. _ _\ `--.\ `--. |
| `--. \ | | |`--. \`--. \ |
| /\__/ / |_| /\__/ /\__/ / |
\ \____/ \__, \____/\____/ ... unloads BullGuard! /
\ __/ | /
/ |___/ _________________________________________/
/ _________________/
(__) /_/
(oo)
/------\/
/ |____||
* || ||
^^ ^^
SySS Unload BullGuard v1.0 by Matthias Deeg - SySS GmbH (c) 2015
[+] Found location of the executable file BullGuard.exe
[+] Created new instance of the process BullGuard.exe
[+] The BullGuard process was patched successfully.
Now you can unload the BullGuard protection with an arbitrary password.
After entering an arbitrary password, the correct one will be shown.
[+] The correct password is: S3cret1!
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Solution:
The SySS GmbH is currently not aware of a solution for the reported
security vulnerability.
Please contact the vendor for further information.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Disclosure Timeline:
2015-03-16: Vulnerability reported to vendor
2015-03-24: Reported vulnerability again as the vendor did not reply to
to the first e-mail with the SySS security advisory
2015-03-24: Vendor acknowledges e-mail with SySS security advisory
2015-05-07: Public release of security advisory according to the SySS
Responsible Disclosure Policy
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
References:
[1] Product Web site for BullGuard Antivirus
http://www.bullguard.com/products/bullguard-antivirus.aspx
[2] SySS Security Advisory SYSS-2015-019
https://www.syss.de/fileadmin/dokumente/Publikationen/Advisories/SYSS-2015-019.txt
[3] SySS Responsible Disclosure Policy
https://www.syss.de/en/news/responsible-disclosure-policy/
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Credits:
This security vulnerability was found by Matthias Deeg 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
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
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
iQIcBAEBCgAGBQJVSxS2AAoJENmkv2o0rU2rGjIQAJEa5YaTnbo4HSHSBaAvI3Ob
erNTlflNVwd8086HnWgf6mpyWkzwTuBWhIVplX48SWWgAeH0TkHMegJuer8K62Gk
eMvJSNhnqH4P1ulU4G7XZGG/VneMVK/yib3XBFZCfdJWmG75r8QmNFG8gNlQKdNS
tx8YG7J8I3fYfWPvkCEii9gXKibqN9Mg29hZiVhwN11SwzwKhiw/IQPWzmUNKzL7
S7eNZ6Lg0k9N2T9npJeCQ3/qxv0WOSL2wkL5Qb6Af+26tTU2pL08pI2ntjjtTJfM
GeVtSVKlZOPL1XYzZestAGIhn6ji7/3Rd9e1itxMRjkirU9+oaYLDak/+2i/Pfat
6hDCD33ahnCJc5dNUgFbLZPjt3UwV3mGu7+Ur5N7GqynzrsN9gDJ0IsrFYbVkTS+
g9yZY6kegXQQJNIQYeOeSA8XQ8GAIZplmxKIUpVFyPPcvmv4LtVci2TBSpERGstq
VeAvQZ3sy0fH5ztDrHrvwVgbDEIlNNcXMocLXaQdqA5+6pn3tVE+NiUMz9E/IW3X
6ZGsQaNVA8AAJjSfsBnbbFL/YZIC65ShIYE7wF1vsjmptAsl021AaaqD3wbeUIt1
ZsTbNPrWzHHvwIpI60I4l+2zNi49I6YPQDxqR/xSJuPKfaQ+dYs3DmYz+9BSjkqd
m85iI3yPKyaJXNuDfPgy
=gEo/
-----END PGP SIGNATURE-----