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 ...
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