Segurança e controle em Sistemas de Informação

Antes de se usar um sistema um administrador precisa garantir que ele seja confiável e seguro, por isso deve tomar providências especiais para protegê-los e assegurar o funcionamento.

Por | @irialuppi Carreira em TI
Olá pessoal prontos para mais uma leitura ?
Antes de se usar um sistema um administrador precisa garantir que ele seja confiável e seguro, por isso deve tomar providências especiais para protegê-los e assegurar o funcionamento. Fatores como rupturas na comunicação, tentativa de acesso por pessoas não autorizadas, falhas de software, hardware, funcionários, clientes, vírus, desastres naturais e até ataques terroristas são algumas causas do mau funcionamento, com a tentativa de tentar evita-las, administradores enfrentam os seguintes desafios.
  • Projetar Sistemas que não sejam supercontrolados nem subcontrolado. Diversas formas de controle de acesso podem fazer com que pessoas desistam de utilizar o sistema, tanto dentro da empresa, quanto através da Internet. (principal responsável por violações de segurança).
  • Aplicar padrões de garantia de qualidade aos projetos de sistema. Usar metodologias de desenvolvimento com realização de testes a cada etapa, mesmo que seja dispendioso, mas é melhor e mais barato o custo com o desenvolvimento do que com manutenção.


Antes da utilização de computadores, dados eram protegidos em papel, mas com o surgimento dos sistemas de informação eles passaram a ser controlados por meio de arquivos, acessados por grande numero de pessoas inclusive grupos externos a organização, por isso a probabilidade de destruição, fraude, erro uso indevido e acesso não autorizado é maior. Quando eles não funcionam conforme deveriam, empresas perdem a função empresarial, quanto mais tempo ficarem parados mais seriam serão as conseqüências, ainda mais se a aplicação for para comercio eletrônico, pois se o sistema for interno até pode ser apoiado por procedimentos manuais.

SI são vulneráveis, pois a quantidade de dados armazenadas em formato eletrônico é enorme, e tendem a sofrer mais ameaças originadas por fatores técnicos (problemas elétricos, telecomunicação, mudanças de programa, falha de hardware e software), organizacionais, ambientais (incêndios) e agravados por má decisão administrativa. Redes também são vulneráveis, pois são acessadas de diferentes lugares e pessoas, sofrem mais que sistemas ex: falhas naturais e interferência (linha cruzada) ambiental (radiação), principalmente nas de par trançado de alta velocidade uso indevido, abusos em qualquer ponto da sua estrutura e falhas de hardware, software. A mais vulnerável é a internet por ser projetada para acesso por diferentes pessoas e SIs, em segunda posição estão às redes sem fio, pois é fácil “varrer” faixas de radioconferência.

A principal preocupação com a internet são os intrusos Hackers: pessoas que conseguem acesso não autorizado com intuito de obter lucros, intervir criminosamente, prazer pessoal ou espionagem, usam a capacidade técnica e a tecnologia para invadir e desativar computadores considerados seguros. As invasões podem ser bombas lógicas, vírus, softwares ocultos, programas originais porem com funções ocultas, ataque DOS (recusa de serviço onde lotam um servidor web com requisições de informação a fim de inutilizar a rede) e é claro causam grandes prejuízos. Para as empresas os vírus mais prejudiciais são os de dispositivos móveis, pois eles são conectados aos sistemas corporativos de informação. Ex: Vírus de Macro: Concept, Melissa: ficam ocultos em arquivos do Word e apagam outros arquivos. Verme: Code Red, Nimda, anexados em e-mail propagam-se automaticamente e diminuem o trafego da internet. Vírus de Script: Ilove You (love bug) escritos em linguagens de programação de scripts como Java script e vbscript, subscrevem arquivos.jpg e.mp3, propaga-se pelo outlook e chats. Monkey: causam falhas nos Hds porque impedem a execução do windows. Chernobyl: infecta arquivos apagando a ROM BIOS. Vírus multipartido: junkie infecta o boot da maquina causando conflitos de memória. Form: no dia 18 de cada mês, faz um som de clique cada vez que se pressiona uma tecla e corrompe dados em disquetes. Para reduzir as chances de infecção, empresas e pessoas devem usar Antivírus, softwares projetados para verificar sistemas, computadores e dispositivos, muitas vezes conseguem desinfectar, mas só funcionam para os que já sabemos da existência por isso devem ser atualizados com freqüência.[PG1]
Desenvolvedores e usuários tem as seguintes preocupações relacionadas a vulnerabilidade  de dados presente em um SI: Desastre:  A medida que as empresas crescem digitalmente, aumenta a necessidade de planejar recuperação pos-desastre, pois programas, equipamentos e arquivos podem ser destruídos por incêndios, interrupção de energia elétrica etc.. A reconstrução pode demorar anos impossibilitando a realização das atividades e custar milhões , alguns jamais poderão ser substituídos e se forem não serão como antes, por isso empresas estão usando Backups de emergência feitas por elas ou contratando empresas de recuperação pós desastres que possuem hotsites uma central onde ficam computadores de backup inclusive para aplicações cliente/servidor,  central de dados duplicada etc.. Violações de Segurança: acesso não autorizado, roubo de arquivos ou danos físicos. Através de  ferramentas com procedimentos e medidas técnicas tentam impedir estas. Erros: computadores são eficientes, mas ao mesmo tempo instrumentos de erro, podem provocar danos  a registros e operações de uma empresa causando sérias rupturas em qualquer ponto do ciclo de processamneto: entrada, processamento e saida, programa, sistema operacional e no próprio hardware. Ex: cálculos errados na programação.,

O maior prejuízo para uma empresa que possui um softwre de má qualidade é a perda de produtividade  causada por Bugs: defeitos ocultos no código do programa. Mesmo realizando testes no desenvolvimento é difícil identifica-los  devido a complexidade, são varias as decisões, funções, procedimentos e os caminhos seguidos no fonte. também podem ser provocados pela falta ou documentação errada, vão sendo descobertos aos poucos durante a operação. Ex:defeito oculto em um código de sistema de freagem pode causar perda de vidas .  Para corrigir bugs  é realizado o processo de Manutenção: modificar um sistema em uso,  a fase mais dispendiosa do desenvolvimento de sistemas, pois o tempo de trabalho dos desenvolvedores é em dobro, provocada também por mudança organizacional  interna, na estrutura, liderança, falhas na analise e projeto , afetam todos os requisitos de software ex: número de programas, tamanho do codigo, interface. Se erros forem detectados na analise e projeto ou teste a cada etapa o custo é pequeno, mas se descobertos  no teste final, conversão, implantação ou já em operação pode custar mais que o desenvolvimento.

A fonte mais comum de falhas em um SI é a ma qualidade dos dados que podem criar problemas operacionais, má decisões, perda financeira e de clientes, originada de erros na entrada dos dados, durante o planejamento do sistema e do banco de dados.

Para minimizar erros, desastres, interrupções de serviço, cibercrimes, violações de segurança, deve se incorporar no projeto um Controle, todos os procedimentos automatizados, manuais e organizacionais, todos os métodos e políticas que garantam a confiabilidade dos dados de acordo com o padrão administrativo. Antigamente eram feitos na fase de implementação, mas como as empresas estão cada vez mais dependentes dos SI, são feitos ainda no projeto. podem ser: GERAIS:  ambiente de controle completo, governa o projeto e toda a estrutura de TI, segurança de dados e arquivos , utilização de software, hardware e procedimentos manuais de um sistema computadorizado, projetados e mantidos pelos de desenvolvedores, devem ser supervisionados pelos usuários finais e gerentes para que aprovem se são seguros. Ex: controles de senha de acesso (quantos e quem pode acessar?), hardware danificado. APLICAÇAO: específicos para cada aplicação computadorizada, isto é para cada área funcional da empresa. Ex: folha de pagamento, processamento de pedidos. Incluem procedimentos manuais e automatizados para assegurar que somente dados autorizados podem ser processados. A forma de controle depende da natureza dos dados e da aplicação: Controles de Entrada: verifica a integridade quando entram no SI Ex: tratamento de erro, permissão de entrada e conversão. Controles de Processamento: identifica se estão completos durante a atualização, ou seja, compatíveis com os existentes Ex: cálculos, compatibilização e Controles de Saída: garante que os dados do processamento sejam precisos, completos e corretamente distribuídos.[PG2]
A empresa digital depende cada vez mais de redes para gerenciar suas operações por isso têm que assegurar que estejam sempre em funcionamento, deve analisar falhas na rede, tráfego pesado, poucos recursos no servidor, velocidade de processamento etc. para garantir o perfeito funcionamento de sites e transações, pois a cada instante dados bancos e relatórios são alterados. Para amenizar as falhas de sistemas ter: Sistema de computação tolerante a falhas: promete disponibilidade continua não há necessidade de recuperação, inclui equipamentos de hardware repetidos (impressora, memórias, chips), ou seja, de reserva, realizar backups etc. Computação de alta disponibilidade: ajuda na recuperação de empresas pós desastre, projetadas para aumentar a disponibilidade de aplicação e sistema. Requer um plano de recuperação pos desastre incluindo ferramentas de backup, redes de armazenamento etc., ou seja, serve para restaurar serviços de comunicação e computação interrompidos. Distribuição de carga. Distribuir acesso a múltiplos servidores para que nenhum fique sobrecarregado, onde se um ficar compartilhara os dados com um que tiver mais capacidade. Duplicação: usar um servidor de backup que duplica processos e transações que se um falhar este assume.  Semelhante a duplicação só que mais barata é o Agrupamento (clustering) conexão entre 2 computadores, o segundo é o backup do primeiro, se ele falhar o 2 assume o processamento.

Com Intranet, extranets a vulnerabilidade dos dados do SI corporativo aumenta, ainda mais se forem conectadas a Internet, pois são mais pessoas acessando (cliente, servidores banco de dados), então o controle tem que ser maior. Computadores conectados a internet via modem a cabo ou DSL sofrem mais ataques, pois o endereço IP é fixo, já a conexão discada é um IP para cada conexão. Comércio e negócio eletrônico exige que empresas sejam abertas ou seja tenham seus SIs disponíveis a estranhos como clientes, fornecedores e parceiros comerciais, mas devem ser fechadas a hackers e intrusos. Para manter está arquitetura a TI requer uma nova cultura de segurança: firewalls:impede o acesso de usuários não autorizados às redes privadas , “porteiro” para validar usuário, identificando nome , IP, compara as regras de acesso do SI feitas pelo administrador da rede. podem ser de 2 tipos. Proxies: detém dados que se originam fora da organização, inspeciona em um procurador (proxi) e passa para outro lado do firewall. Ex um usuário da empresa quer se comunicar com uma pessoa de fora , antes de eles se comunicarem , tem que conversar com o proxy, são considerados seguros pois só os dados passam por eles e não as mensagens, mas a desvantagem é que diminuem o desempenho da rede.stateful inspection : examina cada pacote de dados que chega identificando a fonte, os endereços de destino e serviços, faz uma conexão com as tabelas de estado (roteadores) rastreando informações, usa também regras de acesso definidas pelo usuário para bloquear recebimento de pacotes, consomem menos recursos de rede que os proxies, mas não é tão segura porque dados atravessam o firewall. Produtos híbridos: são os 2 atuando juntos. Sistemas de detecção de invasão: ferramentas instaladas nos pontos mais vulneráveis das redes corporativas para detectar invasores. Formadas por software de varredura: identifica problemas : senhas erradas, remoção e alteração de arquivos importantes,emitem alarmes de vandalismo e erros de administração de SI. Software de monitoração: examina eventos em tempo real verificando ataques.

Para o comércio eletrônico é essencial proteger dados de compradores e vendedores , contra alteração proposital por um intruso. Usar VANs (redes de valor agregado) seria a solução pois são seguras e confiáveis, mas são muito caras pois são privadas necessitam de alta velocidade e possuem numero limitado de sites e empresas conectados, por isso empresas estão optando pela criptografia: codificação e decodificação de mensagens para impedir acesso não autorizado. Uma mensagem é criptografada através de um código formado por números, letras e símbolos chamado chave criptográfica, para ser lida deve ser decodificada com uma chave equivalente. O tipo mais comum é a criptografia de chave publica: formada por uma chave privada mantida em um diretório e uma publica mantida em segredo, onde os dados codificados por uma só podem ser decodificados pela outra. O remetente criptografia com a publica do destinatário e este usa sua chave privada para decodificar. Tem alguns recursos: Autenticação é a capacidade de assegurar que os comunicantes são verdadeiros identificando os usuários, é apoiada por Assinatura digital: usada para verificar origem e conteúdo, é um código anexado à mensagem transmitida associando ela ao remetente. Certificado Digital: arquivos que identificam as pessoas e ativos eletrônicos para proteger transações, através de uma CA (autoridade certificadora) que valida a identidade do usuário mesmo of-line, podendo ser executada dentro da empresa ou por uma empresa terceirizada Ex: validar dados de cartão de credito entre cliente e vendedor.Integridade de mensagem: não permite alteração ou copia da mensagem que esta sendo enviada. Protocolos SSL e S-http usados para garantir segurança na transferência de informações pela internet, permitem que clientes e servidores realizem criptografia durante uma sessão, utilizados por empresas que usam cartão de credito para pagamento, bancos adotaram o protocolo SET (transação eletrônica segura) usam certificados e carteiras digitais.    Ajudam na segurança, mas junto são necessárias políticas e procedimentos corporativos, responsabilidade de usuário etc.
Como SIs podem e devem usar diferentes meios de controle, mas como são caros e complicados é preciso realizar uma analise custo/beneficio para montá-los, optando pelos que não sacrifiquem à eficiência operacional e organizacional. Desenvolvedores devem verificar a importância dos dados, o custo e os riscos que causariam a empresa se forem violados e dar preferência aos setores / dados que precisam mais segurança ex: setor financeiro/ números de conta, sempre comunicando aos gerentes o que poderia sofrer a empresa. A combinação de controles para cada aplicação forma uma estrutura geral de controle. [PG3]
Uma maneira de os gerentes saber se os sistemas de controle são eficientes é realizando uma auditoria SIG identificando e avaliando - os , para isso o auditor tem que identificar as operações, instalações físicas, procedimentos, telecomunicações, objetivos e entrevistar usuários do SI, listando os pontos fracos avaliando o impacto financeiro e organizacional para cada ameaça.  Vulnerabilidades podem ser Alto risco:acesso não autorizado, senhas fáceis de identificar, contas ativas sem senhas, existência de programas não autorizados, usuário duplicado Risco médio: capacidade de um usuário interromper o funcionamento de um SI sem registrar senhas e protetores de tela e softwares obsoletos. Baixo risco:falta de capacidade dos usuários em mudar senhas, senhas de tamanho menor ou maior que o especificado

Para garantir e melhorar a qualidade dos SI empresas devem usar técnicas e dados com qualidade realizando testes, usando metodologias de desenvolvimento alocando seus recursos. Metodologia de desenvolvimento: conjunto de métodos usados em cada fase de um projeto de desenvolvimento, sendo documentar, analisar, projetar implementar e manter. A função é padronizar o desenvolvimento para isso a metodologia escolhida deve ser compatível com os recursos da empresa, ela deve exigir requisitos de sistemas, documentos detalhados para que possam ser compreendidos e avaliados. Pode ser CASE: engenharia de software assistida por computador, utilizadas para produzir o software. Estruturada: utilizada desde 1970 para documentar, analisar e projetar sistemas, são técnicas formada por fases onde uma só pode iniciar quando a anterior tiver sido concluída, são orientadas para funções, processos e não para dados embora os utilizem para verificar como vai ser processamento.   As fases são Análise estruturada: usada para definir entradas , processamento e saídas de sistemas, por 3 ferramentas. 1) DFD (diagrama de fluxo de dados) que através de um modelo lógico e gráfico do fluxo de informações especifica os processos que ocorrem entre os componentes do SI e sua interface.  O dfd é formado por PROCESSOS (círculos) = transformação dos dados. ENTIDADE EXTERNA (quadrado) = não faz parte do SI, só origina ou recebe as informações. DEPÓSITOS (retângulos) = estoque de dados. FLUXO (setas) = movimentação dos dados entre processos, entidade externa e depósitos . Se um processo for muito complexo pode ser dividido em subsistemas, chamando se de dfd de segundo nível. 2) Dicionário de dados: informações sobre os dados e seus relacionamentos dentro dos SIs, definem o conteúdo dos fluxos e depósitos.3)Especificação de processo: é a lógica de cada processo.Projeto estruturado: conjunto de regras e técnicas que deixam claros e simples o programa, reduzindo o tempo e o esforço na codificação, depuração e manutenção, projetado de modo hierárquico iniciando pela função principal do SI ou software e depois as subfunções. Quando é elaborado este, é documentado o diagrama de estrutura mostrando cada nível do projeto, e sua localização na estrutura geral, portanto pode documentar parte do programa ou todo ele.  Programação estruturada: aplica os princípios que formam o projeto e a analise para ser mais fácil de compreender e modificar, cada módulo (o deposito) é uma unidade lógica que executa uma ou varias funções e devem ser independentes e ter somente um ponto de entrada e um de saída, compartilhar dados com menor numero possível de outros módulos, ter um tamanho administrável para que uma pessoa possa ler,monitorar e entender o código do programa . Módulos usam 3 estruturas básicas para instruções: Seqüência :executadas na ordem em que se apresentam. Decisão (IF, then, else) formada por 2 ou mais condições, testa elas executa a correta e da o resultado. Repetição (WHILE): repete um segmento lógico enquanto o teste for verdadeiro. Fluxogramas: detalham o fluxo de todo o SI usados para documentar o projeto físico, entradas, arquivos principais, processamentos , saídas e procedimentos manuais. Processo (retângulo simples) Direção do fluxo (linhas). Qualquer mudança em uma fase , deve ser atualizada em todas. Ferramentas CASE : desenvolvida Para aumentar a flexibilidade da metodologia estruturada e reduzir o trabalho repetitivo do desenvolvedor, liberando-o para tarefas mais criativas e solução de problemas, pois facilitam a documentação , arquivos gerados podem ser compartilhados na equipe para se estudar o projeto e realizar modificações pois contem todas as informações definidas pelos analistas (). Pesquisas identificaram que softwares feitos com estas ferramentas são mais confiáveis e exigem menos manutenção. utilizadas em qualquer computador e oferecem poderosos recursos gráficos automatizados para gerar gráficos, diagramas, telas, dicionário de dados, relatórios, ferramentas de analise e verificação, especificações , comentários, resultados de testes, documentação e geradores de código, elas aumentam a produtividade e a qualidade dos softwares pois impõem um padrão de desenvolvimento, melhora a comunicação entre os usuários (desenvolvedores) pois são salvas em formato de arquivos, organizam e relacionam os componentes de projeto de forma acessar facilmente, automatizam a analise a geração do código eu teste e o controle e ainda podem ser utilizadas de forma integrada. São classificadas em front - end: informações de analise e projeto e back-end: atividades de codificação , teste e manutenção, ajudam a converter especificações em códigos. Todas elas atualizam as modificações por exemplo se mudar o dfd, vai mudar automaticamente o dicionário de dados. A utilização destas exige disciplina organizacional, ou seja usuários devem concordar com a metodologia a ser usada o que pode desencorajar o uso.

Durante o desenvolvimento empresas devem alocar recursos como custo tempo e pessoas para cada fase, hoje o tempo gasto com analise (determinar requisitos) e projeto deve ser maior para se evitar e reduzir na programação e manutenção o que antigamente não ocorria pois partiam diretamente para programação. È recomendável documentar o pro desde o inicio para reduzir erros, custo e facilitar o entendimento do funcionamento e a implementação e manutenção futura.
Métricas de software: são avaliações de desempenho do software utilizado em um SI , identificando- os problemas que ocorrem, feitas pelo usuário e departamento de SI, devem ser bem elaboradas, formais e objetivas voltadas para aspectos significativos. Teste de software: deve começar ainda no projeto a cada etapa para avaliar desempenho e descobrir problemas para que não fiquem ocultos e acabem provocando manutenção. verificação geral: verificar uma especificação, um documento, a descrição do código. Quando ele estiver codificado deve ser testado mesmo funcionando bem, se erros forem descobertos, podem ser eliminados pelo processo de depuração (debugging). Todas as aplicações devem ser testadas inclusive as voltadas para web e as sem fio avaliando hardware trafego na rede por exemplo simular vários acessos a um servidor através de ferramentas de teste de carga. Além de testes, para verificar erros e aumentar a qualidade do SI deve ser realizado auditoria da qualidade dos dados: levantamento que assegura a integridade dos dados avaliada pelos usuários finais e levantamento de arquivos. Uma empresa não tem como saber se suas informações são incompletas usando outros métodos.

O SI , comercio e negócios eletrônicos não podem funcionar corretamente se tiverem dados incorretos ou incompletos por exemplo de clientes, por isso realizam Limpeza de dados para melhorar o armazenamento e o gerenciamento das informações, eliminando duplicidade, dados insignificantes. Inconsistências nos dados são descobertas principalmente quando empresas necessitam integra-los em um grande banco ex : data warehousing, podem ter sido cadastrados errados ou os mesmos dados salvos em formatos diferentes etc.

Então quanto mais qualidade e segurança tem um software melhor é o retorno organizacional. A qualidade deve ser de desempenho funcionamento, mas antes deve estar presente no desenvolvimento o qual é decisão do administrador usando todos os recursos disponíveis na empresa combinados com o bom trabalho, padronizado de um desenvolvedor.

Mais sobre: segurança software métricas
Share Tweet
Recomendado
Comentários
Carregar comentários
Destaquesver tudo