* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Download Crash Recovery
Survey
Document related concepts
Transcript
Database Security John Ortiz Secure Passwords Two main requirements for choosing a secure password: 1) MUST be easy to remember 2) MUST be difficult to guess Do NOT pick any of these types of passwords because they are easily guessed! your name, spouse’s name, child’s name, pet’s name, friend’s name, fantasy character’s name, coworker’s name, ANYONE’S NAME Lecture 23 Database Security 2 Secure Passwords (cont) name of operating system or host computer your license plate, SSAN, phone number birth date, anniversary date, any significant date information easily obtainable about you any word out of any dictionary a single word (in any foreign language) a place slang or profanity Lecture 23 Database Security 3 Secure Passwords (cont) Do NOT use any of these either! Groupings of similar letters patterns of letters on a keyboard such as ‘asdfgh’ or ‘qwerty’ any of the previous spelled backwards any of the above followed or preceded by a single digit Lecture 23 Database Security 4 Secure Passwords substituting similar numbers for letters: 0 for O, 3 for e, etc. substituting similar characters for letters: @ for a, ! for I adding numbers to anything crackable tarot12, car9rot using obscure words like ‘quamash’ Lecture 23 Database Security 5 Secure Passwords (cont) NEVER write down any secure password, since it will then no longer be secure What is left? Should be at least 8 characters, with one or more special characters (such as !, @, #, etc.), and one or more digits first letter from each word in a line out of a favorite book or song Example: Off We Go in 2 the Wild Blue Yonder (owg2wby) Lecture 23 Database Security 6 Secure Passwords (cont) groupings of unrelated words Remember, a UNIX system only uses the first 8 characters to develop the encrypted password file! Do NOT use any examples from here Examples of CRACKED PASSWORDS L0v3rs, br0nc0s, kaitlyn1 Qwerty1, hoquiam5, nitwit1 Lecture 23 Database Security 7 Security Mechanisms Discretionary Security – grant privileges to users, including access to specific files, records, attributes, etc. May have r, w, x, d specified separately Mandatory Security – used to enforce multilevel security systems. Data is divided into classifications such that a user only has access to data at his/her classification or lower Lecture 23 Database Security 8 Discretionary Mechanisms Authorization Identifier – refers to a user account or group of accounts (login, password) Two levels of privileges: Account level – privileges each account holds independent of relations in DB Relation level – control access to individual relations or views SQL uses GRANT/REVOKE to assign privileges Lecture 23 Database Security 9 GRANT Privileges SQL allows the granting of the following types of privileges: SELECT (retrieval) MODIFY (update, delete, insert) REFRENCE (reference specific relations when specifying integrity constraints) Views allow very specific control over which attributes are visible to a particular user Privileges can propagate from one user to another Lecture 23 Database Security 10 REVOKE Privileges SQL allows the suspension of previously granted privileges If a privilege has propagated, and the owner account revokes it, all the propagated privileges will also be revoked Remember, this is not exactly how Oracle implements this feature If an account receives privileges from 2 or more sources, then the privileges are only revoked if all sources revoke them Lecture 23 Database Security 11 Mandatory Access Control Security Classes: Top Secret – revelation may cause catastrophic damage to U.S. security Secret – revelation may cause grave damage to U.S. security Confidential – revelation may cause damage to U.S. security Unclassified – read it in the newspaper Lecture 23 Database Security 12 Mandatory Access Control (cont) May read any data up to your level of classification May write to any data at or above your classification (can NOT write to lower classification because it may contain higher level information) In a relational database, attributes are given a classification level In addition, the tuple itself is classified at the highest level of any of its attributes Lecture 23 Database Security 13 Mandatory Access Control (cont) An apparent key is the set of attributes that would have formed the PK in a regular DB A multilevel relation will appear different to different users – some parts of the PK may be classified at a higher level In some cases, tuples stored at a higher level can be downgraded and viewed at a lower level In other cases, 2 sets of tuples may need to be stored Interesting possibilities for Norm., CC & R, Consistency, etc. - EVERYTHING IS HARDER! Lecture 23 Database Security 14 Multilevel Security Entity Integrity – all attributes that are members of the apparent key must not be null and must have same security classification within each tuple All other attributes must have classification greater than or equal to apparent key Lecture 23 Database Security 15 Statistical Database Security Protect access to individual data items, but not the aggregate results Possible to infer individual data from some statistical queries (I.e. if the query limits the number of tuples to just a few) Solutions: Restrict queries that only access a few tuples Restrict repeated access to same data set Lecture 23 Database Security 16