You are on page 1of 8

ATIVIDADES PRTICAS SUPERVISIONADAS

CST em Anlise e Desenvolvimento de Sistemas


4 Srie Desenvolvimento de Software Seguro
A atividade prtica supervisionada (ATPS) um procedimento metodolgico 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 convivncia e o trabalho em grupo. Desenvolver os estudos independentes, sistemticos e o autoaprendizado. Oferecer diferentes ambientes de aprendizagem. Auxiliar no desenvolvimento das competncias requeridas pelas Diretrizes Curriculares Nacionais dos Cursos de Graduao. Promover a aplicao da teoria e conceitos para a soluo de problemas prticos relativos profisso. Direcionar o estudante para a busca do raciocnio crtico e a emancipao intelectual. Para atingir estes objetivos a ATPS prope um desafio e indica os passos a serem percorridos ao longo do semestre para a sua soluo. A sua participao nesta proposta essencial para que adquira as competncias e habilidades requeridas na sua atuao profissional. Aproveite esta oportunidade de estudar e aprender com desafios da vida profissional.

AUTORIA:
Walter Gima
Faculdades Anhanguera de Limeira

CST em Anlise e Desenvolvimento de Sistemas Srie do Curso Desenvolvimento de Software Seguro

Pg. 2 de 8

COMPETNCIAS E HABILIDADES
Ao concluir as etapas propostas neste desafio, voc ter desenvolvido as competncias e habilidades que constam, nas Diretrizes Curriculares Nacionais, descritas a seguir. Compreender tecnologias relacionadas comunicao e ao processamento de dados e informaes. Iniciar, projetar, desenvolver, implementar, validar e gerenciar solues, usando a tecnologia de computao em organizaes privadas e pblicas, aplicando metodologias para anlise e desenvolvimento de projetos de sistemas. Identificar, analisar e documentar oportunidades, problemas e necessidades passveis de soluo via computao e para empreender na concretizao dessa soluo.

Produo Acadmica
Ao decorrer do desenvolvimento dessa atividade devero ser entregues os seguintes documentos: Relatrio 1: Desenvolvendo Softwares Seguros. Relatrio 2: Evitando Estouro de Buffer. Relatrio 3: Utilizando Criptografia. Relatrio 4: Evitando Ataques SQL INJECTION. Relatrio 5: Evitando ataques RPC E DDOS. Relatrio 6: Testes de Segurana e Instalao de Softwares Seguros.

Participao
Essa atividade ser, em parte, desenvolvida individualmente pelo aluno e, em parte, pelo grupo. Para tanto, os alunos devero: 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 indicaes: Aluno e Equipe.

Padronizao
O material escrito solicitado nessa atividade deve ser produzido de acordo com as normas da ABNT1, com o seguinte padro: 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; espaamento duplo entre linhas; se houver citaes com mais de trs linhas, devem ser em fonte tamanho 10, com um recuo de 4cm da margem esquerda e espaamento simples entre linhas; com capa, contendo: nome de sua Unidade de Ensino, Curso e Disciplina; nome e RA de cada participante; ttulo da atividade; nome do professor da disciplina; cidade e data da entrega, apresentao ou publicao.
1

Consulte o Manual para Elaborao de Trabalhos Acadmicos. Unianhanguera. Disponvel em: <http://www.unianhanguera.edu.br/anhanguera/bibliotecas/normas_bibliograficas/index.html>.

Walter Gima

CST em Anlise e Desenvolvimento de Sistemas Srie do Curso Desenvolvimento de Software Seguro

Pg. 3 de 8

DESAFIO
O processo de desenvolvimento de software aborda diversas prioridades para produzir um produto com excelncia, para atender aos requisitos de seus usurios, interface inteligente e intuitiva, boa usabilidade alm de implementar requisitos de Segurana da Informao. A Segurana da Informao visa garantia da integridade e confiabilidade de sistemas e dados de uma organizao, evitando que informaes importantes sejam danificadas ou acessadas de forma indevida. Para evitar problemas de Segurana da Informao, h diversos conceitos e tcnicas a serem utilizados no desenvolvimento de softwares seguros. Essas tcnicas so utilizadas tanto nas fases de projeto e anlise do sistema quanto na sua implementao. No desafio proposto, verifica-se a situao em que uma empresa de desenvolvimento de software sofreu diversos ataques em seus sistemas de informaes, esses ataques causaram vrios prejuzos materiais, comprometendo sua credibilidade no mercado de softwares. Para corrigir as falhas de segurana dos sistemas, essa empresa contratou uma equipe de consultores para auxili-la. Essa equipe, tem como objetivo, identificar e corrigir possveis falhas de segurana nos sistemas da empresa e implantar os conceitos de desenvolvimento de software seguro desde as primeiras fases de criao de seus Sistemas de Informaes. A atividade deve ser realizada em grupo para troca de conhecimento e experincias e, para isso, o professor ir definir o nmero de integrantes. Considere que a equipe foi contratada por um colaborador da empresa representada pelo professor. No decorrer do desenvolvimento dessa atividade, devero ser entregues, ao representante da empresa, os seguintes documentos: Relatrio 1: Desenvolvendo Softwares Seguros. Relatrio 2: Evitando Estouro de Buffer. Relatrio 3: Utilizando Criptografia. Relatrio 4: Evitando Ataques SQL INJECTION. Relatrio 5: Evitando ataques RPC E DDOS. Relatrio 6: Testes de Segurana e Instalao de Software Seguros.

Objetivo do Desafio
Elaborar um conjunto de relatrios sobre um estudo a ser realizado para identificar e corrigir possveis falhas de segurana em sistemas de informao e implantar os conceitos de desenvolvimento de software seguro.

ETAPA 1 (tempo para realizao: 4 horas)


Aula-tema: Segurana Atualmente. Tcnicas Seguras de Codificao: Estouro de Buffer, Controle de Acesso Apropriado. Essa atividade importante para que voc conhea os princpios de segurana, saiba planejar polticas de segurana preventiva e usar tcnicas para evitar estouros de buffer. Para realiz-la, importante seguir os passos descritos.

Walter Gima

CST em Anlise e Desenvolvimento de Sistemas Srie do Curso Desenvolvimento de Software Seguro

Pg. 4 de 8

PASSOS
Passo 1 (Aluno) Ler atentamente os captulos do livro-texto ou complementar sobre a importncia do Desenvolvimento de Software Seguro. Passo 2 (Equipe) Criar uma lista descrevendo pelo menos cinco Princpios de Segurana. Essa lista deve descrever cada princpio e destacar em qual fase de desenvolvimento pode ser empregada, pode-se basear o conjunto de fases do Modelo em Cascata (figura 1): REQUISITOS PROJETO/ANLISE IMPLEMENTAO TESTE MANUTENO
Figura1: Modelo em Cascata

Passo 3 (Equipe) Elaborar o Relatrio 1: Desenvolvendo Softwares Seguros, abordando a necessidade de investir em segurana no desenvolvimento de sistemas (Passo 1) e a lista com os princpios de segurana (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 Relatrio 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 realizao: 4 horas)


Aula-tema: Tcnicas Seguras de Codificao: Criptografia. Essa atividade importante para que voc compreenda a utilizao de diversas tcnicas de criptografia em diferentes linguagens. Para realiz-la, importante seguir os passos descritos.

Walter Gima

CST em Anlise e Desenvolvimento de Sistemas Srie do Curso Desenvolvimento de Software Seguro

Pg. 5 de 8

PASSOS
Passo 1 (Aluno) Ler atentamente os captulos do livro-texto ou complementar sobre Criptografia, principalmente, sobre os diversos mtodos de criptografia e sua utilizao. Passo 2 (Equipe) Analisar o cdigo-fonte escrito na linguagem PHP (Hypertext Preprocessor) a seguir: <?php $texto_criptografado = base64_encode("senha"); echo $texto_criptografado; ?> O cdigo acima demonstra a utilizao do mtodo de criptografia Hash base64. Pesquise como utilizar na linguagem PHP outros dois mtodos de criptografia que sejam mais fortes que a criptografia base64, justificando por que so mais seguras. Passo 3 (Equipe) Pesquisar como utilizar os mtodos de criptografia utilizados no Passo 2, nas linguagens Java e ASP (Active Server Pages). Observar que nessa pesquisa teremos trs mtodos de criptografia (base64 e outros dois mtodos resultado da pesquisa anterior). Passo 4 (Equipe) Elaborar o Relatrio 3: Utilizando Criptografia, abordando o contedo dos passos anteriores. O professor da disciplina ir informar aos grupos a metodologia e datas de entrega das atividades.

ETAPA 3 (tempo para realizao: 4 horas)


Aula-tema: Tcnicas Seguras de Codificao: Entrada Mal-intencionada, Entrada no Banco de Dados, Entrada Especficas da Web. Essa atividade importante para que voc compreenda alguns mtodos 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 captulos do livro texto ou complementar sobre Metodologia de Hacking e Ataques em aplicaes Web.

Walter Gima

CST em Anlise e Desenvolvimento de Sistemas Srie do Curso Desenvolvimento de Software Seguro

Pg. 6 de 8

Passo 2 (Equipe) Analisar o trecho da linguagem SQL (Structured Query Language) a seguir. Em seguida pesquisar mais trs exemplos de ataques utilizando SQL INJECTION. ' or 1 = ' 1 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 Relatrio 4: Evitando Ataques SQL INJECTION, abordando o contedo dos passos anteriores. O professor da disciplina ir informar aos grupos a metodologia e datas de entrega das atividades.

ETAPA 4 (tempo para realizao: 4 horas)


Aula-tema: Tcnicas de Codificao ainda mais Seguras: RPC, Controles ActiveX e DCOM. Tcnicas de Codificao ainda mais Seguras: Proteo de Ataques de Negao de Servio. Essa atividade importante para que voc tenha habilidades para utilizar tcnicas de desenvolvimento de cdigos seguros utilizando RPC, Active X e conhecimento sobre formas de ataques DDOS (Ataques de Negao de Servios) e como evit-los . Para realiz-la, importante seguir os passos descritos.

PASSOS
Passo 1 (Aluno) Ler atentamente os captulos do livro texto ou complementar sobre RPC (Remote Procedure Call), Active X e proteo a ataques DDOS (Distributed Denial-of-Service Attack). Passo 2 (Equipe) Pesquisar sobre as melhores tcnicas para trabalhar com RPC (Remote Procedure Call), Active X, visando desenvolver cdigos seguros. Passo 3 (Equipe) Descrever as tcnicas possveis utilizadas para evitar um ataque DDOS, representado pela figura abaixo:

Walter Gima

CST em Anlise e Desenvolvimento de Sistemas Srie do Curso Desenvolvimento de Software Seguro

Pg. 7 de 8

Figura 2: Esquema DDOS

Passo 4 (Equipe) Elaborar o Relatrio 5: Evitando ataques RPC E DDOS, abordando o contedo dos passos anteriores. O professor da disciplina ir informar aos grupos a metodologia e datas de entrega das atividades.

ETAPA 5 (tempo para realizao: 4 horas)


Aula-tema: Teste de Segurana. Instalao de Softwares Seguros. Essa atividade importante para que voc conhea os mtodos de realizar e documentar os testes de segurana de um sistema e preparar o ambiente para implantao e instalao do software. Para realiz-la, importante seguir os passos descritos.

PASSOS
Passo 1 (Aluno) Ler atentamente o artigo cientfico sobre: Metodologia OSSTMM para Teste de Segurana em TI. Disponvel em: <https://docs.google.com/open?id=0B9e1nJ9U5ACjR3B2Y01xcXgzQ0k>. Acesso em: 15 abr. 2012.

Walter Gima

CST em Anlise e Desenvolvimento de Sistemas Srie do Curso Desenvolvimento de Software Seguro

Pg. 8 de 8

Passo 2 (Equipe) Construir um Plano de Teste para representar os seguintes testes das ameaas abaixo: SQL INJECTION. XSS (CROSS SITE SCRIPTING). Buffer OverFlow. Passo 3 (Equipe) Pesquisar sobre como realizar as atribuies de privilgios necessrios para a instalao e execuo de um software em 2 plataformas diferentes (por exemplo: Windows e Linux), levando em considerao os conceitos de segurana. Passo 4 (Equipe) Elaborar o Relatrio 6: Testes de Segurana e Instalao de Software Seguros, abordando o contedo 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 Cdigo Seguro. 2 ed. Porto Alegre: Bookman, 2005.

Walter Gima

You might also like