Dec 13 th CS555 presentation1 Yiwen Wang --“Securing the DB may be the single biggest action an organization can take to protect its assets” David C. Knox.

Slides:



Advertisements
Similar presentations
Module XIV SQL Injection
Advertisements

Chapter 23 Database Security and Authorization Copyright © 2004 Pearson Education, Inc.
How Did I Steal Your Database Mostafa
-Ajay Babu.D y5cs022.. Contents Who is hacker? History of hacking Types of hacking Do You Know? What do hackers do? - Some Examples on Web application.
Database Management System
By Brian Vees.  SQL Injection  Username Enumeration  Cross Site Scripting (XSS)  Remote Code Execution  String Formatting Vulnerabilities.
It’s always better live. MSDN Events Security Best Practices Part 2 of 2 Reducing Vulnerabilities using Visual Studio 2008.
Information Networking Security and Assurance Lab National Chung Cheng University The Ten Most Critical Web Application Security Vulnerabilities Ryan J.W.
It’s always better live. MSDN Events Securing Web Applications Part 1 of 2 Understanding Threats and Attacks.
Information Networking Security and Assurance Lab National Chung Cheng University 1 Top Vulnerabilities in Web Applications (I) Unvalidated Input:  Information.
Database Connectivity Rose-Hulman Institute of Technology Curt Clifton.
Injection Attacks by Example SQL Injection and XSS Adam Forsythe Thomas Hollingsworth.
Database Security Overview Blake Middleton CSE 7330 – Fall 2009.
Database Security Managing Users and Security Models.
Database Security and Auditing: Protecting Data Integrity and Accessibility Chapter 3 Administration of Users.
Security and Integrity
Database System Security UW-Stout Information and Cyber Security Workshop 8/24/2006 Paul Wagner,
1 IS 2150 / TEL 2810 Introduction to Security James Joshi Associate Professor, SIS Lecture 12.1 Nov 20, 2012 SQL Injection Cross-Site Scripting.
SQL Injection Timmothy Boyd CSE 7330.
Database Security and Auditing: Protecting Data Integrity and Accessibility Chapter 3 Administration of Users.
Analysis of SQL injection prevention using a proxy server By: David Rowe Supervisor: Barry Irwin.
CSCI 6962: Server-side Design and Programming Secure Web Programming.
Ladd Van Tol Senior Software Engineer Security on the Web Part One - Vulnerabilities.
Lecture slides prepared for “Computer Security: Principles and Practice”, 3/e, by William Stallings and Lawrie Brown, Chapter 5 “Database and Cloud Security”.
Lecture 16 Page 1 CS 236 Online SQL Injection Attacks Many web servers have backing databases –Much of their information stored in a database Web pages.
CS 3630 Database Design and Implementation. Your Oracle Account UserName is the same as your UWP username Followed Not case sensitive Initial.
Attacking Applications: SQL Injection & Buffer Overflows.
SEC835 Practical aspects of security implementation Part 1.
Database Vulnerability And Encryption Presented By: Priti Talukder.
Analysis of SQL injection prevention using a proxy server By: David Rowe Supervisor: Barry Irwin.
Security Scanners Mark Shtern. Popular attack targets Web – Web platform – Web application Windows OS Mac OS Linux OS Smartphone.
OWASP Top Ten #1 Unvalidated Input. Agenda What is the OWASP Top 10? Where can I find it? What is Unvalidated Input? What environments are effected? How.
1 IT420: Database Management and Organization Database Security 5 April 2006 Adina Crăiniceanu
Copyright © 2013 Curt Hill Database Security An Overview with some SQL.
 Chapter 14 – Security Engineering 1 Chapter 12 Dependability and Security Specification 1.
Analysis of SQL injection prevention using a filtering proxy server By: David Rowe Supervisor: Barry Irwin.
Oracle 11g DATABASE DEVELOPMENT LAB1. Introduction  Oracle 11g Database:-  Oracle 11g database is designed for some features, which helps to the organizations.
nd Joint Workshop between Security Research Labs in JAPAN and KOREA Marking Scheme for Semantic- aware Web Application Security HPC.
Building Secure Web Applications With ASP.Net MVC.
By Sean Rose and Erik Hazzard.  SQL Injection is a technique that exploits security weaknesses of the database layer of an application in order to gain.
Database Security. Multi-user database systems like Oracle include security to control how the database is accessed and used for example security Mechanisms:
Database Security Lesson Introduction ●Understand the importance of securing data stored in databases ●Learn how the structured nature of data in databases.
Database Security Cmpe 226 Fall 2015 By Akanksha Jain Jerry Mengyuan Zheng.
Mr. Justin “JET” Turner CSCI 3000 – Fall 2015 CRN Section A – TR 9:30-10:45 CRN – Section B – TR 5:30-6:45.
Chapter 13Introduction to Oracle9i: SQL1 Chapter 13 User Creation and Management.
Chapter 9 Database Security and Authorization Copyright © 2004 Pearson Education, Inc.
SQL Injection Anthony Brown March 4, 2008 IntroductionQuestionsBackgroundTechniquesPreventionDemoConclusions.
Oracle 11g: SQL Chapter 7 User Creation and Management.
Defending Applications Against Command Insertion Attacks Penn State Web Conference 2003 Arthur C. Jones June 18, 2003.
 CONACT UC:  Magnific training   
Database Security. Introduction to Database Security Issues (1) Threats to databases Loss of integrity Loss of availability Loss of confidentiality To.
Database Security Database System Implementation CSE 507 Some slides adapted from Navathe et. Al.
ADVANCED SQL.  The SQL ORDER BY Keyword  The ORDER BY keyword is used to sort the result-set by one or more columns.  The ORDER BY keyword sorts the.
Slide Set #24: Database security SY306 Web and Databases for Cyber Operations.
SQL INJECTION Diwakar Kumar Dinkar M.Tech, CS&E Roll Diwakar Kumar Dinkar M.Tech, CS&E Roll
Cosc 5/4765 Database security. Database Databases have moved from internal use only to externally accessible. –Organizations store vast quantities of.
Database and Cloud Security
SQL Injection.
Database System Implementation CSE 507
CS 3630 Database Design and Implementation
Web Application Vulnerabilities, Detection Mechanisms, and Defenses
Database Security and Authorization
Introduction To Database Systems
SQL INJECTION ATTACKS.
SQL Injection Attacks Many web servers have backing databases
Marking Scheme for Semantic-aware Web Application Security
DATABASE MANAGEMENT SYSTEM
PHP: Security issues FdSc Module 109 Server side scripting and
Lecture 2 - SQL Injection
WWW安全 國立暨南國際大學 資訊管理學系 陳彥錚.
Presentation transcript:

Dec 13 th CS555 presentation1 Yiwen Wang --“Securing the DB may be the single biggest action an organization can take to protect its assets” David C. Knox

 Database Security - protection from malicious attempts to steal (view) or modify data.

 Bank accounts  Credit card, Salary, Income tax data  University admissions, marks/grades  Land records, licenses  Data = crown jewels for organizations  Recent headlines:  Personal information of millions of credit card users stolen  Criminal gangs get into identity theft  Web applications been hacked due to the database vulnerabilities

1) DB Security Plan 2) Database Access Control 3) DBMS Security: Patching 4) DB Application: SQL injection, Inference Threats 5) Virtual Private Databases 6) Oracle Label Security 7) Inference Threats 8) Encryption 9) Auditing 10) Datawarehouse 11) Security Animations

 Default Users and Passwords  Users, Passwords  Default users/passwords  sys, system accounts – privileged, change default password  Sa (MS-SQL Server)  scott account – well-known account/password, change it -general password policies (length, domain, changing, protection)  People Having too many privileges  Privileges, Roles, Grant/Revoke  Privileges  System - actions  Objects – data  Roles (pre-defined and user-defined role)  Collections of system privileges (example: DBA role)  Grant / Revoke  Giving (removing ) privileges or roles to (from) users

GRANT privilege_name ON object_name TO role_name; REVOKE privilege_name ON object_name FROM role_name;

 Some important database priveleges:  Select  Insert  Update  Delete  Index  Alter  Create database  Drop database  All  Usage

 Applications are often the biggest source of insecurity  OWASP Top 10 Web Security Vulnerabilities 1. Unvalidated input 2. Broken access control 3. Broken account/session management 4. Cross-site scripting (XSS) flaws 5. Buffer overflows 6. (SQL) Injection flaws 7. Improper error handling 8. Insecure storage 9. Denial-of-service 10. Insecure configuration management Database Application Program

 SQL Injection  Definition – inserting malicious SQL code through an application interface  Often through web application, but possible with any interface  Typical scenario  Three-tier application (web interface, application, database)  Overall application tracks own usernames and passwords in database (advantage: can manage users in real time)  Web interface accepts username and password, passes these to application layer as parameters

 Example: Application Java code contains SQL statement:  String query = "SELECT * FROM users table " + " WHERE username = " + " ‘ " + username + " ‘ " + " AND password = " + " ‘ " + password + " ‘ " ;  Note: String values must be single quoted in SQL, so application provides this for each passed string parameter  Expecting one row to be returned if success, no rows if failure  Common variant – SELECT COUNT(*) FROM …

 Attacker enters:  any username (valid or invalid)  password of: Aa‘ OR ‘ ‘ = ‘  Query becomes: SELECT * FROM users_table WHERE username = ‘anyname‘ AND password = ‘Aa‘ OR ‘ ‘ = ‘ ‘;  Note: WHERE clause => F and F or T => F or T => T  AND has higher precedence than OR  All user/pass rows returned to application  If application checking for 0 vs. more than 0 rows, attacker is in

 How to resolve this?  First (Attempted) Solution: Check Content  Client code checks to ensure certain content rules are met  Server code checks content as well  Specifically – don’t allow apostrophes to be passed  Problem: there are other characters that can cause problems  --// SQL comment character  ;// SQL command separator  %// SQL LIKE subclause wildcard character  Which characters do you filter (blacklist) / keep (whitelist)?

 Bertino, E., & Sandhu, R. (2005). Database security—concepts, approaches, and challenges. IEEE Transactions on Dependable and Secure Computing, 2(1), 2-18  Defense Information Systems Agency. (2004). Database security technical implementation guide, 7(1). Department of Defense. Retrieved January 31, 2010, from se-stig-v7r1.pdf se-stig-v7r1.pdf  Wilhelm Burger Mark J.Burge(2010) Digital Image Processing—An Algorithmic Introduction Using Java

Thank you !