Olá! Meu nome é Raphael Alves Gibello Rosa e serei o instrutor do curso sobre SCA, ou Software Composition Analysis (Análise de Composição de Software).
Audiodescrição: Raphael é um homem de pele clara, com cabelos castanhos. Ele está vestindo uma camiseta azul escura e, ao fundo, há uma parede azul claro iluminada por luzes da mesma cor.
Trabalho na área de segurança desde 2017 e atualmente sou engenheiro sênior de segurança da informação e de segurança em cloud em uma empresa multinacional. No meu tempo livre, gosto de estudar, ler, praticar artes marciais, particularmente o jiu-jitsu brasileiro, e jogar jogos de carta.
Vamos à apresentação do curso. Teremos um total de cinco aulas nas quais abordaremos temas como os fundamentos da composição de software, segurança para componentes de software, gestão de riscos no ambiente e no contexto das ferramentas SCA.
Também apresentaremos as ferramentas SBOM, OWASP Dependency Check e Dependabot do GitHub. No final, teremos laboratórios utilizando a ferramenta SBOM do GitHub e o GitHub Actions, onde implementaremos essas ferramentas para realizar verificações tanto para a vulnerabilidade de terceiros quanto para o licenciamento de software.
Vamos iniciar nossa discussão sobre software open source (software de código aberto). O código aberto é caracterizado por seu contraste com aplicações proprietárias, como, por exemplo, o Microsoft Word ou o Excel, onde a Microsoft detém todos os direitos autorais sobre a propriedade intelectual e vende o software para usuários finais, os quais não têm permissão para editar, aprimorar ou redistribuir o código.
Em contrapartida, um software livre é um software cuja licença concede aos usuários a liberdade de executar, copiar, distribuir, estudar e aprimorar o software. Em detalhes, o software livre é definido pelo conceito de quatro liberdades essenciais, conforme a definição da própria Free Software Foundation, de Richard Stallman.
Com base nesses conceitos, foram elaboradas licenças ou pensadores que defendem essas liberdades. Algumas utilizam a Lei para a Garantia das Liberdades, conhecidas como licenças Copyleft, tendo como principal exemplo a licença GNU.
Existem também licenças mais permissivas, que permitem uso proprietário, mas com limites, como, por exemplo, Apache, MIT e BSD. É importante observar que nem todo software open source é gratuito. Em geral, as empresas utilizam softwares licenciados com licenças permissivas em seus produtos para criar softwares proprietários, enquanto obtêm as vantagens do modelo open source, economizando muito esforço.
Além disso, algumas empresas desenvolvem softwares open source ou liberam softwares internos para uso global, como foi o caso do Kubernetes, que nasceu como um software proprietário da Google e posteriormente foi liberado como software open source, tornando-se uma peça fundamental no mundo da computação moderna.
Até o próximo vídeo.
No último vídeo, discutimos o que é um software open source (código aberto). No entanto, ser open source não torna um software imune a problemas de segurança. Na verdade, podemos afirmar que problemas de segurança são mais facilmente identificáveis em softwares open source. O gerenciamento desses problemas é a principal razão para utilizarmos ferramentas de análise de composição de software, conhecidas como SCA.
SCA é a prática e o conjunto de ferramentas dedicadas a identificar, inventariar e avaliar todos os componentes open source que uma organização utiliza. Essa prática nos auxilia a ter visibilidade das vulnerabilidades dos códigos open source, problemas de licença e atualizações de componentes em geral.
Tecnicamente, isso é feito por meio de um escaneamento dos arquivos de configuração do código, criando uma lista de todos os componentes, que chamamos de SBOM, que significa Software Bill of Materials (Lista de Materiais de Software). Utilizando esses dados, a ferramenta cruza a informação com bancos de dados públicos e proprietários de vulnerabilidades, e fornece relatórios e alertas sobre possíveis problemas.
Ferramentas SCA existem de vários tipos, como ferramentas pagas ou gratuitas, proprietárias ou open source (código aberto). Podemos tanto implementar a SCA por meio de utilização direta por CLI ou na IDE de uma pessoa desenvolvedora, em processos de CI/CD, podendo inclusive ser tratado como um Quality Gate (Indicador de Qualidade), ou mesmo como um processo contínuo, onde a ferramenta acessa diretamente os repositórios de código e gera alertas e relatórios, permitindo maior flexibilidade a organizações e projetos que utilizam ferramentas SCA.
Com esses conceitos explicados, vamos agora entender melhor o conceito de dependência transitiva e por que ela é o maior problema que o SCA visa resolver. Até o próximo vídeo.
O curso Segurança da Supply Chain: gestão de vulnerabilidades e licenças em projetos possui 97 minutos de vídeos, em um total de 54 atividades. Gostou? Conheça nossos outros cursos de Segurança em DevOps, ou leia nossos artigos de DevOps.
Matricule-se e comece a estudar com a gente hoje! Conheça outros tópicos abordados durante o curso:
Impulsione a sua carreira com os melhores cursos e faça parte da maior comunidade tech.
2 anos de Alura
Matricule-se no plano PLUS 24 e garanta:
Jornada de estudos progressiva que te guia desde os fundamentos até a atuação prática. Você acompanha sua evolução, entende os próximos passos e se aprofunda nos conteúdos com quem é referência no mercado.
Programação, Data Science, Front-end, DevOps, Mobile, Inovação & Gestão, UX & Design, Inteligência Artificial
Formações com mais de 1500 cursos atualizados e novos lançamentos semanais, em Programação, Inteligência Artificial, Front-end, UX & Design, Data Science, Mobile, DevOps e Inovação & Gestão.
A cada curso ou formação concluído, um novo certificado para turbinar seu currículo e LinkedIn.
No Discord, você participa de eventos exclusivos, pode tirar dúvidas em estudos colaborativos e ainda conta com mentorias em grupo com especialistas de diversas áreas.
Faça parte da maior comunidade Dev do país e crie conexões com mais de 120 mil pessoas no Discord.
Acesso ilimitado ao catálogo de Imersões da Alura para praticar conhecimentos em diferentes áreas.
Explore um universo de possibilidades na palma da sua mão. Baixe as aulas para assistir offline, onde e quando quiser.
Acelere o seu aprendizado com a IA da Alura e prepare-se para o mercado internacional.
2 anos de Alura
Todos os benefícios do PLUS 24 e mais vantagens exclusivas:
Luri é nossa inteligência artificial que tira dúvidas, dá exemplos práticos, corrige exercícios e ajuda a mergulhar ainda mais durante as aulas. Você pode conversar com a Luri até 100 mensagens por semana.
Aprenda um novo idioma e expanda seus horizontes profissionais. Cursos de Inglês, Espanhol e Inglês para Devs, 100% focado em tecnologia.
Para estudantes ultra comprometidos atingirem seu objetivo mais rápido.
2 anos de Alura
Todos os benefícios do PRO 24 e mais vantagens exclusivas:
Mensagens ilimitadas para estudar com a Luri, a IA da Alura, disponível 24hs para tirar suas dúvidas, dar exemplos práticos, corrigir exercícios e impulsionar seus estudos.
Envie imagens para a Luri e ela te ajuda a solucionar problemas, identificar erros, esclarecer gráficos, analisar design e muito mais.
Escolha os ebooks da Casa do Código, a editora da Alura, que apoiarão a sua jornada de aprendizado para sempre.
Conecte-se ao mercado com mentoria individual personalizada, vagas exclusivas e networking estratégico que impulsionam sua carreira tech para o próximo nível.