Orchestrating Security Tooling With AWS Step Functions
1
Orchestrating Security Tooling With AWS Step Functions 1 - - PowerPoint PPT Presentation
Orchestrating Security Tooling With AWS Step Functions 1 Background Jules Denardou Justin Massey @Pod_Sec @jmassey09 @JulesDT @th3r3p0 Security Engineers at Datadog Product Security team Improve security of product without
1
workflows Justin Massey @jmassey09 @th3r3p0 Jules Denardou @Pod_Sec @JulesDT
2
3
4
5
6
○ Long running jobs ○ False positives ○ Each tool has its own way of giving a report
7
○ Long running jobs ○ False positives ○ Each tool has its own way of giving a report
8
○ Blocking deployment pipelines ○ Reports in a third party website
9
○ Blocking deployment pipelines ○ Reports in a third party website
10
11
12
13
14
15
16
Github PR
17
Webhook API Gateway Github PR
Lambda Function
18
Webhook API Gateway Github PR
Security Scanning
Lambda Function API
19
Webhook API Gateway Github PR
Lambda Function
20
Webhook API API Gateway Github PR Github PR Comment API
Security Scanning
21
22
23
24
25
26
○
AWS Lambdas
27
28
○ State Machine ◻ Amazon States Language ○ Individual States ○ Step Function console = State Machine GUI
29
○ Task ○ Choice ○ Pass ○ Delay ○ Parallel ○ Success or Failure
30
31
32
33
34
35
36
○ Github uses HMAC signed events
37
○ Github uses HMAC signed events ○ AWS API Gateway uses an “Authorizer”
38
○ Implement a custom authorizer as a first step of the Step function
Yes No
39
○ Implement a custom authorizer as a first step of the Step function
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
1. Generate a Unique ID in the first lambda (state_id)
65
1. Generate a Unique ID in the first lambda (state_id) 2. Override `logging.Filter.filter()`
66
1. Generate a Unique ID in the first lambda 2. Override `logging.Filter.filter()` 3. Use custom filter
67
68
69
○ Developer engagement is crucial
70
○ Developer engagement is crucial ○ We need to give the results in the best way possible
71
○ Developer engagement is crucial ○ We need to give the results in the best way possible ○ Low-noise, easy to read, where the developer is
72
○ Developer engagement is crucial ○ We need to give the results in the best way possible ○ Low-noise, easy to read, where the developer is ○ Make issues found actionable
73
○ Developer engagement is crucial ○ We need to give the results in the best way possible ○ Low-noise, easy to read, where the developer is ○ Make issues found actionable
74
○ Send organization wide emails asking for feedback ○ Application Security focus group ○ Direct discussion with developers
75
76
○ Send organization wide emails asking for feedback ○ Application Security focus group ○ Direct discussion with developers
○ Use the same CI/CD tools ○ Try to use the same technologies
77
○ Comment on the PR This is where the dev is looking
78
○ Comment on the PR This is where the dev is looking
○ All the scans in a single comment ○ “Auto-fix” PR (when possible) created and linked for review
79
80
81
○ Serverless framework
82
83
○ Serverless framework
○ Terraform
Justin Massey @jmassey09 @th3r3p0 Jules Denardou @Pod_Sec @JulesDT
84
We are hiring: Paris, New York, and remote!