SecAuthAPI: uma abordagem para suportar infraestruturas de autorização auto-adaptativas - Medeiros, Welkson Renny de (2018)
Mecanismos de controle de acesso tem sido utilizados em sistemas de informação para restringir o acesso a informações sensíveis. Tais mecanismos são capazes de lidar com ameaças de agentes externos à instituição, porém são ineficientes quando consideramos ataques envolvendo usuários internos. Políticas de controle de acesso costumam ser estáticas, e incapaz de lidar com comportamento anômalos de usuários maliciosos que possuem permissão de acesso ao sistema. Sistemas auto-adaptativos têm se mostrado como uma possível resposta para esta situação, uma vez que são capazes de analisar a si próprio e ao ambiente em que estão inseridos, e se modificar sobre variadas e imprevisíveis condições. Para isso, é necessário um conjunto de operações bem definidas que possam ser utilizadas na definição de planos de adaptação. Neste sentido, este trabalho propõe o SecAuthAPI, uma abordagem de suporte a infraestruturas de autorização auto-adaptativas, que expõe um conjunto de operações para manipulação de políticas de controle de acesso ABAC (Attribute-Based Access Control). As operações definidas são baseada em uma especificação funcional formal do modelo ABAC, e são expostas através de uma API REST, e são utilizadas para se permitir a adaptação dinâmica de políticas de controle de acesso. Considerando a aplicação desta abordagem em um sistema real, este trabalho também propõe e implementa a externalização dos mecanismos de autorização para o sistema SUAP, desenvolvido e usado no IFRN. Com isso, restrições de acesso que antes eram fixadas diretamente no código (hard-coded) são agora definidas através de um servidor de autorização, desacoplando a preocupação de controle de acesso da lógica de negócio da aplicação. Além disso, ao aplicar o SecAuthAPI neste servidor de autorização, possibilitamos que as políticas possam ser manipuladas dinamicamente. As operações do SecAuthAPI foram avaliadas através de testes unitários que atestam a sua aderência à especificação funcional formal, enquanto que a externalização de controle de acesso do SUAP teve seu desempenho avaliado e comparado com a abordagem legada. Os resultados alcançados demonstram que, embora tenha um custo computacional adicional, o impacto no desempenho da aplicação é desprezível. Adicionalmente, nossa solução mostra-se altamente viável diante dos benefícios trazidos pelo desacoplamento de preocupação de controle de acesso do código fonte da aplicação.