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

Antivirus bypass using binary patching

There are other ways to bypass antivirus software than using newly written code. We can also use a compiled binary file.

There are a few antivirus software bypass techniques that can be performed with already compiled code that is ready to run, even if it is detected as malware by antivirus engines.

We have used two sub-techniques while performing research toward writing this book:

  • Debugging / reverse engineering
  • Timestomping

Let's look at these techniques in detail.

Introduction to debugging / reverse engineering

In order to perform reverse engineering on a compiled file in an Intel x86 environment, we must first understand the x86 assembly architecture.

Assembly language was developed to replace machine code and let developers create programs more easily.

Assembly is considered a low-level language, and as such, it has direct access to the computer's hardware, such as the CPU. Using assembly, the...