atps

8
ATIVIDADES PRÁTICAS SUPERVISIONADAS Sistema de Informação 5ª Série Desenvolvimento de Software Seguro A atividade prática supervisionada (ATPS) é um procedimento metodológico de ensino-aprendizagem desenvolvido por meio de um conjunto de etapas programadas e supervisionadas e que tem por objetivos: Favorecer a aprendizagem. Estimular a corresponsabilidade do aluno pelo aprendizado eficiente e eficaz. Promover o estudo, a convivência e o trabalho em grupo. Desenvolver os estudos independentes, sistemáticos e o autoaprendizado. Oferecer diferentes ambientes de aprendizagem. Auxiliar no desenvolvimento das competências requeridas pelas Diretrizes Curriculares Nacionais dos Cursos de Graduação. Promover a aplicação da teoria e conceitos para a solução de problemas práticos relativos à profissão. Direcionar o estudante para a busca do raciocínio crítico e a emancipação intelectual. Para atingir estes objetivos a ATPS propõe um desafio e indica os passos a serem percorridos ao longo do semestre para a sua solução. A sua participação nesta proposta é essencial para que adquira as competências e habilidades requeridas na sua atuação profissional. Aproveite esta oportunidade de estudar e aprender com desafios da vida profissional. AUTORIA: Walter Gima Faculdades Anhanguera de Limeira

Upload: adriana-matos

Post on 06-Dec-2014

205 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: ATPS

ATIVIDADES PRÁTICAS

SUPERVISIONADAS

Sistema de Informação

5ª Série Desenvolvimento de Software Seguro

A atividade prática supervisionada (ATPS) é um procedimento metodológico de

ensino-aprendizagem desenvolvido por meio de um conjunto de etapas

programadas e supervisionadas e que tem por objetivos:

Favorecer a aprendizagem.

Estimular a corresponsabilidade do aluno pelo aprendizado eficiente e

eficaz.

Promover o estudo, a convivência e o trabalho em grupo.

Desenvolver os estudos independentes, sistemáticos e o autoaprendizado.

Oferecer diferentes ambientes de aprendizagem.

Auxiliar no desenvolvimento das competências requeridas pelas Diretrizes

Curriculares Nacionais dos Cursos de Graduação.

Promover a aplicação da teoria e conceitos para a solução de problemas

práticos relativos à profissão.

Direcionar o estudante para a busca do raciocínio crítico e a emancipação

intelectual.

Para atingir estes objetivos a ATPS propõe um desafio e indica os passos a

serem percorridos ao longo do semestre para a sua solução.

A sua participação nesta proposta é essencial para que adquira as

competências e habilidades requeridas na sua atuação profissional.

Aproveite esta oportunidade de estudar e aprender com desafios da vida

profissional.

AUTORIA:

Walter Gima

Faculdades Anhanguera de Limeira

Page 2: ATPS

Sistema de Informação – 5ª Série – Desenvolvimento de Software Seguro

Walter Gima

Pág. 2 de 8

COMPETÊNCIAS E HABILIDADES

Ao concluir as etapas propostas neste desafio, você terá desenvolvido as competências e habilidades que constam, nas Diretrizes Curriculares Nacionais, descritas a seguir. Compreender tecnologias relacionadas à comunicação e ao processamento de dados e

informações. Iniciar, projetar, desenvolver, implementar, validar e gerenciar soluções, usando a

tecnologia de computação em organizações privadas e públicas, aplicando metodologias para análise e desenvolvimento de projetos de sistemas.

Identificar, analisar e documentar oportunidades, problemas e necessidades passíveis de solução via computação e para empreender na concretização dessa solução.

Produção Acadêmica

Ao decorrer do desenvolvimento dessa atividade deverão ser entregues os seguintes documentos:

Relatório 1: Desenvolvendo Softwares Seguros. Relatório 2: Evitando Estouro de Buffer. Relatório 3: Utilizando Criptografia. Relatório 4: Evitando Ataques SQL INJECTION. Relatório 5: Evitando ataques RPC E DDOS. Relatório 6: Testes de Segurança e Instalação de Softwares Seguros.

Participação

Essa atividade será, em parte, desenvolvida individualmente pelo aluno e, em parte, pelo grupo. Para tanto, os alunos deverão:

organizar-se, previamente, em equipes de 3 a 5 participantes; entregar seus nomes, RAs e e-mails ao professor da disciplina e observar, no decorrer das etapas, as indicações: Aluno e Equipe.

Padronização

O material escrito solicitado nessa atividade deve ser produzido de acordo com as normas da ABNT1, com o seguinte padrão:

em papel branco, formato A4; com margens esquerda e superior de 3cm, direita e inferior de 2cm; fonte Times New Roman tamanho 12, cor preta; espaçamento duplo entre linhas; se houver citações com mais de três linhas, devem ser em fonte tamanho 10, com

um recuo de 4cm da margem esquerda e espaçamento simples entre linhas; com capa, contendo:

nome de sua Unidade de Ensino, Curso e Disciplina; nome e RA de cada participante; título da atividade; nome do professor da disciplina; cidade e data da entrega, apresentação ou publicação.

1 Consulte o Manual para Elaboração de Trabalhos Acadêmicos. Unianhanguera. Disponível em:

<http://www.unianhanguera.edu.br/anhanguera/bibliotecas/normas_bibliograficas/index.html>.

Page 3: ATPS

Sistema de Informação – 5ª Série – Desenvolvimento de Software Seguro

Walter Gima

Pág. 3 de 8

DESAFIO

O processo de desenvolvimento de software aborda diversas prioridades para produzir um produto com excelência, para atender aos requisitos de seus usuários, interface inteligente e intuitiva, boa usabilidade além de implementar requisitos de Segurança da Informação.

A Segurança da Informação visa à garantia da integridade e confiabilidade de sistemas e dados de uma organização, evitando que informações importantes sejam danificadas ou acessadas de forma indevida.

Para evitar problemas de Segurança da Informação, há diversos conceitos e técnicas a serem utilizados no desenvolvimento de softwares seguros. Essas técnicas são utilizadas tanto nas fases de projeto e análise do sistema quanto na sua implementação.

No desafio proposto, verifica-se a situação em que uma empresa de desenvolvimento de software sofreu diversos ataques em seus sistemas de informações, esses ataques causaram vários prejuízos materiais, comprometendo sua credibilidade no mercado de softwares. Para corrigir as falhas de segurança dos sistemas, essa empresa contratou uma equipe de consultores para auxiliá-la.

Essa equipe, tem como objetivo, identificar e corrigir possíveis falhas de segurança nos sistemas da empresa e implantar os conceitos de desenvolvimento de software seguro desde as primeiras fases de criação de seus Sistemas de Informações.

A atividade deve ser realizada em grupo para troca de conhecimento e experiências e, para isso, o professor irá definir o número de integrantes. Considere que a equipe foi contratada por um colaborador da empresa representada pelo professor.

No decorrer do desenvolvimento dessa atividade, deverão ser entregues, ao representante da empresa, os seguintes documentos:

Relatório 1: Desenvolvendo Softwares Seguros. Relatório 2: Evitando Estouro de Buffer. Relatório 3: Utilizando Criptografia. Relatório 4: Evitando Ataques SQL INJECTION. Relatório 5: Evitando ataques RPC E DDOS. Relatório 6: Testes de Segurança e Instalação de Software Seguros.

Objetivo do Desafio

Elaborar um conjunto de relatórios sobre um estudo a ser realizado para identificar e corrigir possíveis falhas de segurança em sistemas de informação e implantar os conceitos de desenvolvimento de software seguro.

ETAPA 1 (tempo para realização: 4 horas) Aula-tema: Segurança Atualmente. Técnicas Seguras de Codificação: Estouro de

Buffer, Controle de Acesso Apropriado. Essa atividade é importante para que você conheça os princípios de segurança, saiba planejar políticas de segurança preventiva e usar técnicas para evitar estouros de buffer. Para realizá-la, é importante seguir os passos descritos.

Page 4: ATPS

Sistema de Informação – 5ª Série – Desenvolvimento de Software Seguro

Walter Gima

Pág. 4 de 8

PASSOS Passo 1 (Aluno)

Ler atentamente os capítulos do livro-texto ou complementar sobre a importância do Desenvolvimento de Software Seguro. Passo 2 (Equipe)

Criar uma lista descrevendo pelo menos cinco Princípios de Segurança. Essa lista deve descrever cada princípio e destacar em qual fase de desenvolvimento pode ser empregada, pode-se basear o conjunto de fases do Modelo em Cascata (figura 1):

Figura1: Modelo em Cascata

Passo 3 (Equipe)

Elaborar o Relatório 1: Desenvolvendo Softwares Seguros, abordando a necessidade de investir em segurança no desenvolvimento de sistemas (Passo 1) e a lista com os princípios de segurança (Passo 2). O professor da disciplina irá informar aos grupos a metodologia e datas de entrega das atividades. Passo 4 (Equipe)

Pesquisar nos livros-texto ou complementar sobre o tratamento de estouro de Buffer. A partir da pesquisa elaborar o Relatório 2: Evitando Estouro de Buffer: contendo pelo menos cinco erros comuns e como corrigi-los. O professor da disciplina irá informar aos grupos a metodologia e datas de entrega das atividades.

ETAPA 2 (tempo para realização: 4 horas) Aula-tema: Técnicas Seguras de Codificação: Criptografia.

Essa atividade é importante para que você compreenda a utilização de diversas técnicas de criptografia em diferentes linguagens. Para realizá-la, é importante seguir os passos descritos.

REQUISITOS

PROJETO/ANÁLISE

IMPLEMENTAÇÃO

MANUTENÇÃO

TESTE

Page 5: ATPS

Sistema de Informação – 5ª Série – Desenvolvimento de Software Seguro

Walter Gima

Pág. 5 de 8

PASSOS Passo 1 (Aluno)

Ler atentamente os capítulos do livro-texto ou complementar sobre Criptografia, principalmente, sobre os diversos métodos de criptografia e sua utilização. Passo 2 (Equipe)

Analisar o código-fonte escrito na linguagem PHP (Hypertext Preprocessor) a seguir:

<?php $texto_criptografado = base64_encode("senha"); echo $texto_criptografado; ?>

O código acima demonstra a utilização do método de criptografia Hash base64. Pesquise como utilizar na linguagem PHP outros dois métodos de criptografia que sejam mais fortes que a criptografia base64, justificando por que são mais seguras. Passo 3 (Equipe)

Pesquisar como utilizar os métodos de criptografia utilizados no Passo 2, nas linguagens Java e ASP (Active Server Pages). Observar que nessa pesquisa teremos três métodos de criptografia (base64 e outros dois métodos resultado da pesquisa anterior). Passo 4 (Equipe)

Elaborar o Relatório 3: Utilizando Criptografia, abordando o conteúdo dos passos anteriores. O professor da disciplina irá informar aos grupos a metodologia e datas de entrega das atividades.

ETAPA 3 (tempo para realização: 4 horas) Aula-tema: Técnicas Seguras de Codificação: Entrada Mal-intencionada, Entrada no

Banco de Dados, Entrada Específicas da Web. Essa atividade é importante para que você compreenda alguns métodos de entrada mal-intencionada e formas de acesso indevido ao banco de dados. Para realizá-la, é importante seguir os passos descritos.

PASSOS Passo 1 (Aluno)

Ler atentamente os capítulos do livro texto ou complementar sobre Metodologia de Hacking e Ataques em aplicações Web.

Page 6: ATPS

Sistema de Informação – 5ª Série – Desenvolvimento de Software Seguro

Walter Gima

Pág. 6 de 8

Passo 2 (Equipe)

Analisar o trecho da linguagem SQL (Structured Query Language) a seguir. Em seguida pesquisar mais três exemplos de ataques utilizando SQL INJECTION.

Esse trecho de SQL é uma das formas de realizar um ataque a banco de dados de sistemas Web chamado SQL INJECTION.

Passo 3 (Equipe)

Pesquisar como evitar ataques SQL INJECTION utilizando as linguagens PHP, ASP e JSP (JavaServer Pages).

Passo 4 (Equipe)

Elaborar o Relatório 4: Evitando Ataques SQL INJECTION, abordando o conteúdo dos passos anteriores. O professor da disciplina irá informar aos grupos a metodologia e datas de entrega das atividades.

ETAPA 4 (tempo para realização: 4 horas) Aula-tema: Técnicas de Codificação ainda mais Seguras: RPC, Controles ActiveX e

DCOM. Técnicas de Codificação ainda mais Seguras: Proteção de Ataques de Negação de Serviço.

Essa atividade é importante para que você tenha habilidades para utilizar técnicas de desenvolvimento de códigos seguros utilizando RPC, Active X e conhecimento sobre formas de ataques DDOS (Ataques de Negação de Serviços) e como evitá-los . Para realizá-la, é importante seguir os passos descritos.

PASSOS Passo 1 (Aluno)

Ler atentamente os capítulos do livro texto ou complementar sobre RPC (Remote Procedure Call), Active X e proteção a ataques DDOS (Distributed Denial-of-Service Attack). Passo 2 (Equipe)

Pesquisar sobre as melhores técnicas para trabalhar com RPC (Remote Procedure Call), Active X, visando desenvolver códigos seguros.

Passo 3 (Equipe)

Descrever as técnicas possíveis utilizadas para evitar um ataque DDOS, representado pela figura abaixo:

' or 1 = ' 1

Page 7: ATPS

Sistema de Informação – 5ª Série – Desenvolvimento de Software Seguro

Walter Gima

Pág. 7 de 8

Figura 2: Esquema DDOS

Passo 4 (Equipe)

Elaborar o Relatório 5: Evitando ataques RPC E DDOS, abordando o conteúdo dos passos anteriores. O professor da disciplina irá informar aos grupos a metodologia e datas de entrega das atividades.

ETAPA 5 (tempo para realização: 4 horas) Aula-tema: Teste de Segurança. Instalação de Softwares Seguros.

Essa atividade é importante para que você conheça os métodos de realizar e documentar os testes de segurança de um sistema e preparar o ambiente para implantação e instalação do software. Para realizá-la, é importante seguir os passos descritos.

PASSOS Passo 1 (Aluno)

Ler atentamente o artigo científico sobre: Metodologia OSSTMM para Teste de Segurança

em TI. Disponível em: <https://docs.google.com/open?id=0B9e1nJ9U5ACjR3B2Y01xcXgzQ0k>. Acesso em: 15 abr. 2012.

Page 8: ATPS

Sistema de Informação – 5ª Série – Desenvolvimento de Software Seguro

Walter Gima

Pág. 8 de 8

Passo 2 (Equipe)

Construir um Plano de Teste para representar os seguintes testes das ameaças abaixo:

SQL INJECTION.

XSS (CROSS SITE SCRIPTING).

Buffer OverFlow. Passo 3 (Equipe)

Pesquisar sobre como realizar as atribuições de privilégios necessários para a instalação e execução de um software em 2 plataformas diferentes (por exemplo: Windows e Linux), levando em consideração os conceitos de segurança. Passo 4 (Equipe)

Elaborar o Relatório 6: Testes de Segurança e Instalação de Software Seguros, abordando o conteúdo dos passos anteriores. O professor da disciplina irá informar aos grupos a metodologia e datas de entrega das atividades.

Livro Texto da Disciplina HOWARD, Michael; LEBLANC, David. Escrevendo Código Seguro. 2ª ed. Porto Alegre: Bookman, 2005.