Web Security! Outline! Web Security in Contexts! Web Security!

Outline! Web Security ! Rattikorn Hewett! ! NSF-SFS Workshop! Jul 14-18, 2014! •  Basic Concepts! •  Security Types and Perspectives! •  Attack...
Author: Carol Bailey
0 downloads 1 Views 3MB Size
Outline!

Web Security ! Rattikorn Hewett! ! NSF-SFS Workshop! Jul 14-18, 2014!

• 

Basic Concepts!

• 

Security Types and Perspectives!

• 

Attacks and Threats !

• 

Some Tools and Research Snapshots!

• 

Conclusions! !

! !

Texas Tech University

Hewett

Texas Tech University

Web Security in Contexts!

2

Web Security! •  Aims to secure activities/services on the Webs! Why should “Web Security” receive special attention?! •  High publicity à Attractive target as attack is a public event !

Protects against ! Malicious Acts!

Cyber Security! Web Security! Computer Security!

Hewett

Texas Tech University

Malicious Acts + ! Activities on the Web!

•  High exposure/connectivity to users à Vulnerable! •  Increasingly crucial for business functions à Loss of identity/sensitive information/money/reputation! •  Increased Complexity à Security flaws! •  More expensive to fix than to prevent à Economic impacts!

•  Assumes no Malicious Acts! •  Protects HW/SW (e.g., OS),! Operations, Network, Data!

3

Hewett

Texas Tech University

4

1 !

Web Security!

What is a Web Server! •  A Web Server runs a Website!

•  Involves technologies and practices to protect! •  Web Servers (computers that run the websites) ! •  Web Users (sensitive/proprietary information)!

•  Has a corresponding Name and IP Address! •  A Web Server delivers !

Adjacent! Organizations! (via networks)!

•  Web pages to Web Browsers (to public)! •  Files to Web applications!

!

A Web Server = A Computer (with Site content files) ! + Internet Access! + Web Server Software (e.g., Apache) !

Hewett

5

Texas Tech University

Hewett

6

Texas Tech University

Web Server Architecture!

Extended Web Server Architecture!

•  Most Web Services are based on the Client/Server model!

•  Web Server: provides Static document (web page, image)!

•  Web Servers! •  Retrieve files from the serverʼs hard drive! •  Format the files for the Web browser (by CGI) ! Web server! •  Send them via the network! Request for!

•  Application Server: supports Dynamic contents by!

Client Server ! Web Browser!

! http!

!

•  Running Web Application programs (e.g., looking up stock price, processing transactions) to conduct business!

• ! Data Base Server: supports Data Base access! !

IP Address of ! Server: ttu.edu! Web page in html! Request! ! html! Server Software: !

http://www.ttu.edu!

http!

DataBase Server!

Apache + CGI+ SSL!

html!

html!

Web Server!

Server Programs:! Web Server! CGI (Ruby on Rails, ASP, .Net, J2EE)! Server Programs:! Apache + SSL!

! •  Web Page ! •  Image Files!

Web page!

Texas Tech University

7 Hewett

Texas Tech University

!

Data

Query! !

Data Base!

Local Files!

Hewett

Server Program:! MySQL, Oracle!

Web App Server!

•  Pages with Data ! •  Codes/Data!

8

2

Outline!

Security Types!

• 

Basic Concepts!

•  Securing Web Servers !

• 

Security Types and Perspectives!

• 

Attacks and Threats!

• 

Some Tools and Research Snapshots!

http!

html!

Conclusions!

• 

•  Server is in operation! •  Data on it is secured!

Web server!

!

Web Browser!

! !

Hewett

9

Texas Tech University

Hewett

Popular Counter Measures! Transmission Control Protocol (TCP/IP)!

Web server! Web Browser!

Texas Tech University

10

•  User Perspectives:! How to help users protect themselves during activities on the Web such as:! •  Web browsing! •  Online transactions! •  Social networking! à Tools to alert users, educate users of potential attacks!

•  Securing Web Servers ! •  By Anti-Virus! •  Securing Data Transmission between Server and Users! •  By Cryptographic protocols! E.g., SSL (secure socket layers)! ! •  Securing Web Userʼs computer! ! •  By Anti-Virus!

•  Developer Perspectives: Assume traditional computer security technologies (e.g., authentication, authorization), find techniques to ! •  Prevent/Defend attacks on the Web Server àTools to detect compromised Web sites/applications! •  Develop secure software ! ! à Software security including Web applications!

Is the system secured?!

Hewett

Texas Tech University

Two Perspectives!

http!

html!

•  Securing Data Transmission between Server and Users! •  No eavesdropping (read/listen)! •  No modification! ! •  Securing Web Userʼs computer! ! •  Safe download! •  Safe service transactions! •  Protect sensitive information!

11

Hewett

!

Texas Tech University

12

3

Outline! • 

Basic Concepts!

• 

Security Types and Perspectives!

• 

Attacks and Threats!

• 

Some Tools and Research Snapshots!

• 

Conclusions!

Well-known Web Security Attacks!

Client ! Web Browser!

•  Social Engineering! •  Malware! •  CrossSite Scripting!

! !

Web Server!

•  HeartBleed! •  Buffer Overflow! Web Application!

•  SQL Injection! •  CrossSite Scripting!

Internet Crime!

!

•  Click Fraud!

Hewett

Texas Tech University

13

Hewett

Texas Tech University

14

Malware!

Social Engineering Attacks! Attacker engages victims thru online social interactions to obtain useful information!

Malicious Software - various types:! •  Virus: Malicious code that makes copies of itself and attaches to other programs!

•  Spam – unsolicited bulk emails! •  Intentional – e.g., advertising through fraud links! •  Unintentional – e.g., by infected computers !

•  Worm: Malicious code that makes copies of itself and attaches to other computers !

•  Spoofing – impersonated e-mails/websites hoping to “phish” the recipients or for them to open attachment! E.g., replace “.org” with “.com”! ! replace “l” with “1”!

•  Trojans: Program that appears legitimate but has hidden damages (e.g., viruses, delete files, create back door for attacks)! •  Bots: Automated software to interact with other network services (e.g., IM). Malicious bots can infect networks like worms!

•  Phishing – spams or malicious websites intended to get sensitive information from recipients ! ! http://www.lavasoft.com/mylavasoft/company/blog/the-big-three-email-nuisances-spam-phishing-and-spoofing! Hewett

Texas Tech University

15

Hewett

Texas Tech University

16

4

Internet Communication!

Heartbleed!

Plain Text! “My social ID is 123456789”

Internet

“My social ID is 123456789”

“My social ID is 123456789”!

Alice

Bob Alice sent “My social ID is 123456789” to Bob Sniffer

Texas Tech University

“Secured” Internet Communication!

Cryptographic protocols that !

Encrypted/Decrypted Texts! “My social ID is 123456789”

Encrypt

•  Provide secured communication over the Internet !

Internet

“My social ID is 123456789”

“XYABSZED MI123456”!

SSL (Secure Socket Layer)!

Decrypt

Alice

Bob Alice sent “XYABSZEDMI123456” to Bob

•  Are widely used, e.g., ! •  •  •  •  • 

web browsing! electronic mails! Internet faxing! instant messaging! voice-over-IP (VoIP)!

NO SSL http://www.cnn.com http://www.google.com

SSL enabled web browsing https://www.bankofamerica.com https://www.facebook.com

Sniffer

5

“Secured” Internet Communication!

OpenSSL! •  Open-source implementation of the SSL (Secure Socket Layer) and TLS (Transport Layer Security) protocols!

Encrypted/Decrypted Texts! Internet

“My social ID is 123456789”

SSL

•  Implements basic cryptographic functions!

“My social ID is 123456789”

“XYABSZED MI123456”!

•  > 50% of web servers on Internet use functions from OpenSSL to provide HTTPS (secure connection) protocol!

SSL

Alice

Bob Alice sent “XYABSZEDMI123456” to Bob Sniffer

!

37% of HTTP Server on the internet !

14% of HTTP Server on the internet !

Heartbeat !

Heartbleed !

•  OpenSSL extension proposed as a standard in February 2012 by RFC 6520 !

•  Failure of bounds checking in SSL Heartbeat request!

•  Provides tests to keep secure communication links alive without renegotiation the connection (handshaking)! Heartbeat Server, if you are! there, send me this ! 4 letter word, “bird”!

Client Requests 4 letters ! for “bird”!

Server Memory Space!

bird! Server

Has connected. ! User Bob has ! connected. User Alice ! wants 4 letters: bird. ! Server Master key is ! 31331498531054. ! User Carol wants! to change password to! “Maddog123”…………!

Heartbleed

Server Memory Space! bird Server ! Master key! Has connected. ! User Bob has ! Is 3133149! Server, if you are! connected. User Alice ! 8531054.! there, send me this ! User Carol ! wants 4 letters: bird. ! 500 letter word, “bird”! Wants ……! Server Master key is ! 31331498531054. ! ! User Carol wants! ! Server to change password! Client Requests 500 letters ! To “Maddog123”…….! for “bird”!

Leaked! •  Server key! •  User Password, etc.!

6

Post Heartbleed Recovery!

How to check Heartbleed!

•  Revocation of the compromised keys!

•  Establish Client-Server Handshaking!

•  Reissuing and redistributing new keys!

•  Send Heartbleed request* !

–  Contact Certificate Authority!

No output return or Return Error à SAFE!

–  Reset passwords after new certificates are authorized!

Return content à UNSAFE!

!

! ! ! ! * Code to check Heartbleed implemented in NodeJS programming !https://github.com/kphongph/heartbleedjs.git!

Example of buffer overflow! Buffer Overflow!

A program with buffer of size 10 bytes! void foo(char *s) { char buf[10]; strcpy(buf,s); printf(“buf is %s\n”,s); } … foo (“thisstringistoolongforfoo”);

Texas Tech University

7

Layout of Program Call!

Smashing the Stack! Goal: To overwrite the Return Address!

x = 2; foo (“12345678901”); y = 3; void foo(char *s) { int a,b; char buf [1000]; strcpy(buf,s); printf(“buf is %s\n”,s); }

“12345678901”! Parameters! Addressof(y=3)! Return Address! Calling Stack Frame! a, b! ! ! Bufferof(1000)!

Local Variables!

Buffer Area!

! ! !

Smashing the Stack in Web Server! Attacker:! •  Generates malicious content (+malicious code) >1000 bytes ! •  Sends it as the user input to overflow (and take control) the web server! void login(char *user) { char* username; char buf[1000]; strcpy (buf,username); … }

Example: Request “user:ASDFBSDFSAF…… &password:………………..”! ! How? !

x = 2; foo (“12345678901”); y = 3; void foo(char *s) { int a,b; char buf [1000]; strcpy(buf,s); printf(“buf is %s\n”,s); }

“12345678901”! Parameters! Return Address!

! ! Local Variables!

! ! ! ! ! !

Buffer Area!

Smashing the Stack: Example! var post_data = querystring.stringify({ ’username' : ’ASFDSFSFDSFSDDVSFDDS.. .', %% > 1000 bytes ’password' : ’XXX123’ }); var post_options = { host: ’eraider.ttu.edu’, From source of web page! path: ’/authenticate.asp', method: 'POST', headers: { 'Content-Type': 'application/x-www-form-urlencoded', 'Content-Length': post_data.length } }; var post_req = http.request(post_options, function(res) { res.setEncoding('utf8'); res.on('data', function (chunk) { console.log('Response: ' + chunk); }); }); post_req.write(post_data);

Send data via “post” command!

8

Login Scenario! SQL* Injection Attack!

! SQL syntax:!

Malicious SQL statements are inserted into a data entry field for execution!

SELECT password FROM profiles WHERE user_id = ‘’

foo xxx

SELECT password FROM profiles WHERE user_id = ‘foo’

!

* SQL (Structured Query Language) is a programming language ! for querying and managing data in the database ! Texas Tech University

Login Scenario Attack! !

SQL syntax:! foo; DROP TABLE profiles;

SELECT password FROM profiles WHERE user_id = ‘’

xxx

SQL Injection Defense! !

foo; DROP TABLE profiles; xxx

SELECT password FROM profiles WHERE user_id=‘foo’;DROP TABLE profiles;

à SQL injection attack eliminates Table “profiles”! Assumption: Attacker knows the target, e.g., Table “profiles”!

Other names SELECT password FROM profiles WHERE user_id=‘foo’;DROP TABLE profiles;

à SQL Error since TABLE profiles does not exist! à Moving Target Defense = Randomly generate TABLE names! What is the target in this example?

9

Other injection possibilities! Attackers can!

Cross-Site Scripting (XSS)!

•  Inject new data to the database, e.g., ! •  Sell politically incorrect items! •  INSERT command to input in the data entry! •  Modify data in the database! •  Discount price on an expensive item! •  UPDATE command in the injected SQL! •  Gain access to other userʼs system by obtaining their passwords! !

Texas Tech University

Cross-site Scripting (XSS)!

Example!

•  Enables attackers to inject client-side script into Web pages viewed by other users! •  Enables attackers to bypass access controls from the Clientʼs policy!

Browser

Server

Welcome alice user_name=“alice”

Cross-Site!

Scripting!

•  “Foreign” scripts sent to the client!

•  Languages

•  Attacker makes Web-Server delivered malicious script

•  Embedded in Web page (html)! •  Executed by Web Browser

Welcome alice

… PRINT ‘Welcome ’ + user_name; …

Web Application

(e.g., JavaScript, VBScript, ActiveX) !

10

Example of Simple Attack!

Browser

Simple Attack in Blogging!

POST Forum Message -----------------------------------------Subject: GET Money for FREE!!! Body: attack code

Server

Welcome

hijack!

user_name=“ alert(‘hijack’); ”

… PRINT ‘Welcome ’ + user_name; …

Welcome alert(‘hijack’)

Web Application

Server

Attacker

BlogID = 1 Subject: Help Wanted!!! BlogID = 2 Body: Subject: Sale iPhone I need help …. Body: Subject: GET Money for FREE!!! BlogID = 3 I need money Vacation Package!!! Body: BlogID = 4 Subject: attack code Body: Want to sell …..

Blogging Web Application

Request BlogID = 3

Browser interpret alert(‘hijack’) as the executable script and execute it.! Victim Blogging user

From XSS attacks …..! •  Crash Userʼs Browser (e.g., Pop-Up-Flooding, Redirection)! à Denial-of-service! •  Access to Userʼs machine and use ActiveX objects ! à Access/upload userʼs local data to attackerʼs machine! •  Load main frame content from “other” locations! à Redirect to illegitimate download !

Response from Server Subject: GET Money for FREE!!! Body: attack code

Executed by the client-side Web Browser!

Impact of XSS attacks! •  Web server: Access to authentication credentials for Web applications, Cookies, Username and Password! à Loss customer trust/reputation/money ! •  Web clients: ! •  Normal Users: Access to personal data (Credit card, Bank Account), business data, Misuse of the account (e.g., order expensive goods)! •  High privileged users ! •  Control over Web application ! •  Control/Access on Web server machine! •  Control/Access on Backend/Database systems! XSS is a very harmful flaw !!

11

Outline!

Tools!

• 

Basic Concepts!

•  Web application scanners:!

• 

Security Types and Perspectives!

•  SpikeProxy (Debian Project)!

• 

Attacks and Threats!

•  WebInspect (SPI Dynamics)!

• 

Some Tools and Research Snapshots!

• 

Conclusions!

•  Penetration Testing tools: conducting security testing for web applications! •  Enable crafting of http request/responses!

!

•  Analysis of session Ids, cookies, tokens, etc. for randomness features and !

! !

•  WebScarab (OWASP project) Samspade (Samspade)! • 

Hewett

45

Texas Tech University

http://www.slideshare.net/Softwarecentral/software-testing-conference-2005-security-testing-for-web!

Hewett

Texas Tech University

Counter Measures!

46

URL Analysis in Contexts! Goal: Identify malicious URLs to prevent ! •  Phishing, Spamming and Malicious Download!

Client ! Web Browser!

•  Social Engineering! Phishing! à URL Analysis! •  Malware! •  CrossSite Scripting! Internet Crime!

•  Click Fraud! à Detection!

Web Server!

Approaches: !

•  HeartBleed! •  Buffer Overflow!

•  Dynamic Analysis: running script and verify if it is safe à accurate but expensive !

Web Application!

•  SQL Injection!à Moving Target !

•  Static Analysis:!

Defense!

•  Compare with URL blacklist (e.g., Phishtank) and whitelist (customized)!

Web Server/Application Software!

à Access Control! à Security Risks!

•  URL Analysis! •  Page Analysis!

Hewett

Texas Tech University

47

Hewett

Texas Tech University

48

! ! !

12

URL Analysis!

Counter Measures!

Use known attack signatures as heuristics for detecting malicious sites, e.g.,! •  Obfuscated URLs! !http://193.08.123.30/www.ebay.com/ws/htm or more than four periods in directory name space

Client !

•  Social Engineering! Phishing! à URL Analysis! •  Malware! •  CrossSite Scripting!

•  Redirection! http://usa.visa.com/track/dyredir.jsp?rDirl=http://200.251.251.10/.verified/

•  Mismatched Domain Names! ! http://secure.bank.com/Ebanking/logon/

Hewett

Texas Tech University

Web Server!

Web Browser!

•  Click Fraud! à Detection!

Hewett

Web Application!

•  SQL Injection!à Moving Target ! Defense! Web Server/Application Software!

Internet Crime!

49

•  HeartBleed! •  Buffer Overflow!

à Access Control! à Security Risks!

50

Texas Tech University

Motivations!

Automatic Click Fraud Detection in Web Advertisement !

•  Web advertisement is a major source of revenues for online services! •  Pay-per-click model: For each click on an advertisement! ! Broker passively allows fraud for profits!

Rattikorn Hewett & Abhishek Agarwal

!

High # clicks!

pays! Advertiser!

ASE International Conference on Cyber Security Washington D.C. Competitors deplete an advertiserʼs budget!

$

Broker (e.g., Google)!

 $$$ pays! Publisher!

 $$$ Publishers earn illegal profit!

Texas Tech University

13

Click Frauds!

Click Fraud Detection!

•  Internet crimes where !

•  Why is it hard?!

clicks are deliberately performed !

•  Fraud behaviors evolve over time!

with no real interest in the target ad!

•  Frauds can be performed by both humans and software bots!

to mimic a legitimate user for generating a charge on the ad!

!à may require distinctive behavioral characteristics! •  Hard to track user identity (IP addresses can change)!

! •  Detection of click frauds is desirable!

•  How?!

For Broker à To protect reputation!

•  Detection at the brokerʼs side (e.g., Google, Yahoo, etc.)!

For Advertisers à To protect revenues!

•  Detection at the advertiserʼs side! !à More limited data than that of the brokerʼs! !

Our Research!

Proposed Approach!

Problem: Given a web serverʼs log data on an advertiserʼs site.!

Dempster-Shafer Theory, a Theory of Evidence, that allows: !

Is there any click frauds on this site?! !

•  Reasoning about uncertainty based on combined evidences! •  Probability assignment to a set of hypotheses, e.g., !

Issues: Most existing automated techniques rely on !

!

•  Signature-based ! !à canʼt detect unseen new patterns! •  Classifier-based ! !à needs a historical training data set that may be outdated! •  Broker serverʼs data! !à not publically accessible !

14

Proposed Approach! Dempster-Shafer Theory, a Theory of Evidence, that allows: ! •  Reasoning about uncertainty based on combined evidences! •  Probability assignment to a set of hypotheses! •  Combination of mass functions (measuring a probability and a belief of a set of hypotheses) from different evidences!

Evidence for Click Fraud Detection! Evidence 1: On number of clicks! High number of clicks in a short time  likely fraud! Evidence 2: On time spent at ad-site! Spent a long time at the ad-site  likely ~fraud! Evidence 3: On visit patterns! Visit ad-site via ad click after visit via URL  likely fraud!

!

Evidence 4: On click origin! Click where advertiser has no business  likely fraud! !

Evidence 5: On time of click! Click during suspicious time of the day  likely fraud!

!!

Illustration! •  Experiments with Synthetic Data containing information on:!

Data Sample! IP Address

Click No

Time of click

Page

Referrer

172.16.276.3

1

3/5/2012 1:50

index.htm

adsite.htm

172.16.276.3

2

3/5/2012 1:56

index.htm

adsite.htm

172.16.276.3

3

3/5/2012 2:01

page1.htm

index.htm

•  Time of click!

172.16.276.3

4

3/5/2012 2:07

page2.htm

page1.htm

•  Page requested!

172.16.276.3

5

3/5/2012 2:13

index.htm

google.com

•  Page referred !

172.16.276.3

6

3/5/2012 2:18

page1.htm

index.htm

172.16.276.3

7

3/5/2012 2:23

page2.htm

page1.htm

172.16.276.3

8

3/5/2012 2:33

index.htm

null

172.16.276.3

9

3/5/2012 2:35

page1.htm

index.htm

172.16.276.3

10

3/5/2012 2:37

page2.htm

page1.htm

•  User IP address (also Googleʼs ID – eliminate redundancy)! ! à infer click location! •  Click number (only in a specified time window)!

!à infer whether the visit is via ad or non-ad! ! ! !

15

A scenario!

A scenario! Visit via URL

Visit via URL

Visit via ad

Visit via ad

Bel(Fraud) increases

•  Three clicks during three short visits, each is a sec apart •  One click during a 4 sec visit via URL with “login” + “shopping” •  Four clicks during four short visits, each is a sec apart

Experimental Results! # of clicks

Time spent on site

Bel(Fraud) increases

Bel(Fraud) decreases

Limitations! visit pattern!

•  Experiments with synthetic data since no public data available! •  Incomplete set of mass functions à can be extended easily! •  No comparison with related systems à not available! !

Click origin! ! ! ! ! ! ! Time of click! Combined belief values!

16

Conclusions & Future work!

Counter Measures!

•  Present an automated approach to click fraud detection! •  Based on well-established theory! Client !

•  Can detect new unseen patterns!

Web Browser!

•  Social Engineering! Phishing! à URL Analysis! •  Malware! •  CrossSite Scripting!

•  On-line computation on new incoming data! •  Does not require large database! •  Easily extensible framework! •  Future work: more experiments to gain understanding of!

Internet Crime!

•  Effectiveness of the proposed approach!

•  Click Fraud! à Detection!

•  Characteristics of other click fraud behaviors!

Hewett

Web Server!

•  HeartBleed! •  Buffer Overflow! Web Application!

•  SQL Injection!à Moving Target ! Defense! Web Server/Application Software!

à Access Control! à Security Risks!

Texas Tech University

66

Motivations! Information System Securit!

•  Modern enterprises increasingly rely on ! !information systems to provide their functionalities! •  Managing access authorities is critical to security of the information systems !

Rattikorn Hewett & Phongphun Kijsanayothin •  Role-based access control (RBAC) models are widely used to enforce access authorization!

IEEE SMC

Texas Tech University

Hewett

Texas Tech University

68

17

Access Control Models! Three types of models:

Issues!

Authorized commands

Most existing work in RBAC deals with! Specifications of security constraints!

Mandatory Models !

Protected Objects (e.g.,

Discretionary Models

document)

! → The constraints may or may not be satisfied!

Users •  Prior to run-time: Role Assignment

Roles

(e.g., clerk)

E.g., clerk →{Ann, Bob}

•  At run-time: Role Activation E.g., clerk → Bob

Role-based Models! →  Gain flexibility since users roles can be reassigned easily without changing access control

Hewett

69

Texas Tech University

Hewett

Issues!

Issues!

Most existing work in RBAC deals with!

Most existing work in RBAC deals with!

•  Specifications of security constraints!

•  Specifications of security constraints!

! → The constraints may or may not be satisfied!

! → The constraints may or may not be satisfied!

•  Access authorization enforcement assumed by logical inferences at run-time

70

Texas Tech University

•  Access authorization enforcement assumed by logical inferences at run-time

!

!→ When violation occurs, it may be too late to fix ! !→ Delays or operation failures!

!

!→ When violation occurs, it may be too late to fix ! !→ Delays or operation failures! •  Logic-based systems that tend to be difficult to understand and do not scale easily! !

Hewett

Texas Tech University

71

Hewett

Texas Tech University

72

18

Our research!

Separation of Duties (SoDs) !

A systematic technique that supports!

•  Common security policy constraints !

•  Automated verification of security constraints (instead of specification) !

•  Protect frauds by ensuring that no single user receives too many authorities!

•  Analysis for authorization enforcement prior to runtime (i.e., before execution of action/operation, role activation) !

•  Realized by Mutually Exclusive Roles (MER): a set of pairs of conflicting roles! ! E.g., (Claim clerk, Auditor) ∈ MER! Type & print Approve & sign

•  Comprehensibility and scalability by employing setbased algorithms!

A check payment x should not be both a claim clerk & an auditor ⇒ Static SoD!

Hewett

Texas Tech University

73

Hewett

Types of SoD constraints!

Simple Dynamic

Object-based

Operational

Weak History-based

Hewett

•  Input: a design of RBAC information system! •  Output: either yes - the design satisfies SD-SoD or a counter example of role activations causing a violation - to be fixed!

•  x can t be both r and r

Static

•  x can be both r and r but! not at the same time!

•  Basic idea:!

•  x can be both r and r at the same time! but not on the same object !

•  Identify mutually exclusive roles in MER!

•  x can be both r and r at the same time! but not on the same operation!

•  Annotate each activity of the system operation with authorized access (role, action, objects) !

•  x can be both r and r at the same time! but not on the same object or operation !

Texas Tech University

74

Simple Dynamic(SD)-SoD Verification!

!For any mutually exclusive roles r and r and any user x! Strong

Texas Tech University

75

•  For each operation, use MER to search for a valid role activation for each activity in order of the operation path in a depth first search manner! Hewett

Texas Tech University

76

19

SD-SoD Verification: An Example! (clerk, write, claim-info)

(clerk, read, claim-info) No

Identify & Retrieve claim

Yes

Enter New Claim

New Claim? (clerk, read, insurer-info),  (clerk, update, claim-info)

Check Eligibility



(examiner, update, claim-info)

Review Medical Procedure Code (clerk, update, claim-info)

(examiner, update, claim-info)

Evaluate coverage

No

Notify Claimant

Error? Yes In Compliance?

A Health Insurance Claim Process:! Roles: Clerk, Examiner, Supervisor, Manager, Director ! Actions: read, write, update! Objects: claim-info, insurer-info, EoB, check!

User Role Assignment (UR):! !Roles Personnel

No

Yes

(examiner, update, claim-info)

Authorize Payment

Yes

Reasonable Cost ? No (supervisor, update, claim-info)

(clerk, write, {check, EOB})

Investigate Utilization

Prepare check & EOB report

Mutually exclusive roles:!

(supervisor, update, {claim-info, EOB})

Verify/Approve payment

No

No

Payment > $5K ?

Yes (director, write, check)

Approve Account & Sign Check

Possible Litigation? Yes

✔ (director, update, claim-info) Review investigation report

Approve claim & Sign Check

✔ (manager, update, {check, EOB})

(clerk, update, claim-info)

Examiner!

x!

Supervisor!

x!

Manager! Director!

Update claim status

Hewett

Clerk A, B Examiner A, B, C Supervisor B, C Manager C, D Director C

x!

x! x! Clerk!

x! x!

x!



Examiner! Supervisor! Manager!

77

Texas Tech University

SoD Verification: An Example! Enter Claim Clerk: claim-info Check Eligibility Clerk: claim-info Review Med Proc Code Examiner: claim-info Evaluate Coverage Examiner: claim-info Authorize Payment Examiner: claim-info Prepare check & EOB report Clerk: check, EOB Verify/Approve Payment Supervisor: claim-info, EOB Approve Account, Sign Check Manager: check, EOB Investigate Utilization Supervisor: claim-info Review investigation Report Director: claim-info Update claim status Clerk: claim-info

Hewett

Role Hierarchy & Delegation! Claim Processing Director Claim Supervisor

Account Manager

Claim Examiner Claim Clerk

Texas Tech University

Obj-SoD

B

A

x!

Director!

x! Clerk!

B

B

B A|A

A

C

x!

Manager!

B

B

B

x!

A

A A

Examiner! Supervisor!

A

A

C D

B|B

C|B

C|C

D

x! x! x!

x!

Examiner! Supervisor! Manager!

User Role Assignment:! Roles Personnel Clerk A, B Examiner A, B, C Supervisor B, C Manager C, D Director C

C

C D

D

A

A

Texas Tech University

78

Conclusions! •  Present a systematic approach to analyzing SoD constraints in RBAC information systems !

User Role Assignment:! Roles Personnel Clerk A, B C, D Examiner A, B, C Supervisor B, C Manager C, D Director C

•  Advantages of our technique:! •  Supports automated verification of security constraints prior to run-time ! •  Changes prior to commitment of role activations are easy to implement → helps prevent failures of critical operations!

Simple role hierarchy: personnel with roles at a higher level! are qualified to take roles at lower levels!

•  General for reuse in multiple local contexts (e.g. in distributed systems) → provides building block capability for scalable enforcement of access control authorization!

Our approach: ! •  applies the same way when role hierarchy is employed! •  is useful for verification especially when changes occur! due to delegation Hewett

SD-SoD!

79

Hewett

Texas Tech University

80

20

Outline!

Conclusions!

• 

Basic Concepts!

•  This talk has covered!

• 

Security Types and Perspectives!

•  Basic concepts of Web Security!

• 

Attacks and Threats!

•  Attacks !

• 

Some Tools and Research Snapshots!

•  State of the arts!

• 

Conclusions!

•  Some Research Snapshots! •  Not likely to find tools to prevent “Attacks”!

!

•  Evolving techniques are necessarily to combat attacks!

!

•  Recent trends are to make attackers work harder to attack by moving targets à Moving targets defense!

!

Hewett

Texas Tech University

81

Hewett

Texas Tech University

82

21