SlideShare ist ein Scribd-Unternehmen logo
1 von 56
Downloaden Sie, um offline zu lesen
VIRUSES, WORMS,
   AND MALWARE
   Ben Livshits, Microsoft Research
Overview of Today’s Lecture
2


       Viruses                Intrusion detection
                                 Behavioral   detection
                                 Firewalls
       Virus/antivirus          Application   firewalls
        coevolution paper
        discussed              Worms
What is a Virus?
   a program that can
    infect other
    programs by
    modifying them to
    include a, possibly
    evolved, version of
    itself

         Fred Cohen, 1983
Malware Timeline
4
Virus/Antivirus Coevolution
5


       Basic idea

       Attacks and
        defenses follow
        hand in hand

       Attackers are
        usually one step
        ahead of the game
Coevolution: Basic Setup
6




    Virus                          Antivirus
       Wait for user to              Identify a sequence of
        execute an infected file       instructions or data
                                      Formulate a signature
                                      Scan all files
       Infect other (binary)
                                      Look for signature
        files
                                       found verbatim
                                      Bottleneck: scanning
       Spread that way                speed
Basic Virus Signature Matching
7
Simple Virus Strategy
8
Coevolution: Entry Point Scanning
9




    Virus                        Antivirus
       Place virus at the          Entry point scanning
        entry point or make it
        directly reachable          Do exploration of
        from the entry point         reachable instruction
                                     starting with the entry
                                     point of the program
       Make virus small to
        avoid being easily          Continue until no more
        noticed by user              instructions are found
Coevolution: Virus Encryption
10




     Virus                            Antivirus
        Decryption routine              Decryption (and encryption)
                                          routines (packers) used by
        Virus body                       viruses are easy to fingerprint
        Decrypt into memory, not
         do disk                         Develop signatures to match
        Set PC to the beginning of       these routines
         the decryption buffer
                                         Attempt to decrypt the virus
        Encrypt with a different
                                          body to perform a secondary
         key before adding virus to       verification (x-raying)
         new executable
Coevolution: Polymorphic
11




     Virus                                      Antivirus
        Use a mutation engine to generate         Custom detection program
         a (decryption routine, encryption          designed to recognize specific
         routine) pair                              detection engines

        Functionally similar or the same,
                                                   Generic decryption (GD)
         but syntactically very different
                                                       Emulator
                                                       Signature matching engine
        Use the encryption routine to
                                                       Scan memory/disk at regular
         encode the body of the virus
                                                        intervals in hopes of finding
                                                        decoded virus body
        No fixed part of the virus preserved
         (decryption, encryption, body)
GD Challenges
12


        How long to emulate the execution? Viruses use
         padding instructions to delay execution. Can also
         use sleep for a while to slow down the scanner.

        What is the quality of the emulator? How many
         CPUs to support?

        What if decryption starts upon user interactions?
         How do we trigger it? What about anti-emulation
         tricks?
False Positives in Virus Detection
13

         • A "false positive" is when antivirus software identifies a non-malicious file as a
           virus. When this happens, it can cause serious problems.
         • For example, if an antivirus program is configured to immediately delete or
           quarantine infected files, a false positive in an essential file can render the
           operating system or some applications unusable.

         In May 2007, a faulty virus signature issued by               In April 2010, McAfee VirusScan detected svchost.exe,
          Symantec mistakenly removed essential operating                a normal Windows binary, as a virus on machines
          system files, leaving thousands of PCs unable to boot          running Windows XP with Service Pack 3, causing a
                                                                         reboot loop and loss of all network access

         Also in May 2007, the executable file required by
          Pegasus Mail was falsely detected by Norton AntiVirus         In December 2010, a faulty update on the AVG anti-
          as being a Trojan and it was automatically removed,            virus suite damaged 64-bit versions of Windows 7,
          preventing Pegasus Mail from running. Norton anti-             rendering it unable to boot, due to an endless boot
          virus had falsely identified three releases of Pegasus         loop created
          Mail as malware, and would delete the Pegasus Mail
          installer file when that happened n response to this
          Pegasus Mail stated:                                          In October 2011, Microsoft Security Essentials
                                                                         removed the Google Chrome browser, rival to
                                                                         Microsoft's own Internet Explorer. MSE flagged
         On the basis that Norton/Symantec has done this for            Chrome as a Zbot banking trojan
          every one of the last three releases of Pegasus Mail,
          we can only condemn this product as too flawed to
          use, and recommend in the strongest terms that our
          users cease using it in favor of alternative, less buggy
          anti-virus packages
Top 20 Malware on Internet/user Computer
14




             http://www.securelist.com/en/analysis/204792170/Monthly_Malware_Statistics_March_2011
Vulnerability Gap
15

        As long as user has the right virus signatures and computer has recently
         been scanner, detection will likely work
        But the virus landscape changes fast
        This calls for monitoring techniques for unknown viruses




             http://www.m86security.com/documents/pdfs/security_labs/m86_security_labs_vulnerability_report.pdf
CVE-2009-4324: December 2009
16




       http://www.m86security.com/documents/pdfs/security_labs/m86_security_labs_vulnerability_report.pdf
Exploit in the PDF Unfolding…
17




        http://www.m86security.com/documents/pdfs/security_labs/m86_security_labs_vulnerability_report.pdf
Automatic Zero-Day Blocking
18

        Scanning engine recognizes the newPlayer() vulnerability (checked in red)
        Because this is a zero-day vulnerability, the newPlayer() vulnerability would be
         considered unknown
        Subsequently, the M86 Secure Web Gateway falls back to its behavioral analysis capability
        Below, the behavior of the JavaScript is suspicious; therefore it is blocked by this default rule,
         requiring no update




              http://www.m86security.com/documents/pdfs/security_labs/m86_security_labs_vulnerability_report.pdf
Proactive Detection Techniques
19




        heuristic analyzer
        policy-based security
        intrusion detection/prevention systems
        etc.


                http://www.securelist.com/en/downloads/vlpdfs/wp_nikishin_proactive_en.pdf
Heuristic Analyzers
20


        A heuristic analyzer looks at
           code of executable files
           Macros
           Scripts
           memory or boot sectors
         to detect malicious programs that cannot be identified using the
         usual (signature-based) methods


        Heuristic analyzers search for unknown malicious software

        Detection rates are usually low: 20-30% at most

             http://www.m86security.com/documents/pdfs/security_labs/m86_security_labs_vulnerability_report.pdf
Policy-based Security
21

        Use an overall security policy          The Cisco-Microsoft approach
         to restrict certain types of                Scan computers of users
         actions on the machine                       connecting to the network

        For instance                                Limit network access from
            Don’t open email                         machines that are not found
             attachments                              to be fully compliant (i.e.
                                                      virus definitions are out of
            Don’t open files from the                date)
             internet whose reputation is
             unknown
            Only allow access to a                  Force access to an update
             whitelist of web sites                   server
            Disallow software installation
                                                     “Shepherd” the user into
                                                      compliance
Behavioral Monitoring Techniques
22
IDS: Intrusion Detection Systems
23


        What it is                     Components
          Securityguards and
                                          Collect signals
           “beware of dog” signs
           are forms of IDS               Process and
                                           create alerts
          Serve   two purposes:          Notify system
            Detect something bad          operators
             was happening
            deter the perpetrator
Host-Based vs. Network-Based IDS
24


        Log analyzers                Scan incoming and
        Signature-based               outgoing traffic
         sensors                      Primarily signature-
        System call analyzers         based
        Application behavior         Combined into
         analyzers                     firewalls
        File integrity checkers      Can be located on a
                                       different machine
Host-Based Intrusion Detection

f(int x) {                                       open()
   x ? getuid() : geteuid();        Entry(g)                      Entry(f)
   x++
}
g() {
                                       close()               getuid()     geteuid()
   fd = open("foo", O_RDONLY);
   f(0); close(fd); f(1);
   exit(0);
                                                  exit()
}
                                    Exit(g)                         Exit(f)




If the observed code behavior is inconsistent with the statically inferred model,
                             something is wrong
Firewalls: Network and App-level




  Elizabeth D. Zwicky
     Simon Cooper       Michael Becher
  D. Brent Chapman
Basic Firewall Concept
   Separate local area net from internet


                       Firewall
     Local network                          Internet



                       Router




All packets between LAN and internet routed through firewall
Firewall Goals
   Prevent malicious attacks              Provide defense in depth
    on hosts                                   Programs contain bugs and
       Port sweeps, ICMP echo to               are vulnerable to attack
        broadcast addr, syn flooding,          Network protocols may
        …                                       contain;
       Worm propagation                           Design weaknesses (SSH CRC)
                                                   Implementation flaws (SSL,
                                                    NTP, FTP, SMTP...)
   Prevent general disruption
    of internal network
                                           Control traffic between
                                            “zones of trusts”
   Monitor and control                        Can control traffic between
    quality of service (QoS)                    separate local networks, etc.
Review: TCP Protocol Stack

                       Application protocol
Application                                                    Application

                          TCP, UDP protocol
Transport                                                       Transport

                IP protocol                  IP protocol
 Network                           IP                            Network

                   Data         Network         Data
   Link                                                            Link
                   Link          Access         Link



   Transport layer provides ports, logical channels identified by number
Review: Data Formats

                                 TCP Header
                                                    Application message - data
     Application       message


Transport (TCP, UDP)   segment         TCP       data           TCP   data        TCP      data

    Network (IP)       packet
                                                        IP TCP        data

     Link Layer        frame                      ETH IP TCP          data      ETF


                         IP Header            Link (Ethernet)                Link (Ethernet)
                                                  Header                         Trailer
Packet Filtering
   Uses transport-layer                    Examples
    information only                            DNS uses port 53
       IP Source Address,                          Block incoming port 53
        Destination Address                          packets except known trusted
                                                     servers
       Protocol (TCP, UDP, ICMP,
        etc.)                               Issues
       TCP or UDP source &                     Stateful filtering
        destination ports                       Encapsulation: address
       TCP Flags (SYN, ACK, FIN, RST,           translation, other
        PSH, etc.)                               complications
       ICMP message type                       Fragmentation
Firewall Configuration (Incoming)
32
Web Application Firewalls
33


        When it comes to HTTP traffic, regular firewalls are not very
         helpful

        Yet we know that most web attacks use regular HTTP
         channels: XSS, SQL injection
Worms
Worms: A Working Definition
35


        A worm is a program that
         can run by itself and can
         propagate a fully working
         version of itself to other
         machines

        It is derived from the word
         tapeworm, a parasitic
         organism that lives inside a
         host and saps its resources
         to maintain itself
The Morris Worm (1988)
36




       Robert T. Morris   Boston Museum of Science
Morris Worm Account by Spafford (1989)
37
Worms: A Brief History
38


     Native                                                                  JavaScript
                                                                                Samy/MySpace (2005)
        Morris Worm (1988)                                                     xanga.com (2005)

        Melissa (1999)                                                         SpaceFlash/MySpace
                                                                                Yamanner/Yahoo! Mail
        Code Red (2001)
                                                                                QSpace/MySpace
        Nimda (2001)                                                           adultspace.com

        Blaster (2003)                                                         gaiaonline.com
                                                                                u-dominion.com (2007)
        SQL Slammer (2003)                                Blaster/Slammer
                                          Code red/Nimda




                                                                                                        /Yahoo! Mail
              Morris Worm




                                                                                                        Yamanner
                               Melissa




                                                                                              Samy

            1998              1999       2001              2003                             2005        2006           …
Morris Worm (1988)
   Damage: 6,000 computers in just a few hours

   What: just copied itself; didn’t touch data

   Exploited:
     buffer overflow in fingerd (UNIX)
     sendmail debug mode (exec arbitrary cmds)

     dictionary of 432 frequently used passwords
Melissa (1999)
   What: just copied itself; did not touch data

   When date=time, “Twenty-two points, plus triple word score, plus
    fifty points for using all my letters. Game’s over. I’m outta here.”



   Exploited:
     MS Word Macros (VB)
     MS Outlook Address Book (Fanout = 50)
      “Important message from <user name> …”
Code Red (2001)
   Runs on WinNT 4.0 or Windows         Two flavors:
    2000                                     Code Red I: high traffic, web
                                              defacements, DDOS on
   Scans port 80 on up to 100                whitehouse.gov, crash systems
    random IP addresses                      Code Red II: high traffic,
                                              backdoor install, crash systems
   Resides only in RAM; no files
                                         Three phases: propagation
   Exploits buffer overflow in           (1-19), flood (20-27),
    Microsoft IIS 4.0/5.0                 termination (28-31)
    (Virus appeared one month after
    advisory went out)
                                         Other victims: Cisco 600
                                          Routers, HP JetDirect Printers
Nimda (2001)
   Multiple methods of spreading
    (email, client-to-server, server-to-client, network
    sharing)
     Server-to-client: IE auto-executes readme.eml (that is
      attached to all HTML files the server sends back to the
      client)
     Client-to-server: “burrows”: scanning is local 75% of time

     Email: readme.exe is auto executed upon viewing HTML
      email on IE 5.1 or earlier
More on Slammer
43

        When                           Feature
            Jan 25 2003                    Fast propagation speed
                                              >55million scans per
                                               second
        How                                  two orders of magnitude
          Exploit Buffer-overflow             faster than Code Red
                                               worm
          MS SQL/MS SQL Server
           Desktop Engine                   No harmful payload
          known vulnerability,
           publicized in July 2002      Countermeasure
                                          Patch
        Scale                            Firewall (port blocking)
            At least 74,000 hosts
Case Study: Slammer
   Buffer overflow vulnerability in Microsoft SQL Server
    (MS02-039).
   Vulnerability of the following kind:

    ProcessUDPPacket() {
          char SmallBuffer[ 100 ];

          UDPRecv( LargeBuff );
          strcpy( SmallBuf, LargeBuf );
          …
    }
Slammer Propagation Map
45
Heap-Based Exploitation: 3-Step Process
46


     1.   Force the right x86      All parts are
          code to be                challenging
          allocated on the           Firstcan be done
          program heap                with JavaScript
                                     Second part is tough

     2.   Exploit                    Third is unreliable



     3.   Force a jump to
          the heap
Advanced Malware Techniques
47



        Heap spraying

        Heap feng shui

        JIT spraying
Stack Overflow Exploit


              Stack


                 return
                address

                NOP sled

                shellcode




                            48
Heap Corruption Exploit
          Heap



               vtable                      2   jump
               pointer
                                                           NOP sled

                                                           shellcode



<IFRAME
SRC=file://BBBBBBBBBBBBBBBBBBBBBBBBBBBBB
BBBBB …
NAME="CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
CCCCCC …
&#3341;&#3341;"></IFRAME>


           1   exploit                                49
Heap Spraying Exploit
  Heap

                                                                         sled                           sled
                                                     sled
                                    sled
                     sled
                                                                       shellcode                     shellcode
                                                 shellcode
                                shellcode
                   shellcode

                                                                            sled              sled
   vtable
   pointer                                                               shellcode          shellcode
                    sled
                                 sled                       sled
                                                                                   sled
                  shellcode
                               shellcode              shellcode
                                                                                shellcode




             1   spray          2          exploit                 3      jump

                                                             50
How to Set Up Heap Spraying?

  <SCRIPT language="text/javascript">
    shellcode = unescape("%u4343%u4343%...'');
    oneblock = unescape("%u0C0C%u0C0C");
    var fullblock = oneblock;
    while (fullblock.length<0x40000) {
      fullblock += fullblock;
    }

    sprayContainer = new Array();
    for (i=0; i<1000; i++) {
      sprayContainer[i] = fullblock + shellcode;
    }
  </SCRIPT>




                                      51
Advanced Malware Techniques
52

                             Heap Feng Shui is a new technique
        Heap spraying        for precise manipulation of the
                              browser heap layout using specific
                              sequences of JavaScript allocations

                             This is implemented as a JavaScript
                              library with functions for setting up
        Heap feng shui       the heap in a controlled state
                              before triggering a heap corruption
                              bug

                             Using this technique makes it
        JIT spraying         possible to exploit very difficult
                              heap corruption vulnerabilities with
                              great reliability and precision
Heap Massaging
53

     <script type="text/javascript"
     src="heapLib.js"></script>                                This program allocates a 16
     <script type="text/javascript">
                                                                byte block of memory and
                                                                copies the string "AAAAA"
         // Create a heapLib object for Internet Explorer
         var heap = new heapLib.ie();
                                                                into it
         heap.gc();      // Run the garbage collector
                                                               The block is tagged with
     before doing any allocations
                                                                the tag foo, which is later
         // Allocate 512 bytes of memory and fill it with       used as an argument to
     padding
         heap.alloc(512);                                       free()
         // Allocate a new block of memory for the string
                                                               The free() function frees
     "AAAAA" and tag the block with "foo"
         heap.alloc("AAAAA", "foo");
                                                                all memory blocks marked
                                                                with this tag
         // Free all blocks tagged with "foo"
         heap.free("foo");
     </script>
Advanced Malware Techniques
54



        Heap spraying

        Heap feng shui

        JIT spraying
JIT Spraying: JavaScript to x86
55


var y =               addr   op imm        assembly
                      0      B8 D9D0543C   MOV EAX,3C54D0D9
(                     5      35 5890903C   XOR EAX,3C909058
     0x3c54d0d9   ^   10     35 6AF4593C   XOR EAX,3C59F46A
     0x3c909058   ^
                      15     35 01C8903C   XOR EAX,3C90C801
     0x3c59f46a   ^
                      20     35 D930903C   XOR EAX,3C9030D9
     0x3c90c801   ^
                      25     35 5B53533C   XOR EAX,3C53535B
     0x3c9030d9   ^
     0x3c53535b   ^
     ... )
56
     Conclusions
        Viruses              Intrusion detection
                                Behavioral   detection
                                Firewalls
        Virus/antivirus
                                Application   firewalls
         coevolution

                              Worms

Weitere ähnliche Inhalte

Was ist angesagt?

Why One Virus Engine is Not Enough
Why One Virus Engine is Not EnoughWhy One Virus Engine is Not Enough
Why One Virus Engine is Not EnoughGFI Software
 
Dilsher idrees mustafa_6_a_vulnerabilities_study
Dilsher idrees mustafa_6_a_vulnerabilities_studyDilsher idrees mustafa_6_a_vulnerabilities_study
Dilsher idrees mustafa_6_a_vulnerabilities_studydilsherece
 
White Paper - Are antivirus solutions enough to protect industrial plants?
White Paper - Are antivirus solutions enough to protect industrial plants?White Paper - Are antivirus solutions enough to protect industrial plants?
White Paper - Are antivirus solutions enough to protect industrial plants?TI Safe
 
Attack of the clones
Attack of the clonesAttack of the clones
Attack of the clonesUltraUploader
 
Ceh v8 labs module 07 viruses and worms
Ceh v8 labs module 07 viruses and wormsCeh v8 labs module 07 viruses and worms
Ceh v8 labs module 07 viruses and wormsMehrdad Jingoism
 
Malicious software and software security
Malicious software and software  securityMalicious software and software  security
Malicious software and software securityG Prachi
 
Introduction To Exploitation & Metasploit
Introduction To Exploitation & MetasploitIntroduction To Exploitation & Metasploit
Introduction To Exploitation & MetasploitRaghav Bisht
 
Colby_Sawyer_white_paper final 2
Colby_Sawyer_white_paper final 2Colby_Sawyer_white_paper final 2
Colby_Sawyer_white_paper final 2Scott Brown
 
Virus and types of antivirus
Virus and types of antivirusVirus and types of antivirus
Virus and types of antivirusShabnam Bashir
 
2011-A_Novel_Approach_to_Troubleshoot_Security_Attacks_in_Local_Area_Networks...
2011-A_Novel_Approach_to_Troubleshoot_Security_Attacks_in_Local_Area_Networks...2011-A_Novel_Approach_to_Troubleshoot_Security_Attacks_in_Local_Area_Networks...
2011-A_Novel_Approach_to_Troubleshoot_Security_Attacks_in_Local_Area_Networks...Mrunalini Koritala
 
An Antivirus API for Android Malware Recognition
An Antivirus API for Android Malware Recognition An Antivirus API for Android Malware Recognition
An Antivirus API for Android Malware Recognition Fraunhofer AISEC
 
Viruses,antiviruses &amp; firewalls
Viruses,antiviruses &amp; firewallsViruses,antiviruses &amp; firewalls
Viruses,antiviruses &amp; firewallsJay Shah
 
Malware freak show
Malware freak showMalware freak show
Malware freak showsr1nu
 
Mission Critical Security in a Post-Stuxnet World Part 1
Mission Critical Security in a Post-Stuxnet World Part 1Mission Critical Security in a Post-Stuxnet World Part 1
Mission Critical Security in a Post-Stuxnet World Part 1Byres Security Inc.
 

Was ist angesagt? (19)

Why One Virus Engine is Not Enough
Why One Virus Engine is Not EnoughWhy One Virus Engine is Not Enough
Why One Virus Engine is Not Enough
 
Dilsher idrees mustafa_6_a_vulnerabilities_study
Dilsher idrees mustafa_6_a_vulnerabilities_studyDilsher idrees mustafa_6_a_vulnerabilities_study
Dilsher idrees mustafa_6_a_vulnerabilities_study
 
White Paper - Are antivirus solutions enough to protect industrial plants?
White Paper - Are antivirus solutions enough to protect industrial plants?White Paper - Are antivirus solutions enough to protect industrial plants?
White Paper - Are antivirus solutions enough to protect industrial plants?
 
Attack of the clones
Attack of the clonesAttack of the clones
Attack of the clones
 
Ceh v8 labs module 07 viruses and worms
Ceh v8 labs module 07 viruses and wormsCeh v8 labs module 07 viruses and worms
Ceh v8 labs module 07 viruses and worms
 
Computer virus
Computer virusComputer virus
Computer virus
 
Malicious software and software security
Malicious software and software  securityMalicious software and software  security
Malicious software and software security
 
Introduction To Exploitation & Metasploit
Introduction To Exploitation & MetasploitIntroduction To Exploitation & Metasploit
Introduction To Exploitation & Metasploit
 
Colby_Sawyer_white_paper final 2
Colby_Sawyer_white_paper final 2Colby_Sawyer_white_paper final 2
Colby_Sawyer_white_paper final 2
 
Virus and types of antivirus
Virus and types of antivirusVirus and types of antivirus
Virus and types of antivirus
 
Avast! antivirus protection
Avast! antivirus protectionAvast! antivirus protection
Avast! antivirus protection
 
Virus vs Anti-Virus
Virus vs Anti-VirusVirus vs Anti-Virus
Virus vs Anti-Virus
 
2011-A_Novel_Approach_to_Troubleshoot_Security_Attacks_in_Local_Area_Networks...
2011-A_Novel_Approach_to_Troubleshoot_Security_Attacks_in_Local_Area_Networks...2011-A_Novel_Approach_to_Troubleshoot_Security_Attacks_in_Local_Area_Networks...
2011-A_Novel_Approach_to_Troubleshoot_Security_Attacks_in_Local_Area_Networks...
 
An Antivirus API for Android Malware Recognition
An Antivirus API for Android Malware Recognition An Antivirus API for Android Malware Recognition
An Antivirus API for Android Malware Recognition
 
Viruses,antiviruses &amp; firewalls
Viruses,antiviruses &amp; firewallsViruses,antiviruses &amp; firewalls
Viruses,antiviruses &amp; firewalls
 
Anti virus
Anti virusAnti virus
Anti virus
 
Stuxnet flame
Stuxnet flameStuxnet flame
Stuxnet flame
 
Malware freak show
Malware freak showMalware freak show
Malware freak show
 
Mission Critical Security in a Post-Stuxnet World Part 1
Mission Critical Security in a Post-Stuxnet World Part 1Mission Critical Security in a Post-Stuxnet World Part 1
Mission Critical Security in a Post-Stuxnet World Part 1
 

Andere mochten auch

20111030 computer graphics_galinsky_lecture07_3_dvisualization
20111030 computer graphics_galinsky_lecture07_3_dvisualization20111030 computer graphics_galinsky_lecture07_3_dvisualization
20111030 computer graphics_galinsky_lecture07_3_dvisualizationComputer Science Club
 
20111202 machine learning_nikolenko_lecture02
20111202 machine learning_nikolenko_lecture0220111202 machine learning_nikolenko_lecture02
20111202 machine learning_nikolenko_lecture02Computer Science Club
 
20110925 csseminar formal_grammars_complexity
20110925 csseminar formal_grammars_complexity20110925 csseminar formal_grammars_complexity
20110925 csseminar formal_grammars_complexityComputer Science Club
 
20111023 csseminar geometry_algorithms_implementation_kovalev
20111023 csseminar geometry_algorithms_implementation_kovalev20111023 csseminar geometry_algorithms_implementation_kovalev
20111023 csseminar geometry_algorithms_implementation_kovalevComputer Science Club
 
20111002 circuit complexity_seminar_lecture03_kulikov
20111002 circuit complexity_seminar_lecture03_kulikov20111002 circuit complexity_seminar_lecture03_kulikov
20111002 circuit complexity_seminar_lecture03_kulikovComputer Science Club
 
20111204 web security_livshits_lecture01
20111204 web security_livshits_lecture0120111204 web security_livshits_lecture01
20111204 web security_livshits_lecture01Computer Science Club
 
20111120 csseminar expert_forum_chabanovski
20111120 csseminar expert_forum_chabanovski20111120 csseminar expert_forum_chabanovski
20111120 csseminar expert_forum_chabanovskiComputer Science Club
 
20111202 machine learning_nikolenko_lecture07
20111202 machine learning_nikolenko_lecture0720111202 machine learning_nikolenko_lecture07
20111202 machine learning_nikolenko_lecture07Computer Science Club
 
20111030 csseminar machine_learning_kuralenok
20111030 csseminar machine_learning_kuralenok20111030 csseminar machine_learning_kuralenok
20111030 csseminar machine_learning_kuralenokComputer Science Club
 
20120413 videorecognition konushin_lecture02
20120413 videorecognition konushin_lecture0220120413 videorecognition konushin_lecture02
20120413 videorecognition konushin_lecture02Computer Science Club
 
20120218 model cheсking_karpov_lecture01
20120218 model cheсking_karpov_lecture0120120218 model cheсking_karpov_lecture01
20120218 model cheсking_karpov_lecture01Computer Science Club
 
20120218 model checking_karpov_lecture02
20120218 model checking_karpov_lecture0220120218 model checking_karpov_lecture02
20120218 model checking_karpov_lecture02Computer Science Club
 
20121006 algorithmsinbioinformatics vyahhi_lecture02
20121006 algorithmsinbioinformatics vyahhi_lecture0220121006 algorithmsinbioinformatics vyahhi_lecture02
20121006 algorithmsinbioinformatics vyahhi_lecture02Computer Science Club
 
20110925 circuit complexity_seminar_lecture01_kulikov
20110925 circuit complexity_seminar_lecture01_kulikov20110925 circuit complexity_seminar_lecture01_kulikov
20110925 circuit complexity_seminar_lecture01_kulikovComputer Science Club
 
20110925 computer graphics_galinsky_lecture03_color
20110925 computer graphics_galinsky_lecture03_color20110925 computer graphics_galinsky_lecture03_color
20110925 computer graphics_galinsky_lecture03_colorComputer Science Club
 
20110919 computer graphics_galinsky_lecture01_intro
20110919 computer graphics_galinsky_lecture01_intro20110919 computer graphics_galinsky_lecture01_intro
20110919 computer graphics_galinsky_lecture01_introComputer Science Club
 

Andere mochten auch (19)

20111030 computer graphics_galinsky_lecture07_3_dvisualization
20111030 computer graphics_galinsky_lecture07_3_dvisualization20111030 computer graphics_galinsky_lecture07_3_dvisualization
20111030 computer graphics_galinsky_lecture07_3_dvisualization
 
20111202 machine learning_nikolenko_lecture02
20111202 machine learning_nikolenko_lecture0220111202 machine learning_nikolenko_lecture02
20111202 machine learning_nikolenko_lecture02
 
20110925 csseminar formal_grammars_complexity
20110925 csseminar formal_grammars_complexity20110925 csseminar formal_grammars_complexity
20110925 csseminar formal_grammars_complexity
 
20111023 csseminar geometry_algorithms_implementation_kovalev
20111023 csseminar geometry_algorithms_implementation_kovalev20111023 csseminar geometry_algorithms_implementation_kovalev
20111023 csseminar geometry_algorithms_implementation_kovalev
 
20111002 circuit complexity_seminar_lecture03_kulikov
20111002 circuit complexity_seminar_lecture03_kulikov20111002 circuit complexity_seminar_lecture03_kulikov
20111002 circuit complexity_seminar_lecture03_kulikov
 
20110918 csseminar smal_privacy
20110918 csseminar smal_privacy20110918 csseminar smal_privacy
20110918 csseminar smal_privacy
 
20111204 web security_livshits_lecture01
20111204 web security_livshits_lecture0120111204 web security_livshits_lecture01
20111204 web security_livshits_lecture01
 
20111120 csseminar expert_forum_chabanovski
20111120 csseminar expert_forum_chabanovski20111120 csseminar expert_forum_chabanovski
20111120 csseminar expert_forum_chabanovski
 
20111202 machine learning_nikolenko_lecture07
20111202 machine learning_nikolenko_lecture0720111202 machine learning_nikolenko_lecture07
20111202 machine learning_nikolenko_lecture07
 
20121021 bspapproach tiskin
20121021 bspapproach tiskin20121021 bspapproach tiskin
20121021 bspapproach tiskin
 
20111030 csseminar machine_learning_kuralenok
20111030 csseminar machine_learning_kuralenok20111030 csseminar machine_learning_kuralenok
20111030 csseminar machine_learning_kuralenok
 
20120408 text detection_vasilieva
20120408 text detection_vasilieva20120408 text detection_vasilieva
20120408 text detection_vasilieva
 
20120413 videorecognition konushin_lecture02
20120413 videorecognition konushin_lecture0220120413 videorecognition konushin_lecture02
20120413 videorecognition konushin_lecture02
 
20120218 model cheсking_karpov_lecture01
20120218 model cheсking_karpov_lecture0120120218 model cheсking_karpov_lecture01
20120218 model cheсking_karpov_lecture01
 
20120218 model checking_karpov_lecture02
20120218 model checking_karpov_lecture0220120218 model checking_karpov_lecture02
20120218 model checking_karpov_lecture02
 
20121006 algorithmsinbioinformatics vyahhi_lecture02
20121006 algorithmsinbioinformatics vyahhi_lecture0220121006 algorithmsinbioinformatics vyahhi_lecture02
20121006 algorithmsinbioinformatics vyahhi_lecture02
 
20110925 circuit complexity_seminar_lecture01_kulikov
20110925 circuit complexity_seminar_lecture01_kulikov20110925 circuit complexity_seminar_lecture01_kulikov
20110925 circuit complexity_seminar_lecture01_kulikov
 
20110925 computer graphics_galinsky_lecture03_color
20110925 computer graphics_galinsky_lecture03_color20110925 computer graphics_galinsky_lecture03_color
20110925 computer graphics_galinsky_lecture03_color
 
20110919 computer graphics_galinsky_lecture01_intro
20110919 computer graphics_galinsky_lecture01_intro20110919 computer graphics_galinsky_lecture01_intro
20110919 computer graphics_galinsky_lecture01_intro
 

Ähnlich wie 20111204 intro malware_livshits_lecture02

Firewall , Viruses and Antiviruses
Firewall , Viruses and AntivirusesFirewall , Viruses and Antiviruses
Firewall , Viruses and AntivirusesVikas Chandwani
 
Network virus detection & prevention
Network virus detection & preventionNetwork virus detection & prevention
Network virus detection & preventionKhaleel Assadi
 
virus vs antivirus
virus vs antivirusvirus vs antivirus
virus vs antivirussandipslides
 
Identifying, Monitoring, and Reporting Malware
Identifying, Monitoring, and Reporting MalwareIdentifying, Monitoring, and Reporting Malware
Identifying, Monitoring, and Reporting MalwareTeodoro Cipresso
 
virus vs antivirus
virus vs antivirusvirus vs antivirus
virus vs antivirussandipslides
 
Types of malicious software and remedies
Types of malicious software and remediesTypes of malicious software and remedies
Types of malicious software and remediesManish Kumar
 
11 virus vs. antivirus
11 virus vs. antivirus11 virus vs. antivirus
11 virus vs. antivirussinghhp10699
 
Presentation2
Presentation2Presentation2
Presentation2Jeslynn
 
A trust system based on multi level virus detection
A trust system based on multi level virus detectionA trust system based on multi level virus detection
A trust system based on multi level virus detectionUltraUploader
 
(Training) Malware - To the Realm of Malicious Code
(Training) Malware - To the Realm of Malicious Code(Training) Malware - To the Realm of Malicious Code
(Training) Malware - To the Realm of Malicious CodeSatria Ady Pradana
 
Computer viruses and antiviruses
Computer viruses and antivirusesComputer viruses and antiviruses
Computer viruses and antivirusesSanguine_Eva
 
Computer viruses and antiviruses PPT
Computer viruses and antiviruses PPTComputer viruses and antiviruses PPT
Computer viruses and antiviruses PPTEva Harshita
 
A generic virus scanner in c++
A generic virus scanner in c++A generic virus scanner in c++
A generic virus scanner in c++UltraUploader
 
Viruses & Malware: Effects On Enterprise Networks
Viruses & Malware: Effects On Enterprise NetworksViruses & Malware: Effects On Enterprise Networks
Viruses & Malware: Effects On Enterprise NetworksDiane M. Metcalf
 

Ähnlich wie 20111204 intro malware_livshits_lecture02 (20)

Firewall , Viruses and Antiviruses
Firewall , Viruses and AntivirusesFirewall , Viruses and Antiviruses
Firewall , Viruses and Antiviruses
 
Network virus detection & prevention
Network virus detection & preventionNetwork virus detection & prevention
Network virus detection & prevention
 
virus vs antivirus
virus vs antivirusvirus vs antivirus
virus vs antivirus
 
Identifying, Monitoring, and Reporting Malware
Identifying, Monitoring, and Reporting MalwareIdentifying, Monitoring, and Reporting Malware
Identifying, Monitoring, and Reporting Malware
 
virus vs antivirus
virus vs antivirusvirus vs antivirus
virus vs antivirus
 
Types of malicious software and remedies
Types of malicious software and remediesTypes of malicious software and remedies
Types of malicious software and remedies
 
Computer viruses
Computer virusesComputer viruses
Computer viruses
 
Computer viruses
Computer virusesComputer viruses
Computer viruses
 
antivirus.pptx
antivirus.pptxantivirus.pptx
antivirus.pptx
 
Antiviruse.ppt
Antiviruse.pptAntiviruse.ppt
Antiviruse.ppt
 
11 virus vs. antivirus
11 virus vs. antivirus11 virus vs. antivirus
11 virus vs. antivirus
 
Presentation2
Presentation2Presentation2
Presentation2
 
A trust system based on multi level virus detection
A trust system based on multi level virus detectionA trust system based on multi level virus detection
A trust system based on multi level virus detection
 
Ch19
Ch19Ch19
Ch19
 
(Training) Malware - To the Realm of Malicious Code
(Training) Malware - To the Realm of Malicious Code(Training) Malware - To the Realm of Malicious Code
(Training) Malware - To the Realm of Malicious Code
 
Computer virus
Computer virusComputer virus
Computer virus
 
Computer viruses and antiviruses
Computer viruses and antivirusesComputer viruses and antiviruses
Computer viruses and antiviruses
 
Computer viruses and antiviruses PPT
Computer viruses and antiviruses PPTComputer viruses and antiviruses PPT
Computer viruses and antiviruses PPT
 
A generic virus scanner in c++
A generic virus scanner in c++A generic virus scanner in c++
A generic virus scanner in c++
 
Viruses & Malware: Effects On Enterprise Networks
Viruses & Malware: Effects On Enterprise NetworksViruses & Malware: Effects On Enterprise Networks
Viruses & Malware: Effects On Enterprise Networks
 

Mehr von Computer Science Club

20140531 serebryany lecture01_fantastic_cpp_bugs
20140531 serebryany lecture01_fantastic_cpp_bugs20140531 serebryany lecture01_fantastic_cpp_bugs
20140531 serebryany lecture01_fantastic_cpp_bugsComputer Science Club
 
20140531 serebryany lecture02_find_scary_cpp_bugs
20140531 serebryany lecture02_find_scary_cpp_bugs20140531 serebryany lecture02_find_scary_cpp_bugs
20140531 serebryany lecture02_find_scary_cpp_bugsComputer Science Club
 
20140531 serebryany lecture01_fantastic_cpp_bugs
20140531 serebryany lecture01_fantastic_cpp_bugs20140531 serebryany lecture01_fantastic_cpp_bugs
20140531 serebryany lecture01_fantastic_cpp_bugsComputer Science Club
 
20140511 parallel programming_kalishenko_lecture12
20140511 parallel programming_kalishenko_lecture1220140511 parallel programming_kalishenko_lecture12
20140511 parallel programming_kalishenko_lecture12Computer Science Club
 
20140427 parallel programming_zlobin_lecture11
20140427 parallel programming_zlobin_lecture1120140427 parallel programming_zlobin_lecture11
20140427 parallel programming_zlobin_lecture11Computer Science Club
 
20140420 parallel programming_kalishenko_lecture10
20140420 parallel programming_kalishenko_lecture1020140420 parallel programming_kalishenko_lecture10
20140420 parallel programming_kalishenko_lecture10Computer Science Club
 
20140413 parallel programming_kalishenko_lecture09
20140413 parallel programming_kalishenko_lecture0920140413 parallel programming_kalishenko_lecture09
20140413 parallel programming_kalishenko_lecture09Computer Science Club
 
20140329 graph drawing_dainiak_lecture02
20140329 graph drawing_dainiak_lecture0220140329 graph drawing_dainiak_lecture02
20140329 graph drawing_dainiak_lecture02Computer Science Club
 
20140329 graph drawing_dainiak_lecture01
20140329 graph drawing_dainiak_lecture0120140329 graph drawing_dainiak_lecture01
20140329 graph drawing_dainiak_lecture01Computer Science Club
 
20140310 parallel programming_kalishenko_lecture03-04
20140310 parallel programming_kalishenko_lecture03-0420140310 parallel programming_kalishenko_lecture03-04
20140310 parallel programming_kalishenko_lecture03-04Computer Science Club
 
20140216 parallel programming_kalishenko_lecture01
20140216 parallel programming_kalishenko_lecture0120140216 parallel programming_kalishenko_lecture01
20140216 parallel programming_kalishenko_lecture01Computer Science Club
 

Mehr von Computer Science Club (20)

20141223 kuznetsov distributed
20141223 kuznetsov distributed20141223 kuznetsov distributed
20141223 kuznetsov distributed
 
Computer Vision
Computer VisionComputer Vision
Computer Vision
 
20140531 serebryany lecture01_fantastic_cpp_bugs
20140531 serebryany lecture01_fantastic_cpp_bugs20140531 serebryany lecture01_fantastic_cpp_bugs
20140531 serebryany lecture01_fantastic_cpp_bugs
 
20140531 serebryany lecture02_find_scary_cpp_bugs
20140531 serebryany lecture02_find_scary_cpp_bugs20140531 serebryany lecture02_find_scary_cpp_bugs
20140531 serebryany lecture02_find_scary_cpp_bugs
 
20140531 serebryany lecture01_fantastic_cpp_bugs
20140531 serebryany lecture01_fantastic_cpp_bugs20140531 serebryany lecture01_fantastic_cpp_bugs
20140531 serebryany lecture01_fantastic_cpp_bugs
 
20140511 parallel programming_kalishenko_lecture12
20140511 parallel programming_kalishenko_lecture1220140511 parallel programming_kalishenko_lecture12
20140511 parallel programming_kalishenko_lecture12
 
20140427 parallel programming_zlobin_lecture11
20140427 parallel programming_zlobin_lecture1120140427 parallel programming_zlobin_lecture11
20140427 parallel programming_zlobin_lecture11
 
20140420 parallel programming_kalishenko_lecture10
20140420 parallel programming_kalishenko_lecture1020140420 parallel programming_kalishenko_lecture10
20140420 parallel programming_kalishenko_lecture10
 
20140413 parallel programming_kalishenko_lecture09
20140413 parallel programming_kalishenko_lecture0920140413 parallel programming_kalishenko_lecture09
20140413 parallel programming_kalishenko_lecture09
 
20140329 graph drawing_dainiak_lecture02
20140329 graph drawing_dainiak_lecture0220140329 graph drawing_dainiak_lecture02
20140329 graph drawing_dainiak_lecture02
 
20140329 graph drawing_dainiak_lecture01
20140329 graph drawing_dainiak_lecture0120140329 graph drawing_dainiak_lecture01
20140329 graph drawing_dainiak_lecture01
 
20140310 parallel programming_kalishenko_lecture03-04
20140310 parallel programming_kalishenko_lecture03-0420140310 parallel programming_kalishenko_lecture03-04
20140310 parallel programming_kalishenko_lecture03-04
 
20140223-SuffixTrees-lecture01-03
20140223-SuffixTrees-lecture01-0320140223-SuffixTrees-lecture01-03
20140223-SuffixTrees-lecture01-03
 
20140216 parallel programming_kalishenko_lecture01
20140216 parallel programming_kalishenko_lecture0120140216 parallel programming_kalishenko_lecture01
20140216 parallel programming_kalishenko_lecture01
 
20131106 h10 lecture6_matiyasevich
20131106 h10 lecture6_matiyasevich20131106 h10 lecture6_matiyasevich
20131106 h10 lecture6_matiyasevich
 
20131027 h10 lecture5_matiyasevich
20131027 h10 lecture5_matiyasevich20131027 h10 lecture5_matiyasevich
20131027 h10 lecture5_matiyasevich
 
20131027 h10 lecture5_matiyasevich
20131027 h10 lecture5_matiyasevich20131027 h10 lecture5_matiyasevich
20131027 h10 lecture5_matiyasevich
 
20131013 h10 lecture4_matiyasevich
20131013 h10 lecture4_matiyasevich20131013 h10 lecture4_matiyasevich
20131013 h10 lecture4_matiyasevich
 
20131006 h10 lecture3_matiyasevich
20131006 h10 lecture3_matiyasevich20131006 h10 lecture3_matiyasevich
20131006 h10 lecture3_matiyasevich
 
20131006 h10 lecture3_matiyasevich
20131006 h10 lecture3_matiyasevich20131006 h10 lecture3_matiyasevich
20131006 h10 lecture3_matiyasevich
 

Kürzlich hochgeladen

"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersRaghuram Pandurangan
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESmohitsingh558521
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxLoriGlavin3
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxLoriGlavin3
 
Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demoSample pptx for embedding into website for demo
Sample pptx for embedding into website for demoHarshalMandlekar2
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxLoriGlavin3
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxLoriGlavin3
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfMounikaPolabathina
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxLoriGlavin3
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxLoriGlavin3
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersNicole Novielli
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxLoriGlavin3
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 

Kürzlich hochgeladen (20)

"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information Developers
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptx
 
Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demoSample pptx for embedding into website for demo
Sample pptx for embedding into website for demo
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdf
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software Developers
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 

20111204 intro malware_livshits_lecture02

  • 1. VIRUSES, WORMS, AND MALWARE Ben Livshits, Microsoft Research
  • 2. Overview of Today’s Lecture 2  Viruses  Intrusion detection  Behavioral detection  Firewalls  Virus/antivirus  Application firewalls coevolution paper discussed  Worms
  • 3. What is a Virus?  a program that can infect other programs by modifying them to include a, possibly evolved, version of itself Fred Cohen, 1983
  • 5. Virus/Antivirus Coevolution 5  Basic idea  Attacks and defenses follow hand in hand  Attackers are usually one step ahead of the game
  • 6. Coevolution: Basic Setup 6 Virus Antivirus  Wait for user to  Identify a sequence of execute an infected file instructions or data  Formulate a signature  Scan all files  Infect other (binary)  Look for signature files found verbatim  Bottleneck: scanning  Spread that way speed
  • 9. Coevolution: Entry Point Scanning 9 Virus Antivirus  Place virus at the  Entry point scanning entry point or make it directly reachable  Do exploration of from the entry point reachable instruction starting with the entry point of the program  Make virus small to avoid being easily  Continue until no more noticed by user instructions are found
  • 10. Coevolution: Virus Encryption 10 Virus Antivirus  Decryption routine  Decryption (and encryption) routines (packers) used by  Virus body viruses are easy to fingerprint  Decrypt into memory, not do disk  Develop signatures to match  Set PC to the beginning of these routines the decryption buffer  Attempt to decrypt the virus  Encrypt with a different body to perform a secondary key before adding virus to verification (x-raying) new executable
  • 11. Coevolution: Polymorphic 11 Virus Antivirus  Use a mutation engine to generate  Custom detection program a (decryption routine, encryption designed to recognize specific routine) pair detection engines  Functionally similar or the same,  Generic decryption (GD) but syntactically very different  Emulator  Signature matching engine  Use the encryption routine to  Scan memory/disk at regular encode the body of the virus intervals in hopes of finding decoded virus body  No fixed part of the virus preserved (decryption, encryption, body)
  • 12. GD Challenges 12  How long to emulate the execution? Viruses use padding instructions to delay execution. Can also use sleep for a while to slow down the scanner.  What is the quality of the emulator? How many CPUs to support?  What if decryption starts upon user interactions? How do we trigger it? What about anti-emulation tricks?
  • 13. False Positives in Virus Detection 13 • A "false positive" is when antivirus software identifies a non-malicious file as a virus. When this happens, it can cause serious problems. • For example, if an antivirus program is configured to immediately delete or quarantine infected files, a false positive in an essential file can render the operating system or some applications unusable.  In May 2007, a faulty virus signature issued by  In April 2010, McAfee VirusScan detected svchost.exe, Symantec mistakenly removed essential operating a normal Windows binary, as a virus on machines system files, leaving thousands of PCs unable to boot running Windows XP with Service Pack 3, causing a reboot loop and loss of all network access  Also in May 2007, the executable file required by Pegasus Mail was falsely detected by Norton AntiVirus  In December 2010, a faulty update on the AVG anti- as being a Trojan and it was automatically removed, virus suite damaged 64-bit versions of Windows 7, preventing Pegasus Mail from running. Norton anti- rendering it unable to boot, due to an endless boot virus had falsely identified three releases of Pegasus loop created Mail as malware, and would delete the Pegasus Mail installer file when that happened n response to this Pegasus Mail stated:  In October 2011, Microsoft Security Essentials removed the Google Chrome browser, rival to Microsoft's own Internet Explorer. MSE flagged  On the basis that Norton/Symantec has done this for Chrome as a Zbot banking trojan every one of the last three releases of Pegasus Mail, we can only condemn this product as too flawed to use, and recommend in the strongest terms that our users cease using it in favor of alternative, less buggy anti-virus packages
  • 14. Top 20 Malware on Internet/user Computer 14 http://www.securelist.com/en/analysis/204792170/Monthly_Malware_Statistics_March_2011
  • 15. Vulnerability Gap 15  As long as user has the right virus signatures and computer has recently been scanner, detection will likely work  But the virus landscape changes fast  This calls for monitoring techniques for unknown viruses http://www.m86security.com/documents/pdfs/security_labs/m86_security_labs_vulnerability_report.pdf
  • 16. CVE-2009-4324: December 2009 16 http://www.m86security.com/documents/pdfs/security_labs/m86_security_labs_vulnerability_report.pdf
  • 17. Exploit in the PDF Unfolding… 17 http://www.m86security.com/documents/pdfs/security_labs/m86_security_labs_vulnerability_report.pdf
  • 18. Automatic Zero-Day Blocking 18  Scanning engine recognizes the newPlayer() vulnerability (checked in red)  Because this is a zero-day vulnerability, the newPlayer() vulnerability would be considered unknown  Subsequently, the M86 Secure Web Gateway falls back to its behavioral analysis capability  Below, the behavior of the JavaScript is suspicious; therefore it is blocked by this default rule, requiring no update http://www.m86security.com/documents/pdfs/security_labs/m86_security_labs_vulnerability_report.pdf
  • 19. Proactive Detection Techniques 19  heuristic analyzer  policy-based security  intrusion detection/prevention systems  etc. http://www.securelist.com/en/downloads/vlpdfs/wp_nikishin_proactive_en.pdf
  • 20. Heuristic Analyzers 20  A heuristic analyzer looks at  code of executable files  Macros  Scripts  memory or boot sectors to detect malicious programs that cannot be identified using the usual (signature-based) methods  Heuristic analyzers search for unknown malicious software  Detection rates are usually low: 20-30% at most http://www.m86security.com/documents/pdfs/security_labs/m86_security_labs_vulnerability_report.pdf
  • 21. Policy-based Security 21  Use an overall security policy  The Cisco-Microsoft approach to restrict certain types of  Scan computers of users actions on the machine connecting to the network  For instance  Limit network access from  Don’t open email machines that are not found attachments to be fully compliant (i.e. virus definitions are out of  Don’t open files from the date) internet whose reputation is unknown  Only allow access to a  Force access to an update whitelist of web sites server  Disallow software installation  “Shepherd” the user into compliance
  • 23. IDS: Intrusion Detection Systems 23  What it is  Components  Securityguards and  Collect signals “beware of dog” signs are forms of IDS  Process and create alerts  Serve two purposes:  Notify system  Detect something bad operators was happening  deter the perpetrator
  • 24. Host-Based vs. Network-Based IDS 24  Log analyzers  Scan incoming and  Signature-based outgoing traffic sensors  Primarily signature-  System call analyzers based  Application behavior  Combined into analyzers firewalls  File integrity checkers  Can be located on a different machine
  • 25. Host-Based Intrusion Detection f(int x) { open() x ? getuid() : geteuid(); Entry(g) Entry(f) x++ } g() { close() getuid() geteuid() fd = open("foo", O_RDONLY); f(0); close(fd); f(1); exit(0); exit() } Exit(g) Exit(f) If the observed code behavior is inconsistent with the statically inferred model, something is wrong
  • 26. Firewalls: Network and App-level Elizabeth D. Zwicky Simon Cooper Michael Becher D. Brent Chapman
  • 27. Basic Firewall Concept  Separate local area net from internet Firewall Local network Internet Router All packets between LAN and internet routed through firewall
  • 28. Firewall Goals  Prevent malicious attacks  Provide defense in depth on hosts  Programs contain bugs and  Port sweeps, ICMP echo to are vulnerable to attack broadcast addr, syn flooding,  Network protocols may … contain;  Worm propagation  Design weaknesses (SSH CRC)  Implementation flaws (SSL, NTP, FTP, SMTP...)  Prevent general disruption of internal network  Control traffic between “zones of trusts”  Monitor and control  Can control traffic between quality of service (QoS) separate local networks, etc.
  • 29. Review: TCP Protocol Stack Application protocol Application Application TCP, UDP protocol Transport Transport IP protocol IP protocol Network IP Network Data Network Data Link Link Link Access Link Transport layer provides ports, logical channels identified by number
  • 30. Review: Data Formats TCP Header Application message - data Application message Transport (TCP, UDP) segment TCP data TCP data TCP data Network (IP) packet IP TCP data Link Layer frame ETH IP TCP data ETF IP Header Link (Ethernet) Link (Ethernet) Header Trailer
  • 31. Packet Filtering  Uses transport-layer  Examples information only  DNS uses port 53  IP Source Address,  Block incoming port 53 Destination Address packets except known trusted servers  Protocol (TCP, UDP, ICMP, etc.)  Issues  TCP or UDP source &  Stateful filtering destination ports  Encapsulation: address  TCP Flags (SYN, ACK, FIN, RST, translation, other PSH, etc.) complications  ICMP message type  Fragmentation
  • 33. Web Application Firewalls 33  When it comes to HTTP traffic, regular firewalls are not very helpful  Yet we know that most web attacks use regular HTTP channels: XSS, SQL injection
  • 34. Worms
  • 35. Worms: A Working Definition 35  A worm is a program that can run by itself and can propagate a fully working version of itself to other machines  It is derived from the word tapeworm, a parasitic organism that lives inside a host and saps its resources to maintain itself
  • 36. The Morris Worm (1988) 36 Robert T. Morris Boston Museum of Science
  • 37. Morris Worm Account by Spafford (1989) 37
  • 38. Worms: A Brief History 38 Native JavaScript  Samy/MySpace (2005)  Morris Worm (1988)  xanga.com (2005)  Melissa (1999)  SpaceFlash/MySpace  Yamanner/Yahoo! Mail  Code Red (2001)  QSpace/MySpace  Nimda (2001)  adultspace.com  Blaster (2003)  gaiaonline.com  u-dominion.com (2007)  SQL Slammer (2003) Blaster/Slammer Code red/Nimda /Yahoo! Mail Morris Worm Yamanner Melissa Samy 1998 1999 2001 2003 2005 2006 …
  • 39. Morris Worm (1988)  Damage: 6,000 computers in just a few hours  What: just copied itself; didn’t touch data  Exploited:  buffer overflow in fingerd (UNIX)  sendmail debug mode (exec arbitrary cmds)  dictionary of 432 frequently used passwords
  • 40. Melissa (1999)  What: just copied itself; did not touch data  When date=time, “Twenty-two points, plus triple word score, plus fifty points for using all my letters. Game’s over. I’m outta here.”  Exploited:  MS Word Macros (VB)  MS Outlook Address Book (Fanout = 50) “Important message from <user name> …”
  • 41. Code Red (2001)  Runs on WinNT 4.0 or Windows  Two flavors: 2000  Code Red I: high traffic, web defacements, DDOS on  Scans port 80 on up to 100 whitehouse.gov, crash systems random IP addresses  Code Red II: high traffic, backdoor install, crash systems  Resides only in RAM; no files  Three phases: propagation  Exploits buffer overflow in (1-19), flood (20-27), Microsoft IIS 4.0/5.0 termination (28-31) (Virus appeared one month after advisory went out)  Other victims: Cisco 600 Routers, HP JetDirect Printers
  • 42. Nimda (2001)  Multiple methods of spreading (email, client-to-server, server-to-client, network sharing)  Server-to-client: IE auto-executes readme.eml (that is attached to all HTML files the server sends back to the client)  Client-to-server: “burrows”: scanning is local 75% of time  Email: readme.exe is auto executed upon viewing HTML email on IE 5.1 or earlier
  • 43. More on Slammer 43  When  Feature  Jan 25 2003  Fast propagation speed  >55million scans per second  How  two orders of magnitude  Exploit Buffer-overflow faster than Code Red worm  MS SQL/MS SQL Server Desktop Engine  No harmful payload  known vulnerability, publicized in July 2002  Countermeasure  Patch  Scale  Firewall (port blocking)  At least 74,000 hosts
  • 44. Case Study: Slammer  Buffer overflow vulnerability in Microsoft SQL Server (MS02-039).  Vulnerability of the following kind: ProcessUDPPacket() { char SmallBuffer[ 100 ]; UDPRecv( LargeBuff ); strcpy( SmallBuf, LargeBuf ); … }
  • 46. Heap-Based Exploitation: 3-Step Process 46 1. Force the right x86  All parts are code to be challenging allocated on the  Firstcan be done program heap with JavaScript  Second part is tough 2. Exploit  Third is unreliable 3. Force a jump to the heap
  • 47. Advanced Malware Techniques 47  Heap spraying  Heap feng shui  JIT spraying
  • 48. Stack Overflow Exploit Stack return address NOP sled shellcode 48
  • 49. Heap Corruption Exploit Heap vtable 2 jump pointer NOP sled shellcode <IFRAME SRC=file://BBBBBBBBBBBBBBBBBBBBBBBBBBBBB BBBBB … NAME="CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC CCCCCC … &#3341;&#3341;"></IFRAME> 1 exploit 49
  • 50. Heap Spraying Exploit Heap sled sled sled sled sled shellcode shellcode shellcode shellcode shellcode sled sled vtable pointer shellcode shellcode sled sled sled sled shellcode shellcode shellcode shellcode 1 spray 2 exploit 3 jump 50
  • 51. How to Set Up Heap Spraying? <SCRIPT language="text/javascript"> shellcode = unescape("%u4343%u4343%...''); oneblock = unescape("%u0C0C%u0C0C"); var fullblock = oneblock; while (fullblock.length<0x40000) { fullblock += fullblock; } sprayContainer = new Array(); for (i=0; i<1000; i++) { sprayContainer[i] = fullblock + shellcode; } </SCRIPT> 51
  • 52. Advanced Malware Techniques 52  Heap Feng Shui is a new technique  Heap spraying for precise manipulation of the browser heap layout using specific sequences of JavaScript allocations  This is implemented as a JavaScript library with functions for setting up  Heap feng shui the heap in a controlled state before triggering a heap corruption bug  Using this technique makes it  JIT spraying possible to exploit very difficult heap corruption vulnerabilities with great reliability and precision
  • 53. Heap Massaging 53 <script type="text/javascript" src="heapLib.js"></script>  This program allocates a 16 <script type="text/javascript"> byte block of memory and copies the string "AAAAA" // Create a heapLib object for Internet Explorer var heap = new heapLib.ie(); into it heap.gc(); // Run the garbage collector  The block is tagged with before doing any allocations the tag foo, which is later // Allocate 512 bytes of memory and fill it with used as an argument to padding heap.alloc(512); free() // Allocate a new block of memory for the string  The free() function frees "AAAAA" and tag the block with "foo" heap.alloc("AAAAA", "foo"); all memory blocks marked with this tag // Free all blocks tagged with "foo" heap.free("foo"); </script>
  • 54. Advanced Malware Techniques 54  Heap spraying  Heap feng shui  JIT spraying
  • 55. JIT Spraying: JavaScript to x86 55 var y = addr op imm assembly 0 B8 D9D0543C MOV EAX,3C54D0D9 ( 5 35 5890903C XOR EAX,3C909058 0x3c54d0d9 ^ 10 35 6AF4593C XOR EAX,3C59F46A 0x3c909058 ^ 15 35 01C8903C XOR EAX,3C90C801 0x3c59f46a ^ 20 35 D930903C XOR EAX,3C9030D9 0x3c90c801 ^ 25 35 5B53533C XOR EAX,3C53535B 0x3c9030d9 ^ 0x3c53535b ^ ... )
  • 56. 56 Conclusions  Viruses  Intrusion detection  Behavioral detection  Firewalls  Virus/antivirus  Application firewalls coevolution  Worms