18.11.2014 Views

Anais - Engenharia de Redes de Comunicação - UnB

Anais - Engenharia de Redes de Comunicação - UnB

Anais - Engenharia de Redes de Comunicação - UnB

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

<strong>de</strong> execução privilegiados, como mais recentemente na arquitetura SP [9, 13]. A arquitetura<br />

SP, no entanto é <strong>de</strong> uso mais geral e minimalista e po<strong>de</strong> ser aplicada com menor<br />

número <strong>de</strong> intervenções em arquiteturas <strong>de</strong> processadores já existentes, como as famílias<br />

x86 e SPARC. A Arquitetura SP utiliza alterações <strong>de</strong> instruction sets e a adição <strong>de</strong> componentes<br />

<strong>de</strong> cifração <strong>de</strong> memória; e, utilizando o proposto Trusted Software Module, um<br />

sistema operacional seguro minimalista, provê serviços <strong>de</strong> confi<strong>de</strong>ncialida<strong>de</strong> e atestação<br />

remotos.<br />

Arquiteturas para Execução Monitorada<br />

Apesar <strong>de</strong> não apontado pelo trabalho <strong>de</strong> Lee [9], po<strong>de</strong>mos conjecturar que, com modificações<br />

no TSM, a arquitetura SP (e também na pilha <strong>de</strong> software do AEGIS) po<strong>de</strong>ria ser utilizada<br />

para introspecção <strong>de</strong> software entre processos. Esse uso, no entanto, parte do princípio<br />

<strong>de</strong> que o sistema verificador (SV) não sofre das mesmas fragilida<strong>de</strong>s que o sistema em<br />

verificação (SEV), e que também não é influenciado por alguma execução faltosa. Para<br />

diminuir riscos implícitos <strong>de</strong> segurança provenientes <strong>de</strong> problemas <strong>de</strong> implementação e<br />

arquiteturas <strong>de</strong> solução complexas, muito se fala [18, 9] da utilização <strong>de</strong> bases minimalistas<br />

<strong>de</strong> computação confiada on<strong>de</strong> a pilha <strong>de</strong> software (BIOS segura, S.O. seguro,<br />

aplicações seguras...) é reduzida a alguns poucos milhares <strong>de</strong> linhas <strong>de</strong> código.<br />

Entretanto, tanto quanto saibamos, nenhum trabalho tem se atentando ao fato <strong>de</strong><br />

que as arquiteturas <strong>de</strong> hardware <strong>de</strong> processadores (e sistemas) são <strong>de</strong>scritas em centenas<br />

<strong>de</strong> milhares ou mesmo milhões <strong>de</strong> linhas <strong>de</strong> código <strong>de</strong> linguagens <strong>de</strong> <strong>de</strong>scrição <strong>de</strong> hardware<br />

e, portanto, estão sujeitas a problemas <strong>de</strong> implementação tanto quanto os softwares,<br />

na medida em que segurança não é uma consi<strong>de</strong>ração comum no mundo dos sintetizadores<br />

<strong>de</strong> hardware. Desta forma, é temerário esperar que um sistema típico não possua<br />

problemas ocultos <strong>de</strong> segurança em termos <strong>de</strong> implementação.<br />

Trabalhos como CuPIDS [23] e CoPilot [15], por sua vez, caminham por uma linha<br />

<strong>de</strong> pesquisa distinta: utilizam pares <strong>de</strong> sistemas, um monitor <strong>de</strong> (políticas) <strong>de</strong> segurança<br />

e outro monitorado. O CoPilot é voltado para o monitoramento e recuperação <strong>de</strong> ataques<br />

<strong>de</strong> rootkits. Ele é implementado por meio <strong>de</strong> uma placa PCI-mestre <strong>de</strong> barramento (sistema<br />

monitor), conectada a um hospe<strong>de</strong>iro (sistema monitorado) e é capaz <strong>de</strong> inspecionar<br />

todo o seu espaço <strong>de</strong> en<strong>de</strong>reçamento.<br />

O monitor não compartilha recursos com o sistema monitorado; assim, em caso <strong>de</strong><br />

instalação <strong>de</strong> um rootkit no sistema principal, a placa PCI é capaz <strong>de</strong> verificar que houve<br />

modificações no espaço <strong>de</strong> en<strong>de</strong>reçamento do kernel do sistema e assim corrigir o sistema<br />

e avisar uma estação <strong>de</strong> monitoramento externa. Por possuírem arquiteturas completamente<br />

diferentes, monitor e monitorado também minimizam a possibilida<strong>de</strong> <strong>de</strong><br />

compartilharem <strong>de</strong>feitos.<br />

Já as limitações do CoPilot estão principalmente ligadas à <strong>de</strong>gradação <strong>de</strong> <strong>de</strong>sempenho<br />

causada pelo processamento, pelo monitor, do espaço <strong>de</strong> en<strong>de</strong>reçamento do sistema<br />

monitorado, o que restringe a usabilida<strong>de</strong> da proposta à verificação do kernel do sistema<br />

em RAM. O custo do hardware também é um problema.<br />

No CuPIDS, por sua vez, a i<strong>de</strong>ia <strong>de</strong> sistema in<strong>de</strong>pen<strong>de</strong>nte <strong>de</strong> monitoramento é<br />

revisitada com uma nova arquitetura <strong>de</strong> hardware e novos objetivos <strong>de</strong> monitoramento.<br />

74

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

Saved successfully!

Ooh no, something went wrong!