Dr. Xiang Fu Assistant Professor Department of Computer Science Hofstra University.

Slides:



Advertisements
Similar presentations
WaveMaker Visual AJAX Studio 4.0 Training
Advertisements

Relational Database. Relational database: a set of relations Relation: made up of 2 parts: − Schema : specifies the name of relations, plus name and type.
PHP Hypertext Preprocessor Information Systems 337 Prof. Harry Plantinga.
Keys, Referential Integrity and PHP One to Many on the Web.
Database Management Systems, R. Ramakrishnan and J. Gehrke1 The Relational Model Chapter 3.
1/20 Generalized Symbolic Execution for Model Checking and Testing Charngki PSWLAB Generalized Symbolic Execution for Model Checking and Testing.
Abhinn Kothari, 2009CS10172 Parth Jaiswal 2009CS10205 Group: 3 Supervisor : Huzur Saran.
By Philipp Vogt, Florian Nentwich, Nenad Jovanovic, Engin Kirda, Christopher Kruegel, and Giovanni Vigna Network and Distributed System Security(NDSS ‘07)
SQL Lecture 10 Inst: Haya Sammaneh. Example Instance of Students Relation  Cardinality = 3, degree = 5, all rows distinct.
Conformance Verification of Privacy Policies Xiang Fu Assistant Professor Department of Computer Science Hofstra University.
Bookshelf.EXE - BX A dynamic version of Bookshelf –Automatic submission of algorithm implementations, data and benchmarks into database Distributed computing.
Penetration Testing with Improved Input Vector Identification William G.J. Halfond, Shauvik Roy Choudhary, and Alessandro Orso College of Computing Georgia.
Automated rule Generation Maryam Mustafa Sarah Karim
A Guide to Oracle9i1 Introduction To Forms Builder Chapter 5.
1 System: Mecano Presenters: Baolinh Le, [Bryce Carder] Course: Knowledge-based User Interfaces Date: April 29, 2003 Model-Based Automated Generation of.
A String Constraint Solver for Detecting Web Application Vulnerability Xiang Fu Hofstra University Chung-Chih Li Illinois State University 07/03/2010SEKES.
SQL Forms Engine Koifman Eran Egri Ozi Supervisor: Ilana David.
Universe Design Concepts Business Intelligence Copyright © SUPINFO. All rights reserved.
Handling Security Threats in Kentico CMS Karol Jarkovsky Sr. Solution Architect Kentico Software
TIBCO Designer TIBCO BusinessWorks is a scalable, extensible, and easy to use integration platform that allows you to develop, deploy, and run integration.
Query Planning for Searching Inter- Dependent Deep-Web Databases Fan Wang 1, Gagan Agrawal 1, Ruoming Jin 2 1 Department of Computer.
Database Application Security Models
The Relational Model These slides are based on the slides of your text book.
Analysis of SQL injection prevention using a proxy server By: David Rowe Supervisor: Barry Irwin.
Hamdi Yesilyurt, MA Student in MSDF & PhD-Public Affaris SQL Riji Jacob MS Student in Computer Science.
Access Control Rules Tester Andrew Petukhov Department of Computer Science Moscow State University
1 The Architectural Design of FRUIT: A Family of Retargetable User Interface Tools Yi Liu, H. Conrad Cunningham and Hui Xiong Computer & Information Science.
1 PHP and MySQL. 2 Topics  Querying Data with PHP  User-Driven Querying  Writing Data with PHP and MySQL PHP and MySQL.
November 13, 2008 Ohio Information Security Forum Attack Surface of Web Applications James Walden Northern Kentucky University
หลักการโปรแกรม เพื่อแก้ปัญหาโดยใช้คอมพิวเตอร์
© 2006 IBM Corporation IBM WebSphere Portlet Factory Architecture.
WS-Security: SOAP Message Security Web-enhanced Information Management (WHIM) Justin R. Wang Professor Kaiser.
2. Database System Concepts and Architecture
1 A Static Analysis Approach for Automatically Generating Test Cases for Web Applications Presented by: Beverly Leung Fahim Rahman.
nd Joint Workshop between Security Research Labs in JAPAN and KOREA Profile-based Web Application Security System Kyungtae Kim High Performance.
Analysis of SQL injection prevention using a proxy server By: David Rowe Supervisor: Barry Irwin.
School of Computing and Information Systems CS 371 Web Application Programming PHP – Forms, Cookies, Sessions and Database.
RELATIONAL FAULT TOLERANT INTERFACE TO HETEROGENEOUS DISTRIBUTED DATABASES Prof. Osama Abulnaja Afraa Khalifah
CANDID : Preventing SQL Injection Attacks Using Dynamic Candidate Evaluations V. N. Venkatakrishnan Assistant Professor, Computer Science University of.
1 Constraints for Multimedia Presentation Generation Joost Geurts, Multimedia and Human-Computer Interaction CWI Amsterdam
Oracle Data Integrator Transformations: Adding More Complexity
Semantic Access Control Ashraful Alam Dr. Bhavani Thuraisingham.
Analysis of SQL injection prevention using a filtering proxy server By: David Rowe Supervisor: Barry Irwin.
October 3, 2008IMI Security Symposium Application Security through a Hacker’s Eyes James Walden Northern Kentucky University
Sumanth M Ganesh B CPSC 620.  SQL Injection attacks allow a malicious individual to execute arbitrary SQL code on your server  The attack could involve.
22 November Databases. Presentations Tega: news 1954 Prediction.
Database Systems Design, Implementation, and Management Coronel | Morris 11e ©2015 Cengage Learning. All Rights Reserved. May not be scanned, copied or.
Server-side Programming The combination of –HTML –JavaScript –DOM is sometimes referred to as Dynamic HTML (DHTML) Web pages that include scripting are.
How I spend my money Software architecture course Mohan, Maxim.
Web Security Lesson Summary ●Overview of Web and security vulnerabilities ●Cross Site Scripting ●Cross Site Request Forgery ●SQL Injection.
Michael Dalton, Christos Kozyrakis, and Nickolai Zeldovich MIT, Stanford University USENIX 09’ Nemesis: Preventing Authentication & Access Control Vulnerabilities.
Web2.0 Secure Development Practice Bruce Xia
A facilitator to discover and compose services Oussama Kassem Zein Yvon Kermarrec ENST Bretagne.
Chapter 5 : Integrity And Security  Domain Constraints  Referential Integrity  Security  Triggers  Authorization  Authorization in SQL  Views 
1 State and Session Management HTTP is a stateless protocol – it has no memory of prior connections and cannot distinguish one request from another. The.
Adapted from  2012 Prentice Hall, Inc. All rights reserved. 5 th ed: Chapter 2 and th ed: 4.11 SY306 Web and Databases for Cyber Operations.
NMD202 Web Scripting Week2. Web site
Session 11: Cookies, Sessions ans Security iNET Academy Open Source Web Development.
Interstage BPM v11.2 1Copyright © 2010 FUJITSU LIMITED INTEGRATION.
Chapter 3 The Relational Model. Why Study the Relational Model? Most widely used model. Vendors: IBM, Informix, Microsoft, Oracle, Sybase, etc. “Legacy.
Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke1 The Relational Model Chapter 3.
START Application Spencer Johnson Jonathan Barella Cohner Marker.
SQL INJECTION Lecturer: A.Prof.Dr. DANG TRAN KHANH Student :Le Nguyen Truong Giang.
1 CS122A: Introduction to Data Management Lecture #4 (E-R  Relational Translation) Instructor: Chen Li.
SQL Injection Attacks S Vinay Kumar, 07012D0506. Outline SQL Injection ? Classification of Attacks Attack Techniques Prevention Techniques Conclusion.
Web Security (cont.) 1. Referral issues r HTTP referer (originally referrer) – HTTP header that designates calling resource  Page on which a link is.
Static Detection of Cross-Site Scripting Vulnerabilities
Automated Pattern Based Mobile Testing
Chapter 13 Security Methods Part 3.
Web Mining Department of Computer Science and Engg.
Presentation transcript:

Dr. Xiang Fu Assistant Professor Department of Computer Science Hofstra University

 Introduction  Path Transducer Model  Relational Constraint  Call Sequence Synthesis  Detecting Workflow Attack  Related Work and Conclusion

Web Server Databases

 Traditionally, SQLUnit & DBUnit ◦ Manual Test Case Design  Reverse Inference of DB State ◦ Given Query & Expected Result ◦ Generate Initial DB Instance  Our Problem: Synthesis Problem ◦ Given Database State ◦ Synthesize Call Sequence of Servlets

 White-box Analysis  (1) Interface Extraction  Path Transducers  (2) Coverage Goal Extraction  (3) Call Sequence Generation  Adaptation  Discover Workflow Attacks

 Servlet  Path Transducers  Relational Transducer that Models One Execution Path ◦ Path Condition ◦ Side Effects to DB Servlet

 Relational Data Schema  Input Domain  Finite Set of Session Variables  Boolean Combination of Terms ◦ Equality  v’ = v + 1 ◦ Satisfiability Check

 Selection  Projection  Cross Product  Union  Difference

SimpleScarf ShowSessions.php InsertSession.phpAddMember.php GenOptions.php Login.php

U sers vchar uname vchar pwd S essions int sid vchar sname M embers int sid vchar uname

 Check Valid Session Var #uname  Select Session Info  No Side Effects

 User Specify New Session Name $S I  Update Relation Sessions

 Takes Two Parameters ◦ $u A : User Name ◦ $s A : Session Name  Add Membership Info

 Add User: One of Many Functions Available  Takes Two Parameters ◦ $u G : User name ◦ $p G : Password Encrypt Password Password Rules Encoded Using String Constraint

 Given Two Parameters ◦ $u L : user name ◦ $p L : password  When Success, Update Session Variable ◦ #u: Session Variable on user name

 Key to Synthesis  Khurshid’s Approach [ASE’08]  Translate to Alloy

Transition System Post Image

Join of Session and Membership Select Session Name ‘s1’ Project to uname Find users in paper session ‘s1’ but not in ‘s2’ Goal: Find DB Instance Satisfies query

VarsClausesTrans_TimeSolve_Time ms78ms

Coverage Goal: Line # 45 Path Transducers CALL Seq Synthesis Algorithm List of HTTP Requests

(Η’,ϒ’)  Knowledge In Advance: ◦ (1) Each Path Transducer – Transition System (Relational Logic) ◦ (2) Relations being Modified (add, drop, modify) ◦ (3) Session Vars being Modified  Algorithm: Backtrack (Η,ϒ)(Η,ϒ) HTTP Request Current Constraint ϒ’ = Pre(H’, ϒ) Heuristic to pick to the next servlet: watch the difference between the relations in the current constraints and target constraints. “Insertion” has priority

Coverage Goal Target Constraint: True Initial Constraint: Path Transducer:

TransitionPost-Image Standard Existential Quantification Initial Constraint: Compare M and #u modified!  Next servlet: AddMember or Login

1.07 seconds for generating the model by ALLOY

EnterAddrChargeCCGenReceiptPrintShipping How to Detect Workflow Attack? (1)Static Analysis for ALL URLS that could be generated by a servlet (2)Modify the Backtrack algorithm for locating an “abnormal” link not in the ALL_URLs set Database manipulation TAKEN CARE OF.

 Proposal of Several Interesting Directions ◦ Extraction of Path Transducer Model ◦ Solving Relational Constraints ◦ Call Sequence Synthesis Algorithm ◦ Extension for Detecting Workflow Attacks  Future Directions ◦ Implementation …

 Interface Extraction ◦ [Halfond’FSE07], [Halfond’FSE’08]  Relational Transducer ◦ [Abiteboul’JCSS00]  Query Aware Relational Constraint Solving ◦ [Binnig’ICDE07, Khalek’ICSE08]  Session Based Testing of Web App ◦ [Elbaum’TSE05, Sampath’ASE05, Sprenkle’FSE05]