Infosec Flashcards

1
Q

What are the three foundations of security?

A

Confidentiality, integrity and availability

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

What is Kerckhoff’s principle?

A
  1. Assume that your adversary knows which
    algorithm you have used.
  2. The security of the message should
    only rely on the security of the key

a cryptosystem should be secure even if everything
about the system, except the key, is public knowledge.

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

What is Schneier’s law?

A

Anyone, from the most clueless amateur to the best cryptographer, can create an algorithm that he himself can’t break.

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

Should you try to make your own crypto?

A

No. Never, ever try to make your own crypto.

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

What are four network security threats?

A
  1. Communication
    interruption (Attack on availability)
  2. Eavesdropping (Attack on confidentiality)
  3. Modification of information (Attack on integrity)
  4. Fabrication
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

What are 3 security services?

A
  1. Authentication
  2. Access control
  3. Non-repudiation
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

What is PII and SPI?

A

PII = Personal Identifiable Information
SPI = Sensitive Personal Information

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

What are Isaac Asimov’s 3 laws of robotics?

A
  1. A robot may not injure a human being or, through inaction, allow a human being to come to harm.
  2. A robot must obey the orders given it by human beings except where such orders would conflict with the First Law.
  3. A robot must protect its own existence as long as such
    protection does not conflict with the First or Second Laws.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

What is the Heartbleed bug?

A

The Heartbleed bug is a vulnerability in open source software that was first discovered in 2014. Anyone with an internet connection can exploit this bug to read the memory of vulnerable systems, leaving no evidence of a compromised system. The Heartbleed attack works by tricking servers into leaking information stored in their memory. So any information handled by web servers is potentially vulnerable. That includes passwords, credit card numbers, medical records, and the contents of private email or social media messages.

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

What is the definition of software security according to Gary McGraw?

A

Software security is the practice of building software to be secure and to continue to function properly under malicious attack

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

The three pillars of software security:

A

Risk management, touchpoints and knowledge.

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

What are 3 types of assets?

A
  • Information assets (ex: customer data, employe data, CRM data)
  • Software assets (ex: e-mail system, online ordering system, common authentication (SSO) system)
  • Physical assets (ex: Buildings, Servers, Network equipment)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

What is Security Engineering?

A

Security engineering is about building systems to remain dependable in the face of malice, error and mischance.
As a discipline, it focuses on the tools, processes, and methods needed to design, implement and test complete systems,
and to adapt existing systems as their environment evolves.

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

What is the design hierarchy (3 levels)?

A
  1. Policy (what are we trying to do?)
  2. Protocols.. (how?)
  3. Hardware, crypto.. (With what?)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

What does dependability mean?

A

Dependability is reliability AND security!

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

Trinity of trouble:

A

Connectivity, Complexity and Extensibility

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

What can a system be?

A
  • a product or component (PC, smartcard,…)
  • some products plus O/S, comms and infrastructure
  • the above plus applications
  • the above plus internal staff
  • the above plus customers / external users
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
18
Q

What is a subject, a person and a principal?

A

A subject is a person
A person can also be a legal person
A principal can be a person, equipment (PC, smartcard), a role (the officer of the watch), a complex role (Alice or Bob, Bob deputising for Alice)

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

What is secrecy, privacy and confidentiality?

A

Secrecy is a technical term – mechanisms
limiting the number of principals who can access information.
Privacy means control of your own secrets.
Confidentiality is an obligation to protect
someone else’s secrets.

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

What is anonymity, integrity and authenticity?

A

Anonymity is about restricting access to
metadata. It has various flavours, from not
being able to identify subjects to not being able
to link their actions.
An object’s integrity lies in its not having been
altered since the last authorised modification.
Authenticity has two common meanings:
* an object has integrity plus freshness
* you’re speaking to the right principal

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

What does trust imply?

A

A trusted system or component is one that can break my security policy

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

What is security policy, protection policy and security target?

A

Security policy = a succinct (short and clear) statement of protection goals.
Proctection policy = a detailed statement of protection goals.
Security target = a detailed statement of protection goals applied to a particular system.

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

What are the four levels of information?

A
  1. Top secret
  2. Secret
  3. Confidential
  4. Restricted
    Information only flows upwards
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
24
Q

Who said “If we had our hands tied behind
our backs … and could do only one
thing to improve software security
… we would do threat modeling”

A

Michael Howard and Steve Lipner

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

What is threat modeling?
And what does Gary McGraw call it?

A

A process that reviews the security of any connected system, identifies problem areas, and determines the risk associated with each area.
Gary McGraw refers to it as Architectural Risk Analysis.

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

What is a trust boundary?

A

Any place in your system that the level of the trust in the data changes (ex: behind a firewall)

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

What is a attack surface?

A

All the places an attacker can enter the system

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

What is a threat model?

A

A visual representation of four main elements:
* The assets within a system;
* The system’s attack surface;
* A description of how the components and assets interact;
* Threat actors who could attack the system and how the attack could occur

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

Who said “there is no single best or correct way of performing threat modeling, it is a question of trade-offs and what we want to achieve by doing it”

A

Adam Shostack

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

What does STRIDE stand for?

A

Spoofing - an attacker poses as another user, component or system
Tampering – an attacker modifies data
Repudiation – attackers can to deny performing some malicious activity because the system does not have sufficient evidence to prove otherwise
Information disclosure – an attacker can get read access to protected data
Denial of Service (DoS) – an attacker can prevent legitimate users from using the normal functionality of the system
Elevation of privilege – an attacker uses illegitimate means to assume a trust level with different privileges than he currently has

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

What was OWASP’s top 10 in 2021

A
  1. Broken Access Control
  2. Cryptographic Failures
  3. Injection
  4. Insecure design
  5. Security Misconfiguration
  6. Vulnerable and outdated components
  7. Identification and authentication failures
  8. Software and Data Integrity Failures
  9. Security Logging and Monitoring Failures
  10. Server-Side Request Forgery
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
32
Q

What is a typical threat modeling process (6 steps)?

A
  1. Identify critical assets
  2. Decompose the system to be
    assessed
  3. Identify possible points of attack
  4. Identify threats
  5. Categorise and prioritize the threats
  6. Mitigate
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
33
Q

What is the meaning with “penetrate and patch”?

A

For a long time it was normal to release new functionality, then try to find sikkerhetshull and then try to patch them.

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

What is a misuse case diagram?

A

It is used to identify security requirements. Can be used early on.

A misuse case diagram is created together with a corresponding use case diagram. The model introduces 2 new important entities (in addition to those from the traditional use case model, use case and actor: Misuse case : A sequence of actions that can be performed by any person or entity in order to harm the system.

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

What is attack trees?

A

It illustrates how an attacker can acheive an attack goal. It is a tree structure with AND/OR nodes. More techincal than misuse cases. Good basis for planning security tests.

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

What is a data flow diagrams?

A

It is used to understand the system’s attack surface. To get an overview, find trust boundaries and to understand how data flows in the system.

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

What is GDPR?

A

The General Data Protection Regulation (GDPR), which came into effect on 25th May 2018, provides a legal framework for keeping everyone’s personal data safe by requiring companies to have robust processes in place for handling and storing personal information.

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

What is personal data?

A

All informasjon relatert til en identifisert eller identifiserbar naturlig person. Dette kan omfatte oppførselsmønster: Hvor du befinner deg, hva du handler inn, hva du leser, hvem dine venner er, hva du kommuniserer.

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

What is sensitive personal data?

A

Sensitive personopplysninger omfatter rase eller etnisitet, politiske meninger, religiøse eller filosofiske trosforhold, fagforeningsmedlemskap, genetiske data, biometriske data for unik identifisering av en naturlig person, helseopplysninger, seksualliv eller seksuell orientering.

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

What is a data subject?

A

Data subject refers to any individual person who can be identified, directly or indirectly, via an identifier such as a name, an ID number, location data, or via factors specific to the person’s physical, physiological, genetic, mental, economic, cultural or social identity.

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

What are your 7 rights as a data subject?

A
  • Right to be informed
  • RIght to object
  • Erasure: right to be forgotten
  • Data portability (allows individuals to obtain and reuse their personal data for their own purposes across different services)
  • Automated individual decision-making (The data subject shall have the right not to be subject to a decision based solely on automated processing)
  • Restriction of processing (an individual can limit the way that an organisation uses their data)
  • Transparency (The principle of transparency requires that any information addressed to the public or to the data subject be concise, easily accessible and easy to understand, and that clear and plain language and, additionally, where appropriate, visualisation be used.)
  • Right to rectification (rette opp feil data)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
42
Q

What are the responsibilites of the controller (Behandlingsansvarlig for personvern)?

A
  • Data protection officer (DPO)
  • Data protection impact assessment
  • Privacy by design and by default
  • Records of processing
  • Data processing agreement
  • Notification of breach

Behandlingsansvarlig er nødt til å utnevne et personvernombud, og må utføre en vurdering av personvernskonsekvenser (DPIA) før innsamling begynner. Alle systemer som behandler personopplysninger skal utvikles etter prinsippene for innebygd personvern, og personvern skal være standardvalg i alle tilfeller. Databehandleren er nødt til å føre regnskap med behandlingen av personopplysninger, og dersom en ekstern databehandler benyttes, må det foreligge en databehandleravtale. Dersom det skulle skje et brudd på personvernet, er behandlingsansvarlig pliktig til å underrette den opplysningene angår uten unødig opphold, og senest 72 timer etter bruddet er oppdaget

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

What are the 7 foundational principles of privacy by design?

A
  1. Proactive not Reactive; Preventative not Remedial
  2. Privacy as the Default setting
  3. Privacy embedded into design
  4. Full functionality - positive-sum, not zero-sum
  5. End-to-end security - full lifecycle protection
  6. Visibility and transparency - keep it open
  7. Respect for User privacy - keep it user centric
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
44
Q

What are the 7 points(?) in the Guide for software development with data protection by design and by default?

A
  • Training
  • Requirements
  • Design
  • Coding
  • Testing
  • Release
  • Maintenance
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
45
Q

Hva innebærer opplæring iht guiden fra datatilsynet for å utvikle programvare med innebygget personvern?

A

A understanding of data protection and information security is a prerequisite for developing software. Software developers should have an established development methodology, approved by management. When developing software that processes personal data, the methodology should include data protection by design and by default, and security by design.
Developers, architects, testers, project leaders, management, all employees and suppliers should undergo training. The training should happen at the start of a development project, with updates at regular intervals and at the start of deployment.

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

Hva innebærer krav iht guiden fra datatilsynet for å utvikle programvare med innebygget personvern?

A

Setting requirements for data protection and information security for the final product. Must reflect the need for data protection and information security. To set the correct requirements, it is important to know what categories of personal data will be processed in the software. Requirements for software, products, applications, systems, solutions, or services must:
- fulfil the data-protection principle
- protect the data protection rights of the data subject
- fulfil the company’s obligations
- ensure that the settings are by default set to the most privacy-friendly option
- ensure that the end product is robust, secure, and provides enforceability of the data subject’s rights

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

Hva innebærer design iht guiden fra datatilsynet for å utvikle programvare med innebygget personvern?

A

Ensure that requirements for data protection and information security are reflected in the design. It is important to take into account the existence of threat actors that may attempt to obtain and gain access to personal data. To reduce the attack surface, it must be analysed, and the software modelled and designed to ensure a robust end product.
Data-oriented design requirements: minimmise and limit, hide and protect, separate, aggregate, data protection by default.
Process-oriented design requirements: inform, control, enforce, demonstrate

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

Hva innebærer coding iht guiden fra datatilsynet for å utvikle programvare med innebygget personvern?

A

Enable developers to write secure code by implementing the requirements for data protection and security. It is important to choose a secure and common methodology, both for coding and for enabling the developers to detect and remove vulnerabilities from the code. Automated code analysis tools should be introduced, and the company must have established procedures for static code analysis and code review. Possible measures for secure coding: create a list of approved tools and libararies, scanning of dependencies for known vulnerabilities or outdated versions, manual code review, static code analysis with security rules.

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

Hva innebærer testing iht guiden fra datatilsynet for å utvikle programvare med innebygget personvern?

A

Testers check that the requirements for data protection and information security have been implemented as planned. How to test that requirements for data protection and security have been implemented: fuzz testing, vulnerability analysis, penetration testing, threat model and attack surface review.

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

Hva innebærer release iht guiden fra datatilsynet for å utvikle programvare med innebygget personvern?

A

Planning for how the organisation effecttively can handle incidents. Incident response plan: detect, analyse and verify, report, handle, recover. Procedures for updating software. Final security review and approval.

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

Hva innebærer maintenance iht guiden fra datatilsynet for å utvikle programvare med innebygget personvern?

A

The most important element of this activity is that the organisation has implemented a plan for incident response handling and follows it. Maintenance, service and operation:
- define roles and responsibilities and authority
- handle the data subjects’ rights and request related to this, such as data access, modification, deletion, data portability, consent, information, transparency, etc.
- Continuously assess the effectiveness of technical and organisational security measures for uncovering vulnerabilities.
- Data, platform, network, and software maintenance – including suppliers

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

Why software security according to Gary McGraw?

A

“Software Security is the practice of building software to be secure and to continue to function properly under malicious attack. “

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

What are the 7 touchpoints (in order of effectiveness)?

A
  1. Code review
  2. Architectural risk analysis
  3. Penetration testing
  4. Risk-based security tests
  5. Abuse cases
  6. Security requirements
  7. Security operations
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
54
Q

What is Microsoft’s history?

A

After multiple attacks like iloveyou, CodeRed and Nimda, Bill Gates decided to stop all development and implement the Trustworthy Computing initiative in 2002. In 2004 the Security Development Lifecycle (SDL) was introduced.

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

What are the top 10 software security design flaws?

A
  1. Trust (earn or give, but never assume, trust)
  2. Authentication (use an authentication mechanism that cannot be bypassed or tampered with)
  3. Authorization (authorize after you authenticate)
  4. Separate data from control (strictly separate data and control instructions, and never process control intructions received from untrusted sources)
  5. Explicit validation (define an approach that ensures all data are explicitly validated)
  6. Crypto (use cryptography correctly)
  7. Sensitive data (identify sensitive data and how they should be handled)
  8. Users (always consider the users)
  9. External components (understand how integrating external components changes your attack surface)
  10. The times they are a-changing (be flexible when considering future changes to objects and actors)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
56
Q

What are the 10 guiding principles for software security?

A
  1. Secure the weakest link
  2. Practice defense in depth
  3. Fail securely
  4. Follow the principle of least privilege
  5. Compartmentalize
  6. Keep it simple
  7. Promote privacy
  8. Remember that hiding secrets is hard
  9. Be reluctant to trust
  10. Use your community resources
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
57
Q

What is OWASP?

A

Open Web Application Security Project. It is a nonprofit organization that works to improve the security. The project is divided into four main areas: methodologies, tools, techniques and resources.

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

What is an attack surface?

A

Everything that could potentially be exploited by an attacker. Totality of the different points. An attacker can try to enter data into or extract data from a system that could potentially be exploited.

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

What is an attack vector?

A

A specific path or means an attacker can gain access.

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

What are HTTP and HTTPS?

A

Web serves use them to allow web-based clients to connect to them and view and download files.

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

What is ethical hacking?

A

Ethical hacking is testing the resources for a good cause and for the betterment of technology. It is used for penetration testing. It is focused on securing and protecting IT systems.

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

Why use a web proxy?

A

To capture and examine requests. To manipulate requests (can be used to learn about the application). Can be used for attacks.

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

Why Domain Model for Security?

A

If we know exactly what the system should do we also know what it should not do.

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

What are the requirements for a domain model?

A

It must:
- be simple (focus on the essentials)
- be strict (so it can be a foundation for writing code)
- capture deep understanding (to make the system truly useful and helpful)
- be the best choice (from a pragmatic viewpoint)
- provide us with language we can use whenever we talk about the system

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

What is a domain model?

A

A distilled version of the domain where each concept has a specific meaning.
(Domain is a part of the real world where stuff happens).

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

What is bounded context?

A

A term or concept may have the same name in various parts of the business, but each usage may have different meaning. F.ex. package. As long as the meanings of terms, operations and concepts remain the same, the model holds. As soon as the semantics change, the mode breaks, and the boundary of the context is found. The semantic boundary of a context is interesting from a security perspective.

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

What is Protection Poker?

A

It is risk estimation in agile development teams based on Planning Poker by Laurie Williams. It is performed in the beginning of every iteration, by the full team. The goal is to rank the security risk of the features to be implemented in the iteration. Ensure common understanding in the team on the need for security in this iteration, and in general.

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

What is risk?

A

Risk = (the total value of all assets that could be exploited with a successful attack) x (the exposure), or value x exposure

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

How to play Protection Poker?

A

You assess the risk of different features etc. by looking at the value and the exposure. Then you choose one of the cards <10,20,30,40,50,60,70,80, or 100 based on your assessment, and then everyone shows their card and you discuss why you chose your card.

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

What are some benefits of using Protection Poker?

A

Deltakerne opplevde at de fikk økt kompetanse og bevissthet om sikkerhet, og kunnskap om sikkerhet ble spredt blant alle i teamet.
De viktigste risikoene ble diskutert, og diskusjonene av risiko innebar at ulike måter å minske risikoen ble identifisert og lagt til som krav.
Det tok en del tid å spille Protection Poker i starten, men etterhvert gikk det raskt å gjennomføre en spill-runde

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

What is Static Analysis?

A

Passive scanning of application code without executing it. A white box testing approach. Analyzing software “at rest”; source code, bytecode and binary.

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

What does weaknesses, vulnerabilities and exploits mean?

A

Weaknesses = errors in software implementation, code, design or architecture that if left unaddressed could result in systems and networks being vulnerable to attack. Ex. buffer overflows, format strings, structure and vailidaty problems, etc.
Vulnerability = common vulnerabilities and exposures (CVE) list. Mistake/weakness in software that could be directly used by a hacker to gain access to a system or network.
Exploit = is a piece of software containing attack vectors that can be directly used to take advantage of a vulnerability in a system.

Static analysis focuses on weaknesses.
A vulnerability is a weakness that can be exploited by an attacker. Thus, a weakness is an error, typically in the software code, that might lead to a vulnerability.

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

Why use Static Code Analysis for security audits?

A

Can catch security defects early in the SDLC. Significant aid for code review. Code review is a PCI-DSS requirement.

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

What are some techniques employed in SAST Tools?

A

It is line focused and scan line for line with f.ex. “grep” to find potential dangerous function calls. It is useful for quick code review, but very basic with lots of noise.

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

What is taint analysis for security audit?

A

Used to determine where vulnerability occurs by using the concepts of data source and data sink in Data Flow Graph. If the source of the input data is untrustworthy, then data is said to be tainted. If tainted data reaches a sensitive sink, a security issue may exist.

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

What are some common mistakes with SAST Tools?

A
  1. If no vulnerabilities were found it might be tempting to declare it safe, and think there is no need for assurance in other development phases.
  2. Fixed all the issues and therefore think that you don’t need assurance in other development phases.
  3. Thinking that since you have made a huge investment in SAST tool, you dont need to further invest in security.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
77
Q

What are some challenges and limitations of SAST Tools?

A

False positives and negatives.
Can be challenging to construct a model if you f.ex. have dynamic strings build at runtime.
It may fail to even detect implemented filter/control/validator.
May not test whether your filter is strong enough.
Cannot find issues in the operational environment.
Only cover half of security defects. Can not check many design issues.
Provides little insight into the exploitability of the weakness/vulnerability itself.
May not present an accurate risk picture.

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

What is Authentication?

A

The process of verifying that a user is who they claim to be.

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

What are some different authentication types?

A

Http Authentication, Certificate-based authentication, token-based authentication, biometric authentication

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

What are some problems with HTTP authentication basic?

A

It is simple and vulernable. Eavesdroping on the communication can capture everything over this channel, including passwords. Dont use it in your apps.

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

What are some HTTP Authentication Digest problems?

A

It is still vulnerable for the Man In The Middel attack. It prevents use of the strong password encryption, meaning the passwords stored on the server could be hacked.

82
Q

What is Certificate-Based Authentication?

A

It uses digital certificates to verify the identity of a user or device. A digital certificate is a file: information about the user or device. Certificate Authority (CA):
- A certificate is signed by a trusted authority.
- Verify that the information in the certificate is accurate.

83
Q

What are some authentication factors?

A

-Something you know: a password, a PIN or a pattern
-Something you have: a physical token like a key, or a virtual token like a one-time code from a hardware device.
-Something you are: a biometric like a fingerprint or iris

Strong authentication has two or more factors.

84
Q

What is Physical Unclonable Functions (PUF)?

A

A type of security measure that uses the physical properties of a device to create a unique fingerprint. Use the fingerprint to verify the identity of the device.

85
Q

What is CAPTCHA?

A

Completely Automated Public Turing test to tell Computers and Humans Apart. User type the letters of a distorted image or the result of a simple math problem. Can prevent bots from creating spam accounts on websites or submitting spam comments on blogs. Difficult for computers to solve, but easy for humans.

86
Q

What is reCAPTCHA v3?

A

It has two main tasks:
- Find tiles containing object in photo
- Pick all photos containing an object
Difficulty increased through lowering resolution or blurring the photos.

87
Q

What are some pros CAPTCHA?

A

-Can protect websites from automated attacks.
-Can be used to prevent spam comments on blogs.
-Can be used to prevent bots from creating spam accounts on websites.

88
Q

What are some cons of CAPTCHA?

A

-Can be difficult for humas to solve, especially if images are distorted or the letters are in a foreign language.
-Bypass methods are constantly evolving, so CAPTCHA designers must continually update the test to stay ahead of the attackers.
- Tests are not perfect, and they can sometimes be frustrating for users.

89
Q

What is Social Engineering Attacks?

A

It is the art of manipulation; Psychological attack. Steal sensitive information like login credentials, credit card number and install malware. Some common methods are phishing emails, fake websites and phone calls. They may pose as a trusted indiviual like a customer service representative and technical support agent. It may be challenging to detect, because it rely on human interaction, and often exploit people’s natural trust.

90
Q

Why collect e-mails?

A

To collect information about a target system. Like usernames, email addresses and IP addresses. Often used to collect data that can be used to brute force passwords or gain access to other systems.

91
Q

What is a social engineering toolkit?

A

The social engineering toolkit is a powerful open-souce toolkit used by ethical hackers to perform social engineering attacks. SET was designed to be used in penetration testing engagements to demonstrate the risk posed by social engineering attacks. SET can be useed to launch a variety of different attacks, including phishing attacks, credential harvesting attacks, web-based attacks.

92
Q

What is authorization?

A

The process of granting or denying access to a resource. Determining whether a user or computer process has the right to access a resource. Resources; computer systems, applications, data, APIs.

93
Q

What are some access control types?

A

Mandatory Access Control, Discretionary Access Control, Role-based access control and attribute-based access control.

Access control list contains rules that grant or deny access to certain digital environments.

94
Q

What is discretionary access control (DAC)?

A

Restricting access to objects based on the identity of the subject. Implemented using ACL:
-If the user has permission to access the resource.
-Users who can access the resource and the authority

95
Q

What is Mandatory access control (MAC)?

A

Limiting access to resource based on:
-the sensitivity of the information
-the authorization of the user to access information with that level of sensitivity.
Sensitivity: define by means of security label: unclassified, restricted, confidential, secret, top secret. Users can access only the information in a resource to which their security labels entitle them.

96
Q

What is Role-Based Access Control (RBAC)?

A

Restricts access to resources based on the roles assigned to users. Flexible and scalable security model. Well-suited for large organization.
Advantages:
- easy to grant or revoke access to multiple users at once
- granularly control access to resources
Disadvantages:
- Can be complex to manage with thousands users
- Security breach

97
Q

What is Attribute-based access control (ABAC)?

A

Subjects and objects are related to each other through attributes.
RBAC: a user with the role “manager” would be given access to the object “payroll”.
ABAC: a user with attribute “employee” would be given access to the object “payroll”

98
Q

What is path traversal?

A

An exploit: the attacker attempts to access files and directories that are outside of the web root directory. Often used to gain access to the server’s file system.

99
Q

How can you manipulate hidden fields?

A

Look for hidden fields within forms, analyze what they are used for, and try to change their values in ways that would benefit an attacker.

100
Q

What is cookie tampering?

A

Client-side cookie tampering is a method of tampering with the information stored on a user’s web browser and manipulating it to be used in malicious ways, such as hijacking a user’s session on a website or application.

101
Q

What is session hijacking?

A

An attacker takes control of a user’s web session by stealing their session cookie. Access the victim’s account and perform any actions that the user is able to do. Allows bypass authentication and authorization checks. Gain access to sensitive information: finiancial data or personal information.

102
Q

How to mitigate session hijacking?

A

Ensure that all users get a “clean” sessionID by regenerating the sessionID whenever a user logs in. Set the “HttpOnly” flag on all cookies. Set “secure” flag on all cookies. Enforce strong policies for sessionID creation, and never use userID as sessionID nor use sequential sessionIDs. Use content security policy (CSP) to prevent XSS attacks

103
Q

What are the elements of information security (the CIA-triad)?

A

It is a security model that is used to guide security efforts. The three elements are confidentiality, integrity and availability.

104
Q

What is plan-driven development?

A

A plan-driven approach to software engineering is based around separate development stages with the outputs to be produced at each of these stages planned in advance. Not necessarily waterfall model - plan-driven, incremental development is possible. Iteration occurs within activities.

105
Q

What is agile development?

A

Specification, design, implementation and testing are inter-leaved and the outputs from the development process are decided through a process of negotiation during software development process. Reduce overheads in the software process and to be able to respond quickly to changing requirements without excessive rework.

106
Q

What are the principles of agile methods?

A

Customer involvement, incremental delivery, people not process, embrace change and maintain simplicity

107
Q

What is agile manifesto?

A

We are uncovering better ways of developing software by doing it and helping other do it. Through this work we have come to value:
Individuals and interactions over processes and tools.
Working software over comprehensive documentation.
Customer collaboration over contract negotiation.
Responding to change over following a plan.
That is, while there is value in the items on the right, we value the items on the left more.

108
Q

What does it mean to be agile?

A

The highest priority is to satisfy the customer through early and continuous delivery of valuable software. Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done. Working software is the primary measure of progress. At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly.

109
Q

What does scrum mean?

A

Scrum is a method of restarting play in rugby football.. either after an accidental infringement or when the ball has gone out of play.

Scrum vektlegger empirisk tilbakemelding, selvadministrasjon av gruppen, og å anstrenge seg for å bygge skikkelig testede produkt-inkrementer i løpet av korte iterasjoner. Scrum har kun tre roller: Produkteier, Utviklingsgruppe, og Scrum-mester. Ansvar og oppgaver til den tradisjonelle prosjektlederen er delt mellom disse tre rollene. Hvis man skal gjennomføre Scrum slik det faktisk er definert kommer det vanligvis i konflikt med eksisterende vaner i etablerte ikke-smidige virksomheter.

110
Q

What is the result of agile methods?

A

Software development becomes continuous. Planning, budgeting, integration, deploymen, delivery, verification, innovation and experimentation becomes continuous.

111
Q

What is the product backlog in scrum?

A

It is the single most important artifact. It is a detailed analysis document, which outlines every requirement for a system, project or product. It could be described as a comprehensive to-do list, expressed in priority order based on the business value each piece of work will generate. The scrum backlog is the engine of the business; it breaks the big-picture story down into manageble increments of work called Product Backlog Items (PBIs)

112
Q

What is the sprint backlog in scrum?

A

Consists of committed PBIs negotiated between the Team and the PO during the Sprint Planning Meeting. Scope commitment is fixed during Sprint Execution. Initial tasks are identified by the team during Sprint Planning Meeting. Team will discover additional tasks needed to meet the fixed scope commitment during Sprint execution. Visible to the team. Referenced during the daily scrum meeting.

113
Q

What is the User story in scrum?

A

One or more sentences that describe what a user wants from the system. Start with a title, add a description, add other relevant notes, specifications or sketches, write acceptance criteria.

114
Q

What is the Product Owner (PO) in scrum?

A

Single person responsible for maximizing the return on investment (ROI) of the development effort. Responsible for product vision. Constantly re-prioritizes the Product Backlog, adjusting any long-term expectations such as release plans. Final arbiter of requirements questions. Accepts or rejects each product increment. Decides whether to ship and whether to continue development. Considers stakeholder interests.

115
Q

What is the Team in scrum?

A

Cross-functional (e.g., includes all the expertise necessary to deliver the potentially shippable product). Self-organizing/self-managing, without externally assigned roles. Negotiates commitments with the PO, one Sprint at a time. Has autonomy regarding how to reach commitments. Intensely collaborative. Most successful when located in one team room. Most successful with long-term, full-time membership. Scrum moves work to a flexible learning team and avoids moving people or splitting them between teams. Typically 7 ± 2 members.

116
Q

How is a Sprint Planning Meeting in scrum?

A

The PO is responsible for declaring which
items are the most important to the business. The team is responsible for selecting the amount of work they feel they can implement without creating technical debt. If the top of the Product Backlog has not been refined, a major
portion of the planning meeting should be spent doing this. The team breaks the selected items into an initial list of Sprint Tasks, and makes a final commitment to do the work. Most teams assume that the team members can only focus on Sprint-related work for about 5-6 hours per day. Collectively, the team and the PO define a sprint goal (to be reviewed in the next review meeting).

117
Q

How is a Backlog Refinement Meeting in scrum?

A

Most Product Backlog Items (PBIs) initially need refinement because they are too large and poorly understood. In the Backlog Refinement Meeting (backlog grooming), the Team takes a little time out of Sprint Execution to help prepare the Product Backlog for the next Sprint Planning Meeting. The team estimates the amount of effort they would expend to complete items in the Product Backlog and provides other technical information to help the PO prioritize them. Large vague items are split and clarified, considering both business and technical concerns. Sometimes a subset of the team, in conjunction with the PO and other stakeholders, will compose and split Product Backlog Items before involving the entire team in estimation.

118
Q

Daily Scrum and Sprint Execution?

A

Every day at the same time and place, the Team members spend about 15 minutes reporting to each other:
*What did you do yesterday? What will you do today? Are there any impediments in
your way?
Standing up at the Daily Scrum will help keep it short. Topics that require additional attention may be discussed by whomever is interested after every team member has reported. The team may find it useful to maintain a current Sprint Task List, a Sprint Burndown Chart, and an Impediments List. Any impediments that are raised in the scrum meeting become the Scrum Master’s responsibility to resolve as quickly as possible.

119
Q

How is a Sprint Review Meeting with scrum?

A

The team holds a Sprint Review Meeting to demonstrate a working product increment to the PO and everyone else who is interested. The meeting should feature a live demonstration, not a report. After the demonstration, the PO reviews the commitments made at the Sprint Planning Meeting and declares which items she/he now considers done. Incomplete items are returned to the Product Backlog and ranked according to the PO’s revised priorities as candidates for future Sprints. It is the opportunity to inspect and adapt the product as it emerges, and iteratively refine everyone’s understanding of the requirements. New products, particularly software products, are hard to visualize in a vacuum. Many customers need to be able to react to a piece of functioning software to discover what they will actually want.

120
Q

How is a Sprint Retrospective Meeting?

A

Each Sprint ends with a retrospective. At this meeting, the Team reflects on its own process. They inspect their behavior and take action to adapt it for future Sprints. An in-depth retrospective requires an environment of psychological safety not found in most organizations. Without safety, the retrospective discussion will either avoid the uncomfortable issues or deteriorate into blaming and hostility. A common impediment to full transparency on the Team is the presence of people who conduct performance appraisals.

121
Q

How many % of security vulnerabilities exist at the application layer, not the network layer?

A

70%, around 50% of the vulnerabilities that can be introduced during the implementation phase are consequences of design flaws.
If you havent reviewed your code for security holes, the likelihood that your application has problems is virtually 100%.

122
Q

How much larger is the cost of fixing a bug in Production than during coding/design?

A

100x

123
Q

What are 5 categories of challenges with agile development?

A

Software development lifecycle, incremental development, security assurance, awareness and collaboration, security managment.

124
Q

What are the challenges with software development lifecycle with agile development?

A

Security requirements elicitation activity is not included in the agile development methods. Risk assessment activity is not included in the agile development methods. Security related activities need to be applied for each development iteration. Iteration time is limited and may not fit time-consuming security activities.

125
Q

What are the challenges with incremental development with agile development?

A

Refactoring practice breaks security contraints. Continuous code changes makes completing the assurance activities difficult. Changes of requirements and design breaks system security requirements. Requirement changes makes the trace of the requirements to security objectives difficult.

126
Q

What are the three classes of requirements in Microsofts agile SDL?

A

Every sprint: input validation, dont use banned APIs, etc
One-Time Only: establish response plan, upgrade compliers, etc
Bucket: fuzzing, attack surface analysis, etc

127
Q

What are the threats against the Application with agile development?

A

SQL injection, Cross-site scripting, hidden-field tampering, eavesdropping, session hijacking, identity spoofing, information disclosure

128
Q

How can you do code review?

A

Manual: line for line, but it is time consuming and depends on expertise.
Automated: many static analysis tools on the market. Can look for known bugs.

129
Q

What are static analysis tools?

A

A white box analysis approach. Passive scanning of application code without executing it. Analyzing software “at rest”. Usually source code, but can also be bytecode or binary.
Results can be in a report form.

130
Q

What are the challenges with security assurance with agile development?

A

Security assessment favors detailed documentation. Tests are, in general, insufficient to ensure the implementation of security requirements. Tests do not cover in general, all vulnerability cases. Security tests are in general difficult to automate. Continuous changing of the development processes conflicts with audit needs of uniform stable processes.

131
Q

How do you build a security tool chain?

A

-Pre-sprint (tests and analysis); threat modeling, security defect list, patching and configuration management, metrics and policy management
-Daily (tests): unit testing, security regression tests, manual code inspection or code review
-Every sprint (commit tests): static analysis, dynamic analysis, component analysis
-Additional Pre-deployment (tests): vulnerability assessment, penetration testing

132
Q

What are the 7 factors that influence non-functional test?

A
  1. Priority
  2. Time pressure
  3. Culture
  4. Experience
  5. Return on Investment Evaluation Informally Performed
  6. Techincal dependencies
  7. Business, developers and product owner’s awareness
133
Q

What are the challenges with awareness and collaboration with agile development?

A

Security requirements are often neglected. Developers lack experience on secure software. Customers lack security awareness. Developer role must be separate from security reviewer role must be separate from security reviewer role to have objective results.

134
Q

What are the team roles in security?

A

The developers focus on functional requirements, which is often seen as the “value” to the business. They should have more focus on security, risk oriented.
The security officer is focused on requirements for security and vulnerabilities. Doesnt know when to be involved in the process.
The tester is focused on functional testing, and is never given time to do non-functional testing. Usually has little knowledge on security testing.

135
Q

What is JiraSecPlugin?

A

It is a part of the SoS-agile project. It is a plugin to classify and rank security related issues. It classify issues as security related or not. Report the importance of the classification, provide feedback, support for continuous deployment, create awareness.

136
Q

What are the challenges with security management with agile development?

A

Security activities increase the cost of the software. There are no incentives for organizations to develop security features in early increments. Organizations compromise security activities to accommodate accelerated release schedule.

137
Q

What are pros and cons with code review tools?

A

Tools help with the “low-hanging fruit” vulnerabilities. The best a code review tool can uncover is about 50% of security vulnerabilities.
Tools can however miss business logic vulnerabilities and design flaws.
Tools suffer from false negatives and false positivies. False negatives gives false sense of security, and false positvies increases workload for auditing.

138
Q

What is ISO/IEC 27001?

A

It is part of the ISO/IEC 27xxx family of standards. Defines concepts and controls for an Information Security Management System (ISMS). Covers topics like information systems acquisition (anskaffelse), development and maintenance. Started out in the financial and banking sector. Common in IT operations. The concept of ISMS is referred to in an increasing number of laws and regulations (personal data act -> GDPR, office of the auditor general, eForvaltningsforskriftens §15)

139
Q

What is Sarbanes-Oxley?

A

Also known as Public company accounting reform and investor protection act. SOX er en føderal lov som revisjonsfirma må forholde seg til, men også alle andre som behandler elektroniske opptegnelser som har med regnskap og liknende omfattes av loven, og ergo må utviklere av denne typen programvare også forholde seg til den.

SOX skal forhindre at uregelmessigheter slik man så i Enron feies under teppet, bl.a. ved å sørge for logging og revisjonsspor, og forhindre at slike data fjernes eller kommer urettmessige mottakere i hende.

140
Q

What is HIPAA?

A

Health insurance portability and accountability. Will apply to software that processes health information. Electronic protected health information. May be covered by GDPR, main difference may be focus, org vs consumer.

141
Q

What is Payment Card Industry Data Security Standard (PCI-DSS)?

A

Systems that process credit card transactions need to satisfy the standard.

142
Q

What is PA (payment applications)-DSS requirements ?

A

requirements that apply when developing payment card applications.

143
Q

What is ISO/IEC 15408 - Common Criteria?

A

Common Criteria (CC) is an international set of guidelines and specifications developed for evaluating information security products, specifically to ensure they meet an agreed-upon security standard for government deployments.
In Norway SERTIT is the certification body.

144
Q

How can you defend against ransomware?

A

Regularly back up files. Keep systems and applications updated. Enforce the principle of least privilege. Secure email gateways. Implement defense in depth. Foster a culture of security in the workplace.

145
Q

What is a security requirement?

A

Defining what level of security is expected from the system with respect to some type of threat. Different from choice of protection mechanisms, i.e. what you require, not how to achieve it. Enables us to evaluate different approaches to a need/problem while being open to different solutions.

146
Q

What are the criteria for writing good requirements (according to Donald Firesmith)?

A

What, not how. Understandability, clarity (not ambiguous). Cohesion (one thing per requirement). Testability.
The application shall only serve a pre-defined set of pages. The application shall control what pages may be served to a user. Any third-party services that are part of the application shall be regularly updated.

147
Q

What is a abuse case?

A

Mix of white-hat and black-hat approach though more dominant on black-hat. Great way to have scenarios in attacker mindset. Similar to use case but more on systems behavior under attack. Ex: tampering attack, SQL injection, information leakage.
Think about the software the same way that attackers do. Think about what motivates attackers. Pretend to be “malicious user”. Systematically asking “what can go wrong here”.

148
Q

What are the security requirements from misuse-case?

A

Use-cases that are added to deal with attacks are often candidates for security requirements.
Misuse-cases are useful for identifying security requirements early in the development process and a good tool for communication for tech and non-tech people.

149
Q

What are the security requirements from attack trees?

A

Security requirements are not shown in the attack tree but derived from attacks. What security measure for each attacks?
Attack trees are useful for structure, resuability potential, scales well.

150
Q

What is software requirements?

A

Three types of requirements:
- Functional (functions that the system must perform)
-Non-functional (properties system must have)
-Derived (functional/non-functional req. implicit from stated requirements)

Security not about features. It is about additional properties for each requirements (functional/non-functional).

151
Q

What are ant-requirements?

A

Often requirements listed as “the system shall [do somethin] for given [inputs]”

To develop anti-requirements: categorize all possible outcomes, rank in the order of severity, define the threshold acceptance tolerance, explore the inputs and determine the outcome for each.

Undesirable outcomes from unexpected inputs

152
Q

What are SQUARE security requirements?

A

Secuirty Quality Requirements Engineering..
Developed by SEI.
“Stepwise methodology for eliciting, categorizing and prioritization security requirements for information technology system and applications “

153
Q

What is Penetration Testing?

A

For ex. for web interface to find poor handling of program state. Black hat activity based on white hat approach. Very useful to validate risk analysis and mitigation plan. Gives a good understanding of fielded application in real environment.

Test tools with unique approach to attack a system and look for security weaknesses. To gain access to systems. Testing for negatives. Driven by abuse cases and architectural risk analysis.

154
Q

How is penetration testing today?

A

Although security issues often come as a surprise to the victim, they usually stem from intentional abuse in some way. Easy to test software functionally but very hard to show that an application is secure enough under
a malicious attack.
It is performed in a outside-in manner.

155
Q

What are some limitations with pen testing?

A

Too-little-too-late attempt at the end of a development cycle. Fixing the bugs/vulnerabilities may be very expensive and it is reactive and defensive instead of proactive and dynamic.
Done without any basic security risk analysis leads to the “pretend security” problem with alarming consistency.
Struggle to see overall picture.

156
Q

How do you integrate the feedback from pen testing?

A

It is a common failure to integrate the finding into the development process. Band-Aid solution wont help in the length, you need to analyse the root-cause. By using automatic test suites you can catch some of the low-hanging fruit early.

157
Q

What are some pen testing types?

A

-Network services test: finding target systems on a network/system/OS
-Client-side test: designed to find any exploit client-side software, such as browsers
-Web Application test: targets web-based applications in the target environment
-Remote/accessibility test: looks for any connection points in the target environment and includes password guessing to attempt connecting.
-Wireless security test: targets the physical environment to find unauthorized wireless access points or insecure access points.
-Social engineering test: attempts to take user accounts or impersonate targeted user

158
Q

What are some challenges with pen testing?

A

Bad testing is not testing all attributes of the attack surface, while good pen testing is comprehensive and looks at threat levels.
Pen testing requires skill and expertise.
Have to be careful not to cause damage, achieve the goal safely with as little impact as possible.
Time and budget constraints. Failure to address business impact.

159
Q

What is risk-based security testing?

A

Mix of white-hat and black-hat approach. Driven by abuse cases. Has two strategies: testing of security functionality and risk-based security testing based on attack pattern.
Making sure bad things dont happen. Security testing is based on software architecture, common attacks using attacker’s mind set.
Can be applied before the software complete.
Focus on identified security risk like architectural risk analysis, abuse cases, attack patterns, threat model, overall system.

160
Q

What is cryptography?

A

„Cryptography is the practise and study of techniques for secure communication in the presence of third parties”

161
Q

What is Caesar-cipher?

A

It is a private key encryption (symmetric encryption) method first used by Julius Caesar. It is a type of substitution cipher where we shift every single letter in the plaintext with a fixed number of letters.

162
Q

How to crack Caesar’s encryption?

A
  1. Brute-force attack
  2. Frequency-analysis
163
Q

Random numbers:

A

There is no such thing as “a random number”, cause how can we measure randomness?
Entropy measures the amount of randomness within some random data.
True random numbers: cosmic rays, quantum fluctuations, spray from crashing waves, people rushing to catch trains.
Pseudo random number: the generator is a mathematical function or computer program that produces a number each time it is called.
Cryptographically Secure Pseudorandom Number Generator (CSPRNG): forward and backward secure.

164
Q

How to implement random numbers?

A

SecureRandom, CryptoRandom, NIST SP-800-90*, CTR-DRBG, HASH-DRBG, Fortuna

165
Q

What is Hash functions?

A

A mathematical function. Converts an input value into a compressed (fixed size) numerical value. Map data of arbitrary size to data of fixed size.

166
Q

What do we mean by avalanche property?

A

Hash functions have the avalanche property, meaning that the slightest change to the input will lead to a completely different output.

167
Q

What are properties of hashing?

A
  1. deterministic: it means that if we apply to same hash-function on the exact input then the output must be the same.
  2. one-way: it is easy to generate the hash with the given hashing algorithm but on the it is extremely hard to restore the original input
  3. collision-free: two different inputs will never share output
  4. avalance effect
168
Q

How to implement hash functions?

A

SHA2 or SHA3

169
Q

What is the usage of hash functions?

A

Stroing passwords, integrity checks for files, digital signatures, git, blockchain

170
Q

What is salt?

A

A salt is a random string which is appended to the password upon hashing. Users with the same password but different salts will have different hashes. Masks same passwords and prevents the usage of precalculated hash lists.

171
Q

What is message authentication?

A

Need to prove authenticity of some message, as well as preserve integrity against an active attacker. Can use a Message Authentication Code (MAC). It is very similar to a cryptographic hash function, except for requiring a secret key for calculation.

172
Q

What is symmetric cryptography?

A

MAC algorithms are part of symmetric cryptography. Both sides need to know the same key in advance. The key can be used to authenticate as well as verify messages. Consequently, a MAC can not be used to prove who created a message, because at least two parties have the ability to create a tag. This means MAC does not provide Non-Repudiation.

173
Q

How to implement MAC?

A

HMAC, key at least 16 bytes long, use a separate key for authentication and encryption.

174
Q

What is encryption?

A

Confidentiality, the property that only authorized entities may read the content of a message, can be achieved by encrypting the data.

175
Q

What is symmetric encryption?

A

A key K is used to transform a plaintext message P into a ciphertext C. This process is called encrypting or enciphering.
The opposite process, decrypting or deciphering, uses the same key, and must yield the original plaintext.

176
Q

What are the two types of cupher algorithms?

A

Blockciphers and steam ciphers.

177
Q

What is Data Encryption Standard (DES)?

A

It is a symmetric-key algorithm and a block cipher. Has a Feistel-structure.
Can brute-force to check all the possible values for the keys.

178
Q

What is Advanced Encryption Standard (AES)?

A

DES was no longer secure, therefore there was a need for another truly secure cryptosystem.

179
Q

What is Diffie-Hellman Key Exchange?

A

This algorithm is able to exchange private keys over a public channel. This approach is not for encryption or decryption but to securely exchange the private keys for symmetric cryptosystems. We are not sharing information during the key exhange.

180
Q

What is Probabilistic encryption?

A

To prevent a cipher from producing a deterministic output, all modern algorithms require a Nonce or Initialization Vector to be given. A piece of data that must be unique per key/message combination. Must be random. Should be transmitted in the clear alongside the ciphertext.

181
Q

What is Authenticated encryption?

A

It guarantees integrity, confidentiality and authentication. It outputs an authentication tag alongside the ciphertext.

182
Q

What are some problems with Private key cryptography?

A

The private key must be exchange, causing a risk that someone may acquire the key during this process.
Another problem is the number of private keys.

183
Q

What is public-key cryptography?

A

It can be used to distribute keys for asymmetric encryption/decryption, and to create a digital signature. Assures confidentiality, authenticity and non-repudiability.
In a public key cryptosystem all the users have two keys: a public and a private key.
The private key can decrypt a message that has been encrypted with the public key and vica versa.

184
Q

What is the difference between private key and public key cryptosystems?

A

Private key (symmetric cryptography) = want to make sure the ciphertext contains no information about the plain text. Use random numbers.
Public key (asymmetric) = use trapdoor functions. Public key cryptosystems are about prime numbers

185
Q

What is digital signature?

A

Equivalent to signing a document with your signature or a stamp. Mathematical method for verifying authenticity of a message or document. Gives a very strong reason to believe the message was created by a known sender (authentication). Also gives reason to believe a message was not altered in transit (integrity). Can also provide non-repudiation.

186
Q

What is Transport Layer Security (TLS)?

A

Designed to provide communication security over a network. Provides privaxy and data integrity in communications.
Should have at least one of the following properties:
- Connection is private because symmetric encryption is used to encrypt data transmitted. A shared secret key should be negotiated during the initial handshake of a session.
- The identity of the communicating parties can be authenticated using public-key cryptography - generally required for at least one part, often the server
- The connection is reliable because each message contains a MAC to prevent undetected loss or alteration of the data during transmission.

187
Q

What is CI/CD?

A

Continous Integration/Deployment
A process of automating the steps required to get from a developer’s computer to a production environment

188
Q

What is DevOps?

A

The combination of software development and IT operations. It aims to shorten the systems development life cycle and provide continuous delivery with high software quality.
CAMS- Culture, automation, measurement, sharing.
8 stages in the lifecycle

189
Q

What is DevSecOps?

A

It is a philosophy of integrating security methods into a DevOps process.

190
Q

What is Jenkins?

A

Open source automation server which can be used to automate all sorts of tasks related to building, testing and deploying software. Checks regularly if there is a change in the code, if there is a failed build, if the build is successful

191
Q

What is SAST security - snyk?

A

Helps developers find and fix vulnerabilities in their code. To scan for vulnerabilities in dependencies, libaraies, and frameworks. To montior for new vulnerabilities in dependencies. To create security policies to prevent vulnerable code from being deployed.

192
Q

What are security operations?

A

White-hat activity to defend overall system. Integrated security should include security operations. Have complete feedback mechanism should cycle back into development team. Plan for incident response. Be prepared for potential attacks by understanding software behaviors.

193
Q

What is response management?

A

It is what we have to do when things go wrong. Have to designate the team, and ensure facilities are available.

194
Q

What is an incident response plan?

A

You have to develop incident plan specific to your application. You need an on call/emergency contact list, centralized accessible artifact locations, reporting mechanism, a evidence handling process and a forensic analysis environment.

195
Q

What is Application Security Verification Standard?

A

It is community-driven effort to create a framework of security requirements and controls, that focus on defining the functional and non-functional security controls required modern web applications and web services.

196
Q

What are the goals with application security verification standard?

A

Two main goals:
- to help organizations develop and maintain secure applications
- to allow security service vendors, security tools vendors, and consumers to align their requirements and offerings

197
Q

What are the three application security verification levels?

A

Level 1 - low assurance levels, it is completely penetration testable
Level 2 - applications that contain sensitive data, which requires protection
Level 3 - critical applications that perform high value transactions, contain sensitive medical data

198
Q

What is BSIMM?

A

Building Security In Maturity Model (BSIMM) is a study of current software security initiatives or programs. It quantifies the application security (appsec) practices of different organizations across industries, sizes, and geographies while identifying the variations that make each organization unique.

199
Q

Why would you want to use BSIMM?

A

It is a measuring stick for software security. Can use BSIMM to compare your own initiative with what other organizations are doing. You can then identify goals and objectives of your own. Look to the BSIMM to determine which additional acitvities make sense for you.

200
Q

Why would you want to use BSIMM?

A

It is a measuring stick for software security. Can use BSIMM to compare your own initiative with what other organizations are doing. You can then identify goals and objectives of your own. Look to the BSIMM to determine which additional acitvities make sense for you.