LONDON 18-19 OCT 2018
Open DevSecOps
PETKO D. PETKOV
3
2
1
You have to know the past to understand the present.
Carl Sagan
1995
Hacking The Gibson
Knowledge Prestige Community
Knowledge Prestige Community
Knowledge Prestige Community
Milestones
Pentesting Vuln Programs Bug Bounties DevSecOps
Pentesting Vuln Programs Bug Bounties DevSecOps
2002 2007 2012 2018
5
REDTEAMPENTESTER
$10,000

(2005)
$500,000

(2018)
$10,000 $100,000
DevSecOps
Continuous Integration / Delivery
Code Build Test Deploy Monitor
Code Build Test Deploy Monitor
What’s the point?
US THEM
THEM US
VS
We are here
Open DevSecOps
Putting “Open” back into the DevSecOps Model
Code Build Test Deploy Monitor
Code Build Test Deploy Monitor
?
?
?
?
DEV Tools
Static Source Code Scanner Dynamic Application Scanner
Infrastructure
It is also expressed in code these days
DevSecOps SecOps
Open DevSecOps
Putting “Open” back into the DevSecOps Model
Knowledge Tools Community
Knowledge
Community
Tools / Solutions
Honey Tokens
resource "aws_s3_bucket" "app" {
count = "${var.create_app ? 1 : 0}"
bucket = "${var.name}.${var.domain}"
acl = "private"
website {
index_document = "index.html"
error_document = "index.html"
}
policy = <<EOF
{
"Version": "2008-10-17",
"Statement": [
{
"Sid": "PublicReadForGetBucketObjects",
"Effect": "Allow",
"Principal": {
"AWS": "*"
},
"Action": "s3:GetObject",
"Resource": "arn:aws:s3:::${var.name}.${var.domain}/*"
}
]
}
EOF
lifecycle {
prevent_destroy = true
}
tags {
solution = "apps"
}
}
resource "aws_s3_bucket" "next_app" {
count = "${var.create_next_app ? 1 : 0}"
bucket = "next-${var.name}.${var.domain}"
acl = "private"
website {
index_document = "index.html"
error_document = "index.html"
}
Honey Tokens
Dark Nets
resource "aws_s3_bucket" "app" {
count = "${var.create_app ? 1 : 0}"
bucket = "${var.name}.${var.domain}"
acl = "private"
website {
index_document = "index.html"
error_document = "index.html"
}
policy = <<EOF
{
"Version": "2008-10-17",
"Statement": [
{
"Sid": "PublicReadForGetBucketObjects",
"Effect": "Allow",
"Principal": {
"AWS": "*"
},
"Action": "s3:GetObject",
"Resource": "arn:aws:s3:::${var.name}.${var.domain}/*"
}
]
}
EOF
lifecycle {
prevent_destroy = true
}
tags {
solution = "apps"
}
}
resource "aws_s3_bucket" "next_app" {
count = "${var.create_next_app ? 1 : 0}"
bucket = "next-${var.name}.${var.domain}"
acl = "private"
website {
index_document = "index.html"
error_document = "index.html"
}
Dark Nets
Recon
resource "aws_s3_bucket" "app" {
count = "${var.create_app ? 1 : 0}"
bucket = "${var.name}.${var.domain}"
acl = "private"
website {
index_document = "index.html"
error_document = "index.html"
}
policy = <<EOF
{
"Version": "2008-10-17",
"Statement": [
{
"Sid": "PublicReadForGetBucketObjects",
"Effect": "Allow",
"Principal": {
"AWS": "*"
},
"Action": "s3:GetObject",
"Resource": "arn:aws:s3:::${var.name}.${var.domain}/*"
}
]
}
EOF
lifecycle {
prevent_destroy = true
}
tags {
solution = "apps"
}
}
resource "aws_s3_bucket" "next_app" {
count = "${var.create_next_app ? 1 : 0}"
bucket = "next-${var.name}.${var.domain}"
acl = "private"
website {
index_document = "index.html"
error_document = "index.html"
}
Recon
Top10
Dynamic Security
Scanner
Static Code
Analysers
Auxiliary Tools
Terraform
Modules
CloudFormation
Stacks
Research
Papers
Scripts
Log Aggregation
SIEM
FW
The goal is the goal
Shift to the left
Pentesting / Red Team
Vuln Research
Bug Hunting
1. Self-governing
2. Self-healing
3. Self-defending
1. Self-governing
2. Self-healing
3. Self-defending
1. Self-governing
2. Self-healing
3. Self-defending
1. Self-governing
2. Self-healing
3. Self-defending
@pdp
GNUCITIZEN / WEBSECURIFY / SECAPPS
LONDON 18-19 OCT 2018
¯_(ツ)_/¯
DevSecCon London 2018: Open DevSecOps

DevSecCon London 2018: Open DevSecOps