May 27, 2004ECS 235Slide #1 Waterfall Life Cycle Model Requirements definition and analysis –Functional and non-functional –General (for customer), specifications.

Slides:



Advertisements
Similar presentations
Security by Design A Prequel for COMPSCI 702. Perspective “Any fool can know. The point is to understand.” - Albert Einstein “Sometimes it's not enough.
Advertisements

Chapter 23 Database Security and Authorization Copyright © 2004 Pearson Education, Inc.
Module 12: Auditing SQL Server Environments
Chapter 19: Network Management Business Data Communications, 5e.
November 1, 2004Introduction to Computer Security ©2004 Matt Bishop Slide #17-1 Chapter 17: Introduction to Assurance Overview Why assurance? Trust and.
Chapter 4 Quality Assurance in Context
Access Control Methodologies
Database Management System
Hybrid Policies Overview Chinese Wall Model Clinical Information Systems Security Policy ORCON RBAC Introduction to Computer Security ©2004 Matt Bishop.
November 1, 2004Introduction to Computer Security ©2004 Matt Bishop Slide #21-1 Chapter 21: Auditing Overview What is auditing? What does an audit system.
1 Auditing CSSE 490 Computer Security Mark Ardis, Rose-Hulman Institute May 3, 2004.
June 1, 2004Computer Security: Art and Science © Matt Bishop Slide #18-1 Chapter 18: Introduction to Assurance Overview Why assurance? Trust and.
Security Management IACT 918 July 2004 Gene Awyzio SITACS University of Wollongong.
1 Building with Assurance CSSE 490 Computer Security Mark Ardis, Rose-Hulman Institute May 10, 2004.
Physical design. Stage 6 - Physical Design Retrieve the target physical environment Create physical data design Create function component implementation.
Chapter 9 Database Design
Computer Security: Principles and Practice
Database Management Systems (DBMS)
Database Auditing Models Dr. Gabriel. 2 Auditing Overview Audit examines: documentation that reflects (from business or individuals); actions, practices,
Chapter 7 Database Auditing Models
Network and Active Directory Performance Monitoring and Troubleshooting NETW4008 Lecture 8.
Ch 11 Managing System Reliability and Availability 1.
1 Kyung Hee University Prof. Choong Seon HONG Network Control.
1 Intrusion Detection Auditing, Watermarking Dec 7, 2006 Lecture 10 IS 2150 / TEL 2810 Introduction to Security.
Systems Analysis – Analyzing Requirements.  Analyzing requirement stage identifies user information needs and new systems requirements  IS dev team.
Database Security and Auditing: Protecting Data Integrity and Accessibility Chapter 3 Administration of Users.
1 IS 2150 / TEL 2810 Introduction to Security James Joshi Associate Professor, SIS Lecture 11 Nov 22, 2011 Intrusion Detection, Firewalls & VPN Auditing.
Chapter 2 The process Process, Methods, and Tools
Security Baseline. Definition A preliminary assessment of a newly implemented system Serves as a starting point to measure changes in configurations and.
Slide #24-1 Chapter 24: Auditing Overview What is auditing? What does an audit system look like? How do you design an auditing system? Auditing mechanisms.
1 Chapter 9 Database Design. 2 2 In this chapter, you will learn: That successful database design must reflect the information system of which the database.
FIREWALLS Vivek Srinivasan. Contents Introduction Need for firewalls Different types of firewalls Conclusion.
1 IS 2150 / TEL 2810 Introduction to Security James Joshi Associate Professor, SIS Lecture 10 Nov 06, 2012 Intrusion Detection, Firewalls & VPN Auditing.
Database Security and Auditing: Protecting Data Integrity and Accessibility Chapter 7 Database Auditing Models.
File System Security Robert “Bobby” Roy And Chris “Sparky” Arnold.
70-290: MCSE Guide to Managing a Microsoft Windows Server 2003 Environment, Enhanced Chapter 14: Windows Server 2003 Security Features.
Module 10: Implementing Administrative Templates and Audit Policy.
Understand Audit Policies LESSON Security Fundamentals.
CS526: Information Security Chris Clifton November 25, 2003 Intrusion Detection.
Design Principles and Common Security Related Programming Problems
Role Of Network IDS in Network Perimeter Defense.
Courtesy of Professors Chris Clifton & Matt Bishop INFSCI 2935: Introduction of Computer Security1 November 6, 2003 Systems with Assurance EvaluationAuditing.
Database Security. Introduction to Database Security Issues (1) Threats to databases Loss of integrity Loss of availability Loss of confidentiality To.
1 IS 2150 / TEL 2810 Introduction to Security James Joshi Associate Professor, SIS Lecture 12 April 10, 2013 Intrusion Detection, Firewalls & VPN Auditing.
SAP R/3 User Administration1. 2 User administration in a productive environment is an ongoing process of creating, deleting, changing, and monitoring.
Unit 2 Personal Cyber Security and Social Engineering Part 2.
Chapter 29: Program Security Dr. Wayne Summers Department of Computer Science Columbus State University
Slide #18-1 Introduction to Assurance CS461/ECE422 Fall 2008 Based on slides provided by Matt Bishop for use with Computer Security: Art and Science.
Lecture 2 Page 1 CS 236 Online Security Policies Security policies describe how a secure system should behave Policy says what should happen, not how you.
Computer Security: Principles and Practice First Edition by William Stallings and Lawrie Brown Lecture slides by Lawrie Brown Chapter 17 – IT Security.
Elements Of Modeling. 1.Data Modeling  Data modeling answers a set of specific questions that are relevant to any data processing application. e.g. ◦
June 1, 2004Computer Security: Art and Science © Matt Bishop Slide #24-1 Chapter 24: Auditing Overview What is auditing? What does an audit system.
Chapter 24: Auditing Dr. Wayne Summers Department of Computer Science Columbus State University
Software Project Configuration Management
Auditing 서강대학교 문현석.
Computer Security: Art and Science
hongseok Lee, chaeyoung lee SE lab.
Introduction to Assurance
Chapter 18: Introduction to Assurance
IS 2150 / TEL 2810 Introduction to Security
Waterfall Life Cycle Model
Lesson 16-Windows NT Security Issues
Chapter 29: Program Security
Computer Security: Art and Science, 2nd Edition
Introduction to Assurance
Computer Security: Art and Science
Chapter 21: Auditing Overview What is auditing?
Presentation transcript:

May 27, 2004ECS 235Slide #1 Waterfall Life Cycle Model Requirements definition and analysis –Functional and non-functional –General (for customer), specifications System and software design Implementation and unit testing Integration and system testing Operation and maintenance

May 27, 2004ECS 235Slide #2 Relationship of Stages

May 27, 2004ECS 235Slide #3 Models Exploratory programming –Develop working system quickly –Used when detailed requirements specification cannot be formulated in advance, and adequacy is goal –No requirements or design specification, so low assurance Prototyping –Objective is to establish system requirements –Future iterations (after first) allow assurance techniques

May 27, 2004ECS 235Slide #4 Models Formal transformation –Create formal specification –Translate it into program using correctness-preserving transformations –Very conducive to assurance methods System assembly from reusable components –Depends on whether components are trusted –Must assure connections, composition as well –Very complex, difficult to assure

May 27, 2004ECS 235Slide #5 Models Extreme programming –Rapid prototyping and “best practices” –Project driven by business decisions –Requirements open until project complete –Programmers work in teams –Components tested, integrated several times a day –Objective is to get system into production as quickly as possible, then enhance it –Evidence adduced after development needed for assurance

May 27, 2004ECS 235Slide #6 Key Points Assurance critical for determining trustworthiness of systems Different levels of assurance, from informal evidence to rigorous mathematical evidence Assurance needed at all stages of system life cycle

May 27, 2004ECS 235Slide #7 Auditing Overview What is auditing? What does an audit system look like? How do you design an auditing system? Auditing mechanisms Examples: NFSv2, LAFS

May 27, 2004ECS 235Slide #8 What is Auditing? Logging –Recording events or statistics to provide information about system use and performance Auditing –Analysis of log records to present information about the system in a clear, understandable manner

May 27, 2004ECS 235Slide #9 Uses Describe security state –Determine if system enters unauthorized state Evaluate effectiveness of protection mechanisms –Determine which mechanisms are appropriate and working –Deter attacks because of presence of record

May 27, 2004ECS 235Slide #10 Problems What do you log? –Hint: looking for violations of a policy, so record at least what will show such violations What do you audit? –Need not audit everything –Key: what is the policy involved?

May 27, 2004ECS 235Slide #11 Audit System Structure Logger –Records information, usually controlled by parameters Analyzer –Analyzes logged information looking for something Notifier –Reports results of analysis

May 27, 2004ECS 235Slide #12 Logger Type, quantity of information recorded controlled by system or program configuration parameters May be human readable or not –If not, usually viewing tools supplied –Space available, portability influence storage format

May 27, 2004ECS 235Slide #13 Example: RACF Security enhancement package for IBM’s MVS/VM Logs failed access attempts, use of privilege to change security levels, and (if desired) RACF interactions View events with LISTUSERS commands

May 27, 2004ECS 235Slide #14 RACF: Sample Entry USER=EW NAME=S.J.TURNER OWNER=SECADM CREATED= DEFAULT-GROUP=HUMRES PASSDATE= PASS-INTERVAL=30 ATTRIBUTES=ADSP REVOKE DATE=NONE RESUME-DATE=NONE LAST-ACCESS=88.020/14:15:10 CLASS AUTHORIZATIONS=NONE NO-INSTALLATION-DATA NO-MODEL-NAME LOGON ALLOWED (DAYS) (TIME) ANYDAY ANYTIME GROUP=HUMRES AUTH=JOIN CONNECT-OWNER=SECADM CONNECT-DATE= CONNECTS= 15 UACC=READ LAST-CONNECT=88.018/16:45:06 CONNECT ATTRIBUTES=NONE REVOKE DATE=NONE RESUME DATE=NONE GROUP=PERSNL AUTH=JOIN CONNECT-OWNER=SECADM CONNECT-DATE: CONNECTS= 25 UACC=READ LAST-CONNECT=88.020/14:15:10 CONNECT ATTRIBUTES=NONE REVOKE DATE=NONE RESUME DATE=NONE SECURITY-LEVEL=NONE SPECIFIED CATEGORY AUTHORIZATION NONE SPECIFIED

May 27, 2004ECS 235Slide #15 Example: Windows NT Different logs for different types of events –System event logs record system crashes, component failures, and other system events –Application event logs record events that applications request be recorded –Security event log records security-critical events such as logging in and out, system file accesses, and other events Logs are binary; use event viewer to see them If log full, can have system shut down, logging disabled, or logs overwritten

May 27, 2004ECS 235Slide #16 Windows NT Sample Entry Date:2/12/2000Source:Security Time:13:03Category:Detailed Tracking Type:SuccessEventID:592 User:WINDSOR\Administrator Computer:WINDSOR Description: A new process has been created: New Process ID: Image File Name: \Program Files\Internet Explorer\IEXPLORE.EXE Creator Process ID: User Name:Administrator FDomain:WINDSOR Logon ID:(0x0,0x14B4c4) [would be in graphical format]

May 27, 2004ECS 235Slide #17 Analyzer Analyzes one or more logs –Logs may come from multiple systems, or a single system –May lead to changes in logging –May lead to a report of an event

May 27, 2004ECS 235Slide #18 Examples Using swatch to find instances of telnet from tcpd logs: /telnet/&!/localhost/&!/*.site.com/ Query set overlap control in databases –If too much overlap between current query and past queries, do not answer Intrusion detection analysis engine (director) –Takes data from sensors and determines if an intrusion is occurring

May 27, 2004ECS 235Slide #19 Notifier Informs analyst, other entities of results of analysis May reconfigure logging and/or analysis on basis of results

May 27, 2004ECS 235Slide #20 Examples Using swatch to notify of telnets /telnet/&!/localhost/&!/*.site.com/ mail staff Query set overlap control in databases –Prevents response from being given if too much overlap occurs Three failed logins in a row disable user account –Notifier disables account, notifies sysadmin

May 27, 2004ECS 235Slide #21 Designing an Audit System Essential component of security mechanisms Goals determine what is logged –Idea: auditors want to detect violations of policy, which provides a set of constraints that the set of possible actions must satisfy –So, audit functions that may violate the constraints Constraint p i : action  condition

May 27, 2004ECS 235Slide #22 Example: Bell-LaPadula Simple security condition and *-property –S reads O  L(S) ≥ L(O) –S writes O  L(S) ≤ L(O) –To check for violations, on each read and write, must log L(S), L(O), action (read, write), and result (success, failure) –Note: need not record S, O! In practice, done to identify the object of the (attempted) violation and the user attempting the violation

May 27, 2004ECS 235Slide #23 Remove Tranquility New commands to manipulate security level must also record information –S reclassify O to L(O´)  L(O) ≤ L(S) and L(O´) ≤ L(S) –Log L(O), L(O´), L(S), action (reclassify), and result (success, failure) –Again, need not record O or S to detect violation But needed to follow up …

May 27, 2004ECS 235Slide #24 Example: Chinese Wall Subject S has COI(S) and CD(S) –CD H (S) is set of company datasets that S has accessed Object O has COI(O) and CD(O) –san(O) iff O contains only sanitized information Constraints –S reads O  COI(O) ≠ COI(S)   O´(CD(O´)  CD H (S)) –S writes O  (S canread O)   O´(COI(O) = COI(O´)  S canread O´   san(O´))

May 27, 2004ECS 235Slide #25 Recording S reads O  COI(O) ≠ COI(S)   O´(CD(O´)  CD H (S)) –Record COI(O), COI(S), CD H (S), CD(O´) if such an O´ exists, action (read), and result (success, failure) S writes O  (S canread O)   O´(COI(O) = COI(O´)  S canread O´   san(O´)) –Record COI(O), COI(S), CD H (S), plus COI(O´) and CD(O´) if such an O´ exists, action (write), and result (success, failure)

May 27, 2004ECS 235Slide #26 Implementation Issues Show non-security or find violations? –Former requires logging initial state as well as changes Defining violations –Does “write” include “append” and “create directory”? Multiple names for one object –Logging goes by object and not name –Representations can affect this (if you read raw disks, you’re reading files; can your auditing system determine which file?)

May 27, 2004ECS 235Slide #27 Syntactic Issues Data that is logged may be ambiguous –BSM: two optional text fields followed by two mandatory text fields –If three fields, which of the optional fields is omitted? Solution: use grammar to ensure well- defined syntax of log files

May 27, 2004ECS 235Slide #28 Example entry: date host prog [ bad ] user [ “from” host ] “to” user “on” tty date: daytime host: string prog: string “:” bad: “FAILED” user: string tty: “/dev/” string Log file entry format defined unambiguously Audit mechanism could scan, interpret entries without confusion

May 27, 2004ECS 235Slide #29 More Syntactic Issues Context –Unknown user uses anonymous ftp to retrieve file “/etc/passwd” –Logged as such –Problem: which /etc/passwd file? One in system /etc directory One in anonymous ftp directory /var/ftp/etc, and as ftp thinks /var/ftp is the root directory, /etc/passwd refers to /var/ftp/etc/passwd

May 27, 2004ECS 235Slide #30 Log Sanitization U set of users, P policy defining set of information C(U) that U cannot see; log sanitized when all information in C(U) deleted from log Two types of P –C(U) can’t leave site People inside site are trusted and information not sensitive to them –C(U) can’t leave system People inside site not trusted or (more commonly) information sensitive to them Don’t log this sensitive information

May 27, 2004ECS 235Slide #31 Logging Organization Top prevents information from leaving site –Users’ privacy not protected from system administrators, other administrative personnel Bottom prevents information from leaving system –Data simply not recorded, or data scrambled before recording

May 27, 2004ECS 235Slide #32 Reconstruction Anonymizing sanitizer cannot be undone –No way to recover data from this Pseudonymizing sanitizer can be undone –Original log can be reconstructed Importance –Suppose security analysis requires access to information that was sanitized?

May 27, 2004ECS 235Slide #33 Issue Key: sanitization must preserve properties needed for security analysis If new properties added (because analysis changes), may have to resanitize information –This requires pseudonymous sanitization or the original log

May 27, 2004ECS 235Slide #34 Example Company wants to keep its IP addresses secret, but wants a consultant to analyze logs for an address scanning attack –Connections to port 25 on IP addresses , , , , , –Sanitize with random IP addresses Cannot see sweep through consecutive IP addresses –Sanitize with sequential IP addresses Can see sweep through consecutive IP addresses

May 27, 2004ECS 235Slide #35 Generation of Pseudonyms 1.Devise set of pseudonyms to replace sensitive information Replace data with pseudonyms Maintain table mapping pseudonyms to data 2.Use random key to encipher sensitive datum and use secret sharing scheme to share key Used when insiders cannot see unsanitized data, but outsiders (law enforcement) need to Requires t out of n people to read data

May 27, 2004ECS 235Slide #36 Application Logging Applications logs made by applications –Applications control what is logged –Typically use high-level abstractions such as: su: bishop to root on /dev/ttyp0 –Does not include detailed, system call level information such as results, parameters, etc.

May 27, 2004ECS 235Slide #37 System Logging Log system events such as kernel actions –Typically use low-level events 3876 ktrace CALLexecve(0xbfbff0c0,0xbfbff5cc,0xbfbff5d8) 3876 ktrace NAMI"/usr/bin/su" 3876 ktrace NAMI"/usr/libexec/ld-elf.so.1" 3876 su RETxecve su CALL __sysctl(0xbfbff47c,0x2,0x2805c928,0xbfbff478,0,0) 3876 suRET__sysctl suCALLmmap(0,0x8000,0x3,0x1002,0xffffffff,0,0,0) 3876 su RETmmap /0x2805e su CALLgeteuid 3876 su RET geteuid 0 –Does not include high-level abstractions such as loading libraries (as above)

May 27, 2004ECS 235Slide #38 Contrast Differ in focus –Application logging focuses on application events, like failure to supply proper password, and the broad operation (what was the reason for the access attempt?) –System logging focuses on system events, like memory mapping or file accesses, and the underlying causes (why did access fail?) System logs usually much bigger than application logs Can do both, try to correlate them

May 27, 2004ECS 235Slide #39 Design A posteriori design –Need to design auditing mechanism for system not built with security in mind Goal of auditing –Detect any violation of a stated policy Focus is on policy and actions designed to violate policy; specific actions may not be known –Detect actions known to be part of an attempt to breach security Focus on specific actions that have been determined to indicate attacks

May 27, 2004ECS 235Slide #40 Detect Violations of Known Policy Goal: does system enter a disallowed state? Two forms –State-based auditing Look at current state of system –Transition-based auditing Look at actions that transition system from one state to another

May 27, 2004ECS 235Slide #41 State-Based Auditing Log information about state and determine if state allowed –Assumption: you can get a snapshot of system state –Snapshot needs to be consistent –Non-distributed system needs to be quiescent –Distributed system can use Chandy-Lamport algorithm, or some other algorithm, to obtain this

May 27, 2004ECS 235Slide #42 Example File system auditing tools –Thought of as analyzing single state (snapshot) –In reality, analyze many slices of different state unless file system quiescent –Potential problem: if test at end depends on result of test at beginning, relevant parts of system state may have changed between the first test and the last Classic TOCTTOU flaw

May 27, 2004ECS 235Slide #43 Transition-Based Auditing Log information about action, and examine current state and proposed transition to determine if new state would be disallowed –Note: just analyzing the transition may not be enough; you may need the initial state –Tend to use this when specific transitions always require analysis (for example, change of privilege)

May 27, 2004ECS 235Slide #44 Example TCP access control mechanism intercepts TCP connections and checks against a list of connections to be blocked –Obtains IP address of source of connection –Logs IP address, port, and result (allowed/blocked) in log file –Purely transition-based (current state not analyzed at all)