Reverse Engineering Malware
Reverse Engineering Malware
net/publication/357891134
Reverse-Engineering Malware
CITATIONS READS
3 287
4 authors, including:
JN Al-Karaki
Zayed University
76 PUBLICATIONS 6,463 CITATIONS
SEE PROFILE
All content following this page was uploaded by Luis Borges Gouveia on 06 April 2023.
Chapter 10
Reverse-Engineering Malware
Marwan Omar
Universidade Fernando Pessoa, Portugal & Saint Leo University, USA
Jamal Al-Karaki
Zayed University, UAE
Derek Mohammed
Saint Leo University, USA
ABSTRACT
Cyberspace is quickly becoming overwhelmed with ever-evolving malware that
breaches all security defenses and secretly leaks confidential business data. One of
the most pressing challenges faced by business organizations when they experience a
cyber-attack is that, more often than not, those organizations do not have the knowledge
nor readiness of how to analyze malware. The objective of this research is to present
the fundamentals of malware reverse-engineering, the tools, and techniques needed
to properly analyze malicious programs to determine their characteristics. Those
tools and techniques will provide insights to incident response teams and digital
investigation professionals. In order to stop hackers in their tracks, we need to equip
cyber security professionals with the knowledge and skills necessary to detect and
respond to malware attacks. Additionally, the authors discuss what ransomware
is, how it infects systems, and how to prevent infection. It will also examine some
different variations of ransomware, as well as explore some cases of ransomware.
DOI: 10.4018/978-1-7998-8693-8.ch010
Copyright © 2022, IGI Global. Copying or distributing in print or electronic forms without written permission of IGI Global is prohibited.
Reverse-Engineering Malware
Information technology has forever changed the way we live and work and there is no
doubt about the fact that the world has benefited from technological advancements in
ways that are immeasurable and never imagined before. However, these technological
advancements are not risk-free and there is a flip side to this: cybercriminal activities
have skyrocketed in recent years to the point where in some cases hackers have been
able to take business organizations hostage using malware.
Most cyber-attacks involve deploying some type of malware. Malware that
viciously targets every industry, every sector, every enterprise, and even individuals
has shown its capabilities to take entire business organizations offline and cause
significant financial damage in billions of dollars annually. Malware authors are
constantly evolving in their attack strategies and sophistication and are developing
malware that is difficult to detect and can lay dormant in the background for quite
some time to evade security controls (Allen, 2017).
Our cyberspace is quickly becoming overwhelmed with ever-evolving malware
that breaches all security defenses, works viciously in the background without user
awareness or interaction, and secretly leaks confidential business data. To stop
hackers in their tracks and beat cybercriminals in their own game, we need to equip
cyber security professionals with the knowledge and skills necessary to detect and
respond to malware attacks. Learning and mastering the inner workings of malware
will help in the fight against the ever-changing malware landscape. This learning
is pursued via malware analysis techniques which could be performed statically,
automatically, dynamically, or on the code level.
Before we try to understand what is malware analysis and why malware analysis is
important in the context of cyber security, let’s try to define malware. Malware is
code that is utilized to perform malicious actions with the intent of causing harm
and destruction on computer systems and networks. Malware is typically designed to
take advantage of some type of security flaw or backdoor and benefit at the victim’s
expense. Moreover, malware is often written by people or organizations to use its
capabilities for malicious intentions and purposes.
Malware analysis aims to examine malware’s behavior. The objective of malware
analysis is to gain an understanding of the inner workings of malware and how to
detect and remove it. To reliably analyze malware, we analyze the malware specimen
in a safe environment to identify its characteristics and functionalities so security
195
Reverse-Engineering Malware
The process of analyzing malware should be a methodical one and generally involves
several stages, which can be viewed in order of increasing complexity. The pyramid
below has been used to illustrate such one ranking:
Fully automated tools can offer an easy and simple way to examine and analyze
a particular malware specimen (as shown in the figure above), some of which are
available as commercial products and some as free ones. These tools are designed
as a triage method to quickly assess the behavior of the specimen if it ran on a
system. They typically produce reports with details such as the registry keys used
by the malicious program, network traffic, and so on. The downside of those fully
automated utilities is that they may not provide as much insight as human analysts
would obtain when examining the specimen manually. On the flip side, and as a
benefit, they can contribute to the incident response by rapidly handling vast amounts
of malware, allowing malware examiners to focus on the malicious binaries that
truly require their time and attention, (Mohurle and Patil, 2017).
196
Reverse-Engineering Malware
STATIC ANALYSIS
Static analysis is one of the malware analysis techniques used by malware analysts
to quickly triage suspect programs/files without executing them. During this initial
assessment phase, the goal is to be able to extract valuable insights from the suspect
binary which would help inform the subsequent steps so that we can determine how
to analyze or categorize the suspect file and where to focus our analysis efforts
(Oberly, 2019).
This section covers various tools and techniques to extract valuable information
from the suspect binary. we will learn the following: identifying the malware’s
target architecture, fingerprinting the malware, scanning the suspect binary with
anti-virus engines extracting strings, functions, and metadata associated with the
file identifying the obfuscation techniques used to thwart analysis classifying and
comparing the malware samples (Norton, 2018).
These techniques can reveal different information about the file. It is not required
to follow all these techniques, and they need not be followed in the order presented.
The choice of techniques to use depends on your goal and the context surrounding
the suspect file (Oza, 2020).
197
Reverse-Engineering Malware
Static properties analysis examines the static properties of suspicious files such
as file hashes, embedded resources, digital certificates, and interesting strings
(Sussman, 2020). A good starting point to analyzing potential malware files is the
static properties analysis. The objective of the static properties analysis is to quickly
assess the nature of a potential malware file and develop plans for taking a closer
look in the subsequent phases of malware analysis (Monnappa, 2018).
The best way to demonstrate how to apply the static analysis technique is to use
a real-world malware sample that exhibits static properties (Afianian et al, 2020).
We will consider a fictional enterprise security incident scenario whereby a system
is misbehaving and showing indicators of compromise (IOC). The said system is
suddenly rebooting and is experiencing slow performance, in addition, there is a
foreign process called brbbot.exe running from %AppData%.
The %AppData% is an environment variable on Windows that typically points
to a directory in the user’s profile, such as C:\Users\REM\AppData\Roaming. This
location is designed for storing “user-specific files that applications install” according
to Microsoft. Technet.microsoft.com.
As a “rule of thumb”, when we run malware in our lab, we want to determine what
is the worst that the malware specimen can do, allowing it to reach its full malicious
potential. That said, we will make the brbbot specimen run in the virtual lab
system and infect our virtual host with this potential malware, all of this is done
with full administrator privileges to allow the potential malware sample to exhibit
its full malicious potential, as mentioned earlier (Bat-Erdene et al, 2017).
This approach will help us in making sure that the specimen can interact with all
aspects of the infected host, allowing it to achieve its full malicious potential. However,
sometimes it’s also useful to run the specimen with normal, non-administrative
privileges to observe its behavior-for instance if mimicking a particular scenario of
a production system in a business setting (Kirubavathi and Anitha, 2018).
Before deciding whether to examine the malicious (or suspicious) program using
behavioral or code analysis techniques, we should consider performing an initial
assessment of the malicious binary by examining its static properties (Stiborek,
Pevný, and Rehák, 2018). In some cases, the binary may turn out to be not malicious
because it possesses a hash that belongs to a trusted program. Performing static
properties analysis is important as it can help us determine where to focus our
subsequent analysis efforts. Static properties analysis is a useful first step as part
of the triage effort (Stiborek, Pevný, and Rehák, 2018).
198
Reverse-Engineering Malware
1. Is it malware?
2. What type of file is it (e.g. .exe, .dll,.com, .sys, and so on)?
3. What is the target architecture (32-bit or 64-bit platform)?
4. How bad is it?
5. How to detect it?
6. How to analyze it?
199
Reverse-Engineering Malware
EXTRACTING STRING
200
Reverse-Engineering Malware
In this age of technology, almost everything is stored digitally. Data can be quickly
accessed remotely, and physical degradation is no longer a concern. It requires less
space and allows much more information to be kept for much longer. However, among
201
Reverse-Engineering Malware
all these positive elements, there is a risk associated with storing data digitally. What
happens if suddenly all that data stored digitally is no longer accessible? Documents,
family photos, intellectual property – none of it is immune to ransomware, should it
strike. Unless this data is backed up, the ease and accessibility of digitally storing
data could be its downfall. Users must be prepared and cautious to protect their data.
Ransomware:
Infection:
202
Reverse-Engineering Malware
Ryuk Ransomware
One particular ransomware took the state of Florida host in 2019. Ryuk was the
ransomware that took Florida hostage and was successful in getting about a million
dollars from some cities in Florida. The Ryuk ransomware is deployed by a phishing
email or visiting a sketchy website and clicking the link where bots are then able to
access the network. Once the bots have access to the network they then use lateral
movement to start encrypting machines and locking users out. The attackers caused
so much havoc that it took 911 offline in Riveria Beach, some police officers were
writing paper tickets, healthcare servers were compromised, criminal evidence was
erased and about a year and half of digital evidence were lost letting six narcotics
dealers walk free.
Preventing ransomware can be just as easy as preventing any other attack.
Understanding that clicking links that you are not expecting is probably not the best
thing that our end users could do. Also, Norton has some tips for keeping safe from
ransomware. One thing that Norton suggests is to not pay the ransom. They suggest
203
Reverse-Engineering Malware
this because if you are doing proper backups of your data then you can easily recover
from these attacks and, it “encourages and funds these attackers and even if the
ransom is paid, there is no guarantee that you will be able to regain access to your
files” (Norton, 2018). Another good strategy in keeping systems safe from malware
is to ensure that proper patching is happening. Keeping your antivirus definition up
to date as well as applying the latest operating system patches will go a long way
in keeping your systems secure. It is also important to note that “exploit kits hosted
on compromised websites are commonly used to spread malware. (Norton, 2018)”
The IT department should also talk with leadership about working to get an email
scanner installed to ensure that any links or attachments that are in inbound emails
are safe and malicious ones are dropped.
Prevention
One of the most important elements of preventing ransomware infection is user training
and awareness. Humans are often the weakest link of security, so network users must
be educated on the dangers of ransomware and on common infection methods, such
as following unknown links (Oberly, 2019). It is always a good practice to type out
links instead of following them, as this can help avoid subtle link differences that
may otherwise have gone unnoticed (Mohurle and Patil, 2017). For example, typing
out www.google.com could help prevent infection from a link such as www.goggle.
com, which may lead to a malicious site or download malware. Resources exist that
examine links or files for malicious content, such as https://www.virustotal.com/
gui/home/upload. Educating users on potential risks and corresponding safeguards
is an important part of ransomware prevention.
Several policies can be established by companies for their employees to safeguard
against ransomware attacks. Companies should draft policies that define expectations
for users concerning areas such as personal email and file-sharing programs on the
company network (Oberly, 2019). All users should also have strong passwords for
their devices and keep these passwords secret; posting passwords on monitors to
remember them is even worse than having no password, as it lulls the user into a
false sense of security (Allen, 2017). A strong password should have at least eight
characters and be a mix of uppercase and lowercase letters, numbers, and symbols.
Another basic but very important policy that should be employed to minimize risk
is the principle of least privilege. It entails only giving users access to what they
require to do their job; administrative access should only be given when necessary
and revoked when no longer needed (Oberly, 2019). This minimizes the risk of
system damage if a user is compromised, as they will have limited power. Along
similar lines of restricted privileges, policies should be employed that limit user
access to common grounds of infection, such as Facebook, Instagram, and other
204
Reverse-Engineering Malware
social media sites (Oberly, 2019). Users should also disable wireless connections
such as Bluetooth and Wi-Fi when not needed, and ensure that the network is secure
before connecting (Mohurle and Patil, 2017). However, these policies will have no
effect if they are not enforced, so companies should regularly have external audits
done to test their users. By crafting policies such as these for their employees,
companies can minimize their risk of ransomware infection.
In addition to policies for the employees, general company policies can be
established to protect against ransomware attacks. As ransomware also takes advantage
of known security vulnerabilities in systems, it is very important to regularly update
and patch systems as soon as possible. If systems and applications are not patched,
they have a much higher risk of infection, as the vulnerabilities are known to attackers
and provide them with an obvious opportunity (Oberly, 2019). According to Oberly,
“If a program or device is too old to update, retire it, as the limited range of tasks
that it can perform is vastly outweighed by the risk that the outdated technology
presents to the company’s computer networks and systems, which can provide
attackers with vulnerable entry points to launch a ransomware attack”. Another
method of prevention that can be employed by a company is whitelisting software.
Whitelisting creates a list of acceptable and trusted applications, executable files,
and connections. The system allows these to run while blocking any software or port,
not on the list. Antivirus software and firewalls are other basic requirements that
every company should include in their systems (Hachman, 2017). Company-wide
policies such as these are essential to mitigate possible infections.
Recovery:
The best option for combating ransomware is to ensure that the company policy is
set up to avoid having to pay the ransom, as even if the ransom is paid there is no
guarantee that data will be restored (Allen, 2017). One way to do this is to have
off-network backups of data. All data should be backed up regularly, with essential
data being backed up daily if necessary. Several copies of the entire system should
be stored at different locations to allow for complete reloading of the system
(Allen, 2017). Copies may be stored at different physical locations on a variety of
media, including servers, hard drives, or solid-state drives (SSDs). Additionally,
companies should have a backup that is a few weeks old. This may be necessary if
ransomware remains undetected for some time, propagating throughout the network
before launching all at once. A backup that is a few weeks old will not contain the
most up-to-date data, but it should predate any infection. A prudent approach is to
keep both recent and older backups. Even with regular backups, however, any data
created since the last backup will be lost (Allen, 2017).
205
Reverse-Engineering Malware
206
Reverse-Engineering Malware
and the ransomware would think the machine was already infected and not execute.
This attack was further stopped when the attacker’s email service provider shut
down their email account, preventing them from receiving payment confirmation.
One of the more recent ransomware attacks is Ryuk, which was common from
2018 to 2019. It was derived from Hermes ransomware and specifically targeted
organizations with little tolerance for downtime. This attack worked by disabling the
Windows System Restore to minimize chances of users getting around the ransom,
and higher ransoms were demanded from higher-value targets. This attack did not
run on computers with Russian, Belarusian, or Ukrainian set as their language,
suggesting that it was of Russian origin. These are only a few examples of the
multifarious variations of ransomware that have targeted users and companies.
Cases
There have been countless cases of ransomware, with targets ranging from personal
computers to government institutions. Medical institutions such as hospitals are
a common target, as they have sensitive and vital information that they normally
cannot afford to lose. Hollywood Presbyterian Medical Center (HPMC) was one such
example. HPMC was stricken with ransomware and had to pay $17,000 to restore
critical data and communication capabilities. HPMC paid the ransom before reaching
out to the authorities, wanting to restore systems as quickly as possible. Conversely,
Ottawa Hospital experienced a ransomware attack that affected over 9,800 machines,
but they did not pay the demanded ransom. This hospital had extensive back-ups,
so they were able to wipe all the hard drives and restore the system from their back-
ups. Kentucky Methodist Hospital, Chino Valley Medical Center, and Desert Valley
Hospital were similar cases. These hospitals had their files, images, and documents
encrypted and renamed with the .locky extension by the ransomware, but they were
able to successfully restore their systems from their back-ups.
In addition to medical institutions, entire cities may be targeted by ransomware
attacks. In 2016, the San Francisco Municipal Transportation Agency (SFMTA)
experienced a ransomware attack that disrupted their train ticketing and bus
management systems, with a $73,000 ransom demand for restoration of their
system. SFMTA did not end up paying the ransom, thanks to a speedy response
and comprehensive backup process that allowed SFMTA to restore their systems
in two days. However, SFMTA did not escape unharmed, as, during the two-day
restoration process, all the passengers were able to ride for free. Atlanta is another
city that experienced a ransomware attack. A January 2018 audit found 1,500-2,000
vulnerabilities in the city’s infrastructure, and in March, it fell to a brute force
SamSam attack. One-third of all software programs in the city were affected by this
attack. Atlanta is an economic and transportation hub, and utilities, parking, court
207
Reverse-Engineering Malware
services, and police services were all affected. Many police and court documents
were permanently deleted, but the police department was able to restore all of its
investigation files. The city took many services offline to recover from the attack,
and for a short time, all payments and bills had to be in paper format until systems
could be restored.
Demonstration Methods:
Demonstration
The ransomware sample chosen was a WannaCry sample downloaded from https://
github.com/fadyosman/WannaCrySample/network/members, in a file called
wannacry.exe. The file was downloaded inside the SIFT distro VMware and uploaded
to the any.run website. After executing for 60 seconds, the file completely encrypted
the virtual desktop and displayed a ransom note. Below are the four stages of desktop
encryption. As can be seen, the ransomware was able to fully execute and take over
the host system within 60 seconds.
Following the 60 seconds of execution, any.run offers a variety of information
regarding the process just executed. As can be seen below, information regarding
network connection, threats, files, processes executed, and more are readily available.
The network tab beneath the desktop offers information regarding connections
made by this process. Ports 9001, 9090, 1512, and 12638 are all TCP/UDP ports,
and port 80 allows internet connection.
Any.run also contains a threat tab that displays all the threats related to wannacry.
exe.
208
Reverse-Engineering Malware
The Process tab on the left displays a list of all the processes executed by the
file, a total of 24 in this sample.
By clicking on a particular process, more information can be seen. The first
process, wannacry.exe, was flagged by any.run as strongly malicious. It correctly
flagged this as WannaCry ransomware and displayed a long list of all the files
modified by this process. Some files were newly created, and others were encrypted.
209
Reverse-Engineering Malware
This section also displayed the children’s processes of wannacry.exe, which offered
a good place to look for other malicious behavior.
An important section to examine here is the “Indicators of Suspicious Behavior”
section. It contains Danger, Warning, and Info sectors for the varying levels of
concern. Below are the suspicious behavior sections of wannacry.exe.
210
Reverse-Engineering Malware
Examining the children’s processes of wannacy.exe gives more insight into its
behavior. Not every process is malicious, but upon examination, many were found
to be malicious. Below is the layout of processes and their children, with child
processes indented.
A. 1916 wannacry.exe
211
Reverse-Engineering Malware
1. 3752 attrib.exe
2. 3992 icacls.exe
3. 912 taskdl.exe
4. 2524 cmd.exe
a. 4072 cscript.exe
5. 3784 @[email protected]
a. 1520 taskhsvc.exe – modifies 13 tor files
6. 3912 cmd.exe
212
Reverse-Engineering Malware
213
Reverse-Engineering Malware
a. 2144 @[email protected]
i. 2040 cmd.exe*
7. 4004 taskdl.exe
8. 1576 @[email protected] – modifies bitmap (ransom note)
9. 2764 cmd.exe
a. 3856 reg.exe – changes the autorun value in the registry
CONCLUSION
Information technology has forever changed the way we live and work and there is no
doubt about the fact that the world has benefited from technological advancements in
ways that are immeasurable and never imagined before. However, these technological
advancements are not risk-free and there is a flip side to this: cybercriminal activities
have skyrocketed in recent years to the point where in some cases hackers have been
able to take business organizations hostage using malware. Cyber-crimes have become
a multi-billion-dollar industry in recent years. Most cybercrimes/attacks involve
deploying some type of malware. Malware that viciously targets every industry,
every sector, every enterprise, and even individuals has shown its capabilities to
take entire business organizations offline and cause significant financial damage in
billions of dollars annually. Malware authors are constantly evolving in their attack
214
Reverse-Engineering Malware
strategies and sophistication and are developing malware that is difficult to detect and
can lay dormant in the background for quite some time to evade security controls.
The results of our malware analysis demonstrate that malware authors are smart and
creative and that they develop new malware every day. We also noticed from our
results that many malware authors utilize encryption to protect their communication
and make it harder for malware analysts to analyze malware samples. It’s clear that
malware is becoming more advanced, more destructive, and is capable of evading
traditional anti-virus programs.
REFERENCES
7 tips to prevent ransomware. (2018, January 18). Retrieved December 08, 2020, from
https://us.norton.com/internetsecurity-malware-7-tips-to-prevent-ransomware.html
215
Reverse-Engineering Malware
Afianian, A., Niksefat, S., Sadeghiyan, B., & Baptiste, D. (2020). Malware dynamic
analysis evasion techniques: A survey. ACM Computing Surveys, 52(6), 1–28.
doi:10.1145/3365001
Allen, J. (2017). Surviving Ransomware. American Journal of Family Law, 31(2),
65–68. http://search.ebscohost.com.saintleo.idm.oclc.org/login.aspx?direct=true&
db=a9h&AN=123206569&site=ehost-live&scope=site
Bat-Erdene, M., Park, H., Li, H., Lee, H., & Choi, M.-S. (2017). Entropy analysis to
classify unknown packing algorithms for malware detection. International Journal
of Information Security, 16(3), 227–248. doi:10.100710207-016-0330-4
Carlin, D., O’Kane, P., & Sezer, S. (2019). A cost analysis of machine learning
using dynamic runtime opcodes for malware detection. Computers & Security, 85,
138–155. doi:10.1016/j.cose.2019.04.018
Carrillo-Mondejar, J., Castelo, G. J. M., Nunez-Gomez, C., Roldan, G. J., &
Martinez, J. L. (2020). Automatic analysis architecture of iot malware samples.
Security and Communication Networks, 2020, 1–12. Advance online publication.
doi:10.1155/2020/8810708
CISA INSIGHTS Ransomware Outbreak. (2019). Retrieved from https://www.us-cert.
gov/sites/default/files/2019-08/CISA_Insights-Ransomware_Outbreak_S508C.pdf
Feizollah, A., Anuar, N. B., Salleh, R., Suarez-Tangil, G., & Furnell, S. (2017).
Androdialysis: Analysis of android intent effectiveness in malware detection.
Computers & Security, 65, 121–134. doi:10.1016/j.cose.2016.11.007
Hachman, M. (2017). How to remove ransomware: Use this battle plan to fight
back. PCWorld, 35(4), 129–135. Retrieved from http://search.ebscohost.com.
saintleo.idm.oclc.org/login.aspx?direct=true&db=a9h&AN=122359473&site=e
host-live&scope=site
Kirubavathi, G., & Anitha, R. (2018). Structural analysis and detection of android
botnets using machine learning techniques. International Journal of Information
Security, 17(2), 153–167. doi:10.100710207-017-0363-3
Lim, J., & Yi, J. H. (2016). Structural analysis of packing schemes for extracting
hidden codes in mobile malware. EURASIP Journal on Wireless Communications
and Networking, 2016(1), 1–12. doi:10.118613638-016-0720-3
216
Reverse-Engineering Malware
Mohurle, S., & Patil, M. (2017). A brief study of wannacry threat: Ransomware
attack 2017. International Journal of Advanced Research in Computer Science,
8(5). https://saintleo.idm.oclc.org/login?url=https://search.proquest.com/docview
/1912631307?accountid=4870
Monnappa, K. A. (2018). Learning malware analysis: Explore the concepts, tools,
and techniques to analyze and investigate windows malware. Packt Publishing.
Oberly, D. J. (2019). Best Practices for Effectively Defending Against Ransomware
Cyber Attacks. Intellectual Property & Technology Law Journal, 31(7), 17–20.
Retrieved from http://search.ebscohost.com.saintleo.idm.oclc.org/login.aspx?dire
ct=true&db=iih&AN=137351116&site=ehost-live&scope=site
Oza, S. (2020, January 24). Ryuk Ransomware - Malware of the Month, January
2020. Retrieved December 08, 2020, from https://securityboulevard.com/2020/01/
ryuk-ransomware-malware-of-the-month-january-2020/
Stiborek, J., Pevný, T., & Rehák, M. (2018). Probabilistic analysis of dynamic
malware traces. Computers & Security, 74, 221–239. doi:10.1016/j.cose.2018.01.012
Sussman, B. (2020, February 27). Ryuk Ransomware Attack Sets Accused Criminals
Free. Retrieved December 09, 2020, from https://www.secureworldexpo.com/
industry-news/ryuk-ransomware-attack-sets-criminals-free
Ul Haq, I., Chica, S., Caballero, J., & Jha, S. (2018). Malware lineage in the wild.
Computers & Security, 78, 347–363. doi:10.1016/j.cose.2018.07.012
Xue, D., Li, J., Wu, W., Tian, Q., & Wang, J. (2019). Homology analysis of
malware based on ensemble learning and multifeatures. PLoS One, 14(8), 0211373.
doi:10.1371/journal.pone.0211373 PMID:31449533
Yadav, R. M. (2019). Effective analysis of malware detection in cloud computing.
Computers & Security, 83, 14–21. doi:10.1016/j.cose.2018.12.005
Yadav, R. M. (2019). Effective analysis of malware detection in cloud computing.
Computers & Security, 83, 14–21. doi:10.1016/j.cose.2018.12.005
Zhang, X., & Song, X. (2020). Stability analysis of a dynamical model for malware
propagation with generic nonlinear countermeasure and infection probabilities.
Security and Communication Networks, 2020, 1–7. doi:10.1155/2020/8859883
217