SlideShare ist ein Scribd-Unternehmen logo
1 von 27
Downloaden Sie, um offline zu lesen
OpenBSD
Segurança por padrão
Walter Neto
Começou a programar com 12 anos como hobby, conheceu
sistemas Unix-like através do Linux Conectiva 4.6 em 2001, como
última distribuição Linux usou o Gentoo
Hoje utiliza OpenBSD como projetos de Firewall e outros serviços
de Rede
Trabalha atualmente para SIM≫Consultas
Assuntos Abordados
• História do Unix
• Projeto OpenBSD e sub-projetos
• Mecanismos de Segurança
• Hands On
História do Unix
• 1965 - AT&T, GE e o projeto
“Multics” (Multiplexed Information and
Computing Services) no Bell Labs
• 1969 - Os cientistas começam a procurar
uma alternativa ao Multics (Ken Thompson,
Dennis Ritchie e cia.)
• “Space Travel” rodando no PDP-7
História do Unix
• Thompson reescreve o sistema inicial
• Thompson batiza o sistema com o nome
de UNIX, um trocadilho com o projeto
Multics que fracassou
História do Unix
• Portando o UNIX do PDP-7 para um
PDP-11
História do Unix
• 1971 - Thompson tenta escrever o UNIX
em uma linguagem de alto nível (Fortran),
cria uma linguagem simples chamada “B”,
que também lhe causa dores de cabeça
• Ritchie começa a escrever uma linguagem
parecida com B, que ele chamou na época
de NB (new B), ficou boa
História do Unix
• 1973 - Dennis Ritchie termina a primeira
versão da linguagem C que compila uma
versão do UNIX
• 1976..1977 - Compartilhando o UNIX com
o mundo e ponta pé inicial do BSD
• 1984 - AT&T se desfaz das empresas de
telefonia Bell local e cria a AT&T Computer
Systems
Projeto
Projeto OpenBSD
• Out 1995 - Theo de Raadt cria o OpenBSD
Projeto OpenBSD
• Sistem operacional multi-plataforma baseado no
4.4BSD
• Ênfase em:
• Portabilidade
• Padronização
• Correção de Bugs
• Segurança Proativa
• Criptografia Integrada
Projeto OpenBSD
• É desenvolvido inteiramente por
voluntários
• O projeto paga pelo ambiente de
desenvolvimento e pelos eventos
(Hackathons) com a venda de CDs e
doações de empresas e pessoas
Projeto OpenBSD
• Sub-Projetos
• OpenSSH
• OpenBGPD
• OpenNTPD
• OpenCVS
• OpenSMTPD
• OpenIKED
Projeto OpenBSD
• Pacotes da versão 5.3 (instalação)
◦ Xenocara (based on X.Org 7.7 with xserver 1.12.3 + patches, freetype 2.4.11, fontconfig
2.8.0, Mesa 7.11.2, xterm 287, xkeyboard-config 2.7 and more)
◦ Gcc 4.2.1 (+patches), 3.3.6 (+ patches) and 2.95.3 (+ patches)
◦ Perl 5.12.2 (+ patches)
◦ Our improved and secured version of Apache 1.3, with SSL/TLS and DSO support
◦ Nginx 1.2.6 (+ patches)
◦ OpenSSL 1.0.1c (+ patches)
◦ SQLite 3.7.14.1 (+ patches)
◦ Sendmail 8.14.6, with libmilter
◦ Bind 9.4.2-P2 (+ patches)
◦ NSD 3.2.15
◦ Lynx 2.8.7rel.2 with HTTPS and IPv6 support (+ patches)
◦ Sudo 1.7.2p8
◦ Ncurses 5.7
◦ Heimdal 0.7.2 (+ patches)
◦ Binutils 2.15 (+ patches)
◦ Gdb 6.3 (+ patches)
◦ Less 444 (+ patches)
◦ Awk Aug 10, 2011 version
Segurança Por Padrão
Mecanismos de Segurança
• Cultura de Desenvolvimento “Shut up and
hack!”
• Feito para desenvolvedores e usuários
experientes
• A documentção é ótima, então RTFM
• Se mantém o mais fiel possível aos padrões
do Unix (POSIX,ANSI, etc)
• É um SO completo, desenvolvido de forma
integral
- Diferente dos pacotes GNU/Linux
- Fontes do sistema completo em /usr/src
Mecanismos de Segurança
• Suportar várias arquiteturas de Hardware ajuda a
encontrar bugs
• A instalação padrão tem tudo o que se espera em
um Unix, pacotes como Gnome e etc são
mantidos separadamente
• Foco em código correto, claro e simple.
- One of my most productive days was throwing away 1000 lines of code.”
-- Ken Thompson
• Código simples e ao mesmo tempo poderoso
• Código não utilizado tem que ser excluído. O
repositório é versionado, o código não é perdido
Mecanismos de Segurança
• Padronizar estilos e design patterns do
código
• Ao achar um bug, procure-o em todo o
código, se possível através de expressões
regulares
• Tratar erros retornados pela API,“é sério”!
Mecanismos de Segurança
• O compilador é seu amigo, use
-Wall -Wextra -Wpedantic
• Resista à tentação dos POGs, os revisores
de código não vão gostar e o código não
vai entrar. Mancha a reputação
• Perfumarias só depois que estiver correto
e rodando
Mecanismos de Segurança
• Secure by default (tema desde 1996)
• O design é furado? Corrija o design
• O código é furado? Corrija o código
• A documentação está errada? Corrija e
melhore a documentação
Mecanismos de Segurança
• Use tipos de dados corretos e evite {over,
under}flows
• Detectou um erro? Na dúvida, termine o
processo
Hands On
Hands On
• Uso de criptografia forte e números
aleatórios, ambiente hostil para exploits
- Openbsd usa números aleatórios sempre que
possível
• OpenBSD como firewall ja protege por
padrão sistemas menos seguros
Hands On
• Proteção de {buffer, stack}-overflow
• ASLE - Address Space Layout
Randomization “extreme”
Reflexão Final
Nenhuma destas técnicas garante segurança
por si só, mas todas juntas tornam as coisas
muito difíceis para os atacantes
Perguntas ?
Obrigado por assistir
Fontes
• http://www.openbsd.org/papers/
• http://oesc-livre.org/media/slides/2012/
outubro_tecland/
• http://www.bell-labs.com/history/unix/
"Seja a mudança que você deseja para o mundo".
Mahatma Gandhi

Weitere ähnliche Inhalte

Was ist angesagt?

Mini curso de Linux
Mini curso de LinuxMini curso de Linux
Mini curso de LinuxDiego Almada
 
Como instalar o window 7
Como instalar o  window 7Como instalar o  window 7
Como instalar o window 7Filipa Tenente
 
Distribuições Linux - Kali
Distribuições Linux - KaliDistribuições Linux - Kali
Distribuições Linux - KaliTiagoGomes284
 
Palestra SFD OpenSolaris
Palestra SFD OpenSolarisPalestra SFD OpenSolaris
Palestra SFD OpenSolarisRenato Puccini
 
Kdc spoofing com kerberos mit
Kdc spoofing com kerberos mitKdc spoofing com kerberos mit
Kdc spoofing com kerberos mitMarcelo Fleury
 
KDC Spoofing com Kerberos MIT
KDC Spoofing com Kerberos MITKDC Spoofing com Kerberos MIT
KDC Spoofing com Kerberos MITDiego Santos
 
GDG Conf Node JS sem segredos
GDG Conf Node JS sem segredosGDG Conf Node JS sem segredos
GDG Conf Node JS sem segredosCaio Cutrim
 
UNIX - História e filosofia
UNIX - História e filosofiaUNIX - História e filosofia
UNIX - História e filosofiaNEO Empresarial
 
10 Anos utilizando Linux no Desktop. Afinal qual é a melhor distribução?
10 Anos utilizando Linux no Desktop. Afinal qual é a melhor distribução?10 Anos utilizando Linux no Desktop. Afinal qual é a melhor distribução?
10 Anos utilizando Linux no Desktop. Afinal qual é a melhor distribução?Marcos Vieira
 
Introdução ao OpenSolaris
Introdução ao OpenSolarisIntrodução ao OpenSolaris
Introdução ao OpenSolarisguest830f1
 
1º IoT Day - O que é Linux Embarcado
1º IoT Day - O que é Linux Embarcado1º IoT Day - O que é Linux Embarcado
1º IoT Day - O que é Linux EmbarcadoDiego Sueiro
 
Software Livre e Star Wars
Software Livre e Star WarsSoftware Livre e Star Wars
Software Livre e Star WarsVinícius Hax
 

Was ist angesagt? (18)

Apresentacao sfd-poa
Apresentacao sfd-poaApresentacao sfd-poa
Apresentacao sfd-poa
 
Mini curso de Linux
Mini curso de LinuxMini curso de Linux
Mini curso de Linux
 
Como instalar o window 7
Como instalar o  window 7Como instalar o  window 7
Como instalar o window 7
 
Distribuições Linux - Kali
Distribuições Linux - KaliDistribuições Linux - Kali
Distribuições Linux - Kali
 
Fedora - Config
Fedora - ConfigFedora - Config
Fedora - Config
 
Metasploit Framework: Software Livre para PoC de Vulnerabilidades
Metasploit Framework: Software Livre para PoC de VulnerabilidadesMetasploit Framework: Software Livre para PoC de Vulnerabilidades
Metasploit Framework: Software Livre para PoC de Vulnerabilidades
 
Palestra SFD OpenSolaris
Palestra SFD OpenSolarisPalestra SFD OpenSolaris
Palestra SFD OpenSolaris
 
Kdc spoofing com kerberos mit
Kdc spoofing com kerberos mitKdc spoofing com kerberos mit
Kdc spoofing com kerberos mit
 
KDC Spoofing com Kerberos MIT
KDC Spoofing com Kerberos MITKDC Spoofing com Kerberos MIT
KDC Spoofing com Kerberos MIT
 
Surgimento do Software livre
Surgimento do Software livreSurgimento do Software livre
Surgimento do Software livre
 
GDG Conf Node JS sem segredos
GDG Conf Node JS sem segredosGDG Conf Node JS sem segredos
GDG Conf Node JS sem segredos
 
UNIX - História e filosofia
UNIX - História e filosofiaUNIX - História e filosofia
UNIX - História e filosofia
 
Development pitfalls
Development pitfallsDevelopment pitfalls
Development pitfalls
 
10 Anos utilizando Linux no Desktop. Afinal qual é a melhor distribução?
10 Anos utilizando Linux no Desktop. Afinal qual é a melhor distribução?10 Anos utilizando Linux no Desktop. Afinal qual é a melhor distribução?
10 Anos utilizando Linux no Desktop. Afinal qual é a melhor distribução?
 
Introdução ao OpenSolaris
Introdução ao OpenSolarisIntrodução ao OpenSolaris
Introdução ao OpenSolaris
 
1º IoT Day - O que é Linux Embarcado
1º IoT Day - O que é Linux Embarcado1º IoT Day - O que é Linux Embarcado
1º IoT Day - O que é Linux Embarcado
 
Software Livre e Star Wars
Software Livre e Star WarsSoftware Livre e Star Wars
Software Livre e Star Wars
 
Soa cap1 ubuntu
Soa cap1   ubuntuSoa cap1   ubuntu
Soa cap1 ubuntu
 

Andere mochten auch

Revista Mundo Contact Diciembre 2011
Revista Mundo Contact Diciembre 2011Revista Mundo Contact Diciembre 2011
Revista Mundo Contact Diciembre 2011Mundo Contact
 
Administração de Sistemas e Redes Linux - Conectiva
Administração de Sistemas e Redes Linux - ConectivaAdministração de Sistemas e Redes Linux - Conectiva
Administração de Sistemas e Redes Linux - ConectivaAlex Vitola
 
03 Sistemas Operacionais Linux
03   Sistemas Operacionais Linux03   Sistemas Operacionais Linux
03 Sistemas Operacionais LinuxMauro Duarte
 
Linux Como Tudo Começou
Linux Como Tudo ComeçouLinux Como Tudo Começou
Linux Como Tudo Começouguestaa94fe
 
Trabalho Linux - Red Hat
Trabalho Linux -  Red HatTrabalho Linux -  Red Hat
Trabalho Linux - Red HatAwsomeInfo
 
Apresentação Linux
Apresentação LinuxApresentação Linux
Apresentação Linuxguestca430
 
RedHat Linux
RedHat LinuxRedHat Linux
RedHat LinuxApo
 

Andere mochten auch (12)

Blogs
BlogsBlogs
Blogs
 
Revista Mundo Contact Diciembre 2011
Revista Mundo Contact Diciembre 2011Revista Mundo Contact Diciembre 2011
Revista Mundo Contact Diciembre 2011
 
So claudia
So  claudiaSo  claudia
So claudia
 
Administração de Sistemas e Redes Linux - Conectiva
Administração de Sistemas e Redes Linux - ConectivaAdministração de Sistemas e Redes Linux - Conectiva
Administração de Sistemas e Redes Linux - Conectiva
 
Apresentação mandriva
Apresentação mandrivaApresentação mandriva
Apresentação mandriva
 
Sistemas operativos
Sistemas operativosSistemas operativos
Sistemas operativos
 
03 Sistemas Operacionais Linux
03   Sistemas Operacionais Linux03   Sistemas Operacionais Linux
03 Sistemas Operacionais Linux
 
Linux Como Tudo Começou
Linux Como Tudo ComeçouLinux Como Tudo Começou
Linux Como Tudo Começou
 
Trabalho Linux - Red Hat
Trabalho Linux -  Red HatTrabalho Linux -  Red Hat
Trabalho Linux - Red Hat
 
Linux
LinuxLinux
Linux
 
Apresentação Linux
Apresentação LinuxApresentação Linux
Apresentação Linux
 
RedHat Linux
RedHat LinuxRedHat Linux
RedHat Linux
 

Ähnlich wie OpenBSD Segurança por Padrão

TDC2018SP | Trilha Containers - Linux Conteineres na unha
TDC2018SP | Trilha Containers - Linux Conteineres na unhaTDC2018SP | Trilha Containers - Linux Conteineres na unha
TDC2018SP | Trilha Containers - Linux Conteineres na unhatdc-globalcode
 
Soi2011 partei
Soi2011 parteiSoi2011 partei
Soi2011 parteipaulocsm
 
MEO Cloud - Python Lisbon Meetup
MEO Cloud - Python Lisbon MeetupMEO Cloud - Python Lisbon Meetup
MEO Cloud - Python Lisbon MeetupAndré Cruz
 
Slide Palestra "Metasploit Framework"
Slide Palestra "Metasploit Framework"Slide Palestra "Metasploit Framework"
Slide Palestra "Metasploit Framework"Roberto Soares
 
Mono mecadocoorporativo-latino2010
Mono mecadocoorporativo-latino2010Mono mecadocoorporativo-latino2010
Mono mecadocoorporativo-latino2010Alessandro Binhara
 
Aula 04 informática aplicada - comando básicos
Aula 04  informática aplicada - comando básicosAula 04  informática aplicada - comando básicos
Aula 04 informática aplicada - comando básicosRobson Ferreira
 
Curso Básico/Intermediário Linux - Colmeia 2008
Curso Básico/Intermediário Linux -  Colmeia 2008Curso Básico/Intermediário Linux -  Colmeia 2008
Curso Básico/Intermediário Linux - Colmeia 2008Marco Carvalho de Oliveira
 
Palestra Tony Rodrigues - OctaneLabs WarpSpeed Project – Computação Forense e...
Palestra Tony Rodrigues - OctaneLabs WarpSpeed Project – Computação Forense e...Palestra Tony Rodrigues - OctaneLabs WarpSpeed Project – Computação Forense e...
Palestra Tony Rodrigues - OctaneLabs WarpSpeed Project – Computação Forense e...BHack Conference
 
Aula 02 informática aplicada - sistemas operacionais
Aula 02  informática aplicada - sistemas operacionaisAula 02  informática aplicada - sistemas operacionais
Aula 02 informática aplicada - sistemas operacionaisRobson Ferreira
 
Linux Embarcado para Dispositivos de IoT - Uninove 18/11/2017
Linux Embarcado para Dispositivos de IoT - Uninove 18/11/2017Linux Embarcado para Dispositivos de IoT - Uninove 18/11/2017
Linux Embarcado para Dispositivos de IoT - Uninove 18/11/2017Fernando Luiz Cola
 
Semana da computacao - Linux Day
Semana da computacao - Linux DaySemana da computacao - Linux Day
Semana da computacao - Linux DayFábio Albuquerque
 
Linux, Docker, Open Source e Tecnologias Microsoft - Dezembro/2017
Linux, Docker, Open Source e Tecnologias Microsoft - Dezembro/2017Linux, Docker, Open Source e Tecnologias Microsoft - Dezembro/2017
Linux, Docker, Open Source e Tecnologias Microsoft - Dezembro/2017Renato Groff
 
A Plataforma Maemo
A Plataforma MaemoA Plataforma Maemo
A Plataforma MaemoEduardo Lima
 
Evolução dos Sistemas Operativos
Evolução dos Sistemas OperativosEvolução dos Sistemas Operativos
Evolução dos Sistemas OperativosKaska Lucas
 
Segurança em servidores Linux
Segurança em servidores LinuxSegurança em servidores Linux
Segurança em servidores LinuxImpacta Eventos
 
Linux Desktop (Campus Party Recife)
Linux Desktop (Campus Party Recife)Linux Desktop (Campus Party Recife)
Linux Desktop (Campus Party Recife)Adriano Melo
 
Python - Programando em alto nível
Python - Programando em alto nívelPython - Programando em alto nível
Python - Programando em alto nívelIgor Sobreira
 

Ähnlich wie OpenBSD Segurança por Padrão (20)

TDC2018SP | Trilha Containers - Linux Conteineres na unha
TDC2018SP | Trilha Containers - Linux Conteineres na unhaTDC2018SP | Trilha Containers - Linux Conteineres na unha
TDC2018SP | Trilha Containers - Linux Conteineres na unha
 
Soi2011 partei
Soi2011 parteiSoi2011 partei
Soi2011 partei
 
MEO Cloud - Python Lisbon Meetup
MEO Cloud - Python Lisbon MeetupMEO Cloud - Python Lisbon Meetup
MEO Cloud - Python Lisbon Meetup
 
Slide Palestra "Metasploit Framework"
Slide Palestra "Metasploit Framework"Slide Palestra "Metasploit Framework"
Slide Palestra "Metasploit Framework"
 
Linux e Jogos (in 2011)
Linux e Jogos  (in 2011)Linux e Jogos  (in 2011)
Linux e Jogos (in 2011)
 
Mono mecadocoorporativo-latino2010
Mono mecadocoorporativo-latino2010Mono mecadocoorporativo-latino2010
Mono mecadocoorporativo-latino2010
 
Mean Stack
Mean StackMean Stack
Mean Stack
 
Aula 04 informática aplicada - comando básicos
Aula 04  informática aplicada - comando básicosAula 04  informática aplicada - comando básicos
Aula 04 informática aplicada - comando básicos
 
Curso Básico/Intermediário Linux - Colmeia 2008
Curso Básico/Intermediário Linux -  Colmeia 2008Curso Básico/Intermediário Linux -  Colmeia 2008
Curso Básico/Intermediário Linux - Colmeia 2008
 
Palestra Tony Rodrigues - OctaneLabs WarpSpeed Project – Computação Forense e...
Palestra Tony Rodrigues - OctaneLabs WarpSpeed Project – Computação Forense e...Palestra Tony Rodrigues - OctaneLabs WarpSpeed Project – Computação Forense e...
Palestra Tony Rodrigues - OctaneLabs WarpSpeed Project – Computação Forense e...
 
Aula 02 informática aplicada - sistemas operacionais
Aula 02  informática aplicada - sistemas operacionaisAula 02  informática aplicada - sistemas operacionais
Aula 02 informática aplicada - sistemas operacionais
 
Linux Embarcado para Dispositivos de IoT - Uninove 18/11/2017
Linux Embarcado para Dispositivos de IoT - Uninove 18/11/2017Linux Embarcado para Dispositivos de IoT - Uninove 18/11/2017
Linux Embarcado para Dispositivos de IoT - Uninove 18/11/2017
 
Semana da computacao - Linux Day
Semana da computacao - Linux DaySemana da computacao - Linux Day
Semana da computacao - Linux Day
 
Linux, Docker, Open Source e Tecnologias Microsoft - Dezembro/2017
Linux, Docker, Open Source e Tecnologias Microsoft - Dezembro/2017Linux, Docker, Open Source e Tecnologias Microsoft - Dezembro/2017
Linux, Docker, Open Source e Tecnologias Microsoft - Dezembro/2017
 
A Plataforma Maemo
A Plataforma MaemoA Plataforma Maemo
A Plataforma Maemo
 
Evolução dos Sistemas Operativos
Evolução dos Sistemas OperativosEvolução dos Sistemas Operativos
Evolução dos Sistemas Operativos
 
SO001.pdf
SO001.pdfSO001.pdf
SO001.pdf
 
Segurança em servidores Linux
Segurança em servidores LinuxSegurança em servidores Linux
Segurança em servidores Linux
 
Linux Desktop (Campus Party Recife)
Linux Desktop (Campus Party Recife)Linux Desktop (Campus Party Recife)
Linux Desktop (Campus Party Recife)
 
Python - Programando em alto nível
Python - Programando em alto nívelPython - Programando em alto nível
Python - Programando em alto nível
 

OpenBSD Segurança por Padrão

  • 1. OpenBSD Segurança por padrão Walter Neto Começou a programar com 12 anos como hobby, conheceu sistemas Unix-like através do Linux Conectiva 4.6 em 2001, como última distribuição Linux usou o Gentoo Hoje utiliza OpenBSD como projetos de Firewall e outros serviços de Rede Trabalha atualmente para SIM≫Consultas
  • 2. Assuntos Abordados • História do Unix • Projeto OpenBSD e sub-projetos • Mecanismos de Segurança • Hands On
  • 3. História do Unix • 1965 - AT&T, GE e o projeto “Multics” (Multiplexed Information and Computing Services) no Bell Labs • 1969 - Os cientistas começam a procurar uma alternativa ao Multics (Ken Thompson, Dennis Ritchie e cia.) • “Space Travel” rodando no PDP-7
  • 4. História do Unix • Thompson reescreve o sistema inicial • Thompson batiza o sistema com o nome de UNIX, um trocadilho com o projeto Multics que fracassou
  • 5. História do Unix • Portando o UNIX do PDP-7 para um PDP-11
  • 6. História do Unix • 1971 - Thompson tenta escrever o UNIX em uma linguagem de alto nível (Fortran), cria uma linguagem simples chamada “B”, que também lhe causa dores de cabeça • Ritchie começa a escrever uma linguagem parecida com B, que ele chamou na época de NB (new B), ficou boa
  • 7. História do Unix • 1973 - Dennis Ritchie termina a primeira versão da linguagem C que compila uma versão do UNIX • 1976..1977 - Compartilhando o UNIX com o mundo e ponta pé inicial do BSD • 1984 - AT&T se desfaz das empresas de telefonia Bell local e cria a AT&T Computer Systems
  • 9. Projeto OpenBSD • Out 1995 - Theo de Raadt cria o OpenBSD
  • 10. Projeto OpenBSD • Sistem operacional multi-plataforma baseado no 4.4BSD • Ênfase em: • Portabilidade • Padronização • Correção de Bugs • Segurança Proativa • Criptografia Integrada
  • 11. Projeto OpenBSD • É desenvolvido inteiramente por voluntários • O projeto paga pelo ambiente de desenvolvimento e pelos eventos (Hackathons) com a venda de CDs e doações de empresas e pessoas
  • 12.
  • 13. Projeto OpenBSD • Sub-Projetos • OpenSSH • OpenBGPD • OpenNTPD • OpenCVS • OpenSMTPD • OpenIKED
  • 14. Projeto OpenBSD • Pacotes da versão 5.3 (instalação) ◦ Xenocara (based on X.Org 7.7 with xserver 1.12.3 + patches, freetype 2.4.11, fontconfig 2.8.0, Mesa 7.11.2, xterm 287, xkeyboard-config 2.7 and more) ◦ Gcc 4.2.1 (+patches), 3.3.6 (+ patches) and 2.95.3 (+ patches) ◦ Perl 5.12.2 (+ patches) ◦ Our improved and secured version of Apache 1.3, with SSL/TLS and DSO support ◦ Nginx 1.2.6 (+ patches) ◦ OpenSSL 1.0.1c (+ patches) ◦ SQLite 3.7.14.1 (+ patches) ◦ Sendmail 8.14.6, with libmilter ◦ Bind 9.4.2-P2 (+ patches) ◦ NSD 3.2.15 ◦ Lynx 2.8.7rel.2 with HTTPS and IPv6 support (+ patches) ◦ Sudo 1.7.2p8 ◦ Ncurses 5.7 ◦ Heimdal 0.7.2 (+ patches) ◦ Binutils 2.15 (+ patches) ◦ Gdb 6.3 (+ patches) ◦ Less 444 (+ patches) ◦ Awk Aug 10, 2011 version
  • 16. Mecanismos de Segurança • Cultura de Desenvolvimento “Shut up and hack!” • Feito para desenvolvedores e usuários experientes • A documentção é ótima, então RTFM • Se mantém o mais fiel possível aos padrões do Unix (POSIX,ANSI, etc) • É um SO completo, desenvolvido de forma integral - Diferente dos pacotes GNU/Linux - Fontes do sistema completo em /usr/src
  • 17. Mecanismos de Segurança • Suportar várias arquiteturas de Hardware ajuda a encontrar bugs • A instalação padrão tem tudo o que se espera em um Unix, pacotes como Gnome e etc são mantidos separadamente • Foco em código correto, claro e simple. - One of my most productive days was throwing away 1000 lines of code.” -- Ken Thompson • Código simples e ao mesmo tempo poderoso • Código não utilizado tem que ser excluído. O repositório é versionado, o código não é perdido
  • 18. Mecanismos de Segurança • Padronizar estilos e design patterns do código • Ao achar um bug, procure-o em todo o código, se possível através de expressões regulares • Tratar erros retornados pela API,“é sério”!
  • 19. Mecanismos de Segurança • O compilador é seu amigo, use -Wall -Wextra -Wpedantic • Resista à tentação dos POGs, os revisores de código não vão gostar e o código não vai entrar. Mancha a reputação • Perfumarias só depois que estiver correto e rodando
  • 20. Mecanismos de Segurança • Secure by default (tema desde 1996) • O design é furado? Corrija o design • O código é furado? Corrija o código • A documentação está errada? Corrija e melhore a documentação
  • 21. Mecanismos de Segurança • Use tipos de dados corretos e evite {over, under}flows • Detectou um erro? Na dúvida, termine o processo
  • 23. Hands On • Uso de criptografia forte e números aleatórios, ambiente hostil para exploits - Openbsd usa números aleatórios sempre que possível • OpenBSD como firewall ja protege por padrão sistemas menos seguros
  • 24. Hands On • Proteção de {buffer, stack}-overflow • ASLE - Address Space Layout Randomization “extreme”
  • 25. Reflexão Final Nenhuma destas técnicas garante segurança por si só, mas todas juntas tornam as coisas muito difíceis para os atacantes
  • 27. Fontes • http://www.openbsd.org/papers/ • http://oesc-livre.org/media/slides/2012/ outubro_tecland/ • http://www.bell-labs.com/history/unix/ "Seja a mudança que você deseja para o mundo". Mahatma Gandhi