Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

"The project MUST have performed a security review within the last 5 years. This review MUST consider the security requirements and security boundary." – Best Practices Badging Criteria

...

"The project MUST have performed a security review within the last 5 years. This review MUST consider the security requirements and security boundary." – Best Practices Badging Criteria


NOTE: THIS PAGE IS UNDER CONSTRUCTION BY DCAE


Please fill in the survey questions for each of the following sections. In all cases, answer the questions from the point of view for YOUR application within ONAP.

...

Your Answers-Please Explain
Yes. Majority of DCAE committers and PTL are generally familiar with secure software development practice and experienced in vulnerability resolution. The CLM scan reports and OJSI tickets are periodically assessed by the same PTL/committers.

Implement Secure Design

Do the committers and PTL apply secure design principles when reviewing software for merging?

...

Your Answer-Please Describe
Yes. Documented under this wiki DCAE Security Design & Assurance 

Assurance Case

Does your project actually meet its documented security requirements?

...

Your Answer-Please Describe
Yes. Documented under this wiki DCAE Security Design & Assurance 

Vulnerability Mitigation

Vulnerabilities Critical Fixed

...

Your Answer-Please Explain

DCAE has different types of components./microservices

Collectors: All DCAE collectors interface with external network element (trusted/untrusted depending on protocol/interface) however data validation is done in most casesexternal network element (trusted/untrusted depending on protocol/interface) however data validation is done in most cases.

  • VESCollector/HV-VES - Data validation done on event receipt and rejected if non-conforming to the expected spec. Both collectors are expected to recieve data from any xNF.
  • DFC/RESTConf/SNMPTrap - Data validation done during post processing of the events in the northbound flow. DFC and RESTConf accepts events only from configured xNF, SNMPTrap collector is listener services accepts any traps sent to it.

EventProcessors/Analytics - These components do not accept data from external sources (i.e outside sources (i.e outside ONAP) and work through data coming via DMAAP (internal to ONAP)

Hardening

Does your project apply hardening mechanisms so that software defects are less likely to result in security vulnerabilities?

...

Cloak

If you compile code into binary executables, do you use

  • compiler flags to mitigate attacks (such as -fstack-protector)?
  • compiler flags to eliminate undefined behavior?
  • special build features like Address Sanitizer (ASAN) (if available)?

If your project provides a web user interface:

  • Does it require the hardening headers: Content Security Policy (CSP), HTTP Strict Transport Security (HSTS), X-Content-Type-Options (as 'nosniff'), and X-Frame-Options?
  • If your web site were to be passed to a website such as <securityheaders.com>, would you get a grade of A or B?
  • Are administrative web pages shown or listed only if the logged in user is an administrator?
  • Are your JavaScript and CSS served from separate files?
  • Do you use HTTP to HTTPS redirects?
  • Do you use HSTS?
  • If appropriated, do you do rate limiting to prevent DOS attacks?
  • Do you employ measures to resist Cross Site Request Forgeries (CSRFs)?
  • Do your cookies use settings to counter Javascript-based attacks, set secure=true, and counter CSRF using a SameSite value?
  • Do you protect use of target='_blank' with rel="noopener noreferrer"?

If your project generates email:

  • Do you take measures for rate limiting?
  • Do you encrypt the email addresses that might be stored in a database?

If your project uses a database:

  • Do you encrypt values that are sensitive?

[hardening]

...

  • you encrypt values that are sensitive?

[hardening]


Your Answer-Please Explain

Majority of DCAE services are complaint. There are no C/C++ code in DCAE repositories hence compiler flags related questions do not apply.

DL-Admin has a web (user) interface which is not complaint with all hardening requirements listed; it also stores external DB credentials (TBD if data is encryped/hashed when persisted in DB).


Cryptographic-specific Software Questions

...

Cloak

If the software produced by the project is an application or library, and its primary purpose is not to implement cryptography, then it SHOULD only call on software specifically designed to implement cryptographic functions; it SHOULD NOT re-implement its own.

[crypto_call]


Your Answer-Please ExplainExplain
DCAE does not include any internal module to implement cryptography - strictly uses AAF (currently) and OOM/ServiceMesh for supporting them. 

Crypto Random - Generic

Does your software use random information? If so, does it use a cryptographically secure random number generator?

...

Cloak

The security mechanisms within the software produced by the project MUST generate all cryptographic keys and nonces using a cryptographically secure random number generator, and MUST NOT do so using generators that are cryptographically insecure.

A cryptographically secure random number generator may be a hardware random number generator (/dev/random), or it may be a cryptographically secure pseudo-random number generator (CSPRNG) using an algorithm such as Hash_DRBG, HMAC_DRBG, CTR_DRBG, Yarrow, or Fortuna. Examples of calls to secure random number generators include Java's java.security.SecureRandom and JavaScript's window.crypto.getRandomValues. Examples of calls to insecure random number generators include Java's java.util.Random and JavaScript's Math.random.

For additional guidance and examples about what kind of specifications to rate a random bit generator (RBG) please review: 

[crypto_random]


Your Answers-Please Explain
DCAE does not generate any cryptographic keys and/or nonces. Need to ensure DL-Admin updates planned are compliant with this requirement in future release.

Crypto Weaknesses

Does your software depend on any cryptographic algorithms or modes that have known serious weaknesses?

...

Cloak

The default security mechanisms within the software produced by the project SHOULD NOT depend on cryptographic algorithms or modes with known serious weaknesses (e.g., the SHA-1 cryptographic hash algorithms, or the CBC mode in SSH).
Concerns about CBC mode in SSH are discussed in CERT: SSH CBC vulnerability.

[crypto_weaknesses]

...

.

[crypto_weaknesses]


Your Answer-Please Explain

No such known dependency exist currently.

Need to ensure DL-Admin updates planned are compliant with this requirement in future release.

Crypto Working

Does your software depend on any cryptographic algorithms that are known to be broken?

...

Cloak

The default security mechanisms within the software produced by the project MUST NOT depend on broken cryptographic algorithms (e.g., MD4, MD5, single DES, RC4, Dual_EC_DRBG), or use cipher modes that are inappropriate to the context, unless they are necessary to implement an interoperable protocol (where the protocol implemented is the most recent version of that standard broadly supported by the network ecosystem, that ecosystem requires the use of such an algorithm or mode, and that ecosystem does not offer any more secure alternative). The documentation MUST describe any relevant security risks and any known mitigations if these broken algorithms or modes are necessary for an interoperable protocol.
ECB mode is almost never appropriate because it reveals identical blocks within the ciphertext as demonstrated by the ECB Penguin, and CTR mode is often inappropriate because it does not perform authentication and causes duplicates if the input state is repeated. In many cases it's best to choose a block cipher algorithm mode designed to combine secrecy and authentication, e.g., Galois/Counter Mode (GCM) and EAX. Projects MAY allow users to enable broken mechanisms (e.g., during configuration) where necessary for compatibility, but then users know they're doing it.

[crypto_working]


Your Answer-Please Explain

No such known dependency exist currently.

Need to ensure DL-Admin updates planned are compliant with this requirement in future release.

Crypto Keylength

Does your software generate any keys? If so, do they use any default key-lengths that are considered insecure?

...

Your Answers-Please Explain
DCAE does not generate keys

Crypto Algorithm Agility

Does your software use cryptographic algorithms? If so, can a user of ONAP switch the algorithm if one is found to be broken?

...

Your Answers-Please Explain

Not currently however need to ensure DL-Admin updates planned are compliant with this requirement in future release.


Crypto Certificate Verification

...

Your Answers-Please Explain
<Start discussion here>

Crypto Credential Agility

...