Shared Flashcard Set

Details

CompTIA Sec+ 3.6
Secure application development and deployment (updated Feb 6, 2019)
46
Computer Science
Professional
11/26/2018

Additional Computer Science Flashcards

 


 

Cards

Term
Development Life Cycle Models
Definition
-Waterfall
-Agile
Term
Agile
Definition
-Iterative Development
-Short feedback loop
-Changes made as product develops and business environment changes
-Priority to Satisfy customer
Term
Security concern Agile method
Definition
-Rapid development leaves inadequate time for security testing
-New requirements may not be properly vetted for security impact
Term
Waterfall
Definition
-Sequential Linear model with phases
-Requirements and Analysis
-Design
-Coding
-System Integration
-Testing and debugging
-Delivery
-Maintenance
Term
Security Concerns with Waterfall Method
Definition
-Cannot easily go back to the design phase if security issues are discovered
-Developers may produce software that is no longer needed or not security compliant
-Security may be an after thought due to time constraints
Term
DevOps
Definition
-Coordination between development and operations teams to provide rapid deployment of software, features, and capabilities
-Quick feedback loops and iterative testing
Term
Dev
Definition
-Plan
-Create
-Verify
-Package
Term
Ops
Definition
-Release
-Configure
-Monitor
Term
Security Automation
Definition
-Automating the process of implementing rules, enforcing policies, and making changes
-Based on triggers or policy violations
-Can reduce time to remediate
-Mitigate risk by human error
Term
Continuous Integration
Definition
-Merging developer updates continuously to avoid integration changes
-Multiple Developers
-Integrate Early and often
-Testing automation
-Model replica of production
Term
Baselining with CI/CD
Definition
-Continuous Integration
-Continuous Development
-Automated build process
-Monitor for revisions
-Reduce number of variations and time required to resolve conflicts
-Every commit to the baseline built
Term
Immutable Systems
Definition
-Applications or systems that cannot change
-no modification or updates allowed
-the whole system or application will be replaced
Term
Infrastructure As Code - IAC
Definition
-Virtualized systems, switches, routers, and firewalls
-No hardware
-Roll out application with virtualized hardware
-Virtualized web servers and database servers
Term
Advantages of IAC
Definition
-Focus on the need of the application, and simply deploy it to where it makes the most sense.
-No concern about backend infrastructure
-Deployed with security tools as well
Term
Change management
Definition
-Hardware and Software
-OS configurations
-Migrations
-Commision/Decommission
-Security changes/Patches
Term
version control
Definition
-track the changes that are made to a particular file that have been made over time
-application development process
-changes ready to move the application into a production environment
-identify a security problem, or integrate bug fixes
Term
Provisioning
Definition
-To make something available
Term
-Deprovisioning
Definition
-Process of removing an application or system
Term
Commision
Definition
New Asset Installed
Term
Decommissioned
Definition
-Data is migrated
-Old data no longer needed
-Asset wiped/purged
-Asset disposal
Term
Secure coding techniques
Definition
- Proper error handling
- Proper input validation
- Normalization
- Stored procedures
- Code signing
- Encryption
Term
Secure Coding Techniques
Definition
-Error Handling making sure errors don't crash system leaving elevated privileges
-Input Validation sanitizes data to mitigate SQL insertion, cross site scripting and forgery
-signing to ensure source of software
Term
Proper error handling
Definition
Code properly handles exceptions
Term
Input Validation
Definition
-Guards agains SQL Injection
-Cross site scripting
Term
Fuzzing
Definition
-Software that provides random input to try to crash a program
Term
Secure coding techniques
Definition
-Handle Exceptions
-Don't use default error messages
-Validate Input
-Encryption
-Code obfuscation
-Memory management
-3rd Party Libraries
-Data exposure
Term
Stored Procedures
Definition
-Limits exposure of complex SQL queries
-Simplifies query
-Complex queries can be kept on the server
-Simple CALL command
Term
Code Signing
Definition
-Validates source of application
-Provides tamper protection
-Deployed application
Term
Dead Code
Definition
-Code reuse
-Calculations are made, code is executed
-Results are not used
Term
Code reuse vulnerablities
Definition
-Old code
-Security issue spreads to other apps
-Used to build new apps
Term
Obfuscation
Definition
Taking something that’s perfectly understandable, and we’re turning it into a form that makes it very difficult to understand
Term
server-side validation
Definition
-checks of the data are occurring on the server itself
-protects against modified front end
Term
client-side validation
Definition
-application front end input check
-may filter out illegitimate users
Term
buffer overflow
Definition
-a vulnerability associated with memory
Term
memory management
Definition
data that’s going into memory is matching the amount of buffer available
Term
Use of third-party libraries and SDKs
Definition
-Used to speed up development
-add on capability
-potential for a security risk because someone else has written this code
Term
Data exposure
Definition
-Sensitive information
-Encrypt in transit
-Encrypt at rest
-In use On screen
Term
Secure Code
Definition
-Validate using Static Application Security Testing Tool or SAST
-Check for buffer overflow
-Fuzzing
-Operating System Utility Program Reliability, U of Wis. Prof Barton Miller
Term
basic fuzzing framework, or BFF
Definition
-virtual machine download from Carnegie Mellon
-CERT
-putting input randomly into the application
Term
Stress Testing
Definition
-Simulate 1 or thousand users
-Simultaneous access
-Overload application
-App details
-Unintended error messages
-Kernal and memory dumps
Term
Sandboxing
Definition
-Emulate production
-Allows QA Fuzz, stress
Term
Dynamic Analysis
Definition
-Different term for Fuzzing
Term
Model Verification
Definition
-Evaluate against a set of requirements
-Does software work properly performs as expected
-Correct product?
Term
Compiled Code
Definition
-Don't see source code
-Specific to an operating system and CPU
-Logical Bugs
-Executable
Term
Runtime Code
Definition
-Source Code Viewable
-Source instructions execute when the application is run
Term
Runtime Code
Definition
-Source Code Viewable
-Source instructions execute when the application is run
Supporting users have an ad free experience!