MindMap Gallery CISSP-AIO-Software Security Development
CISSP passed student notes, you must memorize these if you want to pass the exam, but you don’t need to go too deep. Friends who are interested in development security can use it to familiarize themselves with the concepts. You can also learn more about it, but you need books on development. Remember that this is just a knowledge framework.
Edited at 2021-05-25 20:52:07This is a mind map about bacteria, and its main contents include: overview, morphology, types, structure, reproduction, distribution, application, and expansion. The summary is comprehensive and meticulous, suitable as review materials.
This is a mind map about plant asexual reproduction, and its main contents include: concept, spore reproduction, vegetative reproduction, tissue culture, and buds. The summary is comprehensive and meticulous, suitable as review materials.
This is a mind map about the reproductive development of animals, and its main contents include: insects, frogs, birds, sexual reproduction, and asexual reproduction. The summary is comprehensive and meticulous, suitable as review materials.
This is a mind map about bacteria, and its main contents include: overview, morphology, types, structure, reproduction, distribution, application, and expansion. The summary is comprehensive and meticulous, suitable as review materials.
This is a mind map about plant asexual reproduction, and its main contents include: concept, spore reproduction, vegetative reproduction, tissue culture, and buds. The summary is comprehensive and meticulous, suitable as review materials.
This is a mind map about the reproductive development of animals, and its main contents include: insects, frogs, birds, sexual reproduction, and asexual reproduction. The summary is comprehensive and meticulous, suitable as review materials.
Software security development
Build good code
concept
How to deal with software security issues
Security was not a necessity during the software development phase, so many programmers today lack the time and experience to implement these security procedures.
Many security experts are not software developers and lack a comprehensive understanding of software vulnerabilities.
Many software developers are not security experts and do not consider security a priority in software development; they often prioritize functionality over security.
Software vendors have the primary goal of capturing market share as quickly as possible, so they may neglect to spend time on proper software security architecture design and testing steps.
The computing community is used to receiving software products with flaws first and then patching them. At the same time, it becomes an established process.
Consumers have physical control over flaws in the software when purchasing software products, so they must rely on external software to enforce such security measures.
General trends in handling security
1. In order to gain an upper hand in competition, software containing defects flows into the market.
2. Hackers discover new vulnerabilities and weaknesses in new software.
3. Publish these vulnerabilities and methods of exploiting them on the website.
4. Vendors develop and release patches to fix vulnerabilities.
5. All network administrators need to test and install all newly released patches.
Different environments require different security.
Environment and Applications.
Functionality and security.
Implementation and default configuration issues.
software development life cycle
software development model
Each stage of work for each model
Requirements gathering stage:
safety phase
Security risk assessment
Privacy risk assessment
risk tolerance
P1, highest privacy risk
P2, medium privacy risk
P3, low-level privacy risk
design phase:
Information model: explains the types of information to be processed and processing methods
Functional model: Lists the tasks and functions to be implemented by the application
Behavioral model: illustrates the state of a software product during and after specific transitions
safety perspective
Attack surface analysis
Security modeling
development stage:
Stage where program developers are deeply involved
TOP25
TOP10
static analysis
Testing phase:
Test type
Unit TestingUnit Testing
Integration TestingIntegration Testing
Acceptance TestingAcceptance Testing
Regression TestingRegression Testing
Fuzz testing
Manual testing
Dynamic Analysis
Backdoor/maintenance hook
Operation and maintenance stage:
Operation and Maintenance, O&M
Requires close cooperation between the operation and maintenance team and the development team
Verify and confirm
Verification
ValidationValidation
Software development lifecycle and security
requirements gathering phase
Security risk assessment
Privacy risk assessment
Risk level tolerance
Informational, functional and behavioral needs
design phase
Comprehensive attack analysis
Threat modeling
development stage
Automated calculation-assisted software engineering tools
static analysis
testing phase
Dynamic Analysis
Fuzz testing
Manual testing
Unit testing, integration testing, acceptance testing, regression testing
Operation and maintenance stage
Final safety review
software development methodology
development method
Waterfall Methodology
feasibility
analyze
design
implement
test
maintain
V-shaped Methodology
need
System test plan
System test
Outline design
Integration test plan
Integration Testing
underlying design
unit test plan
unit test
implement
Prototype
Rapid Prototype
Evolutionary Prototype
Operational Prototype
Incremental Methodology
Spiral Methodology
Target setting
risk analysis stage
development and testing phase
Planning defect iteration phase
Rapid application development Rarpid Application Development, RAD
Agile Methodology
Scrum
extreme programming
Kanban
Other modes
Exploratory Methodology
Joint Application Development model, JAD
Reuse Methodology
Clean RoomClean Room
Development model review
Waterfall model
A strictly sequential approach that requires the completion of the previous phase before the second phase can begin. This approach is very difficult to integrate changes and lacks flexibility.
V-shaped pattern
This approach emphasizes validation and verification at each stage of the project, with testing throughout the entire project process rather than just at the final stage of the system.
Prototype pattern
Create a code sample or model for proof-of-concept purposes
incremental mode
Conduct multiple development cycles at various stages of software development. Each development cycle provides a usable version of the software.
spiral pattern
This is an approach that focuses on risk analysis in every iteration. This approach integrates user feedback in a flexible and evolutionary way.
Rapid application development
This approach combines prototyping and iterative development processes with the goal of accelerating the software development process
Agile model
It is an iterative and incremental development process that encourages team collaboration. This approach provides flexibility and adaptability rather than a rigid process structure.
Integrated Product Team, IPT
DevOps
Between software development, IT and quality assurance teams
Capability Maturity Model Integration, CMMI
five maturity levels
initial
Repeatability
definition
manage
optimization
Other maturity models
DevOps (DevOps Maturity Model) maturity model
Development Maturity Model (Open Soure Maturity Model, OSMM)
Software Product Management Maturity Model
Security management
Change management
Change control steps
Submit a formal change request
Analyze change requests
Develop implementation strategy
Calculate implementation costs
Check the security impact
Log change requests
Submit change request for approval
development changes
Recode and combine different modules of the product to add or delete features
Associate code changes with formal change control requests
Submit software to testing and quality control
Repeat the above process until the quality is qualified
Make version changes
Report the results of changes to management
Development environment security
Development platform security
Code base security
Software configuration management
Software hosting
secure coding
Source code vulnerabilities
Open Web Application Security Project (OWASP)
Top 10 threats in 2017
A1:Injection
A2: Broken authentication
A3: Sensitive data leakage
A4:XML external entity reference XEE
A5: Break access control
A6: Security configuration error
A7: Cross-site scripting XSS
A8: Unsafe deserialization
A9: Use controls with known vulnerabilities
A10: Imperfect logging and continuous monitoring
Secure coding practices
Software Engineering Institute, SEI, Carnegie Mellon University
Input validation
Pay attention to compiler warnings
Architect and design according to security policy
keep it simple
Deny by default
Follow the principle of least privilege
Clean data sent to other systems
defense in depth practice
Use effective quality assurance techniques
Adopt secure coding standards
Programming Languages and Concepts
programming
Assemblers, compilers and interpreters
object-oriented concepts
OOP advantages
Modular
delayed implementation
Reusability
nature
Development objects include
object name
Property description
attribute name
Attribute content
Property data type
Input from outside the object
Output from object to outside
Operation description
Operation name
Operation interface description
Operation processing description
Performance issues
restrictions and limitations
Instance connection
message connection
Polymorphism
Other software development concepts
Data modeling
data structure
cohesion and coupling
API
Distributed Computing
Distributed computing environment
CORBA and ORB
COM and DCOM
Object Linking and Embedding, OLE
Uniform Resource Locator, URL
Java Platform Enterprise Edition
service-oriented architecture
Service-Oriented Architecture Service-Oriented Architecture
move code
java applet
A programmer develops a java applet and runs it through a compiler
The java compiler converts source code into bytecode (no processor specified)
User downloads java applet
JVM converts bytecode into machine-level code (specific processor)
The applet runs when called
ActiveX control
Web security
Specific threats to the web environment
Management interface
Authentication and access control
Input validation
Path or directory traversal
Unicode encoding
URL encoding
loopholes
Non-persistent XSS vulnerability
Persistent XSS vulnerability
Document Object Model,DOM
Parameter validation
Pre-validation
post-validation
Session management
Database Management and Malware
Database management
Database Management System,DBMS
Ensure that data stored on several different servers across the entire network is consistent
The backup process is simpler
Transaction Persistence to commit the transaction transaction
Provides recovery and fault tolerance capabilities
Allow multiple users to share data
Provides multiple security controls to implement integrity checks, access controls and necessary confidentiality levels
Database model
Relational Database
hierarchical database
Network database
object-oriented database
object relational database
Database terminology
Record: A collection of related data items
File: a collection of records of the same type
Database: A collection of data that references each other
DBMS: Manage and control databases
Property: a column in a two-dimensional database
Primary key: A column that makes each row unique (each row of the table must include a primary key)
View: A virtual relationship defined by the database administrator to prevent a subject from viewing certain data
Foreign key: an attribute related to the primary key of another table
Cell: intersection of row and column
Schema: defines the structure of the database
Data Dictionary: A central bank repository of data elements and their relationships
Database programming interface
Open Database Connectivity, ODBC
Object Linking and Embedding Database, OLEDB
ODBC replacement that extends the feature set of ODBC to support a wider range of non-relational databases, such as object databases and spreadsheets that do not necessarily require the implementation of SQL
A set of COM-based interfaces that provide applications with unified access to data stored in different data sources
Since OLE DB is based on COM, it can only be used on Microsoft client tool products.
Developers access OLE DB services through ActiveX Data Object (ADO).
Allow different applications to access different types and sources of data
ActiveX Data Object (ADO)
java Database Connectivity (JDBC)
It is an API specially designed for Java database applications and provides the same functions as ODBC.
Provides database-independent connectivity between the Java platform and a wide range of databases
It is a java API that enables java programs to execute SQL statements.
relational database components
DDL
DML
QL
report generator
composition
Data Dictionary
Primary key and foreign key Primary Key
integrity
The semantic integrity (Semantic Integrity) mechanism ensures that structural and semantic rules are enforced. These rules apply to data types, logical values, uniqueness constraints and operations that may adversely affect the database structure
If all foreign keys refer to the current primary key, the database has referential integrity. There should be a mechanism to ensure that no foreign keys reference the primary key of a null or non-existent record.
Entity Integrity ensures that tuples are uniquely represented by primary key values.
Database security issues
Attack method
polymerization
Aggregation attack
inference attack
is the ability to obtain unclearly available information
method
Database ViewDatabase View
Discretionary Access Control, DAC
Mandatory Access Control, MAC
Polyinstantiation
Online Transaction Processing,OLTP
The main goal of OLTP is to ensure that physical objects are either executed correctly or not at all. Physical processing usually means the independent execution of an indivisible operation as a whole (which contains multiple sub-operations). If any of the sub-operations fails, all executed sub-operations need to be rolled back to ensure that only accurate data is entered into the database.
Atomictity
Consistency
Isolation
Durability
Data warehouse and data mining
Management: making decisions
Data Analyst:
Data presentation: visualization techniques
Data Mining: Knowledge Discovery in Database, KDD
Grouping Classification: Group data based on shared similarities
Probabilistic: Identify interdependencies in data and analyze their relationships using probability
Statistics: Identify relationships between data elements and use rules to discover them
Data utilization: statistical analysis, data analysis, reporting
subtopic
Programmer, Database Administrator
data warehouse, data mart
Data sources: files, records, databases, information providers, etc.
Capability-based systems
data-based system
rule based system
knowledge based system
Exam tip: "Big data" is stored in specialized systems such as "data warehouses" and developed using methods such as "data mining". These three terms are related but different
malicious software
Ways to make money with malware
After the botnet compromises the target system, it is used for distributed denial-of-service DDOS attacks, sending spam emails, or used as part of the botnet's command and control system.
Ransomware encrypts some or all of a user's files with a key, only the user's files, and the key is only given to the user if they pay the ransom. Users are usually asked to pay a ransom using cryptocurrency.
Spyware uses malware developers to collect personal data and resell it to others
Malware redirects web traffic to other links leading users to purchase specific products
The malware installs keystroke loggers and collects sensitive financial information for use by malware developers.
User malware conducts phishing attacks, fraudulent activities, identity theft and information warfare activities
Malware is becoming more abundant and more effective
The homogeneity of many environments means that one piece of malware can work on many (most) devices
All devices (mobile phones, televisions, game consoles, power grids, medical equipment, etc.) are being computerized and therefore can be compromised
More and more individuals and businesses store data in some digital format
More and more people and devices are connected through different interfaces (mobile apps, Facebook, web, email, SMS, e-commerce, etc.)
Many accounts configured with too many privileges (administrative or root access)
More and more users who lack understanding of technology are using technology for sensitive purposes (online banking, e-commerce, etc.)
The digital world offers many ways to conduct criminal activities with a low risk of getting caught.
Viruses
Macro virus: Program written in Visual Basic or VBScript, usually used in Microsoft OFFICE products.
Boot Sector Virus Boot Sector Virus
Stealth Virus
Polymorphic Virus: Can generate different versions but functionally identical copies in order to deceive virus scanners.
Multipart Virus: Made up of several components, these components can be distributed in different parts of the system. The virus can be spread faster through the use of multiple infectious agents.
Meme virus: Not an actual computer virus, it keeps forwarding emails on the Internet.
Tunneling Virus: Hidden its traces and activities by replying to wrong system commands or falsifying system health status.
Malware components
Insertion: Installing a copy of the virus on the victim's system
Avoid: Use various methods to evade detection and hide your traces.
Eradication: After the attack payload is executed, copies of the virus are deleted.
Replication: Make a copy and spread it to other victims.
Trigger: Initialize the execution of the attack payload through an event.
Payload: Execute related attack functions (i.e. delete files, install backdoors or exploit vulnerabilities, etc.)
Beyond the virus
Worms: are independent programs that can be replicated even without a host application. Example: Stuxnet
Rootkit toolkit
Function
Capture credentials
sniff
Attack other systems
Hide attacker traces
tool
Trojaned Program
ipconfig program
Log Scrubber
Spyware and adware
Spyware
Adware
Botnet
Bot Herder
1. Zombie shepherds use zombie software as attack payload to send malicious codes
2. Once the malicious code is installed, the zombie logs into the built-in IRC or web server. The server then acts as a control server for the botnet.
3. The spammer pays the zombie herder for using the system and sends instructions to the control server, prompting all infected systems to send spam to the mail server.
Logic Bomb Logic Bomb: Execute a program or string code when specific conditions are met
Trojan Horse: A program disguised as another program.
protection
Anti-malware SoftwareAnti-malware Software
Detect malicious code using signatures
Signature-Based Detection, Fingerprint Detection
Types of behavior that anti-malware software pays close attention to
Write information to the run key of the startup file or registry summary
Open, delete or modify files
Send executable code via email using a script
Connect to a network share or resource
Modify executable logic
Create or modify macros and scripts
Format the hard drive or write to the boot sector
Spam detection
Bayesian Filtering Bayesian Filtering
Frequency analysis is performed on each word, and the message is evaluated as a whole to determine if it is spam.
Anti-malware program
Every workstation, server and mobile device should have anti-malware software installed.
Each device should be updated with malware signatures (patterns) in an automated manner
User cannot disable anti-malware software
A pre-planned malware cleanup process should be developed and a point of contact should be appointed in the event of a malware infection.
All external disks or USB drives etc. should be automatically scanned
Scan backup files
Review anti-malware policies and procedures annually
Anti-malware software should provide malware boot protection
Anti-malware scanning on every device and gateway
Automate regular virus scans. Don't rely on manual scanning
Critical systems should be physically protected to avoid the installation of malware on the site
Assess the security of acquiring software
software development cycle
software development
importance
Function first
Safety first
Problems
Issues that need attention
Different environments require different security
Environment and Application
functional safety
Implementation and default issues
The increasing complexity of software poses security challenges
software development life cycle
SDLC system development life cycle simplifies all stages of software development from functional requirements to implementation
ideas, goals, visions
Address business requirements and corresponding solutions
Safety activities run concurrently throughout the project
SDLC three stages
Project initialization and planning
Functional requirements definition
System technical specifications
development and implementation
Documentation and general project control
Testing and control assessment
Production goes online
System life cycle, SLC system life cycle has two more stages
Operation and maintenance support
Revisions and system replacements
stage
Initiation phase
needs assessment
Preliminary risk assessment
What is needed, why is it needed
Risk Types
Risks of the software itself
Risks faced by software in the future
Project management and requirements gathering phase
project management
Project activity management to ensure project goals are achieved
SOW defines project tasks
Scope Creeps:
WBS(Work breakdown Structure)
requirements gathering phase
demand analysis
Function to be implemented
Safety requirements
Define integrity, availability, confidentiality. required security level
Demand side requirements
risk assessment
Privacy risk assessment
acceptable level of risk
design phase
Security requirements come from the three models
information model
functional model
behavioral model
Security perspective analysis
Attack surface analysis: Reduce the attack interface, identify and reduce the amount of code and functions used by untrusted users.
Threat modeling: A systematic approach to showing how different threats are implemented and how successful attacks can occur
development stage
computer-aided software engineering (CASE)
refer to
OWASP
DHS
MITER
2011 CWE/SANS TOP25 MOST DANGEROUS Softear Error
TOP10
Static analysis: analyze the code and find errors
Testing/validation phase
Unit testing is in progress
Separation of self-blame
Separation of responsibilities for development, testing, and operation and maintenance
Routine testing
Unit testing, integration testing, acceptability testing, regression testing
Safety test
Fuzz testing, vulnerability scanning, manual penetration testing, dynamic analysis
Test Evaluation Guide
data verification
Boundary checking
desensitization test
change control
acceptance stage
certificationcertification
Accreditation
Confirm compliance with certification standards and submit any
Migration and fixes/implementation
migrate to survive
Fixes and system replacements
O&M/and Abandonment
software development model
Model
waterfall model
Waterfall Model
The waterfall model uses a linear sequence and life cycle approach to development
Each stage must be completed before the next stage can begin
After each stage, there will be a review of the previous stages
All requirements must be gathered early
advantage
Suitable for small projects where the requirements are fully understood
shortcoming
Relying on early needs research and not adapting to changes
Difficult to adapt to complex projects
Lessons learned during development cannot be fed back into the process of applying this product
V-shaped model
V-model
advantage
The entire development process is tested until the end of the project
Compared with the waterfall model, it has a higher probability of success.
shortcoming
still lacks flexibility
Prototyping
Protoyping
Using prototyping, development teams can identify usage and design issues and make adjustments if necessary.
There are three main prototyping methods.
Rapid prototyping method:
rapid prototyping methods
Development is not based on rapid prototyping but is quickly discarded after the prototype has served its purpose
Evolutionary prototyping method:
It will not be discarded after development like a rapid prototype. The prototype will be continuously improved to guide the final stage of the product.
Feedback is collected at every development stage and improvements are made to continuously meet user needs.
Operational prototype method:
Both models use mobile phone data to improve the quality of the prototype, but the operational prototype is designed to be adapted in a survival environment
incremental model
iterative
advantage
Time is short, solve the connection function
Strong user adaptability
The system is integrated by components and can be changed flexibly.
shortcoming
Open lifting structure
Models are modified and software control loses integrity
There is an intersection between incremental packages and a comprehensive analysis is required.
spiral model
An iterative approach to software development that focuses on risk analysis
four stages
making plans
Rapid application development
Rapid application development methods use rapid prototyping rather than extensive upfront planning
Advantages of RAD
High development efficiency and intuitive communication with users
Can mobilize the enthusiasm of users to participate
Can early expose some potential problems after system implementation
Problems with RAD
Decide too quickly
Not suitable for the development of large systems and batch processing systems
Not suitable for modules with large amounts of calculations and strong logic
The requirements for basic management of the source system are relatively high, otherwise it will be on the track of mechanically simulating the original manual system.
Agile Model
People-centered, iterative, step-by-step development approach
A general term for several development methods, focusing on incremental and iterative development methods that can support the same functional teams and continuous feedback systems
It is lightweight compared to other traditional models and is enough to meet the needs of every project.
Advantages of Agile Models
Focus on people communication rather than processes and tools
Focus on developing the right software rather than complex and cumbersome documentation
Encouraging customer engagement and collaboration is not a contract negotiation
Encourage the ability to cope with change rather than strictly adhering to a plan
Rather than using prototypes to identify a complete product, agile models break the product down into different features.
Other models
exploratory model
Joint Analysis Development (JAD)
Reuse model
clean room model
It is an approach that attempts to prevent errors or mistakes through the development and testing of structured and formal methods. This approach leads to high quality and critical applications through a rigorous certification process. Formal method = using mathematical models (formal) American software design report: PhD students studying CS can use it
DevOps
DevOps originated from large Internet companies such as Amazon and Google. These companies need employees to work closely together, and at the same time they do not want to have departmental segregation.
Automation of target processes
Provide you with customer influence, handle website downtime and other situations, find problems faster and at lower costs
The characteristic of the team is to allow you to provide more functions to customers without bringing down the website.
in principle
Develop and test similar production systems
Repeatable, reliable process can be deployed
Monitor and verify operational quality
Expand the feedback loop
CMMI software maturity model integration
initialization phase
Already managed
level defined
Quantified management level
Optimization level
Change management
Software configuration management
The product provides software configuration management that can promptly identify the attributes of the software at different points and implement programmed change control throughout the entire software life cycle for the purpose of maintaining software integrity and traceability.
Concurrency management
control
status record
audit
configuration management process
Identification
Control
Status Accounting
audit
Programming Languages and Distributed Computing
concept
Development History
machine language
Assembly language
high level language
procedural language
Generation four, very high-level language
non-procedural language
generation five: natural language:
composition
assembler
translater
Translator
Garbage collector: refers to memory recycling
The concept of object-oriented programming (OOP), working with classes and objects.
traditional development methods
OOP produces objects through classes. Each object belongs to this class and inherits the properties of this class.
Programmers develop classes and all of their attributes and attributes, but do not need to develop each or all objects
Characteristics of OOP
Difference between OOP and non-OOP approaches
Advantages of OPP
Modularity: autonomous objects, negotiated through the exchange of information
Delayed commitment:
reusability
naturalness
concept
method
encapsulation
inherit
inheritance
Data hiding
Object example
Polymorphism
Data Modeling
Inclusion and coupling
Distributed Computing
Architecture
C/S architecture
The network location where the client calls the server
Assistance between components must be monitored and monitored, and requests and results must be passed back and forth between the correct components.
environment
OCE is developed by OSF.
Demonstrate that various capabilities can be inherited and shared among different classes of systems.
DCE provides remote calling RPC services, security services, directory services, time services, and distributed file support, etc.
DCE is the industry’s first attempt at distributed computing framework
DCE is a set of management services based on RPC communication layer
CORBA and ORBs
COMandDCOM
Object Linking and Embedding
Service-Oriented Architecture (SOA)
SOA is a WEB-based approach
SOA is a centralized place for applications to access the functionality they need
Recommendations for safe use of REST
Three safe paths for REST API
Basic Authentication w/TLS
Oauth 1.0a
The most security features among the three protocols
Use cryptographic signature, HMAC-SHA1:
Never pass token secrets over the wire
Oauth 2.0:
Oauth2 now removes signatures, eliminating the need to use encryption algorithms to create, generate and verify signatures.
All encryption is handled by TLS
There are not as many libraries as there are in 1.0, so using them is a challenge
SOAP Simple Object Access Protocol
Mobile Computing and Web Security
typical application
move code
Mobile code is code that can be transferred from the host to the client computer and executed
Attackers may use a combination of attack methods
Transmission: Computer system vulnerabilities, email, file sharing, web browsers
Social engineering
Typical mobile code
Apples (java applets, web plug-ins):
java Applets
Independent platform, you can restrict java code privileges in JVM (Java Virtual Machine) sanbox
ActiveX Controls
Microsoft technology, even running on Microsoft systems, has no sanbox restrictions.
Java security
When bytes are interpreted, Java examines the application and the variables and memory used
Advantages: The software can use memory appropriately without exceeding the set limit.
Disadvantages: Overreliance on this feature can lead to sloppy practices that can lead to other security issues.
JAVA is good at fragmentation recycling and automatic memory checking, so there is no need to reallocate memory areas.
Java security methods:
validator or translator
class loader
security manager
web security
Information gatheringInformation gathering
The first step of the attack
Attackers collect publicly available information
Manager accidentally leaks information
Allows developers to use DSN (Data Source Name) to avoid exposing the location or data information used to connect to.
Countermeasures:
The minimum amount of information available to the IU should be limited to
Developers should be aware that the code they write can be seen by people outside the organization, and should regularly check search engines to see if there are web sites, email addresses, file types and data, etc.
Administrative interfacesAdministrative interfaces
Authentication and access controlAuthentication and access control
Input validationInput validation
Attack method
Path/directory traversal
Unicode encoding
URL encoding
Buffer overflow
Client verification
SQL injection, XSS cross-site scripting attacks
Three types of XSS
Non-persistent XSS
Persistent XSS
Based on Document Object Model (DOM, Document Object Model-based XSS)
Parameter validationParameter validation
Session management
Database Management
Expert Systems/Knowledge-Based Systems/Expert Systems/Knowledge-Based Systems
Artificial Neural Networks
malicious software
Database Management and Malware
Database management
concept
Databases have a long history of being used to store a company's important intellectual property and valuable information.
database management system (DBMS)
Database management software
Database
DBMS
Features
Data consistencyData consistency
Data sharingData sharing
Data recoveryData recovery
Security controlSecurity control
Model
Relational Model: Data is stored in a table (table, also called relationship) containing rows (tuple, record, representing instances of data) and columns (field or attribute, representing data variables). The relationship between tables is formed based on the selected primary key. Currently the most commonly used film. DB2, Oracle, SQL Server.
Primary key: Uniquely identifies each row in the table. Each table only allows a unique primary key. RDBMS does not allow multiple records to be inserted with the same primary key, ensuring the uniqueness of the primary key.
Foreign key: An attribute or combination in one table whose value must match the primary key in another table. It is the connection relationship between tables.
core components
Data Definition Language, DLL
Data Manipulation Language, DML
Data Control Language, DCL
Query LanguageQuery Language,QL
Hierarchical Model: Now called directory service, it consists of records and fields, with logical and tree relationships between them.
Network Model: represented by network data, data block or record type. Blocks contain data fields, and rows between blocks can express relationships between data.
The network database model allows each data primitive to have multiple parent nodes and master records
Create a redundant network structure
Retrieval speed is faster than hierarchical model.
Object-Oriented Model: Combining the object data model in object-oriented programming with DBMS, it can store image, voice, video and other data.
Object-relational Model (Object-relational Moder Object-rela)tational Database Managementsystem, ORDBMS: A relational database, but a software front-end written in an object-oriented language.
Database programming interface
Open Database Connectivity (ODBC, Open Database Connectivity)
Object connection and embedded database
ActiveX data objects (ADO, Active Data Objects)
Java database connection (JDBC, JaveDatabase Connectivity)
Extensible Markup Language (XML)
Data Dictionary
Database integrity (Integrity)
Semantic integrity
Referential integrity
Entity integrity
operate
rollback
submit
checking point
two-phase commit
Security Question
Aggregation
Inference
Precautions against reasoning
cell suppression
Database partition
noise and perturbation
Context-dependent access control
Content-dependent access control
Access control
Polyinstantiation:
Data warehousing and data mining
database
Data Mining: Belongs to the category of Artificial Intelligence (AI)
Data mining is the automatic extraction of patterns, associations, changes, anomalies and meaningful structures from data
Most of the value of data mining lies in using data mining technology to improve language models
Orrelation between search data in data warehouse
Data mining tools are used to identify data characteristics and relationships in data warehouses
Malicious Code/Malwate
How malware makes money
Spyware collects personal data for malware developers to resell to others
Malware redirects web traffic to sway people towards purchasing specific products
Malware creates security backdoors on systems that are used as proxies to spread spam or pornographic material
Systems infected with bots subsequently used in distributed denial-of-service attacks
The malware installs a key logger that is used to collect sensitive financial information for use by the malware author.
Malware used to perform phishing attacks and fraud
Various malware
Virus
Boot sector virus
Compression virus
file infectious virus
invisible virus
macro virus
polymorphic virus
self-tampering virus
genetic virus
script virus
tunnel virus
Trojan Horses
Rootkit (Root privilege escalation)
Logic Bombs
Worm:
Botnets
Hackers send malicious code loaded with bot viruses
Spyware
Adware
Antivirus Software
Main functions of antivirus software
Feature detection
Heuristic detection
Sandbox or virtual machine
The next generation of virus software evolves into behavioral blockers
Write to the Run key in the startup file or registry
Open, delete or modify files
Insert script into email and send executable code
Connect to a network shared file or resource
Modify the logic of an executable file, etc.
solution
characteristic type
heuristic
integrity checker
behavior blocker
Immunization program
Antivirus strategy as part of an organization’s security plan
Antivirus software should be on every workstation, server and PDA
Every device should be configured to automatically update virus signatures
Do not allow users to disable antivirus software
A virus removal process should be established in advance and a contact person should be designated in the event of a virus infection
All external disks (USB drives, etc.) should be scanned automatically
Backup files should be scanned,
Antivirus policies and measures should be reviewed annually
Anti-virus software should provide boot sector virus protection
Gateways and every device should be scanned for viruses
Automatic virus scans should be performed regularly and manual scans should not be relied upon
Critical systems should be physically protected so that malware cannot be installed locally
response mechanism
Assess software security
Certification and accreditation
Certification and accreditation process and role
RMF risk management framework
Change and audit logs
Information audit function
System network device reporting is important to the health and safety of the overall system
The audit capability of logs allows relevant parties to understand and log
information integrity
Information accuracy
Risk analysis and mitigation
Risk Management
Risk documentation process includes risk mitigation and ongoing planning
Risk Analysis and Mitigation Strategies
corrective actions
Use change control process
Read all relevant documentation
test
Efficiently back up and schedule production downtime
Long term retention fallback plan
Inform the service desk and key user groups up front
Target non-critical services first
Not all risks discovered in patch management need to be mitigated