Vous êtes sur la page 1sur 8

ATIVIDADES PRTICAS

SUPERVISIONADAS

CST em Anlise e Desenvolvimento de Sistemas
5 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

Walter Gima
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 ABNT
1
, 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>.
CST em Anlise e Desenvolvimento de Sistemas Srie do Curso Desenvolvimento de Software Seguro

Walter Gima
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.

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

Walter Gima
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):












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.


REQUISITOS
PROJETO/ANLISE
IMPLEMENTAO
MANUTENO
TESTE
CST em Anlise e Desenvolvimento de Sistemas Srie do Curso Desenvolvimento de Software Seguro

Walter Gima
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.



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

Walter Gima
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.



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:

' or 1 = ' 1

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

Walter Gima
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.
CST em Anlise e Desenvolvimento de Sistemas Srie do Curso Desenvolvimento de Software Seguro

Walter Gima
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.