Intelligent Malware DeTection

advertisement
INTELLIGENT MALWARE
DETECTION
Individual Paper – Michael Hite
Insructor: Yenumula V Reddy
Sponsor: Yangfeng Ye
Hite
Page |1
Table of Contents
Introduction to Malware:.............................................................................................................................. 2
Adware: ..................................................................................................................................................... 2
Bot: ............................................................................................................................................................ 2
Bug: ........................................................................................................................................................... 2
Ransomware: ............................................................................................................................................ 3
Rootkit:...................................................................................................................................................... 3
Spyware:.................................................................................................................................................... 3
Virus: ......................................................................................................................................................... 3
Worm: ....................................................................................................................................................... 3
Trojan Horse:............................................................................................................................................. 4
History of Malware: ...................................................................................................................................... 4
Early Days of Malware: ............................................................................................................................. 4
Recent Malware: ....................................................................................................................................... 4
Needs: ........................................................................................................................................................... 5
Stakeholders: ................................................................................................................................................ 6
Design: .......................................................................................................................................................... 6
Features: ....................................................................................................................................................... 6
Bibliography: ................................................................................................................................................. 7
Hite
Page |2
Introduction to Malware:
Malware is defined as software that is intended to damage or disable computers or computer
systems, but this definition doesn’t truly encompass what is considered malware. There are several
different types of malware. These types include: Adware, Bot, Bug, Ransomware, Rootkit, Spyware,
Viruses, Worms, and the infamous Trojan Horse. This report will briefly discuss what each type of
malware does in order to give the reader a better understanding of what this project is trying to
accomplish.
Adware:
Adware is short for advertising supported software. This is the type of malware that delivers
advertisements automatically when you enter certain webpages. Adware is more commonly known as
“pop ups” and although most adware is simply designed as a way to advertise, it is not uncommon to
see spyware bundled with it. Because of the capabilities of spyware, when adware and spyware are
seen together they are much more dangerous than the adware alone.
Bot:
Bots are programs that are designed specifically to automatically perform a specific set of
operations. While there are bots that have been created for harmless and trivial purposes (such as
video games, internet auctions, and online contests), there are also malicious bots. Malicious bots are
generally used in Botnets – a collection of computers to be controlled by third parties – for Denial of
Service attacks, as spambots, as web spiders, and for distributing malware. Denial of Service attacks are
when a website is receiving more incoming requests than it is capable of handling so the time it takes for
requests to be processed is increased or the request cannot be processed at all. Spambots are a way of
rendering advertisements on websites and web spiders are a way of taking data from a server. Websites
can guard against bots with relative ease by using a CAPTCHA test. These are simple tests that verify the
user as human.
Bug:
A Bug is more of a flaw in the context of the software than it is malware. Although bugs may
not be malware, it is relevant to know that bug can cause websites to freeze or crash, and that security
bugs can allow unauthorized access to users who know how to exploit them.
Hite
Page |3
Ransomware:
Ransomware essentially “steals” the computer from a user while demanding compensation for
returning it. It “steals” the computer by encrypting files, locking down the system, or restricting access
to the computer, while it displays messages intended to force the user to pay the creator of the malware
to remove the restrictions and re-allow access to the computer. Ransomware typically spreads like a
worm (described below).
Rootkit:
Rootkits are a very dangerous type of malware, as they are designed to remotely access a
computer undetectably. This allows the rootkit to alter system configurations, user settings (including
malware detection settings), run programs, access files, install other malware, or be used as part of a
botnet. Because of their stealthy behavior, rootkits can be extremely hard to detect and remove.
Spyware:
Spyware is a malware program that basically functions by spying on the user. Spyware can
include activity monitoring, collecting keystrokes, data harvesting (login information, account
information, financial data, etc.), and more. Spyware also attempts to modify security settings to
interfere with software and network connections. Spyware spreads by exploiting security vulnerabilities
and by attaching itself to other software or Trojans.
Virus:
A virus is a type of malware that can replicate itself and spread to other computers. Viruses
often spread by attaching themselves to programs and executing their code as the user launches the
infected program. They also spread in documents, vulnerabilities in web applications, and script files.
Viruses are used to steal information, harm computers and networks, steal money, display
advertisements, and create botnets.
Worm:
Computer worms are one of the most common types of malware. They spread by exploiting
vulnerabilities in the operating system of computers. Worms are harmful in that they consume
bandwidth and overload web servers. Worms can also contain pieces of code that perform actions
Hite
Page |4
other than just spreading the worm. The pieces of code are usually intended to steal data, create
botnets, or delete files. Worms and viruses may sound very similar, but there are several ways to
distinguish between the two. The biggest difference between a worm and a virus is that while a virus
relies on human activity to replicate and spread a worm does not. Worms often send mass emails and
then attach copies of themselves to these emails to spread.
Trojan Horse:
Commonly known as a Trojan, the Trojan Horse is malware that disguises itself as a normal file
or program to entice users to download and install it. Trojans can give another party remote access to
the infected computer. Once the attacker has access to the computer, they can steal information,
monitor user activity, use the computer with botnets, modify files, install more malware, practically do
anything they want with the computer
History of Malware:
Early Days of Malware:
Over the years malware has changed significantly. In 1971, the “Creeper Virus” was created.
This was the first known virus created and while not malicious in intent, it did foreshadow the future of
malicious attacks. Infected computers would simply display the message “capture the creeper”. The
“Reaper” was then created to find and “destroy” the Creeper Virus and is considered one of the first
anti-virus programs. The first Trojan was released in 1978. Known as ANIMAL, the Trojan did not
destroy systems, but was able to spread by copying itself over networks while the user was playing a
game. In 1988, the Morris Worm is created and is the first worm to spread extensively through the
internet.
Recent Malware:
In 2014, “Heartbleed” was discovered as malware that exploited the OpenSSL cryptography
library which is used in TLS protocol. It allowed the theft of server’s private keys and the cookies and
passwords of user’s sessions. Around the time of its discovery, it is believed about 17% (approximately
500,000) of all secure web servers certified by trusted authorities were infected. The difference
between Heartbleed and other malware is that Heartbleed exposed a vulnerability in SSL. SSL is the
secure socket layer which helps secure most internet transactions; therefore, this is not something
normal internet users could avoid if they had information stored in an infected server.
Hite
Page |5
In 2013, the Target Credit Card Breach was discovered. Before Thanksgiving 2013, there was
phishing software installed on Target’s security and payment systems. This software was designed to
steal every credit card used at any of Target’s 1,797 stores. This was the largest credit card breach in
United States retail history until recently when Home Depot was compromised. Approximately 40
million card accounts were stolen and the personal data of 70 million customers were also stolen in the
breach. As long as a year later, the effects of this breach are still being felt by Target as their stock value
is consistently dropping. Ironically, Target had just installed a new anti-malware system called FireEye
(costing $1.6 million) months before the heist but it had been turned off. If this software had been
turned on, it would have easily caught the phishing software that caused this heist.
Stuxnet was discovered in 2010. Stuxnet was a Windows worm approximately %1000 larger
than a typical worm. It infected a system and hid itself using a Rootkit, while checking to see if the
system was connected to a “Siemens Simatic factory system”. Once the connection was found, the
worm changed the commands sent from the Windows computer to the Programmable Logic Controller.
This worm was designed to impair the ability of a centrifuge to enrich Uranium; F-Secure Labs estimates
it would take approximately ten man years of work to fix the virus. This worm damaged Iran’s
centrifuges and delayed its uranium enrichment efforts.
CryptoLocker is a Trojan Virus from 2013 that targeted computers that ran Microsoft Windows.
It encrypted files on a user’s hard drive and then prompted the user to pay for the decryption key.
CryptoLocker is considered to be the first true RansomWare.
The last malware discussed in recent history is SpyEye. SpyEye was a Trojan Horse Virus that
stole money from bank accounts while simultaneously creating falsified statements to show that the
money was still there. SpyEye was active between 2009 and 2011 and it has infected more than 1.4
million computers. The developer, a Russain named Aleksandr Andreevich Panin, is expected to have
sold the virus to at least 150 cybercriminals who compromised more than 10,000 bank accounts. One of
these clients is reported to have made $3.2 million in a six month period.
Needs:
The needs for our system are very simple. We need the program to: be reliable, be
maintainable, use as little system resources as possible, be cost effective, and be easy to use. The most
important of these needs is the reliability of the program. If the program is unreliable, it will be hard to
market and will not help people protect their systems. Secondly, the ease of use, if the program is
difficult to use, people just will not use it and again this will make it hard for us to help them protect
their systems. Maintenance and cost come next, as an unmaintained product becomes useless and
outdated quickly and if people can’t afford the program or we can’t afford to make it, what good does
that make the program? Lastly, the load on system resources; while we don’t want to have a significant
piece of system resources being held up scanning files, we would rather it be getting the job done than
not doing it at all.
Hite
Page |6
Stakeholders:
The Stakeholder’s involved with this software project would be anyone who it is marketed to.
Seeing as this software will be attempting to detect malware and that that malware exists on the
internet which almost every modern day computer will be connected to at some point in its existence,
this software can be marketed to anyone who uses a computer. Other stakeholders will include other
companies that market software that detects malware because they will be competing with our
product.
Design:
Our group has not yet determined the final design of our project, but we have developed a
strategy for the development of our product. Our goal is to determine which files on a computer are
malicious by examining their API calls. To do this, we have to open the header of the PE files. PE files, or
portable executables, are the files that begin and execute programs; this is where many viruses, Trojans,
and worms wait for users to activate them. Many of these viruses have similar API calls and this is one
of the ways we plan to identify malicious from benign software. Another way we plan to detect
malicious software is by looking at the signatures of the files being scanned and comparing them to the
signatures of known malware.
Our plan with the API calls is to take every API call that has not been seen already and assign it
an integer. After each API call has an integer value assigned to it, we plan to take every API call from
each file and put it into an integer vector. After we have all the API calls for all files in their integer
vectors, this will help us identify which programs are malicious because API calls are the most effective
way to see exactly what a program is doing. By knowing what the programs are trying to do, we can sort
out which programs are benign and which are malicious.
Features:
As stated earlier, we haven’t completed the final design of our program and along the same
lines we have not decided the features that will be in the final product. However, there are some
features we have decided we would like to implement. One of the first features we would like to
implement is a way to check if a file is malicious individually. This will be essential in order to check to
see if the software is working.
There are also several other features we plan to implement. They will be included as soon as
possible.
Hite
Page |7
Bibliography:
BIBLIOGRAPHY SITES:
"Blog." Veracode. N.p., n.d. Web. 22 Oct. 2014.
"Parse a PE (EXE, DLL, OCX Files ) and New Dependency Walker." - CodeProject. N.p., n.d. Web. 22 Oct.
2014.
Download