SlideShare a Scribd company logo
CI / CD / CS
About me
Continuous Integration.
CI / CD / CS - Continuous Security in Kubernetes
Continuous Delivery.
Tools to deploy automatically apps into Kubernetes:
CI / CD / CS - Continuous Security in Kubernetes
Continuous Security.
- New infrastructure, new layers, new risks
- But we have seen them before:
- DDoS, isolation break-out, injections
- Fast pipeline: skip security?
- This is an opportunity
- More steps: more security onion layers
https://sysdig.com/blog/7-docker-security-vulnerabilities/
Are containers secure?.
How to do security?.
- Establish trust boundaries (dev vs prod)
- Identify, minimise, and harden attack
surfaces
- Reduce scope and access
- Layer protections and defenses (secure and
updates)
- Traceability and test
Continuous Security.
- DevOps: agile and faster
- Security team: less incidents
DevSecOps!
- Modify process to bring security, agile
- Security as Code
- Failure: open an issue vs break the build
Security pipeline.
- Build
- Shipment
- Run-time
Security pipeline: Build.
- Code analysis
- specific vulnerabilities
- licensing
- style
- branch policies: PR, check, merge
- Test Driven Security (TDS)
- OWASP ZAP Scanning
Security pipeline: Build.
- Container build
- Trusted base image
- Restrict functionality
- Restrict libraries / dependencies
- Multi-stage builds
- Restrict privileges
- root, privileged, host, mounts
- Dockerfile: USER
Security pipeline: Build.
- Container scan
- At the CI -> registry step
- Find known vulnerabilities: inventory
- CoreOS Red Hat Clair
- Anchore (integrated in Sysdig Secure soon)
- Red Hat OpenScap
- Vuls.io
- Other commercial vendors
CI / CD / CS - Continuous Security in Kubernetes
What we are looking for?.
- Package lists
- Software installed manually (pip, rake, …)
- Static binaries
- Hashes of known vulnerabilities
- Lost credentials
- Docker image layers
Ubuntu: 14.04
Apache: 2.2
Wordpress: 4.6 PHP: 7.0
Ubuntu: 14.04
Apache: 2.2
Wordpress: 4.6 PHP: 7.0
Ubuntu: 14.04
Apache: 2.2
Wordpress: 4.6 PHP: 7.0
How to bring this into the pipeline?.
- CI, build the image
- Scan:
- https://github.com/optiopay/klar
- https://gitlab.com/gitlab-org/clair-scanner
- https://wiki.jenkins.io/display/JENKINS/Anchore+C
ontainer+Image+Scanner+Plugin
- https://github.com/jenkinsci/anchore-container-sc
anner-plugin
- Push into the registry
Container registries.
- Often they already include scanning:
- DockerHub
- Quay.io
- GCR
- ECR
- ACR
- many!
Security pipeline.
- Build
- Shipment
- Run-time
Security pipeline: Shipment.
- Trust
- enable image signing
- DOCKER_CONTENT_TRUST=1
- Restrict
- registry auth and CI/CD tools
- Kubernetes ValidatingAdmissionWebhook
- Google Grafeas
CI / CD / CS - Continuous Security in Kubernetes
Security pipeline.
- Build
- Shipment
- Run-time
Security pipeline: Run-time.
- Infrastructure security configuration:
- Host security
- Docker Engine security
- Kubernetes security
- Docker CIS benchmark: docker-bench
- Kubernetes CIS benchmark: kube-bench
Security pipeline: Kubernetes.
- RBAC
- namespaces
- Subjects: users and serviceAccounts
- resources
- Role and ClusterRole
- verbs: LIST, WATCH, GET, UPDATE, PATCH, DELETE
- RoleBindings and ClusterRoleBindings
https://sysdig.com/blog/kubernetes-security-rbac-tls/
kind: Role
apiVersion: rbac.authorization.k8s.io/v1
metadata:
namespace: default
name: pod-reader
rules:
- apiGroups: [""] # "" indicates the core API group
resources: ["pods"]
verbs: ["get", "watch", "list"]
# This role binding allows "jane" to read pods in the "default" namespace.
kind: RoleBinding
apiVersion: rbac.authorization.k8s.io/v1
metadata:
name: read-pods
namespace: default
subjects:
- kind: User
name: jane
apiGroup: rbac.authorization.k8s.io
roleRef:
kind: Role
name: pod-reader
apiGroup: rbac.authorization.k8s.io
Security pipeline: Kubernetes.
- Admission controllers: PodSecurityPolicy
- Privileged/hostPID/hostIPC/hostNetwork/
hostPorts
- runAsUser
- volumes/allowedHostPaths/ReadOnlyRootFi
lesystem
- Capabilities
- SELinux/AppArmor/seccomp
https://sysdig.com/blog/kubernetes-security-psp-network-policy/
Security pipeline: Kubernetes.
- Admission controllers
- DenyEscalatingExec
- NodeRestriction
- PodSecurityPolicy
- ValidatingAdmissionWebhooks
Security pipeline: Kubernetes.
- Resource management
resources:
requests:
memory: 512Mi
limits:
memory: 700Mi
- Network Policies: Cilium, Calico, iptables
- Audit system
- TLS everywhere
https://sysdig.com/blog/kubernetes-security-harden-kube-system/
Security pipeline: Run-time scanning.
- Threat detection
- Network inspection
- Privilege escalation
- Post-mortem analysis and forensics
- Attacks are multiple steps
- Successful attack those are unknown to us
- But we just need to recognize one IoC
Seccomp.
- Application syscall sandboxing
- Create filter (BPF) with allowed syscalls
- Failures-> log message, error return,
and/or kill process
- Docker runs containerized process under a
seccomp profile
- Notable disallowed syscalls:
- clone (creating new namespaces)
- reboot (reboot the host)
- setns (change namespaces)
MAC: SELinux / AppArmor.
- Kernel-level interception/filtering
- features++ && complexity++
- Higher level:
- Actors (process)
- Actions (read/write on files/sockets)
- Targets (files, IPs, ports)
https://sysdig.com/blog/selinux-seccomp-falco-technical-discussion/
- An open-source behavioral activity monitor
- Detects suspicious activity defined by a
set of rules
- Uses Sysdig’s flexible and powerful
filtering expressions
- With full support for
containers/orchestration
sysdig.com/opensource/falco/
CI / CD / CS - Continuous Security in Kubernetes
- macro: proc_is_new
condition: proc.duration <= 5000000000
- rule: Read secret file after startup
desc: >
an attempt to read any secret file (e.g. files containing user/password/authentication
information) Processes might read these files at startup, but not afterwards.
condition: fd.name startswith /etc/secrets and open_read and not proc_is_new
output: >
Sensitive file opened for reading after startup (user=%user.name
command=%proc.cmdline file=%fd.name)
priority: WARNING
Falco real rule example.
Incident response.
Post-mortem and forensics.
What?
Where?
Who?
Why?
logs? SSH into prod? and start messing around?
How we did this in the past?.
System call tracing
System calls for forensics?
Sysdig Inspect
https://github.com/draios/sysdig-inspect (integrated in Sysdig Secure too)
CI/CD/CS, closing the security gap
- Build
- Shipment
- Run-time
- Forensics
Thank you!

More Related Content

What's hot (20)

PDF
Docker Security Deep Dive by Ying Li and David Lawrence
Docker, Inc.
 
PPTX
Security best practices for kubernetes deployment
Michael Cherny
 
PDF
What’s New in Docker - Victor Vieux, Docker
Docker, Inc.
 
PPTX
KubeCon EU 2016: Multi-Tenant Kubernetes
KubeAcademy
 
PPTX
K8s security best practices
Sharon Vendrov
 
PDF
Container Days Boston - Kubernetes in production
Mike Splain
 
PDF
Deploying Kubernetes without scaring off your security team - KubeCon 2017
Major Hayden
 
PDF
Troubleshooting Tips from a Docker Support Engineer
Jeff Anderson
 
PDF
Jörg Schad - NO ONE PUTS Java IN THE CONTAINER - Codemotion Milan 2017
Codemotion
 
PPTX
A Survey of Container Security in 2016: A Security Update on Container Platforms
Salman Baset
 
PDF
From pets to cattle - powered by CoreOS, docker, Mesos & nginx
QAware GmbH
 
PDF
Online Meetup: Why should container system / platform builders care about con...
Docker, Inc.
 
PPTX
Thinking Inside the Container: A Continuous Delivery Story by Maxfield Stewart
Docker, Inc.
 
PDF
Building A SaaS with CoreOS, Docker, and Etcd
Ross Kukulinski
 
PDF
What's New in Docker 1.12 (June 20, 2016) by Mike Goelzer & Andrea Luzzardi
Mike Goelzer
 
PPTX
K8s security best practices
Sharon Vendrov
 
PDF
Docker London: Container Security
Phil Estes
 
PPTX
Orchestration tool roundup kubernetes vs. docker vs. heat vs. terra form vs...
Nati Shalom
 
PDF
Jacopo Nardiello - Monitoring Cloud-Native applications with Prometheus - Cod...
Codemotion
 
PDF
Enhancing OpenShift Security for Business Critical Deployments
DevOps.com
 
Docker Security Deep Dive by Ying Li and David Lawrence
Docker, Inc.
 
Security best practices for kubernetes deployment
Michael Cherny
 
What’s New in Docker - Victor Vieux, Docker
Docker, Inc.
 
KubeCon EU 2016: Multi-Tenant Kubernetes
KubeAcademy
 
K8s security best practices
Sharon Vendrov
 
Container Days Boston - Kubernetes in production
Mike Splain
 
Deploying Kubernetes without scaring off your security team - KubeCon 2017
Major Hayden
 
Troubleshooting Tips from a Docker Support Engineer
Jeff Anderson
 
Jörg Schad - NO ONE PUTS Java IN THE CONTAINER - Codemotion Milan 2017
Codemotion
 
A Survey of Container Security in 2016: A Security Update on Container Platforms
Salman Baset
 
From pets to cattle - powered by CoreOS, docker, Mesos & nginx
QAware GmbH
 
Online Meetup: Why should container system / platform builders care about con...
Docker, Inc.
 
Thinking Inside the Container: A Continuous Delivery Story by Maxfield Stewart
Docker, Inc.
 
Building A SaaS with CoreOS, Docker, and Etcd
Ross Kukulinski
 
What's New in Docker 1.12 (June 20, 2016) by Mike Goelzer & Andrea Luzzardi
Mike Goelzer
 
K8s security best practices
Sharon Vendrov
 
Docker London: Container Security
Phil Estes
 
Orchestration tool roundup kubernetes vs. docker vs. heat vs. terra form vs...
Nati Shalom
 
Jacopo Nardiello - Monitoring Cloud-Native applications with Prometheus - Cod...
Codemotion
 
Enhancing OpenShift Security for Business Critical Deployments
DevOps.com
 

Similar to CI / CD / CS - Continuous Security in Kubernetes (20)

ODP
Continuous Security
Sysdig
 
PDF
Containerizing your Security Operations Center
Jimmy Mesta
 
PDF
WTF my container just spawned a shell!
Sysdig
 
PDF
Lions, Tigers and Deers: What building zoos can teach us about securing micro...
Sysdig
 
PDF
Dockers zero to hero
Nicolas De Loof
 
PDF
Docker Runtime Security
Sysdig
 
PPTX
Docker - Demo on PHP Application deployment
Arun prasath
 
PPTX
Container security
Anthony Chow
 
PPTX
DevOpsDaysRiga 2017: Mandi Walls - Building security into your workflow with ...
DevOpsDays Riga
 
PDF
Embacing service-level-objectives of your microservices in your Cl/CD
Nebulaworks
 
PPTX
LlinuxKit security, Security Scanning and Notary
Docker, Inc.
 
PDF
Pragmatic Pipeline Security
James Wickett
 
PPTX
InSpec at DevOps ATL Meetup January 22, 2020
Mandi Walls
 
PPTX
Open source security tools for Kubernetes.
Michael Ducy
 
PPTX
Microservices and containers for the unitiated
Kevin Lee
 
PPTX
How Honestbee Does CI/CD on Kubernetes - Vincent DeSmet
DevOpsDaysJKT
 
PDF
The Future of Security and Productivity in Our Newly Remote World
DevOps.com
 
PDF
PVS-Studio in the Clouds: Travis CI
Andrey Karpov
 
PDF
Code Factory avec GitLab CI et Rancher
SUSE
 
PPTX
Container Monitoring with Sysdig
Sreenivas Makam
 
Continuous Security
Sysdig
 
Containerizing your Security Operations Center
Jimmy Mesta
 
WTF my container just spawned a shell!
Sysdig
 
Lions, Tigers and Deers: What building zoos can teach us about securing micro...
Sysdig
 
Dockers zero to hero
Nicolas De Loof
 
Docker Runtime Security
Sysdig
 
Docker - Demo on PHP Application deployment
Arun prasath
 
Container security
Anthony Chow
 
DevOpsDaysRiga 2017: Mandi Walls - Building security into your workflow with ...
DevOpsDays Riga
 
Embacing service-level-objectives of your microservices in your Cl/CD
Nebulaworks
 
LlinuxKit security, Security Scanning and Notary
Docker, Inc.
 
Pragmatic Pipeline Security
James Wickett
 
InSpec at DevOps ATL Meetup January 22, 2020
Mandi Walls
 
Open source security tools for Kubernetes.
Michael Ducy
 
Microservices and containers for the unitiated
Kevin Lee
 
How Honestbee Does CI/CD on Kubernetes - Vincent DeSmet
DevOpsDaysJKT
 
The Future of Security and Productivity in Our Newly Remote World
DevOps.com
 
PVS-Studio in the Clouds: Travis CI
Andrey Karpov
 
Code Factory avec GitLab CI et Rancher
SUSE
 
Container Monitoring with Sysdig
Sreenivas Makam
 
Ad

More from Sysdig (15)

PDF
Wordpress y Docker, de desarrollo a produccion
Sysdig
 
PDF
The top 5 Kubernetes metrics to monitor
Sysdig
 
PDF
Behavioural activity monitoring on CoreOS with Sysdig Falco
Sysdig
 
PDF
Trace everything, when APM meets SysAdmins
Sysdig
 
PPTX
You're monitoring Kubernetes Wrong
Sysdig
 
PDF
The Dark Art of Container Monitoring - Spanish
Sysdig
 
ODP
Building Trustworthy Containers
Sysdig
 
PPTX
A brief history of system calls
Sysdig
 
PPTX
Designing Tracing Tools
Sysdig
 
PDF
Extending Sysdig with Chisel
Sysdig
 
PDF
Intro to sysdig in 15 minutes
Sysdig
 
PDF
Troubleshooting Kubernetes
Sysdig
 
PPTX
Find the Hacker
Sysdig
 
PPTX
How to Secure Containers
Sysdig
 
PPTX
Sysdig Meetup - San Francisco, December 2014
Sysdig
 
Wordpress y Docker, de desarrollo a produccion
Sysdig
 
The top 5 Kubernetes metrics to monitor
Sysdig
 
Behavioural activity monitoring on CoreOS with Sysdig Falco
Sysdig
 
Trace everything, when APM meets SysAdmins
Sysdig
 
You're monitoring Kubernetes Wrong
Sysdig
 
The Dark Art of Container Monitoring - Spanish
Sysdig
 
Building Trustworthy Containers
Sysdig
 
A brief history of system calls
Sysdig
 
Designing Tracing Tools
Sysdig
 
Extending Sysdig with Chisel
Sysdig
 
Intro to sysdig in 15 minutes
Sysdig
 
Troubleshooting Kubernetes
Sysdig
 
Find the Hacker
Sysdig
 
How to Secure Containers
Sysdig
 
Sysdig Meetup - San Francisco, December 2014
Sysdig
 
Ad

Recently uploaded (20)

PDF
Zilliz Cloud Demo for performance and scale
Zilliz
 
DOCX
CS-802 (A) BDH Lab manual IPS Academy Indore
thegodhimself05
 
PPT
PPT2_Metal formingMECHANICALENGINEEIRNG .ppt
Praveen Kumar
 
PDF
Pressure Measurement training for engineers and Technicians
AIESOLUTIONS
 
PPTX
Depth First Search Algorithm in 🧠 DFS in Artificial Intelligence (AI)
rafeeqshaik212002
 
PPTX
Thermal runway and thermal stability.pptx
godow93766
 
PPTX
原版一样(Acadia毕业证书)加拿大阿卡迪亚大学毕业证办理方法
Taqyea
 
PPTX
Types of Bearing_Specifications_PPT.pptx
PranjulAgrahariAkash
 
PPTX
Product Development & DevelopmentLecture02.pptx
zeeshanwazir2
 
PPTX
MobileComputingMANET2023 MobileComputingMANET2023.pptx
masterfake98765
 
PPTX
GitOps_Without_K8s_Training simple one without k8s
DanialHabibi2
 
PDF
MAD Unit - 1 Introduction of Android IT Department
JappanMavani
 
DOCX
8th International Conference on Electrical Engineering (ELEN 2025)
elelijjournal653
 
PPTX
Element 11. ELECTRICITY safety and hazards
merrandomohandas
 
PPTX
Introduction to Design of Machine Elements
PradeepKumarS27
 
PPTX
Heart Bleed Bug - A case study (Course: Cryptography and Network Security)
Adri Jovin
 
PPTX
美国电子版毕业证南卡罗莱纳大学上州分校水印成绩单USC学费发票定做学位证书编号怎么查
Taqyea
 
PDF
MAD Unit - 2 Activity and Fragment Management in Android (Diploma IT)
JappanMavani
 
PDF
Introduction to Productivity and Quality
মোঃ ফুরকান উদ্দিন জুয়েল
 
PPTX
Damage of stability of a ship and how its change .pptx
ehamadulhaque
 
Zilliz Cloud Demo for performance and scale
Zilliz
 
CS-802 (A) BDH Lab manual IPS Academy Indore
thegodhimself05
 
PPT2_Metal formingMECHANICALENGINEEIRNG .ppt
Praveen Kumar
 
Pressure Measurement training for engineers and Technicians
AIESOLUTIONS
 
Depth First Search Algorithm in 🧠 DFS in Artificial Intelligence (AI)
rafeeqshaik212002
 
Thermal runway and thermal stability.pptx
godow93766
 
原版一样(Acadia毕业证书)加拿大阿卡迪亚大学毕业证办理方法
Taqyea
 
Types of Bearing_Specifications_PPT.pptx
PranjulAgrahariAkash
 
Product Development & DevelopmentLecture02.pptx
zeeshanwazir2
 
MobileComputingMANET2023 MobileComputingMANET2023.pptx
masterfake98765
 
GitOps_Without_K8s_Training simple one without k8s
DanialHabibi2
 
MAD Unit - 1 Introduction of Android IT Department
JappanMavani
 
8th International Conference on Electrical Engineering (ELEN 2025)
elelijjournal653
 
Element 11. ELECTRICITY safety and hazards
merrandomohandas
 
Introduction to Design of Machine Elements
PradeepKumarS27
 
Heart Bleed Bug - A case study (Course: Cryptography and Network Security)
Adri Jovin
 
美国电子版毕业证南卡罗莱纳大学上州分校水印成绩单USC学费发票定做学位证书编号怎么查
Taqyea
 
MAD Unit - 2 Activity and Fragment Management in Android (Diploma IT)
JappanMavani
 
Introduction to Productivity and Quality
মোঃ ফুরকান উদ্দিন জুয়েল
 
Damage of stability of a ship and how its change .pptx
ehamadulhaque
 

CI / CD / CS - Continuous Security in Kubernetes

  • 1. CI / CD / CS
  • 6. Tools to deploy automatically apps into Kubernetes:
  • 9. - New infrastructure, new layers, new risks - But we have seen them before: - DDoS, isolation break-out, injections - Fast pipeline: skip security? - This is an opportunity - More steps: more security onion layers https://sysdig.com/blog/7-docker-security-vulnerabilities/ Are containers secure?.
  • 10. How to do security?. - Establish trust boundaries (dev vs prod) - Identify, minimise, and harden attack surfaces - Reduce scope and access - Layer protections and defenses (secure and updates) - Traceability and test
  • 11. Continuous Security. - DevOps: agile and faster - Security team: less incidents DevSecOps! - Modify process to bring security, agile - Security as Code - Failure: open an issue vs break the build
  • 12. Security pipeline. - Build - Shipment - Run-time
  • 13. Security pipeline: Build. - Code analysis - specific vulnerabilities - licensing - style - branch policies: PR, check, merge - Test Driven Security (TDS) - OWASP ZAP Scanning
  • 14. Security pipeline: Build. - Container build - Trusted base image - Restrict functionality - Restrict libraries / dependencies - Multi-stage builds - Restrict privileges - root, privileged, host, mounts - Dockerfile: USER
  • 15. Security pipeline: Build. - Container scan - At the CI -> registry step - Find known vulnerabilities: inventory - CoreOS Red Hat Clair - Anchore (integrated in Sysdig Secure soon) - Red Hat OpenScap - Vuls.io - Other commercial vendors
  • 17. What we are looking for?. - Package lists - Software installed manually (pip, rake, …) - Static binaries - Hashes of known vulnerabilities - Lost credentials - Docker image layers
  • 21. How to bring this into the pipeline?. - CI, build the image - Scan: - https://github.com/optiopay/klar - https://gitlab.com/gitlab-org/clair-scanner - https://wiki.jenkins.io/display/JENKINS/Anchore+C ontainer+Image+Scanner+Plugin - https://github.com/jenkinsci/anchore-container-sc anner-plugin - Push into the registry
  • 22. Container registries. - Often they already include scanning: - DockerHub - Quay.io - GCR - ECR - ACR - many!
  • 23. Security pipeline. - Build - Shipment - Run-time
  • 24. Security pipeline: Shipment. - Trust - enable image signing - DOCKER_CONTENT_TRUST=1 - Restrict - registry auth and CI/CD tools - Kubernetes ValidatingAdmissionWebhook - Google Grafeas
  • 26. Security pipeline. - Build - Shipment - Run-time
  • 27. Security pipeline: Run-time. - Infrastructure security configuration: - Host security - Docker Engine security - Kubernetes security - Docker CIS benchmark: docker-bench - Kubernetes CIS benchmark: kube-bench
  • 28. Security pipeline: Kubernetes. - RBAC - namespaces - Subjects: users and serviceAccounts - resources - Role and ClusterRole - verbs: LIST, WATCH, GET, UPDATE, PATCH, DELETE - RoleBindings and ClusterRoleBindings https://sysdig.com/blog/kubernetes-security-rbac-tls/
  • 29. kind: Role apiVersion: rbac.authorization.k8s.io/v1 metadata: namespace: default name: pod-reader rules: - apiGroups: [""] # "" indicates the core API group resources: ["pods"] verbs: ["get", "watch", "list"] # This role binding allows "jane" to read pods in the "default" namespace. kind: RoleBinding apiVersion: rbac.authorization.k8s.io/v1 metadata: name: read-pods namespace: default subjects: - kind: User name: jane apiGroup: rbac.authorization.k8s.io roleRef: kind: Role name: pod-reader apiGroup: rbac.authorization.k8s.io
  • 30. Security pipeline: Kubernetes. - Admission controllers: PodSecurityPolicy - Privileged/hostPID/hostIPC/hostNetwork/ hostPorts - runAsUser - volumes/allowedHostPaths/ReadOnlyRootFi lesystem - Capabilities - SELinux/AppArmor/seccomp https://sysdig.com/blog/kubernetes-security-psp-network-policy/
  • 31. Security pipeline: Kubernetes. - Admission controllers - DenyEscalatingExec - NodeRestriction - PodSecurityPolicy - ValidatingAdmissionWebhooks
  • 32. Security pipeline: Kubernetes. - Resource management resources: requests: memory: 512Mi limits: memory: 700Mi - Network Policies: Cilium, Calico, iptables - Audit system - TLS everywhere https://sysdig.com/blog/kubernetes-security-harden-kube-system/
  • 33. Security pipeline: Run-time scanning. - Threat detection - Network inspection - Privilege escalation - Post-mortem analysis and forensics - Attacks are multiple steps - Successful attack those are unknown to us - But we just need to recognize one IoC
  • 34. Seccomp. - Application syscall sandboxing - Create filter (BPF) with allowed syscalls - Failures-> log message, error return, and/or kill process - Docker runs containerized process under a seccomp profile - Notable disallowed syscalls: - clone (creating new namespaces) - reboot (reboot the host) - setns (change namespaces)
  • 35. MAC: SELinux / AppArmor. - Kernel-level interception/filtering - features++ && complexity++ - Higher level: - Actors (process) - Actions (read/write on files/sockets) - Targets (files, IPs, ports) https://sysdig.com/blog/selinux-seccomp-falco-technical-discussion/
  • 36. - An open-source behavioral activity monitor - Detects suspicious activity defined by a set of rules - Uses Sysdig’s flexible and powerful filtering expressions - With full support for containers/orchestration sysdig.com/opensource/falco/
  • 38. - macro: proc_is_new condition: proc.duration <= 5000000000 - rule: Read secret file after startup desc: > an attempt to read any secret file (e.g. files containing user/password/authentication information) Processes might read these files at startup, but not afterwards. condition: fd.name startswith /etc/secrets and open_read and not proc_is_new output: > Sensitive file opened for reading after startup (user=%user.name command=%proc.cmdline file=%fd.name) priority: WARNING Falco real rule example.
  • 40. Post-mortem and forensics. What? Where? Who? Why? logs? SSH into prod? and start messing around?
  • 41. How we did this in the past?.
  • 43. System calls for forensics?
  • 45. CI/CD/CS, closing the security gap - Build - Shipment - Run-time - Forensics