Book Image

Antivirus Bypass Techniques

By : Nir Yehoshua, Uriel Kosayev
Book Image

Antivirus Bypass Techniques

By: Nir Yehoshua, Uriel Kosayev

Overview of this book

Antivirus software is built to detect, prevent, and remove malware from systems, but this does not guarantee the security of your antivirus solution as certain changes can trick the antivirus and pose a risk for users. This book will help you to gain a basic understanding of antivirus software and take you through a series of antivirus bypass techniques that will enable you to bypass antivirus solutions. The book starts by introducing you to the cybersecurity landscape, focusing on cyber threats, malware, and more. You will learn how to collect leads to research antivirus and explore the two common bypass approaches used by the authors. Once you’ve covered the essentials of antivirus research and bypassing, you'll get hands-on with bypassing antivirus software using obfuscation, encryption, packing, PowerShell, and more. Toward the end, the book covers security improvement recommendations, useful for both antivirus vendors as well as for developers to help strengthen the security and malware detection capabilities of antivirus software. By the end of this security book, you'll have a better understanding of antivirus software and be able to confidently bypass antivirus software.
Table of Contents (13 chapters)
1
Section 1: Know the Antivirus – the Basics Behind Your Security Solution
5
Section 2: Bypass the Antivirus – Practical Techniques to Evade Antivirus Software
9
Section 3: Using Bypass Techniques in the Real World

Avoiding antivirus bypass dedicated vulnerabilities

In this section, you will learn how to prevent the vulnerabilities we presented in Chapter 3, Antivirus Research Approaches.

How to avoid the DLL hijacking vulnerability

To mitigate DLL hijacking attacks, the caller process needs to use a proper mechanism to validate the loaded DLL module not only by its name but also by its certificate and signature.

Also, the loading process (like the antivirus software) can, for example, calculate the hash value of the loaded DLL and check if it is the legitimate, intended DLL that is to be loaded, using Windows API functions such as LoadLibraryEx followed by the validation of specific paths to be loaded from, rather than the regular LoadLibrary, which simply loads a DLL by a name that attackers can easily mimic.

In other words, the LoadLibraryEx function has the capability of validating a loaded DLL file by its signature, by specifying the flag of LOAD_LIBRARY_REQUIRE_SIGNED_TARGET...