Information Security
02
X.800 · Enterprise Architecture · Security Policy · Risk Management · Incidents & Continuity
Fall 2026 ·
Amirkabir University of Technology
@1995parham
The value is not the document. It is that everybody agrees on the service promised and the mechanism that delivers it.
| Security attack | A threat someone carried out — lecture 1's word, unchanged |
| Security mechanism | A process designed to detect, prevent or recover from an attack |
| Security service | A capability that counters attacks, built from one or more mechanisms |
| Authentication | The other side is who it claims (peer entity); the data came from who it claims (data origin) |
| Access control | Prevent unauthorized use of a resource — lecture 4 |
| Data confidentiality | Protect from disclosure — including what traffic patterns reveal |
| Data integrity | The data arrives unchanged, or the change is detected |
| Non-repudiation | Of origin, or of delivery — neither side can deny it happened |
Availability is treated as a property of the system in X.800 rather than a service of its own — the one place the standard shows its age.
Eight, each sitting at a particular protocol layer:
Five more that belong to no layer, because they apply to the whole system:
The last three are lecture 1's detect · respond · recover, thirty years earlier.
| Encipher | Signature | Integrity | Auth. exch. | Notary | |
| Peer authentication | ✔ | ✔ | ✔ | ||
| Data origin auth. | ✔ | ✔ | |||
| Confidentiality | ✔ | ||||
| Data integrity | ✔ | ✔ | ✔ | ||
| Non-repudiation | ✔ | ✔ | ✔ |
Read the bottom row: non-repudiation is the one service encipherment cannot provide. Only a signature binds a message to a single party.
Lecture 1's fix, read with this lecture's eyes:
if roles[user] != "instructor" { // access control
log.Printf("DENIED grade %s=%d by %s", id, grade, user)
http.Error(w, "forbidden", http.StatusForbidden)
return
}
grades[id] = grade
log.Printf("grade %s=%d by %s", id, grade, user) // security audit trail
if is a specific
mechanism: access control, at one layer, in one place
The checkpoint controls passage between areas. In our grade service, the write endpoint is where permission must be checked.
Where would an unchecked side entrance appear in the application?
SABSA (Sherwood Applied Business Security Architecture) looks at one system from six views. Here, the grade service:
| Contextual | The business. Trustworthy grades and timely transcripts |
| Conceptual | The architect. Students read; instructors enter grades |
| Logical | The designer. Identity, write permission, and grade flows |
| Physical | The builder. Login integration, role check, HTTPS, logs |
| Component | The implementer. Server, database, and library versions |
| Operational | The operator. Owners, denied-write alerts, restore tests |
Requirements flow down. Assurance — evidence that each layer does its job — flows back up.
| ISO/IEC 27001 | The requirements for an ISMS (next section). What you get certified against |
| ISO/IEC 27002 | The control catalogue — guidance, not requirements |
| NIST CSF | Govern · Identify · Protect · Detect · Respond · Recover |
| NIST SP 800-53 | A very large control catalogue, US federal in origin |
| CIS Controls | 18 controls in priority order. The best place to start |
| PCI DSS | Card data. Not optional if you touch it |
They overlap heavily. Pick one as the spine and map the others onto it.
We have assets and boundaries. Now state what is allowed and who owns the decision.
| Policy | What must be true, and who says so. Short. Signed by management |
| Standard | The specific, mandatory way — "TLS 1.2 or above" |
| Procedure | The steps, in order, for a human to follow |
| Guideline | Advice. The only one that is optional |
If nothing in the organization would change when the policy is withdrawn, it was never a policy.
An organization can be certified and still be badly defended.
The best policy is the one that is enforced by a mechanism, so following it is the path of least resistance.
"Only the instructor of record may enter or change a grade." Written as a test, it runs on every commit:
func TestOnlyInstructorSetsGrade(t *testing.T) {
req := httptest.NewRequest("POST", "/grade?id=4001&grade=20", nil)
req.Header.Set("X-User", "4001") // a student
rec := httptest.NewRecorder()
setGrade(rec, req)
if rec.Code != http.StatusForbidden {
t.Fatalf("a student changed a grade: HTTP %d", rec.Code)
}
}
$ go test ./... # lecture 1's first version
2026/10/06 01:01:24 grade 4001=20 by 4001
--- FAIL: TestOnlyInstructorSetsGrade (0.00s)
main_test.go:16: a student changed a grade: HTTP 200
FAIL
FAIL grades 0.111s
FAIL
$ go test -count=1 ./... # with the check in place
ok grades 0.219s
A policy that runs on every commit cannot be forgotten.
The loop, from ISO 27005 and NIST SP 800-30.
The control is worth buying when it costs less than the ALE it removes. That is the entire argument, and it can be written down.
asset_value = 400_000 # the customer database, if it leaks
exposure = 0.35 # fraction of that value one breach destroys
frequency = 0.40 # breaches per year, from history
sle = asset_value * exposure
ale = sle * frequency
SLE = 400,000 x 0.35 = 140,000
ALE = 140,000 x 0.4 = 56,000 per year
Assume the control cuts breach frequency by 75%, from 0.40 to 0.10 per year. Loss per breach stays the same.
ALE after control = 14,000 per year
value of the control = 42,000 per year
cost of the control = 60,000 per year
net = -18,000 per year
| Avoid | Stop doing the activity. Do not collect the data at all |
| Reduce | Apply a control. The one everyone thinks of first |
| Transfer | Insurance, or a contract. Moves the cost, never the duty |
| Accept | Decide it is tolerable — in writing, with a named owner |
Lecture 1 asked which failure is worst. Priced like the customer database:
check_cost = 1_000 # one developer-day, paid once
sle = 5_000 # one hearing, one reissued transcript
aro = 2 # assumed successful changes per year without control
ale = sle * aro
ALE = 5,000 x 2 = 10,000 per year
check pays back in 36 days
All models are wrong, but some are useful. — George Box

A disaster-response exercise illustrates the same preparation problem: people, communications, and authority must work together before an incident.
If the grade service fails tonight, who can stop writes and who tells students?

Tape makes the extra copy tangible. A cartridge inside a connected library is not automatically offline or off-site; recovery still needs a tested restore.
Could we restore the grade service within its RTO, and how much data would we lose?
Reconstruct lecture 1's incident, before the role check was deployed:
$ grep -v 'by parham' server.log
2026/10/06 01:01:23 grade 4001=20 by 4001
One program, two lectures. Every idea had a line of code.
Name the promise before choosing its implementation.
| X.800 / ISO 7498-2 | The shared vocabulary for attacks, services, and mechanisms |
| Attack · service · mechanism | What compromises security · what we promise · how we deliver it |
| Authentication | Peer entity: who is communicating; data origin: who sent the data |
| Access control | Prevent unauthorized use of a resource |
| Data confidentiality | Prevent disclosure, including information revealed by traffic flow |
| Data integrity | Protect against unauthorized modification |
| Non-repudiation | Evidence of origin or delivery |
| Availability | A system property; not a separate X.800 service category |
Specific mechanisms act at a layer; pervasive mechanisms support the whole system.
| Encipherment · digital signature | Hide data · bind a message to a signer |
| Access control · data integrity | Enforce rights · detect modification |
| Authentication exchange | Establish identity through an exchange |
| Traffic padding · routing control | Obscure traffic patterns · select an appropriate path |
| Notarization | A trusted third party supplies evidence |
| Trusted functionality · security labels | Trusted system functions · sensitivity markings |
| Event detection · security audit trail · security recovery | Notice events · record them · restore security |
Locate the assets, trust boundaries, controls, and owners.
| Enterprise security architecture | Connect requirements to controls and the people operating them |
| Asset inventory · classification | List assets and owners; label public / internal / confidential / restricted |
| Zone · boundary | Group assets under a common trust policy · control where trust changes |
| SABSA | Six architectural views of the same system |
| Contextual · conceptual | Business needs · domains, trust, and principles |
| Logical · physical | Services, policies, and flows · mechanisms and protocols |
| Component · operational | Products and versions · operation and measurement |
Use this as a reference map when a name appears again.
| ISO/IEC 27001 | Requirements for an Information Security Management System (ISMS); certifiable |
| ISO/IEC 27002 | Guidance on information security controls |
| NIST CSF | Cybersecurity Framework: Govern · Identify · Protect · Detect · Respond · Recover |
| NIST SP 800-53 | Security and privacy control catalogue |
| CIS Controls | Prioritized controls; hardware and software inventories come first |
| PCI DSS | Payment Card Industry Data Security Standard: card-data protection |
| ISO 27005 · NIST SP 800-30 | Risk-management guidance · risk-assessment guidance |
| NIST SP 800-61 | Incident-response guidance |
Turn a requirement into an owned, enforced, and reviewed rule.
| Policy | What must be true, approved by management |
| Standard · procedure · guideline | Mandatory specifics · ordered steps · optional advice |
| Scope · statement | Who and what the policy covers · what it requires |
| Roles · consequences · review date | Who owns, enforces, and grants exceptions · response to violations · when to review |
| ISMS | Information Security Management System: keep policy connected to reality |
| Plan · Do · Check · Act | Assess and choose · operate · measure · improve |
Make the assumptions explicit, then decide how to treat the risk.
| Likelihood · impact · risk appetite | How likely · how bad · how much risk the organization will tolerate |
| Identify · analyse · evaluate · treat · monitor | Find risks · estimate them · compare · act · revisit |
| Qualitative · quantitative | Rank risks with categories · estimate loss in money per year |
| Exposure factor · SLE | Fraction of asset value lost · single loss expectancy = value × exposure |
| ARO · ALE | Annualized rate of occurrence · annualized loss expectancy = SLE × ARO |
| Avoid · reduce · transfer · accept | Stop the activity · apply controls · shift financial cost · approve the risk |
| Residual risk · risk register | Risk left after treatment · the record of risks, owners, decisions, and evidence |
Prepare to respond, and keep the organization working during recovery.
| Event · alert · incident | An observation · a signal to investigate · a security failure requiring response |
| Preparation · detection and analysis | Arrange team, logs, and authority · investigate and establish what happened |
| Containment · eradication · recovery | Limit damage · remove the cause · restore safe operation |
| Post-incident activity · tabletop exercise | Review and assign improvements · rehearse decisions before an emergency |
| Business continuity · BIA | Keep business processes running · Business Impact Analysis identifies priorities |
| RTO · RPO | Recovery time objective: target downtime · recovery point objective: tolerable data loss |
| 3-2-1 · offline · immutable | Three copies, two media, one off-site · disconnected · protected from alteration |
Next: the toolbox. What encryption, hashing and signatures actually guarantee — and what they do not.
