SUMÁRIO

1 INTRODUÇÃO 2
3 DESENVOLVIMENTO 4
3.1 – Segurança no Desenvolvimento de Aplicações Web 4
3.2 – Diagrama de Atividade (UML) 7
3.3 – Normalização do Diagrama Entidade Relacionamento (MRN) 8
4 CONCLUSÃO 9
REFERÊNCIAS 10

1 INTRODUÇÃO
O presente trabalho tem por objetivo aplicar e exercitar os conteúdos assimilados no 4º
período de Analise e Desenvolvimento de Sistema, elencando os diversos conceitos, técnicas e
práticas das disciplinas:
Banco de Dados II;
Análise Orientada a Objetos II;
Programação Orientada a Objetos;
Programação Web I.
2 OBJETIVO
Será abordado aqui a importância da segurança no desenvolvimento de aplicações web e as
principais vulnerabilidade de sistemas web, também será explanado o Diagrama de Atividade
(UML) e por ultimo e não menos importante a Normalização do Diagrama Entidade
Relacionamento (MRN) e sua importância para manter a integridade do banco de dados.

3 DESENVOLVIMENTO
3.1 – Segurança no Desenvolvimento de Aplicações Web
Software é fundamental na automação dos processos de sistemas de informação. Se houver
falhas nestes processos, seja por causas de erros de um operador humano ou erros na
programação do software, ou ainda por causas intencionais, como ataques por um hacker, a
integridade do sistema fica comprometida.
É comum ouvirmos frases do tipo: “Este sistema é totalmente seguro!” ou ainda “Nossa
política de segurança é à prova de falhas.” Essas e muitas outras frases deste tipo são ditas
sem conclusões e deforma precipitada, pois não há como medir a segurança na sua forma
absoluta.
Vale ressaltar que quanto mais recursos de segurança forem implementados no sistema, mais
difícil será seu uso, um exemplo de sistema que ilustra bem está questão é o Internet Banking
que precisa ser muito confiável e de fácil usabilidade, notasse que muitos bancos utilizam-se
de diversos artifícios de segurança para garantir a integridade e a legitimidade de seus
usuários desta forma utilizam recursos como:

• Login (geralmente número da agência e da conta)
• Senha
• Palavra secreta ou contra-senha
• Número sorteado do cartão de chaves de acesso (token)
• Posição da sequência dos números de segurança impressos no cartão de débito
Isso faz com que muitos usuários prefiram ir até uma agência a terem que aprender a utilizar
tais recursos ou até mesmo por não confiarem em tá tecnologia.
Ao desenvolver um software tenha em mente que é sempre possível fazer melhor e que um
bom programa deve executar tudo que foi planejado e também ter um bom desempenho
seguindo as seguintes características:
• Consumir o mínimo de tempo de CPU para ser executado.
• Alocar a menor quantidade possível de memória.
• Gravar todos os dados necessários usando o menor espaço em disco
• possível.
• Utilizar a rede interna e a internet de forma econômica e racional.
O uso de temporizadores é importante, pois ajuda a medir o tempo total de execução do
programa desta forma pode-se aferir o quanto uma página dinâmica consome dosrecursos do
servidor.
Filtro de Dados
Os filtros de dados é algo tão importante quanto desenvolver o programa, pois trata das
variáveis de entrada do software, todas as informações que vem de fora deve ser inspecionada
antes de serem gravadas, desta forma, os filtros é uma das formas mais significativas de
implementar segurança em um programa.
Limitador de acessos
Agindo contra a possibilidade de acesso não autorizado ao sistema, essa função pode bloquear
o usuário que tentar acessar o sistema com senhas erradas por mais de três tentativas esse
limitador de acesso também é conhecido por rate limit. Outro limitador de acesso é o
limitador por endereço IP, que pode ser feito por regras de firewall ou auxilio de ACLs
implementadas no sistema.
As 10 vulnerabilidades de segurança mais críticas em aplicações WEB
OWASP (Open Web Application Security Project)
A1 – Cross Site Scripting (XSS)
Os furos XSS ocorrem sempre que uma aplicação obtém as informações fornecidas pelo

usuário e as envia de volta ao navegador sem realizar validação ou codificação daquele
conteúdo. O XSS permite aos atacantes executarem scripts no navegador da vítima, o qual
pode roubar sessões de usuário, pichar sites Web, introduzir worms, etc.
A2 – Falhas de Injeção
As falhas de injeção, em especial SQL Injection, são comuns em aplicações Web. A injeção
ocorre quando os dados fornecidos pelo usuário são enviados a um interpretador com parte
do comando ou consulta. A informação maliciosa fornecidapelo atacante engana o
interpretador que irá executar comandos mal intencionados ou manipular informações.
A3 – Execução maliciosa de arquivos
Os códigos vulneráveis à inclusão remota de arquivos (RFI) permite ao atacante incluir código e
dados maliciosos, resultando em ataques devastadores, como o comprometimento total do
servidor. Os ataques de execução de arquivos maliciosos afeta PHP, XML e todos os
frameworks que aceitem nomes de arquivo ou arquivos dos usuários.
A4 – Referência Insegura Direta à Objetos
Uma referência direta à objeto ocorre quando um desenvolvedor expõe a referência a um
objeto implementado internamente, como é o caso de arquivos, diretórios, registros da base
de dados ou chaves, na forma de uma URL ou parâmetro de formulário. Os atacantes podem
manipular estas referências para acessar outros objetos sem autorização.
A5 – Cross Site Request Forgery (CSRF)
Um ataque CSRF força o navegador da vítima, que esteja autenticado em uma aplicação, a
enviar uma requisição pré-autenticada à um servidor Web vulnerável, que por sua vez força o
navegador da vítima a executar uma ação maliciosa em prol do atacante. O CSRF pode ser tão
poderoso quanto a aplicação Web que ele ataca.
A6 – Vazamento de Informações e Tratamento de Erros Inapropriado
As aplicações podem divulgar informações sobre suas configurações, processos internos ou
violar a privacidade por meio de uma série de problemas na aplicação, sem haver qualquer
intenção. Os atacantes podem usar estafragilidade para roubar informações consideradas
sensíveis ou conduzir ataques mais estruturados.
A7 – Autenticação falha e Gerenciamento de Sessão
As credenciais de acesso e token de sessão não são protegidos apropriadamente com bastante
freqüência. Atacantes comprometem senhas, chaves ou tokens de autenticação de forma a
assumir a identidade de outros usuários.
A8 – Armazenament o Criptográfico Inseguro

As aplicações Web raramente utilizam funções criptográficas de forma adequada para
proteção de informações e credenciais. Os atacantes se aproveitam de informações mal
protegidas para realizar roubo de identidade e outros crimes, como fraudes de cartões de
crédito.
A9 – Comunicações inseguras
As aplicações freqüentemente falham em criptografar tráfego de rede quando se faz
necessário proteger comunicações críticas/confidenciais.
A10 – Falha de Restrição de Acesso à URL
Frequentemente, uma aplicação protege suas funcionalidades críticas somente pela supressão
de informações como links ou URLs para usuários não autorizados. Os atacantes podem fazer
uso desta fragilidade para acessar e realizar operações não autorizadas por meio do acesso
direto às URLs.

3.2 – Diagrama de Atividade (UML)
Com o objetivo de especificar o processo de trabalho da empresa o diagrama de atividade
relaciona as atividades executadas no processo, ele mostra o fluxo de dependência de
atividade, desta forma uma atividade depende da outra para ser executada.
Dentre os diversos componentesdeste diagrama os principais são:
• Swimlanes: também conhecido por raias que mostra um conjunto de atividades executadas
por um ator.
• Atividades: utilizado para representar uma ação executada no sistema.
• Início: como o próprio nome já diz indica o início de uma atividade, vale ressaltar que o
diagrama de atividade pode conter vários finais mas só pode conter apenas um início.
• Fim: indica o final de uma ação especifica ou um conjunto de ações no diagrama de
atividade.
• Transições: indica a ordem em que uma atividade acontece no sistema.
• Estrutura de decisão: indica uma condição, ou seja, um fluxo caso uma condição seja avaliada
como verdadeira e outro caso avaliado como falso.

Figura 1 – Diagrama de atividade de um cadastro de cliente

3.3 – Normalização do Diagrama Entidade Relacionamento (MRN)
O MRN facilita a organização dos dados dento dos bancos de dados o processo de
normalização implica em algumas regras chamadas de formas normais, sempre iniciando pela
primeira forma normal, prosseguindo para a segunda forma normal e depois para terceira

forma normal. Se uma das forma normal estiver errada não pode seguir para a próxima até
que esteja solucionada. A quarta e quinta forma normal não chegam a ser utilizadas em muitas
vezes por se tratar de um caso excepcional.
Na Primeira Forma Normal (1FN) uma relação está na 1ª Forma Normal se
cada atributo contém apenas valores atómicos e não haver conjuntos de atributos repetidos
descrevendo a mesma característica.Segunda Forma Normal (2FN)
Terceira Forma Normal (3FN)
Boyce Code
Quinta Forma Normal (5FN)

http://www.jonathanribas.com/blog/aplicando-as-formas-normais-em-um-exemplo/

4 CONCLUSÃO
Os estudos abordando acima me proporcionou um melhor conhecimento e aprimoramento
destas técnicas apresentadas aqui. Em Segurança e Desenvolvimento de Aplicações Web
aprendi que deve-se ter um bom domínio das técnicas de segurança e conhecer as diversas
vulnerabilidades mais criticas para poder implementar deforma mais segura.
Em banco de dados descobri que para projetar um banco de dado e necessário ter um pleno
conhecimento nas mais diversas áreas e caminho da informática além de obter bastante
pratica.
No diagrama de atividade (UML) entendi como é fundamental ter em vista como funciona o
relacionamento das atividades executadas no processo.
REFERÊNCIAS
OWASP (Open Web Application Security Project) TOP 10: How to build, design and test the
security of web applications and web services.
Disponível em . Acesso em 23/10/2014.
NISHIMURA, Roberto Yukio. Banco de dados II. São Paulo: Pearson Prentice Hall, 2009.
RIBEIRO, Luis C. Normalização de dados e as formas normais. Disponível em . Acesso em
24/10/ 2014.
TANAKA, Simone Sawasaki. Análise de sistemas I. São Paulo: Pearson Prentice Hall, 2009.