Design Principles. Design Principles Simplicity is important.

Slides:



Advertisements
Similar presentations
Operating System Security
Advertisements

File Server Organization and Best Practices IT Partners June, 02, 2010.
CMSC 414 Computer (and Network) Security Lecture 13 Jonathan Katz.
Access Control Methodologies
Silberschatz, Galvin and Gagne  Operating System Concepts The Security Problem A system is secure iff its resources are used and accessed as.
19.1 Silberschatz, Galvin and Gagne ©2003 Operating System Concepts with Java Chapter 19: Security The Security Problem Authentication Program Threats.
CSI 400/500 Operating Systems Spring 2009 Lecture #20 – Security Measures Wednesday, April 29 th.
CS-550 (M.Soneru): Protection and Security - 1 [SaS] 1 Protection and Security.
(Breather)‏ Principles of Secure Design by Matt Bishop (augmented by Michael Rothstein)‏
Silberschatz, Galvin and Gagne  Operating System Concepts Module 19: Security The Security Problem Authentication Program Threats System Threats.
1 cs691 chow C. Edward Chow Design Principles for Secure Mechanisms CS591 – Chapter 5.4 Trusted OS Design CS691 – Chapter 13 of Matt Bishop.
G Robert Grimm New York University Protection and the Control of Information Sharing in Multics.
C. Edward Chow Presented by Mousa Alhazzazi C. Edward Chow Presented by Mousa Alhazzazi Design Principles for Secure.
Lecture 7 Access Control
Lecture slides prepared for “Computer Security: Principles and Practice”, 2/e, by William Stallings and Lawrie Brown, Chapter 4 “Overview”.
7-Access Control Fundamentals Dr. John P. Abraham Professor UTPA.
Computer Security Tran, Van Hoai Department of Systems & Networking Faculty of Computer Science & Engineering HCMC University of Technology.
Copyright © 2002 ProsoftTraining. All rights reserved. Operating System Security.
70-294: MCSE Guide to Microsoft Windows Server 2003 Active Directory Chapter 9: Active Directory Authentication and Security.
Sharing Resources Lesson 6. Objectives Manage NTFS and share permissions Determine effective permissions Configure Windows printing.
Database Security and Auditing: Protecting Data Integrity and Accessibility Chapter 3 Administration of Users.
Csci5233 Computer Security1 Bishop: Chapter 27 System Security.
CMSC 414 Computer (and Network) Security Lecture 14 Jonathan Katz.
IOS110 Introduction to Operating Systems using Windows Session 8 1.
CSC 382: Computer SecuritySlide #1 CSC 382: Computer Security Identity.
CMSC 414 Computer and Network Security Lecture 10 Jonathan Katz.
Linux Security. Authors:- Advanced Linux Programming by Mark Mitchell, Jeffrey Oldham, and Alex Samuel, of CodeSourcery LLC published by New Riders Publishing.
14.1/21 Part 5: protection and security Protection mechanisms control access to a system by limiting the types of file access permitted to users. In addition,
1 OFF SYMB - 12/7/2015 Firewalls Basics. 2 OFF SYMB - 12/7/2015 Overview Why we have firewalls What a firewall does Why is the firewall configured the.
Security fundamentals Topic 5 Using a Public Key Infrastructure.
ITGS Network Architecture. ITGS Network architecture –The way computers are logically organized on a network, and the role each takes. Client/server network.
(Breather)‏ Principles of Secure Design by Matt Bishop (augmented by Michael Rothstein)‏
Understand Permissions LESSON Security Fundamentals.
Privilege Management Chapter 22.
Design Principles and Common Security Related Programming Problems
LINUX Presented By Parvathy Subramanian. April 23, 2008LINUX, By Parvathy Subramanian2 Agenda ► Introduction ► Standard design for security systems ►
1 Chapter 12: Design Principles Overview –There are principles for many kinds of design Generally, a design should consider: Balance, Rhythm, Proportion,
Information Systems Design and Development Security Precautions Computing Science.
Chapter 29: Program Security Dr. Wayne Summers Department of Computer Science Columbus State University
1 Anonymity. 2 Overview  What is anonymity?  Why should anyone care about anonymity?  Relationship with security and in particular identification 
7/10/20161 Computer Security Protection in general purpose Operating Systems.
CS457 Introduction to Information Security Systems
Administrating a Database
Security+ All-In-One Edition Chapter 1 – General Security Concepts
Operating Systems Protection Alok Kumar Jagadev.
Chapter 14: System Protection
Chapter 14: Protection.
Configuring Windows Firewall with Advanced Security
Secure Software Confidentiality Integrity Data Security Authentication
Secure Sockets Layer (SSL)
Chapter 6 Integrity Policies
Module 4 Remote Login.
Chapter 2: System Structures
IIS.
CE Operating Systems Lecture 21
File System B. Ramamurthy B.Ramamurthy 11/27/2018.
SECURITY IN THE LINUX OPERATING SYSTEM
Chapter 28: User Security
How to Mitigate the Consequences What are the Countermeasures?
Operating System Security
Security.
Chapter 14: Protection.
Chapter 29: Program Security
ONLINE SECURE DATA SERVICE
Operating System Concepts
Computer Security Protection in general purpose Operating Systems
Designing IIS Security (IIS – Internet Information Service)
Administrating a Database
Preventing Privilege Escalation
Design Principles Thanks to Matt Bishop 2006 CS 395: Computer Security.
Presentation transcript:

Design Principles

Simplicity is important

Simplicity is important

Simplicity is important (or User Experience?) 1 of 2

Simplicity is important (or User Experience?) 2 of 2 https://www.theverge.com/2017/9/12/16298156/apple-iphone-x-face-id-security-privacy-police-unlock

Speaker Recnognition

Iris recognition

Iris recognition (threats?)

Iris Recognition device

Is that secure?

How smart card works DES, 3 DES, RSA -> 56, 168, 1024 bit The most common encryption methods are symmetric DES (Data Encryption Standard), 3DES (triple DES) and public key RSA (Rivest-Shamir-Adleman's algorithm), allowing up 56, 168, and 1024 bit long keys, respectively. Unfortunately, these keys are not unbreakable, as explained by Ross Anderson and Markus Kuhn in their book `Design Principles for Tamper-Resistant Smart Card Processors'. The pair managed to crack the Dallas DS5002FP Secure Microcontroller, described at the time by one European signals intelligence agency as the most secure processor available on general sale. They used brute force methods on a PC enhanced with a couple of hundred dollars of extra hardware! DES, 3 DES, RSA -> 56, 168, 1024 bit UV lights, high temperature, high voltage: EEPROM modification on the chip

Simplicity is important Minimizing the interaction of system components minimizes the number of sanity checks Reduces the potential for inconsistencies Restrictions minimize the power of an entity Entities can communicate with other entities only when necessary “Communication” is used in its widest possible sense

Least Privilege Definition 12–1. The principle of least privilege states that a subject should be given only those privileges that it needs in order to complete its task. the function of the subject (as opposed to its identity) should control the assignment of rights Extra rights should be relinquished immediately on the completion of the action In practice, most systems do not have the granularity of privileges and permissions required to apply this principle precisely This principle requires that processes should be confined to as small a protection domain as possible. Some of the most famous violations of the principle of least privilege exist in UNIX systems. For example, in UNIX systems, root privileges are necessary to bind a program to a port number less than 1024. For example, to run a mail server on port 25, the traditional SMTP port, a program needs the privileges of the root user. However, once a program has set up shop on port 25, there is no compelling need for it to ever use root privileges again The UNIX operating system does not apply access controls to the user root. That user can terminate any process and read, write, or delete any file. Thus, users who create back-ups can also delete files. The administrator account on Windows has the same powers.

Principle of Fail-Safe Defaults Definition 12–2. The principle of fail-safe defaults states that, unless a subject is given explicit access to an object, it should be denied access to that object. Whenever access, privileges, or some security-related attribute is not explicitly granted, it should be denied

DWORD dwRet = IsAccessAllowed( DWORD dwRet = IsAccessAllowed(...); if (dwRet == ERROR_ACCESS_DENIED) { // Security check failed. // Inform user that access is denied. } else { // Security check OK. } DWORD dwRet = IsAccessAllowed(...); if (dwRet == NO_ERROR) { // Secure check OK. // Perform task. } else { // Security check failed. // Inform user that access is denied. }

Principle of Economy of Mechanism Definition 12–3. The principle of economy of mechanism states that security mechanisms should be as simple as possible. Less testing Less errors Less assumptions Less interactions User experience! ESEMPI: FIREWALL, ANTIVIRUS

Principle of Complete Mediation Definition 12–4. The principle of complete mediation requires that all accesses to objects be checked to ensure that they are allowed. Most systems would not make the second check UNIX process tries to read a file -> OS determines if it is allowed -> the process receives a file descriptor -> the process presents the file descriptor to the OS -> the Kernel allows the access The owner disallows the permission after the file descriptor is issued, the kernel still allows the process -> violaiton of the principle. DNS poisoning the same. UNIX FAILS DNS POISONING

Principle of Open Design Definition 12–5. The principle of open design states that the security of a mechanism should not depend on the secrecy of its design or implementation Security by obscurity Criptography OpenSSL Firefox PfSense ClearOS Untangle ZeroShell

Principle of Separation of Privilege & Least Common Mechanism Definition 12–6. The principle of separation of privilege states that a system should not grant permission based on a single condition. Definition 12–7. The principle of least common mechanism states that mechanisms used to access resources should not be shared. On Berkeley-based versions of the UNIX operating system, users are not allowed to change from their accounts to the root account unless two conditions are met. The first condition is that the user knows the root password. The second condition is that the user is in the wheel group (the group with GID 0). Meeting either condition is not sufficient to acquire root access; meeting both conditions is required.

Principle of Psychological Acceptability Definition 12–8. The principle of psychological acceptability states that security mechanisms should not make the resource more difficult to access than if the security mechanisms were not present.

User Security

Policy U1. Only users have access to their accounts. U2. No other user can read or change a file without the owner’s permission. U3. Users shall protect the integrity, confidentiality, and availability of their files. U4. Users shall be aware of all commands that they enter, or that are entered on their behalf.

Access Passwords Login Procedure Trusted hosts Centrally manage the system of password generation Login Procedure Captive login screen Shoulder surfing Trusted hosts The notion of “trusted hosts” comes from the belief that if two hosts are under the same administrative control, each can rely on the other to authenticate a user. Leaving the system A common problem is that users will leave their sessions unattended Screen locking programs may have security holes (master password) The first potential attack arises from the lack of mutual authentication on most systems. Secure Xenix [361] had an alternative approach that is common to systems that desire high assurance authentication of users. When a user wished to log in, he struck a particular combination of keys that created a trusted path to the kernel. No application program could disable this feature; no application program could read or alter the information given to the kernel over that path. The kernel then performed the identification and authentication processing and granted or denied the user access. Many protocols, such as ftp and telnet, do not encipher messages. If a user name and password are sent over such a connection, they are visible at every intermediate node and network. Other protocols, such as SSH and SSL, provide enciphered “tunnels” through which other protocols can be sent.8 This provides the user with confidentiality even when the protocols themselves do not. In some environments, this is unnecessary. For example, the Drib firewalls block any traffic to the Internet, and hosts and networks within the Drib are trusted not to capture network traffic. In other environments, especially when messages are sent over untrusted links, enciphering of all messages is prudent.

Files and Devices Users must protect confidentiality and integrity of the files to satisfy policy component U2 Groups must be formed only on a role based approach. users should limit access as much as possible when creating new files. Definition 25–1. A direct alias is a directory entry that points to (names) the file. An indirect alias is a directory entry that points to a special file containing the name of the target file. The operating system interprets the indirect alias by substituting the contents of the special file for the name of the indirect alias file. The representation of containment in a directory affects security. If each direct alias can have different permissions, the owner of a file must change the access modes of each alias in order to control access. When a user deletes a file, the directory entry is removed The second issue affecting file deletion is persistence The third issue lies in the difference between direct and indirect aliases Windows NT -> ACL inherited by the parent directory UNIX-> user identified permission to be denied -> umask: permission to deny The file attribute table contains information The representation of containment in a directory affects security. If each direct alias can have different permissions, the owner of a file must change the access modes of each alias in order to control access. To avoid this, most systems associate the file attribute information with the actual data, and directory entries consist of a pointer to the file attribute table. When a user deletes a file, the directory entry is removed. The system tracks the number of directory entries for each file, and when that number becomes 0, the data blocks and table entries for that file are released. This means that deleting a file does not ensure that the file is unavailable; it merely deletes the directory entry. about the file. The file mapping table contains information that allows the operating system to locate the disk blocks that compose the file.

Devices Writable devices: allow any user to write to them Smart terminals: built-in functions. In smart terminals block send can be used to implant a Trojan horse.

Processes Copying a file duplicates its contents. If the attributes are not copied, the user may need to take steps to preserve the integrity and confidentiality of the file. the file attributes of the move command follow those of the copy command. Otherwise, the move command may preserve the attributes of the original command. Part of policy component U3 is to protect users from themselves. Sometimes people make mistakes when they enter commands. These mistakes can have unpleasant consequences

Encryption The basis for encryption is trust The circumstances under which a password should reside in a system are few. Unless unavoidable, no password should reside unenciphered in a system, either on disk or in memory. The set of start-up files, and the order in which they are accessed, affect the execution of the program. Users should know which of their programs grant additional privileges to others. They should also understand the implications of granting such privileges.

Malicious Logic Because programs rely on search paths, users must take care to set theirs appropriately. U4 requires that the users have only trusted directories in their search paths Electronic mail comes from untrusted sources. Hence, in general, the contents of e-mail messages are not trustworthy a certificate may validate a signature, but the certificate itself may be compromised, invalid, or expired Attachments to electronic mail may contain data of which the sender is not aware. When these files are sent, the recipient may see more than the sender intended.