
Taxonomia das brechas de segurança em sistemas de computador
O artigo apresenta uma sistemática que organiza as informações sobre brechas de segurança nos sistemas computacionais de modo que elas possam ser utilizadas por projetistas, analistas, programadores e consultores para entender novas brechas e também identificar pontos mais susceptíveis do sistema. A sistemática é bastante útil para aqueles profissionais encarregados de repelir os ataques e corrigir as falhas.
No entanto, esse tipo de estudo oferece o risco de ser utilizado pelas pessoas mal intencionadas, por isso, foram documentadas as brechas já publicadas anteriormente e mais antigas.
Geralmente uma brecha de segurança é um bug que pela definição da IEEE inclui os erros e faltas. O estudo considera tanto as brechas acidentais quanto aquelas inseridas de maneira proposital.
Algumas das iniciativas passadas para identificar falhas nos sistemas computacionais:
- Flaw Hypothesis Methodology (1970): estuda a documentação e a construção do sistema para gerar hipóteses sobre onde as falhas poderão estar. Em seguida, utiliza a documentação do sistema e os testes para confirmar a presença das falhas. Por fim, generaliza as brechas confirmadas para guiar os esforços futuros.
- RISOS: categorizou as brechas em sistemas operacionais em sete categorias.
- USC/ISI: categorizou os erros de seis sistemas operacionais em categorias que após o término do trabalho foram agrupadas em quatro categorias globais.
O estudo buscou responder a três perguntas básicas sobre as brechas de segurança:
- Como ela entrou no sistema?
- Quando ela entrou no sistema?
- Onde no sistema ela se manifestar?
Essas três perguntas serviram para organizar a taxonomia em: gênesis (como), tempo de introdução (quando) e localização (onde).
Os casos avaliados pelo estudo foram selecionados segundo o critério a seguir:
- o caso deve apresentar um tipo particular de vulnerabilidade claro o suficiente que o cenário ou programa que ameaça a segurança do sistema possa ser entendido pelo classificador, e
- o dano potencial resultante da vulnerabilidade descrita deve ser mais que superficial.
As brechas quanto ao gênesis
Essas brechas de segurança são criadas acidentalmente ou intencionalmente. No entanto, os esforços para evitar as brechas acidentais são diferentes daqueles para evitar as intencionais. Geralmente as acidentais são evitadas com maior dedicação aos testes e revisão do código. Já as intencionais são evitadas contratando-se programadores mais confiáveis, aplicando-se testes de penetração e investindo em pacotes de detecção de vírus.
Alguns exemplos definidos na taxonomia por gênesis são:
Intencional – maliciosa – bomba lógica
Intencional – não maliciosa – covert channel – temporizado
Inadvertida – erro de validação
Inadvertida – identificação / autenticação inadequada
O estudo alerta para o fato de que algumas brechas são introduzidas nas tentativas de consertar outras brechas.
As brechas quanto ao tempo de introdução
Considerando diversos processos de desenvolvimento e diferentes ciclos de vida de sistemas desenvolvidos, identificou-se três diferentes fases em que as brechas de segurança possam ser introduzidas nos sistemas:
- na fase de desenvolvimento, que inclui até a liberação da primeira versão.
- na fase de manutenção, que contempla a fase pós liberação da primeira versão.
- na fase operacional, que inclui as atividades de correção do software ao longo da sua utilização.
Exemplos da taxonomia por tempo de introdução:
Durante o desenvolvimento – elaboração do código fonte
Durante a manutenção – não há subdivisão
As brechas quanto ao local em que são introduzidas ou encontradas
A grande maioria das brechas de segurança são introduzidas ou encontradas no software e não no hardware. No entanto, visto que o software pode explorar falha do hardware estas também são consideradas na taxonomia.
Devido ao papel fundamental dos sistemas operacionais dentro dos sistemas computacionais, é ali que o maior número de ataques acontecerão. Por exempo, no caso dos vírus, a intenção é que eles consigam aderir ao código de inicialização do sistema operacional de modo que possam assumir o controle do sistema.
Já os danos por ataques aos softwares de aplicação podem não ser tão extensos quanto aos de sistema operacional, mas colocam em risco as informações e arquivos do usuário que estiver usando o software.
Exemplos da taxonomia por local em que as brechas são introduzidas ou encontradas:
Software – Sistema operacional – Inicialização do sistema
Software – Sistema operacional – Gerenciamento de memória
Software – Software básico – Utilitários autorizados
Software – Aplicações – não há subdivisão
Das diversas brechas estudadas, as brechas de sistema operacional são as que oferecem maiores danos ao sistema.
Fonte:
A Taxonomy of Computer Program Security Flaws, with Examples - Landwehr, Bull, McDermott, and Choi
O artigo apresenta uma sistemática que organiza as informações sobre brechas de segurança nos sistemas computacionais de modo que elas possam ser utilizadas por projetistas, analistas, programadores e consultores para entender novas brechas e também identificar pontos mais susceptíveis do sistema. A sistemática é bastante útil para aqueles profissionais encarregados de repelir os ataques e corrigir as falhas.
No entanto, esse tipo de estudo oferece o risco de ser utilizado pelas pessoas mal intencionadas, por isso, foram documentadas as brechas já publicadas anteriormente e mais antigas.
Geralmente uma brecha de segurança é um bug que pela definição da IEEE inclui os erros e faltas. O estudo considera tanto as brechas acidentais quanto aquelas inseridas de maneira proposital.
Algumas das iniciativas passadas para identificar falhas nos sistemas computacionais:
- Flaw Hypothesis Methodology (1970): estuda a documentação e a construção do sistema para gerar hipóteses sobre onde as falhas poderão estar. Em seguida, utiliza a documentação do sistema e os testes para confirmar a presença das falhas. Por fim, generaliza as brechas confirmadas para guiar os esforços futuros.
- RISOS: categorizou as brechas em sistemas operacionais em sete categorias.
- USC/ISI: categorizou os erros de seis sistemas operacionais em categorias que após o término do trabalho foram agrupadas em quatro categorias globais.
O estudo buscou responder a três perguntas básicas sobre as brechas de segurança:
- Como ela entrou no sistema?
- Quando ela entrou no sistema?
- Onde no sistema ela se manifestar?
Essas três perguntas serviram para organizar a taxonomia em: gênesis (como), tempo de introdução (quando) e localização (onde).
Os casos avaliados pelo estudo foram selecionados segundo o critério a seguir:
- o caso deve apresentar um tipo particular de vulnerabilidade claro o suficiente que o cenário ou programa que ameaça a segurança do sistema possa ser entendido pelo classificador, e
- o dano potencial resultante da vulnerabilidade descrita deve ser mais que superficial.
As brechas quanto ao gênesis
Essas brechas de segurança são criadas acidentalmente ou intencionalmente. No entanto, os esforços para evitar as brechas acidentais são diferentes daqueles para evitar as intencionais. Geralmente as acidentais são evitadas com maior dedicação aos testes e revisão do código. Já as intencionais são evitadas contratando-se programadores mais confiáveis, aplicando-se testes de penetração e investindo em pacotes de detecção de vírus.
Alguns exemplos definidos na taxonomia por gênesis são:
Intencional – maliciosa – bomba lógica
Intencional – não maliciosa – covert channel – temporizado
Inadvertida – erro de validação
Inadvertida – identificação / autenticação inadequada
O estudo alerta para o fato de que algumas brechas são introduzidas nas tentativas de consertar outras brechas.
As brechas quanto ao tempo de introdução
Considerando diversos processos de desenvolvimento e diferentes ciclos de vida de sistemas desenvolvidos, identificou-se três diferentes fases em que as brechas de segurança possam ser introduzidas nos sistemas:
- na fase de desenvolvimento, que inclui até a liberação da primeira versão.
- na fase de manutenção, que contempla a fase pós liberação da primeira versão.
- na fase operacional, que inclui as atividades de correção do software ao longo da sua utilização.
Exemplos da taxonomia por tempo de introdução:
Durante o desenvolvimento – elaboração do código fonte
Durante a manutenção – não há subdivisão
As brechas quanto ao local em que são introduzidas ou encontradas
A grande maioria das brechas de segurança são introduzidas ou encontradas no software e não no hardware. No entanto, visto que o software pode explorar falha do hardware estas também são consideradas na taxonomia.
Devido ao papel fundamental dos sistemas operacionais dentro dos sistemas computacionais, é ali que o maior número de ataques acontecerão. Por exempo, no caso dos vírus, a intenção é que eles consigam aderir ao código de inicialização do sistema operacional de modo que possam assumir o controle do sistema.
Já os danos por ataques aos softwares de aplicação podem não ser tão extensos quanto aos de sistema operacional, mas colocam em risco as informações e arquivos do usuário que estiver usando o software.
Exemplos da taxonomia por local em que as brechas são introduzidas ou encontradas:
Software – Sistema operacional – Inicialização do sistema
Software – Sistema operacional – Gerenciamento de memória
Software – Software básico – Utilitários autorizados
Software – Aplicações – não há subdivisão
Das diversas brechas estudadas, as brechas de sistema operacional são as que oferecem maiores danos ao sistema.
Fonte:
A Taxonomy of Computer Program Security Flaws, with Examples - Landwehr, Bull, McDermott, and Choi
