Você está na página 1de 7

PILARES DA SEGURANÇA DA INFORMAÇAO

Confidencialidade

Integridade

Disponibilidade

SOFTWARE RESILIENTE: após uma falha consegue se antecipar e se recuperar , sem ferir os
conceitos basicosDisponibilidade.

Eficiência.

Interoperabilidade.

Coesão.

Desacoplamento.

Manutenibilidade.

Privacidade.

Confiabilidade.

Escalabilidade.

RISCO DE FALHA DE SEGURANÇA

PROCESSO DE SEGURANÇA NO DESENVOLVIMENTO DE SOFTWARE

Ciclo de vida desenvolvimento software seguro:

A SDL consiste em uma metodologia que visa garantir uma melhoria de segurança aos
desenvolvedores de sistemas

FASES SDL

5 fases:

Treinamento, politica e recursos organizacionais - devemos reduzir ao máximo o número de


gravidade das vulnerabilidades encontradas no desenvolvimento do sistema.

Requisitos e design - É neste ponto que devemos pensar sobre os controles de segurança a
serem projetados.

Implementação - construir as práticas recomendadas para a prevenção antecipada, para


remoção e para detecção de falhas de segurança do código.

Verificação - como fazer para que o código atenda aos requisitos de segurança e de
privacidade preestabelecidos.
Liberação e resposta – libera o projeto pra entrega. Planejamento execução efetiva de
processos de manutenção pós lançamento até a resolução de aspectos de vulnerabilidades de
segurança que poderiam ocorrer no futuro

AUTOMATIZAR O MAXIMO POSSIVEL.

ELIMMINAR CLASSES INTEIRAS DE BUGS

NÃO ATRASAR OS DESENVOLVEDORES

PERSONALIZAR SOLUÇOES E CORREÇOES NECESSARIAS

ESLINT E TYPESCRIPT SÃO FERRAMENTAS ESSENCIAIS PARA ANÁLISE ESTÁTICA E DE TIPO NA


CODIFICAÇÃO EM JAVASCRIPT. PARA UTILIZAR ESSAS FERRAMENTAS, É NECESSÁRIO
CONFIGURÁ-LAS.

ALGUMAS FERRAMENTAS NOS AUXILIAM A CONTROLAR AS ATIVIDADES DO PROJETO AO


LONGO DAS FASES DO CICLO DE VIDA. ENTRE ELAS ESTÃO FERRAMENTAS QUE APLICAM
FRAMEWORKS ÁGEIS, COMO O KANBAN E SCRUM.

O Manifesto Ágil foi escrito em 2001 com o intuito de definir uma série de princípios a serem
internalizados e executados no dia a dia de um projeto de software.

MODELOS DE SEGURANÇA NO CICLO DE VIDA DE DESENVOLVIMENTO DE SOFTWARE

THE OPEN WEB APPLICATION SECURITY PROJECT (OWASP).

O OWASP fornece uma lista abrangente de princípios de design de segurança que os


programadores devem seguir.

Comunidade online que produz ferramentas, documentação e artigos e tecnologias gratuitas,


fundada por Mark Curphey

DEFESA EM PROFUNDIDADE

MODELO POSITIVO DE SEGURANÇA - Criar modelos de segurança positivos para alguns


aplicativos pode ser intratável e inviável.

FALHA COM SEGURANÇA

EXECUTE COM O MINIMO DE PRIVILEGIOS

DESIGN ABERTO - Componentes projetados com transparência em mente fornecem as


proteções mais fortes contra ameaças por serem conhecidos e comprovadamente seguros.

“Segurança através da obscuridade” é o oposto de um design aberto

MANTENHA A SEGURANÇA SIMPLES - O uso de controles claros e concisos reduz o risco por ser
simples de implementar e de utilizar.
Exemplo: desinstalar serviços e softwares não utilizados reduz a superfície de ataque de um
servidor e é um mecanismo simples para obter maior segurança.

DETECTE INTRUSOES

NÃO CONFIE NA ESTRUTURA

NÃO CONFIE NOS SERVIÇOS

ESTABELEÇA PADROES SEGUROS

NÃO CONFIE NO CODIGO FONTE DE TERCEIROS

POLITICAS E NORMAS PARA DESENVOLVIMENTO DE SOFTWARE SEGURO

Política de codificação segura - conjunto de critérios, regras, procedimentos e diretrizes, torna-


se essencial para organizações do mundo inteiro que deve contemplar os controles que
descrevem como os desenvolvedores devem implementar seus códigos

DIRETRIZES DE BASE - documento contendo a política em si e documentos auxiliares descritos


itens importantes e princípios que devem ser considerados na escrita e nas definições de uma
política

IMPORTANCIA

FLEXIBILIDADE - regra possa ser implementada sem ferir a liberdade criativa dos
desenvolvedores.

SIMPLICIDADE - não devendo deixar margem a interpretação equivocada.

OBJETIVIDADE

SANÇOES DISCIPLINARES – deve ser descrito o que ocorre com o não cumprimento dos
procedimentos

CILCO PARA A ELABORAÇÃO DE UMA POLITICA DE CODIFICAÇAO SEGURA

INICIAR PELO PLANEJAMENTO

DIRETRIZES

MANUAL DE INSTRUÇOES

ESPECIFICAÇÃO DE REQUISITOS DE SEGURANÇA EM DESENVOLVIMENTO DE SISTEMAS

PILARES DA SEGURANÇA DA INFORMAÇAO:

Autenticidade

Integridade
Disponibilidade

Não repudio

Confiabilidade

Assim como para a política de segurança, os requisitos de segurança devem estar atrelados a
normas. Além disso, o engenheiro de requisitos deve estar atento às práticas e frameworks,
como o OWASP, que apresenta não apenas conceitos, mas ferramentas para melhorar a
segurança de um sistema.

ESPECIFICAÇAO FORMAL

MICROSSERVIÇOS – possibilita criação de sistemas mais disponíveis e com facilidade para seus
testes, uma abordagem para desenvolver uma aplicação como um conjunto de pequenos
serviços, cada um processo isolado e se comunica entre eles por meio de mecanismos leves

Em relação a segurança tem um papel importante no futuro da arquitetura de soluções


empresariais, porque desenvolve mais rápido, além disso é mais fácil definir objetivos e
requisitos de pequenos módulos de sistemas

IMPLEMENTAÇAO DOS PILARES DE SEGURANÇA EM MICROSSERVIÇOS

Os serviços tem os mesmos pilares, mesmo sendo micro

Estando segmentados, alguns pilares são mais facilmente implementados; já outros, como a
autenticidade, normalmente requerem novas práticas.

Seguem um padrão único de responsabilidade

CLUSTER e um exemplo de disponibilidade, tem uma ampliação para atender as requisições

A arquitetura de microsserviços foi projetada como solução a problemas encontrados na


arquitetura monolítica como alto acoplamento, manutenção árdua, processo de compilação
lento e aumento do esforço de desenvolvimento

FUNDAMENTOS DE CODIFICAÇAO E IMPLEMENTAÇAO DE SISTEMAS SEGUROS

Princípios de codificação segura CERT (centro de estudos para resposta e tratamento de


incidentes em computadores) e programação defensiva

CERT responsável pela investigação de crimes digitais, O CERT não só determina as diretrizes
de uso dos serviços de internet, mas também as regulamentações que permeiam diversas
tecnologias.

IMPLEMENTAÇAO DE CODIFICAÇAO SEGURA – utilizar mais de uma linguagem, compilar ou


interpretar os códigos na forma defensiva, dificultando invasão ou queda do sistema
PROGRAMAÇAO DEFENSIVA – verificação do obvio, sempre certificar se os dados em mãos são
validos mesmo que pareça ingênuo.

DISTRIBUIÇÃO E MANUTENÇÃO DE SISTEMAS

Microsoft Security Development Lifecycle (MSDL)

Software Assurance Maturity Model (SAMM) da OWASP

Ao longo do tempo o sistema deixa de responder as necessidades, seja falhas ou fazer uma
manutenção corretiva seja para evolução/adição de funcionalidades

SEGURANÇA E PERMISSOES DE ACESSO

TESTES DE SEGURANÇA

Testes no ciclo de desenvolvimento – quais teste são realizados, como as vulnerabilidades


encontradas são tratadas, procurar meios de automatizar evitando que seja exclusivo por
pessoas

Verificação e validação - verificação das falhas deve ser aliadas a validação das correções
empregadas

Testes de penetração em softwares – pen tests, também os SAST que é capaz de avaliar o
código em si, também reduz o tempo de identificação de falhas

Ciclo – codificação, identificação de falhas, correção e entrega de versão

Verificações de segurança – analise dinâmica (DAST) consegue simular o que possíveis


invasores fariam ao explorar falhas de segurança, Deste modo, ataques de CSRF, XSS,
SQL Injection, entre outros, poderão ser prevenidos

Analise estática – aplicação do conceito de CI fluxo de integração continua analisa código


submetido ao repositório

PROGRAMÇAO SEGURA

EVOLUÇAO NA FORMA DE TRABLHAR –

Amadurecimento do modelo da engenharia de software utilizado na empresa

Modelo de desenvolvimento aplicado

Pontos de verificação do modelo de desenvolvimento

Repositório de códigos

Versionamento de códigos
desenvolvimento e a utilização de APIs RESTful têm possibilitado a descentralização de
processamento de sistemas

DESENVOLVIMENTO DE CODIGO SEGURO EM LINGUAGENS ORIENTADAS A OBJETOS

DEVSECOPS: APLICAÇAO DA SEGURANÇA EM AMBIENTE DE DESENVOLVIMENTO

DevSecOps – é aplicado a segurança em um ambiente colaborativo entre desenvolvimento e


operações oriundo do DevOps, sua implementação esta diretamente ligada a adoção de
computação em nuvem

DevOps – cultura presente na engenharia de software junta o pessoal do Dev e do Ops,


desenvolvendo dentro de uma cutura ágil com pequenos ciclos de verificçao e versionamento
nas entregas

incluir a segurança desde o início do processo significa automatizar os processos que envolvam
segurança, sem permitir que essa automatização comprometa o desempenho.

NoOps – nível de automação amplo, eliminando se possível pessoal nas atividades, exemplo:
PaaS (Plataform as a Service)

MECANISMOS DE SEGURANÇA EM AMBIENTE WEB DE DESENVOLVIMENTO

Segurança nos repositórios de códigos-fonte que são armazenados representam a propriedade


intelectual produzida pela organização

CONTROLE DE ACESSO AO AMBIENTE DE DESENVOLVIMENTO

É necessário para validação da identidade do desenvolvedor que produiu parte do código a ser
adicionado no repositório, para que tenha uma origem confiável, evitando códigos maliciosos
junto a versão do produto

FERRAMENTAS PARA APLICAÇÃO DO CONCEITO DEVSECOPS NA PRATICA:

GIThub – baseada em GIT. Implementa repositório de códigos na nuvem, também adoção de


chave ssh para autenticação de acesso e submissão de códigos do ambiente de
desenvolvimento para o repositório

SONARCLOUD – para a promoção de analises estatísticas no código-fonte, integração com


repositórios do GitHub, monitorando Branches

CLOUDCHECKR – integra a segurança e o monitoramento de atividades para varias nuvens,


toma decisões ao lado de business intelligence, permite escalar com flexibilidade
SAST (teste de segurança de aplicativo estático, ou static application security testing) – protege
código por meio de uma ferramente que varre o código fonte, identificando erros flahas e
vulnerabilidades

DAST ( teste de segurança de aplicativo dinâmico, ou dinamic application security testing) –


usado para teste de caixa preta diferente da SAST

Você também pode gostar