Buscar

Requisitos de Segurança de Software

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você viu 3, do total de 14 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você viu 6, do total de 14 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você viu 9, do total de 14 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Prévia do material em texto

Requisitos de Segurança de Software 
 
Introdução 
Para garantir o desenvolvimento de software seguro é necessário entender as 
necessidades de segurança do cliente e realizar uma avaliação das ameaças, 
dos pontos críticos, das informações importantes, das políticas e dos controles 
já existentes no ambiente. Toda análise deve ser realizada logo no início do 
projeto de desenvolvimento, mais especificamente na fase de Requisitos . É 
nesta fase que podemos obter do cliente suas necessidades em relação à 
segurança das informações que são manipuladas pelosistema. 
Segundo a norma ISO/IEC 15.408 1 , que define uma metodologia para 
avaliação da segurança de TI, essas informações podem ser obtidas por meio 
de três fontes: 
1. Política de segurança: diretrizes, normas e legislação pertinente. 
2. Objetivos de segurança: necessidades do usuário. 
3. Ameaças: formas de ataque, compostas por um agente, um mecanismo 
e um ativo. 
A primeira fonte, a Política de segurança, envolve as normas, legislações ou 
qualquer documento que imponha ao sistema determinadas características de 
segurança. Elas são expressas por meio de diretrizes que definem as 
características gerais de segurança de um sistema. 
Um exemplo de diretriz de segurança é: "Todo sistema deve garantir que os usuários 
sejam responsabilizados por suas ações." 
Estas definições se encontram em um nível mais alto, com poucos detalhes 
técnicos e sem especificar como atingir os objetivos por ela definidos. Mesmo 
assim, podemos inferir itens que precisarão constar na especificação de 
segurança da aplicação. Por exemplo, fica claro que será necessária 
a autenticação dos usuários nas aplicações e o armazenamento das ações, 
preservando as trilhas de auditoria. 
Os objetivos de segurança expressam as escolhas do cliente e consistem na 
especificação dos Requisitos Funcionais de Segurança (RFS) e dos Requisitos 
Não Funcionais de Segurança (RNFS). Os requisitos funcionais de segurança 
estão relacionados com as funcionalidades de segurança que o sistema deve 
atender. 
Exemplo de RFS expressos pelo cliente são: 
"Todos os usuários devem ser autenticados para uso do sistema." 
"Somente os gerentes podem visualizar o módulo de relatórios." 
Os requisitos não funcionais de segurança declaram restrições ou atributos que 
expressam como o software deve ser feito. 
Exemplo de RNFS são: 
"O software deve validar todas as entradas de dados." 
"Em caso de erro, o sistema deve se manter em um estado seguro". 
A diferença entre o RFS e o RNFS está no fato de o primeiro estar relacionado 
ao requisito funcional do software, ou seja, o requisito de segurança é uma 
funcionalidade do sistema. Geralmente o requisito funcional de segurança está 
relacionado com questões ligadas à autenticação e autorização dos usuários, 
mas podem haver outras (requisitos de auditabilidade, por exemplo). Por sua 
vez, os requisitos não funcionais de segurança geralmente envolve questões 
como os testes que serão executados, as configurações do ambiente, 
criptografias e tokens utilizados etc. Um rol exemplificativo destes requisitos 
pode ser consultado nas Especificações de Requisitos de Segurança. 
Devido ao fato de estarem em constante evolução, é praticamente impossível 
identificar todas as ameaças a que um sistema está exposto. Portanto, 
devemos considerar um grupo geral e bem definido de ameaças que possuem 
maior probabilidade de ocorrência ou maior impacto sobre o negócio. 
Um exemplo de ameaça bem definida é: "usuário sem privilégios administrativos consegue 
acessar a console de gerenciamento". Uma ameaça muito genérica e maldefinida seria: 
"hacker invade o sistema". 
Falta no segundo exemplo um definição mais clara e objetiva da ameaça para 
que possamos derivar emcontroles de segurança. Por outro lado, no exemplo 
de ameaça bem definida podemos com certa facilidade especificar alguns 
controles de segurança que garantem a proteção contra esta ameaça. 
Uma técnica que ajuda no levantamento das ameaças do sistema é 
o DIAGRAMA DE CASOS DE ABUSO semelhante ao DIAGRAMA DE CASOS 
DE USO, mas descrito na perspectiva de um ator malicioso, que tentará todas 
as possibilidades de uso do sistema de forma subversiva. O importante nesta 
etapa é que o Analista de Requisitos desenvolva uma mentalidade de 
segurança, ou seja, que ele comece a imaginar situações de mau uso 
(intencional ou não) do sistema. 
1 Engenharia de requisitos segura 
A engenharia de requisitos de um sistema demanda uma intensa interação com 
o cliente. Segundo Roger Pressman, a engenharia de requisitos envolve as 
atividades de concepção, levantamento, elaboração, negociação, 
especificação, validação e gestão de requisitos. 
A literatura se preocupa com o entendimento dos requisitos, a modelagem de 
análise, resolução de requisitos conflitantes, rastreabilidade dos requisitos, etc. 
 
Todas essas atividades são essenciais para um ciclo de desenvolvimento. 
Porém, para garantir que o sistema a ser construído tenha os controles de 
segurança necessários à proteção de suas informações, devemos acrescentar 
algumas atividades na engenharia de requisitos: 
1- categorização de segurança do sistema 
2- especificação de requisitos de segurança 
3- descrição dos casos de abuso 
 
A figura 2.2 inclui mais 3 atividades de segurança para formar a chamada 
engenharia de requisitos segura. O grande benefício dessas atividades é 
antecipar a preocupação com a segurança do sistema. 
 Primeiramente com o entendimento da necessidade de segurança do 
sistema por meio da categorização de segurança; 
 em seguida com a especificação dos requisitos de segurança que 
deverão ser implementados; e 
 por fim, a descrição dos casos de abuso para deixar claro os cenários 
indesejados de uso do sistema. 
Essas atividades serão explicadas a seguir. 
2 Categorização de segurança 
 
O National Institute of Standards and Technology (NIST) é o órgão nacional do 
governo Americano responsável por definir padrões e tecnologias a serem 
utilizadas pelas agências dos Estados Unidos. Em sua publicação FIPS 
( Federal Information Processing Standard ) 199, o NIST define um padrão para 
categorização de segurança de sistemas de informação. 
O propósito da categorização dos sistemas de informação é identificar o nível 
apropriado de segurança de acordo com os riscos identificados. 
Podemos entender esta categorização de segurança como uma avaliação 
preliminar de riscos, feita em conjunto com o cliente. Ela irá servir como base 
para a definição dos requisitos de segurança do sistema e irá nortear todas as 
outras atividades de segurança durante o ciclo de desenvolvimento seguro. 
Neste curso aprenderemos como aplicar a metodologia descrita no FIPS 
199 para identificar a categoria de segurança de um sistema. 
O momento mais adequado para realizar esta atividade é durante a descrição 
dos casos de uso do sistema. Será muito mais fácil nesta etapa analisar quais 
dados são tratados pelo sistema. 
Abaixo mostramos o caso de uso "Realizar inscrição" de um sistema escolar 
que servirá de exemplo para a aplicação da metodologia FIPS 199. 
 
 
SISTEMA ESCOLA 
 
Caso de Uso 01: Realizar Inscrição 
Sumário: Aluno usa o sistema para realizar inscrição em disciplinas. 
Ator Primário: Aluno 
Atores Secundários: Sistema de Faturamento 
Pré-condições: O Aluno está identificado pelo sistema. 
FLUXO PRINCIPAL 
 
1. O Aluno solicita a realização de inscrição. 
2. O sistema apresenta as disciplinas disponíveis para o semestre corrente e para as quais o aluno 
atende aos pré-requisitos. 
3. O Aluno seleciona as disciplinas desejadas e as submete para inscrição. 
4. Para cada disciplina selecionada, o sistema aloca o aluno em uma turma que apresente uma oferta 
para tal disciplina. 
5. O sistema informa as turmasnas quais o Aluno foi alocado. Para cada alocação, o sistema informa o 
professor, os horários e os respectivos locais das aulas de cada disciplina. 
6. O Aluno confere as informações fornecidas. 
7. O sistema envia os dados sobre a inscrição do aluno para o Módulo de Faturamento e o caso de uso 
termina. 
FLUXO ALTERNATIVO (4): Inclusão em lista de espera 
 
a. Se não há oferta disponível para alguma disciplina selecionada pelo aluno, o sistema reporta o fato e 
fornece a possibilidade de inserir o Aluno em uma lista de espera. 
b. Se o Aluno aceitar, o sistema o insere na lista de espera e apresenta a posição na qual o aluno foi 
inserido na lista. O caso de uso retorna ao passo 4. 
c. Se o Aluno não aceitar, o caso de uso prossegue a partir do passo 4. 
FLUXO ALTERNATIVO (6): Desistência de disciplina 
 
a. Se o Aluno quiser desistir de uma disciplina ou sair da lista de espera, ele submete ao sistema o 
pedido de desistência. O caso de uso prossegue a partir do passo 6. 
Pós-condições: O aluno foi inscrito em uma das turmas de cada uma das disciplinas desejadas, ou foi 
adicionado a uma ou mais listas de espera. 
2 Categorização de segurança 
2.1 Categorização dos tipos de informação 
O primeiro passo definido no FIPS 199 é aplicar a categorização dos tipos de 
informação, que representam uma categoria específica de informações 
definidas pela organização ou, em outras instâncias, por leis, políticas, 
regulamentações, etc. 
Exemplos de tipos de informação comuns incluem: informações médicas, proprietárias, 
financeiras, investigativas, contratuais, gerenciais, cadastrais, etc. 
Neste primeiro passo devemos identificar cada tipo de informação que 
o sistema irá tratar.Um sistema tipicamente trabalha com vários tipos de 
informação. 
Podemos identificar os tipos que estão destacadas no Caso de Uso 01: 
1) Aluno 
A pré-condição do caso de uso indica que o sistema realiza a autenticação dos 
alunos para que eles possam solicitar a matrícula. Os dados que são 
armazenados de cada aluno não estão detalhados, mas com certeza o sistema 
possui um registro de todos os alunos. Portanto, o primeiro tipo de informação 
descrito no caso de uso são as informações sobre os Alunos. 
A confidencialidade dessa informação cresce a medida em que os dados 
pessoais importantes do aluno são requeridos pelo sistema. Um sistema que 
guarda a matrícula do aluno mais o seu nome terá diferenteimpacto na 
confidencialidade do que um sistema que necessita do CPF, número de 
identidade, título de eleitor, endereço, telefones e, em alguns casos, a conta 
bancária. Para dar continuidade ao nosso exemplo, iremos supor que os dados 
dos alunos são: matrícula, nome e data de nascimento. 
2) Inscrição 
A segunda informação tratada pelo sistema é a Inscrição. Esta informação 
consiste no relacionamento entre o aluno e as disciplinas que irá cursar no 
semestre. Podemos notar que o atributo de segurança mais relevante desta 
informação é a integridade, pois uma alteração indevida nas inscrições tem um 
impacto relevante ao sistema. Devemos garantir que a inscrição do aluno se 
mantenha consistente, íntegra, para que no primeiro dia de aula todos 
consigam se deslocar às salas das disciplinas que se matricularam. Ao passo 
que a confidencialidade dessa informação é pouco relevante para o sistema e 
poderia até mesmo ser considerada pública. 
3) Disciplina 
As informações que são apresentadas pelo sistema aos seus usuários também 
devem ser classificadas. Percebam que as informações referentes às 
disciplinas somente são consultadas neste caso de uso. O cadastramento, 
alteração e exclusão provavelmente são tratados em outro caso de uso 
responsável por manter as informações sobre disciplinas. 
No nosso exemplo, iremos considerar que essa informação é pública e que a 
perda de integridade possui um impacto alto (com o raciocínio semelhante aos 
das informações sobre inscrição). 
4) Turma 
O caso de uso especifica que os alunos serão alocado nas turmas. Haverá um 
relacionamento entre o aluno e a turma. A integridade dessa informação é 
importante para a segurança do sistema. Iremos englobar aqui as informações 
dessa associação descritas no passo 5 do caso de uso: professor, horários e 
local de aula. 
5) Lista de espera 
O fluxo alternativo (4) descreve a possibilidade de um aluno entrar em uma fila 
de espera. A quebra de confidencialidade dessa fila causa menos impacto que 
a de integridade. O objetivo é impedir que um aluno espertinho "fure a fila" de 
espera. 
Depois de identificarmos todos os tipos de informação tratados pelo caso de 
uso devemos aplicar a metodologia a cada um dos tipos de informação. Esta 
metodologia consiste em avaliar o impacto da perda de confidencialidade, 
integridade e disponibilidade das informações e atribuir os níveis ALTO, 
MÉDIO, BAIXO e NÃO SE APLICA 1 . 
Tabela 2.1 
 
 
Impacto 
 
Confidencialidade Integridade Disponibilidade 
Tipos de 
informação 
Alunos BAIXA MÉDIA BAIXA 
Inscrição MÉDIA ALTA BAIXA 
Disciplina NÃO SE APLICA ALTA BAIXA 
Turma NÃO SE APLICA ALTA MÉDIA 
Lista de espera BAIXA ALTA MÉDIA 
Esta tabela representa a categorização de segurança dos tipos de informação 
do Caso de Uso 01. Essa metodologia deve ser repetida para todos os casos 
de uso do sistema, até termos todas as informações do sistema avaliadas. 
Porém, passaremos para o passo seguinte da metodologia considerando 
apenas as informações descritas no Caso de Uso 01. 
2.2 Categorização do sistema 
O passo seguinte da metodologia consiste em atribuir a categorização de 
segurança ao sistema de informação. Este valor é obtido a partir dos impactos 
atribuídos aos tipos de informação que o sistema irá tratar. A regra é que o 
sistema deve ser categorizado pelo nível mais alto definido em cada atributo de 
segurança (confidencialidade, integridade e disponibilidade). O sistema escolar 
dado como exemplo receberia a categorização MÉDIA para confidencialidade, 
ALTA para integridade e MÉDIA para disponibilidade. Esta categorização pode 
ser representada como na tabela 2.2 ou em formato textual. 
Tabela 2.2 
 
 
Impacto 
 
Confidencialidade Integridade Disponibilidade 
Tipos de Alunos BAIXA MÉDIA BAIXA 
informação Inscrição MÉDIA ALTA BAIXA 
Disciplina NÃO SE APLICA ALTA BAIXA 
Turma NÃO SE APLICA ALTA MÉDIA 
Lista de 
espera 
BAIXA ALTA MÉDIA 
SISTEMA ESCOLAR MÉDIA ALTA MÉDIA 
Esta categorização do sistema servirá de base para a seleção dos requisitos de 
segurança do sistema, para a aceitação/avaliação de riscos e seleção dos 
controles. A dificuldade desta tarefa está na avaliação de impacto de cada 
atributo. É de se esperar que o Analista de Requisitos pergunte: "Mas o que 
significa um impacto ALTO, MÉDIO ou BAIXO?". Esta resposta deverá ser 
obtida com o próprio cliente e exige a definição desses critérios pelas partes 
interessadas. 
Uma outra forma de obter a categorização do sistema é por meio de uma 
metodologia de Análise do Impacto no Negócio (BIA - Business Impact 
Analysis). 
3 Regulamentos de segurança 
Além dos padrões estudados até agora, utilizados para auxiliar na categoria de 
segurança dos sistemas, existe um rol de regulamentos que podem ter 
desdobramentos nos requisitos de segurança do software a ser desenvolvido. 
Neste tópico abordaremos de forma geral como funciona este desdobramento 
tomando como exemplo Normativos externos da Administração Pública. 
Tomando como ponto de partida documentos em níveis mais altos - Leis 
Federais, Normativos Complementares, Política de Segurança Institucional etc. 
- podemos ter o desdobramento para objetivos de alto nível do sistema que, 
por sua vez, podem ser detalhados em requisitos de segurança do sistema. 
A figura a seguir ilustra esta ideia: 
Desdobramentos nos requisitos de segurançaRegulamentos Objetivos de alto nível Requisitos de 
internos e externos segurança 
 Leis 
 Normas 
 Políticas 
organizacionais 
 Confidencialidade 
 Transmissão segura 
 Privacidade 
 Tratamento de 
informações 
classificadas 
 Gestão de 
indentidade 
 Criptografia de 
dados 
 Logs de auditoria 
Todos os regulamentos que possuem diretrizes de segurança, sejam eles da 
própria organização ou externos, devem ser considerados. Uma lista dos 
regulamentos de segurança (internos e externos) estão disponíveis e 
atualizados na página da Coordenação de Gestão da Segurança da 
Informação - CGOSI, em http://cogsi.serpronet.serpro/conteudo/produtos-e-
servicos/normas/. 
Tomaremos como exemplo o regulamento externo Norma Complementar nº 
020 do Gabinete de Segurança Institucional da Presidência da República, que 
possui diretrizes de Segurança da Informação para instituição do processo de 
tratamento da informação. 
A referida NC 020 dispõe, em seu tópico 6.2.6, que 
Os órgãos e entidades da APF deverão adotar os procedimentos de controle de acesso 
necessários à segurança dos registros e armazenamento das informações. 
Este regulamento pode ser desdobrado em objetivos de alto nível para a 
segurança do sistema, como por exemplo: 
O acesso às informações cadastradas no sistema XYZ deverão ser controlados. 
Este objetivo de alto nível ainda pode ser desdobrado em vários requisitos de 
segurança para o sistema a ser construído. Como por exemplo: 
Para cadastrar um novo registro , o usuário deve realizar autenticação via certificado 
digital. 
Outra Norma Complementar que deve ser de conhecimento das equipes 
envolvidas no desenvolvimento de softwares é a NC 016, que possui diretrizes 
para o desenvolvimento e obtenção de software seguro. Ela está no rol de 
normativos externos na página da COGSI. 
4 Especificação de requisitos de segurança 
Na próxima atividade de segurança da fase de Requisitos, iremos especificar 
os requisitos de segurançado sistema. 
Continuando com o exemplo do sistema escolar, o primeiro passo é analisar se 
há algum requisito funcional de segurança. O caso de uso "Realizar inscrição" 
define somente um Requisito Funcional. Esta funcionalidade não agrega 
segurança ao sistema. Por conta disso, podemos ver que não se trata de um 
requisito funcional de segurança. 
Extrapolando o caso de uso "Realizar inscrição", podemos visualizar sua pré-
condição que o aluno já foi autenticado pelo sistema. Isto pressupõe que há um 
caso de uso "Autenticar aluno no sistema escolar". Este sim, seria um 
Requisito Funcional de Segurança, pois se trata de uma funcionalidade voltada 
para a segurança do sistema. 
Porém, iremos manter o foco no caso de uso "Realizar inscrição" e derivar os 
requisitos não funcionais de segurança a partir da categorização feita 
anteriormente. Os requisitos estão relacionados à forma como a funcionalidade 
é implementada, com as restrições e propriedades de segurança do caso de 
uso. A categorização de segurança nos indica que devemos selecionar 
principalmente os requisitos que tratam da integridade das informações 
(a confidencialidade e disponibilidade foram definidas como de impactomédio). 
Primeiro, vamos conhecer uma lista de requisitos não funcionais para cada 
atributo de segurança. 
Confidencialidade: 
Em linhas gerais, são requisitos que lidam com a proteção das informações 
para dificultar o acesso não autorizado. Por exemplo: 
 prevenir a divulgação não autorizada da informação; 
 garantir autorização para acesso aos recursos; 
 aplicar criptografia nos dados armazenados no sistema. 
Integridade: 
Geralmente com o objetivo de assegurar a integridade dos dados em trânsito e 
armazenados pelo sistema. Podem especificar meios de detectar e recuperar 
erros, tais como exclusões, inclusões e modificações. Por exemplo: 
 fazer validação dos dados de origem; 
 detectar alterações dos dados; 
 assinar digitalmente os documentos. 
Disponibilidade: 
Estão preocupados com a negação de acessos ilegítimos aos recursos 
computacionais e prevenir ataques de negação de serviço. Além disso, 
requisitos para tratar as tentativas de destruição ou dano aos dados e negação 
de acesso legítimo ao sistema. Por exemplo: 
 restringir acesso aos recursos; 
 bloquear acessos simultâneos; 
 limitar o número de conexões. 
5 Casos de Abuso 
Após obter a categorização do sistema e a especificação dos requisitos de 
segurança, a próxima atividade do ciclo de desenvolvimento seguro é a 
descrição dos Casos de Abuso do sistema. Esta atividade pode ser vista como 
uma extensão à elaboração do Diagrama de Caso de Uso. 
O Diagrama de Caso de Uso é um diagrama UML que descreve a 
funcionalidade proposta para um novo sistema, que será projetado. Segundo 
Ivar Jacobson, podemos dizer que um Caso de Uso é: 
"um documento narrativo que descreve a sequência de eventos de um ator que usa um 
sistema para completar um processo". 
A figura 2.3 ilustra o Diagrama de Caso de Uso do sistema Escolar descrito no 
item 2. 
 
A partir deste Diagrama, que descreve as ações normais entre os autores e o 
sistema, podemos construir o Diagrama de Caso de Abuso. Para isso, 
devemos agora imaginar as situações de abuso do sistema, ou seja, vestir a 
camisa de um usuário malicioso que tentará, de várias formas, usar a aplicação 
de uma maneira diferente da qual foi projetada. Isto retoma a ideia das 
Ameaças que estudamos no início deste Módulo. 
 
Pela figura 2.4 podemos visualizar três situações indesejáveis que poderiam 
ser feitas por um aluno mal-intencionado. Este aluno pode tentar fraudar uma 
inscrição, seja criando uma inscrição fraudulenta com as credenciais de outro 
aluno, seja alterando uma inscrição previamente realizada por alguém. Outra 
situação imaginada é a de burlar a lista de espera, representada no fluxo 
alternativo (4) da descrição do caso de uso. A ultima situação descrita no Caso 
de Abuso é burlar o pré-requisito de uma matéria, possibilitando um aluno se 
inscrever em uma matéria sem ter os pré-requisitos. 
A lista de mau uso do sistema prossegue e é papel do Analista de Requisitos, 
com o apoio de uma equipe de segurança, identificar os casos de abuso mais 
relevantes para o sistema. Esta identificação deve estar em conformidade com 
a categorização de segurança. 
Vamos lembrar a classificação do sistema escolar: 
{(confidencialidade, média) , (integridade, alta) , (disponibilidade, média)}; 
Os casos de abuso identificados afetam diretamente a integridade da inscrição: 
fraudar a inscrição, burlar lista de espera ou pré-requisitos. Faz sentido termos 
levantado justamente esses casos de abuso do sistema, pois na categorização 
do sistema a integridade é o ponto mais relevante. 
E por isso deixamos outros casos de abuso de lado. Poderíamos ter 
identificado, por exemplo, um caso de abuso que ataca a confidencialidade 
(Visualizar inscrição de outros alunos) ou até mesmo a disponibilidade (Inundar 
o sistema com inscrições). 
Agora vamos fazer a associação dos requisitos de segurança de integridade 
com os casos de abuso. Podemos visualizar na figura 2.5 esta relação. 
 
Por meio desta técnica, juntamos os requisitos de segurança não funcionais 
levantados para o sistema escolar com os casos de abuso identificados. O 
sistema deve ter certeza de que os dados a ele enviados foram submetidos 
pelo aluno previamente identificado. 
Isto consiste na validação dos dados de origem e dificulta que um aluno mal-
intencionado consiga fraudar uma inscrição ou burlar os pré-requisitos da 
disciplina. 
No caso da lista de espera, podemos definir que o sistema será capaz de 
inserir alunos na lista mas nunca excluí-los. Portanto, o requisito não funcional 
de segurança "detectar alterações nos dados" irá dificultar a ameaça de burlarlista de espera.

Outros materiais