750 likes | 770 Views
Software Development Security. Domain Objectives. Understand software-based security controls Understand the software development and change/maintenance processes Specialized security controls for database and Web applications Describe malicious software Controls for detection of malware
E N D
Domain Objectives • Understand software-based security controls • Understand the software development and change/maintenance processes • Specialized security controls for database and Web applications • Describe malicious software • Controls for detection of malware • Define software engineering principles
Availability Information Security Confidentiality Integrity Information Security TRIAD
Domain Agenda • Programming Concepts • Threats and Malware • Software Protection • Audit and Assurance Mechanisms • Database and Data Warehousing Environment • Web Application Environment
Application vs. Operating System • Project Management Controls • Complexity of Systems and Projects • Controls Built into Software
Generations of Programming Languages • Generation One - Machine language • Generation Two - Assembly language • Generation Three - High-level language • Generation Four - Very high-level language • Generation Five - Natural language
Programming Languages • COBOL, Fortran • C, C-Plus, C++ • Smalltalk, Java, Eiffel • Visual Programming Languages • Visual Basic, Visual C, Delphi • BASIC, Logo, JavaScript
HTML, XML, and Active X • HTML • XML • Active X
Program Utilities • Assembler • Compiler • Interpreter
Programming Concepts • System Model • Von Neumann Architecture • Object-Oriented Programming (OOP) • Inheritance • Polymorphism • Polyinstantiation
Programming Concepts • Distributed Component Object Model (DCOM) • Common Object Request Broker Architecture (CORBA)
Domain Agenda • Programming Concepts • Threats and Malware • Software Protection • Audit and Assurance Mechanisms • Database and Data Warehousing Environment • Web Application Environment
Threats and Malware • Buffer Overflow • Denial of Service • Time of Check/Time of Use (TOC/TOU)
Threats and Malware • Malformed Input Attacks • SQL Injection • Unicode Attack • Executable Content/Mobile Code • Web Applets • Dynamic Email
Threats and Malware • Object Reuse • Garbage Collection • Trap Door
Threats and Malware • Incomplete Parameter Check and Enforcement • Covert Channels • Inadequate Granularity of Controls • Social Engineering • Multiple Paths to Information
Threats and Malware • Malicious Software • Modern malware is network aware • Compatibility - Platform Dominance • Malware Functionality
Virus • Central characteristic is reproduction • Generally requires some action by the user • May or may not carry payloads
Multipartite Macro Virus Script Virus Hoax File Infector Boot Sector Infector System Infector Email Virus Virus Types
Virus Anti-Detection • Stealth • Tunnelling • Polymorphism • Antivirus (anti-malware) Disabling
Virus Structure • Infection / Reproduction • Target Search • Infection • Avoidance • Trigger • Payload
Worm • Reproduces • Generally use loopholes in systems • May not involve user • Often attacks server software
Trojan Horse • Purported to be a positive utility • Hidden negative payload • Social Engineering
Logic Bomb • Generally implanted by an insider • Waits for condition or time • Triggers negative payload
Diddlers, Backdoors, and Rats • Data Diddler • Backdoor, Trapdoor • RAT (Remote Access Trojan)
Threats and Malware • DDOS Zombie • Prank • Spyware and Adware • Phishing • BotNets
Domain Agenda • Programming Concepts • Threats and Malware • Software Protection • Audit and Assurance Mechanisms • Database and Data Warehousing Environment • Web Application Environment
System Life Cycle • Project Management-based Methodology • Typical Phases of a System Life Cycle
System Life Cycle • Project Initiation and Planning Establish User Requirements Identify Alternatives Select/Approve Approach Determine Security Requirements Conduct Risk Analysis Define Security Strategy Required Security Activities
System Life Cycle • Functional Design Definition Develop Project Plan Identify Functional Requirements Set Test Criteria Define Strategy Develop Functional Baseline Include Security Requirements in RFPs, Contracts Include Functional Security Requirements Identify Security Areas Establish Security Requirements Security Tests Required Security Activities Prepare Risk Analysis and Contingency Plan
System Life Cycle • Detailed Design Specifications Prepare Detailed Designs Update Testing Goals & Plans Develop Formal Baseline Document Security Baseline Establish Security Specifications Update Security Test Plans Required Security Activities
System Life Cycle • Develop and Document Develop System Unit Testing & Evaluation Document System Security Code Evaluation Document Security Code Develop Security Code Required Security Activities
System Life Cycle • Acceptance, Testing and Transition to Production System Components System Performance Project Manuals Acceptance Test Integrated System System Test Validate Implement Document Certify Accept Security in Integrated System Security Components Security Code Security Controls Secure Operations Secure System Required Security Activities
System Life Cycle • Decommissioning / Disposal • Critical data recovered or destroyed • Media sanitized or destroyed • Software removal
Software Development Methods • Waterfall • Spiral • Clean-room • Structured Programming Development
Software Development Methods • Iterative Development • Joint Analysis Development (JAD) • Prototyping • Modified Prototype Model (MPM) • Exploratory Model • Rapid Application Development (RAD)
Software Development Methods • Reuse Model • Computer Aided Software Engineering (CASE) • Component Based Development • Extreme Programming
Cryptography Access Controls Open source Social Engineering Awareness Backup and Redundancy Controls Malicious Code Control Documentation and Common Program Testing and Evaluation Mobile Code Controls Data Contamination Controls Additional Software Protection Mechanisms
Domain Agenda • Programming Concepts • Threats and Malware • Software Protection • Audit and Assurance Mechanisms • Database and Data Warehousing Environment • Web Application Environment
Auditing and Assurance Mechanisms • Information Integrity • Information Auditing • Malware Assurance
Change Management Process Analyze Request for feasibility, impact, timeline (security) Formal Request for Change Develop Implementation Strategy Approval of Change Implement and test the Change Develop the Change Review Change Effectiveness Report to Management
Testing • Last chance to avoid a disaster • Testing is intended to find the problems • Tests should address all normal and ‘unexpected’ entries and conditions • Do not compromise privacy with test data
Configuration Management • Configuration Management • Patch Management • Patch Management Process
Patch Management • Potential problem areas : • Distribution System Failures • Patch Failures • Inadequate Testing & Validation • Patch Rollback • Load on the network • Stability issues and other regression issues
Domain Agenda • Programming Concepts • Threats and Malware • Software Protection • Audit and Assurance Mechanisms • Database and Data Warehousing Environment • Web Application Environment
Database Environment • Database Management Systems • Databases - Developed to manage information from many sources in one location • Eliminates duplication of information • Preserves storage space • Prevents inconsistency in data by making changes in one central location
Database Environment • Major Elements • DBMS should provide • Transaction Persistence • Fault Tolerance and Recovery • Sharing by Multiple Users • Security Controls
DBMS Models • Hierarchical DBMS • Stores records in a single table • Parent/child relationships • Limited to a single tree • Difficult to link branches Car Honda Toyota Mazda CRV Accord Civic 4-door 2-door
DBMS Models • Network DBMS • Represents data as network of records and sets that are related to each other, forming a network of links • Record types - records of the same type • Set types - relationship between record types
DBMS Models Ford Mazda BMW Regular Mazda 3 Truck E Series Regular Mazda 6 4 x 4 X3 Truck Freestar 4 x 4 X5 5 Speed Transmission Leather Interior Front and Rear Climate Controls