Web Security ! Outline!

advertisement
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 = ‘<user input>’
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 = ‘<user input>’
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:
<script>attack code</script>
Server
Welcome
hijack!
user_name=“<script>
alert(‘hijack’);
</script>”
…
PRINT ‘Welcome ’ + user_name;
…
Welcome <script>
alert(‘hijack’)
</script>
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:
<script>attack
code</script>
Body:
Want to sell …..
Blogging Web Application
Request BlogID = 3
Browser interpret <script>alert(‘hijack’)</script>
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:
<script>attack code</script>
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!
!<a href = "http://www.fakedomain.net/verifysession.php">
http://secure.bank.com/Ebanking/logon/</a>
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
Download