Software Development Security Flashcards

1
Q

Why SW is insecure?

A
  • Lack of training
  • Lack of funding
  • No prioritization of security
  • Security as an afterthought (come later)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

¿Cuáles son las metodologías más conocidas de desarrollo de SW?

A
  • Waterfall
  • Prototype
  • Spiral
  • AGILE
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

¿En qué consiste la metodología Waterfall?

A

Phase by phase, good for short projects.

Debido a que puede durar mucho tiempo el desarrollo, los requerimientos también pudieron haber cambiado con el tiempo.

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

¿Cuáles son las fases de la metodología Waterfall?

A

Requirements –> Design –> Implementation –> Testing –> Deployment –> Maintenance

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

¿Cuáles son los “pros” de la metodología “Waterfall”?

A
  • Each phase has specific deliverables and a review proccess.
  • Best for small projects
  • It reinforces “define before design” and “design before code”
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

¿Cuáles son los “cons” de la metodología “Waterfall”?

A
  • STATIC IN NATURE
  • Adjusting scope during the life cycle can kill a project.
  • High amounts of risk and uncertainty
  • No working SW is produced until late during the life cycle.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

¿En qué consiste la metodología de desarrollo “Prototyping”?

A

Evolving model, CIRCULAR IN NATURE.

Initial Requirements –> Design –> Prototyping –> Customer evaluation –> Review & Updation –> Design

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

¿Cuáles son los “pros” de la metodología “Prototyping”?

A
  • Users can interact with prototype very quickly and can identify needed changes and refine requirements.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

¿Cuáles son los “cons” de la metodología “Prototyping”?

A
  • There’s a tendency to do a superficial analysis.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

¿En qué consiste la metodolodía de desarrollo “Spiral”?

A

Takes the steps from the waterfall model and the circular from the prototyping model.

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

¿Cuáles son los “pros” de la metodología “Spiral”?

A
  • Good for large mission control projects

- High amount of risk analysis

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

¿Cuáles son los “cons” de la metodología “Spiral”?

A
  • Can be costly model to use

- Risk analysis requires highly specific expertise

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

¿Cuáles son los “pros” de la metodología “AGILE”?

A
  • Less defect in the final product
  • Adaptable to changing requirements
  • Iterations provide an immediate feedback
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

¿Cuáles son los “cons” de la metodología “AGILE”?

A
  • Lack of documentation

- Hard to have good system design

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

¿Cuáles son las arquitecturas de seguridad mas comúnes?

A
    • Distributed Computing
    • Service Oriented Architecture
    • Rich Internet Application
    • Ubiquitous Computing
    • Cloud Architecture
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

¿Cuáles son las características del “Distributed Computing”?

A
  • Client - Server environment
  • Processing on both ends
  • Scalability
  • Availability
  • Maintainability
  • Security
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
17
Q

¿Cómo se consideran a las redes Peer 2 Peer?

A

Se consideran como Distributed Computing

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

¿Qué es una “Service Oriented Architecture”?

A

DE NATURALEZA MODULAR.
SERVICIOS NEUTRALES DE LOS VENDEDORES.
Is an architecture and a vision on how heterogeneous applications should be developed and integrated in the enterprise

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

Menciona algunas amenazas para las Rich Internet Applications:

A

Client Side threats: XSS, CSRF

Server Side threats: Code injection

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

¿Qué es la “Polyinstatiation”?

A

Sinónimo de mentir (LYING)

Multiple instances of information.

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

¿Qué es el “ubiquitous computng”?

A

Computer everywhere.

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

¿Cuál es el objetivo del monitoring?

A
  • Validate compliance to regulations and other governance requirements.
  • Demonstrate due diligence and due care on the part of the organization towards it’s stakeholders.
  • Ensure the CIA aspects of SW.
  • Detect insider and external threats that are orchestrated against the organization.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
23
Q

El término due dilligence, se refiere a:

A

Due dilligence –> Research

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

El término due care, se refiere a:

A

Due care –> Action

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

Menciona las características de buenas métricas:

A
  • Consistency
  • Quantitative
  • Objectivity
  • Relevance
  • Inexpensive
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
26
Q

¿Cuál es el objetivo de “auditing”?

A
  • Ensure policies are being followed/are effective.
  • Make sure that individual user accounts aren’t unintentionally being allowed to accumulate rights/permissions.
  • Check the accuracy and completeness of transactions that are authorized.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
27
Q

Menciona algunos sujetos adversarios de la seguridad de la información:

A
  • Script kiddies
  • Hackers
  • Elite
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
28
Q

¿Cuáles son los 10 puntos de OWASP?

A

1.- Code injection; 2.- Broken authentication and session management; 3.- XSS (Cross Site Scripting); 4.- Insecure Direct Object References; 5.- Security Misconfigurations; 6.- Sensitive Data Exposure; 7.- Missing Functions Level Access Control; 8.- Cross Site Request Forgery (CSRF); 9.- Known Vulnerable Component Usage; 10.- Unvalidated Redirects and Forwards.

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

Punto 1 OWASP “Code injection” refers to:

A

The attacker’s hostile data can trick the interpreter into executing unintended commands or accesing data without proper authorization. MITIGATE –> INPUT VALIDATION

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

Punto 2 OWASP “Broken authentication and Session Management” refers to:

A

Application functions related to authentication and session management are often not implemented correctly, allowing attackers to compromise passwords, keys or session tokens, or to exploit other implementation flaws to assume other user identities. MITIGATE –> AUTHENTICATE WELL

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

Punto 3 OWASP “XSS (Cross Site Scripting) refers to:

A

Occur whenever an application takes untrusted data and send into a web browser without proper validation or escaping.
MITIGATE –> INPUT VALIDATION
XSS allows attackers to execute scripts in the victim’s browser which can hijack user sessions, deface web sites, or redirect the user to malicious site.

32
Q

Punto 4 OWASP “Insecure Direct Object References” refers to:

A

Defined as an unauthorized user or process which can invoke the internal functionality of the software by manipulating parameters and other object values that directly references this functionality.

33
Q

Punto 5 OWASP “Security Minsconfigurations” refers to:

A

Good security requires having a secure configuration defined and deployed for the application, frameworks, application server, web server, DB server and platform. Secure setting should be defined, implemented, and maintained as defaults are often insecure.
MITIGATE –> HARDENING

34
Q

Punto 6 OWASP “Security Data Exposure” refers to:

A

Many web applications do not properly protect sensitive data, such as credit cards, tax ID’s, and authentication credentials. Attackers may steal or modify such weakly protected data to conduct credit card fraud, identity theft, or other crimes.

35
Q

Punto 7 OWASP “Missing Functions Level Acces Control” refers to:

A

Most web applications verify function level access rights before making that functionally visible in the UI. However apllications need to perform the same access control checks on the server when each function is accessed.

36
Q

Punto 8 OWASP “Cross Site Request Forgery” refers to:

A

A CSRF attacks forces a logged-on victim’s browser to send a forged HTTP request, including the victim’s session cookie and any other automatically included authentication information, to a vulnerable web application. This allows the attackers to force the victim’s browser to generate request the vulnerable application thinks are legitimate request frotm the victim.

37
Q

Punto 9 OWASP “Known vulnerable Component Usage” refers to:

A

Components, such as libraries, frameworks, and other SW modules almost always run with full privileges. If a vulnerable component is exploited, such an attack can facilitate serious data loss or server takeover. Applications using components with known vulnerabilities may undermine application defeneses and enable a range of possible attacks and impacts.

38
Q

Punto 10 OWASP “Unvalidated redirects and forwards” refers to:

A

Web applications frequently redirect and forward users to other pages and websites, and use untrusted data to determine the destination pages.

39
Q

¿Cómo se mitiga el CSFR?

A

Implement the SW to use a unique session specific token (called a nonce) that is generated in a random, non-predictable, non-guessable and/or sequential manner. CAPTCHA

40
Q

What’s Defensive Coding?

A

Proactive, secure coding intended to ensure the continuing function the SW under unforeseen circunstances.

41
Q

¿Cuáles son los puntos que conforman el “Defensive Coding”?

A
  • Input Validation
  • Sanitization of data
  • Output Sanitization
  • Error Handling
  • Concurrency
  • Tokenizing
42
Q

¿A qué se refiere el término “Tokenizing”?

A

The process of replacing sensitive data with unique identification symbols that still retain the needed information about the data, without compromising it’s security.

43
Q

¿Que es una “Sandboxing”?

A

The security mechanism that prevents SW running on a system from accessing the host operating system.
Creates a separation from the host operating system so that untested, untrusted and unverified code and programs, especially these that are published by third parties can be run.

44
Q

¿A qué se refiere el término anti-tampering?

A
  • What we’re downloading is what we receive
  • Integrity criteria
  • Code signing
45
Q

Pasos del proceso de software seguro:

A
  • Version control
  • Code analysis
  • Code/ Peer review
46
Q

¿Qué es lo que proporciona el Version Control?

A
  • Correct versions of code is used
  • Rollback capabilities are available
  • Tracks ownership of code
  • Tracks changes to code
47
Q

¿Qué es lo que proporciona el code analysis?

A
  • Inspect code for quality and weaknesses
  • Static code analysis
  • Dynamic code analysis
48
Q

¿En qué consiste el Static Code Analysis?

A

involves the inspection of the code without executing the code (a SW)

49
Q

¿En qué sonsiste el Dynamic Code Analysis?

A

Is the inspection of the code when it’s being executed (run as a program)

50
Q

¿A qué se refiere el término “Code Review”?

A

Systematic evaluation on the source code with the goal of finding out syntax issues and weaknesses in the code that can impact the performance and security of the SW.

51
Q

¿Cuáles son los objetivos del “Change Management”?

A
  • Stability on the environment
  • Control changes on the baseline
  • Changes must be controlled
52
Q

¿En qué consisten las pruebas del tipo White Box (aka Structural Analysis)?

A

Full access to:

  • Source code
  • Design documents
  • Use and Misuse cases
  • Configuration files
53
Q

¿En qué consisten las pruebas del tipo Black Box (aka Structural Analysis)?

A

No knowledge of the code:

  • Fuzzing
  • Scanning
  • Penetration testing
54
Q

¿A qué se refiere el término “FUZZING”?

A

VERIFIES THE EFFECTIVENESS OF INPUT VALIDATION.
Also known as fault injection testing.
Inyectar archivos o datos en el sistema y ver cómo reacciona éste.
Brute force type of testing in which fauts are injected into the SW and the behavior is observed.

55
Q

¿Qué es un escaneo?

A

Passive means of getting information. Used to:

  • Map the environment
  • Identify server versions
  • Identify patch levels
56
Q

¿Cuáles son los tipos de escaneo que existen?

A
  • Vulnerability Scanning
  • Content Scanning: analyzes the actual contents of the document.
  • Privacy Scanning: performed to detect violations of privacy policies.
57
Q

¿Qué buscan las pen-test?

A

Looks to actively exploit a weakness.

58
Q

¿Cuáles son los pasos que siguen las pen-testings?

A
    • Reconnaissance (enumeration and Discovery)
    • Resiliency attack
    • Removal of evidence
    • Reporting and Recommendations
59
Q

¿Qué es la etapa de Verificación (SW)?

A

Does the SW meet the developer’s description?. Does the SW satisfy the requirements?

60
Q

¿Qué es la etapa de Validación (SW)?

A

REAL WORLD, MUNDO REAL PARA EL USUARIO.

Does the SW solve the problem that is was supposed to solve. Does it meet a real-world need?

61
Q

¿Qué es la etapa de Certificación (SW)?

A

TECHNICAL
The technical evaluation of the security features of a SW product. Does the product provide the appropiate needs for security in a particular environment?.

62
Q

¿Qué es la etapa de Acreditación (SW)?

A

Management’s acceptance (risk acceptance) of the product and their decision to implement the SW in their environment.

63
Q

¿Qué es la etapa Post-Acceptance (SW)?

A

Ongoing updates, patches and changes reviewed and applied.

64
Q

¿Cuáles son los modelos de Bases de Datos que existen?

A
  • Hierarchical
  • Distributed
  • Object-Oriented
  • Relational
65
Q

¿Cuáles son las características del modelo Hierarchical?

A

Stores related information in a tree-like fashion. P.ej. Active directory

66
Q

¿Cuáles son las características del modelo Distributed?

A

Client-server type of DB located on more than one server distributed in several locations. P. ej. DNS

67
Q

¿Cuáles son las características del modelo Object-Oriented?

A

Reusable and modular in nature.

Keeps track of objects and entities that contain both data and action on the data.

68
Q

¿Cuáles son las características del modelo Relational?

A

A DB in the form of tables (rows, columns) related to each other.

69
Q

¿Qué significa el término Normalization?

A

The process of removing duplicates and ensuring that each attribute only describes the primary key.

70
Q

¿Qué es una Primary Key?

A

A unique identifier for each record. Can’t be null or empty.

71
Q

¿Qué es la Entity Integrity?

A

States that the primary key field can’t be null.

72
Q

¿Qué es una Foreign Key?

A

Is the primary Key en otras tablas.

73
Q

¿Qué significa el término cardinalidad?

A

Is the number of rows in a relation.

74
Q

¿Qué significa el término DB Degree?

A

Number of columns in the relation.

75
Q

¿Qué es un Schema?

A

Is the overall structure of the DB. It indicates which tables, what fields, what type or cardinality a DB have.