Skip to content

Commit

Permalink
70004 & 70046: added friday ADSD lecture and advanced security
Browse files Browse the repository at this point in the history
  • Loading branch information
OliverKillane committed Jan 19, 2024
1 parent f6f06b8 commit 5962a8a
Show file tree
Hide file tree
Showing 39 changed files with 49 additions and 1 deletion.
Original file line number Diff line number Diff line change
Expand Up @@ -8,4 +8,3 @@ Covers the evolution of basic computer security principles.
> - Earl Boebert
## Commentary
- *Defence in depth* seems often overlooked (having multiple layers of defences in a system), having *Compromise recording* seems to be in this vein also.
-
4 changes: 4 additions & 0 deletions 70004 - Advanced Computer Security/Accountability.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
## Definition
Being able to determine the attacker or [[Principle]].
- Audit trails and logs, even in security failure there is a need to detect in order to react, and investigate after is system is re-secured.
- Secure timestamping (e.g. using OS, or network, attacker may attempt to damage integrity of logs)
5 changes: 5 additions & 0 deletions 70004 - Advanced Computer Security/Availability.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
## Definition
The uptime of a system.
- Maximum traffic, measured historically and guaranteed by SLAs with providers.
- Using redundancy to reduce possible single points of failure (e.g. replicating databases, auto-scaling for load)
Many attacks are [[Denial of Service]].
8 changes: 8 additions & 0 deletions 70004 - Advanced Computer Security/Defence in Depth.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
## Definition
Using multiple layers of security, and monitoring to remove single points of failure for security.
## Example
### Account monitoring
- Using password authentication for accounts.
- Monitor number of denied logins, conservatively blocking clients that fail to log in repeatedly.
- Monitor logins for suspicious activity, and block judiciously.
- Monitor suspected compromised accounts.
2 changes: 2 additions & 0 deletions 70004 - Advanced Computer Security/Denial of Service.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
## Definition
Overwhelming public services with large volumes of illegitimate traffic to prevent them servicing legitimate traffic.
6 changes: 6 additions & 0 deletions 70004 - Advanced Computer Security/Non-Reputation.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
## Definition
> *Alice wants to prove to Trent she did communicate with Bob*
Collecting undeniable evidence of some transaction.
- receipts, digitally signed logs
- helps with [[Accountability]], and for investigations (e.g. determining if a transaction was fraudulent, or valid based on an untrusted customer's testimony).
10 changes: 10 additions & 0 deletions 70046 - Advanced Digital Systems Design/DMA.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
## Definition
Rather than using the CPU to transfer data from main memory to a peripheral (wastes cycles), a separate DMA module does this (needs to update cache also).

*Note: Here we reference main memory but this could apply to any bus connected perhipheral or cache.*
## Modes
| Mode | Description | Speed |
| ---- | ---- | ---- |
| Burst | DMA gains access to system bus and releases it on task completion | Fastest |
| Cycle Stealing | DMA forces CPU to release bus, makes small transfer. Repeats until task is complete. | Slow |
| Transparent/Interleaving | DMA only takes control of the bus when the CPU does not need it. | Slowest |
9 changes: 9 additions & 0 deletions 70046 - Advanced Digital Systems Design/Roofline Model.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
## Definition
*From the paper: [Roofline: an insightful visual performance model for multicore architectures: Communications of the ACM: Vol 52, No 4](https://dl.acm.org/doi/10.1145/1498765.1498785)*

![[roofile_model.drawio.svg]]

For example the original paper compare floating point arithmetic performance, and memory bandwidth.
- We graph the attainable performance (i.e. $flops/s$ ) against the operational intensity (i.e. $flops/byte$).
- The gradient is $bytes/s$ (the memory bandwidth)
- We get an increase up to a point (where $flops/s$ remains constant and it is compute bound)
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
1 change: 1 addition & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -24,5 +24,6 @@ A collection of textbook-like revision books, and obsidian notes for a selection
- [70023 - Scalable Software Verification](70023%20-%20Scalable%20Software%20Verification)
- [70024 - Software Reliability](70024%20-%20Software%20Reliability)
- [70025 - Software Engineering for Industry](70025%20-%20Software%20Engineering%20for%20Industry)
- [70046 - Advanced Digital Systems Design](70046%20-%20Advanced%20Digital%20Systems%20Design)

### [I want to contribute!](./.github/CONTRIBUTING.md)

0 comments on commit 5962a8a

Please sign in to comment.