Quando as pessoas fazem escolhas de software, a segurança geralmente está no topo de suas listas de prioridades. E se não for, deve ser! No entanto, eles normalmente se perguntam sobre as diferenças entre software de código aberto e fechado.
Então, qual é a diferença entre código aberto e fechado? O software de código aberto é realmente seguro?
Open-Source vs. Software de código fechado
As pessoas tornam o software de código aberto disponível gratuitamente para todos. O público pode usar, copiar, alterar e redistribuir. Além disso, como o nome sugere, qualquer pessoa pode ver o código-fonte.
O software de código fechado apresenta um código rigidamente protegido que apenas pessoas autorizadas podem ver ou alterar. O custo cobre o direito das pessoas de usá-lo, mas apenas dentro dos limites do contrato de licença para o usuário final.
A visibilidade do código aberto tem prós e contras de segurança
A capacidade de qualquer pessoa de ver o código-fonte traz grandes vantagens para a segurança de código-fonte aberto. O desenvolvimento se torna um esforço comunitário do qual participam pessoas de todo o mundo.
Isso significa que os erros geralmente são identificados e corrigidos mais rápido do que se apenas um grupo muito menor de indivíduos examinasse o código.
No entanto, hackers capitalizar a acessibilidade de código-fonte aberto também. Eles podem usá-lo para planejar ataques ou tomar nota de vulnerabilidades.
Os desenvolvedores com interesse genuíno em melhorar o software de código aberto resolvem os problemas que encontram ou, pelo menos, relatam os problemas a alguém com as habilidades para resolvê-los. Qualquer pessoa com más intenções espera que as coisas passem despercebidas pelo maior tempo possível.
Essas realidades fazem com que os profissionais de segurança cibernética avisem que o software de código aberto pode colocar as organizações em risco. Um problema é que os criminosos podem ver o código e injetar conteúdo perigoso nele. Alternativamente, essas partes podem ter como alvo empresas que não têm práticas rígidas para baixar patches de software com freqüência suficiente.
Como o software de código aberto não tem autoridade central para gerenciá-lo, é difícil para alguém saber quais versões são usadas com mais frequência. Os títulos podem ser atualizados com tanta frequência que as equipes de TI de uma organização não percebem que têm uma versão antiga com graves problemas de segurança.
Bibliotecas de software de terceiros apresentam riscos de segurança de código aberto
Os desenvolvedores costumam usar bibliotecas de software de terceiros para economizar tempo. Eles são componentes reutilizáveis desenvolvidos por uma entidade diferente do provedor original. Uma vantagem é que eles permitem o uso de código pré-testado.
Bibliotecas populares são testadas em vários ambientes para uma ampla variedade de casos de uso. A frequência natural de uso significa que os bugs são relatados com frequência. No entanto, isso não significa necessariamente que as bibliotecas de software de terceiros tenham segurança superior, mesmo quando discutindo aquelas associadas ao software de código aberto.
Um estudo descobriram que, em quase 80 por cento dos casos, as bibliotecas de terceiros para software de código aberto não são atualizadas depois que os desenvolvedores as adicionam às bases de código. Os pesquisadores envolvidos no estudo alertaram como a falta de atualizações pode ter efeitos indiretos.
Alguns dos títulos de software mais recentes e amplamente usados dependem de bibliotecas de software de terceiros durante o desenvolvimento. Uma falha pode afetar todos os produtos associados a uma biblioteca problemática. Outra descoberta preocupante é que mais de um quarto dos desenvolvedores pesquisados desconheciam ou não tinham certeza de qualquer processo formal usado para selecionar bibliotecas de terceiros.
Relacionado: O que é uma exploração de dia zero e como funcionam os ataques?
No entanto, uma conclusão positiva do estudo foi que as atualizações de software corrigem 92 por cento das falhas em bibliotecas de software de terceiros. Além disso, 69 por cento das atualizações exigem apenas uma pequena alteração da versão ou algo ainda menos extenso.
Ainda mais promissor é que os desenvolvedores podem consertar 17% dessas falhas em uma hora. Isso significa que lidar com esses problemas de biblioteca de código aberto nem sempre é extremamente demorado ou complicado.
Como a velocidade de resolução de bug afeta a segurança de código aberto
Um dos principais problemas com software desatualizado é que ele deixa os usuários em risco de potenciais falhas de segurança. Em um mundo ideal, os desenvolvedores notariam e corrigiriam todos os bugs antes que o software chegasse ao público. Essa é uma meta irreal, no entanto.
A próxima melhor opção é lançar patches de software logo depois que as vulnerabilidades se tornarem aparentes. Os pesquisadores de segurança costumam alertar os fornecedores de software de código-fonte fechado sobre problemas que precisam de soluções rápidas. No entanto, as pessoas que desenvolvem esses produtos seguem cronogramas de lançamento escolhidos pelos superiores.
Os tomadores de decisão nem sempre priorizam todas as vulnerabilidades. Alguns permanecem sem solução por meses ou anos após a identificação inicial. Um problema relacionado é que muitos desenvolvedores lutam com cargas de trabalho excessivas ou desequilibradas que podem limitar severamente sua capacidade de corrigir bugs rapidamente, mesmo com as melhores intenções.
Outra pesquisa descobriram que 38 por cento dos desenvolvedores gastam um quarto de seu tempo disponível corrigindo bugs de software. Cerca de 26 por cento dos entrevistados disseram que a tarefa leva metade de seus dias de trabalho. Outra descoberta reveladora foi que 32 por cento dos desenvolvedores gastam até 10 horas por semana corrigindo bugs em vez de escrever código.
Os desenvolvedores tomam várias precauções para evitar o lançamento de código problemático. Por exemplo, cobertura de Sentinela Azul discutiu como um banco de dados sandbox fornece uma versão espelhada do ambiente de produção e quaisquer alterações do ciclo de implantação atual.
Os profissionais de desenvolvimento da Web podem aprender e testar coisas sem grandes consequências adversas que afetem uma equipe inteira. Mas os bugs ainda acontecem.
Uma vez que o software de código aberto tem comunidades inteiras de desenvolvimento trabalhando para melhorá-lo, há uma grande chance de que alguém com as habilidades certas e disponibilidade de programação possa identificar um bug e obtê-lo fixo. Isso pode significar que vulnerabilidades conhecidas não permanecem sem solução por tanto tempo quanto poderiam com um título de software de código-fonte fechado.
Existem dependências de software quando um sistema operacional depende de outro para funcionar. Quando se trata de software de código aberto, o ritmo acelerado de mudança muitas vezes torna difícil para os desenvolvedores entenderem se alguma de suas dependências diz respeito a versões desatualizadas.
No entanto, o Google lançou recentemente uma ferramenta de visualização baseada na web chamada Open Source Insights para resolver esse problema. Ele oferece aos usuários uma visão geral dos componentes associados a um pacote de software.
Como as informações incluem detalhes sobre dependências e suas propriedades, os profissionais de desenvolvimento têm uma ideia mais clara se o software de código aberto desatualizado pode causar problemas mais tarde.
Além de olhar para os gráficos de dependência, as pessoas podem usar uma ferramenta de comparação que mostra como diferentes versões de pacotes podem afetar as dependências. Às vezes, um mais recente aborda um problema de segurança. Ao oferecer essa ferramenta, o Google pretende tornar mais fácil para os desenvolvedores se tornarem mais conscientes de como eles usam o software de código aberto.
Ter esse novo conhecimento pode melhorar a segurança e a usabilidade geral.
Software de código aberto: não é uma solução de segurança total
Esta visão geral mostra por que o software de código aberto nem sempre é a escolha mais segura em comparação com o software de código fechado. No entanto, também existem muitas coisas boas sobre o software de código aberto.
As pessoas que pretendem usá-lo por motivos pessoais ou dentro de suas organizações devem pesar os prós e os contras para chegar a uma decisão.
Procurando aplicativos de código aberto gratuitos para Windows? Aqui estão alguns dos melhores softwares que você pode instalar.
Leia a seguir
- Segurança
- Segurança Online
- Código aberto
Shannon é um criador de conteúdo localizado em Philly, PA. Ela tem escrito na área de tecnologia por cerca de 5 anos depois de se formar em TI. Shannon é editora-chefe da ReHack Magazine e cobre tópicos como segurança cibernética, jogos e tecnologia empresarial.
Assine a nossa newsletter
Junte-se ao nosso boletim informativo para dicas de tecnologia, análises, e-books grátis e ofertas exclusivas!
Mais um passo…!
Confirme o seu endereço de e-mail no e-mail que acabamos de enviar.