Domain 8 - Software Development Security
Domain 8 - Software Development Security
Development Security
Security in the software development lifecycle know the rings
and how they work
Development environment security controls
Acquired software security impact know shrink-wrap vs.
malicious attacks vs. purposeful backdoors
Domain 8 Software
Development Security
Security control test and vuln
app controls
App threats
Object reuse sensitive data should be removed from storage areas
before another subject accesses it
Garbage collection processes should de-allocate committed storage
Trap/backdoors
Buffer overflows
Covert channels
Security control test and vuln
app controls
Application controls
Goal is to enforce an organizations security policy and procedures in the
maintenance of CIA
Involves input to the system, the data being processed, and the output
from the system
Controls can be classes as
Preventative
Data checks, custom screens, validity checks
Detective
CRCs, Hashs
Corrective
Backups, control reports
Security control test and vuln
app controls
Distributed System Components
Agent Surrogate program performs services on behalf of another
Proxy Acts on behalf of principal but may hide the principal
Applets Small apps, downloaded from the web
Java Run in constrained space, downloaded from the web
Active X Establishes trust between client and server with digital
certificates
System development - Lifecycle
Simple model
Assumes each step can be completed without any effect from the later stages
of the development
Assumes any reworking will not affect previous work
Waterfall Model
Recognizes a need for developers to modify early stages
Developers are limited to going back one stage to rework
Large development teams to stop parallel reworking
Assumes a stage will finish at a specific time (not usually the case)
Ending phase tied to a milestone
Verification Evaluates product against spec
Validation ensures real work requirement
Software development Models
cont.
Spiral model
Goes around in a spiral
Develop plans
Define objectives
Prototype and identify risk
Final deveipment
Joint Analysts Development Model (JAD)
Rapid Application Development (RAD)
Software development