Search Header Logo
Defensive Design New

Defensive Design New

Assessment

Presentation

•

Computers

•

9th - 10th Grade

•

Easy

Created by

Ryan Mordey

Used 8+ times

FREE Resource

9 Slides • 7 Questions

1

Defensive Design

Mr Mordey

2

Big Picture

Described how a range of sorting algorithms can be used in programming.

Past

Discuss the importance of defensive design when developing computer programs.

Compare the effectiveness of defensive design methods.

Present

Future

Careers: Software Maintenance, Software Security Developer.

3

Categorize

Options (13)

Swaps 2 values at a time

May take multiple passes

Easiest to program

Most inefficient as multiple passes needed

Compares 1 value at a time against all previous values

Shifts index to create gaps to insert value

Will have a temp variable in the code

Count controlled iteration is used to get the length of the list

List is halved each time until a single value is left

List is then merged the same amount of times it took to split

Data is sorted in each new list that is created

Takes up large amounts of memory due to copying of lists

The code will use a division arithmetic operator to halve the list.

Drag the correct characteristic into the correct sorting method.

Bubble Sort
Insertion Sort
Merge Sort

4

media

Defensive design is ensuring that software which is being developed, does not have any security flaws which nay impact on the quality and use of the final product. This can be done through validation and authentication.

Defensive Design

5

media

If we do not consider defensive design in our program code this can lead to:

​

Impact

  • The program not functioning as it was originally intended to.

  • Leaving personal and private data vulnerable to hackers, potentially breaking the GDPR

6

Multiple Choice

What is meant by defensive design?

1
Defensive design is a method for maximizing user engagement.
2
Defensive design focuses solely on aesthetic appeal.
3

Defensive design is ensuring that the program code is developed does not have any flaws.

4
Defensive design eliminates all user input to prevent errors.

7

Open Ended

What issues might arise if the defensive design is not considered?

8

Input Validation

Input validation is used to ensure that the data entered matches a certain criteria. For example a type check will limit the data type that can be used or casting can convert the data type. There are numerous methods of validation that can be used:

Range Check: Checks the data is within a specific range e.g. the month should be between 1-12

Length check: Checks the data is the correct length e.g. a password must have 6 characters.

Presence check: Ensures that there is data entered, no field can be left blank.

Format check: Checks the data is in the correct format e.g. date 00/00/0000

9

Lookup validation

Lookup validation checks the data entered against a list of acceptable values, there are two methods that can be used:

Blacklist: A list of values that should not be accepted, other values not identified are accepted

Takes less time to develop but could miss a term that leaves the system vulnerable.

Whitelist: A list of acceptable values, all other entries are rejected.

This can take a while to develop but leads to a more secure program.

10

Open Ended

What is validation?

11

Match

Connect the correct validation method to its purpose.

Type Check

Range Check

Length Check

Lookup Check

Format Check

Checks the correct data type is entered.

Checks data between a set of numbers.

Checks how many characters are entered

Checks data against a list of values.

Checks data is structured correctly

12

media

Confirming the identify of a user before accessing features of the program.

Captcha forms can be used to prove that the user is a human and not a bot.

2 Factor authentication can be used as an additional layer of security, where you enter login information, then you must enter a code sent by email or text.

Finally you can insist on users setting strong passwords or limit attempts to access account.

Authentication

13

Input Sanitisation

This method is used to strip data of unwanted characters during data entry. Some characters can reveal sensitive information or hackers can try to exploit input fields to reveal data stored in a database.

For example removing any unnecessary spaces or characters that might be used in a
SQL injection attack.

The
.strip() command can be used in programming to remove these characters.

14

Open Ended

Question image

What is the purpose of a captcha form?

15

Drag and Drop

Input ​
is the process of ​
unwanted characters from data input, this ensures that hackers cannot ​
any data input fields to reveal ​
. Sometimes commands or characters can be input to reveal database information which is known as a SQL injection attack. The ​
command can be used in program code to remove unwanted characters.
Drag these tiles and drop them in the correct blank above
sanitisation
removing
exploit
.strip()
sensitive information
.remove()
sterilisation
public information
lose

16

Main Task

Computer Task:
A doctors surgery has started to use a new online platform that allows their patients to login and book appointments as well as view their medical records.

Create a PowerPoint to inform the doctors surgery of the defensive design techniques they will need to use to protect their patients data and the potential impact if they do not use any of the techniques you have outlined.

Complete all the questions on the work sheet.

pattern-tertiary
Defensive Design

Mr Mordey

Show answer

Auto Play

Slide 1 / 16

SLIDE