Information Security Databases and (Inter)Networks Prof. dr. P.M.E. De Bra Department of Computing Science Eindhoven University of Technology.

Slides:



Advertisements
Similar presentations
Operating System Security
Advertisements

Chapter 23 Database Security and Authorization Copyright © 2004 Pearson Education, Inc.
Auditing Computer Systems
Security and Integrity
Database Management System
Database Security - Farkas 1 Database Security and Privacy.
Introduction to Database Management  Department of Computer Science Northern Illinois University January 2001.
Information Security Principles & Applications
Monday, 08 June 2015Dr. Mohamed Osman1 What is Database Administration A high level function (technical Function) that is responsible for ► physical DB.
Database Administration Chapter Six DAVID M. KROENKE’S DATABASE CONCEPTS, 2 nd Edition.
Database Management: Getting Data Together Chapter 14.
Database management concepts Database Management Systems (DBMS) An example of a database (relational) Database schema (e.g. relational) Data independence.
Security in Databases. 2 Srini & Nandita (CSE2500)DB Security Outline review of databases reliability & integrity protection of sensitive data protection.
Chapter 8 : Transaction Management. u Function and importance of transactions. u Properties of transactions. u Concurrency Control – Meaning of serializability.
Data Management I DBMS Relational Systems. Overview u Introduction u DBMS –components –types u Relational Model –characteristics –implementation u Physical.
Introduction to Databases Transparencies
Security in Databases. 2 Outline review of databases reliability & integrity protection of sensitive data protection against inference multi-level security.
Concepts of Database Management Seventh Edition
Transaction Management WXES 2103 Database. Content What is transaction Transaction properties Transaction management with SQL Transaction log DBMS Transaction.
Dr. Kalpakis CMSC 461, Database Management Systems Introduction.
Chapter 1 Introduction to Databases
Database Management Systems (DBMS)
Introduction to Databases and Database Languages
© 2013 Pearson Education, Inc. Publishing as Prentice Hall 1 CHAPTER 11: DATA AND DATABASE ADMINISTRATION Modern Database Management 11 th Edition Jeffrey.
Database System Concepts and Architecture Lecture # 3 22 June 2012 National University of Computer and Emerging Sciences.
Concepts of Database Management Sixth Edition
Module Title? DBMS Introduction to Database Management System.
DBSQL 7-1 Copyright © Genetic Computer School 2009 Chapter 7 Transaction Management, Database Security and Recovery.
© G. Dhillon, IS Department Virginia Commonwealth University Principles of IS Security Formal Models.
Switch off your Mobiles Phones or Change Profile to Silent Mode.
Chapter 6 – Database Security  Integrity for databases: record integrity, data correctness, update integrity  Security for databases: access control,
Concepts of Database Management Eighth Edition
Introduction: Databases and Database Users
Chapter 1 : Introduction §Purpose of Database Systems §View of Data §Data Models §Data Definition Language §Data Manipulation Language §Transaction Management.
Next-generation databases Active databases: when a particular event occurs and given conditions are satisfied then some actions are executed. An active.
©Silberschatz, Korth and Sudarshan1.1Database System Concepts Chapter 1: Introduction Purpose of Database Systems View of Data Data Models Data Definition.
Chapter 11 Database Security: An Introduction Copyright © 2004 Pearson Education, Inc.
Copyright © Curt Hill Database Function What should every database do?
D ATABASE A DMINISTRATION L ECTURE N O 3 Muhammad Abrar.
Database Security Outline.. Introduction Security requirement Reliability and Integrity Sensitive data Inference Multilevel databases Multilevel security.
© 2002 by Prentice Hall 1 Database Administration David M. Kroenke Database Concepts 1e Chapter 6 6.
INTRODUCTION TO DBS Database: a collection of data describing the activities of one or more related organizations DBMS: software designed to assist in.
DATABASE MANAGEMENT SYSTEM ARCHITECTURE
1 Chapter 1 Introduction to Databases Transparencies.
IT Auditing & Assurance, 2e, Hall & Singleton Chapter 3: Data Management Systems.
Computer Science and Engineering Computer System Security CSE 5339/7339 Session 21 November 2, 2004.
Programming Logic and Design Fourth Edition, Comprehensive Chapter 16 Using Relational Databases.
MBA 664 Database Management Dave Salisbury ( )
Academic Year 2014 Spring Academic Year 2014 Spring.
Chapter 11 Database Security: An Introduction Copyright © 2004 Pearson Education, Inc.
COEN 350: Network Security Authorization. Fundamental Mechanisms: Access Matrix Subjects Objects (Subjects can be objects, too.) Access Rights Example:
14.1 Silberschatz, Galvin and Gagne ©2009 Operating System Concepts with Java – 8 th Edition Protection.
Chapter 9 Database Security and Authorization Copyright © 2004 Pearson Education, Inc.
Overview of Database Security Introduction Security Problems Security Controls Designing Database Security.
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.
Access Controls Mandatory Access Control by Sean Dalton December 5 th 2008.
PREPARED BY: MS. ANGELA R.ICO & MS. AILEEN E. QUITNO (MSE-COE) COURSE TITLE: OPERATING SYSTEM PROF. GISELA MAY A. ALBANO PREPARED BY: MS. ANGELA R.ICO.
SYSTEMS IMPLEMENTATION TECHNIQUES TRANSACTION PROCESSING DATABASE RECOVERY DATABASE SECURITY CONCURRENCY CONTROL.
Copyright © 2016 Pearson Education, Inc. CHAPTER 12: DATA AND DATABASE ADMINISTRATION Modern Database Management 12 th Edition Jeff Hoffer, Ramesh Venkataraman,
Database System Implementation CSE 507
Database Security and Authorization
Chapter 3: Data Management Systems
Chapter 2 Database Environment Pearson Education © 2009.
Chapter 2 Database Environment.
Database management concepts
Database management concepts
Introduction of Week 13 Return assignment 11-1 and 3-1-5
DATABASE SECURITY For CSCL (BIM).
Chapter 2 Database Environment Pearson Education © 2009.
Presentation transcript:

Information Security Databases and (Inter)Networks Prof. dr. P.M.E. De Bra Department of Computing Science Eindhoven University of Technology

Parts / Topics / Issues Introduction: information security in information systems. (Relational) database security models. Designing secure (relational) databases. Statistical database security. Security in active and object-oriented databases. Intrusion detection in databases. Secure database access through Internet.

Information System Security secrecy: preventing/detecting/deterring the improper disclosure of information. –company policy (and the legal system) determine who may have access to which information. integrity: preventing/detecting/deterring the improper modification of information. –company policy determines who may modify which data. (the system must enforce the policy) availability: preventing/detecting/deterring improper denial of access to data or services.

Database concepts Data management: –lowest level: operating system –higher level: database management system Data models: –logical: dbms dependent model, typically a relational model. –conceptual: a model that describes the concepts to be represented in the database, typically using an entity-relationship model, or a semantic or functional model.

Database concepts (cont.) Data Definition Language (DDL): used to define data structures (relations). Data Manipulation Language (DML): used to add, delete and modify data. The DML is often embedded in a programming language. (It is often used indirectly by end- users, through forms-based interfaces.) Query Language (QL): a declarative language to specify which data to retrieve. It may be used directly by (some) end-users.

Security threats in databases Type of threat: release of information, modifications or denial of service. Cause of unintentional threats: –Natural or accidental disaster: causes damage to the hardware; results in loss of data and/or denial of service. –Errors or bugs in hardware or software: may result in unauthorized access or updates. –Human errors: incorrect input or incorrect use of applications; results similar to those of bugs.

Security threats in databases (cont.) Intentional abuse by users: –Authorized users may abuse their privileges and authority to leak information to others or to make modifications that harm their employer. –Hostile agents (outsiders and insiders) may attempt unauthorized actions. Examples: virus: self-replicating damaging code. trojan horse: hidden part of legitimate code performs invisible unauthorized actions. trapdoor: special input activates code that circumvents security mechanisms.

Security policies and mechanisms A policy defines what the security system is expected to do. Most policies concentrate on defining which reading and update actions on which data are authorized. A mechanism defines how the security system should enforce the chosen policy. The security system assurance defines how well the mechanisms are able to enforce the policy. It is a quality measure.

Database protection requirements Protection from improper access: the DBMS must determine if an access request from a user or application is permissible. –Fine granularity: Access rights can be defined for tables, records, attributes and values. –Redundant access rights: A user has rights to certain data and to certain applications; the “normal” use of these applications should not lead to data the user is not authorized for.

Protection requirements (cont.) Protection from inference: It must not be possible to infer values a user is not authorized to access from data that user is authorized to access. –Semantic relations: A user may abuse knowledge of relations or integrity constraints to infer values. –Statistic inference: A user may trace back information on a single individual from statistical aggregated information. (This is most likely when accessing “small” samples.)

Protection requirements (cont.) Integrity of the database: –Integrity constrains are used to prevent entering data (by mistake or on purpose) that are considered “impossible”. –Backup and recovery procedures are used to avoid the loss of data (and recent updates) due to software or hardware failures. Database systems typically use: periodic complete or incremental backup. logging of update requests so that the updates can be “replayed” after a crash.

Protection requirements (cont.) Operational integrity of data: A database executes transactions concurrently. –The DBMS must ensure the ACID property: Atomicity: Either all or none of the actions of a transaction are performed. Consistency: After completing a transaction no integrity constraint may be violated. Isolation: No intermediate result of actions of a transaction is visible outside the transaction. Durability: After completion of the transaction, the results are permanent.

Protection requirements (cont.) Operational integrity of data (cont.): ACID is achieved through two-phase locking. –When a transaction wishes to read an object it first requests a shared lock. –When a transaction wishes to write an object it first requests an exclusive lock. –When a transaction completes (commit or abort) it releases all locks. serializability: as if transactions were executed one after another. isolation: transactions are independent.

Protection requirements (cont.) Accountability and auditing: All accesses (or attempts) to data items should be registered. Ideally each access to each value for each attribute of each record should be recorded. But this would be impractical regarding time and cost. User authentication: All users must have a unique identity. A secure “log-in” procedure is needed. There may be duplication with OS login-procedures.

Protection requirements (cont.) Management and protection of sensitive data: –A data item can be sensitive by itself, in combination with other data, or by being part of a sensitive record. –Users with access to sensitive data must be prevented from propagating this privilege to other users. –Users with access to sensitive data must be able to work with other users and with non-sensitive data.

Protection requirements (cont.) Multilevel protection: A finer distinction than “sensitive” vs. “non-sensitive” may be needed. –Data items have an associated level of sensitivity. Different attributes of a record may have a different level. Different values of the same attribute may have a different level. –Aggregated data may have a different (higher or lower) level than the individual data items. –Each user has a clearance level which determines which data may be accessed.

Protection requirements (cont.) Confinement: The transfer of data between programs may be restricted. Transfer occurs along –authorized channels: used to supply output through authorized actions (e.g. report generation). –memory channels: communication occurs via shared memory (ram memory or files). –covert channels: communication occurs via system functions not normally intended for communication (e.g. infer data values from the time needed to perform a certain action).

Security controls Flow control: regulates the copying of information between objects. Inference control: protects data from indirect detection. (This is generally complicated.) Access control: verifies which subjects (users, processes) may perform which actions (read, write, execute) on which objects.

Security controls (cont.) Flow control: –Data (values) can sometimes be inferred from partial information. Testing on the value of X reveals information about that value, although not always the exact value of X itself. –When data is read from X and written into Y, that data becomes available through Y. Often, the sensitivity level is associated with the record (or attribute), not the value. If X is a sensitive record and Y is not, the sensitive data becomes available through the Y record.

Security controls (cont.) Inference control: protecting data from indirect detection. –Indirect access: the user does not ask for Y but infers its value from a query asking for X. SELECT X FROM r WHERE Y = value –Correlated data: the user has access to information from which unauthorized data can be calculated or estimated. –Missing data: the error message when trying to access data may reveal something about this data (like that it exists).

Security controls (cont.) Access control: Consists of policies and procedures: –Minimum privilege policy (mandatory): user has access only to what she needs to know. –Maximum privilege policy (discretionary): user has access to everything that is not forbidden. –External mechanisms: prevent unauthorized people from physical access to the entire database. –Internal mechanisms: prevent unauthorized access to data by people with access to the system.

Minimum privilege (closed system) Access request Does there exist a rule authorizing the access? Rules: authorized accesses Access permitted Access denied yesno

Maximum privilege (open system) Access request Does there exist a rule denying the access? Rules: denied accesses Access permitted Access denied noyes

Authorization management Who can grant and revoke access rights. –Hierarchical decentralized authorization: a hierarchy of (sub)administrators is used to distribute administrative responsibilities. –Ownership: upon object creation (for relations, not for individual tuples in a relation) the creator can grant or revoke access to the object. –Cooperative authorization: consensus among a predefined group of users is needed to change access rights.

Access control policies Grouping subjects (users) and objects in order to share access modes according to given authorizations and rules. –Grouping simplifies the specification of security policies and the implementation of security mechanisms. –Grouping complicates the consequences of users belonging to more than one group, or users changing group membership. Multilevel security systems are easier: they use a hierarchy of levels for groups.

Security classes subjects (users) and objects are assigned a security class. An object security class is an ordered pair (L,C): –L: classification level, e.g. 0=unclassified, 1=confidential, 2=secret, 3=top secret –C: category, e.g. production, personnel, engineering, administration. Security classes can be compared:

Mandatory policies A set of axioms determines the relations to be verified between the subject class and the object class before allowing access. The relations depend on the access mode. Access rights can only be changed by the authorizer. (Full control on the authorization system is kept by the authorizer.)

Mandatory policies Access request Does the request satisfy the axioms of the mandatory policy? Security classes of subjects/objects Access permitted Access denied yesno Security axioms

Discretionary policies For each subject a set of authorization rules specifies the privileges owned on the objects. Discretionary means that users can grant and revoke access rights on some objects. This implies decentralized administrative control through ownership. Propagation of rights, and revoking propagated rights is complicated.

Discretionary policies Access request Does the request satisfy the authorization rules? Authorization rules Access denied Is an optional predicate of the rules satisfied? noyes Access denied no Access permitted yes

Evolution in database security External level: controls physical access to the database system (to the site). Internal level: controls access by insiders, who have a right to access the system. External security becomes less important. Internal security becomes more important. Trust in users who have some access rights is dangerous. External security is less effective for databases connected to public networks.

Conclusion of the Introduction Security deals with access to, modification of data, and denial of service. Security is not an add-on but an integral part of every secure database. There is no single security policy that works for every database application. A secure database is first and foremost a reliable database with solid backup and recovery procedures, concurrency control and integrity constraints.