39
1 Information Assurance and Computer Security Shambhu Upadhyaya (CSE) UB Colloquium November 16, 2006

1 Information Assurance and Computer Security Shambhu Upadhyaya (CSE) UB Colloquium November 16, 2006

  • View
    215

  • Download
    0

Embed Size (px)

Citation preview

Page 1: 1 Information Assurance and Computer Security Shambhu Upadhyaya (CSE) UB Colloquium November 16, 2006

1

Information Assurance and Computer Security

Shambhu Upadhyaya (CSE)

UB Colloquium November 16, 2006

Page 2: 1 Information Assurance and Computer Security Shambhu Upadhyaya (CSE) UB Colloquium November 16, 2006

2

Focus of CEISARE • Funded Research – Upadhyaya and Rao (over a million dollars)

– Topical: Intrusion detection, alert correlation, insider threat mitigation, trust in MANETs, wireless networks security

– Multidisciplinary: Workforce Development, Multi-incident emergency response systems

• Infrastructure/Capacity building (over $800,000)– Information security lab (School of Management)

– Wireless security lab (CSE)

– Scholarship grants from DoD

• Education– Advanced Certificate in IA

• Dissemination– Workshops (SKM 2004, SKM 2006)

• Center Webpage: http://www.cse.buffalo.edu/caeiae/

Page 3: 1 Information Assurance and Computer Security Shambhu Upadhyaya (CSE) UB Colloquium November 16, 2006

3

Graduate Certificate in IA

• Effort started with funds from DoD in fall 2003– Funding was to create a new integrative course in IA

• Two tracks – technical and managerial

• Requirements– 6 credits of core courses in the track

– 5-6 credits of elective in the dept.

– 3 credits of required integrative course

• Technical track– Core – Intro. to Crypto, Computer security, Wireless networks security

(choose two courses)

• Managerial track– Core – Network management, E-Commerce security

• http://www.cse.buffalo.edu/caeiae/advanced_certificate_program.htm

Page 4: 1 Information Assurance and Computer Security Shambhu Upadhyaya (CSE) UB Colloquium November 16, 2006

4

Sample IA Research Projects

• Protecting documents from malicious insiders (Upadhyaya)

• Event correlation for cyber attack recognition (Upadhyaya, Llinas and Sudit)

• Insider threat modeling and analysis in a corporate intranet or federal agency (Upadhyaya, Ngo)

• Survivable Wireless LAN architectures (Upadhyaya)

• Runtime safety check in computer programs (Upadhyaya and Jayaraman)

Page 5: 1 Information Assurance and Computer Security Shambhu Upadhyaya (CSE) UB Colloquium November 16, 2006

5

• Building user profiles at the application level

• Usage based document classification

• Context & information flow based policy specification for preventing insider abuse

• Automated generation of dynamic policies

• Papers Published:– IEEE Information Assurance Workshop, West Point, NY, June 2004

– 20th Annual Computer Security Applications Conference, Tucson, AZ, December 2004

– Int. Conf. on Trust Management, Pisa, Italy, May 2006

– IEEE Int. Conf. on Communications, Istanbul, Turkey, June 2006

Novel Ideas Accomplishments/Milestones

Goals

Multi-phase Approach for Preventing Document Abuse from Malicious InsidersShambhu Upadhyaya, Funded by NSA/ARDA, 2003-05

Malicious and masquerading insider threat detection in

the Document Control domain Identify importance of documents Identify user roles in organizations Prevent circumvention and perform trace-back

Security policyPro

filedocsession

File Repository

Anomaly Detector

history

Alerts?

Document Classifier

Dynamic Policies in

effect

Forensics & Tamper-proof

usr1

usrn

search

learn

Prototype for Microsoft Word Monitor and detect masqueraders based on document usage Specify and enforce dynamic policies

Prototype for dynamic policies generation http://www.cse.buffalo.edu/DRM Future Plans

Detecting the convergence of disparate role structures in collaborating organizations

Preventing circumvention of the tools

Page 6: 1 Information Assurance and Computer Security Shambhu Upadhyaya (CSE) UB Colloquium November 16, 2006

6

• Concept of a capability acquisition graph (CAG)

• Analysis of CAG (develop heuristics)

• Papers Published:– Chinchani R., A. Iyer, H. Ngo and S. Upadhyaya, “Towards a

Theory of Insider Threat Assessment”, IEEE International Conference on Dependable Systems and Networks (DSN 2005), Yokohama, Japan, June 2005.

– Chinchani R., Duc Ha, Anusha Iyer, Hung Q. Ngo, and Shambhu Upadhyaya, “On the Hardness of Approximating the MIN-HACK Problem”, Journal of Combinatorial Optimization, Springer, Vol. 9, No. 3, May 2005.

Novel Ideas Accomplishments/Milestones

Goals

Insider Threat Modeling and Analysis Shambhu Upadhyaya and Hung Ngo, Funded by DARPA, 2004-05

Develop a threat modeling and assessment

methodology

• Pre-Attack Static Analysis and Hardening

• Generation of insider attack scenarios to train detection components

• Study the theoretical issues

• Be able to answer questions like:– How secure is the current setup?– What are likely attack strategies?– Which points are most vulnerable?– Where must security systems be placed?

• Prototype built for integration into the larger system of insider threat mitigation (jointly with Telcordia Technologies and Rutgers University)

Network entity rules

Cost Rules

MAPIT EngineNetwork topology

Key challenge graph

Vulnerabilities

Authentication mechanismSocial Eng. Awareness

Sensitivity analysis

Defense centric

analysis

Page 7: 1 Information Assurance and Computer Security Shambhu Upadhyaya (CSE) UB Colloquium November 16, 2006

7

• Trust between the nodes used as a metric for decision making

• Differential encryption (header and payload differently) scheme for ad-hoc networks, and hashing based lightweight techniques for sensor networks

• Evaluating security of paths and nodes based on their relative position in the network

• Building in survivability in the network architecture proactively for surviving potential attacks

• Robustness, Recovery and Survivability Schemes

Novel Ideas Accomplishments

Goals

A New Framework for Secure and Trusted Communications in Wireless Data Networks, Shambhu Upadhyaya, Funded by NSF/Cisco, 2004-06

Design decision making framework for nodes to

establish keys with other unknown nodes Use this framework for cluster forming decisions in ad-

hoc networks Improve on existing key management schemes and

design secure data delivery schemes for enhanced

reliability in data transfer Provide schemes for resiliency against attacks and

post-failure recovery

Setting up of the NSF and Cisco sponsored Wireless Security Lab

Representative Publications: IEEE Conference on Local Computer Networks (LCN), Tampa,

FL, Nov 2004 IEEE ACM IWIA, College Park, MD, Mar 2005 IEEE Conference on Knowledge Intensive Multi-agent Systems

(KIMAS), Boston, MA, Apr 2005 Secure Knowledge Management (SKM2004, SKM 2006)

Future Plans Security Schemes for IEEE 802.16 and 802.20 standards Performing hands-on experiments at the Wireless Security Lab

SWEDEN

Framework

Key and Traffic Management

Schemes

Trust Framework: Basis for Key

Management with Unknown Nodes,

Clustering Decisions

Robustness SchemesPost-attack

Survivability and Recovery Schemes

Pre-key Establishment

Phase

Normal Network Functioning Phase

Key Management and Encryption Schemes

Secure and Reliable Data

Delivery

Ad hoc networks

Ad hoc & sensor

Ad hoc, sensor & WLAN

Page 8: 1 Information Assurance and Computer Security Shambhu Upadhyaya (CSE) UB Colloquium November 16, 2006

8

Runtime Environment Driven Program Safety

Joint work with Prof. B. Jayaraman

Page 9: 1 Information Assurance and Computer Security Shambhu Upadhyaya (CSE) UB Colloquium November 16, 2006

9

Language-Based Security

• Static analysis

• Model-checking

• Type-safety

• Runtime checks

• Anomaly detection

Source Program Binary Executable

Compiler

Page 10: 1 Information Assurance and Computer Security Shambhu Upadhyaya (CSE) UB Colloquium November 16, 2006

10

Making the case for runtime checking

• Static analysis is one-time but poor coverage

• Runtime checks have good coverage but per variable checks are inefficient

• Type-based safety is efficient but can be coarse-grained

Page 11: 1 Information Assurance and Computer Security Shambhu Upadhyaya (CSE) UB Colloquium November 16, 2006

11

• A new vulnerability class:

• Recently seen in openssh, pine, Sun RPC and several other software

• Cause: attacker-controlled integer variable

Motivation

Integer Overflow Vulnerability

Page 12: 1 Information Assurance and Computer Security Shambhu Upadhyaya (CSE) UB Colloquium November 16, 2006

12

Integer Overflow Attack

alloc_mem(u_short size)

{

u_short pad_size = 16;

size = size + pad_size;

return malloc(size);

}

size = 65535

size = 15 !!

return smaller memory

Page 13: 1 Information Assurance and Computer Security Shambhu Upadhyaya (CSE) UB Colloquium November 16, 2006

13

Program Security Is NOT Portable!

Source or Binary code

Program Security

Safe

Safe

32-bit

16-bitUnsafe

Page 14: 1 Information Assurance and Computer Security Shambhu Upadhyaya (CSE) UB Colloquium November 16, 2006

14

Various Runtime Environments

Page 15: 1 Information Assurance and Computer Security Shambhu Upadhyaya (CSE) UB Colloquium November 16, 2006

15

Overall Goal

Source or Binary code

Program Security

Safe

Safe

RE 1

Safe

RE 2

RE 3

Page 16: 1 Information Assurance and Computer Security Shambhu Upadhyaya (CSE) UB Colloquium November 16, 2006

16

Basic Methodology

• A Type-Based Safety Approach– Runtime-dependent interpretation– Not merely an abstraction, but using actual values– No new types– Also, can be efficient

Page 17: 1 Information Assurance and Computer Security Shambhu Upadhyaya (CSE) UB Colloquium November 16, 2006

17

Prototype Implementation: ARCHERR

• Implemented as a parser using flex and bison

• Currently works on 32-bit Intel/Linux platform

Page 18: 1 Information Assurance and Computer Security Shambhu Upadhyaya (CSE) UB Colloquium November 16, 2006

18

Detecting Integer Overflows

• Machine word size is an important factor

• Main idea: Analyze assignment and arithmetic operations in context of machine word size

16-bit

32-bit

Intel XScale Processor

(now 32-bit version)

Intel Pentium Processor

Page 19: 1 Information Assurance and Computer Security Shambhu Upadhyaya (CSE) UB Colloquium November 16, 2006

19

x : int → x є I

x, y : int

x = y

succ(x : int) = (x + 1)

pred(x : int) = (x – 1)

where I = (-∞, +∞)

Integers : Classical View

Assignment:

Arithmetic:

Page 20: 1 Information Assurance and Computer Security Shambhu Upadhyaya (CSE) UB Colloquium November 16, 2006

20

Integers: Runtime Dependent View

Page 21: 1 Information Assurance and Computer Security Shambhu Upadhyaya (CSE) UB Colloquium November 16, 2006

21

Integer Arithmetic Safety Checks

if x ≥ 0; y ≥ 0, then x + y assert : x (MAXINT - y)

if x ≥ 0; y < 0, then x - y assert : x (MAXINT + y)

if x < 0; y ≥ 0, then x - y assert : x ≥ (MININT + y)

if x < 0; y < 0, then x + y assert : x ≥ (MININT - y)

x, y,x y assert : x ≥ MININT/y /\ x MAXINT/yx y assert : y ≠ 0x % y assert : y ≠ 0

Page 22: 1 Information Assurance and Computer Security Shambhu Upadhyaya (CSE) UB Colloquium November 16, 2006

22

Other Numerical Types

• short, long, unsigned short/long, etc.– Similar analysis

• float, double, long double– Floating points use a standard IEEE format– Analysis is more complex– But floating point arithmetic is discouraged for efficiency reasons

Page 23: 1 Information Assurance and Computer Security Shambhu Upadhyaya (CSE) UB Colloquium November 16, 2006

23

Other Operators

• Bitwise operators– << : multiplication by 2– >> : division by 2 (is safe)

• Logical operators?– Not exactly arithmetic in nature

Page 24: 1 Information Assurance and Computer Security Shambhu Upadhyaya (CSE) UB Colloquium November 16, 2006

24

In A Program?

foo(int x, int y)

{

VALIDATE_ADD_INT(x,y);

return (x + y);

}

16-bit check?32-bit check?

Compile-time Annotations

Runtime Checking

Page 25: 1 Information Assurance and Computer Security Shambhu Upadhyaya (CSE) UB Colloquium November 16, 2006

25

A High-Level View

• What have we achieved actually?

RE 1RE 2

A programmer’s view

An attacker’s view

Properties of types in classical sense

Automatic safety conversion

Page 26: 1 Information Assurance and Computer Security Shambhu Upadhyaya (CSE) UB Colloquium November 16, 2006

26

Extending Idea To Pointers

• Common concept of segments – data, text, stack

• But differences in actual layout

Windows NT

Process Address Map

Linux

4 GB

(0xFFFFFFFF)

3 GB

(0xBFFFFFFF)

0 GB

System space

User space

Page 27: 1 Information Assurance and Computer Security Shambhu Upadhyaya (CSE) UB Colloquium November 16, 2006

27

Pointers : Runtime Dependent View

• Safe pointer assignment– A pointer variable p, which points to variables of type be

denoted by p:q(

• Safe pointer arithmetic (the following must obey the above rule)

Page 28: 1 Information Assurance and Computer Security Shambhu Upadhyaya (CSE) UB Colloquium November 16, 2006

28

Pointer Assignment Scenarios

Page 29: 1 Information Assurance and Computer Security Shambhu Upadhyaya (CSE) UB Colloquium November 16, 2006

29

Pointer Check Examples

VALIDATE_PTR(q);

p = q;

VALIDATE_PTR(&p[i]);

p[i] = 2;

VALIDATE_PTR_ADD(p, 1);

p++;

q is a valid ptr?

[q, sizeof(*q)] is inside same range?

&p[i] is a valid ptr?

[&p[i], sizeof (*(&p[i]))] is inside same range?

p is a valid ptr?

[p, sizeof(*p)] is inside same range?

p + 1 is a valid ptr and belongs to the same address range?

Page 30: 1 Information Assurance and Computer Security Shambhu Upadhyaya (CSE) UB Colloquium November 16, 2006

30

Additional Pointer Issues

• Function pointers– If not protected, can lead to arbitrary code execution– Maintain a separate list of function addresses and check against

them

• Typecasting is a feature in C– Private fields in structures through void *– Leads to dynamic types

Page 31: 1 Information Assurance and Computer Security Shambhu Upadhyaya (CSE) UB Colloquium November 16, 2006

31

Optimizations

• Remove unnecessary checks using static analysis– Currently, integer arithmetic

• Speed up memory range lookups– Maintain separate FIFO lists for stack, data and heap

• Pointer assignment is "safe"; dereferencing is not

• Optimize initialization loops

Page 32: 1 Information Assurance and Computer Security Shambhu Upadhyaya (CSE) UB Colloquium November 16, 2006

32

Security Testing

• Does this approach actually work?

• Real-world programs

• Vulnerabilities and exploits available at SecurityFocus website

Program Vulnerability Detected?

sendmail (8.11.6) Stack-based buffer overflow YES

GNU indent (2.2.9) Heap-based buffer overflow YES

man (1.5.1) Format string NO

pine (4.56) Integer overflow YES

Page 33: 1 Information Assurance and Computer Security Shambhu Upadhyaya (CSE) UB Colloquium November 16, 2006

33

Performance Testing

• Scimark2 benchmark

• 32-bit Intel/Linux 2.6.5

• Compared against CCured and BoundsChecker

CCured 1.5 x

BoundsChecker 35 x

ARCHERR w/o pointer checks 2.3 x

ARCHERR with pointer checks 2.5 x

Performance Hit (slowdown)

Page 34: 1 Information Assurance and Computer Security Shambhu Upadhyaya (CSE) UB Colloquium November 16, 2006

34

Impact On Code Size

• Source code annotations cause bloat

Source Code Bloat 1.5 – 2.5 x

Runtime Image Bloat 1.2 – 1.4 x

Page 35: 1 Information Assurance and Computer Security Shambhu Upadhyaya (CSE) UB Colloquium November 16, 2006

35

Features

• Portable safety is runtime environment dependent

• First work to show systematic way to detect/prevent integer overflow attacks – Currently on one architecture

• Extended the idea to detect/prevent memory-based attacks– Again on one architecture

• Security testing and performance evaluation

Page 36: 1 Information Assurance and Computer Security Shambhu Upadhyaya (CSE) UB Colloquium November 16, 2006

36

Static Analysis

Type-Based

Runtime Checks

Pros

• One-time effort

Cons

• Undecidability of

aliasing

• False negatives

Pros

• One-time effort

• Efficient

Cons

• Weak type system• Arbitrary typecasting

Pros

• Coverage

• Few false positives

Cons

• Inefficient

BOON

CycloneCQUAL

BoundsChecker

StackGuard

CCured

ARCHERR

Page 37: 1 Information Assurance and Computer Security Shambhu Upadhyaya (CSE) UB Colloquium November 16, 2006

37

Current Status And Future Work

• Code to be released soon– Currently research grade

• Investigating implementation on other runtime environments– 32-bit Intel/Windows PE32– 32-bit Intel/FreeBSD ELF– 32-bit SPARC/ELF

• Improve efficiency?– rndARCHERR – randomized runtime checks– Static analysis driven optimizations

Page 38: 1 Information Assurance and Computer Security Shambhu Upadhyaya (CSE) UB Colloquium November 16, 2006

38

Reference

• ARCHERR: Runtime Environment Driven Program Safety – Ramkumar Chinchani, Anusha Iyer, Bharat Jayaraman, and

Shambhu Upadhyaya – ESORICS 2004– http://www.cse.buffalo.edu/~rc27/publications/chinchani-

ESORICS04-final.pdf

Page 39: 1 Information Assurance and Computer Security Shambhu Upadhyaya (CSE) UB Colloquium November 16, 2006

39

Summary

• Multidisciplinary activity in computer security and information assurance

• Wireless Networks (other projects)– Colluding black hole attacks in MANETs– Theoretical issues in sensor networks

• Insider Threat in Document Control Systems– Masquerade detection– Inferring Source of Information Leakage in Document

Management Systems

• Spring Offerings– CSE 566: Wireless Networks Security– CSE 452/552: VLSI Testing