Modeling a System Flashcards
(39 cards)
What is a data flow diagram?
- diagrams that describe the flow of data among components in a system as well as properties of the components and flow
What are sequence diagrams?
- diagrams that describe the interactions of components in an ordered manner.
What are sequence diagrams useful in identifying threats?
- They allow a designer to understand the state of the system over time
What are process flow diagrams used for?
- They highlight the operational flow through actions among components in a system
What are attack trees?
- They depict the steps along a path that an attacker might try as part of reaching their goal to perform actions with nefarious intent
What are fishbone diagrams?
- They show the relationships between an outcome and the root cause(s) that enabled such an effect to occur
When developing a DFD what are some common annotations used for elements?
- Name of unit
- Owner
- If a process what privilege is it running at
- If it’s a binary object is it expected to be signed?
- What programming languages are used?
- For managed/interpreted code what runtime/bytecode processor is used
What is an element in the context of a DFD?
- A shape that represents a process or operating unit within the system
What is a container in the context of a DFD?
- A unit in the system that contains additional elements and flows
What is a context layer in a DFD?
- A DFD diagram that represents a high level view of a system and it’s interactions with external entities(e.g., remote systems or users)
Where is a container used in a DFD?
- in a context layer DFD
What is an external entity in the context of a DFD?
- It represents a process or system that is involved in the operation or function of the system but is not in scope for the analysis
What is a data store in the context of a DFD?
- represents where bulk data is stored, a message bus, or a shared memory region
What are some examples of data represented by a data store in the context of a DFD?
- database
- file or buffer holding small amounts of security relevant data
- logfile output
What are some meta data that should be captured for a data store in the context of a DFD?
- Type of storage - file, S3 bucket, service mesh, shared memory region
- Type and classification of data held - structured/unstructured, data format
- Sensitivity or value of data
- Protections on the data store itself
- Replication - is data replicated to a different data store
- Backup - is data copied to another place for safety but with reduced security and access controls
What are data flow symbols in the context of a DFD?
- They describe where and how interactions are made among entities.
What is the primary purpose of a data flow symbols in the context of a DFD?
- They describe the primary direction of travel of communications that is relevant for the purposes of analysis.
What should be conveyed with data flow elements in the context of a DFD?
- Application-level data or control messages that are being passed on an established channel
What meta data should data flows be assigned in the context of a DFD?
- Type or nature of channel - IPC, Network
- Protocols in use - HTTP, gRPC, TCP/IP, HTTPS
- Data being communicated
- Order of operations(if useful)
What is a “trust boundary” in the context of a DFD?
- Shows objects and entities operating within the boundary that operate at the same trust level
What is a “block element” in the context of a DFD?
- An architectural element that selectively alters the data flow on which it is attached
What are examples of “block elements” in the context of a DFD?
- a host firewall, another physical device, a logical mechanism as a function of the architecture
What meta data is associated with “block elements” in the context of a DFD?
- Type of block - a physical or logical device and whether it’s optional
- Behavior - what the block does and how it may modify the flow or access to a port or process
What is an “Attack Tree”?
- A modeling technique used to understand how a system is vulnerable to attackers influencing a system