14.03.2015 Views

SEGURANÇA: APLICAÇÕES WEB p.66 REDES - Linux Magazine ...

SEGURANÇA: APLICAÇÕES WEB p.66 REDES - Linux Magazine ...

SEGURANÇA: APLICAÇÕES WEB p.66 REDES - Linux Magazine ...

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

OpenSolaris | TUTORIAL<br />

Listagem 4: Comando mount<br />

root@opensolaris:/# mount<br />

/ on rpool/ROOT/opensolaris read/write/setuid/devices/dev=2d90002 on Wed Dec 31 21:00:00 1969<br />

/var/run on swap read/write/setuid/devices/xattr/dev=4b80003 on Fri Aug 21 11:55:53 2009<br />

/export on rpool/export read/write/setuid/devices/nonbmand/exec/xattr/atime/dev=2d90006 on Fri Aug 21<br />

11:56:03 2009<br />

/export/home on rpool/export/home read/write/setuid/devices/nonbmand/exec/xattr/atime/dev=2d90007 on Fri<br />

Aug 21 11:56:03 2009<br />

root@opensolaris:/#<br />

setuid: o sistema de arquivos<br />

suporta a execução de programas<br />

com o indicador de setuid.<br />

Apenas para relembrar, em linhas<br />

muito gerais, programas<br />

com este indicador permitem<br />

que qualquer usuário os execute<br />

como se fosse o dono do arquivo,<br />

ou seja, como usuário root.<br />

Se o conteúdo dos programas<br />

que possuem esse indicador ativado<br />

não for bem conhecido e<br />

controlado, é possível ocorrer<br />

falhas graves de segurança passíveis<br />

de exploração usando, por<br />

exemplo, condições de corrida.<br />

O indicador oposto a setuid<br />

é nosuid;<br />

atime: registra a hora em que o<br />

arquivo foi acessado pela última<br />

vez, isto é, mesmo em operações<br />

de leitura do conteúdo do<br />

arquivo, ele é alterado. Alguns<br />

administradores desabilitam esse<br />

registro com a opção noatime<br />

para aumentar o desempenho;<br />

quota: habilita o uso de cotas no<br />

sistema de arquivos;<br />

forcedirectio: aumenta o desempenho<br />

de I/O do OpenSolaris<br />

no uso com certos aplicativos.<br />

O forcedirectio é muito usado<br />

com banco de dados Oracle,<br />

pois este armazena seu próprio<br />

buffer na memória, o que elimina<br />

o double buffering, provocando<br />

uma queda de desempenho desnecessária;<br />

xattr: esta opção permite o uso<br />

de atributos estendidos no sistema<br />

de arquivos. Isso permite,<br />

por exemplo, embutir um ícone<br />

em um programa executável<br />

em um ambiente gráfico. O<br />

problema é que tudo que pode<br />

ser usado com bom propósito<br />

também pode ser utilizado para<br />

o mal. Crackers podem invadir<br />

uma máquina com OpenSolaris<br />

e esconder, por meio de<br />

comandos próprios para isso,<br />

rootkits no espaço de atributos<br />

estendidos de um arquivo<br />

(quadro 1).<br />

Quadro 1: Uma porta para rootkits<br />

Existem outras opções que dispensam<br />

maiores explicações, como<br />

rw (leitura e escrita) e ro (somente<br />

leitura). Todavia, segue uma demonstração<br />

simples do uso, lembrando<br />

mais uma vez que, quando<br />

nada é explicitado na montagem,<br />

o OpenSolaris adota algumas opções<br />

padrão:<br />

Além das opções de montagem<br />

de sistema de arquivos, também há<br />

outras para montar sistema de ar-<br />

A listagem 5 ilustra um procedimento para embutir um rootkit nos atributos<br />

estendidos de um arquivo. Vamos analisar individualmente os passos executados.<br />

Primeiramente, cria-se um arquivo vazio e usa-se o comando runat para entrar<br />

no espaço de atributos estendidos desse arquivo (linhas 1 e 2).<br />

Lá dentro, é natural a falha (linha 3) do shell em identificar a localização atual<br />

do usuário na árvore de diretórios, pois não estamos em nenhum diretório,<br />

mas dentro do espaço de atributos estendidos do arquivo teste.<br />

Em seguida, criamos o arquivo linuxmagazine.txt contendo algum texto<br />

(linhas 5 a 17).<br />

Ao final, executamos o comando exit para voltar ao sistema de arquivos do<br />

OpenSolaris (linhas 19 e 20).<br />

Ao verificar o tamanho do arquivo teste (originalmente vazio), surge uma surpresa:<br />

ele continua com tamanho zero (linhas 22 e 23)! O espaço ocupado<br />

pelo arquivo linuxmagazine.txt não é mostrado em lugar algum.<br />

Mesmo sem entrar no espaço de atributos estendidos do arquivo teste é<br />

possível listar seu conteúdo e ainda executar qualquer aplicativo (como o shell<br />

Bash, no nosso caso) sem qualquer impedimento (linhas 25 a 45). Note que<br />

qualquer comando de localização do diretório corrente falha (linhas 31 e 32).<br />

Por fim, executamos o comando exit e voltamos ao sistema de arquivos<br />

normal (linhas 47 a 52).<br />

É desta forma que se consegue carregar um rootkit nos atributos estendidos<br />

de um arquivo qualquer e executá-lo sem dificuldade.<br />

<strong>Linux</strong> <strong>Magazine</strong> #60 | Novembro de 2009<br />

53

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!