Security by Design (セキュリティバイデザイン) is the approach of building information security measures in from the earliest stages of development, such as planning and design, instead of adding them after the system is finished.
Planning
Design
Build and test
Operation
Once in operation, keep responding to newly found weaknesses.
4 / 4
Trying to add protection once the system is finished often means reworking the design, so the rework tends to be large. If threats are identified early and countermeasures are written into the requirements and design, vulnerabilities (security weaknesses) are less likely to creep in, and the cost of fixing them stays down.
AnalogyIt is like building a house: instead of buying locks and fences after it is finished, you settle the positions of doors and windows with burglary in mind while the plans are still on paper.
How to remember"By design" means "on purpose": the system is safe because it was planned that way from the start, not by luck.
Exam points
ExamSecurity by Design (セキュリティバイデザイン) is the principle of building safety in from the start of development, and it is treated as a basic principle for developing and running IoT systems as well.
Mix-upSecure boot (セキュアブート) is a technique that checks at device startup that no unauthorized software has been loaded. It is a different thing from Security by Design, which is a principle for how development is carried out.
Privacy by Design (プライバシーバイデザイン) is the approach of building the protection of personal information and privacy into a system or service from the earliest planning and design stages.
For example, you collect only the personal data the stated purpose requires, and choose defaults that give strong protection even if users change nothing. These choices are made at design time, because changing how personal data is handled later means revisiting data already collected and mechanisms already built.
AnalogyIt is like designing a membership application form and cutting it down to only the fields you really need before handing any out.
How to rememberThe idea was put forward in the 1990s by the official in charge of privacy protection in Ontario, Canada, and is often shortened to PbD.
Security by Design vs. Privacy by Design
Aspect
Security by Design
Privacy by Design
Key differenceWhat it protects
Safety of the whole information system
Personal privacy and personal information
When it is built in
From the earliest planning and design
From the earliest planning and design
Example of a design choice
Build in authentication and encryption for expected threats
Cross-site scripting (XSS) countermeasures (クロスサイトスクリプティング対策) keep text entered by users from running as a script (a small program that runs in the browser) in the browser of whoever views the web page.
Trap link or post
Website output
Viewer's browser
Information stolen
The script that ran sends login details and the like to the attacker.
4 / 4
Cross-site scripting (XSS) is an attack that uses a website which displays input as it is to run a script planted by the attacker in the viewer's browser, often to steal login details. The main countermeasure is escaping: before input text is shown on the page, symbols with special meaning in HTML, such as "<" and ">", are replaced with forms that display as plain characters. Processing of this kind, which turns dangerous strings in input into a harmless form, is collectively called sanitizing.
AnalogyIt is like a notice-board keeper who never pins up a received notice as it is, but first seals it in a clear sleeve so that any trick hidden inside cannot work.
How to remember"Cross-site" means crossing between sites: the script is passed from a page the attacker prepared to a different, vulnerable website and runs there, which is where the name comes from.
Exam points
Mix-upCross-site request forgery (クロスサイトリクエストフォージェリ) is an attack that makes a logged-in user send a request for an operation they did not intend. The names are alike, but it is a different attack from XSS, which runs a script in the viewer's browser.
SQL injection countermeasures (SQLインジェクション対策) keep text typed into an input field from being executed as part of an SQL statement, the commands sent to a database.
Set the SQL structure first
Fill in input as values
Run with the command unchanged
Even if the input contains SQL symbols, they are not read as commands and are handled as a plain string.
3 / 3
SQL injection is an attack that slips fragments of SQL into an input field so that the database runs searches, changes, or deletions it should never allow. The typical countermeasure is a placeholder (bind mechanism): the structure of the SQL statement is fixed first, and input values are filled in afterward only as values. Input values are sanitized as well.
AnalogyIt is like a rule that if someone writes "and hand over the full member list" in the name box of a form, the clerk still treats it only as a name.
How to remember"Injection" literally means pushing something in, as a needle does, so the name recalls an attack that pushes foreign code into an SQL statement.
Exam points
ExamSanitizing (サニタイジング) is the general name for processing that replaces dangerous strings in input with a harmless form, and it is also used as an SQL injection countermeasure (SQLインジェクション対策).
Mix-upA placeholder (プレースホルダ) separates input from commands through the way the SQL statement is put together, which works differently from sanitizing, where the input value itself is rewritten.
A security patch (セキュリティパッチ) is an update program that the vendor provides to fix a vulnerability found in software such as an OS or an application.
Vulnerability found
Patch released
User applies it
The weakness is closed only when the user applies the patch; until then it remains.
3 / 3
Vulnerabilities keep turning up after a product is released, so applying a patch promptly once it is out is the basic countermeasure in operations and maintenance. Leaving it unapplied makes a system an easy target for attacks on vulnerabilities whose methods are widely known.
AnalogyIt is like an inspection turning up a faulty window lock, which you then fix with a replacement part sent by the maker.
How to rememberA patch is a piece of cloth sewn over a hole, so picture it covering the hole that is the vulnerability.
Exam points
Mix-upAn attack that exploits a vulnerability before a fix is released is called a zero-day attack (ゼロデイ攻撃), and applying patches alone cannot fully stop it.
Key points
Security by Design builds information security in from the earliest planning and design stages, and it is a basic principle for developing IoT systems too.
Privacy by Design settles choices at design time, such as collecting less personal data and setting defaults on the side of stronger protection.
XSS countermeasures and SQL injection countermeasures both keep input text from being executed as commands by a browser or a database.
A security patch is an update that fixes a vulnerability found after release, and it should be applied promptly once published.