Extensions can be malicious and pose a threat to your organization
Some extensions installed by millions of users have been found to steal or leak Personally Identifiable Information (PII), passwords or other secrets, take screenshots, act as a key logger, cause phishing, spamming and so on.
Don’t take my word for it!
These are just a few news about malicious extensions and their consequences from 2022 and 2021.
(See more at the bottom of the article)
What to do about it
My recommendation is clear:
Implement browser extension whitelisting!
With extension whitelisting, any extension is blocked, unless it is explicitly whitelisted.
But won’t that cause administrative overhead?
Yes, absolutely! You would need a process for approving extensions and whitelisting them.
But this should be held up against the threats, that your organization is facing, if users are allowed to install any browser extension.
The quotes in this article clearly shows, that users by the millions are installing browser extensions, that are a real threat to privacy and to organizations’ security.
How to do it
A path to switching to extension whitelisting should probably include:
Inventory
Building the initial whitelist
Creating a formal process for applying for the whitelisting of an extension
Testing on a subset of users
Informing the users
Implementation
For the inventory there are a few options
If you use Chrome Enterprise, there is an option for discovery of extensions in Chrome.
However, this is only for Chrome, not Edge or Firefox.
And it does not show you if an extension is known to be malicious.
Nirsoft also created a tool to make inventory per computer, and it will recognize both Chrome, Edge and Firefox extensions.
However, this doesn’t show you if an extension is known to be malicious either.
Or, if you like, you can use the script, I have provided here:
Avantia - Blog - Discover installed and potentially malicious browser extensions
This script will:
Enumerate all user profiles on the computer
Enumerate all extensions of all browser profiles in Edge and Chrome in all Windows user profiles
Gather information from the extensions' manifest.json
Gather extra information if needed and possible from the Google extensions web store
Check each extension against a list of known malicious extensions
(CREDITS: List of malicious extensions: https://github.com/mallorybowes/chrome-mal-ids)
Building the initial whitelist
Once you have an inventory of all installed extensions, it’s time to do some vetting.
Surely, any extension deemed malicious on the online list should be blocked.
You should also be very careful with ad-blockers, that are known to “piggyback” on renowned ad-blocker’s names or start out as legitimate extensions and later become malicious. (see example in the news-links at the bottom of the article)
You might also decide to not allow extensions, that have no business relevance.
However, some might add privacy value.
One example is Mozilla’s Firefox add-on “Facebook Container”.
This is an excellent add-on, that puts Facebook in a separate silo, so that Facebook cannot eavesdrop on, which websites you visit or searches you make. (I have no gains from recommending this add-on or affiliations with Mozilla 😉 I just really think it’s great)
After removing all those, that you are certain should be blocked, you should look into those, you are considering whitelisting.
How to implement extension whitelisting using Group Policy
Chrome:
Set ExtensionInstallBlockList to *
https://chromeenterprise.google/policies/#ExtensionInstallBlocklist
(Note: If you already have ExtensionInstallBlackList configured, be aware that this policy is deprecated, and you need to use ExtensionInstallBlockList instead)Define the explicitly whitelisted extensions in ExtensionInstallAllowList
https://chromeenterprise.google/policies/#ExtensionInstallAllowlist
Use the extension Id for each extension.
Edge
Option A:
Generate a JSON string with your extension settings, including Block All Extensions and adding the extension Ids of the allowed extensions.
This can be done using Microsoft’s ExtensionSettings Generator on GitHub.Add this JSON string to the Group Policy Setting Administrative Templates/Microsoft Edge/Extensions/Configure extension management settings
https://learn.microsoft.com/en-us/deployedge/microsoft-edge-policies#extensionsettings
Or option B:
Set ExtensionInstallBlockList to *
https://learn.microsoft.com/en-us/deployedge/microsoft-edge-policies#extensioninstallblocklistDefine the explicitly whitelisted extensions in ExtensionInstallAllowList
https://learn.microsoft.com/en-us/deployedge/microsoft-edge-policies#extensioninstallallowlist
Use the extension Id for each extension.
Firefox:
Generate the extensions settings to be used by Group Policy in JSON format.
You can use my simple script for this:
Script to generate Firefox extension whitelisting configuration in JSON formatAdd this JSON string to the Group Policy Setting Extension Management
https://github.com/mozilla/policy-templates/blob/master/README.md#extensionsettings
You will find it in:
Administrative Templates/Mozilla/Firefox/Extensions/Extension Management
After implementing this, users will only be able to install extensions, that have been explicitly allowed.