BeyondTrust
  • Products
    Privileged Password Management
    Discover, manage, audit, and monitor privileged accounts
    Password Safe DevOps Secrets Safe
    Endpoint Privilege Management
    Manage privileges on Windows, Mac, Linux, and Unix endpoints
    Windows and Mac Unix and Linux Active Directory Bridge
    Secure Remote Access
    Centrally manage and secure remote access for service desks and vendors
    Remote Support Privileged Remote Access
    Use Cases and Industries
    See All Products
  • Resources

    Universal Privilege Management

    Our innovative Universal Privilege Management approach secures every user, asset, and session across your entire enterprise.

    Watch Video

    Learn

    Case Studies
    Competitor Comparisons
    Datasheets
    Glossary
    Product Demos
    Whitepapers

    Attend

    Events
    Go Beyond
    Training
    Webinars

    Support

    Changelog
    Professional Services
    Technical Documentation
  • Blog
  • Partners
  • Contact
  • Support
  • Services
  • Training
  • Events
  • Company

Addressing Malware, Threat Actors, & LotL Exploits with Application Control, & Allow / Deny Listing

March 31, 2021

  • Blog
  • Archive

The terms allow list, block list (also called deny list), and application control are frequently used or referred to in IT security. However, while these terms are often used interchangeably, it’s important to understand the distinctions of each.

The idea of controlling what can and cannot be accessed using lists is not a new concept, in-fact, it’s been around for decades and is a staple of many security controls, ranging from firewalls, email spam filters, and antivirus to application control. In this blog, I will focus on exploring the pros and cons of allow listing and deny listing in comparison to application control, as methods of controlling the execution of code on a computer. I will also highlight how some of the common drawbacks of application control can be overcome by smartly coupling it with privilege management. In fact, this pairing can unlock significant security and operational synergies.

Block Listing Explained

Block listing (also called deny listing) is probably the oldest form of security control. For more than 30 years, block listing served as the backbone of antimalware products. These deny lists are still broadly used today. Blocks operate on the simple concept of blocking something from running or executing, based on whether it exists on a known list of hashes in a policy or database. If the application hash hits a match in the list, it is denied from executing. On the other hand, if there is no match, then the application is allowed to execute.

If an application or piece of software is known to be bad, then denying it is the straightforward and ideal remedy. Antimalware products depend on this approach to keep known malware at bay.

However, not all things that are bad, are known. In fact, it’s now widely understood that as little as 40% of all malware is known. Thus, block listing – even though still needed to stop the 40%, is insufficient by itself to keep your computer safe

Many malware strains mutate fast. It is not uncommon to see strains with a unique hash exist in the wild for only a few hours. This means that a deny list approach that targets based on file properties cannot easily keep up. Another consequence is that IT ultimately ends up maintaining a list of thousands of files they will never see again in the wild. In February 2021, there were 17.85M new malware samples detected, and likely millions more eluded detection.

Even with modern techniques like behavioral and heuristic analysis, detection is still based on a set of rules to differentiate good and bad. And whether it’s a hash, a behavior, or any other identifier, malware creators remain one step ahead by exploiting weaknesses in those rules. Ultimately, deny / block lists are a reactive technology as they are entirely dependent on knowing about something in advance.

Deny lists are only marginally effective when it comes to controlling user access to applications. If you try to stop something from running or installing with a deny list, it is trivial for savvy users to work-around the rules; often as simple as downloading a different version (you may even inadvertently be driving your users to nefarious websites in their goal to get that software they want to use). If, for whatever reason, a block list fails to stop malware, or an unapproved application, it is referred to as a false negative; the control incorrectly assumed that, because there was no match against the list, the application/software must be good.

Figure 1: Pros and Cons of Block Lists

Allow Listing Explained

Allow listing is basically the opposite of deny / block listing; rather than a list of applications to deny, it is a list of applications to allow. Allow lists provide a much stronger defense mechanism against malware than block lists because, instead of attempting to identify every known piece of malware that exists, or every bad application you want to deny, it just allows you to focus on the applications that you DO want running—which represents a significantly smaller list in comparison. With that said, traditional allow listing approaches still largely rely on using hashes, and herein lies the problem.

A typical OS install involves thousands of applications. And, once you have installed a bunch of applications, there could be thousands more, each of which is subject to the approval of an allow list. That means each application must be present on the list or it will be denied. Accomplishing this entails a heavy amount of up-front scanning and configuration before you can roll out the policy. And with every change to any of those files, the allow list would need to be updated.

Every time Microsoft rolls out a patch or an update, old files will be replaced with new files. The same goes for patches of other installed applications. And when this happens, your allow list will be outdated, and can (and often does) result in software errors.

Although allow listing is perhaps the strongest form of system hardening, it is also the most error-prone due to false positive blocks on legitimate binaries.

Figure 2: Pros and Cons of Allow Lists

Practical Allow and Deny Listing with Privileged Access Management (PAM)

Due to the complexities and management costs, many organizations struggle to roll out successful allow and deny list implementations. Despite the obvious benefits they bring to endpoint security, these types of lists are too restrictive, too labor-intensive, and too expensive to keep up-to-date. Thus, their use is often limited to small deployments in datacenters and kiosks – where changes are much less frequent and much more predictable. However, when you implement allow and deny listing as part of a privilege management strategy, things can and do become a considerably more straightforward.

Users who log on with local admin rights have full read and write access to the operating system, and every application in every folder – including system folders like Windows and Program Files. So, allow lists need to include every application in those system folders – as I mentioned before, that’s a lot of applications, which are updated too frequently to keep up with. Even though these folders should be considered secure and trustworthy, they cannot be trusted if users (and malware) are able to add new applications or overwrite existing applications.

But users who only have access to a standard user account are, by default, unable to make any changes to those secure and trustworthy folders. And, if users cannot introduce applications without authorization, then you can take advantage of the fact that system folders can be trusted, because the only way that changes can happen is through authorized and legitimate ways – like approved installations, system updates, and software distribution. The upshot is that, instead of having to manage a list of thousands of hashes, you only need to manage half a dozen folders.

When you combine allow listing with privilege management, you can achieve the level of security that you need on your endpoints, without incurring the cost or complexity. It’s a true synergy.

The Inbetweeners & Living off the Land (LotL) Threats

Allow listing and deny listing are often used in combination. Deny the bad, allow the good. But there are inevitably applications that do fall under both categories—applications that would normally be allowed by an allow list, but should be denied by a deny list.

Threat actors have adopted methods of working around both allow and deny listing, by using legitimate apps (that are allowed) to perform malicious actions that would normally be denied. These are living-off-the-land (LotL) apps, and both Windows and macOS come pre-installed with a plethora of tools and utilities used extensively as part of cyberattacks.

Let me give you an example: PowerShell – allow or deny?

PowerShell is a core component of all Windows endpoints that is pre-installed and trusted by default. It is signed with the same certificate that all other Windows components are signed with, and it is in a trustworthy area of the filesystem.

PowerShell (by its very name) is an extremely powerful utility and, as a result, is leveraged for an almost endless number of legitimate purposes—ranging from installations and configurations, to maintenance and break-fix task—and is also used as part of many internal OS functions. PowerShell is an application that needs to be allowed to run.

Because of the vast capabilities it provides, PowerShell also sits high atop the kit bag for threat actors and malware creators. Users can leverage PowerShell through script blocks and the command line to compile, obfuscate, and execute code, run commands for surveillance and lateral movement, and, when running with local admin privileges, can modify OS settings and disable other security controls to circumvent defenses, and persist on the endpoint. So, on the other hand, PowerShell is also an application that needs to be denied.

While PowerShell comes with just enough access (JEA) controls, they are difficult to deploy and manage. Even when JEA is in place, threat actors trade craft of ‘living off the land’ allows them to work around the controls and find ways to exploit the commands that are still authorized.

The Grey Area - An Attacker’s Playground

The grey area between allowed and denied is where modern cyberattackers thrive. These attackers mimic legitimate and trusted behaviors to deliver and execute payloads to exploit endpoints.

While other applications may present a straightforward binary decision, applications like PowerShell, which provide powerful, necessary and legitimate capabilities while also are ready-made tools for fileless attacks, present a real challenge. If you cannot determine the difference between a legitimate use of an application and a malicious use, then your focus instead should be on the context. In terms of cyberattacks, the most important context is which process PowerShell is being executed from.

Far and away, the most prevalent attack vector is an end-user computer – more specifically, through phishing emails carrying malware-laden attachments. Documents such as Microsoft Word, Excel, PowerPoint, and Adobe PDFs, have macro’s – code that can be run when the document is opened – and this code can be crafted to run commands on the endpoint, and deliver payloads embedded in the document itself.

Enabling of macros needs to be consented to, but social engineering makes it easy to dupe a user into clicking ‘Yes’. It’s likely you have your own team of recruiters who routinely receive emails from candidates with CV and application form documents. LinkedIn makes it easy to find who your recruiters are and can even show who their candidates are through connections. My point is you cannot rely on your users to make the right call 100% of the time. Even the savviest of users can (and do) get fooled.

Context is the Key to Effectively Defusing Living off the Land Threats

Macros in documents provide an easy way to run LotL applications like PowerShell – one trusted application, running another trusted application. But with Application Control capabilities, as found as part of BeyondTrust Endpoint Privilege Management, you can use context to apply rules that can tell the difference:

  • Should PowerShell be allowed to run? Hard to tell…but…
  • Should PowerShell be allowed to run as a child of Microsoft Word? Well, that’s a different use case altogether!

This is context, and this is advanced application control. Using these principles, BeyondTrust has created a solution that is highly effective in stopping tricky zero-footprint cyberattacks, because it can differentiate between a legitimate and malicious use of an application. We call this Pragmatic App Control, because, instead of relying on static allow and deny lists, it evaluates the context of every application, and only allows those that are executed in a legitimate way.

About BeyondTrust Endpoint Privilege Management for Windows & Mac

BeyondTrust Endpoint Privilege Management for Windows & Mac is a preventative endpoint security solution that removes excessive admin rights, applies pragmatic application control, enables passwordless administration, and gives users just enough privileges to do their jobs and be productive. The solution blocks the majority of malware and ransomware and protects against both external and internal threats. Utilizing QuickStart policies, organizations receive rapid time-to-value whether deploying the solution on-premises or via SaaS.


Whitepapers

The 5 Critical Steps in your Endpoint Protection Strategy

Videos

Demo: Privilege Management for Windows and Mac

Photograph of Kris Zentek

Kris Zentek, Senior Product Manager

Kris Zentek is a Senior Product Manager at BeyondTrust, focusing on Endpoint Privilege Management solutions. Based in the UK, he has over 20 years of experience working in the cybersecurity industry.

Stay Up To Date

Get the latest news, ideas, and tactics from BeyondTrust. You may unsubscribe at any time.

I agree to receive product related communications from BeyondTrust as detailed in the Privacy Policy, and I may manage my preferences or withdraw my consent at any time.

Up next

From March 30, 2021:
Password Sharing 101: If IT or HR Asks for Your Password – Just Say ‘No’
From April 6, 2021:
Operational Technology (OT) Cybersecurity: 4 Best Practices

You May Also Be Interested In:

Whitepapers

Microsoft Vulnerabilities Report 2021

Whitepapers

A Zero Trust Approach to Windows & Mac Endpoint Security

Whitepapers

KuppingerCole Executive Review - BeyondTrust Endpoint Privilege Management

BeyondTrust Logo
  • Facebook
  • Twitter
  • LinkedIn

Keep up with BeyondTrust

I agree to receive product related communications from BeyondTrust as detailed in the Privacy Policy, and I may manage my preferences or withdraw my consent at any time.

Customer Support
Contact Sales

Products

  • Endpoint Privilege Management
  • Password Management
  • Privileged Remote Access
  • DevOps Secrets Safe
  • Remote Support

Resources

  • Blog
  • Case Studies
  • Competitor Comparisons
  • Datasheets
  • Glossary
  • Videos
  • Webcasts
  • Whitepapers

About

  • Company
  • Careers
  • Contact
  • Events
  • Leadership Team
  • Partner Program
  • Press

Languages

  • English
  • German
  • French
  • Spanish
  • Korean
  • Portuguese
  • Japanese
  • Privacy
  • Security
  • Manage Cookies
  • WEEE Compliance

Copyright © 1999 — 2020 BeyondTrust Corporation. All rights reserved. Other trademarks identified on this page are owned by their respective owners. BeyondTrust Corporation is not a chartered bank or trust company, or depository institution. It is not authorized to accept deposits or trust accounts and is not licensed or regulated by any state or federal banking authority.