Baixe o app para aproveitar ainda mais
Prévia do material em texto
Técnicas de Avaliação de Sistemas AUTORIA Marcel Santos Silva Olá! O desenvolvimento de sistemas nas organizações tem cada vez mais se assumido primordial nos negócios relacionados diretamente às respostas rápidas à concorrência, na melhoria contínua e na otimização dos processos como um todo. Vamos começar com um breve histórico: A primeira geração de linguagem de desenvolvimento de sistemas foi a linguagem de máquina. Depois, foi a vez da linguagem Assembler, em que conceitos de registradores, pilhas, �las, prioridade de execução e interrupção de tarefas com salva de contexto explicitavam como nunca os conceitos teóricos que aprendemos sobre os modelos computacionais. A terceira geração das linguagens trouxe o Cobol, Pascal, PLI, Fortran, entre outras. A quarta geração apresentou linguagens que se propunham a fazer em um comando quase tudo que os programadores faziam em vários comandos. A partir daí, o mundo das facilidades de programação explodiu em paralelo com a pro�ssionalização dos microcomputadores. (FONTES, 2008, recurso eletrônico). Porém, independente da so�sticação da linguagem utilizada, os requisitos de segurança devem ser considerados. Ainda de acordo com Fontes (2008), o desenvolvimento e a manutenção de sistemas devem considerar todos os aspectos sustentados pela segurança da informação: controle de acesso, trilha de auditoria e disponibilidade dos recursos de informação. O autor também ressalta que os principais requisitos que devem ser considerados no processo de desenvolvimento de aplicativos são: modularidade, documentação adequada, controle de versão, separação de ambiente, controle de código-fonte, registros para auditoria e avaliação da qualidade. Um sistema aplicativo deve conter vários módulos/programas estruturados de forma que cada um execute uma ou apenas algumas funções. Elementos muito grandes contendo várias funções se tornam muito complexos de serem mantidos. O sistema deve ter uma documentação de funcionalidade e de operacionalidade adequado à sua criticidade para o negócio da organização. Além do que os programas devem ser documentados na escrita do próprio corpo, em português claro e explícito. Algumas plataformas computacionais possuem produtos que possibilitam o controle de versão de programas e módulos, outras não. Independentemente da facilidade existente, um controle de versão deve existir e possibilitar o registro de tudo que foi feito. Devem existir pelo menos dois ambientes: de produção e de desenvolvimento. Uma solução pro�ssional e adequada é a existência de um terceiro ambiente para homologação e testes do sistema. Se a organização não puder ter esses ambientes, que não desenvolva seus sistemas. Muitas vezes a organização não possui um bom controle de acesso lógico para o ambiente de desenvolvimento: todos os analistas e programadores têm acesso a todos os programas fontes. O acesso ao ambiente de desenvolvimento deve ser restrito, mesmo aos programadores e analistas. Cada pro�ssional deve ter acesso apenas aos elementos que necessita para desenvolver o sistema ou sistemas. Todos os acessos realizados nos dados dos sistemas devem ser registrados para auditorias e investigações. Em relação à alteração de dados, todos concordam, mas o acesso de leitura também deve ser registrado. Uma leitura constante realizada fora do horário normal de trabalho pode identi�car uma fraude ou tentativa de fraude. Algumas empresas, pela criticidade dos sistemas aplicativos para o negócio, possuem uma área de Software Quality Assurance que valida o que foi desenvolvido com o que foi especi�cado e acertado em termos de nível de serviço. Um dos objetivos da segurança da informação é a disponibilidade dessa informação para a realização do negócio. Estando no ambiente de tecnologia o uso da informação acontece através dos diversos sistemas e aplicativos. Sendo assim, ter a informação disponível para o negócio signi�ca ter o aplicativo disponível. A não disponibilidade ou não utilização do aplicativo acontece por diversas razões, como: erros, cancelamentos, tempo de resposta que vira prazo de entrega, controles que engessam a utilização, informações não solicitadas e não atendimento às expectativas do usuário �nal. (FONTES, 2008). Etapas do Desenvolvimento de Sistemas A questão da segurança da informação no desenvolvimento e no gerenciamento de mudanças é, na maioria das vezes, um dos pontos considerados não essenciais nesse processo. Com isso, as organizações aumentam o grau de exposição de suas informações digitais a um conjunto de vulnerabilidades e riscos como fraude, perda �nanceira e comprometimento da sua marca. O que auxilia o processo de mitigação desses riscos é a construção de uma política de segurança que assegure a existência de uma metodologia capaz de orientar o processo de desenvolvimento de sistemas, incluindo ainda atividades de manutenção corretiva e evolutiva. Basicamente ela servirá para padronização e documentação do processo de desenvolvimento e manutenção de sistemas, objetivando reduzir a possibilidade de a organização tomar decisões inadequadas, gerando custos desnecessários e possíveis impactos negativos ao negócio. Para Ferreira e Araújo (2008) uma metodologia de desenvolvimento de sistemas deve conter ao menos: Identi�cação dos recursos internos e externos; Entendimento dos requisitos funcionais e de ambiente de acordo com o estabelecido pelo usuário; De�nição do banco de dados e linguagem de programação; Estruturação dos ambientes, estruturas de dados e interfaces; Formatação de documentação de estrutura de dados, código-fonte e módulos; Critérios para codi�cação das rotinas; Procedimento para testes; Homologação do processo; Aspectos de treinamento; Pós-implantação. A ABNT NBR 27002 (2013), em seu item 14.2, especi�ca que a equipe técnica deve “Garantir que a segurança da informação está projetada e implementada no desenvolvimento do ciclo de vida dos sistemas de informação”. Estabelece ainda que sejam de�nidas e aplicadas regras para o desenvolvimento de sistemas realizados dentro da organização. Uma política de desenvolvimento seguro deve considerar aspectos tais como: segurança no ambiente de desenvolvimento orientação sobre a segurança no ciclo do desenvolvimento do sistema segurança nas fases do projeto repositórios seguros segurança no controle de versões capacidade dos programadores em identi�car, evitar e corrigir vulnerabilidades
Compartilhar