Security in The Pipeline

@duartevolvox

Abril 2017

~$ Index

0x30 - O hacker

0x31 - Porque e que segurança é precisa?

0X32 - INSEgurança

0X33 - Como é que mau software é feito?

0x34 - RECOMENDAções

0x35 - ETICA & LUCRo

0x36 - COMO começar

COMPREENDER O ATACANTE

~$ ./hacker_101

Hacker é qualquer pessoa altamente qualificada que usa seus conhecimentos técnicos para superar um problema

A cultura hacker é uma subcultura de indivíduos que gostam do desafio intelectual da criatividade superando as limitações dos sistemas de software para alcançar resultados novos e inteligentes.

~$ ./hacker_101

Bons da fita

 Bons da fita até chatear

Maus da fita

WHITE HAT
GREY HAT
BLACK HAT

gid=1337 (hackers)

Motivos Politicos - Anonymous

Motivados pelo Conhecimento - CCC

€€€€ -  HackingTeam

Espionagem - CIA

Hacking Groups

Mr Robot - TV Series (2016)

~$ ./hacking_MEDIA

~Bom

Mau

CSI Cyber TV Series  (2015-16)

https://www.youtube.com/watch?v=msX4oAXpvUE

https://youtu.be/buHaKYL9Jhg?t=48

#attacks

Stuxnet - https://www.youtube.com/watch?v=7g0pi4J8auQ

#attacks

#attacks

DDoS - Denial Of Service

#attacks

DDoS - Denial Of Service

#attacks

Ransomware

Porque é que eu preciso de segurança?

Quem e que precisa?

Computadores

Telemoveis

Internet

Emails

Redes Sociais

....

MAs porque?

O que te garante que a tua informação está segura?

No teu computador?

No teu telemovel?

No teu email?

No facebook?

COMO?

Virus

Spyware

RansomWare

Trojans

Spam

Normal

Spear

Phishing

COMO?

Aplicações Vulneraveis a hackers podem ser usados contra ti!

Falhas de Segurança informática são mais comum do que é normal...

...muitas nem ouves falar.

Compreender As FALHAS

() { :; }; /bin/INSECURITY

  • O que é (in)segurança?
  • Engenharia Social
  • Ataques a aplicações Web.

O que vamos falar?

() { :; }; /bin/INSECURITY

What is (in)security?

X + Y

W

() { :; }; /bin/INSECURITY

What is (in)security?

X + Y

Z

A

Inputs inesperados para Outputs esperados

() { :; }; /bin/INSECURITY

Social Engineering

() { :; }; /bin/INSECURITY

Social Engineering

O que é Engenharia Social?

A Engenharia Social, no contexto da segurança da informação, refere-se à manipulação psicológica de pessoas para realizar ações ou divulgar informações confidenciais.

Humanos são o elemento mais fraco!

  1. Estudo da vitima (What he wants? Needs?)
  2. Criar pagina falsa (Spoofing real pages)
  3. Comunicação (E-email, SMS, Social Networks)
  4. Esperar ....
  5. Receber informação.

Spear Phishing?

  • Spam
  • Phishing
  • Spear Phishing

() { :; }; /bin/INSECURITY

Social Engineering

Crackar passwords 

VS

Enganar o utilizador para te mandar

() { :; }; /bin/INSECURITY

Social Engineering

Como detectar phishing?

  1. Ter uma atitude critica,
  2. Analisar links e informação,
  3. Nunca! Mandar passwords ou informação pessoal,
  4. Quando te oferece algo que parece bom demais,
  5. Tu não pediste nada, mas recebeste o email.
  6. Atenção ao certificado e ao dominio.

() { :; }; /bin/INSECURITY

Social Engineering

() { :; }; /bin/INSECURITY

Social Engineering

() { :; }; /bin/INSECURITY

Web Application Security

() { :; }; /bin/INSECURITY

Web Application Security - Injection

Falhas de injeção, como SQL, OS e LDAP injeção ocorrem quando dados não confiáveis são enviados para um interpretador como parte de um comando ou consulta. Os dados hostis do invasor podem enganar o interpretador para executar comandos não intencionais ou acessar dados sem a devida autorização.
 

https://xkcd.com/327/

() { :; }; /bin/INSECURITY

Web Application Security - Injection

Normal Behavior 

The application Searches for the users with the user name and password

Attack

The query returns a valid values bypassing the login without user and password

() { :; }; /bin/INSECURITY

Web Application Security - Injection

DEMO

() { :; }; /bin/INSECURITY

Web Application Security - CSRF

Um ataque CSRF força o navegador de uma vítima conectada a enviar uma solicitação HTTP falsificada, incluindo o cookie de sessão da vítima e qualquer outra informação de autenticação incluída automaticamente, em um aplicativo web vulnerável. Isso permite que o invasor forçar o navegador da vítima a gerar pedidos que a aplicação vulnerável acha que são pedidos legítimos da vítima.

() { :; }; /bin/INSECURITY

Web Application Security - CSRF

() { :; }; /bin/INSECURITY

Web Application Security - CSRF

DEMO

Segurança

Enquadramento

PERCEber  COMO PREVENIR falhas de software

"><svg/onload=Bad_SOFTWARE

O que é SDLC (Software Development LifeCycle)?

O ciclo de vida de desenvolvimento de sistemas (SDLC), também conhecido como ciclo de vida de desenvolvimento de software, é um termo usado na engenharia de sistemas, sistemas de informação e engenharia de software para descrever um processo de planejamento, criação, teste e implementação de um sistema de informação.

 

"><svg/onload=Bad_SOFTWARE

SDLC

Requirements

Design

Implementation

Verification

Release

Response & Maintenance

Study (Economical, Operational, Thechnical, Organizational)
Project Planning
Security Requirements
Compliance
Analysis Governance Definition
BreakDown Project
Architecture Solutions
 
Risk Assessment
Security Architecture
​Threat Modelling
Build/buy Solution

 
Secure Code Review
Secure Code Analysis
Quality Assurance
 
Security Testing
Risk Assessment Review
Penetration Testing
Deliver Project

 
Security Review
Incident Response Plan

Features and bug fixing
 
Incident Forensics
Security Monitoring

"><svg/onload=Bad_SOFTWARE

Threat Modeling

"><svg/onload=Bad_SOFTWARE

Pentesting

O que é um Pentest? (Penetration Tester)

Validação de controlos de segurança e logica da aplicação.

Definições:

  • Scope,
  • Time of Testing,
  • Abuse cases.

https://github.com/coreb1t/awesome-pentest-cheat-sheets

"><svg/onload=Bad_SOFTWARE

Pentesting

../../../../../CD

Continuous Delivery

Continuous delivery (CD) is a software engineering approach in which teams produce software in short cycles, ensuring that the software can be reliably released at any time.

../../../../../CD

Scrum

../../../../../CD

Scrum HighLevel

0 Weeks

2 Weeks

US1223
US1224
US1225

DE1211

Backlog

Team X

../../../../../CD

Security Integration

US1222
US1223

Commit

SAST

Security Scanning

Builds

Deploys

 José

Gitlab

Jenkins

Watcher

Security Review

Security Champions

REcomendações de segurança

OS BASICOS - software

Anti-virus - Porque?

  1. Detecta 98,9999% dos virus.
  2. Neutraliza ameaças.

 

Manter as aplicações atualizadas sempre.

Manter sempre a firewall ativa.

  • Protege o computador de comunicações nao autorizadas.

 

OS BASICOS - PASSWORDS

Usar Password Complexas:

  1. Caracteres de A a Z (Maiusculas e minusculas)
  2. Algarismos 0 a 9
  3. Simbolos !=)"(#$%&$(/&

Password são complicadas de decorar?

http://keepass.info/

TELEMOVEIS

Porque ter cuidado?

  • Faceis de perder e roubar,
  • Muito espaço de armazenamento,
  • Muita das vezes estão desprotegidos,
  • Susceptiveis a comunicações desprotegidas,
  • Funcionalidades de Geo localização .

TELEMOVEIS

TELEMOVEIS

TELEMOVEIS - gps

TELEMOVEIS - SEc (1)

  • Configurações de Privacidade (por defeito pode estar vulneravel),
  • Ter noção das permissões das aplicações na instalação,
  • Desligar funcionalidades extras,
  • Fontes seguras.

 

TELEMOVEIS - SEc (2)

  • Manter sempre login protegido (PIN, Impressão digital,...)
  • Ativar bloqueio automático,
  • Funcionalidades de remotamente apagar o telemovel,
  • Evitar usar redes desprotegidas
  • Ativar VPN.

mitm

Man-in-the-middle Attack

Redes desprotegidas? nao obrigado.

REDES SOCIAiS

Antes de colocar alguma coisa online... pensar:

  • A informação que vou colocar online pode no futuro ser usado contra mim?
  • Se isto virar publico qual vai ser o meu dano? 
  • Limitar o numero de pessoas que pode ver a minha informação,
  • Rever configurações de privacidade,
  • Limitar o numero de "contactos" na rede social,
  • Nunca partilhar informação pessoal no "Check-in".

REDES SOCIAiS (2)

Queres partilhar algo sensivel? Não problema.

Usa: CryptoBin (https://cryptobin.co/)

https://cryptobin.co/4615e6u6

PERCEBER Como e que se faz lucro

' OR "€"="€";/*

Profit?

' OR "€"="€";/*

BugBounties

O que é um Bug Bounty?

Find Bugs == €

You find a security issue in a program 

Report Using Bug Bounty Platform

Program Curator triage find

You Receive €€€

Um Bug Bounty  é um acordo oferecido por muitos sites e desenvolvedores de software pelo qual os indivíduos podem receber reconhecimento e compensação por relatar bugs, especialmente aqueles relacionados a exploits e vulnerabilidades.

' OR "€"="€";/*

BugBounties

From: David Sopas Talk "The way of the Bounty"

' OR "€"="€";/*

BugBounties

Famous platforms

BugCrowd

Cobalt.io

HackerOne

The more bugs you find, the more reputation you have

' OR "€"="€";/*

BugBounties

https://leanpub.com/web-hacking-101

Bom ponto de partida...

' OR "€"="€";/*

BugBounties (ex)

' OR "€"="€";/*

BugBounties (ex)

' OR "€"="€";/*

Ethics

A divulgação responsável é um termo de segurança informática que descreve um modelo de divulgação de vulnerabilidade. É como a divulgação completa, com a adição de que todas as partes interessadas concordam em permitir que um período de tempo para a vulnerabilidade seja corrigido antes de publicar os detalhes. Desenvolvedores de hardware e software muitas vezes exigem tempo e recursos para reparar seus erros.

https://googleprojectzero.blogspot.pt/

' OR "€"="€";/*

Law

  Lei n.º 109/2009, de 15 de Setembro

Source: https://www.anacom.pt/render.jsp?contentId=978956

Artigo 4.º (Dano relativo a programas ou outros dados informáticos)

Artigo 5.º (Sabotagem informática)

Artigo 6.º (Acesso ilegítimo)

Artigo 7.º (Intercepção ilegítima)

Artigo 8.º (Reprodução ilegítima de programa protegido)

Artigo 9.º (Responsabilidade penal das pessoas colectivas e entidades equiparadas)

%0a%0B howTo

  • Capture the Flags,
  • Conferences,
  • Certifications
  • News,
  • ....

Do you want to learn and practice more?

%0A%0B howTo

CTF - Capture the Flag

What Is?

Types?

Where to register?

Exercises 

ctftime.org

Cryptography

Pwnable

Reverse

Jeopardy

Attack & defense

Web App

Trivia

Forensics

Misc

Hardware

Stegnography

...

Security Exercises/Competition

%0A%0B howTo

Certifications

How to choose one?

Beginners - CEH (Certified Ethical Hacker) ~500$

Advanced - OSCP (Offensive Security Certified Professional) ~1000$

Medium - Comptia Security+ ~500$

../../../../howTo

News

Where to look? 

Tip: Use Feedly + GetPocket 

THANK you :)

Q&A

Stay Safe, Stay Legal

Security In the Pipeline

By Duarte Monteiro

Security In the Pipeline

  • 808