The Source Segurança e conformidade
Artigo

Como o GitLab pode ajudar você a se preparar para a avaliação do SOC 2

Conheça os recursos da plataforma DevSecOps que auxiliam na obtenção do SOC2.

July 18, 2024 5 min de leitura

Os clientes do GitLab descobriram que usar o GitLab como sua plataforma para DevSecOps simplificou o processo de avaliação do SOC 2. Este artigo analisa a estrutura SOC 2 e os recursos do GitLab que ajudam os clientes a se preparar para a certificação.

Introdução ao SOC 2

Os Controles de Sistema e Organização 2, ou SOC 2, são um padrão de conformidade voluntário que define como as empresas devem gerenciar os dados dos clientes. O relatório de avaliação SOC 2 permite que as empresas atestem a confiabilidade do software que oferecem aos clientes corporativos.

Desenvolvido pela Associação Internacional de Contadores Profissionais Certificados (AICPA), o SOC 2 se concentra em cinco critérios de serviços de confiança (Trust Services Criteria, TSC):

  • Segurança: proteger os dados dos clientes contra vulnerabilidades e acessos não autorizados.
  • Disponibilidade: garantindo que os sistemas sejam tolerantes a falhas e desempenhem de forma eficiente sob alta demanda para atender aos acordos de nível de serviço de disponibilidade.
  • Integridade do processamento: assegurar que os sistemas funcionem conforme projetado, sem vulnerabilidades, erros ou bugs.
  • Confidencialidade: proteger informações confidenciais, como código-fonte da aplicação, nomes de usuário, senhas e dados de cartão de crédito, entre outras, garantindo que o acesso seja restrito apenas às pessoas que necessitam desses dados para realizar seu trabalho.
  • Privacidade: proteger informações de identificação pessoal (PII) contra acessos não autorizados.

A segurança é o único critério exigido em todas as avaliações do SOC 2. Os demais critérios podem ser incluídos na avaliação quando forem considerados essenciais para os serviços prestados.

Critério de segurança

O critério de segurança diz respeito não apenas à segurança de servidores e sistemas físicos, mas também das aplicações. As vulnerabilidades do software podem expor uma aplicação a invasores, colocando os dados dos clientes em risco, mas o GitLab pode ajudar com isso.

O GitLab oferece análises de segurança para identificar possíveis vulnerabilidades nas aplicações criadas pela empresa, incluindo os seguintes recursos:

Além disso, o GitLab oferece um relatório de vulnerabilidades, que lista todas as vulnerabilidades conhecidas, identificadas pelas análises acima, na aplicação atual. O GitLab também disponibiliza uma lista de materiais de software (SBOM) no formato JSON CycloneDX padrão, que mostra todas as dependências em nível de software e de sistema operacional e suas vulnerabilidades conhecidas.

A realização de análises periódicas de vulnerabilidades e a geração de relatórios detalhados de vulnerabilidades contribuem para o cumprimento de três critérios de segurança:

  • CC7.1 — Para alcançar seus objetivos, a entidade usa procedimentos de detecção e monitoramento para identificar (1) alterações nas configurações que possam introduzir novas vulnerabilidades e (2) suscetibilidades a vulnerabilidades recém-descobertas.
  • CC4.1 — Princípio 16 do COSO: a entidade seleciona, desenvolve e realiza avaliações contínuas e/ou independentes para verificar se os componentes do controle interno estão implementados e funcionando.
  • CC4.2 — Princípio 17 do COSO: a entidade avalia e comunica as deficiências nos controles internos em tempo hábil às partes responsáveis por realizar ações corretivas, incluindo a alta gerência e o conselho de administração, conforme necessário.

Uma parte crucial das análises de segurança é a governança e a garantia de aplicação. O GitLab oferece recursos para assegurar a execução periódica das análises, impedindo que as equipes de desenvolvimento de software possam contorná-las. Esses recursos incluem:

Com essas configurações, as empresas podem provar que a segurança do software é a principal prioridade em suas aplicações e que práticas de segurança estão sendo rigorosamente aplicadas.

Critérios de disponibilidade e integridade do processamento

O GitLab também pode ajudar com os TSCs de disponibilidade e integridade do processamento. Esses critérios se concentram na qualidade e no desempenho da aplicação. Para atender a esses critérios, o GitLab oferece:

  • Resultados de testes unitários e alterações na cobertura de código por meio de relatórios de cobertura de código, que garantem que o código-fonte esteja sendo validado por um conjunto de testes.
  • Qualidade do código, que analisa a qualidade e a complexidade do código-fonte para facilitar a legibilidade e a manutenção.

Embora as práticas mencionadas sejam adotadas no início do ciclo de vida do desenvolvimento de software para garantir um código testado e de alta qualidade, o GitLab também disponibiliza modelos para diversos tipos de testes automatizados em aplicações em execução para assegurar que elas funcionem como esperado. Esses testes incluem:

  • Teste de desempenho do navegador, que mede o tempo de carregamento dos sites durante o ciclo de vida do desenvolvimento, avaliando o impacto de alterações no código sobre o desempenho do navegador.
  • Teste de desempenho de carga, que avalia o desempenho do sistema no back-end de uma aplicação durante o ciclo de vida do desenvolvimento, testando o impacto de alterações no código sobre o desempenho.
  • Teste de fuzzing guiado por cobertura, que envia dados inesperados, malformados ou aleatórios para uma aplicação e a monitora quanto a comportamentos instáveis e falhas.
  • Teste de fuzzing da API da web, que envia dados inesperados, malformados ou aleatórios para os endpoints da API, com o objetivo de identificar bugs e problemas de segurança.

Ao adotar práticas eficazes de DevSecOps com o GitLab para criar aplicações seguras e de alta qualidade, as empresas terão mais facilidade em ser aprovadas na avaliação SOC 2 e atestar a segurança dos dados dos clientes.

Saiba mais: Fortaleça a sua postura de cibersegurança com os princípios de Seguro por Design.

Principais conclusões
  • Os testes automatizados e os relatórios de cobertura de código aprimoram a disponibilidade e a integridade de processamento do SOC 2.
  • As análises de segurança e os controles baseados em funções do GitLab garantem a conformidade com a estrutura SOC 2, protegendo os dados contra vulnerabilidades e acessos não autorizados.
  • Os modelos do GitLab para testes de desempenho de carga e de navegador simplificam as avaliações do SOC 2 ao validar o desempenho e a segurança da aplicação em todas as etapas do desenvolvimento.