CHAPTER 2: PERCEPTIONS OF STALINGRAD THROUGH AESTHETICS & VIOLENCE
11. The exorcism of inner demons – Vilsmaier’s Stalingrad
Neste trabalho, foi proposta uma arquitetura computacional, que através de um serviço terceirizado de verificação, aplica os conceitos de confiança para permitir um monitoramento qualificado e constante da integridade dos arquivos mantidos em um Serviço de Armazenamento de Dados na Nuvem (SADN), sem comprometer a confidencialidade. Baseado no comportamento de cada SADN, a frequência de verificações pode aumentar ou diminuir, reduzindo a carga de processos nos serviços que tem taxa de falha muito baixa ou verificando mais rapidamente todos os arquivos armazenados em serviços que já apresentaram algum tipo de falha.
A arquitetura implementa um protocolo projetado para atender premissas como baixo consumo de largura de banda, identificar rapidamente serviços mal comportados, prover forte resistência contra fraudes, evitar a sobrecarga do SADN, garantir a confidencialidade dos dados e ainda, fornecer previsibilidade e máxima economia de recursos ao Serviço de Verificação da Integridade (SVI). A arquitetura elimina a necessidade do cliente manter cópias dos arquivos armazenados na nuvem, garantindo a sua recuperabilidade por meio de redundância, cujo nível pode ser adequado pelo cliente, conforme a criticidade da informação a ser armazenada.
A principal característica do protocolo é fornecer um controle eficiente sobre a integridade dos arquivos salvos nos SADN, sem sobrecarregar os serviços que têm um comportamento adequado, mas atuando pró-ativamente para rapidamente identificar falhas e fornecer alertas precoces sobre arquivos corrompidos aos seus proprietários. O monitoramento da integridade é realizado de forma fracionada, sem a necessidade do SVI acessar diretamente o conteúdo do arquivo e sem a necessidade do SADN processá-lo por inteiro a cada verificação.
A implementação da arquitetura foi realizada utilizando algoritmos criptográficos, para os quais não há ataques conhecidos, e com força criptográfica suficiente para manter a confidencialidade dos dados por muitas décadas, considerando o estado da arte atual da tecnologia e o seu poder computacional. Além dos mecanismos de resistência a fraudes previstos na proposta do protocolo, na implementação da arquitetura foram inseridos
recursos para aumentar a resistência a falhas, dos quais pode-se destacar o uso de chamadas web services assíncronas e o monitoramento de ações pendentes tanto no SVI como SADN.
A validação fracionada do arquivo composta por blocos de dados montados a partir de frações escolhidas aleatoriamente se mostrou eficaz durante as simulações com injeção de falhas. Mesmo pequenas alterações em arquivos grandes levaram em média 14 dias para serem identificadas.
A protocolo prevê a classificação do SADNs em níveis de confiança, conforme o seu histórico de disponibilidade e a integridade dos dados por eles armazenados. O resultado dessa classificação, além de ser aplicado para desonerar a carga computacional consumida dos SADNs que não apresentaram falhas, permite ainda que os clientes possam usar essa informação, para selecionar de forma crítica o SADN mais adequado a ser contratado, conforme o nível de criticidade da informação a ser armazenada.
As simulações e testes realizados a partir da implementação da arquitetura, demonstraram que o tempo mínimo necessário para que um SADN alcance o próximo nível de confiança em determinado SVI, varia de acordo com o número de arquivos que este SVI monitora simultaneamente no SADN avaliado e o nível atual da confiança. Entretanto, a partir de um determinado número de arquivos, que no caso da ascensão são aproximadamente 180, esse tempo se estabiliza em aproximadamente 1 ano. Já no rebaixamento, apesar de apresentar o mesmo comportamento, a unidade de tempo deixa de ser “ano” e passa a ser “dia”, sendo que a estabilidade já ocorre com aproximadamente 100 arquivos e o tempo mínimo passa a ser 1 dia.
Com os resultados dos testes realizados foi possível verificar que o tempo gasto para geração da Tabela de Informações (TabInfor) do arquivo, assim como o seu tamanho, podem ser considerados aceitáveis, crescendo proporcionalmente ao tamanho do mesmo. O consumo de banda de rede para a realização do monitoramento comprovou-se bastante baixo independentemente do nível de segurança atribuído ao SADN.
A arquitetura mostrou-se durante os testes bastante robusta, respondendo de forma satisfatória as simulações de falhas. A arquitetura resistiu muito bem também a falhas não
previstas no protocolo, como o desligamento não planejado de servidores, não exigindo qualquer intervenção humana para o retorno de suas funcionalidades após o religamento dos mesmos.
Por fim, por meio dos resultados obtidos foi possível verificar que os objetivos propostos para o trabalho foram atingidos, dos quais destacam-se a verificação fracionada da integridade e o balanceamento da carga de verificações. Entretanto, também foi possível identificar que existem oportunidades de melhoria que devem ser abordadas em trabalhos futuros como a melhoria da performance do processo de geração de hashes em arquivos com tamanhos iguais ou superiores a 15 Gb.
6.1 - TRABALHOS FUTUROS
Como trabalho futuro, pretende-se adicionar uma funcionalidade que permita o compartilhamento de informações sobre o nível de confiança dos SADN entre os diferentes SVI. Esta funcionalidade permitiria por exemplo, que uma falha identificada em determinado SADN por um SVI, alerte os demais de forma que estes reajam pró- ativamente, dando prioridade a verificação dos arquivos armazenados no referido SADN.
Como funcionalidade adicional, objetivando aumentar a segurança e minimizar as possibilidades de ataques sobre a arquitetura, pretende-se propor um mecanismo que garanta que somente SVI autorizados pelo cliente possam submeter desafios ao SADN. Além disso, pretende-se formalizar o protocolo proposto utilizando uma linguagem formal, como redes de Petri (Jensen 1992) ou lógica BAN (Burrows, Abadi, Needham 1990).
Para complementar as análises e aumentar o nível de confiança nos resultados apresentados, pretende-se realizar testes de performance e comportamento da arquitetura em nuvens reais, providas por provedores comerciais como a Amazon e o Google. Outros testes também deverão ser realizados de forma a comparar a performance obtida pela arquitetura proposta em relação a performance obtida em mesmo ambiente por soluções propostas por outros autores.
Com objetivo de se obter melhores performances em arquivos superiores a 30 GB, pretende-se ainda, testar variações do protocolo, como o aumento da quantidade de frações por arquivo e/ou quantidade de frações por bloco de dados. Nesse mesmo sentido, pretende-se ainda aprimorar a implementação da arquitetura de forma a aumentar o nível de paralelismo dos processos, como por exemplo, o processo de geração dos hashes utilizados para verificar a integridade do arquivos.