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
⚙️ Compile, Read and update your .conf file in python

⚙️ Compile, Read and update your .conf file in python

Reece Harris 2 Aug 15, 2022
Data-driven Computer Science UoB

COMS20011_2021 Data-driven Computer Science UoB Staff Laurence Aitchison [ 6 May 16, 2022

Interpreting-compiling programming language.

HoneyASM The programming language written on Python, which can be as interpreted as compiled. HoneyASM is easy for use very optimized PL, which can so

TalismanChet 1 Dec 25, 2021
Basit bir sunucu - istemci örneği

basitSunucuistemci Aşağıdaki adresteki uygulamadaki process kapanmama sorununun çözülmesi ile oluşturulmuş yeni depo https://github.com/pricheal/pytho

Ali Orhun Akkirman 10 Dec 27, 2022
laTEX is awesome but we are lazy -> groff with markdown syntax and inline code execution

pyGroff A wrapper for groff using python to have a nicer syntax for groff documents DOCUMENTATION Very similar to markdown. So if you know what that i

Subhaditya Mukherjee 27 Jul 23, 2022
An addin for Autodesk Fusion 360 that lets you view your design in a Looking Glass Portrait 3D display

An addin for Autodesk Fusion 360 that lets you view your design in a Looking Glass Portrait 3D display

Brian Peiris 12 Nov 02, 2022
A collection of software that serve no purpose other than waste your time. Forking is encouraged!

the-useless-collection A collection of software that serve no purpose other than waste your time. Forking is encouraged! Requires Python 3.9. Usage Go

Imsad2 1 Mar 16, 2022
Transparently load variables from environment or JSON/YAML file.

A thin wrapper over Pydantic's settings management. Allows you to define configuration variables and load them from environment or JSON/YAML file. Also generates initial configuration files and docum

Lincoln Loop 90 Dec 14, 2022
PyDy, short for Python Dynamics, is a tool kit written in the Python

PyDy, short for Python Dynamics, is a tool kit written in the Python programming language that utilizes an array of scientific programs to enable the study of multibody dynamics. The goal is to have

PyDy 307 Jan 01, 2023
:fishing_pole_and_fish: List of `pre-commit` hooks to ensure the quality of your `dbt` projects.

pre-commit-dbt List of pre-commit hooks to ensure the quality of your dbt projects. BETA NOTICE: This tool is still BETA and may have some bugs, so pl

Offbi 262 Nov 25, 2022
A PDM plugin to publish to PyPI

PDM Publish A PDM plugin to publish to PyPI NOTE: Consider if you need this over using twine directly Installation If you installed pdm via pipx: pipx

Branch Vincent 20 Aug 06, 2022
Minimalist BERT implementation assignment for CS11-747

minbert Assignment by Zhengbao Jiang, Shuyan Zhou, and Ritam Dutt This is an exercise in developing a minimalist version of BERT, part of Carnegie Mel

Graham Neubig 51 Jan 03, 2023
Generate your personal 8-bit avatars using Cellular Automata, a mathematical model that simulates life, survival, and extinction

Try the interactive demo here ✨ ✨ Sprites-as-a-Service is an open-source web application that allows you to generate custom 8-bit sprites using Cellul

Lj Miranda 265 Dec 26, 2022
A python script to search for k-uniform Euclidean tilings.

k-uniform-solver A python script to search for k-uniform Euclidean tilings. This project's aim is to replicate and extend the list of k-uniform Euclid

3 Dec 06, 2022
C++ Environment InitiatorVisual Studio Code C / C++ Environment Initiator

Visual Studio Code C / C++ Environment Initiator Latest Version : v 1.0.1(2021/11/08) .exe link here About : Visual Studio Code에서 C/C++환경을 MinGW GCC/G

Junho Yoon 2 Dec 19, 2021
A bot to use in a pump & dump event

A bot to use in a pump & dump event on Binance.com. Please note the bot is in heavy devleopment currently so be aware of errors. If you experience err

Freddie Jonas 189 Dec 24, 2022
A simple but flexible plugin system for Python.

PluginBase PluginBase is a module for Python that enables the development of flexible plugin systems in Python. Step 1: from pluginbase import PluginB

Armin Ronacher 1k Dec 16, 2022
An Airdrop alternative for cross-platform users only for desktop with Python

PyDrop An Airdrop alternative for cross-platform users only for desktop with Python, -version 1.0 with less effort, just as a practice. ##############

Bernardo Olisan 6 Mar 25, 2022
Backups made easy, automated, monitored and SECURED with an audited encryption

Backup Controller Backups made easy, automated, monitored and SECURED with an audited encryption. Schedules backup tasks executed by Backup Maker, upl

RiotKit 1 Jan 30, 2022
Quick script for automatically extracting syscall numbers for an OS

Syscalls-Extractor Quick script for automatically extracting syscall numbers for an OS $ python3 .\syscalls-extractor.py --help usage: syscalls-extrac

m0rv4i 54 Feb 10, 2022