4 Known Vulnerabilities Unknown Vulnerabilities Vulnerabilities ● Known vulnerabilities ● Vulnerability ID assigned ● e.g. CVE-ID ● Unknown vulnerabilities ● Non-disclosure Designed by vvstudio / Freepik
5 Known Vulnerabilities Unknown Vulnerabilities Vulnerabilities ● Known vulnerabilities ● Scanner Identifying components with known vulnerabilities ● e.g. Trivy, Clair, Aqua Scanner ● Unknown vulnerabilities ● Web application vulnerability scanners , Fuzzing tool ● e.g. OWASP ZAP, OSS-Fuzz Designed by vvstudio / Freepik Target
6 Your Vulnerabilities 3rd Party Vulnerabilities Vulnerabilities ● Your vulnerabilities ● Software written by you ● 3rd Party vulnerabilities ● Well-known software ● e.g. OpenSSL, Nginx Your Vulnerabilities 3rd Party Vulnerabilities Designed by vvstudio / Freepik Target
18 How does software get into a Linux distribution? ■Enable / disable features ■Link with libraries ■Re-package 3rd-party developers write source Binary distribution Upstream Distribution ■Fix bugs that aren’t in upstream ■Apply security patches Compiled & packaged Package repository
Case study: Debian - focus on stability ● New versions may take months to reach the package repositories ● Often don’t want to update to latest version for an upstream fix to a security vulnerability ● Debian often backports security fixes to older versions and repackages them
30 03 System Package Manager e.g. yum/apt 01 02 Application Package Manager e.g. npm, bundler Self- installation e.g. make How does software get into a server? Support Support
33 Security advisory ● Fetch and commit security advisories daily ● Cron Jobs on Travis CI ● Pros: ● Stability Some APIs often return 500 ● Fetch only the difference ● History e.g. CVSS score update https://github.com/aquasecurity/vuln-list
34 Alpine Linux ● No security advisory ● Crawl all issues with security label ● https://gitlab.alpinelinux.org/alpine/aports/issues?scope=all&label_name[]=Security ● Check for differences (git diff) Discussing with developers