Skip to content

Secure Development (By-Design Principles and Vulnerability Countermeasures)

頻出~34 min5 terms3 past questions

Goals of this unit

  • Tell Security by Design from Privacy by Design by what each one protects.
  • Tell cross-site scripting from SQL injection by what the attack exploits and how it is mainly countered.
  • Explain how countermeasures built in at the design stage differ in role from fixes applied with a security patch during operation.
Terms at a glance (5)
TermIn one lineCategoryWhat it protects / main means
セキュリティバイデザインBuilding information security in from the earliest planning and design stagesDesign principleSafety of the whole system
プライバシーバイデザインBuilding personal privacy protection in from the earliest planning and design stagesDesign principlePersonal privacy
クロスサイトスクリプティング対策Keeping input text from running as a script in the viewer's browserImplementation measureReplace symbols with harmless characters before display
SQLインジェクション対策Keeping input text from being executed as a command to the databaseImplementation measureKeep the SQL statement's structure apart from input values
セキュリティパッチAn update from the vendor that fixes a vulnerability found in its softwareOperations and maintenance measureFixes weaknesses found after release

Terms

セキュリティバイデザインSecurity by Design

Open in glossary セキュリティバイデザイン

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.

  1. Planning
  2. Design
  3. Build and test
  4. 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.

1 past questions on this term セキュリティバイデザイン

プライバシーバイデザインPrivacy by Design

Open in glossary プライバシーバイデザイン

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

AspectSecurity by DesignPrivacy by Design
Key differenceWhat it protectsSafety of the whole information systemPersonal privacy and personal information
When it is built inFrom the earliest planning and designFrom the earliest planning and design
Example of a design choiceBuild in authentication and encryption for expected threatsCollect only the personal data the purpose needs

クロスサイトスクリプティング対策Cross-Site Scripting (XSS) Countermeasures

Open in glossary クロスサイトスクリプティング対策

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.

  1. Trap link or post
  2. Website output
  3. Viewer's browser
  4. 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.

1 past questions on this term クロスサイトスクリプティング対策

SQLインジェクション対策SQL Injection Countermeasures

Open in glossary SQLインジェクション対策

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.

  1. Set the SQL structure first
  2. Fill in input as values
  3. 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.

1 past questions on this term SQLインジェクション対策

Cross-Site Scripting (XSS) Countermeasures vs. SQL Injection Countermeasures

AspectCross-Site Scripting (XSS) CountermeasuresSQL Injection Countermeasures
Key differenceWhat the attack exploitsScripts that run in the viewer's browserCommands to the database (SQL statements)
Main damageStolen login details, fake screensData illegally read, altered, or deleted
Typical countermeasureEscaping before displayUsing placeholders

セキュリティパッチSecurity Patch

Open in glossary セキュリティパッチ

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.

  1. Vulnerability found
  2. Patch released
  3. 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.

Check questions

3 past questions from this unit

Start the check questions

All past questions in this topic