# SecOps

SecOps, também conhecido como SecDevOps ou DevSecOps, é uma denominação da Ciência da Computação que surgiu com o objetivo de definir a integração de processos de segurança da informação às atividades de desenvolvimento e operações dentro do segmento de tecnologia. Formado por profissionais especializados em segurança e TI, o time de SecOps determina o sucesso na prevenção a ataques cibernéticos.
O termo nasceu a partir da ascensão da metodologia DevOps e consequentemente com o aumento da arquitetura de Software como serviço, onde o software desenvolvido é essencialmente hospedado em ambientes nuvem, com integração e entrega contínuas surgiu a necessidade do mercado de integrar processos de segurança dentro desse escopo de agilidade, além de tentar sobrepor as dificuldades no gerenciamento de software entre times de maneira confiável.
A metodologia SecOps se propõe a ajudar os programadores a criar códigos levando em consideração a segurança, além de evitar ruídos entre setores de desenvolvimento, segurança e operações. Um diferencial é que dentro desta metodologia, a segurança está sob a responsabilidade de todos os integrantes da equipe, independente do aspecto da organização.

## Etimologia

O termo SecOps deriva da junção das palavras security e operations, ou SecDevOps, security, development e operations.
Une segurança, desenvolvimento de software e operações das tecnologias.

## Integração com DevOps

A literatura descreve maneiras nas quais as atividades da metodologia DevOps impactam o setor de segurança da informação, tanto em aspectos positivos quanto negativos com o uso mais intenso de automações nos monitoramentos, deployments e testes, prevendo uma intuitiva diminuição no esforço e no tempo que seriam empregados nessas tarefas se feitas manualmente, alguns autores também destacam que o uso não otimizado pode acarretar em novos débitos técnicos em um projeto.
Apesar das atuais equipes de desenvolvimento também focarem em desenvolver de forma segura, na maioria das vezes, elas demonstram maior preocupação com inovação e desenvolvimento acelerado, não só provendo soluções para um grande número de pessoas, mas também buscando sempre agregar o maior valor possível para o mercado. Dessa forma se torna imprescindível mesclar a implementação de novas tecnologias com ações que garantam mais segurança.
A coordenação entre as equipes de operação e de SecOps deve acontecer de maneira continua e utilizando o máximo de ferramenta automáticas para garantir fluidez de comunicação durante o desenvolvimento de novas tecnologias, permitindo o ajuste rápido a possíveis falhas de segurança que possam ocorrer.
As práticas e políticas relacionadas a segurança são muitas vezes tidas como "empecilhos" para o desenvolvimento ágil, um bloqueador que pode impactar o tempo de entrega de um projeto, dessa forma é necessário que, com a integração do SecOps, seja construída uma ponte cultural entre as frentes de desenvolvimento garantindo um constante alinhamento que é necessário para atingir a velocidade de entrega desejada, sempre mantendo em mente que as entregas devem incluir todas as dimensões, desenvolvimento, segurança e infraestrutura.

## Características

Alguns autores definem SecOps por algumas características baseadas tanto em DevOps quanto nos princípios CAMS (Cultura, Automação, Monitoramento e Compartilhamento) com adição de conceitos de segurança.

### Cultura

Se baseia na ideia de promover colaboração entre os times de desenvolvimento, segurança e operações, disseminando a ideia de um mesmo princípio: a entrega de software para o usuário final. Em outros momentos da engenharia de software a equipe de segurança não participaria ativamente das decisões de planejamento, em SecOps isso é mandatório e necessário para uma boa implantação da metodologia.

### Automação

É comum em ambientes de desenvolvimento de software o uso de automação para alcançar entregas e feedbacks mais rápidos do usuário. Em SecOps, promove-se o foco em segurança nas automações para que essas entregas estejam também dentro dos padrões de qualidade. É importante que a maneira como essa metodologia é implementada não impacte na agilidade, mas sim traga resultados mais consistentes.

### Monitoramento

O monitoramento é a etapa que inclui acompanhar métricas de negócio, como Indicadores-chave de desempenho (KPIs), como as novas versões do software podem impactar nesses indicadores e como minimizar esses impactos. Em SecOps o monitoramento é muito focado em ameaças e vulnerabilidades em tempo real, com o objetivo de observar a qualidade e a segurança do objeto de estudo em todas as fases de implantação.

### Compartilhamento

Tradicionalmente a equipe de segurança dentro do processo de desenvolvimento de software fica mais próxima do fim do ciclo de projeto, SecOps promove a integração desse time dentro do escopo de concepção e desenvolvimento, tanto com objetivo de mudar a mentalidade de todo processo como de incluir maturidade no que tange aspectos relacionados à segurança da informação.

## Práticas

Existe um conjunto de boas práticas definidos na literatura dentro da metodologia SecOps, entre estas destacam-se:

#### Automação contínua de testes

Controles de segurança automatizados em todas as partes do desenvolvimento de software são fatores importantes para garantir entregas seguras e permitir que os testes detectem anomalias em diferentes fases do processo.

#### Monitoração contínua dos serviços e sistemas.

É importante gerar evidências dos controles de segurança automatizados ao longo do processo, para que estes possam gerar o melhor resultado possível é necessário o acompanhamento de ponta-a-ponta.

#### Segurança como código

Segurança como código significa o processo de definir políticas de segurança com o uso de modelos de script (templates) ou arquivos de configuração que podem ser ativados automaticamente de acordo com agendamentos ou manualmente pelo usuário.

## Benefícios

Dentre os benefícios da SecOps para uma organização estão:
* Proteção contínua
* Respostas rápidas e efetivas
* Diminuição nos custos de operações e violações
* Prevenção de ameaças
* Expertise de Segurança
* Conformidade
* Comunicação e colaboração
* Integração da equipe de segurança nos processos de concepção
* Automações A união de todos os benefícios citados acima resulta em uma organização com uma melhor reputação no mercado.

## Funções numa equipe de SecOps

A forma com a qual uma organização define seu time de SecOps irá determinar o quão sucedida ela será na prevenção de ataques cibernéticos.
Existem três funções chave para qualquer time de SecOps:
* Engenheiro/Arquiteto de Segurança: profissional responsável por adminstrar toda a arquitetura de segurança, garantir que a arquitetura é parte do ciclo de desenvolvimento, avaliar e testar as ferramentas e garantir a conformidade.
* Analista de Segurança Avançado: identifica vulnerabilidades, analisa ameaças antigas, recomenda produtos, processos e alterações de ferramentas.
* Investigador de Segurança: identifica hosts e aparelhos afetados, avalia processos em execução e finalizados, realiza análises de ameaças, elabora e implanta estratégia de mitigação e readicação.