O documento descreve 10 barreiras de segurança do sistema operacional Chalix Linux para proteger contra vírus, incluindo permissões restritas de instalação de programas, proteção de pastas e binários, falta de recursos explorados por vírus de Windows, controle de acesso a dispositivos, padrões que evitam erros, controle de senhas, detecção de comportamentos absurdos, controle de prioridade de processos, capacidade de matar processos e controle de reinicialização. Testes com hackers experientes mostraram que o Chalix Linux é imune
2. Existem vírus para linux?
Se você instalar o f-prot no seu Linux e executar o comando
f-prot -virno irá obter uma lista similar a mostrada abaixo:
DOS/Windows: 50348 viruses and 55762 Trojans
Word/Excel: 8354 viruses and Trojans
Java: 2 viruses and 301 Trojans
BAT: 3160 viruses and Trojans
IRC INI: 1806 viruses and Trojans
Script: 6373 viruses and Trojans
INF: 7 viruses and Trojans
Unix shell/Linux Shell: 385 viruses and Trojans
Ami: 2 viruses and Trojans
WinBat: 4 viruses and Trojans
PIF: 23 viruses and Trojans
PalmOS: 4 viruses and Trojans
PHP: 28 viruses and Trojans
Unix/Linux: 431 viruses and Trojans
3. Os Vírus oferecem perigo para o
utilizador Chalix?
Como vocês podem notar no tópico anterior o comando
executado mostrou duas linhas, afirmando uma certa
quantidade de vírus para linux:
Unix shell/Linux Shell: 385 viruses and Trojans
Unix/Linux: 431 viruses and Trojans
Sera que eles realmente oferecem perigo?
4. Primeira barreira:
Instalação de programas
Por padrão, o usuário não pode instalar nenhum programa, para isso ele
precisa da senha do administrador ou de permissões na estrutura de
pacotes.
Para dificultar ainda mais, estes pacotes são assinados por chaves de
criptografia GPG, ou seja mesmo que o utilizador seja o administrador,
ou tenha permissões para instalar um vírus este arquivo provavelmente
não estaria assinado com as chaves GPG baixadas e o vírus não seria
instalado. O administrador pode é claro forçar uma instalação de um
pacote sem baixar a assinatura do mesmo, mas iria receber uma série de
avisos.
Os programas ainda contam com níveis de permissão diferenciado,
definidos pelo administrador.
5. Segunda Barreira:
Arquitetura de pastas
O diretório onde ficam os binários é protegido contra
●
gravação. Por padrão, Somente o super-usuário tem acesso à
gravação nesta pasta.
Os diretórios onde ficam as bibliotecas ficam separados dos
●
binários e possuem outro tipo de permissão voltada para os
executáveis que as utilizam.(os gerenciadores de pacotes
cuidam de tudo isso). Por padrão, somente o super-usuário tem
acesso à gravação nesta pasta.
Os diretórios onde ficam os usuários são incomunicaveis entre
●
si para leitura e escrita(exceto que você crie grupos), por
padrão somente o dono do diretório pessoal tem acesso à ele, e
para garantir a segurança, o usuário não consegue
simplesmente baixar um executavel e executa-lo, é preciso que
ele de permissões de execução(+x) neste arquivo.
6. Terceira barreira:
Ausência de certos Recursos
Um arquivo de texto formatado, pode até conter certos
comandos, mas eles são extremamente restritos ao que é
realmente necessário, em sistemas como o Windows estes
arquivos tem comandos que permitem até mesmo a auto-
duplicação ou exclusão de arquivos que não estão
relacionados ao documento.
Arquivos de proteção de tela(.scr), não podem ser executados
diretamente, exceto que você copie-os em subpastas do /usr/
share, isso requer permissões de administrador, alem disso
estes arquivos não são tratados como executáveis eles estão
restritos apenas a uma proteção de tela, sem muitos enfeites.
Navegador Web: O navegador tem de Java a Flash, porém tudo
é restrito as permissões do usuário. Comandos no sistema
são extremamente restritos.
7. Quarta barreira:
Acesso indireto à dispositivos
Quando você instala o Chalix apenas certos
programas vem com permissões especiais para
terem acesso direto aos dispositivos.
Estas permissões são definidas na primeira trilha
da partição.
Todos os executáveis do resulinux são protegidos
contra gravação, somente com a senha do
administrador é possível modifica-los.
8. Quinta barreira: Padrões que
evitam erros humanos
O Chalix cria por padrão, um utilizador
com permissões restritas, e bloqueia completamente a possibilidade
de login como administrador.
Se o usuário precisar de permissões de administrador, a senha é
pedida separadamente por cada recurso chamado.
Por padrão todas as senhas definidas são analisadas por uma
cracklib, ela verifica se os sofwares hackers de quebra de senha
estão aptos a quebrar a senha.
Para melhorar ainda mais a segurança um timer é definido entre uma
tentativa de password e outra que dificulta o uso de cracklibs de
multiplas tentativas(os vírus poderiam utiliza-los)
Utilizadores sem senha são bloqueados totalmente, só podem se
logar se o administrador criar uma senha para eles que não seja
quebrável pelo cracklib.
9. Sexta barreira:
Entrada e saída de senhas
O kernel não permite que um programa qualquer envie
uma senha para obter mais permissões, é preciso que ele
possua no sistema de arquivos um bit especial(definido
na primeira trilha da partição), só assim ele poderá ter
esse privilégio
Os programas que não tem o bit podem elevar suas
permissões com auxílio de programas que ja vem com a
distribuição, porém estes programas fazem uma
interação direta com o usuário, ou seja eles não deixam
que os programas que querem elevar suas permissões
interajam com eles até que o usuário digite uma senha.
10. Sétima barreira:
Detecção de absurdos
Se o administrador executa um comando muito absurdo
por exemplo, perante a estrutura de pacotes numa
distribuição debian, o sistema emite um aviso
mostrando que detectou algo absurdo, com uma
mensagem como a mostrada abaixo:
'O que você esta prestes a fazer é potencialmente
destruidor e sem sentido.
Se quer continuar, digite exatamente como mostrado
abaixo e pressione ENTER:
Sim faça o que eu digo, mesmo que seja estúpido!“
11. Oitava barreira:
Controle de prioridade
O sistema é capaz de perceber quando um programa tenta
utilizar recursos de maneira absurda, e os finaliza na
através de um sistema de controle no pam.d.
Os utilizadores não tem permissões para controlar
prioridades, exceto dentro dos programas que eles estão
executando.
12. Nona barreira:
Kill -9 Eficaz
O sistema sempre consegue matar processos.
Não é como em outros sistemas operacionais que
muitas vezes um programa não pode ser
finalizado, mesmo que o usuário queira muito.
O Linux consegue matar uma aplicação
instantâneamente, sem apresentar problemas.
Lembrando que cada usuário mata apenas seus
próprios processos(com excessão do
administrador, que pode matar qualquer
processo).
13. Décima barreira:
Entrada e saída de SysRq
O kernel não permite que um programa qualquer envie
uma chamada para reiniciar ou desligar por exemplo,
ele precisa usar as bibliotecas especificas e ter bits
específicos de permissões na primeira trilha da partição.
Se um programa quer reiniciar ele precisa sempre da
autorização de outro programa que pede autorização
para o usuário.
Isso se o usuário em questão tiver permissões para
reinciar, caso contrário isso nunca é permitido, até que o
usuário digite a senha de outro usuário que tenha
permissões ou do administrador.
14. Palavras finais:
Testamos nossa arquitetura com a ajuda de alguns
●
ex-membros do Xroot, um dos mais famosos
grupos hackers brasileiros. Após algumas
correções e ajustes feitos com ajuda desta equipe,
o Resulinux atingiu um dos maiores patamares de
segurança entre as distribuições linux brasileiras.
Apesar da existência de vírus para linux, o Chalix
●
foi totalmente ímune nos testes dos ex-membros,
mostrando-se uma plataforma realmente segura
contra os vírus.