Segurança Aplicada ao Desenvolvimento

Assuntos

Gestão da Segurança da Informação

Conceitos Básicos

Muito bem. A essa altura do nosso estudo saímos do praticamente zero lá no primeiro período. Aprendemos a desenvolver interfaces frontend. A lógica de negócio e acesso ao banco de dados relacional e não relacional no backend. Aprendemos aplicações mobile. Também vimos aplicações distribuídas.

Caramba, quanta coisa! Entretanto, teve algo que sempre acompanhou a nossa caminhada mas que finalmente terá o seu devido lugar de foco. A Segurança as nossas aplicações finalmente será o objeto do nosso cuidado agora.

Enquanto os times de desenvolvimento se esforça para entregar todos os requisitos elicitados no backlog. Entretanto, o time de segurança também se esforça para entregar todos os requisitos elencados no backlog e, além disso, eles também se empenham em evitar que o sistema apresente comportamentos indesejados no que tange ao acesso as informações.

Requisitos da Segurança da Informação

Para elicitar os requisitos relacionados à segurança, também temos algumas abordagens que podem ser úteis. O material cita as três principais fontes para requisitos dessa natureza:

  • Avaliação de riscos à organização relacionados aos objetivos da empresa.
  • Requisitos legais, estatutos e regulamentos (aqui a LGPD veio com força total).
  • Conjunto de princípios e práticas para o manuseio da informação que a empresa usa para apoiar suas operações.

Uma vez que tenhamos aprendido as fontes dos requisitos. Temos que entender quais propriedades esses itens devem receber para que a organização faça uso correto e pertinente das suas informações e, ao mesmo tempo, se proteja de vazamentos e intrusões.

Principais propriedades da segurança da informação:

  • Confidencialidade - Somente pessoas autorizadas devem ver certas informações.
  • Integridade - A informação não deve ser alterada.
  • Disponibilidade - Os sistemas devem estar disponíveis para a consulta.
  • Garantia - As pessoas e sistemas devem se comportar como o esperado.
  • Autenticidade - Garantia que os atos e fatos são gerados pela indicação da fonte.
  • Anonimato (Privacidade) - Em alguns casos, deve-se assegurar que alguns fatos e atos não sejam rastreáveis.
  • Auditabilidade - Registro dos acessos às informações.
  • Legalidade - Conformidade com os regulamentos e normas.

Ameaças, Ataques e Vulnerabilidades

Normas e Políticas

Norma ISO/IEC 27001

Políticas de Segurança da Informação

Desenvolvimento Seguro de Software

Barreiras de Proteção

Controle de Acesso e Permissões

Segurança de Banco de Dados

Software Seguro

Proteção Contra SQL Injection

Proteção Contra Cross-Site Scripting (XSS)

Bibliografia

Básica

  • BARRETO, Jeanine dos Santos et al. Fundamentos de segurança da informação. Porto Alegre: SAGAH, 2018. E-book.
  • GOODRICH, Michael T.; TAMASSIA, Roberto. Introdução à segurança de computadores. Porto Alegre, RS: Bookman, 2013. E-book.
  • HINTZBERGEN, Jule et al. Fundamentos de segurança da informação: com base na ISO 27001 e na ISO 27002. Rio de Janeiro: Brasport, 2018. E-book.
  • HOGLUND, Greg; McGraw, Gary. Como Quebrar Códigos: a arte de explorar (e proteger) software.
  • SILBERSCHATZ, Abraham; KORTH, Henry F.; SUDARSHAN, S. Sistema de banco de dados. 7. ed. Rio de Janeiro: LTC, 2020. E-book.
  • TERADA, Routo. Segurança de dados: criptografia em redes de computador. 2. ed. rev. e ampl. São Paulo: Blucher, 2008. E-book.

Complementar

  • MUELLER, John. Segurança para Desenvolvedores Web. 1a. ed. 2018. E-book.
  • BASTA, Alfred; BASTA, Nadine; BROWN, Mary. Segurança de computadores e teste de invasão. São Paulo: Cengage Learning, c2015. E-book
  • ZEESHAN, Afzaal. DevSecOps for.NET Core/ Securing Modern Software Applications. 1st edition. 2020.
  • HOWARD, Michael; LEBLANC, David; VIEGA, John. 24 Deadly Sins of Software Security/ Programming Flaws and How to Fix Them. 1st edition. 2009.