Summarizing Secure Coding Flashcards

1
Q

code that has been optimized by a special application is known as what? What is the name of the application and describe what it does at a high level?

A

Compiled code
The application is called a Compiler and it checks the code for errors and provides reports to developers of things they might need to check.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Code that is evaluated, interpreted and executed when the code is run is known as what?

A

Runtime code.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

What does input validation protect against?

Describe at a high level how it does this

A

it protects against an attacker entering malicious code into an application. It does this by sanitizing the input that a user can send to it to make sure it only accepts what is necessary.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

what is one of the most common security issues on web-based applications?

A

lack of proper input validation

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

What is more secure, server or client side validation? Why

A

Server side. Because if using client-side only, bad code can still get to the server.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

what can protect against buffer overflow, SQL injection, command injection and cross-site scripting?

A

Input Validation

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

why does escaping HTML characters protect against attacks?

A

because the original character is substituted with the escaped character version, it no longer is valid code.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

When two modules or applications access a resource at the same what can it trigger?

A

A conflict known as a race condition

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Two important points/recommendations about error reporting/displaying application error messages are..

A

1) errors should be general and not give important information to an attacker
2) errors should be logged for developers to look at later

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

what are the two benefits of code signing?

A

1) the certificate identifies the author

2) it provides a hash of the code that can be checked to ensure that the code hasn’t been altered.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

What method do developers employ to deter people from copying their code they’ve worked hard on?

A

by employing Code Obfuscation. It renames variables and replaces other things.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

In code testing, static code analysis does what?

A

it examines code without running it

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

In code testing, dynamic analysis deos what?

A

it checks the code while it is running

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

in code testing what does fuzzing do?

A

it sends random strings of data to applications looking for vulnerabilities.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

the process of ensuring an application meets all specifications and does what it’s supposed to do is known as what?

A

Model verification

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

what Secure DevOps concept is the name of the process of merging code changes into a central repository where it is then built and tested from?

A

Continuous Integration.

17
Q

what secure devops concept often uses a mirror image of production environment to automate testing to check to code?

A

Security Automation

18
Q

What is the secure devops concept of base lining code and why is it useful?

A

baselining refers to applying any code updates to the baseline code and saving it as the new baseline on a daily basis.
because the baseline code is updated daily, any bugs can be identified and fixed more quickly, as opposed to updates once a week after lots of changes have occurred.

19
Q

Provisioning and Deprovisioning an application does what?

A

Provisioning configures the application for use on specific devices so it can use the application services on that device, for instance, the gyroscope on an iphone.
Deprovisioning an app refers to removing it from a device.