Internet / Web
Tese: Internet / Web. Pesquise 862.000+ trabalhos acadêmicosPor: marcelo.petri • 6/11/2013 • Tese • 1.102 Palavras (5 Páginas) • 347 Visualizações
Esse texto é um guia de referência para estudos da Disciplina Segurança no Desenvolvimento
de Aplicações, do Curso de Especialização em Gestão da Segurança da Informação e
Comunicações 2009-2011, CEGSIC 2009-2011.
Ao final do texto espera-se que o leitor seja capaz de perceber as características e desafios
gerais que se aplicam ao desenvolvimento de aplicações de software para o ambiente Internet/
Web, bem como algumas práticas recomendadas na Seção 12 da norma ISO/IEC 17799:2005, que
aborda Segurança na Aquisição, desenvolvimento e manutenção de sistemas de informação. Os
principais conceitos abordados no texto são: Software e seu processo de desenvolvimento (seção
2); Arquitetura de Aplicações Internet/Web (seção 3); principais riscos de ataques aos quais
estão sujeitas aplicações na internet/Web (seção 4); processos e métodos para segurança no desenvolvimento
de software (seção 5); recomendações para segurança de arquivos em sistemas
computacionais (seção 6) e gestão de vulnerabilidades técnicas (seção 7).
>> CEGSIC 2009-2011 >> Segurança no Desenvolvimento de Aplicações
7
2. Software e seu Processo de
Desenvolvimento
Um software é desenvolvido em um processo de desenvolvimento, que é usualmente
construído baseado em um modelo de processo previamente descrito na comunidade de engenharia
de software1, a partir das experiências de sucessos e insucessos das organizações
produtoras de software.
2.1 Software
Existem na literatura algumas definições em relação à palavra software, dentre as quais
destacam-se as apresentadas a seguir.
“Software de computador é o produto que os profissionais de software
constroem e, depois, mantém ao longo do tempo. Abrange programas
que executam em computadores de qualquer tamanho e arquitetura,
conteúdo que é apresentado ao programa a ser executado e documentos
tanto em forma impressa quanto virtual que combinam todas
as formas de mídia eletrônica” (PRESSMAN, 2006).
“Software é um conjunto de programas de computador e a documentação
associada. Software não é apenas o programa mas também
toda a documentação associada e os dados de configuração necessários
para fazer com que esses programas operem corretamente” (SOMMERVILLE,
2005).
Um software pode ser composto por apenas algumas poucas dezenas de linhas de código
construídas por um programador em poucas horas, bem como pode ser composto por milhões
de linhas de código, imagens, dados de configuração, documentação etc, resultantes de
um laborioso processo envolvendo centenas de pessoas que trabalham de forma coordenada
durante vários anos. Existe, portanto, uma variedade de tipos de software, mas conforme Stair
e Reynolds (2006), os software2 podem ser classificados em dois tipos principais: software de
sistema, que são os que controlam as operações básicas de um computador (sistema operacional,
dentre outros) e software de aplicação para fins específicos, como, por exemplo, o que
realiza o controle financeiro de uma empresa específica. O software de aplicação pode ser chamado
simplesmente de aplicação ou aplicativo e é o foco desse texto.
Conforme destaca Fernandes (2010a), um software de aplicação, em geral, é parte de um
sistema automatizado, e serve para automatizar um processo organizacional. Um software de
sistema, por outro lado, automatiza um processo computacional que usualmente não teria
viabilidade de ser executado por um ser humano, por exemplo, o processamento de pacotes
do IP (Internet Protocol) em um dispositivo de redes de computadores.
Um software deve sempre satisfazer as necessidades dos seus clientes3 e usuários4. O software
também deve ter um desempenho sem falhas por um longo período de tempo e deve
1 Engenharia de software pode ser definida como a disciplina que visa a construção multipessoal
de software multiversional (IEEE Computer Soceity, 2004). Em outras palavras, muitas pessoas
desenvolvendo um produto de software durante um período de tempo no qual são lançadas
diversas versões do software (meses, dias, anos e décadas). Para uma visão geral da engenharia
de software recomendam-se os livros de Sommerville (2005), Pressman (2006). Na página http://
www.cic.unb.br/~jhcf também é possível ter acesso a apresentações introdutórias do assunto.
2 O plural de software é software mesmo, isso é, sem s ao final da palavra.
3 Os clientes de um software são as pessoas responsáveis pela aquisição e implantação do software,
usualmente representam uma organização que precisa automatizar um sistema de informações.
4 Os usuários de um software são os que entram em contato direto com o aplicativo de software,
...