designing a web of highly-configurable intrusion detection sensors · 2015. 3. 25. · a web of...

29
Designing a Web of Highly-Configurable Designing a Web of Highly-Configurable Intrusion Detection Sensors Intrusion Detection Sensors Giovanni Giovanni Vigna Vigna, Richard A. Kemmerer, and Per , Richard A. Kemmerer, and Per Blix Blix RAID 2001 RAID 2001 Reliable Software Group Reliable Software Group University of California Santa Barbara University of California Santa Barbara http://www. http://www. cs cs.ucsb ucsb.edu edu/~ /~rsg rsg

Upload: others

Post on 07-Oct-2020

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Designing a Web of Highly-Configurable Intrusion Detection Sensors · 2015. 3. 25. · A Web Of Sensors Module Database Sensor Database Alert Database Sensor Proxy MetaSTAT. STAT

Designing a Web of Highly-ConfigurableDesigning a Web of Highly-ConfigurableIntrusion Detection SensorsIntrusion Detection Sensors

Giovanni Giovanni VignaVigna, Richard A. Kemmerer, and Per , Richard A. Kemmerer, and Per BlixBlixRAID 2001RAID 2001

Reliable Software GroupReliable Software GroupUniversity of California Santa BarbaraUniversity of California Santa Barbara

http://www.http://www.cscs..ucsbucsb..eduedu/~/~rsgrsg

Page 2: Designing a Web of Highly-Configurable Intrusion Detection Sensors · 2015. 3. 25. · A Web Of Sensors Module Database Sensor Database Alert Database Sensor Proxy MetaSTAT. STAT

STAT

2

Intrusion DetectionIntrusion Detection

•• Intrusion detection traditionally based on analysis of low-Intrusion detection traditionally based on analysis of low-level events: network packets, system calls, audit recordslevel events: network packets, system calls, audit records

•• Intrusion detection has evolved in several waysIntrusion detection has evolved in several ways–– New analysis techniquesNew analysis techniques–– Multiple event sources, possibly introducing distributionMultiple event sources, possibly introducing distribution–– Abstraction: fusion/correlation of high-level events, e.g., alertsAbstraction: fusion/correlation of high-level events, e.g., alerts

•• Monitor and surveillance functionality always/still based onMonitor and surveillance functionality always/still based onsensorssensors

Page 3: Designing a Web of Highly-Configurable Intrusion Detection Sensors · 2015. 3. 25. · A Web Of Sensors Module Database Sensor Database Alert Database Sensor Proxy MetaSTAT. STAT

STAT

3

Intrusion DetectionIntrusion DetectionSensor LimitationsSensor Limitations

•• Sensors are developed in an ad hoc fashion to matchSensors are developed in an ad hoc fashion to matchspecific environments/domains/event sourcesspecific environments/domains/event sources

•• Sensors are hard to configureSensors are hard to configure•• Sensors are hard to controlSensors are hard to control•• Sensors are hard to extendSensors are hard to extend•• Configuration/control/extension is mostly executed staticallyConfiguration/control/extension is mostly executed statically•• Configuration is mostly done manuallyConfiguration is mostly done manually•• Identifying “meaningful” sensor configuration can be difficultIdentifying “meaningful” sensor configuration can be difficult•• Number of sensors that can be easily managed is smallNumber of sensors that can be easily managed is small

Page 4: Designing a Web of Highly-Configurable Intrusion Detection Sensors · 2015. 3. 25. · A Web Of Sensors Module Database Sensor Database Alert Database Sensor Proxy MetaSTAT. STAT

STAT

4

A Web of SensorsA Web of Sensors

•• Set of heterogeneous sensors that provide intrusionSet of heterogeneous sensors that provide intrusiondetection functionality within a protected networkdetection functionality within a protected network–– STAT FrameworkSTAT Framework–– STATL and the STAT coreSTATL and the STAT core

•• Sensors controlled, coordinated, and configured by means ofSensors controlled, coordinated, and configured by means ofa distributed infrastructurea distributed infrastructure–– MetaSTATMetaSTAT

•• Explicit modeling of component dependencies and currentExplicit modeling of component dependencies and currentsensor configuration supports automated “meaningful”sensor configuration supports automated “meaningful”reconfigurationsreconfigurations

Page 5: Designing a Web of Highly-Configurable Intrusion Detection Sensors · 2015. 3. 25. · A Web Of Sensors Module Database Sensor Database Alert Database Sensor Proxy MetaSTAT. STAT

STAT

5

The STAT FrameworkThe STAT Framework

Framework supporting the development of intrusion detectionFramework supporting the development of intrusion detectioninfrastructures in heterogeneous environmentsinfrastructures in heterogeneous environments

•• Based on the Based on the State Transition Analysis TechniqueState Transition Analysis Technique•• Defines a “core” language, STATL, that defines domain-Defines a “core” language, STATL, that defines domain-

independent abstractionsindependent abstractions•• Provides a “core” module that implements STATL semanticsProvides a “core” module that implements STATL semantics•• Supports development of core extension modulesSupports development of core extension modules

(Language Extensions, Event Providers, Attack Scenarios,(Language Extensions, Event Providers, Attack Scenarios,Response Modules)Response Modules)

•• Provides a communication and control infrastructureProvides a communication and control infrastructure

Page 6: Designing a Web of Highly-Configurable Intrusion Detection Sensors · 2015. 3. 25. · A Web Of Sensors Module Database Sensor Database Alert Database Sensor Proxy MetaSTAT. STAT

STAT

6

State TransitionState TransitionAnalysis TechniqueAnalysis Technique

•• STAT models penetrations as a sequence of state transitionsSTAT models penetrations as a sequence of state transitions•• Represents only key activities that lead from an initial safeRepresents only key activities that lead from an initial safe

state to a final compromised statestate to a final compromised state–– Signature ActionsSignature Actions–– State AssertionsState Assertions

Page 7: Designing a Web of Highly-Configurable Intrusion Detection Sensors · 2015. 3. 25. · A Web Of Sensors Module Database Sensor Database Alert Database Sensor Proxy MetaSTAT. STAT

STAT

7

State Transition DiagramsState Transition Diagrams

state assertionsstate assertions

initialinitialstatestate

signature actionssignature actionscompromisedcompromised

statestate

Attacker hasAttacker haslimited limited

privilegesprivileges

Attacker Attacker illicitly gainsillicitly gains

more privilegesmore privileges

Page 8: Designing a Web of Highly-Configurable Intrusion Detection Sensors · 2015. 3. 25. · A Web Of Sensors Module Database Sensor Database Alert Database Sensor Proxy MetaSTAT. STAT

STAT

8

STATLSTATL

•• A STATL specification is the description of a complete attackA STATL specification is the description of a complete attackscenario (a signature) in terms of states and transitionsscenario (a signature) in terms of states and transitions

•• Domain-independent languageDomain-independent language–– Extensions forExtensions for

•• IP networksIP networks•• Solaris BSMSolaris BSM•• WinNT event logging facilityWinNT event logging facility•• Apache event logsApache event logs•• Syslog Syslog facilityfacility•• IDMEF AlertsIDMEF Alerts

•• Parameterized descriptionsParameterized descriptions–– Generic attacks customizable by installation or policyGeneric attacks customizable by installation or policy

Page 9: Designing a Web of Highly-Configurable Intrusion Detection Sensors · 2015. 3. 25. · A Web Of Sensors Module Database Sensor Database Alert Database Sensor Proxy MetaSTAT. STAT

STAT

9

The STAT Core ModuleThe STAT Core Module

•• Implements STATL basicImplements STATL basicabstractionsabstractions–– ScenarioScenario

•• StateState•• Transitions (consuming, non-Transitions (consuming, non-

consuming, unwinding)consuming, unwinding)•• Signature actionsSignature actions•• AssertionsAssertions•• Global environmentGlobal environment•• Local environmentLocal environment•• Code fragmentsCode fragments

–– EventsEvents–– TimersTimers–– Synthetic eventsSynthetic events

•• Defines general semanticsDefines general semantics–– Event matchingEvent matching–– Scenario processingScenario processing–– UnwindingUnwinding

•• Can be dynamically extended toCan be dynamically extended tobuild a STAT-based sensorbuild a STAT-based sensor–– Scenario Scenario pluginsplugins–– Language extensionsLanguage extensions–– Event providersEvent providers–– Responses modulesResponses modules

Page 10: Designing a Web of Highly-Configurable Intrusion Detection Sensors · 2015. 3. 25. · A Web Of Sensors Module Database Sensor Database Alert Database Sensor Proxy MetaSTAT. STAT

STAT

10

The Framework At WorkThe Framework At Work

•• Define a Language Extension, i.e., the events, types, andDefine a Language Extension, i.e., the events, types, andpredicates to be used in a specific domainpredicates to be used in a specific domain

•• Compile the extension into a Language Extension ModuleCompile the extension into a Language Extension Module•• Develop an Event Provider that transforms external data intoDevelop an Event Provider that transforms external data into

events as defined by one or more Language Extensionsevents as defined by one or more Language Extensions•• Compile the Event Provider into a dynamically linkable moduleCompile the Event Provider into a dynamically linkable module•• Develop STATL scenarios that use the events defined in one orDevelop STATL scenarios that use the events defined in one or

more Language Extensionsmore Language Extensions•• Translate/compile the scenario into a Scenario Translate/compile the scenario into a Scenario PluginPlugin•• If necessary, develop response libraries to be used with theIf necessary, develop response libraries to be used with the

scenarioscenario•• Link everything together (shake well) and run your sensorLink everything together (shake well) and run your sensor

Page 11: Designing a Web of Highly-Configurable Intrusion Detection Sensors · 2015. 3. 25. · A Web Of Sensors Module Database Sensor Database Alert Database Sensor Proxy MetaSTAT. STAT

STAT

11

Creating a SensorCreating a Sensor

Attack ScenariosAttack Scenarios

Co

mp

ilati

on

Co

mp

ilati

on

STATLCore Language Application-

specificLanguageExtension

Intrusion DetectionSystem

Language

Application-specific

ExtensionModule

STATCore Module

IntrusionDetectionSensorScenario PluginsScenario Plugins

Co

mp

ilati

on

Co

mp

ilati

on

Off-line ProcessOff-line Process Run-time ArchitectureRun-time Architecture

Co

mp

ilati

on

Co

mp

ilati

on

Event Provider Event Provider

Page 12: Designing a Web of Highly-Configurable Intrusion Detection Sensors · 2015. 3. 25. · A Web Of Sensors Module Database Sensor Database Alert Database Sensor Proxy MetaSTAT. STAT

STAT

12

OK, You Can DevelopOK, You Can DevelopYour Own IDS, But...Your Own IDS, But...

•• What if one wants to change the configuration of a sensor atWhat if one wants to change the configuration of a sensor atrun time, without having to stop the whole thing?run time, without having to stop the whole thing?

•• How can one be sure that all the pieces (extensions,How can one be sure that all the pieces (extensions,providers, scenarios) fit together?providers, scenarios) fit together?

•• What if one wants to control a multitude of sensors deployedWhat if one wants to control a multitude of sensors deployedthroughout the network?throughout the network?

•• What if one wants to aggregate/fuse/correlate the alertsWhat if one wants to aggregate/fuse/correlate the alertsproduced by the deployed sensors?produced by the deployed sensors?

Page 13: Designing a Web of Highly-Configurable Intrusion Detection Sensors · 2015. 3. 25. · A Web Of Sensors Module Database Sensor Database Alert Database Sensor Proxy MetaSTAT. STAT

STAT

13

MetaSTATMetaSTAT

•• A communication and control infrastructure for STAT-basedA communication and control infrastructure for STAT-basedsensorssensors

•• CommSTAT CommSTAT communication infrastructure allows for thecommunication infrastructure allows for theexchange of alerts and control commands over secureexchange of alerts and control commands over secureconnectionsconnections

•• MetaSTAT MetaSTAT Controller dispatches commands to the sensorsController dispatches commands to the sensors•• The STAT Proxy mediates communicationThe STAT Proxy mediates communication

–– Performs local module management (installation/configuration)Performs local module management (installation/configuration)–– Relays commands to sensors (loading/activation)Relays commands to sensors (loading/activation)

Page 14: Designing a Web of Highly-Configurable Intrusion Detection Sensors · 2015. 3. 25. · A Web Of Sensors Module Database Sensor Database Alert Database Sensor Proxy MetaSTAT. STAT

STAT

14

MetaSTATMetaSTAT

•• MetaSTAT ConfiguratorMetaSTAT Configurator manages sensors manages sensors–– Database of available modules and corresponding dependenciesDatabase of available modules and corresponding dependencies–– Database of current sensor configurationsDatabase of current sensor configurations–– Allows the manager to submit reconfiguration requestsAllows the manager to submit reconfiguration requests–– Checks for meaningfulness of reconfigurationChecks for meaningfulness of reconfiguration

•• MetaSTATMetaSTAT Collector component aggregates sensor alerts in Collector component aggregates sensor alerts ina centralized database to support analysis and correlationa centralized database to support analysis and correlation

Page 15: Designing a Web of Highly-Configurable Intrusion Detection Sensors · 2015. 3. 25. · A Web Of Sensors Module Database Sensor Database Alert Database Sensor Proxy MetaSTAT. STAT

STAT

15

A Web Of SensorsA Web Of Sensors

Module Database

Sensor Database

AlertDatabase

Sensor

Proxy

MetaSTAT

Page 16: Designing a Web of Highly-Configurable Intrusion Detection Sensors · 2015. 3. 25. · A Web Of Sensors Module Database Sensor Database Alert Database Sensor Proxy MetaSTAT. STAT

STAT

16

Host

Sensor

Core

Scenario

Prototype

Instances

Sensor ConfigurationSensor Configuration

Event Provider

CommSTAT Proxy

To MetaSTAT

Event Provider library

Language Extensionlibrary

Scenario plugin Response library

Page 17: Designing a Web of Highly-Configurable Intrusion Detection Sensors · 2015. 3. 25. · A Web Of Sensors Module Database Sensor Database Alert Database Sensor Proxy MetaSTAT. STAT

STAT

17

Module Database Module Database

•• Models and stores the information aboutModels and stores the information about–– The available The available modules modules (Language Extensions, Event Providers,(Language Extensions, Event Providers,

Attack Scenarios, and Responses)Attack Scenarios, and Responses)–– A number of A number of external componentsexternal components (e.g., a specific auditing facility) (e.g., a specific auditing facility)

•• Models and stores the dependencies between modules andModels and stores the dependencies between modules andcomponentscomponents–– Activation dependencies: Activation dependencies: Module A needs module B in order to beModule A needs module B in order to be

loaded and activatedloaded and activated–– Functional dependenciesFunctional dependencies : Module A needs module B in order to: Module A needs module B in order to

produce meaningful results or any results at allproduce meaningful results or any results at all

Page 18: Designing a Web of Highly-Configurable Intrusion Detection Sensors · 2015. 3. 25. · A Web Of Sensors Module Database Sensor Database Alert Database Sensor Proxy MetaSTAT. STAT

STAT

18

Module ManagementModule Management

•• Each Module may beEach Module may be–– InstalledInstalled–– LoadedLoaded–– ActivatedActivated

•• A STAT sensor configuration is uniquely defined by a set ofA STAT sensor configuration is uniquely defined by a set ofinstalled/activated modules and available externalinstalled/activated modules and available externalcomponentscomponents

•• A configuration is A configuration is validvalid if all the activation dependencies are if all the activation dependencies aresatisfiedsatisfied

•• A configuration is A configuration is meaningful meaningful if it is valid and all theif it is valid and all thefunctional dependencies are also satisfiedfunctional dependencies are also satisfied

Page 19: Designing a Web of Highly-Configurable Intrusion Detection Sensors · 2015. 3. 25. · A Web Of Sensors Module Database Sensor Database Alert Database Sensor Proxy MetaSTAT. STAT

STAT

19

Module Database SchemaModule Database SchemaBinary

binmodule id

module idstate name

Response Function

module id

1:1

module id

module id

module id

parameter filepathmodule id

module idfunction name

module id

module id

module id

N:1

N:1

N:1

1:N

1:N

1:N

module id

1:N

Activation Dependency

module idinput typeinput id

module id

output idoutput type

module iddep module id

Functional Dependencymodule idexternal component id

Module Output

Module Input

Plugin Parameter

Plugin State

Dependency Information

typenameversion

description

module id

os platform

Module Index

Page 20: Designing a Web of Highly-Configurable Intrusion Detection Sensors · 2015. 3. 25. · A Web Of Sensors Module Database Sensor Database Alert Database Sensor Proxy MetaSTAT. STAT

STAT

20

Sensor DatabaseSensor Database

•• Models and stores information about the currentModels and stores information about the currentconfiguration of a Web of Sensorsconfiguration of a Web of Sensors–– Installed modules (at each STAT Proxy site)Installed modules (at each STAT Proxy site)–– Loaded/Activated modules (in each STAT Sensor)Loaded/Activated modules (in each STAT Sensor)–– Available external components (at each host)Available external components (at each host)

Page 21: Designing a Web of Highly-Configurable Intrusion Detection Sensors · 2015. 3. 25. · A Web Of Sensors Module Database Sensor Database Alert Database Sensor Proxy MetaSTAT. STAT

STAT

21

Sensor DatabaseSensor Database

sensor idsensor addresssensor port

Sensor IndexExternal Componentsensor idexternal component id

sensor idmodule idfunction namestate nameplugin idscenario prototype id

module type

sensor idmodule id

sensor idmodule id

module idsensor id

prototype idparameter filepath

Activated module

Activation information

<sensor id, module id>

1:N

sensor id

Activated response function

sensor id

1:N

Activated plugin

Installation Index

N:1

N:1

sensor id

sens

or id

N:1

Page 22: Designing a Web of Highly-Configurable Intrusion Detection Sensors · 2015. 3. 25. · A Web Of Sensors Module Database Sensor Database Alert Database Sensor Proxy MetaSTAT. STAT

STAT

22

MetaSTAT ConfiguratorMetaSTAT Configurator

•• Intrusion Detection Administrator (IDA) requires high-levelIntrusion Detection Administrator (IDA) requires high-levelreconfigurationreconfiguration

•• TheThe MetaSTAT MetaSTAT ConfiguratorConfigurator determines the required sensor determines the required sensorconfiguration examining the Module Databaseconfiguration examining the Module Database

•• The The MetaSTAT ConfiguratorMetaSTAT Configurator determines which modules are determines which modules arealready available using the Sensor Databasealready available using the Sensor Database

•• The The MetaSTAT ConfiguratorMetaSTAT Configurator determines the steps that are determines the steps that arenecessary to complete the reconfigurationnecessary to complete the reconfiguration

•• The The MetaSTATMetaSTAT Controller sends the appropriate control Controller sends the appropriate controlmessagesmessages

•• STAT Proxies perform installationSTAT Proxies perform installation•• STAT Sensors reconfigure accordinglySTAT Sensors reconfigure accordingly

Page 23: Designing a Web of Highly-Configurable Intrusion Detection Sensors · 2015. 3. 25. · A Web Of Sensors Module Database Sensor Database Alert Database Sensor Proxy MetaSTAT. STAT

STAT

23

ExampleExample

•• Intrusion Detection Administrator (IDA) wants to deploy FTPIntrusion Detection Administrator (IDA) wants to deploy FTPmonitoring scenariosmonitoring scenarios

•• The Module Database is searched for suitable modulesThe Module Database is searched for suitable modules•• A subset is selectedA subset is selected•• The Module Database is examined for possible activationThe Module Database is examined for possible activation

dependenciesdependencies•• The Module Database is searched for possible functionalThe Module Database is searched for possible functional

dependenciesdependencies•• Results trigger a new series of queriesResults trigger a new series of queries

Page 24: Designing a Web of Highly-Configurable Intrusion Detection Sensors · 2015. 3. 25. · A Web Of Sensors Module Database Sensor Database Alert Database Sensor Proxy MetaSTAT. STAT

STAT

24

Dependency GraphDependency Graph

ftp FTP PROTOCOL

wu-ftp-bovf

lang ext event

scenario

ftp-protocol-verifyscenario

O

tcpipftplang extlang ext

A

A A

STREAM

netproc

network-drivertcpip

A

syslog

ftpd-quote-abuse

SYSLOG

syslog2

syslog syslog

win-app-event

winevent NTlogging

E

O

I

OOOlang ext

lang ext lang ext lang ext

scenario

event

event provider

event provider

lang ext

event

external component

external componentexternal componentsyslogd syslogd

AE

AE

A

I A

E

I

external component

event providerevent providersyslog1

Page 25: Designing a Web of Highly-Configurable Intrusion Detection Sensors · 2015. 3. 25. · A Web Of Sensors Module Database Sensor Database Alert Database Sensor Proxy MetaSTAT. STAT

STAT

25

ExampleExample

•• ConfiguratorConfigurator determines the complete set of dependencies determines the complete set of dependencies•• ConfiguratorConfigurator compares required modules with compares required modules with

installed/activated modules as stored in the Sensorinstalled/activated modules as stored in the SensorDatabaseDatabase

•• Configurator Configurator compiles a compiles a deployment plandeployment plan•• Plan passed to the ControllerPlan passed to the Controller•• Controller ships messages to ProxiesController ships messages to Proxies•• Proxies perform installations and forward loading/activationProxies perform installations and forward loading/activation

messages to sensorsmessages to sensors•• Detection begins...Detection begins...•• Possible custom responses are shipped/installed/activatedPossible custom responses are shipped/installed/activated

Page 26: Designing a Web of Highly-Configurable Intrusion Detection Sensors · 2015. 3. 25. · A Web Of Sensors Module Database Sensor Database Alert Database Sensor Proxy MetaSTAT. STAT

STAT

26

Advantages of theAdvantages of theApproachApproach

•• High customizabilityHigh customizability•• Dynamic re-Dynamic re-configurabilityconfigurability•• Support for automated reconfiguration allows managementSupport for automated reconfiguration allows management

of a high number of sensorsof a high number of sensors•• Separation of analysis mechanisms from domain-dependentSeparation of analysis mechanisms from domain-dependent

elements and response functionalityelements and response functionality•• Modules can be reused across sensorsModules can be reused across sensors

Page 27: Designing a Web of Highly-Configurable Intrusion Detection Sensors · 2015. 3. 25. · A Web Of Sensors Module Database Sensor Database Alert Database Sensor Proxy MetaSTAT. STAT

STAT

27

Advantages of theAdvantages of theApproachApproach

•• Multiple Language Extensions and Event Providers can beMultiple Language Extensions and Event Providers can beused within the same sensorused within the same sensor

•• Responses can be associated with intermediate steps inResponses can be associated with intermediate steps inattack scenariosattack scenarios

•• Support for alert collection and distributionSupport for alert collection and distribution•• Third-party tools can be easily integrated through STATThird-party tools can be easily integrated through STAT

ProxiesProxies

Page 28: Designing a Web of Highly-Configurable Intrusion Detection Sensors · 2015. 3. 25. · A Web Of Sensors Module Database Sensor Database Alert Database Sensor Proxy MetaSTAT. STAT

STAT

28

Future WorkFuture Work

•• Web of sensors are usually associated with a singleWeb of sensors are usually associated with a singleadministrative domainadministrative domain

•• Different Webs may require some sort of wide-areaDifferent Webs may require some sort of wide-areaintegrationintegration

•• Use of the Siena content-based message delivery system toUse of the Siena content-based message delivery system todistribute alerts and control commands in wide-areadistribute alerts and control commands in wide-areanetworksnetworks

•• Ultimate goal: Internet-scale coordination and control ofUltimate goal: Internet-scale coordination and control ofintrusion detection capabilityintrusion detection capability

•• Going beyond: re-configuring active attack scenarioGoing beyond: re-configuring active attack scenarioinstances (load balancing, tracking mobile code, etc)instances (load balancing, tracking mobile code, etc)

Page 29: Designing a Web of Highly-Configurable Intrusion Detection Sensors · 2015. 3. 25. · A Web Of Sensors Module Database Sensor Database Alert Database Sensor Proxy MetaSTAT. STAT

STAT

29

People InvolvedPeople Involved

•• Richard KemmererRichard Kemmerer•• Giovanni Giovanni VignaVigna•• Per Per BlixBlix•• Jacob Jacob CopenhaverCopenhaver•• Steve Steve EckmannEckmann•• Chris Chris KruegelKruegel•• Siva Siva SankaridurgSankaridurg•• Fredrik Fredrik ValeurValeur•• Jingyu ZhouJingyu Zhou