(later stage) Who are our attackers?
(lock)
Vibes based - locks are safe, right?
(locks)
locks are safe, more locks are safer?
"defense in depth"
(locks)
Vibes are cool but we can't ignore costs
more locks = more complexity
(gold)
What are we protecting?
(gold)
Where is our attacker?
(gold)
What paths exist?
(gold)
What are our boundaries?
(gold)
Risks?
Open Window
Open Door
Attack Graph
Docker Container - tines-command-runner
TCR
TCR
user 2000
python harness - uid 2001
python harness - uid 2002
python harness - uid 2003
Where's the attacker?
TCR
TCR
user 2000
python harness - uid 2001
python harness - uid 2002
python harness - uid 2003
Compromised team member/ run script
Where do attackers want to go?
TCR
TCR
user 2000
python harness - uid 2001
python harness - uid 2002
python harness - uid 2003
Where do attackers want to go?
Host
TCR
TCR
Postgres access?
Tines App?
Users? SSH Keys? etc
Logging?
Kernel Exploit
Misconfigured Container
Attack Graph
Malicious Run Script
Host Access
TCR Exploit
Customers share the TCR but these boundaries would mitigate risks if they work
Path to access host is mitigated
TCR
TCR
Postgres access?
Tines App?
Users? SSH Keys? etc
Logging?
Path across executions is mitigated
TCR
TCR
TCR
TCR
Execution 1
Execution 2
Wipe
Some problems
Theory
TCR
TCR
Postgres access?
Tines App?
Users? SSH Keys? etc
Logging?
Reality
TCR
TCR
Host
Firecracker
Docker
We need to restart the entire VM, otherwise attacker can just escape to guest OS
Theory
TCR
TCR
TCR
TCR
Execution 1
Execution 2
Wipe
Reality
TCR
TCR
TCR
TCR
Execution 1
Execution 2
Wiping a container is really hard in a way that provides a real boundary