Em 20/06/2013, às 16:03, Daniel Bristot de Oliveira <danielbris...@gmail.com> 
escreveu:

> o FreeBSD começou em 1993, este ano comemora-se 20th aniversário do Freebsd.
> 
> Os problemas de "20 anos atrás" vem do fato de que o FreeBSD à 20 anos
> atrás, como era um sistema "nascendo", com muitas features novas, tinha
> bugs facilmente exploráveis, como este.
> 
> Então, o que ele quis dizer foi, com um tom de ironismo:
> 
> O FreeBSD tem falhas de segurança, como à 20 anos atrás, quando estava
> nascendo. Ele quis então dizer que o FreeBSD é um sistema imaturo, mas pelo
> e-mail, não mais imaturo quanto ele (o cara que escreveu).

Pois é tem bastante coisa errada hehehe

FreeBSD faz 20 anos esse ano mas não esse mês; ou muito me engano ou o ramo do 
RELENG_1 foi criado em Setembro de 1993, não sei o dia do primeiro commit 
porque ainda tenho alguma vida social, mas alguém deve saber ao certo. Então 
FreeBSD foi "gerado" em Setembro mas veio ao mundo, oficialmente, viu a luz, em 
1 de Novembro de 1993.

Então a data correta  e o anúncio do FreeBSD 1.0 marca seu aniversário, 1 de 
Novembro (de 1993). Mas tudo bem comemorar o ano inteiro :D

Uma copia do anuncio feito pelo Jordan Hubbard: 
http://ftp.netbsd.org/pub/NetBSD/misc/release/FreeBSD/FreeBSD-1.0

O ports é de 21/08/1994, data que o mk do ports foi commitado e data que os 
primeiros 2 ports foram commitados, emacs, jove e bash.

Sobre a falha de segurança ela não existe ha 20 anos. Ela foi introduzida no 
FreeBSD 9.0. O exploit em questão explora a falha do MMAP mas não é um exploid 
0day. Esse mesmo exploit tem 100% de efetividade em FreeBSD 9.1, 9.0-STABLE mas 
falha em 30% dos casos em FreeBSD 9.0-RELEASE. 

Sobre a mitigação mencionada, colocar security.bsd.unprivileged_proc_debug=0 
mitiga APENAS o exploit publico:

# sysctl security.bsd.unprivileged_proc_debug=0
security.bsd.unprivileged_proc_debug: 1 -> 0
# ^D%
%
% ./a.out
FreeBSD 9.{0,1} mmap/ptrace exploit
by Hunger<fbsd9...@hunger.hu>
a.out: ptattach: a.out: Operation not permitted
ptraceme: Operation not permitted
%

Ou seja não mitiga a falha do mmap. Esse exploid foi feito pra explorar da 
forma a falha de uma forma específica mas não é a única. Desligar essa sysctl 
não é um workaround permanente, logico que é bom que se faça de imediato, mas 
evita apenas esse exploit. Podem haver outras formas de explorar a mesma falha 
do mmap então a correção de verdade é de código, atualizar.

Por último, os créditos da vulnerabilidade são k...@freebsd.org e 
a...@freebsd.org, a falha foi identificada, corrigida, e anunciada, em casa. 
Não foram researchers externos, não foi um 0day, etc. A coisa foi como deveria 
ser com todo sistema com uma política responsável de Full Disclosure. O exploit 
em questão saiu quase 2 dias depois do advisory oficial (que saiu junto com a 
correção).

O FreeBSD-SA-12:04.sysret  de exatos 1 ano atras tem o mesmo impacto, afeta do 
RELENG_7 ao _9, e não ganhou todo essa atenção e barulho, por que? A postura é 
a mesma galera: APLIQUEM A CORREÇÃO.

Não se deixem impressionar pela tag "20 years old" que só pertence (ou quase) 
ao FreeBSD. Não a falha, não a segurança do FreeBSD. E a data de 20 anos está 
errada então até nisso o menino que fez o exploit resolveu usar o timing pra 
fazer barulho.

Alias a afirmação que a segurança do FreeBSD é de 20 anos atrás é no mínimo, 
imprecisa. Sistemas com política mac do tipo bsd_partition como o Evandro 
mencionou, não permitem essa exploração (logico contanto que o PID esteja 
isolado em um partition diferente do partition 0 que é do root/kernel), 
firewall de sistema de arquivos não evita a exploração da falha Evandro 
(bsd_extended) mas políticas MAC e o PARTITION sim, evitam. Capabilities também 
evita.

Ou seja recurso pra hardening "contemporâneo" FreeBSD tem. Talvez mais que 
outros sistemas.

Acho que o certo seria dizer que temos sysadmins com noção de segurança de 20 
anos atrás. Não que o FreeBSD tem a mesma segurança. Está ai, quem aqui da 
lista usa MAC partition? MLS? LOMAC? BIBA (olha a homofobia antes de responder 
hehehe)? Alias quem na lista tem chflags ou securelevel acima de 0? Alias quem 
daqui tem seu webserver, e outros servidores tipicamente sucetiveis a ataques 
no minimo dentro de um jail? Porque a falha em questão não permite por exemplo 
escapar de um jail:

% ./a
FreeBSD 9.{0,1} mmap/ptrace exploit
by Hunger<fbsd9...@hunger.hu>
# id
uid=0(root) gid=0(wheel) egid=1001(freebsdbrasil) 
groups=1001(freebsdbrasil),0(wheel)
# jls
   JID  IP Address      Hostname                      Path
# ls -di /
9470208 /

Então se nem o mínimo nego anda fazendo, talvez o que tenhamos, igual há 20 
anos, sejam mesmo os sysadmins - com noção de segurança de 20 anos atrás. Se 
bem que as vezes tenho saudade 

Afinal do que adianta o DoD ter tuxado milhoes de USD no TrustedBSD se ninguem 
usa nem… securelevel positivo ou jail? ehahuhuaa não que nesse caso fosse 
mitigar a falha mas serve pra se pensar a respeito.

Porque grandes commiters de kernel que as vezes deixam algo passar e geral 
vulnerabilidade, num projeto desse tamanho, dessa idade, e com esse numero de 
desenvolvedores, vai eventualmente acontecer.

Mas outros grandes commiters virão pra ver caca, corrigir e publicar o adequado 
security advisory :-)

Então os sysadmins que não fazem hoje o mínimo hardening discutido há mais de 
20 anos, que pelo menos acompanhem os SA e atualizem ne? hehehe




> 
> 
> 
> On Thu, Jun 20, 2013 at 3:42 PM, Evandro Nunes 
> <evandronune...@gmail.com>wrote:
> 
>> On Thu, Jun 20, 2013 at 9:29 AM, Marcelo Gondim <gon...@bsdinfo.com.br
>>> wrote:
>> 
>>> É pessoal,
>>> 
>>> Sei que a vulnerabilidade foi corrigida agora mas foram 20 anos para
>>> detectar isso?  :(
>>> E funciona lindo mesmo o programa.
>>> 
>> 
>> de onde saiu isso que tem 20 anos? pelo pouco que deu pra ler explora uma
>> falha do freebsd 9 inclusive o security adv so explora o freebsd 9
>> alguem teve sucesso com freebsd 8, 7, outro?
>> acho que a frase "seguranca de 20 anos atras" foi apenas ironiazinha
>> pelo que vi esse vulnerabilidade nao afeta quem tem debug de processo nao
>> root nem quem tem mac_partition ou bsdextended implementado
>> 
>> nego quer é aparecer rss rsss a falha tai, mas não teve 0day inclusive o
>> "ultra mega hacker expert" só fez o exploit depois que o advisory foi
>> publicado, e ainda levou 2 dias pra conseguir explorar o que ja estava
>> documentado e corrigido e vem tirar uma onda de full disclosure...
>> 
>> 
>>> 
>>> 
>>> -------- Mensagem original --------
>>> Assunto:        Happy Birthday FreeBSD! Now you are 20 years old and your
>>> security is the same as 20 years ago... :)
>>> Data:   Wed, 19 Jun 2013 23:32:59 +0200
>>> De:     Hunger <hun...@hunger.hu>
>>> Para:   full-disclos...@lists.grok.org.uk

-------------------------
Histórico: http://www.fug.com.br/historico/html/freebsd/
Sair da lista: https://www.fug.com.br/mailman/listinfo/freebsd

Responder a