Software Development and Testing Flashcards

1
Q

Supply chain risk management in the development

and testing phase involves

A

The validation of conformance to requirements, code
review, access control of code repositories, assuring the integrity of the build tools and environment, and testing for secure code.

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

Conformance to stated security requirements must be validated and verified and this can be accomplished
using

A

Regression tests, penetration tests, and certification & accreditation activities.

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

Security code review

A

It validates and verifies the integrity of the software code, components, and configurations, in a software
supply chain.

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

How to detect malicious code and logic includes malware such as embedded backdoors, logic bombs, Trojan horses, that are implanted in the code.

A

Security code review, including code, components, and configurations.

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

Some recommended strategies for security code reviews to be effective are:

A

Perform a code review on changed/modified code before approving it to be checked back into the version control system; Perform a code review on exercised code paths; Partner with the development team members of the supplier; Document the detected vulnerable code issues and malicious threats in code in an issue tracking database.

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

How to protect the Code Repository Security.

A

In additional to physical security and disaster recovery controls, hardening of the servers to mitigate remote theft and tampering, least privilege configuration of these servers, and access control lists (ACLs).

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

Static Source Code Analyzers

A

Examines the source code to find out weaknesses that can lead to exploitable vulnerabilities. E.g. bugScout, Clang Static Analyzer, CodeCenter, CodeSecure, Coverity SAVETM, FindBugs, FindSecurityBugs, Rational AppScan Source Edition, Rough Auditng Tool for Security (RATS), Source Code Analyzer (Fortify), HP QAInspect

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

Static Byte Code Scanners

A

Detect vulnerabilities in the byte code. E.g. FindBugs, FxCop, Gendarme, and Moonwalker.

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

Static Binary Code Scanners

A

Detect vulnerabilities through disassembly and pattern recognition. Advantages: (I) it does not need the source code and (II) it can detect vulnerabilities added by the compiler. E.g. IDA Pro, SecurityReview (Veracode), and Microsoft’s CAT.NET.

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

Dynamic Vulnerability Scanning Tools

A

Scan networks and software applications for exploitable weaknesses at runtime, when the software is operational. E.g. Nessus, Core Impact, NeXpose, QualysGuard, GFI LanGuard, and SAINT.

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

Web application vulnerability scanners

A

Tools used to automatically scan and detect web application vulnerabilities such as injection flaws, scripting issues, session mismanagement, cookie
poisoning and theft, request forgeries, framework vulnerabilities, weak cryptographic functions, hidden form field manipulation, fail open authentication and information disclosure threats. E.g. BurpSuite, w3af, Nikto, Paros proxy, AppScan, HP WebInspect, Samurai Web Testing Framework (Samurai WTF).

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

Malware Detection and Combat Tools

A

They are used to discover the presence of malicious software (malware) or malicious code (malcode), such as computer viruses, worms, Trojan horses,
spyware, adware, logic bombs, backdoors, in code, scripts, or content and remove them. E.g. Microsoft Baseline Security Analyzer (MBSA), Microsoft Process Explorer (formerly Sysinternals), Trend Micro’s HiJackThis, Microsoft’s Malicious Software Removal Tool (MSRT), SUPERAntiSpyware, Malwarebyte’s Anti-Malware (MBAM).

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

Security Compliance Validation Tools

A

They are are used to determine how well an prescribed security plan is compliant with regulatory or privacy mandates. E.g. PCI DSS Self-Assessment Questionnaire (SAQ).

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

Which controls should be in place to manage software supply chain risks during the acceptance phase of the acquisition lifecycle?

A

Anti-tampering resistance controls, and authenticity and anti-counterfeiting
controls.

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

What is Anti-Tampering Resistance and Controls?

A

When software is published and disseminated in a supply chain, it is important to make sure that it cannot be tampered and when it is tampered, it must be reversible.

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

Anti-tampering controls can be achieved by

A

Cryptographically hashing the code (or code signing).

17
Q

What is Authenticity and Anti-Counterfeiting Controls?

A

When software is transferred or exchanged in a supply chain, it must
assure the authenticity of origin and anti-counterfeiting control.

18
Q

Authenticity and Anti-Counterfeiting Controls can be achieved by

A

Attesting the genuineness of the software and its pedigree. Code signing can provide this genuineness of pedigree confidence.

19
Q

How to achieve the Supplier Claims Verification?

A

Starts with first determining if there are any known vulnerabilities in the software produced by the supplier; Verifying claimed security features in the supplier software could also be achieved by black box testing, if the source code is not available.