Skip to content

Commit 86d9424

Browse files
piracesgitbook-bot
authored andcommitted
GITBOOK-16: more content...
1 parent fe970d4 commit 86d9424

15 files changed

+225
-6
lines changed

README.md

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
---
22
description: >-
3-
"DevSec" is a derived name from "DevSecOps" and "SecDevOps", a idea to
4-
aggregate all things related to a secure development & operations (always from
5-
the DEV perspective).
3+
"DevSec", "DevSecOps", "SecDevOps"... lots of buzzwords, but here the idea is
4+
to aggregate all things related to a secure development & operations (always
5+
from the DEV perspective).
66
---
77

88
# DevSec
@@ -23,6 +23,8 @@ With **DevOps**, we shifted to make developers more accountable for operational
2323

2424
In lots of products or projects we are already shifting left a lot of controls earlier in the development lifecycle, where the development teams are (such as testing)... So why not including security testing to an earlier step? We could make fewer mistakes, and we can move more quickly (quickly addressing newly discovered vulnerabilities and fixing them).
2525

26+
The overall aim is to create a culture where everyone is responsible for security, reducing the risk of security issues and allowing teams to deliver secure, high-quality software more quickly.
27+
2628
**This is a process change, it's not about a single/specific tool or controls. It's about making all of security more developer-centric.**
2729

2830
### Sources and links
Lines changed: 89 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,91 @@
1+
---
2+
description: Let's start from the beginning...
3+
---
4+
15
# Security Basics
26

7+
## About
8+
9+
This page is meant to be as an starting point for security in development, for developers with little or no experience at all with secure development and good security practices in development.
10+
11+
## Awareness
12+
13+
Every year vulnerabilities tend to grow in numbers ([as you can see in CVE Details](https://www.cvedetails.com/browse-by-date.php)) as well as weakness in code ([view CWE from Mitre](https://cwe.mitre.org/data/index.html)).
14+
15+
Lots of enterprises are more aware about security in their software, ransomware groups and attacks are pretty common every single day, automated scannners for common vulnerabilities run by bad actors...
16+
17+
The are lots of reasons to take security seriously as a developer. Just take a Raspberry Pi (or other similar device) or spin up a VM in a cloud service, and open SSH port on port 22 publicly... You will be shocked with the number of attempts to login to your device...
18+
19+
Then have a look to some of this visualization tools:
20+
21+
* [Cloudflare](https://www.cloudflare.com/) offers ["Cloudflare Radar"](https://radar.cloudflare.com/) where you can see an instant overview of internet insights (some regarding security and attacks).
22+
* The [NIST (National Instutute of Standards and Technology)](https://www.nist.gov/) provides [multiple visualizations of it's vulnerability database.](https://nvd.nist.gov/general/visualizations)
23+
* [CheckPoint ](https://www.checkpoint.com/)offers [ThreatMap](https://threatmap.checkpoint.com/) where you can see attacks in real time, as well as attacks on the day of visit (tends to grow to millions a day).
24+
* [Kaspersky](https://www.kaspersky.com/) offers [Cybermap](https://cybermap.kaspersky.com/), a realtime CyberTheat map.
25+
* [Radware](https://radware.com) offers [another live threat map](https://livethreatmap.radware.com/) worth to check out.
26+
* [NetScoute](https://www.netscout.com/) offers [Horizon](https://horizon.netscout.com/), its own cyber threat real-time map.
27+
* [Imperva](https://www.imperva.com/) also offers [its own cyber threat attack map](https://www.imperva.com/cyber-threat-attack-map/).
28+
* And lots of other tools:
29+
* [Digital Attack Map (DDoS attacks)](https://www.digitalattackmap.com/)
30+
* [Akamai Internet Station (Cyber attacks)](https://www.akamai.com/internet-station/cyber-attacks)
31+
* [Threatbutt Internet Hacking Attack Attribution Map](https://threatbutt.com/map/)
32+
* [Fortiguard (Fortinet) threat map](https://threatmap.fortiguard.com/)
33+
* [Bitdefender Cyberthreat real time map](https://threatmap.bitdefender.com/)
34+
* [Talos Cyber attack map (Spam & Malware)](https://talosintelligence.com/fullpage\_maps/pulse)
35+
* [SonicWall live attack map](https://attackmap.sonicwall.com/live-attack-map/)
36+
37+
Search news for data breaches, security incidents, ransomware attacks.
38+
39+
Are you more concerned now?
40+
41+
Great. Let's improve this situation...
42+
43+
**A good starting point is to look at** [**OWASP Top Ten**](https://owasp.org/www-project-top-ten/)**, these are the main application security risks that are most important nowadays. The goal is to minimise these risks.**
44+
45+
## OWASP Secure Coding Practices Checklist
46+
47+
A very good starting point to ensure whatever you are developing, you meet with [this OWASP checklist](https://owasp.org/www-project-secure-coding-practices-quick-reference-guide/stable-en/02-checklist/05-checklist).
48+
49+
[This SecureCoding blog post](https://www.securecoding.com/blog/owasp-secure-coding-checklist/) about it, it's also very useful.
50+
51+
This checklist covers the following points:
52+
53+
* Input Validation
54+
* Output Encoding
55+
* Authentication & Password Management
56+
* Session Management
57+
* Access Control
58+
* Cryptographic Practices
59+
* Error Handling & Logging
60+
* Data Protection
61+
* Communication Security
62+
* System Configuration
63+
* Database Security
64+
* File Management
65+
* Memory Management
66+
* **General coding practices (this last point is very important)**
67+
68+
From the last bullet point, make sure you are following this coding practices:
69+
70+
* [ ] **Use tested and approved managed code** rather than creating new unmanaged code for common tasks.
71+
* [ ] Utilize task specific built-in APIs to conduct operating system tasks. **Do not allow the application to issue commands directly to the Operating System, especially through the use of application initiated command shells**.
72+
* [ ] **Use** [**checksums** ](https://en.wikipedia.org/wiki/Checksum)**or hashes to verify the integrity** of interpreted code, libraries, executables, and configuration files.
73+
* [ ] Utilize locking to prevent multiple simultaneous requests or use a synchronization mechanism to **prevent race conditions**.
74+
* [ ] **Protect shared variables and resources** from inappropriate concurrent access.
75+
* [ ] **Explicitly initialize all your variables and other data stores**, either during declaration or just before the first usage.
76+
* [ ] In cases where the application must run with elevated privileges, **raise privileges as late as possible, and drop them as soon as possible**.
77+
* [ ] Avoid calculation errors by **understanding your programming language's underlying representation.**
78+
* [ ] **Do not pass user supplied data to any dynamic execution function.**
79+
* [ ] **Restrict users from generating new code or altering existing code.**
80+
* [ ] **Review all secondary applications, third party code and libraries** to determine business necessity and validate safe functionality.
81+
* [ ] Implement **safe updating using encrypted channels.**
82+
83+
## Getting some help
84+
85+
You don't have to do all of this without help!
86+
87+
Look for professionals, professional enterprise ready tools and solutions. awesome OSS projects and others in other sections of this page:
88+
89+
* [Broken link](broken-reference "mention")
90+
* [Broken link](broken-reference "mention")
91+

resources/articles.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ Here are some articles worth to read.
99
### DevSecOps
1010

1111
* [DevSecOps: Secure code quickly and easily | Red Hat Developer](https://developers.redhat.com/articles/2022/01/27/devsecops-why-you-should-care-and-how-get-started)
12+
* [DevSecOps: Making Security Central To Your DevOps Pipeline](https://spacelift.io/blog/what-is-devsecops)
1213
* [Challenges and solutions when adopting DevSecOps: A … - ScienceDirect](https://www.sciencedirect.com/science/article/pii/S0950584921001543)
1314
* [Best practices for successful DevSecOps | Red Hat Developer](https://developers.redhat.com/articles/2022/06/15/best-practices-successful-devsecops)
1415
* [How DevSecOps brings security into the development process](https://developers.redhat.com/articles/2021/12/01/how-devsecops-brings-security-development-process)

resources/communities.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,3 +5,5 @@ description: Communities you may be interested in
55
# Communities
66

77
* [DevSecCon: The global DevSecOps community](https://www.devseccon.com/)
8+
* [Veracode Community](https://community.veracode.com/s/)
9+
* [SecureCoding](https://www.securecoding.com/)

resources/institutions.md

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,3 +13,14 @@ description: CyberSecurity related institutions
1313
[NIST (National Institute of Standards and Technology)](https://www.nist.gov/)
1414

1515
* [GitHub](https://github.com/usnistgov)
16+
17+
[CIS (Center for Internet Security)](https://www.cisecurity.org/)
18+
19+
* [GitHub](https://github.com/CISecurity)
20+
21+
## Spain:
22+
23+
[INCIBE (National Institute of Cybersecurity (Spain))](https://www.incibe.es/en/incibe)
24+
25+
* [INCIBE-CERT](https://www.incibe.es/en/incibe-cert): the security incident response center of reference for citizens and private law entities in Spain operated by the National Institute of Cybersecurity (INCIBE).
26+
* [GitHub](https://github.com/INCIBE-CERT)

resources/other.md

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,11 @@ Outdated resources are marked with the symbol: ⚠️
2020
* [GitHub](https://github.com/cisagov)
2121
* [NIST (National Institute of Standards and Technology)](https://www.nist.gov/)
2222
* [GitHub](https://github.com/usnistgov)
23+
* [CIS (Center for Internet Security)](https://www.cisecurity.org/)
24+
* [GitHub](https://github.com/CISecurity)
25+
* [INCIBE (National Institute of Cybersecurity (Spain))](https://www.incibe.es/en/incibe)
26+
* [INCIBE-CERT](https://www.incibe.es/en/incibe-cert): the security incident response center of reference for citizens and private law entities in Spain operated by the National Institute of Cybersecurity (INCIBE).
27+
* [GitHub](https://github.com/INCIBE-CERT)
2328

2429
## Organizations / Foundations
2530

@@ -118,6 +123,8 @@ Outdated resources are marked with the symbol: ⚠️
118123
* [CyberArk](https://www.cyberark.com/): offers the most complete and extensible Identity Security Platform, protecting identities and critical assets by enabling Zero Trust and enforcing least privilege.
119124
* [Puma Security](https://pumasecurity.io/): to help organizations build, develop, and support systems to deliver secure products and services.
120125
* [ReportURI](https://report-uri.com/): browser security technologies, enabling you to detect and mitigate attacks, fast.
126+
* [INE](https://ine.com/): challenge your team, regardless of level, to a training platform that puts real world infrastructure first. Learn from expert instructors and prove your knowledge in Networking, Cyber Security, Cloud and Data Science.
127+
* [debricked](https://debricked.com/): take full control of security, compliance and health with a toolkit that will revolutionize the way you use open source.
121128

122129
## Lists
123130

@@ -192,6 +199,7 @@ Outdated resources are marked with the symbol: ⚠️
192199
* [HolyTips](https://github.com/HolyBugx/HolyTips): a Collection of Notes, Checklists, Writeups on Bug Bounty Hunting and Web Application Security.
193200
* [CyberSecurityRSS ](https://github.com/zer0yu/CyberSecurityRSS)(English/Chinese): a collection of cybersecurity RSS.
194201
* [AI for security learning](https://github.com/404notf0und/AI-for-Security-Learning) (Chinese)
202+
* [Veracode Resources](https://www.veracode.com/resources): lots of resources in several formats from Veracode.
195203

196204
## Security Development
197205

@@ -235,12 +243,16 @@ Outdated resources are marked with the symbol: ⚠️
235243
## Advisories databases
236244

237245
* [OSV](https://osv.dev/): a distributed vulnerability database for Open Source.
238-
* [OSV.dev mantained converters](https://github.com/google/osv.dev#current-data-sources): 
246+
* [OSV.dev mantained converters](https://github.com/google/osv.dev#current-data-sources)
239247
* [GitHub Advisory Database](https://github.com/github/advisory-database) ([web](https://github.com/advisories)): security vulnerability database inclusive of CVEs and GitHub originated security advisories from the world of open source software.
240248
* [Security advisories reported on GitHub](https://docs.github.com/en/code-security/security-advisories/repository-security-advisories/about-repository-security-advisories)
241249
* [National Vulnerability Database](https://nvd.nist.gov/)
242250
* [Global Security Database](https://github.com/cloudsecurityalliance/gsd-databasehttps://github.com/cloudsecurityalliance/gsd-database) ([web](https://gsd.id/))
251+
* [debricked Vulnerability Database](https://debricked.com/vulnerability-database)
252+
* [Socket.dev package search](https://socket.dev/)
253+
* [Open Source Insights - devs.dev](https://deps.dev/): Open Source Insights is a service developed and hosted by Google to help developers better understand the structure, construction, and security of open source software packages.
243254
* [npm Security Advisories Database](https://github.com/advisories?query=type%3Areviewed+ecosystem%3Anpm)
255+
* [Veracode Vulnerability Database](https://sca.analysiscenter.veracode.com/vulnerability-database/search)
244256
* [FriendsOfPHP Database](https://github.com/FriendsOfPHP/security-advisories)
245257
* [Go Vulnerability Database](https://vuln.go.dev/)
246258
* [Python Packaging Advisory Database](https://github.com/pypa/advisory-database) (PyPI)
@@ -263,9 +275,11 @@ Outdated resources are marked with the symbol: ⚠️
263275
* [OWASP Vulnerable Web Applications Directory (VWAD)](https://owasp.org/www-project-vulnerable-web-applications-directory/): a comprehensive and well maintained registry of known vulnerable web and mobile applications currently available.
264276
* [OWASP Juice Shop](https://github.com/juice-shop/juice-shop) ([web](https://owasp.org/www-project-juice-shop/)): Probably the most modern and sophisticated insecure web application.
265277
* [OWASP NodeGoat](https://github.com/OWASP/NodeGoat) ([web](https://wiki.owasp.org/index.php/Projects/OWASP\_Node\_js\_Goat\_Project)): provides an environment to learn how OWASP Top 10 security risks apply to web applications developed using Node.js and how to effectively address them.
278+
* [OWASP DVSA](https://github.com/OWASP/DVSA) ([web](https://owasp.org/www-project-dvsa/)): Damn Vulnerable Serverless Application (DVSA) is a deliberately vulnerable application aiming to be an aid for security professionals to test their skills and tools in a legal environment, help developers better understand the processes of securing serverless applications and to aid both students & teachers to learn about serverless application security in a controlled class room environment.
266279
* Checkmarx [capital](https://github.com/Checkmarx/capital): a built-to-be-vulnerable API application based on the OWASP top 10 API vulnerabilities. Use c{api}tal to learn, train and exploit API Security vulnerabilities within your own API Security CTF.
267280
* [Badssl.com](https://github.com/chromium/badssl.com) ([web](https://badssl.com/)): memorable site for testing clients against bad SSL configs.
268281
* [CI/CD GOAT](https://github.com/cider-security-research/cicd-goat): a deliberately vulnerable CI/CD environment. Learn CI/CD security through multiple challenges.
282+
* INE [Azure Goat](https://github.com/ine-labs/AzureGoat): a Damn Vulnerable Azure Infrastructure.
269283
* Bridgecrew [TerraGoat](https://github.com/bridgecrewio/terragoat): "Vulnerable by Design" Terraform repository. TerraGoat is a learning and training project that demonstrates how common configuration errors can find their way into production cloud environments.
270284
* Bridgecrew [Cfngoat](https://github.com/bridgecrewio/cfngoat): Cfngoat is a learning and training project that demonstrates how common configuration errors can find their way into production cloud environments (Cloudformation).
271285
* [Kubernetes Goat](https://github.com/madhuakula/kubernetes-goat) ([web](https://madhuakula.com/kubernetes-goat)): a "Vulnerable by Design" cluster environment to learn and practice Kubernetes security using an interactive hands-on playground.

tools/dependency-management.md

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,12 @@ description: Ensuring the dependencies of your codebase are secure
44

55
# Dependency Management
66

7+
## About
8+
9+
Dependency management security is a crucial aspect of software development that focuses on mitigating risks associated with the use of third-party libraries or components, often referred to as dependencies. In modern software development, it's common to use a variety of these dependencies to avoid "reinventing the wheel" for common or complex tasks. However, these dependencies can have vulnerabilities that, if left unmanaged, can expose the software, and potentially the wider system, to security risks.
10+
11+
## Popular products and solutions
12+
713
From the [Static Analysis section](static-analysis.md), these tools covers "Dependency management":
814

915
* **GitHub:**
@@ -27,6 +33,9 @@ From the [Static Analysis section](static-analysis.md), these tools covers "Depe
2733

2834
* [npm audit](https://docs.npmjs.com/cli/audit): vulnerable package auditing for packages built into the npm CLI.
2935
* [Bundlephobia](https://bundlephobia.com/): find the cost of adding a npm package to your bundle.
36+
* [Socket](https://socket.dev/): fights vulnerabilities and provides visibility, defense-in-depth, and proactive supply chain protection for JavaScript and Python dependencies.
37+
* [Open Source Insights - deps.dev](https://deps.dev/): Open Source Insights is a service developed and hosted by Google to help developers better understand the structure, construction, and security of open source software packages.
38+
* [Overlay](https://github.com/os-scar/overlay): a browser extension helping developers evaluate open source packages before picking them.
3039
* [is website vulnerable](https://github.com/lirantal/is-website-vulnerable): finds publicly known security vulnerabilities in a website's frontend JavaScript libraries.
3140
* [retire.js](https://github.com/RetireJS/retire.js) ([web](https://retirejs.github.io/retire.js/)): scanner detecting the use of JavaScript libraries with known vulnerabilities. Can also generate an SBOM of the libraries it finds.
3241

0 commit comments

Comments
 (0)