Uma equipe de pesquisadores da UTSA está explorando como uma nova abordagem automatizada poderia evitar vulnerabilidades de segurança de software.
A equipe procurou desenvolver um modelo de aprendizagem profunda que pudesse ensinar software a extrair políticas de segurança automaticamente.
Ao contrário dos modelos tradicionais de software, o processo ágil de desenvolvimento de software é destinado a produzir software em um ritmo mais rápido, eliminando a necessidade de gastar tempo em documentos abrangentes e alterando os requisitos de software. As histórias do usuário, as especificações que definem os requisitos do software, são a única documentação necessária. No entanto, as práticas inatas a esse processo, como mudanças constantes no código, limitam a capacidade de realizar revisões de garantia de segurança.
“A ideia básica de abordar essa desconexão entre políticas de segurança e desenvolvimento ágil de software surgiu de uma conversa com líderes de software no setor”, disse Ram Krishnan, professor associado do Departamento de Engenharia Elétrica e de Computação da UTSA.
Os pesquisadores analisaram diferentes abordagens de aprendizado de máquina antes de se estabelecerem em uma abordagem de deep learning, que pode lidar com vários formatos de histórias de usuários. O modelo consiste em três peças para realizar a previsão: classificações de controle de acesso, denominada reconhecimento de entidade e classificação do tipo de acesso. A classificação de controle de acesso ajuda o software a decidir se as histórias dos usuários contêm informações de controle de acesso. Entidade nomeada identifica os atores e objetos de dados na história. A classificação do tipo de acesso determina a relação entre os dois.
A equipe levou um conjunto de dados de 21 aplicativos web, cada um consistindo de 50-130 histórias de usuários ou 1.600 no total, para testar sua abordagem.
“Com um conjunto de dados de 1.600 histórias de usuários, desenvolvemos um modelo de aprendizagem baseado em transformadores, uma poderosa técnica de aprendizado de máquina”, disse Krishnan. “Conseguimos extrair políticas de segurança com boa precisão e visualizar os resultados para ajudar as partes interessadas a refinar melhor as histórias dos usuários e manter uma visão geral do controle de acesso do sistema.”
Essa nova abordagem inovadora servirá como uma ferramenta valiosa no moderno ciclo de vida ágil de desenvolvimento de software, disse Krishnan.
“Uma vez que o desenvolvimento ágil de software se concentra em mudanças incrementais no código, um processo manual de extração de políticas de segurança seria propenso a erros e pesado”, acrescentou. “Esta é mais uma área onde o aprendizado de máquina/inteligência artificial mostra ser uma abordagem poderosa.”
Krishnan disse que a equipe ainda tem várias direções que gostariam de levar o projeto.
“Reconhecemos que há poucas informações adicionais sobre controle de acesso que podem ser extraídas ou determinadas diretamente a partir de histórias de usuários em uma abordagem totalmente automatizada”, disse Krishnan. “Isso significa que é difícil, ou impossível, determinar o controle exato de acesso de um software a partir de histórias de usuários sem envolvimento humano. Planejamos ampliar nossa abordagem para torná-la interativa com as partes interessadas para que elas possam ajudar a refinar as informações de controle de acesso.”
FONTE: HELPNET SECURITY