-
Notifications
You must be signed in to change notification settings - Fork 17
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Follow-up code comments and changes after #10
- Loading branch information
Showing
17 changed files
with
104 additions
and
59 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
17 changes: 17 additions & 0 deletions
17
content/2.Using-jira-workflow/Concepts/Triage-issues-before-devs-see-them.md
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,17 @@ | ||
### Triage Issues before developers see them | ||
To prevent overloading developers with duplicate issues or false positives, issues identified in vulnerability scans, code analysers, and penetration tests, have to be triaged by the AppSec team, before pushing them to issue trackers (and exposing the developers to them). | ||
|
||
Unfortunately this is still an under developed part of the AppSec pipeline, and even commercial vendors UI don't really support the customisation and routing of the issues they 'discover'. | ||
|
||
Some tools exist that are attempting to do just that. | ||
|
||
* Bag of Holding https://github.com/aparsons/bag-of-holding | ||
* Defect Dojo https://github.com/OWASP/django-DefectDojo | ||
* ThreadFix | ||
|
||
With these triage tools AppSec specialists can already identify false positives, accepted risks, or theoretical vulnerabilities that are not relevant in the context of the system. This makes sure that developers only have to deal with the things that need actual fixing. | ||
|
||
#### Create JIRA workflow to triage raw issues | ||
|
||
* create a security jira workflow for the raw issues to act as a triage tool and push them to team boards after reviewing? | ||
* this would be another good example of the power of JIRA for workflows |
This file was deleted.
Oops, something went wrong.
6 changes: 3 additions & 3 deletions
6
content/2.Using-jira-workflow/Concepts/Using-appsec-to-measure-quality.md
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,6 +1,6 @@ | ||
### Using AppSec to measure quality | ||
|
||
* add content from presentation | ||
* add content from presentation [AppSec and Software Quality]( http://blog.diniscruz.com/2016/05/appsec-and-software-quality.html) | ||
|
||
Some academic research: | ||
https://insights.sei.cmu.edu/sei_blog/2016/06/using-quality-metrics-and-security-methods-to-predict-software-assurance.html | ||
* academic research | ||
* [https://insights.sei.cmu.edu/sei_blog/2016/06/using-quality-metrics-and-security-methods-to-predict-software-assurance.html](Using Quality Metrics and Security Methods to Predict Software Assurance) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
25 changes: 25 additions & 0 deletions
25
content/2.Using-jira-workflow/For-developers/Risk-profile-of-frameworks.md
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,25 @@ | ||
### Risk profile of Frameworks | ||
|
||
Many frameworks work as a wrapper around a 'raw' language and have built in mechanisms to prevent vulnerabilities. | ||
|
||
Examples are: | ||
|
||
- Rails for Ruby | ||
- Django for Python | ||
- AngularJS, Ember, ReactJS for javascript | ||
- Razor for .Net | ||
|
||
Using these frameworks can help less experienced developers and act as a 'secure by default' mechanism. | ||
|
||
This means that when using the 'secure defaults' of these frameworks, there will be less Risk tickets created. Ideally Frameworks will make it really easy to write secure code, and really hard (and visible) to write dangerous/insecure code (for example how AngularJS handles raw HTML injection from controllers to views). | ||
|
||
This can backfire when Frameworks perform complex and dangerous operations 'automagically'. In those cases it is common for the developers to not really understand what is going on under the hood, and high risk vulnerabilities will be created (sometimes even using the code based on the Framework's own code samples) | ||
|
||
* Add case-studies on issues created by 'normal' framework usage: | ||
* SpringMVC Auto-Binding (also called over-posting) | ||
* Razor controls vulnerable to XSS on un-expected locations (like label) | ||
* Ember SafeHtml | ||
* OpenAM SQL Query Injection on code sample (and see in live app) | ||
* Android query SQL Injection (on some parameters) | ||
|
||
* add reference (and some content from) _[Secure coding (and Application Security) must be invisible to developers](blog.diniscruz.com/2012/04/secure-coding-and-application-security.html)_ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
7 changes: 7 additions & 0 deletions
7
content/2.Using-jira-workflow/For-management/Feedback-loops-are-key.md
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,7 @@ | ||
### Feedback loops are key | ||
|
||
An error often made is not spending enough energy and focus in finding the root cause of issues discovered/exploited. | ||
|
||
Incidents get identified by operational monitoring or incident response teams, are send to a security department, and after some analysing are directed to development teams as tickets. The development teams have no knowing of the original incident and cannot put the request in the right perspective. This can lead to sub optimal fixes with undesired side-effects. | ||
|
||
It is beneficial to include development teams in the root cause analysis from the start to make sure the best solution can be identified. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
5 changes: 0 additions & 5 deletions
5
content/2.Using-jira-workflow/For-management/Lack-of-action-is-a-risk.md
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,8 +1,3 @@ | ||
### Lack of action is a risk | ||
|
||
* lack of time to perform 'root cause analysis' or lack of understanding of what cause the problem is a valid risk in itself | ||
|
||
### Feedback loops are key | ||
An error often made is not using the full potential in a company to find the root cause. Incidents get identified by operational monitoring or incident response teams, are send to a security department, and after some analysing are directed to development teams as tickets. The development teams have no knowing of the original incident and cannot put the request in the right perspective. This can lead to sub optimal fixes with undesired side-effects. | ||
|
||
It is beneficial to include development teams in the root cause analysis from the start to make sure the best solution can be identified. |
9 changes: 4 additions & 5 deletions
9
content/2.Using-jira-workflow/For-management/OWASP-top-10-risk-methodology.md
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,7 +1,6 @@ | ||
### OWASP Top 10 Risk methodology | ||
|
||
- add details about Risk methodology that in included with the OWASP Top 10 | ||
- mention other Risks methodologies | ||
|
||
- applying OWASP ASVS allows for a more risk based approach | ||
- OpenSAMM and BSI-MM can measure the maturity level of an organisation | ||
* add details about Risk methodology that in included with the OWASP Top 10 | ||
* mention other Risks methodologies | ||
* applying OWASP ASVS allows for a more risk based approach | ||
* OpenSAMM and BSIMM can measure the maturity level of an organisation |
11 changes: 8 additions & 3 deletions
11
content/2.Using-jira-workflow/For-management/Regular-hackathons.md
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,8 +1,13 @@ | ||
### Regular Hackathons | ||
|
||
* used to find issues and look at new featutes | ||
* used to find issues and look at new features | ||
* every Friday or Monday afternoon (ideally with some beers and pizza) | ||
* ideally this would happen every week, if not every 2,3 or 4 weeks | ||
* what is important is to have movement | ||
* fits well into 10% of research time that devs should have | ||
* inviting external persons (like e.g. pentesters that regulary test the applications) have the benefit of providing new insights | ||
* fits well into 10% of research time that developers should have | ||
* inviting external persons (like e.g. pen-testers that regularly test the applications) have the benefit of providing new insights | ||
* this is also one of the best ways to learn | ||
* try to do something and then see a more experienced and knowledgeable person being able to do it | ||
* see that is the workflow and strategies used by them (to discover and exploit the issue) | ||
* organising red and blue teams (attacker and defenders) can also be very effective | ||
* these are much are harder to organise, with a lot more preparation needed |
6 changes: 3 additions & 3 deletions
6
...nt/2.Using-jira-workflow/For-management/Relationship-with-existing-standards.md
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,10 +1,10 @@ | ||
### Relationship with existing standards | ||
|
||
* Mention how this maps to PCI DSS , HIPAA and other standards | ||
* basically a lot of this will break them | ||
* most of companies will fail these standards when their existing 'real' RISKs are correctly identified and mapped (which is why there is a big difference between being 'compliant' and being 'secure') | ||
|
||
What is 'this' and 'them' in this context? | ||
More and more external regulatory bodies and laws require some level of proof about the implemented security controls. | ||
|
||
Fact is that more and more external regulatory bodies and laws require some level of proof about the implemented security controls. To prevent unnecessary delays or fines, these requirements should be embedded in the process in the form of regular scans, embedded controls (e.g. in the default infrastrucure), or in user stories. | ||
To prevent unnecessary delays or fines, these requirements need to be embedded in the process in the form of regular scans, embedded controls (e.g. in the default infrastructure), or in user stories. | ||
|
||
For example in DevOps environments all requirements related to OS hardening should be present in the default container and not be something that development teams need to think about. |
5 changes: 0 additions & 5 deletions
5
content/2.Using-jira-workflow/For-management/Responsible disclosure
This file was deleted.
Oops, something went wrong.
13 changes: 13 additions & 0 deletions
13
content/2.Using-jira-workflow/For-management/Responsible-disclosure.md
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,13 @@ | ||
### Responsible disclosure | ||
|
||
Having a responsible disclosure process and/or participating in programs like HackerOne or Bugcrowd have several advantages: | ||
|
||
* it shows a level of confidence to the customers | ||
* it provides additional testing cycles | ||
* it sends a message that they have an AppSec program | ||
|
||
|
||
#### JIRA workflow for bug bounty's submissions | ||
|
||
* add diagram (from XYZ) | ||
* real world example of using an JIRA workflow to manage submissions received |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters