build our malware processing pipeline in Kubernetes • Ingest and processes millions of malware samples • Trains the Endgame MalwareScore classifier • Work on ensuring that Endgame’s Cloud and SMP efforts are stable and performant • Automate and standardize repeatable deployments as much as possible. Add monitoring and stats and stuff
a Service) allows developers to abstract the deployment of small programs or functions away from the hardware on which they run • Resembles PaaS • Popularized by AWS Lambda -- “Run code without thinking about servers.” • Lowers the barrier of entry for developers to intuitively deploy and operationalize functions • People have opinions about Functions as a Service…
is simple • When your function is stateless • When Throughput is more important than Latency • When Availability is more important than simplicity of deployment
program on a single machine is still easier than FaaS. (Anyone who tells you otherwise is lying.) • FaaS provides the ability to run your functions across many hosts without thinking about the underlying host stability.
Kubernetes • Supports multiple target languages • As of writing: Golang, Nodejs, PHP, Python, Ruby, Perl, .NET, Binary via STDIN/STDOUT • FaaS-esque – builds containers at the function level, then keeps the containers up for multiple invocations • Closer to a PaaS than a true FaaS • Functions could be written to utilize statefulness between invocations
functions • Also supports registering with Kubernetes events and queue tasking via NATS • Simple to set up and use • Easy to scale with a Kubernetes cluster, as well as to develop using minikube
Helm – Used to install the charts that underpin the behavior shown in the previous slide • Minikube – Local Kubernetes instance to run Fission.io pods, deployments, etc. • Kubectl – CLI tool used to interact with Kubernetes
out Amanda Rousseau’s talk on hiding malware in photos! • https://www.endgame.com/blog/technical-blog/instegogram-leveraging- instagram-c2-image-steganography • Fission.io is still fairly new, so I wouldn’t recommend it for production systems • The team is extremely responsive – I found an issue with the cli that impacted go functions, and they responded and PR’d the issue inside a couple of hours • https://github.com/fission/fission