Palestra sobre desenvolvimento seguro de imagens e containers para a DockerCon 2021 sala Brasil

Overview

Segurança de imagens e containers direto na pipeline

Palestra sobre desenvolvimento seguro de imagens e containers para a DockerCon 2021 sala Brasil.

Índice

Ferramentas de segurança

Existem várias ferramentas de segurança e seus objetivos podem ser diferentes, seja especificas para linguagens ou frameworks ou seja especificas para quem esta utilizando, desenvolvedores, analistas de segurança, auditores de segurança e por ai vai.

Lembrando que estas ferramentas não excluem as ações manuais de cada um destes atores, algumas vulnerabilidades podem ser encontradas com ferramentas, enquanto outras necessitam de ações manuais, secure code review dos desenvolvedores e pentestes dos analistas de segurança e times de red team com mais contexto da aplicação e experiencia em segurança. Segue um grafico do OWASP Code Review Guide que mostra a importancia de cada tipo de analise: Screen Shot 2021-05-26 at 17 22 33

SCA

Software Composition Analysis, em português, analise de composição de software, provavelmente hoje você já trabalha com um sem saber! Este tipo de ferramenta faz uma analise em cima das bibliotecas e frameworks que são utilizados para construir um software, utilizando bancos de dados de vulnerabilidades como CVEs do MITRE e NVD, esta ferramentas conferem nestes bancos se as versões utilizadas das bibliotecas possuem vulnerabilidades conhecidas, que no caso é uma das vulnerabilidades que mais ocorrem na internet, segundo o ranking OWASP Top 10, que você deveria conhecer.

Hoje alguns provedores de serviços na web já utilizam esta ferramenta como padrão de projetos, como o Github, que verifica todo o seu projeto e traz alertas com o DependaBot sobre vulnerabilidades conhecidas que seu projeto esteja utilizando e também, muito conhecido o NPM, que verifica o package.json e traz informações sempre que você roda o npm deixando uma opção de resolver as vulnerabilidades automaticamente com o npm audit fix.

SAST

Static Application Security Testing, em portugês, teste de segurança em aplicações estaticas, o que quer dizer que as ferramentas analisam a sua aplicação para, que ainda não esta rodando, em resumo, olhando apenas o código de seus projetos. Estas ferramentas possuem padrões de código e conseguem identificar se o desenvolvedor escreveu algum código que possa ter vulnerabilidades quando estiver rodando, podemos comparar ele com as ferramentas de lint, porém no lugar de analisar o padrão de escrita do código, ele procura padrões que vão trazer problemas de segurança.

Existem várias ferramentas SAST, porque cada linguagem tem vulnerabilidades que podem acontecer mais do que outras, por exemplo em C podem ocorrer mais vulnerabilidades relacionadas a alocação de memoria do que projetos em Go, enquanto o projetos em Go são mais sucetiveis a Race Condition. A exemplos destas ferramentas temos GoSec(Golang), Bandit(Python) e Security Guard(C#). Segue um link com uma lista da OWASP com varios outras ferramentas: Lista de ferramentas SAST

Neste lista você também encontrara ferramentas como Horusec e Husky, que são automatizadores de ferramentas SAST, que rodam mais de um tipo de ferramentaa para projetos que tem mais de uma linguagem diferentes.

DAST

Dinamic Application Security Testing, em portugês, teste de segurança em aplicações dinamicas, basicamente só acontecem quando a aplicação já esta em funcionamento, visto que é mais facil testar algumas vulnerabilidades quando a aplicação esta realizando as operações. Muito usadas em pentest e por analistas de segurança, estas ferramentas facilitam alguns testes e ataques automatizados para provar que a aplicação é insegura. Lista da OWASP de ferramentas DASTs.

Estas ferramentas ainda não são muito utilizadas diretamente no pipeline devido sua complexidade e tempo de execução, mas recomendo conhecer e ir aplicando aos poucos na pipeline para fazer valer o slogan DevSecOps, onde os Devs podem aprender um pouco mais sobre as ferramentas utilizadas pelos analistas de segurança.

Ferramentas mais conhecidas Butp Suite, OWASP ZAP e Nuclei.

Show me the code

...

Owner
Fernando Guisso
By learning will teach; By teaching will learn.
Fernando Guisso
A lighweight screen color picker tool

tkpick A lighweigt screen color picker tool Availability Only GNU/Linux 🐧 Installing Install via pip (No auto-update): [sudo] pip install tkpick Usa

Adil Gürbüz 7 Aug 30, 2021
Create standalone, installable R Shiny apps using Electron

Create standalone, installable R Shiny apps using Electron

Chase Clark 5 Dec 24, 2021
Check broken access control exists in the Java web application

javaEeAccessControlCheck Check broken access control exists in the Java web application. 检查 Java Web 应用程序中是否存在访问控制绕过问题。 使用 python3 javaEeAccessControl

kw0ng 3 May 04, 2022
The learning agent learns firstly approaching to the football and then kicking the football to the target position

Football Court This project utilized Pytorch and Tensorflow so that the learning agent learns firstly approaching to the football and then kicking the

1 Nov 19, 2021
AMTIO aka All My Tools in One

AMTIO AMTIO aka All My Tools In One. I plan to put a bunch of my tools in this one repo since im too lazy to make one big tool. Installation git clone

osintcat 3 Jul 29, 2021
Agora-token-helper - Some help tools for AgoraToken

Agora Token Helper Support AgoraToken version 001 - 006. But for security reason

The ROS package for Airbotics.

airbotics The ROS package for Airbotics: Developed for ROS 1 and Python 3.8. The package has not been officially released on ROS yet so manual install

Airbotics 19 Dec 25, 2022
Black-Scholes library implemented as a Cairo smart contract

Cairo Black-Scholes Library Black-Scholes library implemented as a Cairo smart contract. All inputs, outputs, and internal calculations use 27-digit f

Aditya Raghavan 47 Dec 19, 2022
JARVIS PC Assistant is an assisting program to make your computer easier to use

JARVIS-PC-Assistant JARVIS PC Assistant is an assisting program to make your computer easier to use Welcome to the J.A.R.V.I.S. PC Assistant help file

Dasun Nethsara 2 Dec 02, 2022
A inspector to be able to view and edit Qt style sheet while an application is running

Qt Style Sheet Inspector An inspector widget to view and modify the style sheet of a Qt app at runtime. Usage In order to use the inspector widget on

ESSS 46 Dec 10, 2022
Clear merged pull requests ref (branch) on GitHub

GitHub PR Cleansing This tool is used to clear merged pull requests ref (branch) on GitHub. GitHub has no feature to auto delete branches on pull requ

Andi N. Dirgantara 12 Apr 19, 2022
PyScaffold is a project generator for bootstrapping high quality Python packages

PyScaffold is a project generator for bootstrapping high quality Python packages, ready to be shared on PyPI and installable via pip. It is easy to use and encourages the adoption of the best tools a

PyScaffold 1.7k Jan 03, 2023
a wordle-solver written in python

Wordle Solver Overview This is yet another wordle solver. It is built with the word list of the official wordle website, but it should also work with

Shoubhit Dash 10 Sep 24, 2022
Security-related flags and options for C compilers

Getting the maximum of your C compiler, for security

135 Nov 11, 2022
List of short Codeforces problems with a statement of 1000 characters or less. Python script and data files included.

Shortest problems on Codeforces List of Codeforces problems with a short problem statement of 1000 characters or less. Sorted for each rating level. B

32 Dec 24, 2022
Automated rop chain generation

This is the accompanying code to the blog post talking about automated rop chain generation. Build the test file with: make Install the dependencies:

Christopher Roberts 14 Nov 22, 2022
skimpy is a light weight tool that provides summary statistics about variables in data frames within the console.

skimpy Welcome Welcome to skimpy! skimpy is a light weight tool that provides summary statistics about variables in data frames within the console. Th

267 Dec 29, 2022
LinuxHelper - A collection of utilities for non-technical Linux users accessible via a GUI

Linux Helper A collection of utilities for non-technical Linux users accessible via a GUI This app is still in very early development, expect bugs and

Seth 7 Oct 03, 2022
A simple projects to help your seo optimizing has been written with python

python-seo-projects it is a very simple projects to help your seo optimizing has been written with python broken link checker with python(it will give

Amirmohammad Razmy 3 Dec 25, 2021
Nextstrain build targeted to Omicron

About This repository analyzes viral genomes using Nextstrain to understand how SARS-CoV-2, the virus that is responsible for the COVID-19 pandemic, e

Bedford Lab 9 May 25, 2022