OpenBSD Segurança por Padrão

576 views

Published on

Segue a palestra que apresentei na UniSEB em Ribeirão Preto no dia 15/05/2013

0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
576
On SlideShare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
15
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

OpenBSD Segurança por Padrão

  1. 1. OpenBSDSegurança por padrãoWalter NetoComeçou a programar com 12 anos como hobby, conheceusistemas Unix-like através do Linux Conectiva 4.6 em 2001, comoúltima distribuição Linux usou o GentooHoje utiliza OpenBSD como projetos de Firewall e outros serviçosde RedeTrabalha atualmente para SIM≫Consultas
  2. 2. Assuntos Abordados• História do Unix• Projeto OpenBSD e sub-projetos• Mecanismos de Segurança• Hands On
  3. 3. História do Unix• 1965 - AT&T, GE e o projeto“Multics” (Multiplexed Information andComputing Services) no Bell Labs• 1969 - Os cientistas começam a procuraruma alternativa ao Multics (Ken Thompson,Dennis Ritchie e cia.)• “Space Travel” rodando no PDP-7
  4. 4. História do Unix• Thompson reescreve o sistema inicial• Thompson batiza o sistema com o nomede UNIX, um trocadilho com o projetoMultics que fracassou
  5. 5. História do Unix• Portando o UNIX do PDP-7 para umPDP-11
  6. 6. História do Unix• 1971 - Thompson tenta escrever o UNIXem 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 linguagemparecida com B, que ele chamou na épocade NB (new B), ficou boa
  7. 7. História do Unix• 1973 - Dennis Ritchie termina a primeiraversão da linguagem C que compila umaversão do UNIX• 1976..1977 - Compartilhando o UNIX como mundo e ponta pé inicial do BSD• 1984 - AT&T se desfaz das empresas detelefonia Bell local e cria a AT&T ComputerSystems
  8. 8. Projeto
  9. 9. Projeto OpenBSD• Out 1995 - Theo de Raadt cria o OpenBSD
  10. 10. Projeto OpenBSD• Sistem operacional multi-plataforma baseado no4.4BSD• Ênfase em:• Portabilidade• Padronização• Correção de Bugs• Segurança Proativa• Criptografia Integrada
  11. 11. Projeto OpenBSD• É desenvolvido inteiramente porvoluntários• O projeto paga pelo ambiente dedesenvolvimento e pelos eventos(Hackathons) com a venda de CDs edoações de empresas e pessoas
  12. 12. Projeto OpenBSD• Sub-Projetos• OpenSSH• OpenBGPD• OpenNTPD• OpenCVS• OpenSMTPD• OpenIKED
  13. 13. 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, fontconfig2.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
  14. 14. Segurança Por Padrão
  15. 15. Mecanismos de Segurança• Cultura de Desenvolvimento “Shut up andhack!”• Feito para desenvolvedores e usuáriosexperientes• A documentção é ótima, então RTFM• Se mantém o mais fiel possível aos padrõesdo Unix (POSIX,ANSI, etc)• É um SO completo, desenvolvido de formaintegral- Diferente dos pacotes GNU/Linux- Fontes do sistema completo em /usr/src
  16. 16. Mecanismos de Segurança• Suportar várias arquiteturas de Hardware ajuda aencontrar bugs• A instalação padrão tem tudo o que se espera emum Unix, pacotes como Gnome e etc sãomantidos 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. Orepositório é versionado, o código não é perdido
  17. 17. Mecanismos de Segurança• Padronizar estilos e design patterns docódigo• Ao achar um bug, procure-o em todo ocódigo, se possível através de expressõesregulares• Tratar erros retornados pela API,“é sério”!
  18. 18. Mecanismos de Segurança• O compilador é seu amigo, use-Wall -Wextra -Wpedantic• Resista à tentação dos POGs, os revisoresde código não vão gostar e o código nãovai entrar. Mancha a reputação• Perfumarias só depois que estiver corretoe rodando
  19. 19. 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 emelhore a documentação
  20. 20. Mecanismos de Segurança• Use tipos de dados corretos e evite {over,under}flows• Detectou um erro? Na dúvida, termine oprocesso
  21. 21. Hands On
  22. 22. Hands On• Uso de criptografia forte e númerosaleatórios, ambiente hostil para exploits- Openbsd usa números aleatórios sempre quepossível• OpenBSD como firewall ja protege porpadrão sistemas menos seguros
  23. 23. Hands On• Proteção de {buffer, stack}-overflow• ASLE - Address Space LayoutRandomization “extreme”
  24. 24. Reflexão FinalNenhuma destas técnicas garante segurançapor si só, mas todas juntas tornam as coisasmuito difíceis para os atacantes
  25. 25. Perguntas ?Obrigado por assistir
  26. 26. 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

×