Security Testing Flashcards

1
Q

Explain what a vulnerability is?

A

A characteristic or property of a system that can be exploited, to access functionality, information or resources that should not be available.

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

Explain what a threat is?

A

Some possible danger that could lead to a vulnerability being exploited.

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

Explain what a risk is?

A

The impacts to an organization that arise due to threats.

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

Define the term Security Testing

A

Identifying vulnerabilities and ensuring mitigation of risks and threats.

Building trust in critical infrastructures.

Building on past experience of others.

  • Libraries of attacks and exploits.
  • Historical records of what has worked.

Using a variety of techniques. From testing through to audit. To provide defense in depth.

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

Why is mobile and web security so important for organizations?

A

Many attack vectors.

Many devices, not always up to date.

Powerful capabilities on the device.

Significant integration with cloud/servers.

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

What are some potential countermeasures of an organization to protect mobile and web systems?

A

Protections at OS and browser level.

Protection in communication protocols.

Resource monitoring, network monitoring

Manufacturer surveillance.

User awareness. Security training.

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

What are some features of Android OS that provide some security

A

Unix file directory and permission model

Process memory isolation and memory protection

Filesystem encryption.

App restrictions

digital rights.

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

What are Signed Apps?

A

Coded with a private dev key. On android and iPhone apps must be signed in market.

Manual approval reduces chances of rogue apps.

Apps bought on official stores are generally thought to have been audited.

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

What are some problems with android regarding apps?

A

Apps can ask for too many permissions, that the user may inadvertently approve or not understand

Updates to apps may change permissions.

Spammy apps, resist install, show ads like system/OS UI… etc.

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

Define Security through Obscurity?

A

Relying on the fact that attackers don’t know something needed to harm you.

If you had a file with all the passwords of a system but the attackers do not know it is there.

Example: guessing common file/folder/commands to see what happens.

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

Define methods of Secure authentication

A

Force users to login to your system before performing sensitive actions.

User secure protocols (https…) to prevent sniffing

Force users to use strong passwords.

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

Define Principle of Least Privilege?

A

Granting just enough authority to get the job done, not more! ex: don’t run code as root unless really necessary.

Turn off unnecessary services on your server:

  • SSH, VNC, sendmail…
  • Close all ports except 80, and any others needed for web traffic.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

How do you sanitize inputs?

A

Encoding and filtering untrusted user input before accepting it into a trusted system.

Encode/sanitize input text that is displayed back to the user.

  • Check type, format, length
  • Disallow entry bad data into a graphical form
  • Remove any SQL code from submitted user names.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

How can you help make sure the code you are writing is secure?

A

Before coding:
- Consider security in design.

While coding:

  • Code reviews
  • Security audits
  • pair programming

After code is written:

  • Walkthroughs
  • System security audits
  • System/functional security testing
  • Penetration tests.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

What is a Security Audit

A

Series of checks and questions to assess the security of your system.

  • Can be done externally or internally.
  • Best if done as a process, not individual event.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

What is a penetration test?

A

Targetted white hat attempt to compromise your system’s security.

17
Q

What is risk analysis?

A

Assessment of relative risks of what can go wrong if security is compromised.

18
Q

Define OWASP top 10 issues for mobile apps that talk to web apps

A
  1. Identify and protect sensitive data on the mobile device.
  2. Handle password credentials securely on device
  3. Ensure data is protected in transit.
  4. Implement user authentication and session management properly
  5. Keep back end APIs (services) and platform (server) secure.
  6. Data integration with third party apps securely.
  7. Pay attention to collection and storage of consent for collection and use of user data.
  8. Implement controls to prevent unauthorized access to paid-for resources.
  9. Ensure distribution/provisioning of mobile apps.
  10. Check runtime interpretation of code for errors.
19
Q

What is a man in the middle attack?

A

Unauthorized third party can hear web traffic on its hops between client and server.

Should use HTTPS secure protocol built on Secure Socket Layer (SSL)

20
Q

What is a denial of service attack?

A

Attacker causes web server to be unavailable.

How:

  • Frequent requests many pages from a web site. (DDOS would use multiple systems for this).
  • Server cannot handle so may requests at a time, so it meltsdown (or becomes slow)

Problems arise:

  • Users cannot get to your site.
  • loss in revenue
  • Server may crash and corrupt data
  • All the bandwith may cost you a lot.
21
Q

What is packet sniffing?

A

Listening to traffic sent on a network.

  • Many protocols (http, aim, email) are unsecure to this.
  • If an attacker is on the same (LAN) as you. he can;
    1. read your emails/IMs as you send them
    2. See what pages you view.
    3. Grab your password as it’s being sent.

What can you do:

  • encrypt
  • Use secure protocols (SSH, HTTPS)
22
Q

What is password cracking?

A

Guessing the password of privileged users of your system

Brute force: Attacker sequentially tries every possible password.
Dictionary: uses software that sequentially tries passwords based on words in a file (dictionary)

What can you do?

  • force users to have secure passwords.
  • Block IPs from logging in after N failed attempts.
23
Q

What is Phishing?

A

Masquerading mails or web sites. Related to Social Engineering: Attempting to manipulate others to fraudulently acquire passwords or other sensitive information.

  • If trusted users are compromised, attackers can login as those users and compromise your entire system.
24
Q

How can one gain elevated privileges?

A

A flaw in your system allows an attacker to gain elevated permissions and wreak havoc

25
Q

What is cross site scripting? (XSS)

A

One person’s script code is executed when a user browses another site.

How:

  • Attacker finds unsecure code on target site
  • Attacker uses hole to inject javascript into page
  • User visits page, sees malicious script code
26
Q

What is SQL injection?

A

Causing undesired SQL queries to be run on your database

  • Often when untrusted input is pasted into a query.
    ex: Specify a user name, and you actually use a piece of SQL code.
27
Q

What can you do by viewing source?

A

Look for:

  • HTML Comments
  • Script code
  • Other sensitive information: IP/email addresses, SQL queries, hidden fields.

watch http requests/responses
- Look for hidden pages, files, parameters to target.

Error messages sent to your browser by application.

28
Q

What is the difference between GET and POST?

A

Get: parameters contained in the request URL
Post: parameters contained in the HTTP packet header.

Forms provide rich attack environments for this.

29
Q

What is Form Validation?

A

Examining parameters to make sure they are acceptable before/as they are submitted.
- Non empty, alphabetical, numeric, length.

Client Side: HTML/JS checks values before request sent
Server Side: JSP/Ruby/PHP checks values received.

Some validation is done by restricting a user’s choice.

  • event listeners that erase certain key presses
  • maxlength attributes.
  • select boxes.
30
Q

User Input attacks?

A

Means bypassing client-side input restrictions and validation.