SlideShare ist ein Scribd-Unternehmen logo
1 von 114
Downloaden Sie, um offline zu lesen
Insider Threat –
The Visual Conviction
Raffael Marty, GCIA, CISSP
Manager Solutions @ ArcSight, Inc.

FIRST – June 2007 – Seville
 Copyright (c) 2007 by by Raffael Marty
    Copyright (c) 2007 Raffael Marty
Who Am I?                                                                  http://raffy.ch/blog

●   Raffael Marty, GCIA, CISSP
●   Manager Solutions @ ArcSight, Inc.
    ●   Log management, correlation
    ●   Regulatory compliance
●   Intrusion Detection Research @ IBM Research
    ●   http://thor.cryptojail.net

●   IT Security Consultant @ PriceWaterhouse Coopers
●   Open Vulnerability and Assessment Language (OVAL)
    board member
●   Common Event Enumeration (CEE) founding member
                                     Copyright (c) 2007 by Raffael Marty
Who Am I?                                                            http://raffy.ch/blog

●   Passion for Visual Security Event Analysis
    ●   http://secviz.org
    ●   http://afterglow.sourceforge.net
    ●   http://raffy.ch/blog




                               Copyright (c) 2007 by Raffael Marty
My Books / Book Contributions

           Applied Security Visualization
                            Paperback: 350 pages
                 Publisher: Addison Wesley (February, 2008)
                              ISBN: 0321510100


        How to Cheat at Configuring Open Source Security Tools
        Paperback: 504 pages
        Publisher: Syngress Publishing (May 1, 2007)
        ISBN: 1597491705


        Security Data Visualization
        Paperback: 256 pages
        Publisher: No Starch Press (August 25, 2007)
        ISBN: 1593271433

        Snort IDS and IPS Toolkit
        Paperback:
        Publisher: Syngress Publishing (April 20, 2007)
        ISBN: 1-59749-099-7
                           Copyright (c) 2007 by Raffael Marty
Agenda

●   Visualization

●   Insider Threat Theory

●   Log Data Processing

●   Open Source Visualization Tools

●   Visualization Exercise with AfterGlow

●   Simple I-Threat Visualizations
    ●   DuPont Information Leak

    ●   SAP Fraud Detection
                              Copyright (c) 2007 by Raffael Marty
Agenda

●   Insider Detection Process (IDP)

●   Applying IDP (Exercise)

●   Insider Threat Solution

●   Round Up




                         Copyright (c) 2007 by Raffael Marty
Disclaimer


       IP addresses and host names showing
     up in event graphs and descriptions were
      obfuscated/changed. The addresses are
     completely random and any resemblance
     with well-known addresses or host names
               are purely coincidental.




                   Copyright (c) 2007 by Raffael Marty
Visualization




Copyright (c) 2007 by Raffael Marty
A Picture is Worth a Thousand Log Entries



            Detect the Expected
            Detect the Expected
          & Discover the Unexpected
          & Discover the Unexpected

   Reduce Analysis and Response Times
   Reduce Analysis and Response Times

            Make Better Decisions
            Make Better Decisions


                   Copyright (c) 2007 by Raffael Marty
Text or Visuals?

► What                            would you rather look at?
Jun   17   09:42:30   rmarty   ifup: Determining IP information for eth0...
Jun   17   09:42:35   rmarty   ifup: failed; no link present. Check cable?
Jun   17   09:42:35   rmarty   network: Bringing up interface eth0: failed
Jun   17   09:42:38   rmarty   sendmail: sendmail shutdown succeeded
Jun   17   09:42:38   rmarty   sendmail: sm-client shutdown succeeded
Jun   17   09:42:39   rmarty   sendmail: sendmail startup succeeded
Jun   17   09:42:39   rmarty   sendmail: sm-client startup succeeded
Jun   17   09:43:39   rmarty   vmnet-dhcpd: DHCPINFORM from 172.16.48.128
Jun   17   09:45:42   rmarty   last message repeated 2 times
Jun   17   09:45:47   rmarty   vmnet-dhcpd: DHCPINFORM from 172.16.48.128
Jun   17   09:56:02   rmarty   vmnet-dhcpd: DHCPDISCOVER from 00:0c:29:b7:b2:47 via vmnet8
Jun   17   09:56:03   rmarty   vmnet-dhcpd: DHCPOFFER on 172.16.48.128 to 00:0c:29:b7:b2:47 via vmnet8
Jun   17   09:56:03   rmarty   vmnet-dhcpd: DHCPREQUEST for 172.16.48.128 from 00:0c:29:b7:b2:47 via vmnet8
Jun   17   09:56:03   rmarty   vmnet-dhcpd: DHCPACK on 172.16.48.128 to 00:0c:29:b7:b2:47 via vmnet8
Jun   17   10:00:03   rmarty   crond(pam_unix)[30534]: session opened for user root by (uid=0)
Jun   17   10:00:10   rmarty   crond(pam_unix)[30534]: session closed for user root
Jun   17   10:01:02   rmarty   crond(pam_unix)[30551]: session opened for user root by (uid=0)
Jun   17   10:01:07   rmarty   crond(pam_unix)[30551]: session closed for user root
Jun   17   10:05:02   rmarty   crond(pam_unix)[30567]: session opened for user idabench by (uid=0)
Jun   17   10:05:05   rmarty   crond(pam_unix)[30567]: session closed for user idabench
Jun   17   10:13:05   rmarty   portsentry[4797]: attackalert: UDP scan from host: 192.168.80.19/192.168.80.19 to UDP port: 192
Jun   17   10:13:05   rmarty   portsentry[4797]: attackalert: Host: 192.168.80.19/192.168.80.19 is already blocked Ignoring
Jun   17   10:14:09   rmarty   portsentry[4797]: attackalert: UDP scan from host: 192.168.80.8/192.168.80.8 to UDP port: 68
Jun   17   10:14:09   rmarty   portsentry[4797]: attackalert: Host: 192.168.80.8/192.168.80.8 is already blocked Ignoring
Jun   17   10:14:09   rmarty   portsentry[4797]: attackalert: UDP scan from host: 192.168.80.8/192.168.80.8 to UDP port: 68
Jun   17   10:14:09   rmarty   portsentry[4797]: attackalert: Host: 192.168.80.8/192.168.80.8 is already blocked Ignoring
Jun   17   10:21:30   rmarty   portsentry[4797]: attackalert: UDP scan from host: 192.168.80.8/192.168.80.8 to UDP port: 68
Jun   17   10:21:30   rmarty   portsentry[4797]: attackalert: Host: 192.168.80.8/192.168.80.8 is already blocked Ignoring
Jun   17   10:28:40   rmarty   vmnet-dhcpd: DHCPDISCOVER from 00:0c:29:b7:b2:47 via vmnet8
Jun   17   10:28:41   rmarty   vmnet-dhcpd: DHCPOFFER on 172.16.48.128 to 00:0c:29:b7:b2:47 via vmnet8
Jun   17   10:28:41   rmarty   vmnet-dhcpd: DHCPREQUEST for 172.16.48.128 from 00:0c:29:b7:b2:47 via vmnet8
Jun   17   10:28:45   rmarty   vmnet-dhcpd: DHCPACK on 172.16.48.128 to 00:0c:29:b7:b2:47 via vmnet8
Jun   17   10:30:47   rmarty   portsentry[4797]: attackalert: UDP scan from host: 192.168.80.8/192.168.80.8 to UDP port: 68
Jun   17   10:30:47   rmarty   portsentry[4797]: attackalert: Host: 192.168.80.8/192.168.80.8 is already blocked Ignoring
Jun   17   10:30:47   rmarty   portsentry[4797]: attackalert: UDP scan from host: 192.168.80.8/192.168.80.8 to UDP port: 68
Jun   17   10:30:47   rmarty   portsentry[4797]: attackalert: Host: 192.168.80.8/192.168.80.8 is already blocked Ignoring
Jun   17   10:35:28   rmarty   vmnet-dhcpd: DHCPINFORM from 172.16.48.128
Jun   17   10:35:31   rmarty   vmnet-dhcpd: DHCPINFORM from 172.16.48.128
Jun   17   10:38:51   rmarty   vmnet-dhcpd: DHCPREQUEST for 172.16.48.128 from 00:0c:29:b7:b2:47 via vmnet8
Jun   17   10:38:52   rmarty   vmnet-dhcpd: DHCPACK on 172.16.48.128 to 00:0c:29:b7:b2:47 via vmnet8
Jun   17   10:42:35   rmarty   vmnet-dhcpd: DHCPINFORM from 172.16.48.128
Jun   17   10:42:38   rmarty   vmnet-dhcpd: DHCPINFORM from 172.16.48.128




                                                                                             Copyright (c) 2007 by Raffael Marty
Why a Visual Approach Helps

         A picture tells more than a thousand
                        log lines
► Reduce   analysis and response times
  • Quickly visualize thousands of events
► Make better decisions
  • Situational awareness
  • Visualize status of business posture
  • Visual display of most important properties
► Be more efficient
  • Facilitate communication
  • Use graphs to communicate with other teams
  • Graphs are easier to understand than textual events
                        Copyright (c) 2007 by Raffael Marty
Insider Threat Visualization
►   Huge amounts of data
    • More and other data sources than for the traditional security use-cases
    • Insiders often have legitimate access to machines and data. You need to
     log more than the exceptions.
    • Insider crimes are often executed on the application layer. You need
     transaction data and chatty application logs.
►   The questions are not known in advance!
    • Visualization provokes questions and helps find answers.
►   Dynamic nature of fraud
    • Problem for static algorithms.
    • Bandits quickly adapt to fixed threshold-based detection systems.
    • Looking for any unusual patterns
                                Copyright (c) 2007 by Raffael Marty
Graph Types
Simple Charts

  Bar Charts                                             Pie Charts   Where
                                                                                                     Line Charts
              8
              6




                                                            outside

                                                                                       on_server
  Frequency

              4
              2




                                                                              past_screening
              0




                  on_server   outside   past_screening

                              Where




  Scatter Plots                                                                                    3D Scatter Plots



  Link Graphs




                                                          Copyright (c) 2007 by Raffael Marty
Graph Types
Multivariate Graphs

 Link Graphs
                     Parallel Coordinates

            II like this word!
                like this word!


 TreeMaps




                      Copyright (c) 2007 by Raffael Marty
Multivariate Graphs
Link Graphs




                  Copyright (c) 2007 by Raffael Marty
Link Graphs
 Data Mapping
  Raw Event:
  [**] [1:1923:2] RPC portmap UDP proxy attempt [**]
  [Classification: Decode of an RPC Query] [Priority: 2]
  06/04-15:56:28.219753 192.168.10.90:32859 ->
  192.168.10.255:111
  UDP TTL:64 TOS:0x0 ID:0 IpLen:20 DgmLen:148 DF
  Len: 120

  Different node configurations:

      SIP        Name         DIP                                 SIP     DIP        DPort


192.168.10.90 RPC portmap   192.168.10.255                192.168.10.90 192.168.10.255    111


      SIP        SPort        DPort                              Name     SIP            DIP


192.168.10.90   32859         111                     RPC portmap 192.168.10.90 192.168.10.255

                                    Copyright (c) 2007 by Raffael Marty
Tree Maps

             What is this?
             What is this?
      UDP                              TCP



                                     HTTP
      DNS
      UDP   All Network TCP
                        Traffic
                                      SSH

     SNMP                              FTP




                Copyright (c) 2007 by Raffael Marty
Tree Maps


      20%                                 80%




      UDP                                  TCP




    Configuration (Hierarchy): Protocol



                     Copyright (c) 2007 by Raffael Marty
Tree Maps

      UDP                                  TCP



                                         HTTP
      DNS
      UDP                                 TCP
                                          SSH

     SNMP                                  FTP

    Configuration (Hierarchy): Protocol -> Service
    Size:                      Count
    Color:                     Protocol


                    Copyright (c) 2007 by Raffael Marty
Tree Maps
Advanced Usage
► More    than three dimensions
► Probably   less than 5 dimensions
► Color   and Size
  • Additional dimensions
  • Not shown in the “main” hierarchy




                            Copyright (c) 2007 by Raffael Marty
Parallel Coordinates

 Action Rule     SIP Asset Role DIP                       Flag



        n dimensions                          Selection
                                              Selection
        n dimensions
                                             propagates
                                             propagates
  Size proportional
  Size proportional
    to occurrence
     to occurrence



                   Copyright (c) 2007 by Raffael Marty
Questions and
     Answers




Copyright (c) 2007 by Raffael Marty
Thank You


                 Raffael Marty
                Manager Solutions
                  ArcSight, Inc.

                raffy@secviz.org

            Security Data Visualization
                   www.secviz.org




                   Copyright (c) 2007 by Raffael Marty
Insider Threat Theory


Raffael Marty, GCIA, CISSP
Manager Solutions @ ArcSight, Inc.

FIRST – June 2007 – Seville
Agenda

●   Visualization

●   Insider Threat Theory

●   Log Data Processing

●   Open Source Visualization Tools

●   Visualization Exercise with AfterGlow

●   Simple I-Threat Visualizations
    ●   DuPont Information Leak

    ●   SAP Fraud Detection
Insider Threat
Definition
 "Current or former employee or contractors who
 • intentionally exceeded or misused an authorized level of
  access to networks, systems or data in a manner that

 • targeted a specific individual or affected the security of the
  organization’s data, systems and/or daily business
  operations"

                     [CERT: http://www.cert.org/insider_threat Definition of an Insider]
Insider Threat
Three Types of Insider Threat




               Information
                              Fraud
                   Theft




                       Sabotage
Insider Threat
Information Theft




Information Theft is concerned with stealing of confidential

     or proprietary information. This includes things like

  financial statements, intellectual property, design plans,

              source code, trade secrets, etc.
Insider Threat
Information Theft

► Hard   to stop:

  • Cell Phones / iPods / USB sticks

  • Email

  • Hard copies (printer)

► Information   is intangible. How do you protect that?
Insider Threat
Information Protection

► Information Leak Prevention
  Extrusion Detection

► Document     Management

► Policies   and Procedures

► Awareness


► Document     Classification

►…
Insider Threat
Fraud




Fraud deals with the misuse of access privileges or the

 intentional excess of access levels to obtain property or

     services unjustly through deception or trickery.
Insider Threat
Type of Fraud

► Real   estate

► Insurance


► Tax


► Bank


► Occupational


► Financial   Statement
Insider Threat
Fraud Detection

► Various   different approaches

 • User Identification

 • Transaction verification / checks and balances

 • Separation of Duties
Insider Threat
Sabotage




  Sabotage has to do with any kind of action to harm

 individuals, organizations, organizational data, systems,

                 or business operations.
Insider Threat
Sabotage

► Information   Destruction

► Denial   of Service

► Theft


► Harm    to organization of individuals
Insider Threat
Sabotage Detection

► How   can you detect this?

► Wouldn’t   it be too late if you detected sabotage?
Insider Threat Personae
Why are They Important?
►Understand   who is behind the crime.
►Know   what to look for
►Stop   insiders before they become a problem
Insider Persona
Information Thieves
► Former    employees or employees on their way out

► Three    types
 • Financially motivated
 • Employees taking information to new job (starting new
     company)

 • Embarrass former employee (organization or individual)

► Using
      their access privileges and in some cases
 compromised accounts

► Mostly   committed crime from within workspace
Insider Persona
Fraudsters
► Current   employees

► Using   their own account and access privileges

► Generally   have system administration or privileged
 access

► While financially motivated, fraudsters are in general not
 in financial need

► Generally   no sophisticated attack methods (such as
 exploits)

► Mostly   committed crime from within workspace
Insider Persona
Saboteur
► Former    employees
► Revenge     for negative event (fired, no bonus, new boss,
 etc.)
► Generally (used to) have system administration or
 privileged access
► No   authorized access when committing crime
► Mostly
       using compromised accounts, some using
 backdoor accounts
► Some  using technically sophisticated means (scripts as
 logic bombs, etc.)
► Some     took preparatory action
Questions and
Answers
Thank You


                 Raffael Marty
                Manager Solutions
                  ArcSight, Inc.

                raffy@secviz.org

            Security Data Visualization
                   www.secviz.org
Insider Threat –
Log Data Processing
Raffael Marty, GCIA, CISSP
Manager Solutions @ ArcSight, Inc.

FIRST – June 2007 – Seville
Agenda

●   Visualization

●   Insider Threat Theory

●   Log Data Processing

●   Open Source Visualization Tools

●   Visualization Exercise with AfterGlow

●   Simple I-Threat Visualizations
    ●   DuPont Information Leak

    ●   SAP Fraud Detection
What Tools Are You Using For Log Processing?
How To Generate A Graph




                                                                              ... | Normalization | ...

                       Device                                                                    Parser    Event Visualizer


 Jun   17   09:42:30   rmarty   ifup: Determining IP information for eth0...
 Jun   17   09:42:35   rmarty   ifup: failed; no link present. Check cable?
 Jun   17   09:42:35   rmarty   network: Bringing up interface eth0: failed
 Jun   17   09:42:38   rmarty   sendmail: sendmail shutdown succeeded
 Jun   17   09:42:38   rmarty   sendmail: sm-client shutdown succeeded
 Jun   17   09:42:39   rmarty   sendmail: sendmail startup succeeded
 Jun   17   09:42:39   rmarty   sendmail: sm-client startup succeeded
 Jun   17   09:43:39   rmarty   vmnet-dhcpd: DHCPINFORM from 172.16.48.128
 Jun   17   09:45:42   rmarty   last message repeated 2 times
 Jun   17   09:45:47   rmarty   vmnet-dhcpd: DHCPINFORM from 172.16.48.128
 Jun   17   09:56:02   rmarty   vmnet-dhcpd: DHCPDISCOVER from 00:0c:29:b7:b2:47 via vmnet8
 Jun
 NH
       17   09:56:03   rmarty   vmnet-dhcpd: DHCPOFFER on 172.16.48.128 to 00:0c:29:b7:b2:47 via vmnet8
                                                                                                          Visual
                                Log File
UNIX Tools


► awk
 awk –F, ‘{printf(“%s,%s”,$2,$1);}’


► Sed
 sed 's/fubar/foobar/' filename


► Grep
 cat file | grep –v
Regular Expressions
What?
►Text   processing
 • Searching
 • Replacing
 • Extracting
►Example
  Raf{2}a.l Mart[yi]
Regular Expressions
Basics

   ^   Beginning of string
   $   End of string
   .   Any character
   [   Start of character list
   ]   End of character list
   (   Start of expression group
   )   End of expression group
   |   ORs two expressions
      Escape character
   *   Preceding expression occurs zero or more times
   ?   Preceding expression occurs zero or one times
   +   Preceding expression occurs one or more times
Regular Expressions
Examples
► Searching
  • perl -ne 'print if (/^1/)' file.txt
  • egrep '^1[0-9]+ +K' file.txt
► Replacing
  • perl -pe 's/^ +//' phonelist.txt
  • sed 's/^$/d' price.txt
► Extracting

  • perl -pe 's/.*(IN=[^ ]*).*/1/’
Regular Expressions
Advanced
► Greedy   vs. non-greedy
 Apr 17 08:22:27 rmarty kernel: OutputIN= OUT=vmnet8
 SRC=192.168.170.1 DST=192.168.170.255 LEN=258 TOS=0x00
 PREC=0x00 TTL=64 ID=0 DF PROTO=UDP SPT=138 DPT=138
 LEN=238

                     perl -pe 's/.*(OUT=.*) .*/1/’


     OUT=vmnet8 SRC=192.168.170.1 DST=192.168.170.255 LEN=258 TOS=0x00 PREC=0x00 TTL=64



                    perl -pePROTO=UDP SPT=138 DPT=138 LEN=238
                       ID=0 DF 's/.*(OUT=.*?) .*/1/’


                                     OUT=vmnet8
Regular Expressions
Advanced
► Crazy   example: Creates an index of links from a HTML file

 s/<[     ]*[Aa][ ]*[Hh][Rr][Ee][Ff]/<a href/g
 :loop
 /<a href *= *"[^#]/{;
   x; s/[^n]*/&;9876543210 999990000099990000999000990090;/
   s/([0-8]{0,1})(9*);[^1]*(.)1[^;]*2(0*)[^;]*;(.*)/345/
   x; G; s
 <a href *= *("([^"]+)"[^>]*>)([^n]*(n))([^n]*)(.*$)
 <||||||=1[5] 35464[5] 2<br>
   h; s/[^n]*n//
   x
   s/n.*//
   b loop;
 }
 s/<||||||/<a href/g;
 /</[Bb][Oo][Dd][Yy]>/{
   G
   s/(</[Bb][Oo][Dd][Yy]>[^n]*)n[^n]*n*(.*)/<hr>21/;
 }
PERL


► Simple tools:
  (Stolen from: http://raffy.ch/blog/2007/02/24/geo-lookup-on-the-command-line/)



  10/13/2005 20:25:54.032145,195.141.211.178,195.131.61.44,2071,135

       I want to get the country of the source address (first IP in the log):

  cat pflog.csv | perl -M'Geo::IPfree' -na -F/,/ -e
  '($country,$country_name)=Geo::IPfree::LookUp($F[1]);ch
  omp; print "$_,$country_namen"'

                                And here the output:

  10/13/2005 20:24:33.494358,62.245.243.139,212.254.111.99,,echo
  request,Europe
Data Sources
Different Data Sources

► PCAP


► Firewall   (PF)

  • IP Tables and why its logging is bad

► Argus


► Snort
PCAP

► Packet   Captures

► Binary   format

► tcpdump    –nnlr <file>
PF Firewall

► OpenBSD    Firewall
 Feb 18 13:39:27.977280 rule 71/0(match): pass in on
 xl0: 195.27.249.139.63285 > 195.141.69.42.80: S
 340743432:340743432(0) win 32768 <mss 1460,nop,wscale
 0,nop,nop,timestamp 24078 0> (DF)


► Reading   the file/interface (which is in pseudo PCAP):

 tcpdump –nnli pflog


► Make   sure you are using the OpenBSD tcpdump!!
Argus

ram@rmarty$ man 8 argus

“Argus is an IP transaction auditing tool that categorizes

 IP packets which match the boolean expression into a

 protocol-specific network transaction model. Argus

 reports on the transactions that it discovers, as they

 occur.”
Argus
Output
10 Apr 06 10:55:46 *       tcp 217.118.195.58.22     ?>
  65.219.2.99.37065 1280   1550     309440       23952    RST

► Timestamp

► Protocol

► SourceIP    . SourcePort
► Directon

► DestiationIP   . DestinationPort
► PacketsIn   and PacketsOut
► BytesIn   and BytesOut
► Status
Parsers
Parsers
► Parser?

  “To analyze or separate (input, for example) into more
  easily processed components.” (answers.com)


► Interpret   Data
► Knows    data format
► Re-use    don’t re-invent!
► The   UNIX Paradigm: Work in a pipe!
► Some   available on:
              http://secviz.org/?q=node/8
AfterGlow
Parsers
► tcpdump2csv.pl
 • Takes care of swapping response source and targets
  tcpdump -vttttnnelr /tmp/log.tcpdump |
                           [
  ./tcpdump2csv.pl "sip dip sport"


► sendmail_parser.pl
 • Reassemble email conversations:
  Jul 24 21:01:16 rmarty sendmail[17072]: j6P41Gqt017072:
  from=<root@localhost.localdomain>, size=650, class=0, nrcpts=1,
  Jul 24 21:01:16 rmarty sendmail[17073]: j6P41Gqt017072: to=ram,
  ctladdr=<root@localhost.localdomain> (0/0), delay=00:00:00,
  xdelay=00:00:00, mailer=local, pri=30881, dsn=2.0.0, stat=Sent
AfterGlow
Parsers
► Argus2csv.pl
 ragator -r file.argus -nn -A -s +dur -s +sttl -s +dttl |
 ./argus2csv.pl “src dst pkts”



► pf2csv.pl
  • Parsing OpenBSD pf output
  tcpdump –nnli pflog | ./pflog.pl “src dst rule”


► snortalert2csv.pl
 cat alert | ./snortalert2csv.pl “name src dport”
AfterGlow
Log Analysis Tools
► These   tools are part of AfterGlow 1.5.8


► mergeLogs.pl
 ./merge_logs.pl lookup.csv file.csv

lookup.csv                  file.csv
Account Sharing,9           rweiss,AV disabled
AV disabled,10              wcwu,Account Sharing
Backdoor Access,10          bgrosof,Backdoor Access
Customer Data Access,2

                Output:
                rweiss,AV disabled,10
                wcwu,Account Sharing,8
                bgrosof,Backdoor Access,10
AfterGlow
Log Analysis Tools
• anonymize.pl
 cat file | ./anonymize.pl -c 1 -p user
   Original:
   rweiss,AV disabled
   wcwu,Internal Recon
   bgrosof,Source Code Access


   Anonymized:
   user1,AV disabled
   user2,Internal Recon
   user3,Source Code Access
Questions and
Answers
Thank You


                 Raffael Marty
                Manager Solutions
                  ArcSight, Inc.

                raffy@secviz.org

            Security Data Visualization
                   www.secviz.org
Insider Threat –
Open Source Tools
Raffael Marty, GCIA, CISSP
Manager Solutions @ ArcSight, Inc.

FIRST – June 2007 – Seville
Agenda

●   Visualization

●   Insider Threat Theory

●   Log Data Processing

●   Open Source Visualization Tools

●   Visualization Exercise with AfterGlow

●   Simple I-Threat Visualizations
    ●   DuPont Information Leak

    ●   SAP Fraud Detection
What are some tools?
► AfterGlow   1.5.8

        http://afterglow.sourceforge.net

► Treemap2


        www.cs.umd.edu/hcil/treemap/

►…
AfterGlow 1.x - Perl


       Parser               AfterGlow                  Grapher
                                           Graph
                 CSV File               LanguageFile


► Supported     graphing tools:
 • GraphViz from AT&T (dot, neato, circo, twopi)
  http://www.graphviz.org
 • LGL (Large Graph Layout) by Alex Adai
  http://bioinformatics.icmb.utexas.edu/lgl/
AfterGlow 1.x


         Parser               AfterGlow                     Grapher
                                             Graph
                   CSV File               LanguageFile




 aaelenes,Printing Resume         digraph structs {
 abbe,Information Encrytion         graph [label="AfterGlow 1.5.8", fontsize=8];
 aanna,Patent Access                node [shape=ellipse, style=filled,
 aatharuy,Ping                        fontsize=10, width=1, height=1,
                                      fixedsize=true];
                                    edge [len=1.6];

                                      "aaelenes" -> "Printing Resume" ;
                                      "abbe" -> "Information Encryption" ;
                                      "aanna" -> "Patent Access" ;
                                      "aatharuv" -> "Ping" ;
                                  }
AfterGlow 1.x
Features
► Generate     Link Graphs
► Filtering   Nodes
  • Based on name
  • Based on number of occurrences
                                     Fan Out: 3
► Fan   Out Filtering
► Coloring
  • Edges
  • Nodes
► Clustering
AfterGlow 1.x
Features
► Node   Sizes
  • Auto adjustment
► Variables
AfterGlow 1.x
Property File – Color Definition

 Coloring:
  color.[source|event|target|edge|sourcetarget]=
      <perl expression returning a color name>
 Array @fields contains input-line, split into tokens:
  color.event=“red” if ($fields[1] =~ /^192..*)

 Filter nodes with “invisible” color:

  color.target=“invisible” if ($fields[0] eq
     “IIS Action”)
AfterGlow 1.x
Hello World
Input Data:                 Command:
   a,b                      cat file | ./afterglow –c simple.properties –t 
                            neato –Tgif –o test.gif
   a,c
   b,c                      simple.properties:
   d,e                      color.source=“green” if ($fields[0] ne “d”)
                            color.target=“blue” if ($fields[1] ne “e”)
Output:
                    d       color.source=“red”
                            color=“green”


                b       e

      a
                c
AfterGlow 1.x
Property File – Threshold

 Threshold:
  threshold.[source|event|targe]=<value>
AfterGlow 1.x
Property File – Clustering and Node Sizes

 Clustering:
  cluster.[source|event|target]=
     <perl expression returning a cluster
   name>
 Node Sizes:
  size.[source|event|target]=
     <perl expression returning a number>
  Maxnodesize=<value>
  sum.[source|event|target]=[0|1]
AfterGlow 1.x
Property File – Variables

 Variables
                      # Watch Lists
   Definition:        variable=@privileged=( "aaerchak" );



   Use:     color.target="gold" if (grep(/$fields[0]/,@privileged));




 There are no limits on what you do with the “variables”
 keyword! You can put entire scripts in there!
AfterGlow 1.x
Running AfterGlow
cat data | ./afterglow.pl –c file.prop | neato -Tgif -otest.gif
 Usage:     perl afterglow.pl [-adhnstv] …

 -a             :   turn off labelelling of the output graph with the configuration used
 -b   lines     :   number of lines to skip (e.g., 1 for header line)
 -c   conffile :    color config file
 -d             :   print node count
 -e   length    :   edge length
 -f   threshold :   source fan out threshold
 -g   threshold :   event fan out threshold (only in three node mode)
 -h             :   this (help) message
 -l   lines     :   the maximum number of lines to read
 -m             :   the maximum size for a node
 -n             :   don't print node labels
 -o   threshold :   omit threshold (minimum count for nodes to be displayed)
                    Non-connected nodes will be filtered too.
 -p mode        :   split mode for predicate nodes where mode is
                     0 = only one unique predicate node (default)
                     1 = one predicate node per unique subject node.
                     2 = one predicate node per unique target node.
                     3 = one predicate node per unique source/target node.
 -s             :   split subject and object nodes
 -t             :   two node mode (skip over objects)
 -v             :   verbose output
 -x             :   text label color
AfterGlow 1.x
Some Property File Examples
   # Variable and Color

   variable=@violation=("Backdoor Access", "HackerTool Download”);
   color.target="orange" if (grep(/$fields[1]/,@violation));
   color.target="palegreen"

   # Node Size and Threshold

   maxnodesize=1;
   size.source=$fields[2]
   size=0.5
   sum.target=0;
   threshold.source=14;

   # Color and Cluster
   color.source="palegreen" if ($fields[0] =~ /^111/)
   color.source="red"
   color.target="palegreen"
   cluster.source=regex_replace("(d+).d+")."/8"
AfterGlow




            AfterGlow
            AfterGlow
               Demo
               Demo
Treemap
Input

TM3 file (I am going to use a simple, but practical form!)
   Tab delimited
   Two special header lines
          Target System
           Target System   DIP
                            DIP    Action
                                    Action
          STRING STRING STRING
           STRING STRING STRING
          Financial System
           Financial System        212.254.109.27
                                    212.254.109.27    pass
                                                       pass
          Financial System
           Financial System        212.254.109.27
                                    212.254.109.27    block
                                                       block
          Financial System
           Financial System        212.254.110.102
                                    212.254.110.102   pass
                                                       pass
          Mail Server
           Mail Server     212.254.110.99 block
                            212.254.110.99 block
          Mail Server
           Mail Server     212.254.110.97 block
                            212.254.110.97 block
Treemap
Input - Header

 First Header Line: Column Names
 Second Header Line: Data Types

          Count Target System
           Count Target System DIP
                                DIP   Action
                                       Action
          INTEGER STRING STRING STRING
           INTEGER STRING STRING STRING
Treemap
Treemap2




           Treemap2
           Treemap2
             Demo
             Demo
Agenda

●   Visualization

●   Insider Threat Theory

●   Log Data Processing

●   Open Source Visualization Tools

●   Visualization Exercise with AfterGlow

●   Simple I-Threat Visualizations
    ●   DuPont Information Leak

    ●   SAP Fraud Detection
Questions and
Answers
Thank You


                 Raffael Marty
                Manager Solutions
                  ArcSight, Inc.

                raffy@secviz.org

            Security Data Visualization
                   www.secviz.org
Insider Threat –
Simple iThreat Example
Raffael Marty, GCIA, CISSP
Manager Solutions @ ArcSight, Inc.

FIRST – June 2007 – Seville
 Copyright (c) 2007 by by Raffael Marty
    Copyright (c) 2007 Raffael Marty
Agenda

●   Visualization

●   Insider Threat Theory

●   Log Data Processing

●   Open Source Visualization Tools

●   Visualization Exercise with AfterGlow

●   Simple I-Threat Visualizations
    ●   DuPont Information Leak

    ●   SAP Fraud Detection
                              Copyright (c) 2007 by Raffael Marty
DuPont Case

► In   February of 2007 a fairly large information leak case
  made the news. The scientist Gary Min faces up to 10
  years in prison for stealing 16,706 documents and over
  22,000 scientific abstracts from his employer DuPont.
  The intellectual property he was about to leak to a
  DuPont competitor, Victrex, was assessed to be worth
  $400 million. There is no evidence Gary actually turned
  the documents over to Victrex.


                         Copyright (c) 2007 by Raffael Marty
DuPont Case
How it Could Have Been Prevented




    What’s the Answer?
    What’s the Answer?




                 Copyright (c) 2007 by Raffael Marty
DuPont Case
A Simple Solution


         Log Collection
         Log Collection




                    Copyright (c) 2007 by Raffael Marty
DuPont Case
A Simple Solution




                    Copyright (c) 2007 by Raffael Marty
DuPont Case
A Not so Targeted Solution

            Size: #accesses
  user




   server




                              Copyright (c) 2007 by Raffael Marty
Questions and
     Answers




Copyright (c) 2007 by Raffael Marty
Thank You


                 Raffael Marty
                Manager Solutions
                  ArcSight, Inc.

                raffy@secviz.org

            Security Data Visualization
                   www.secviz.org




                   Copyright (c) 2007 by Raffael Marty
Insider Detection Process


Raffael Marty, GCIA, CISSP
Manager Solutions @ ArcSight, Inc.

FIRST – June 2007 – Seville
 Copyright (c) 2007 by by Raffael Marty
    Copyright (c) 2007 Raffael Marty
Agenda

●   Insider Detection Process (IDP)

●   Applying IDP (Exercise)

●   Insider Threat Solution

●   Round Up




                         Copyright (c) 2007 by Raffael Marty
Insider Threat Detection Process
Overview

► Intro


► Precursors


► Scoring   Precursors

► Visualizing


► Watch   Lists

► Advanced    Scoring

                         Copyright (c) 2007 by Raffael Marty
Insider Threat Detection Process
Intro

► The   following Insider Threat Detection Process is
 • Ongoing research
 • A proposed approach
 • Not a guarantee for success
 • Probably going to fail in your environment
 • A lot of work to execute
 • Incredibly interesting and generates nice graphs
► Related   Work: (no visualization, but uses precursors)
 • “ELICIT: A System for Detecting Insiders Who Violate Need-
  to-know”, Mark Maloof and Greg Stephens
                        Copyright (c) 2007 by Raffael Marty
Insider Threat Detection Process
Precursors

►A   precursor is an activity that when observed, flags the

 associated user as a potential insider.

 Some research calls this “detectors”.

► Examples:

 • Printing off-hours
 • Downloading Hacker Tools
 • Accessing documents outside of user’s role
 • Use of anonymous proxy
                        Copyright (c) 2007 by Raffael Marty
Insider Threat Detection Process
Scoring Precursors

► Each   precursor can be assigned a score which reflects

 the extent to which the precursor classifies someone as

 an insider.
                                                  If I actually new some math,
► Factors   to consider:                       I would use a Bayesian Inference
                                                         network for this ;-)
 • Impact of action

 • Rate of False Positives

 • Is this okay for some user roles?
                           Copyright (c) 2007 by Raffael Marty
Insider Threat Detection Process
Visualization

► User   -> Precursor -> Score

► Find   outliers

 • Based on groups of users with similar behavior

 • Based on scores




                       Copyright (c) 2007 by Raffael Marty
Insider Threat Detection Process
Visualization – Groups of Users




                   Copyright (c) 2007 by Raffael Marty
Insider Threat Detection Process
Visualization – User Scores




                   Copyright (c) 2007 by Raffael Marty
Insider Threat Detection Process
Watch Lists

► Keep   track of specific users

 • Privileged accounts

 • Contractors

 • Terminated Employees




                         Copyright (c) 2007 by Raffael Marty
Insider Threat Detection Process
Advanced Scoring

► Based   on the watch lists, adjust the precursor scores for

 these users.

► For   example, a user name on the terminated employees

 list: +5!




                        Copyright (c) 2007 by Raffael Marty
Insider Threat Detection Process
Advanced Watch List Application

► Do   role-based behavior assessment based on watch lists

► Color   users based on watch list

► Quickly   spot groups, outliers, anomalies




                        Copyright (c) 2007 by Raffael Marty
Insider Threat Detection Process
Scoring and Coloring based on Watch Lists




                  Copyright (c) 2007 by Raffael Marty
Insider Threat Detection Process
Precursor Categories
►       Problem of scoring so far:
    •     Repetitive “not so bad” behavior escalates a user
          immediately.
►       Group precursors:
        1. Minimal or no impact

        2. Signs of a setup for a malicious act

        3. Malicious behavior, normal for some users

        4. Malicious behavior, this should _never_ happen

        5. The insider crime itself




                                  Copyright (c) 2007 by Raffael Marty
Insider Threat Detection Process
User Tiers
►   User can accumulate a max of 20 points per category
►   Categorize users based on score:
      Nothing to            On a bad track of                        Very likely         Malicious
    worry about just         going malicious                        has malicious        Insiders
          yet                                                         intentions



    0                  20                                          60               80           100




                                  Copyright (c) 2007 by Raffael Marty
Questions and
     Answers




Copyright (c) 2007 by Raffael Marty
Thank You


                 Raffael Marty
                Manager Solutions
                  ArcSight, Inc.

                raffy@secviz.org

            Security Data Visualization
                   www.secviz.org




                   Copyright (c) 2007 by Raffael Marty

Weitere ähnliche Inhalte

Andere mochten auch

Detecting-Preventing-Insider-Threat
Detecting-Preventing-Insider-ThreatDetecting-Preventing-Insider-Threat
Detecting-Preventing-Insider-Threat
Mike Saunders
 

Andere mochten auch (18)

How to Build an Insider Threat Program in 30 Minutes
How to Build an Insider Threat Program in 30 Minutes How to Build an Insider Threat Program in 30 Minutes
How to Build an Insider Threat Program in 30 Minutes
 
Insider Threat Experiences
Insider Threat ExperiencesInsider Threat Experiences
Insider Threat Experiences
 
The Insider's Guide to the Insider Threat
The Insider's Guide to the Insider ThreatThe Insider's Guide to the Insider Threat
The Insider's Guide to the Insider Threat
 
Insider threat kill chain
Insider threat   kill chainInsider threat   kill chain
Insider threat kill chain
 
You've caught an Insider Threat, now what? The Human Side of Insider Threat I...
You've caught an Insider Threat, now what? The Human Side of Insider Threat I...You've caught an Insider Threat, now what? The Human Side of Insider Threat I...
You've caught an Insider Threat, now what? The Human Side of Insider Threat I...
 
Countering insider threat attacks - CDE themed call launch 14 May 2013
Countering insider threat attacks - CDE themed call launch 14 May 2013Countering insider threat attacks - CDE themed call launch 14 May 2013
Countering insider threat attacks - CDE themed call launch 14 May 2013
 
Expert FSO Insider Threat Awareness
Expert FSO Insider Threat AwarenessExpert FSO Insider Threat Awareness
Expert FSO Insider Threat Awareness
 
Visualizing the Insider Threat: Challenges and tools for identifying maliciou...
Visualizing the Insider Threat: Challenges and tools for identifying maliciou...Visualizing the Insider Threat: Challenges and tools for identifying maliciou...
Visualizing the Insider Threat: Challenges and tools for identifying maliciou...
 
Combating Insider Threats – Protecting Your Agency from the Inside Out
Combating Insider Threats – Protecting Your Agency from the Inside OutCombating Insider Threats – Protecting Your Agency from the Inside Out
Combating Insider Threats – Protecting Your Agency from the Inside Out
 
The Insider Threat
The Insider ThreatThe Insider Threat
The Insider Threat
 
NIST - Cybersecurity Framework mindmap
NIST - Cybersecurity Framework mindmapNIST - Cybersecurity Framework mindmap
NIST - Cybersecurity Framework mindmap
 
ObserveIT - Unintentional Insider Threat featuring Dr. Eric Cole
ObserveIT - Unintentional Insider Threat featuring Dr. Eric ColeObserveIT - Unintentional Insider Threat featuring Dr. Eric Cole
ObserveIT - Unintentional Insider Threat featuring Dr. Eric Cole
 
AWS re:Invent 2016: Deep Dive on AWS Cloud Data Migration Services (ENT210)
AWS re:Invent 2016: Deep Dive on AWS Cloud Data Migration Services (ENT210)AWS re:Invent 2016: Deep Dive on AWS Cloud Data Migration Services (ENT210)
AWS re:Invent 2016: Deep Dive on AWS Cloud Data Migration Services (ENT210)
 
Insider threat v3
Insider threat v3Insider threat v3
Insider threat v3
 
Insider Threat Kill Chain: Detecting Human Indicators of Compromise
Insider Threat Kill Chain: Detecting Human Indicators of CompromiseInsider Threat Kill Chain: Detecting Human Indicators of Compromise
Insider Threat Kill Chain: Detecting Human Indicators of Compromise
 
Insider Threat Detection Recommendations
Insider Threat Detection RecommendationsInsider Threat Detection Recommendations
Insider Threat Detection Recommendations
 
Insider Threat Solution from GTRI
Insider Threat Solution from GTRIInsider Threat Solution from GTRI
Insider Threat Solution from GTRI
 
Detecting-Preventing-Insider-Threat
Detecting-Preventing-Insider-ThreatDetecting-Preventing-Insider-Threat
Detecting-Preventing-Insider-Threat
 

Ähnlich wie Insider Threat – The Visual Conviction - FIRST 2007 - Sevilla

Cont-Forensic-Analytics-Dipto-14Apr2015-post
Cont-Forensic-Analytics-Dipto-14Apr2015-postCont-Forensic-Analytics-Dipto-14Apr2015-post
Cont-Forensic-Analytics-Dipto-14Apr2015-post
Dipto Chakravarty
 
breed_python_tx_redacted
breed_python_tx_redactedbreed_python_tx_redacted
breed_python_tx_redacted
Ryan Breed
 
HES2011 - Sebastien Tricaud - Capture me if you can
HES2011 - Sebastien Tricaud - Capture me if you canHES2011 - Sebastien Tricaud - Capture me if you can
HES2011 - Sebastien Tricaud - Capture me if you can
Hackito Ergo Sum
 
Luiz eduardo. introduction to mobile snitch
Luiz eduardo. introduction to mobile snitchLuiz eduardo. introduction to mobile snitch
Luiz eduardo. introduction to mobile snitch
Yury Chemerkin
 
Malware vs Big Data
Malware vs Big DataMalware vs Big Data
Malware vs Big Data
Frank Denis
 
PinTrace Advanced AWS meetup
PinTrace Advanced AWS meetup PinTrace Advanced AWS meetup
PinTrace Advanced AWS meetup
Suman Karumuri
 

Ähnlich wie Insider Threat – The Visual Conviction - FIRST 2007 - Sevilla (20)

Visual Security Event Analysis - DefCon 13 - 2005
Visual Security Event Analysis - DefCon 13 - 2005Visual Security Event Analysis - DefCon 13 - 2005
Visual Security Event Analysis - DefCon 13 - 2005
 
Event Graphs - EUSecWest 2006
Event Graphs - EUSecWest 2006Event Graphs - EUSecWest 2006
Event Graphs - EUSecWest 2006
 
Insider Threat Visualization - HackInTheBox 2007
Insider Threat Visualization - HackInTheBox 2007Insider Threat Visualization - HackInTheBox 2007
Insider Threat Visualization - HackInTheBox 2007
 
Visual Log Analysis - DefCon 2006
Visual Log Analysis - DefCon 2006Visual Log Analysis - DefCon 2006
Visual Log Analysis - DefCon 2006
 
Log Visualization - Bellua BCS 2006
Log Visualization - Bellua BCS 2006Log Visualization - Bellua BCS 2006
Log Visualization - Bellua BCS 2006
 
Peer-to-peer Internet telephony
Peer-to-peer Internet telephonyPeer-to-peer Internet telephony
Peer-to-peer Internet telephony
 
Cont-Forensic-Analytics-Dipto-14Apr2015-post
Cont-Forensic-Analytics-Dipto-14Apr2015-postCont-Forensic-Analytics-Dipto-14Apr2015-post
Cont-Forensic-Analytics-Dipto-14Apr2015-post
 
breed_python_tx_redacted
breed_python_tx_redactedbreed_python_tx_redacted
breed_python_tx_redacted
 
Detecting Data Exfiltration on the Edge with Pixie
Detecting Data Exfiltration on the Edge with PixieDetecting Data Exfiltration on the Edge with Pixie
Detecting Data Exfiltration on the Edge with Pixie
 
The IPv6 Snort Plugin (at DeepSec 2014)
The IPv6 Snort Plugin (at DeepSec 2014)The IPv6 Snort Plugin (at DeepSec 2014)
The IPv6 Snort Plugin (at DeepSec 2014)
 
IoT Edge Data Processing with NVidia Jetson Nano oct 3 2019
IoT  Edge Data Processing with NVidia Jetson Nano oct 3 2019IoT  Edge Data Processing with NVidia Jetson Nano oct 3 2019
IoT Edge Data Processing with NVidia Jetson Nano oct 3 2019
 
HES2011 - Sebastien Tricaud - Capture me if you can
HES2011 - Sebastien Tricaud - Capture me if you canHES2011 - Sebastien Tricaud - Capture me if you can
HES2011 - Sebastien Tricaud - Capture me if you can
 
Hackito Ergo Sum 2011: Capture me if you can!
Hackito Ergo Sum 2011: Capture me if you can!Hackito Ergo Sum 2011: Capture me if you can!
Hackito Ergo Sum 2011: Capture me if you can!
 
Awalin viz sec
Awalin viz secAwalin viz sec
Awalin viz sec
 
Luiz eduardo. introduction to mobile snitch
Luiz eduardo. introduction to mobile snitchLuiz eduardo. introduction to mobile snitch
Luiz eduardo. introduction to mobile snitch
 
High Availability in 37 Easy Steps
High Availability in 37 Easy StepsHigh Availability in 37 Easy Steps
High Availability in 37 Easy Steps
 
Malware vs Big Data
Malware vs Big DataMalware vs Big Data
Malware vs Big Data
 
PinTrace Advanced AWS meetup
PinTrace Advanced AWS meetup PinTrace Advanced AWS meetup
PinTrace Advanced AWS meetup
 
Gluster Cloud Night in Tokyo 2013 -- Tips for getting started
Gluster Cloud Night in Tokyo 2013 -- Tips for getting startedGluster Cloud Night in Tokyo 2013 -- Tips for getting started
Gluster Cloud Night in Tokyo 2013 -- Tips for getting started
 
Advertising Fraud Detection at Scale at T-Mobile
Advertising Fraud Detection at Scale at T-MobileAdvertising Fraud Detection at Scale at T-Mobile
Advertising Fraud Detection at Scale at T-Mobile
 

Mehr von Raffael Marty

AI & ML in Cyber Security - Why Algorithms are Dangerous
AI & ML in Cyber Security - Why Algorithms are DangerousAI & ML in Cyber Security - Why Algorithms are Dangerous
AI & ML in Cyber Security - Why Algorithms are Dangerous
Raffael Marty
 
Delivering Security Insights with Data Analytics and Visualization
Delivering Security Insights with Data Analytics and VisualizationDelivering Security Insights with Data Analytics and Visualization
Delivering Security Insights with Data Analytics and Visualization
Raffael Marty
 

Mehr von Raffael Marty (20)

Exploring the Defender's Advantage
Exploring the Defender's AdvantageExploring the Defender's Advantage
Exploring the Defender's Advantage
 
Extended Detection and Response (XDR) An Overhyped Product Category With Ulti...
Extended Detection and Response (XDR)An Overhyped Product Category With Ulti...Extended Detection and Response (XDR)An Overhyped Product Category With Ulti...
Extended Detection and Response (XDR) An Overhyped Product Category With Ulti...
 
How To Drive Value with Security Data
How To Drive Value with Security DataHow To Drive Value with Security Data
How To Drive Value with Security Data
 
Cyber Security Beyond 2020 – Will We Learn From Our Mistakes?
Cyber Security Beyond 2020 – Will We Learn From Our Mistakes?Cyber Security Beyond 2020 – Will We Learn From Our Mistakes?
Cyber Security Beyond 2020 – Will We Learn From Our Mistakes?
 
Artificial Intelligence – Time Bomb or The Promised Land?
Artificial Intelligence – Time Bomb or The Promised Land?Artificial Intelligence – Time Bomb or The Promised Land?
Artificial Intelligence – Time Bomb or The Promised Land?
 
Understanding the "Intelligence" in AI
Understanding the "Intelligence" in AIUnderstanding the "Intelligence" in AI
Understanding the "Intelligence" in AI
 
Security Chat 5.0
Security Chat 5.0Security Chat 5.0
Security Chat 5.0
 
AI & ML in Cyber Security - Why Algorithms are Dangerous
AI & ML in Cyber Security - Why Algorithms are DangerousAI & ML in Cyber Security - Why Algorithms are Dangerous
AI & ML in Cyber Security - Why Algorithms are Dangerous
 
AI & ML in Cyber Security - Why Algorithms Are Dangerous
AI & ML in Cyber Security - Why Algorithms Are DangerousAI & ML in Cyber Security - Why Algorithms Are Dangerous
AI & ML in Cyber Security - Why Algorithms Are Dangerous
 
Delivering Security Insights with Data Analytics and Visualization
Delivering Security Insights with Data Analytics and VisualizationDelivering Security Insights with Data Analytics and Visualization
Delivering Security Insights with Data Analytics and Visualization
 
AI & ML in Cyber Security - Welcome Back to 1999 - Security Hasn't Changed
AI & ML in Cyber Security - Welcome Back to 1999 - Security Hasn't ChangedAI & ML in Cyber Security - Welcome Back to 1999 - Security Hasn't Changed
AI & ML in Cyber Security - Welcome Back to 1999 - Security Hasn't Changed
 
Security Insights at Scale
Security Insights at ScaleSecurity Insights at Scale
Security Insights at Scale
 
Creating Your Own Threat Intel Through Hunting & Visualization
Creating Your Own Threat Intel Through Hunting & VisualizationCreating Your Own Threat Intel Through Hunting & Visualization
Creating Your Own Threat Intel Through Hunting & Visualization
 
Creating Your Own Threat Intel Through Hunting & Visualization
Creating Your Own Threat Intel Through Hunting & VisualizationCreating Your Own Threat Intel Through Hunting & Visualization
Creating Your Own Threat Intel Through Hunting & Visualization
 
Visualization in the Age of Big Data
Visualization in the Age of Big DataVisualization in the Age of Big Data
Visualization in the Age of Big Data
 
Big Data Visualization
Big Data VisualizationBig Data Visualization
Big Data Visualization
 
The Heatmap
 - Why is Security Visualization so Hard?
The Heatmap
 - Why is Security Visualization so Hard?The Heatmap
 - Why is Security Visualization so Hard?
The Heatmap
 - Why is Security Visualization so Hard?
 
Workshop: Big Data Visualization for Security
Workshop: Big Data Visualization for SecurityWorkshop: Big Data Visualization for Security
Workshop: Big Data Visualization for Security
 
Visualization for Security
Visualization for SecurityVisualization for Security
Visualization for Security
 
The Heatmap
 - Why is Security Visualization so Hard?
The Heatmap
 - Why is Security Visualization so Hard?The Heatmap
 - Why is Security Visualization so Hard?
The Heatmap
 - Why is Security Visualization so Hard?
 

Kürzlich hochgeladen

Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 

Kürzlich hochgeladen (20)

A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of Brazil
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation Strategies
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 

Insider Threat – The Visual Conviction - FIRST 2007 - Sevilla

  • 1. Insider Threat – The Visual Conviction Raffael Marty, GCIA, CISSP Manager Solutions @ ArcSight, Inc. FIRST – June 2007 – Seville Copyright (c) 2007 by by Raffael Marty Copyright (c) 2007 Raffael Marty
  • 2. Who Am I? http://raffy.ch/blog ● Raffael Marty, GCIA, CISSP ● Manager Solutions @ ArcSight, Inc. ● Log management, correlation ● Regulatory compliance ● Intrusion Detection Research @ IBM Research ● http://thor.cryptojail.net ● IT Security Consultant @ PriceWaterhouse Coopers ● Open Vulnerability and Assessment Language (OVAL) board member ● Common Event Enumeration (CEE) founding member Copyright (c) 2007 by Raffael Marty
  • 3. Who Am I? http://raffy.ch/blog ● Passion for Visual Security Event Analysis ● http://secviz.org ● http://afterglow.sourceforge.net ● http://raffy.ch/blog Copyright (c) 2007 by Raffael Marty
  • 4. My Books / Book Contributions Applied Security Visualization Paperback: 350 pages Publisher: Addison Wesley (February, 2008) ISBN: 0321510100 How to Cheat at Configuring Open Source Security Tools Paperback: 504 pages Publisher: Syngress Publishing (May 1, 2007) ISBN: 1597491705 Security Data Visualization Paperback: 256 pages Publisher: No Starch Press (August 25, 2007) ISBN: 1593271433 Snort IDS and IPS Toolkit Paperback: Publisher: Syngress Publishing (April 20, 2007) ISBN: 1-59749-099-7 Copyright (c) 2007 by Raffael Marty
  • 5. Agenda ● Visualization ● Insider Threat Theory ● Log Data Processing ● Open Source Visualization Tools ● Visualization Exercise with AfterGlow ● Simple I-Threat Visualizations ● DuPont Information Leak ● SAP Fraud Detection Copyright (c) 2007 by Raffael Marty
  • 6. Agenda ● Insider Detection Process (IDP) ● Applying IDP (Exercise) ● Insider Threat Solution ● Round Up Copyright (c) 2007 by Raffael Marty
  • 7. Disclaimer IP addresses and host names showing up in event graphs and descriptions were obfuscated/changed. The addresses are completely random and any resemblance with well-known addresses or host names are purely coincidental. Copyright (c) 2007 by Raffael Marty
  • 9. A Picture is Worth a Thousand Log Entries Detect the Expected Detect the Expected & Discover the Unexpected & Discover the Unexpected Reduce Analysis and Response Times Reduce Analysis and Response Times Make Better Decisions Make Better Decisions Copyright (c) 2007 by Raffael Marty
  • 10. Text or Visuals? ► What would you rather look at? Jun 17 09:42:30 rmarty ifup: Determining IP information for eth0... Jun 17 09:42:35 rmarty ifup: failed; no link present. Check cable? Jun 17 09:42:35 rmarty network: Bringing up interface eth0: failed Jun 17 09:42:38 rmarty sendmail: sendmail shutdown succeeded Jun 17 09:42:38 rmarty sendmail: sm-client shutdown succeeded Jun 17 09:42:39 rmarty sendmail: sendmail startup succeeded Jun 17 09:42:39 rmarty sendmail: sm-client startup succeeded Jun 17 09:43:39 rmarty vmnet-dhcpd: DHCPINFORM from 172.16.48.128 Jun 17 09:45:42 rmarty last message repeated 2 times Jun 17 09:45:47 rmarty vmnet-dhcpd: DHCPINFORM from 172.16.48.128 Jun 17 09:56:02 rmarty vmnet-dhcpd: DHCPDISCOVER from 00:0c:29:b7:b2:47 via vmnet8 Jun 17 09:56:03 rmarty vmnet-dhcpd: DHCPOFFER on 172.16.48.128 to 00:0c:29:b7:b2:47 via vmnet8 Jun 17 09:56:03 rmarty vmnet-dhcpd: DHCPREQUEST for 172.16.48.128 from 00:0c:29:b7:b2:47 via vmnet8 Jun 17 09:56:03 rmarty vmnet-dhcpd: DHCPACK on 172.16.48.128 to 00:0c:29:b7:b2:47 via vmnet8 Jun 17 10:00:03 rmarty crond(pam_unix)[30534]: session opened for user root by (uid=0) Jun 17 10:00:10 rmarty crond(pam_unix)[30534]: session closed for user root Jun 17 10:01:02 rmarty crond(pam_unix)[30551]: session opened for user root by (uid=0) Jun 17 10:01:07 rmarty crond(pam_unix)[30551]: session closed for user root Jun 17 10:05:02 rmarty crond(pam_unix)[30567]: session opened for user idabench by (uid=0) Jun 17 10:05:05 rmarty crond(pam_unix)[30567]: session closed for user idabench Jun 17 10:13:05 rmarty portsentry[4797]: attackalert: UDP scan from host: 192.168.80.19/192.168.80.19 to UDP port: 192 Jun 17 10:13:05 rmarty portsentry[4797]: attackalert: Host: 192.168.80.19/192.168.80.19 is already blocked Ignoring Jun 17 10:14:09 rmarty portsentry[4797]: attackalert: UDP scan from host: 192.168.80.8/192.168.80.8 to UDP port: 68 Jun 17 10:14:09 rmarty portsentry[4797]: attackalert: Host: 192.168.80.8/192.168.80.8 is already blocked Ignoring Jun 17 10:14:09 rmarty portsentry[4797]: attackalert: UDP scan from host: 192.168.80.8/192.168.80.8 to UDP port: 68 Jun 17 10:14:09 rmarty portsentry[4797]: attackalert: Host: 192.168.80.8/192.168.80.8 is already blocked Ignoring Jun 17 10:21:30 rmarty portsentry[4797]: attackalert: UDP scan from host: 192.168.80.8/192.168.80.8 to UDP port: 68 Jun 17 10:21:30 rmarty portsentry[4797]: attackalert: Host: 192.168.80.8/192.168.80.8 is already blocked Ignoring Jun 17 10:28:40 rmarty vmnet-dhcpd: DHCPDISCOVER from 00:0c:29:b7:b2:47 via vmnet8 Jun 17 10:28:41 rmarty vmnet-dhcpd: DHCPOFFER on 172.16.48.128 to 00:0c:29:b7:b2:47 via vmnet8 Jun 17 10:28:41 rmarty vmnet-dhcpd: DHCPREQUEST for 172.16.48.128 from 00:0c:29:b7:b2:47 via vmnet8 Jun 17 10:28:45 rmarty vmnet-dhcpd: DHCPACK on 172.16.48.128 to 00:0c:29:b7:b2:47 via vmnet8 Jun 17 10:30:47 rmarty portsentry[4797]: attackalert: UDP scan from host: 192.168.80.8/192.168.80.8 to UDP port: 68 Jun 17 10:30:47 rmarty portsentry[4797]: attackalert: Host: 192.168.80.8/192.168.80.8 is already blocked Ignoring Jun 17 10:30:47 rmarty portsentry[4797]: attackalert: UDP scan from host: 192.168.80.8/192.168.80.8 to UDP port: 68 Jun 17 10:30:47 rmarty portsentry[4797]: attackalert: Host: 192.168.80.8/192.168.80.8 is already blocked Ignoring Jun 17 10:35:28 rmarty vmnet-dhcpd: DHCPINFORM from 172.16.48.128 Jun 17 10:35:31 rmarty vmnet-dhcpd: DHCPINFORM from 172.16.48.128 Jun 17 10:38:51 rmarty vmnet-dhcpd: DHCPREQUEST for 172.16.48.128 from 00:0c:29:b7:b2:47 via vmnet8 Jun 17 10:38:52 rmarty vmnet-dhcpd: DHCPACK on 172.16.48.128 to 00:0c:29:b7:b2:47 via vmnet8 Jun 17 10:42:35 rmarty vmnet-dhcpd: DHCPINFORM from 172.16.48.128 Jun 17 10:42:38 rmarty vmnet-dhcpd: DHCPINFORM from 172.16.48.128 Copyright (c) 2007 by Raffael Marty
  • 11. Why a Visual Approach Helps A picture tells more than a thousand log lines ► Reduce analysis and response times • Quickly visualize thousands of events ► Make better decisions • Situational awareness • Visualize status of business posture • Visual display of most important properties ► Be more efficient • Facilitate communication • Use graphs to communicate with other teams • Graphs are easier to understand than textual events Copyright (c) 2007 by Raffael Marty
  • 12. Insider Threat Visualization ► Huge amounts of data • More and other data sources than for the traditional security use-cases • Insiders often have legitimate access to machines and data. You need to log more than the exceptions. • Insider crimes are often executed on the application layer. You need transaction data and chatty application logs. ► The questions are not known in advance! • Visualization provokes questions and helps find answers. ► Dynamic nature of fraud • Problem for static algorithms. • Bandits quickly adapt to fixed threshold-based detection systems. • Looking for any unusual patterns Copyright (c) 2007 by Raffael Marty
  • 13. Graph Types Simple Charts Bar Charts Pie Charts Where Line Charts 8 6 outside on_server Frequency 4 2 past_screening 0 on_server outside past_screening Where Scatter Plots 3D Scatter Plots Link Graphs Copyright (c) 2007 by Raffael Marty
  • 14. Graph Types Multivariate Graphs Link Graphs Parallel Coordinates II like this word! like this word! TreeMaps Copyright (c) 2007 by Raffael Marty
  • 15. Multivariate Graphs Link Graphs Copyright (c) 2007 by Raffael Marty
  • 16. Link Graphs Data Mapping Raw Event: [**] [1:1923:2] RPC portmap UDP proxy attempt [**] [Classification: Decode of an RPC Query] [Priority: 2] 06/04-15:56:28.219753 192.168.10.90:32859 -> 192.168.10.255:111 UDP TTL:64 TOS:0x0 ID:0 IpLen:20 DgmLen:148 DF Len: 120 Different node configurations: SIP Name DIP SIP DIP DPort 192.168.10.90 RPC portmap 192.168.10.255 192.168.10.90 192.168.10.255 111 SIP SPort DPort Name SIP DIP 192.168.10.90 32859 111 RPC portmap 192.168.10.90 192.168.10.255 Copyright (c) 2007 by Raffael Marty
  • 17. Tree Maps What is this? What is this? UDP TCP HTTP DNS UDP All Network TCP Traffic SSH SNMP FTP Copyright (c) 2007 by Raffael Marty
  • 18. Tree Maps 20% 80% UDP TCP Configuration (Hierarchy): Protocol Copyright (c) 2007 by Raffael Marty
  • 19. Tree Maps UDP TCP HTTP DNS UDP TCP SSH SNMP FTP Configuration (Hierarchy): Protocol -> Service Size: Count Color: Protocol Copyright (c) 2007 by Raffael Marty
  • 20. Tree Maps Advanced Usage ► More than three dimensions ► Probably less than 5 dimensions ► Color and Size • Additional dimensions • Not shown in the “main” hierarchy Copyright (c) 2007 by Raffael Marty
  • 21. Parallel Coordinates Action Rule SIP Asset Role DIP Flag n dimensions Selection Selection n dimensions propagates propagates Size proportional Size proportional to occurrence to occurrence Copyright (c) 2007 by Raffael Marty
  • 22. Questions and Answers Copyright (c) 2007 by Raffael Marty
  • 23. Thank You Raffael Marty Manager Solutions ArcSight, Inc. raffy@secviz.org Security Data Visualization www.secviz.org Copyright (c) 2007 by Raffael Marty
  • 24. Insider Threat Theory Raffael Marty, GCIA, CISSP Manager Solutions @ ArcSight, Inc. FIRST – June 2007 – Seville
  • 25. Agenda ● Visualization ● Insider Threat Theory ● Log Data Processing ● Open Source Visualization Tools ● Visualization Exercise with AfterGlow ● Simple I-Threat Visualizations ● DuPont Information Leak ● SAP Fraud Detection
  • 26. Insider Threat Definition "Current or former employee or contractors who • intentionally exceeded or misused an authorized level of access to networks, systems or data in a manner that • targeted a specific individual or affected the security of the organization’s data, systems and/or daily business operations" [CERT: http://www.cert.org/insider_threat Definition of an Insider]
  • 27. Insider Threat Three Types of Insider Threat Information Fraud Theft Sabotage
  • 28. Insider Threat Information Theft Information Theft is concerned with stealing of confidential or proprietary information. This includes things like financial statements, intellectual property, design plans, source code, trade secrets, etc.
  • 29. Insider Threat Information Theft ► Hard to stop: • Cell Phones / iPods / USB sticks • Email • Hard copies (printer) ► Information is intangible. How do you protect that?
  • 30. Insider Threat Information Protection ► Information Leak Prevention Extrusion Detection ► Document Management ► Policies and Procedures ► Awareness ► Document Classification ►…
  • 31. Insider Threat Fraud Fraud deals with the misuse of access privileges or the intentional excess of access levels to obtain property or services unjustly through deception or trickery.
  • 32. Insider Threat Type of Fraud ► Real estate ► Insurance ► Tax ► Bank ► Occupational ► Financial Statement
  • 33. Insider Threat Fraud Detection ► Various different approaches • User Identification • Transaction verification / checks and balances • Separation of Duties
  • 34. Insider Threat Sabotage Sabotage has to do with any kind of action to harm individuals, organizations, organizational data, systems, or business operations.
  • 35. Insider Threat Sabotage ► Information Destruction ► Denial of Service ► Theft ► Harm to organization of individuals
  • 36. Insider Threat Sabotage Detection ► How can you detect this? ► Wouldn’t it be too late if you detected sabotage?
  • 37. Insider Threat Personae Why are They Important? ►Understand who is behind the crime. ►Know what to look for ►Stop insiders before they become a problem
  • 38. Insider Persona Information Thieves ► Former employees or employees on their way out ► Three types • Financially motivated • Employees taking information to new job (starting new company) • Embarrass former employee (organization or individual) ► Using their access privileges and in some cases compromised accounts ► Mostly committed crime from within workspace
  • 39. Insider Persona Fraudsters ► Current employees ► Using their own account and access privileges ► Generally have system administration or privileged access ► While financially motivated, fraudsters are in general not in financial need ► Generally no sophisticated attack methods (such as exploits) ► Mostly committed crime from within workspace
  • 40. Insider Persona Saboteur ► Former employees ► Revenge for negative event (fired, no bonus, new boss, etc.) ► Generally (used to) have system administration or privileged access ► No authorized access when committing crime ► Mostly using compromised accounts, some using backdoor accounts ► Some using technically sophisticated means (scripts as logic bombs, etc.) ► Some took preparatory action
  • 42. Thank You Raffael Marty Manager Solutions ArcSight, Inc. raffy@secviz.org Security Data Visualization www.secviz.org
  • 43. Insider Threat – Log Data Processing Raffael Marty, GCIA, CISSP Manager Solutions @ ArcSight, Inc. FIRST – June 2007 – Seville
  • 44. Agenda ● Visualization ● Insider Threat Theory ● Log Data Processing ● Open Source Visualization Tools ● Visualization Exercise with AfterGlow ● Simple I-Threat Visualizations ● DuPont Information Leak ● SAP Fraud Detection
  • 45. What Tools Are You Using For Log Processing?
  • 46. How To Generate A Graph ... | Normalization | ... Device Parser Event Visualizer Jun 17 09:42:30 rmarty ifup: Determining IP information for eth0... Jun 17 09:42:35 rmarty ifup: failed; no link present. Check cable? Jun 17 09:42:35 rmarty network: Bringing up interface eth0: failed Jun 17 09:42:38 rmarty sendmail: sendmail shutdown succeeded Jun 17 09:42:38 rmarty sendmail: sm-client shutdown succeeded Jun 17 09:42:39 rmarty sendmail: sendmail startup succeeded Jun 17 09:42:39 rmarty sendmail: sm-client startup succeeded Jun 17 09:43:39 rmarty vmnet-dhcpd: DHCPINFORM from 172.16.48.128 Jun 17 09:45:42 rmarty last message repeated 2 times Jun 17 09:45:47 rmarty vmnet-dhcpd: DHCPINFORM from 172.16.48.128 Jun 17 09:56:02 rmarty vmnet-dhcpd: DHCPDISCOVER from 00:0c:29:b7:b2:47 via vmnet8 Jun NH 17 09:56:03 rmarty vmnet-dhcpd: DHCPOFFER on 172.16.48.128 to 00:0c:29:b7:b2:47 via vmnet8 Visual Log File
  • 47. UNIX Tools ► awk awk –F, ‘{printf(“%s,%s”,$2,$1);}’ ► Sed sed 's/fubar/foobar/' filename ► Grep cat file | grep –v
  • 48. Regular Expressions What? ►Text processing • Searching • Replacing • Extracting ►Example Raf{2}a.l Mart[yi]
  • 49. Regular Expressions Basics ^ Beginning of string $ End of string . Any character [ Start of character list ] End of character list ( Start of expression group ) End of expression group | ORs two expressions Escape character * Preceding expression occurs zero or more times ? Preceding expression occurs zero or one times + Preceding expression occurs one or more times
  • 50. Regular Expressions Examples ► Searching • perl -ne 'print if (/^1/)' file.txt • egrep '^1[0-9]+ +K' file.txt ► Replacing • perl -pe 's/^ +//' phonelist.txt • sed 's/^$/d' price.txt ► Extracting • perl -pe 's/.*(IN=[^ ]*).*/1/’
  • 51. Regular Expressions Advanced ► Greedy vs. non-greedy Apr 17 08:22:27 rmarty kernel: OutputIN= OUT=vmnet8 SRC=192.168.170.1 DST=192.168.170.255 LEN=258 TOS=0x00 PREC=0x00 TTL=64 ID=0 DF PROTO=UDP SPT=138 DPT=138 LEN=238 perl -pe 's/.*(OUT=.*) .*/1/’ OUT=vmnet8 SRC=192.168.170.1 DST=192.168.170.255 LEN=258 TOS=0x00 PREC=0x00 TTL=64 perl -pePROTO=UDP SPT=138 DPT=138 LEN=238 ID=0 DF 's/.*(OUT=.*?) .*/1/’ OUT=vmnet8
  • 52. Regular Expressions Advanced ► Crazy example: Creates an index of links from a HTML file s/<[ ]*[Aa][ ]*[Hh][Rr][Ee][Ff]/<a href/g :loop /<a href *= *"[^#]/{; x; s/[^n]*/&;9876543210 999990000099990000999000990090;/ s/([0-8]{0,1})(9*);[^1]*(.)1[^;]*2(0*)[^;]*;(.*)/345/ x; G; s <a href *= *("([^"]+)"[^>]*>)([^n]*(n))([^n]*)(.*$) <||||||=1[5] 35464[5] 2<br> h; s/[^n]*n// x s/n.*// b loop; } s/<||||||/<a href/g; /</[Bb][Oo][Dd][Yy]>/{ G s/(</[Bb][Oo][Dd][Yy]>[^n]*)n[^n]*n*(.*)/<hr>21/; }
  • 53. PERL ► Simple tools: (Stolen from: http://raffy.ch/blog/2007/02/24/geo-lookup-on-the-command-line/) 10/13/2005 20:25:54.032145,195.141.211.178,195.131.61.44,2071,135 I want to get the country of the source address (first IP in the log): cat pflog.csv | perl -M'Geo::IPfree' -na -F/,/ -e '($country,$country_name)=Geo::IPfree::LookUp($F[1]);ch omp; print "$_,$country_namen"' And here the output: 10/13/2005 20:24:33.494358,62.245.243.139,212.254.111.99,,echo request,Europe
  • 55. Different Data Sources ► PCAP ► Firewall (PF) • IP Tables and why its logging is bad ► Argus ► Snort
  • 56. PCAP ► Packet Captures ► Binary format ► tcpdump –nnlr <file>
  • 57. PF Firewall ► OpenBSD Firewall Feb 18 13:39:27.977280 rule 71/0(match): pass in on xl0: 195.27.249.139.63285 > 195.141.69.42.80: S 340743432:340743432(0) win 32768 <mss 1460,nop,wscale 0,nop,nop,timestamp 24078 0> (DF) ► Reading the file/interface (which is in pseudo PCAP): tcpdump –nnli pflog ► Make sure you are using the OpenBSD tcpdump!!
  • 58. Argus ram@rmarty$ man 8 argus “Argus is an IP transaction auditing tool that categorizes IP packets which match the boolean expression into a protocol-specific network transaction model. Argus reports on the transactions that it discovers, as they occur.”
  • 59. Argus Output 10 Apr 06 10:55:46 * tcp 217.118.195.58.22 ?> 65.219.2.99.37065 1280 1550 309440 23952 RST ► Timestamp ► Protocol ► SourceIP . SourcePort ► Directon ► DestiationIP . DestinationPort ► PacketsIn and PacketsOut ► BytesIn and BytesOut ► Status
  • 61. Parsers ► Parser? “To analyze or separate (input, for example) into more easily processed components.” (answers.com) ► Interpret Data ► Knows data format ► Re-use don’t re-invent! ► The UNIX Paradigm: Work in a pipe! ► Some available on: http://secviz.org/?q=node/8
  • 62. AfterGlow Parsers ► tcpdump2csv.pl • Takes care of swapping response source and targets tcpdump -vttttnnelr /tmp/log.tcpdump | [ ./tcpdump2csv.pl "sip dip sport" ► sendmail_parser.pl • Reassemble email conversations: Jul 24 21:01:16 rmarty sendmail[17072]: j6P41Gqt017072: from=<root@localhost.localdomain>, size=650, class=0, nrcpts=1, Jul 24 21:01:16 rmarty sendmail[17073]: j6P41Gqt017072: to=ram, ctladdr=<root@localhost.localdomain> (0/0), delay=00:00:00, xdelay=00:00:00, mailer=local, pri=30881, dsn=2.0.0, stat=Sent
  • 63. AfterGlow Parsers ► Argus2csv.pl ragator -r file.argus -nn -A -s +dur -s +sttl -s +dttl | ./argus2csv.pl “src dst pkts” ► pf2csv.pl • Parsing OpenBSD pf output tcpdump –nnli pflog | ./pflog.pl “src dst rule” ► snortalert2csv.pl cat alert | ./snortalert2csv.pl “name src dport”
  • 64. AfterGlow Log Analysis Tools ► These tools are part of AfterGlow 1.5.8 ► mergeLogs.pl ./merge_logs.pl lookup.csv file.csv lookup.csv file.csv Account Sharing,9 rweiss,AV disabled AV disabled,10 wcwu,Account Sharing Backdoor Access,10 bgrosof,Backdoor Access Customer Data Access,2 Output: rweiss,AV disabled,10 wcwu,Account Sharing,8 bgrosof,Backdoor Access,10
  • 65. AfterGlow Log Analysis Tools • anonymize.pl cat file | ./anonymize.pl -c 1 -p user Original: rweiss,AV disabled wcwu,Internal Recon bgrosof,Source Code Access Anonymized: user1,AV disabled user2,Internal Recon user3,Source Code Access
  • 67. Thank You Raffael Marty Manager Solutions ArcSight, Inc. raffy@secviz.org Security Data Visualization www.secviz.org
  • 68. Insider Threat – Open Source Tools Raffael Marty, GCIA, CISSP Manager Solutions @ ArcSight, Inc. FIRST – June 2007 – Seville
  • 69. Agenda ● Visualization ● Insider Threat Theory ● Log Data Processing ● Open Source Visualization Tools ● Visualization Exercise with AfterGlow ● Simple I-Threat Visualizations ● DuPont Information Leak ● SAP Fraud Detection
  • 70. What are some tools? ► AfterGlow 1.5.8 http://afterglow.sourceforge.net ► Treemap2 www.cs.umd.edu/hcil/treemap/ ►…
  • 71. AfterGlow 1.x - Perl Parser AfterGlow Grapher Graph CSV File LanguageFile ► Supported graphing tools: • GraphViz from AT&T (dot, neato, circo, twopi) http://www.graphviz.org • LGL (Large Graph Layout) by Alex Adai http://bioinformatics.icmb.utexas.edu/lgl/
  • 72. AfterGlow 1.x Parser AfterGlow Grapher Graph CSV File LanguageFile aaelenes,Printing Resume digraph structs { abbe,Information Encrytion graph [label="AfterGlow 1.5.8", fontsize=8]; aanna,Patent Access node [shape=ellipse, style=filled, aatharuy,Ping fontsize=10, width=1, height=1, fixedsize=true]; edge [len=1.6]; "aaelenes" -> "Printing Resume" ; "abbe" -> "Information Encryption" ; "aanna" -> "Patent Access" ; "aatharuv" -> "Ping" ; }
  • 73. AfterGlow 1.x Features ► Generate Link Graphs ► Filtering Nodes • Based on name • Based on number of occurrences Fan Out: 3 ► Fan Out Filtering ► Coloring • Edges • Nodes ► Clustering
  • 74. AfterGlow 1.x Features ► Node Sizes • Auto adjustment ► Variables
  • 75. AfterGlow 1.x Property File – Color Definition Coloring: color.[source|event|target|edge|sourcetarget]= <perl expression returning a color name> Array @fields contains input-line, split into tokens: color.event=“red” if ($fields[1] =~ /^192..*) Filter nodes with “invisible” color: color.target=“invisible” if ($fields[0] eq “IIS Action”)
  • 76. AfterGlow 1.x Hello World Input Data: Command: a,b cat file | ./afterglow –c simple.properties –t neato –Tgif –o test.gif a,c b,c simple.properties: d,e color.source=“green” if ($fields[0] ne “d”) color.target=“blue” if ($fields[1] ne “e”) Output: d color.source=“red” color=“green” b e a c
  • 77. AfterGlow 1.x Property File – Threshold Threshold: threshold.[source|event|targe]=<value>
  • 78. AfterGlow 1.x Property File – Clustering and Node Sizes Clustering: cluster.[source|event|target]= <perl expression returning a cluster name> Node Sizes: size.[source|event|target]= <perl expression returning a number> Maxnodesize=<value> sum.[source|event|target]=[0|1]
  • 79. AfterGlow 1.x Property File – Variables Variables # Watch Lists Definition: variable=@privileged=( "aaerchak" ); Use: color.target="gold" if (grep(/$fields[0]/,@privileged)); There are no limits on what you do with the “variables” keyword! You can put entire scripts in there!
  • 80. AfterGlow 1.x Running AfterGlow cat data | ./afterglow.pl –c file.prop | neato -Tgif -otest.gif Usage: perl afterglow.pl [-adhnstv] … -a : turn off labelelling of the output graph with the configuration used -b lines : number of lines to skip (e.g., 1 for header line) -c conffile : color config file -d : print node count -e length : edge length -f threshold : source fan out threshold -g threshold : event fan out threshold (only in three node mode) -h : this (help) message -l lines : the maximum number of lines to read -m : the maximum size for a node -n : don't print node labels -o threshold : omit threshold (minimum count for nodes to be displayed) Non-connected nodes will be filtered too. -p mode : split mode for predicate nodes where mode is 0 = only one unique predicate node (default) 1 = one predicate node per unique subject node. 2 = one predicate node per unique target node. 3 = one predicate node per unique source/target node. -s : split subject and object nodes -t : two node mode (skip over objects) -v : verbose output -x : text label color
  • 81. AfterGlow 1.x Some Property File Examples # Variable and Color variable=@violation=("Backdoor Access", "HackerTool Download”); color.target="orange" if (grep(/$fields[1]/,@violation)); color.target="palegreen" # Node Size and Threshold maxnodesize=1; size.source=$fields[2] size=0.5 sum.target=0; threshold.source=14; # Color and Cluster color.source="palegreen" if ($fields[0] =~ /^111/) color.source="red" color.target="palegreen" cluster.source=regex_replace("(d+).d+")."/8"
  • 82. AfterGlow AfterGlow AfterGlow Demo Demo
  • 83. Treemap Input TM3 file (I am going to use a simple, but practical form!) Tab delimited Two special header lines Target System Target System DIP DIP Action Action STRING STRING STRING STRING STRING STRING Financial System Financial System 212.254.109.27 212.254.109.27 pass pass Financial System Financial System 212.254.109.27 212.254.109.27 block block Financial System Financial System 212.254.110.102 212.254.110.102 pass pass Mail Server Mail Server 212.254.110.99 block 212.254.110.99 block Mail Server Mail Server 212.254.110.97 block 212.254.110.97 block
  • 84. Treemap Input - Header First Header Line: Column Names Second Header Line: Data Types Count Target System Count Target System DIP DIP Action Action INTEGER STRING STRING STRING INTEGER STRING STRING STRING
  • 85. Treemap Treemap2 Treemap2 Treemap2 Demo Demo
  • 86. Agenda ● Visualization ● Insider Threat Theory ● Log Data Processing ● Open Source Visualization Tools ● Visualization Exercise with AfterGlow ● Simple I-Threat Visualizations ● DuPont Information Leak ● SAP Fraud Detection
  • 88. Thank You Raffael Marty Manager Solutions ArcSight, Inc. raffy@secviz.org Security Data Visualization www.secviz.org
  • 89. Insider Threat – Simple iThreat Example Raffael Marty, GCIA, CISSP Manager Solutions @ ArcSight, Inc. FIRST – June 2007 – Seville Copyright (c) 2007 by by Raffael Marty Copyright (c) 2007 Raffael Marty
  • 90. Agenda ● Visualization ● Insider Threat Theory ● Log Data Processing ● Open Source Visualization Tools ● Visualization Exercise with AfterGlow ● Simple I-Threat Visualizations ● DuPont Information Leak ● SAP Fraud Detection Copyright (c) 2007 by Raffael Marty
  • 91. DuPont Case ► In February of 2007 a fairly large information leak case made the news. The scientist Gary Min faces up to 10 years in prison for stealing 16,706 documents and over 22,000 scientific abstracts from his employer DuPont. The intellectual property he was about to leak to a DuPont competitor, Victrex, was assessed to be worth $400 million. There is no evidence Gary actually turned the documents over to Victrex. Copyright (c) 2007 by Raffael Marty
  • 92. DuPont Case How it Could Have Been Prevented What’s the Answer? What’s the Answer? Copyright (c) 2007 by Raffael Marty
  • 93. DuPont Case A Simple Solution Log Collection Log Collection Copyright (c) 2007 by Raffael Marty
  • 94. DuPont Case A Simple Solution Copyright (c) 2007 by Raffael Marty
  • 95. DuPont Case A Not so Targeted Solution Size: #accesses user server Copyright (c) 2007 by Raffael Marty
  • 96. Questions and Answers Copyright (c) 2007 by Raffael Marty
  • 97. Thank You Raffael Marty Manager Solutions ArcSight, Inc. raffy@secviz.org Security Data Visualization www.secviz.org Copyright (c) 2007 by Raffael Marty
  • 98. Insider Detection Process Raffael Marty, GCIA, CISSP Manager Solutions @ ArcSight, Inc. FIRST – June 2007 – Seville Copyright (c) 2007 by by Raffael Marty Copyright (c) 2007 Raffael Marty
  • 99. Agenda ● Insider Detection Process (IDP) ● Applying IDP (Exercise) ● Insider Threat Solution ● Round Up Copyright (c) 2007 by Raffael Marty
  • 100. Insider Threat Detection Process Overview ► Intro ► Precursors ► Scoring Precursors ► Visualizing ► Watch Lists ► Advanced Scoring Copyright (c) 2007 by Raffael Marty
  • 101. Insider Threat Detection Process Intro ► The following Insider Threat Detection Process is • Ongoing research • A proposed approach • Not a guarantee for success • Probably going to fail in your environment • A lot of work to execute • Incredibly interesting and generates nice graphs ► Related Work: (no visualization, but uses precursors) • “ELICIT: A System for Detecting Insiders Who Violate Need- to-know”, Mark Maloof and Greg Stephens Copyright (c) 2007 by Raffael Marty
  • 102. Insider Threat Detection Process Precursors ►A precursor is an activity that when observed, flags the associated user as a potential insider. Some research calls this “detectors”. ► Examples: • Printing off-hours • Downloading Hacker Tools • Accessing documents outside of user’s role • Use of anonymous proxy Copyright (c) 2007 by Raffael Marty
  • 103. Insider Threat Detection Process Scoring Precursors ► Each precursor can be assigned a score which reflects the extent to which the precursor classifies someone as an insider. If I actually new some math, ► Factors to consider: I would use a Bayesian Inference network for this ;-) • Impact of action • Rate of False Positives • Is this okay for some user roles? Copyright (c) 2007 by Raffael Marty
  • 104. Insider Threat Detection Process Visualization ► User -> Precursor -> Score ► Find outliers • Based on groups of users with similar behavior • Based on scores Copyright (c) 2007 by Raffael Marty
  • 105. Insider Threat Detection Process Visualization – Groups of Users Copyright (c) 2007 by Raffael Marty
  • 106. Insider Threat Detection Process Visualization – User Scores Copyright (c) 2007 by Raffael Marty
  • 107. Insider Threat Detection Process Watch Lists ► Keep track of specific users • Privileged accounts • Contractors • Terminated Employees Copyright (c) 2007 by Raffael Marty
  • 108. Insider Threat Detection Process Advanced Scoring ► Based on the watch lists, adjust the precursor scores for these users. ► For example, a user name on the terminated employees list: +5! Copyright (c) 2007 by Raffael Marty
  • 109. Insider Threat Detection Process Advanced Watch List Application ► Do role-based behavior assessment based on watch lists ► Color users based on watch list ► Quickly spot groups, outliers, anomalies Copyright (c) 2007 by Raffael Marty
  • 110. Insider Threat Detection Process Scoring and Coloring based on Watch Lists Copyright (c) 2007 by Raffael Marty
  • 111. Insider Threat Detection Process Precursor Categories ► Problem of scoring so far: • Repetitive “not so bad” behavior escalates a user immediately. ► Group precursors: 1. Minimal or no impact 2. Signs of a setup for a malicious act 3. Malicious behavior, normal for some users 4. Malicious behavior, this should _never_ happen 5. The insider crime itself Copyright (c) 2007 by Raffael Marty
  • 112. Insider Threat Detection Process User Tiers ► User can accumulate a max of 20 points per category ► Categorize users based on score: Nothing to On a bad track of Very likely Malicious worry about just going malicious has malicious Insiders yet intentions 0 20 60 80 100 Copyright (c) 2007 by Raffael Marty
  • 113. Questions and Answers Copyright (c) 2007 by Raffael Marty
  • 114. Thank You Raffael Marty Manager Solutions ArcSight, Inc. raffy@secviz.org Security Data Visualization www.secviz.org Copyright (c) 2007 by Raffael Marty