There are dedicated fields in Jira for tracking CSP approval, details, rejection comments, etc. We will fill these in as approval is requested and approved/rejected
There's a bunch of administrative overhead (test plans, rollback, etc.) required prior to requesting approval for CSP inclusion... in some cases this paperwork is not yet ready, which is why we haven't requested CSP approval yet.
If a Jira is specific to a single module, the responsible team's PO will request CSP approval
If the Jira is cross-cutting/affects multiple modules, the Security Team will make the request (assuming it's security related!)
Denis Kovtun pulled together a document to help clarify this process and ensure everyone involved is aligned:
Clarification on CSP process related to security issues
Common Vulnerabilities and ExposuresCVE treatment requires work in module(s) of one Development team
If Security team considers the vulnerability (CVE) as required for inclusion in CSP and CVE impacts only module(s) of one development team, they need to create a jira with the following data:
label “security-reviewed”
priority
recommended release/CSP
information on the CVE and its impact
dependent tickets if any
Security team has to add clarification to the ticket as much as possible
PO of the development team who is responsible for the module, will consult with TL/SA/QA and fill justification in CSP Request Details field according to process:
Security team will need to fully support the team (consult) on CVE specifics (impact and treatment).
All the process logistics stays intact, that is it is PO who will need to drive request via approval and jira completion.
CVE treatment requires work in modules of several Development teams
If Security team considers the CVE as required for inclusion in CSP and CVE impacts modules of several development teams, Security team needs to create a jira(s) with the required data and seek approval from RMS panel according to the process.
In case Security team creates one “umbrella” ticket and gets approval for it, they need to prepare child jiras per impacted modules and link those with the parent. Security team needs to notify POs/SMs regarding the scope of work and provide necessary advice on a need basis.
Let's review and discuss before providing this feedback to Raman.
Axel Dörrer also suggested that defining classes of sensitivity could help teams determine which techniques are applicable in various situations. I agree having some general guidelines on this would be helpful.
regular data
low sensitive - permission based on same API
high sensitive - permission based on dedicated API
It would probably help to provide concrete examples of data in each class. This can be a longer term effort, we don't need to sort out all the details today.
Next Steps:
Clearly define/formalize the various classes
Come up with concrete examples of each class
Build out guidance
Come up with concrete examples of how to protect each class of data.
Consider storing some classes of data outside of postgres altogether - e.g. in secret storage.
What would be the guidance we provide to teams for this so we don't end up with each team doing things differently?
SecretStore interface and existing implementations are currently only read-only. They would need to be extended to allow for creation/mgmt of this information.
Craig to start a conversation in slack about this.
Seeking a volunteer to generate a draft document for us to review at a later meeting.
Today:
Axel Dörrer to do a first draft as a base for further discussions
Status on pentesting works within Network traffic control group