Cissp Week
Cissp Week
Webinars run on Wednesdays First session from 12:00pm 1:30pm Second session from 3:00pm 4:30pm Webinars will be uploaded within 24 hours of running
A compressed version of subject ITE514: Professional Systems Security Part of the - Master of Information Systems Security - Master of Management (IT)
Core Subjects (5 Subjects): ITC596 IT Risk Management ITC593 Network Security ITC506 Topics in IT Ethics ITC595 Information Security ITC597 Digital Forensics ITE512 Incident Response ITE513 Forensic Investigation ITE525 Cyber Law Elective Subjects (Choose 1): ITC516 Principles of Database Development ITC514 Network and Security Administration ITC563 IT Management Issues ITC513 Wireless Networking Concepts
Industry Electives (choose 3) ITE514 Professional Systems Security ITE511 Digital Forensic Security Essentials (Credit only) ITE515 Forensic Analysis (Credit only) ITE516 Hacking Countermeasures ITI551 Virtual Private Network and Firewall Management I (Credit only) MGI511 Project Management Fundamentals MGI512 The Project Lifecycle MGI513 Enterprise Project Management ITI581 Network Security Fundamentals MGI522 Developing Solutions
CISSP certification = credit for 2 subjects To find out additional credit, fill out Eligibility Form at www.itmasters.edu.au To contact Charles Sturt University Course Director: [email protected]
Source: DEET
200
182
Certification review CISSP requirements Common Body of Knowledge Areas Study Suggestions
I would like to thank all the authors that have worked to add materials to the Internet that we can all use to educate ourselves inexpensively. This course is based on many sources of materials and links are provided throughout.
10
In this series of lectures, we will use a variety of free and open source materials and present these in a way that aids you in learning the material and gaining the knowledge needed to pass the exam. Where possible, all materials and links are available without cost.
11
CISSP
Certified Information Systems Security Professional ISC (www.isc2.org)
The International Information Systems Security Certification Consortium, Inc. Maintains the CBK for information security
ANSI ISO Accredited Targeted for mid- and senior-level managers who are working toward or have already attained positions as CISOs, CSOs or Senior Security Engineer equivalents
Understand a common body of knowledge Previous education and/or work experience Demonstrate a level of understanding Certification time period Re-certification procedures Reinstatement Dues, Fees, or Memberships
13
Body of Knowledge encompasses the majority of the field Managed by a non-profit organization Exam requires NDA Requires commitment to code of ethics Requires endorsement and may involve an audit Examples:
(ISC)2 CISSP ISACA CISA and CISM
14
Commit to Code of Ethics Have required work experience Pass the Examination
250 multiple choice questions; Six hours
https://www.isc2.org/cissp-domains/default.aspx Ten domains this week Access Control a collection of mechanisms that work together to create security architecture to protect the assets of the information system.
Concepts/methodologies/techniques Effectiveness Attacks
Software Development Security refers to the controls that are included within systems and applications software and the steps used in their development.
Systems development life cycle (SDLC) Application environment and security controls Effectiveness of application security
17
18
Must provide resume Must state which 2+ domains you have experience in, at which jobs and for how many years. Must be sponsored by a current CISSP (preferred) or have a past manager vouch for your experience
You will need to learn the 10 domains well You need to have a good knowledge of all areas to do well.
21
23
A collection of mechanisms that work together to create security architecture to protect the assets of the information system.
- Concepts/methodologies/techniques - Effectiveness - Attacks
24
http://en.wikipedia.org/wiki/Access_control
Preventive/Administrative
Soft mechanisms that support access control objectives Include organizational policies/procedures, pre-employment background checks, employment agreements Uses technology to enforce access control policies Include protocols, encryption, smart cards, call-back systems Intuitive measures intended to restrict physical access Defined by a circular security perimeter that is under access control (fences, badges, man-trap) Applied for prevention of future security policy violations or to detect existing violations Organizational policies and procedures, increased supervision, behavior awareness Intended to reveal the violations of security policy using technical means Include intrusion detection systems and violation reports from audit trail information Usually require that a human evaluate the input from sensors or cameras
Access Controls: The security features that control how users and systems communicate and interact with one another. Access: The flow of information between subject and object Subject: An active entity that requests access to an object or the data in an object Object: A passive entity that contains information
31
Identity Management: A broad term to include the use of different products to identify, authenticate, and authorize users through automated means.
32
Identification
Method of establishing the subjects (user, program, process) identity.
Use of user name or other public information. Know identification component requirements.
33
Authentication
Method of proving the identity.
Something a person is, has, or does. Use of biometrics, passwords, passphrase, token, or other private information.
Biometrics
Verifies an identity by analyzing a unique person attribute or behavior (e.g., what a person is).
Most expensive way to prove identity, also has difficulties with user acceptance. Many different types of biometric systems, know the most common.
35
Biometric systems can be hard to compare. Type I Error: False rejection rate. Type II Error: False acceptance rate.
This is an important error to avoid.
37
Passwords
User name + password most common identification, authentication scheme. Weak security mechanism, must implement strong password protections Implement Clipping Levels
38
Passphrase
Is a sequence of characters that is longer than a password. Takes the place of a password. Can be more secure than a password because it is more complex.
40
41
Asynchronous
Windows environment, know syskey modes. Salts: Random values added to encryption process for additional complexity.
45
Cryptographic Keys
Use of private keys or digital signatures to prove identity
Authorization
Determines that the proven identity has some set of characteristics associated with it that gives it the right to access the requested resources.
47
49
Allow user credentials to be entered one time and the user is then able to access all resources in primary and secondary network domains
52
53
There are a number of different access controls and technologies available to support the different models.
Rule Based Access Control Constrained User Interfaces Access Control Matrix Content Dependent Access Control Context Dependent Access Control
57
Two types
Capability Table (bound to a subject) Access Control List (bound to an object)
60
Content Dependent Access Control: Access to an object is determined by the content within the object. Context Based Access Control: Makes access decision based on the context of a collection of information rather than content within an object.
61
First an organization must choose the access control model (DAC, MAC, RBAC). Then the organization must select and implement different access control technologies. Access Control Administration comes in two basic forms:
Centralized Decentralized
62
64
65
Access controls can be implemented at various layers of an organization, network, and individual systems Three broad categories:
Administrative Physical Technical (aka Logical)
66
Administrative Controls
Policy and Procedure Personnel Controls
Separation of Duties Rotation of Duties Mandatory Vacation
Physical Controls
Network Segregation Perimeter Security Computer Controls Work Area Separation Data Backups Cabling Control Zone
68
Each control works at a different level of granularity, but can also perform several functions Access Control Functionalities
Prevent Detect Correct Deter Recover Compensate
70
Security controls should be built on the concept of preventative security Preventative Administrative Controls
Includes policies, hiring practices, security awareness
Accountability is tracked by recording user, system, and application activities. Audit information must be reviewed
Event Oriented Audit Review Real Time and Near Real Time Review Audit Reduction Tools Variance Detection Tools Attack Signature Tools
Know the access control tasks that need to be accomplished regularly to ensure satisfactory security. Best practices include:
Deny access to anonymous accounts Enforce strict access criteria Suspend inactive accounts Replace default passwords Enforce password rotation Audit and review Protect audit logs
Emanation Security
Tempest White Noise Control Zone
Intrusion Detection
Common Types
Rule Based
Honeypots
An attractive offering that hopes to lure attackers away from critical systems
Network sniffers
A general term for programs or devices that are able to examine traffic on a LAN segment.
Security is managed at a level that corresponds closely to the organization's structure Each user is assigned one or more roles, and each role is assigned one or more privileges that are permitted to users in that role
Security administration: determine the operations that must be executed by persons in particular jobs, and assign employees to the proper roles Complexities introduced by mutually exclusive roles or role hierarchies are handled by the RBAC software, making security administration easier
Core RBAC
Hierarchical RBAC
Foundation of the model Users, roles, permissions, operations, and sessions are defined and mapped according to the security policy Can also include time of day, location of role, day of week, etc Role relation defining user membership and privilege inheritance Reflects organizational structures and functional delineations Two types Separation of duties provided
Limited hierarchies one level of hierarchy allowed General hierarchies allows for many levels of hierarchies
Static Separation of Duties (cannot be a member of two groups) Dynamic Separation of Duties (can be a member of two groups, but cannot be in both roles at the same time)
Copyright Center for Systems Security and Information Assurance
We will talk about these later.. But lets review these now Dictionary attacks what is this? Sniffers what is this? Brute force attacks how is this different then a dictionary attack. Spoofing login/trusted path Phishing Identity theft
Administrative controls include a security policy, personnel controls, supervisory structure, and security-awareness training Physical controls include network segregation, perimeter security, work area separation, and data backups Technical controls include system access, network architecture, network access, encryption and protocols Identity management uses different products to identify, authenticate, and authorize users through automated means
Single sign-on technologies include scripts, directory services, Kerberos, SESAME and Thin Clients
Access control models can be identity-based, rolebased, or label-based RADIUS, TACACS+ and diameter are examples of centralized administration IDSs can monitor behavior or watch for known attacks IDS sensors and monitoring console are the components of a network IDS An IPS prevents unwanted traffic from getting to the target
87
Refers to the controls that are included within systems and applications software and the steps used in their development. - Systems development life cycle (SDLC) - Application environment and security controls - Effectiveness of application security
88
http://en.wikipedia.org/wiki/Application_security
From (ISC)2:
Applications Development & Programming Concepts Audit and Assurance Mechanisms Malware Database and Data Warehousing Environments Web Application Environments
90
Software Engineering Threats and Countermeasures Database Systems security Web Application Security
91
From the (ISC)2 Store: Applications Development & Programming Concepts Audit and Assurance Mechanisms Malware Database and Data Warehousing Environments Web Application Environments
92
Software Engineering Threats and Countermeasures Database Systems security Web Application Security
93
Software controls vs environment Software lifecycle Change control Object-oriented components Some technologies Java, etc...
94
Appliances (e.g., firewalls/toys) do not provide complete security Insider attacks Bypassed by proxy servers, VPNs Same software can be used by different users with different privileges More security layers help
95
Reactive (expensive and slow) Vulnerability scanning and patching Intrusion detection Incident response Proactive More secure software and technologies
Designed Configured
96
Black Lists Security Approaches Forbid known bad things (or look for them) Always one step behind Prone to failure as attackers figure out ways around the blocks White Lists Allow only what's known to be safe Make it provably safe
97
Requirements Design Construction Maintenance See: Software Engineering Body of Knowledge a.k.a. SWEBOK
http://www.computer.org/portal/web/swebok
98
Security functional Logging Password quality checks Security Assurance Testing Code audits Code checking tools
99
Threats vs countermeasures (controls) Threat modeling Threat assessment Risk analysis Risk assessment
100
} policy violations
Using means
Physical Administrative Technical (a.k.a. logical)
101
Software development and production environments should be secured Physical access Servers, workstations Network plugs Activity monitoring
103
Protect data (confidentiality, integrity) and resources (availability) Database controls Accounts Roles Transactions File system controls Permissions
104
Do the defenses match the risks? Cost vs risk Typically more secure systems cost more to build The CISSP test doesn't argue fine points Security vs functionality
105
Vulnerabilities and the Software Development Life Cycle Object-Oriented Programming Capability-Maturity Model Malware definitions Detecting attacks Expert systems and artificial intelligence
106
1. 2. 3. 4. 5. 6.
Feasibility study Requirements definition Design Implementation Integration and testing Operations and maintenance
107
Vulnerability: An instance of an error in the specification, development, or configuration of software such that its execution can violate the security policy" [Krsul 98]. Flaw: a flaw defines or implies what should have been done to prevent policy violations; it is a problem at a higher level of abstraction that may potentially enable several different attacks and create various vulnerabilities. example flaw: missing input validation
108
It is common to refer to the set of vulnerabilities that enable attack scenario X as X vulnerabilities, e.g., cross-site scripting vulnerabilities Sometimes the name of a technology is used instead of the name of an attack, e.g., format string vulnerabilities.
109
A set of processes, techniques and a way of thinking about software engineering to minimize the occurrence of flaws and vulnerabilities In general, fewer bugs mean fewer vulnerabilities Software engineering methods that prevent bugs are good for security
110
Input validation Boundary identification and formation Input awareness Taint tracking Secure programming principles Code checkers Code integrity with formal methods
111
Least privilege Economy of mechanism Complete mediation Open design Separation of privilege Least common mechanism Psychological acceptability Fail-safe defaults (deny by default; white list)
112
Fundamental idea: encapsulate data with the procedures that manipulate it into a logical entity (object) Forbid direct access to the data, so that Invariants can be enforced Data integrity is stronger Only pre-defined actions can be taken Decreases the possibility of malicious or erroneous actions
113
Instance Inheritance Polymorphism Common methods defined by a common parent class (superclass) Polyinstantiation Object Request Brokers (ORB)
114
Software development processes Level 1: Ad Hoc (heroics) Level 2: Repeatable Level 3: Defined Level 4: Quantitatively Managed Level 5: Optimizing From an artisan approach (1) to an engineering science (5)
115
Attack code aims at exploiting vulnerabilities, and is commonly found in the form of attack scripts or proof-ofconcept exploits. Worms are another example of attack code. Malicious code isnt necessarily attack code, but its mere presence may imply that the system was compromised by a prior attack. Malicious code resident on a victim computer and performing an undesirable function, such as spyware, rootkits or backdoors, is to be differentiated from attack code that exploits vulnerabilities.
116
Parasitic code is code that is attached or included in another document or executable and violates its integrity. Intended or original properties of the document or executable must be identifiable in order to determine the presence, nature and extent of the parasite. Parasitic code is not necessarily attack code.
117
A back-door is code bypassing policy-approved user authentication mechanisms. Back-doors are usually hidden, hard to discover, and inserted and used for malicious purposes. For example, a remote user may issue commands as root through a previously installed back-door. Some backdoors are created by programmers for reasons of convenience (e.g., remote maintenance) and so the original intent may not be malicious. However, back-doors that violate security policies must be considered malicious, based on their behavior alone. Remote access mechanisms operating within policy are not to be confused with backdoors.
118
Code that gets executed by deceiving a user is a Trojan (the deception aspect implies maliciousness, even if it is a mild prank). Trojans can carry and be the initial entry mechanism for malicious code of another nature (e.g., a back-door or keylogger).
119
Viruses are parasitic and are spread by means of finding new host files (documents or executables) that will presumably also get read or run later. Macro viruses refer to viruses carried by documents which can carry macros, essentially a scripting capability which blurs the boundary between data and code.
120
Worms spread on their own, by duplicating their code to other systems and re-spawning their processes.
121
Spyware is code that reports user activities and system information to unauthorized parties (who is unauthorized may depend on perspective). An example is an unauthorized keylogger. Spyware could also take interesting forms such as being a virus, and reporting when a certain type of document is opened.
122
A rootkit is a set of software artifacts that attempts to conceal its existence and execution (and possibly that of other malicious software as well) from the rest of the operating system, other processes or security tools, and consequently from users and administrators. Typically a rootkit subverts or replaces the utilities included with an operating system for the purposes of hiding a compromise and a back-door. A rootkit may include attack code as one of its components and may resist removal.
123
Botnets are organized networks of robots or ZOMBIES obeying commands from a particular source, unknown to the owners of the computers Often comprise of ill-protected home computers
124
125
Signature
Vs
Anomaly detection
126
E.g. Tripwire
Verify at regular intervals that what is not supposed to change hasn't Compute hashes Verify system invariants
127
Database types Database access control mechanisms Database integrity Database attacks and countermeasures
128
Tables, rows, primary keys Foreign key constraints link a table to another
129
130
Countermeasure: Parameterized Queries Send the commands and data separately so there can be no confusion
131
Web Issues
133
Server-Side Controls
Strong input validation White list approach: define what's allowed and reject everything else
134
Every form should contain a secret value set for each user at every session Receiving script should check that this secret is present
135
Malory lays out a trap in the form of a URL or HTTP redirect The trap specifies a session ID; Alice clicks on it The web server accepts the session ID as valid
136
Alice authenticates (gives user name and password) Session status is now "authenticated" and linked to Alice's user name Malory can now send commands as Alice because he knows the sessionID
137
Why does the attack work? Is it because the client chose the session-ID? No: an attacker can first get a valid session-ID from the real server, and keep it alive as long as necessary (until an attack succeeds)
138
The server has no proof that Alice received the original session ID directly, and not through Malory This shared knowledge is the pitfall Resembles a partial Man-In-The-Middle attack
139
Remove the possibility of decoupling the identification and authentication Assign a proof of authentication nonce to Alice's browser only and directly in response to a successful authentication request Request valid nonce for every request afterwards
140
141
This is a lecture on
HTTP Response Splitting XSS, CSRF, and Other code injection attacks
Input flaws are very common This is fundamental to well-known attacks such as SQL Injection and Cross Site Scripting. Occurs when the developer places too much trust in the client Input is accepted without adequate filtering.
Cross Site Scripting AKA XSS It is tricking user into allowing their browser to execute code The browser treats the code as part of the local website and runs it in the same context as that page XSS attacks targets the browser (user) and not the server
1. The client application which is fooled into running the code, 2. The server which is used to send the code to the client, 3. The attacker who seeks to gain in targeting the user, and 4. The code the attacker seeks to run on the client.
Displaying the page differently Stealing Cookies Phishing (redirection of traffic) VPN (End-points) Dan Kaminsky Port scanning
Reflection
Easiest to test Place script in URL
Persistent
Requires attacker to input script Then view resulting page Eg.
Post a message to a forum View message as another user
XSS reflection attacks are simple. Add <script>alert(XSS)</script> into a URL Add the same to a POST to a site and the script is returned immediately on the page. Reflection most common form
Persistent XSS uses a web sites message-board features to place scripts in the users browser. Commonly used to attack:
guest books, classified ads, and social networking
Not related to XSS, but cam make it worse The attacker does not need to inject code into a web application. CSRF leverages the web servers trust of an authenticated user
HTTP response splitting occurs when: Data enters a web application through an untrusted source, most frequently an HTTP request. The data is included in an HTTP response header sent to a web user without being validated for malicious characters. https://www.owasp.org/index.php/HTTP_Response _Splitting
HTTP response splitting is a means to an end, not an end in itself. At its root, the attack is straightforward: an attacker passes malicious data to a vulnerable application, and the application includes the data in an HTTP response header. To mount a successful exploit, the application must allow input that contains CR (carriage return, also given by %0d or \r) and LF (line feed, also given by %0a or \n)characters into the header. These characters not only give attackers control of the remaining headers and body of the response the application intends to send, but also allow them to create additional responses entirely under their control.
SQL injection is one of the most common attacks on the Web at the moment. The aim of this attack is to gather information from a database. A detailed description is located at http://www.owasp.org/index.php/SQL_Injection SQL injection errors transpire when developers allow data entry from untrusted sources and where the data can be used to dynamically construct a SQL query. The two main types of SQL injection attack include Passive SQL Injection (SQP) and Active SQL Injection (SQI).
The following sites are recommended to learn more about SQL injection. The SQL Injection Cheat Sheet:
http://ferruh.mavituna.com/sql-injection-cheatsheet-oku/
We shall provide some of the many free sites that you can use to test yourself. http://quizlet.com/2398073/cissp-250-500flash-cards/