Information Systems Security
360 likes | 522 Vues
Information Systems Security. Applications Development Domain #8. Objectives. Software Flaws OSI Model Database Concepts Software Lifecycle Change Control OOP Expert Systems. Why Security is Lacking?. Software vendors rush to market Security professionals are not software developers
Information Systems Security
E N D
Presentation Transcript
Information Systems Security Applications Development Domain #8
Objectives • Software Flaws • OSI Model • Database Concepts • Software Lifecycle • Change Control • OOP • Expert Systems
Why Security is Lacking? • Software vendors rush to market • Security professionals are not software developers • Public is used to software with bugs • Software vendors not held liable • Programmers not taught secure coding in school • Note: Average 10 bugs every 1K lines
Usual Steps • Buggy software released to market • Hackers find vulnerabilities • Web sites post vulnerabilities • Vendors develop patches • Sits on network administrators desks to be tested and installed
Where to Implement • Security should be planned and managed throughout the lifecycle • Not to be added as an afterthought • Should not be forsaken due to deliverable deadlines • Focus on security AND functionality
Functional Requirements • Specific system functionalities • Consider how the parts of the system should interoperate • Deliverable from this phase of development is a functional requirements document
Design • Determine how exactly the various parts of the system will interoperate • How the modular system structure will be laid out • Lay out initial timelines for completion of coding milestones • Deliverable is formal design documents
Code Review Walk-Through • Schedule several code walk through meetings • Involve only development personnel • Look for problems in logical flow or security
System Testing • Perform the initial system tests using development personnel • Agree that the system meets all functional requirements • Deliverable is beta code
Certification/Accreditation • Normally required by defense contractors • Certification is the comprehensive evaluation of the technical and non-technical security features of an IT system • Accreditation is the formal declaration by the approved authority that an IT system is approved to operate in a particular security mode
Maintenance • Ensure continued operation in the face of changing operational, data processing, storage, and environmental requirements • Changes to the code be handled through a formalized change request/control process
Life Cycle Models • Formalized life cycle management process • Royce and Boehm proposed several software life cycle models • In 1991, the Software Engineering Institute introduced the Capability Maturity Model
Waterfall Model • Developed by Royce in 1970 • Series of iterative activities • 7 stages of development • System requirements • Software requirements • Preliminary design • Detailed design • Code/debug • Testing • Maintenance
Waterfall Model • Allows development to return to previous phase to correct defaults discovered • 1st comprehensive model to allow a step back. • Only allows the developers to step back one phase in the process
Spiral Model • Developed by Boehm in 1988 at TRW • Multiple iterations • Each loop of the spiral results in a system prototype • Allows developers to return to the planning stage based on changing technical demands and customer requirements
Software Capability Maturity • Developed at CMU in 1991 • Repeatable – reuse of code begins • Defined – developers use formal processes • Managed – quantitative measures utilized • Optimized – process of continuous improvement
Security Control Architecture • Process isolation • Fundamental security procedures put into place during system design • Hardware segmentation • Process isolation at the hardware level by enforcing memory access constraints
Protection Rings • Layer 0 – where the OS kernel resides • Has full control of all system resources • Layer 1 & 2 – device drivers and OS interfaces • Most O/S do not implement these layers • Layer 3 – user applications and processes • Known as user mode • Not allowed direct access to system resources
Ring 0 – Reference Monitor • Must be tamperproof • Must always be invoked • Small enough to be analyzed • Must be complete
Virus • Piece of code that requires a host application to reproduce • Macro • Boot sector • Compression • Stealth • Polymorphic • Multi-partite • Self-garbling
Virus • Fred Cohen wrote the 1st in 1983 • Called the morris worm • Over 60,000 viruses today • Main functions – propagation and destruction
Types of Viruses • File Infectors • Boot Sector Infectors • Companion Virus • Email Virus • Multi-partite
More Malware • Worms • Can reproduce on their own • Self contained • Logic bomb • Event triggers execution • Trojan horse • Disguised as another program • Uses program to exploit authorization process
MORE • DDoS Zombies • Spyware/Adware • Pranks
Threats in Software Environment • Buffer Overflow • Citizen Programmers • Covert Channels: Storage and Timing • Malware • Malformed Input • Object Reuse • Mobile Code • Time of Check/Time of Use
System Development Life Cycle • Project Initiation • Functional Requirements • System Design • Develop • Acceptance • Installation • Maintenance • Revisions
Software Protections Mechanisms • Security Kernel (Monitor) • Processor Privilege State • Buffer Overflow Controls • Incomplete Parameter Controls • Memory Protection • Covert Channel Controls • Cryptography
Database Vulnerabilities • Aggregation • Bypass Attacks • Deadlocking • Query Attacks • Web Security • Compromising Database Views
Database Protection • Lock Controls • View Based Controls • Grant/Revoke Controls • Metadata Controls • Data Contamination Controls
Distributed Components • Agents • Performs actions on behalf of user • Carries out activities unattended • Applets • Sent from server to client • Self contained mini-programs • Java (Sun) & ActiveX (MS) • Java ‘sandboxed’ but Active X is ring 0
Databases • Relational • Flat 2-dimensional table • # of rows is cardinality • # of columns is degree • Security available through views • Primary & secondary keys used • Data Warehouses & Data Mining
Expert Systems • Accumulated knowledge of expert on a specific subject • Knowledge base • Inference engine • Fuzzy logic • Neural networks
Programming • Interpreted versus compiled • Fail-secure versus fail-open • Reverse engineering • White box testing versus black box testing
Password Attacks • Dictionary attacks • Against /etc/passwd in Unix • Compares hash values • Social engineering • Brute force attacks • Complex passwords
DOS Attacks • SYN flood • DDOS • Tribal Flood Network (TFN) • DRDos attacks • Smurf (ICMP • Fraggle (UDP) • Teardrop (fragmentation) • Land (tight loop for old systems) • Ping of Death (larger than 64K packets)
More Attacks • Buffer Overflows • Combat with input controls • Time of check/Time of use • Restrictions only checked at login • IP probes or sweeps (Ping) • Port scans to identify services • Vulnerability attacks (Satan) • IP spoofing