Executando verificação de segurança...
-1

Relatório de segurança de software descobre que aplicativos JavaScript têm menos falhas que Java e .NET

O relatório State of Software Security da Veracode para 2023 descobriu que há 27% de chance em um determinado mês de que falhas de segurança sejam introduzidas em um aplicativo. Vários fatores foram encontrados para afetar essa chance, incluindo frequência de varredura, método de varredura, quantidade de educação do desenvolvedor e o idioma do aplicativo. O relatório também descobriu que os aplicativos JavaScript, em média, têm menos falhas e resolução de falhas mais rápida do que os aplicativos Java e .NET.

O relatório revisou todos os aplicativos verificados na plataforma Veracode. Uma descoberta importante é que a escolha da linguagem de programação afeta os tipos, a quantidade e a resolução das falhas. Embora os aplicativos JavaScript ainda apresentem falhas, eles tendem a ser resolvidos mais rapidamente. Essa resolução mais rápida no início do ciclo de vida do aplicativo leva a uma tendência de resolução aprimorada ao longo do tempo.

Em média, quatro em cada cinco aplicativos Java e .NET têm pelo menos uma falha em comparação com os aplicativos JavaScript, onde pouco mais da metade dos aplicativos tem uma ou mais falhas. Além disso, os aplicativos Java e .NET têm quase o dobro de problemas de alta gravidade em comparação com os aplicativos JavaScript.

Também foram abordados os principais tipos de falhas descobertas pelas diferentes verificações feitas na plataforma. O principal problema descoberto pela análise estática foi a injeção de alimentação de linha de retorno de carro (CRLF) em 64,8%, seguido de perto por problemas criptográficos (59,8%) e vazamento de informações (59,3%). Nas varreduras de análise dinâmica, a configuração do servidor foi o principal problema encontrado, com 96,5% das falhas descobertas sendo marcadas como problemas de configuração.

Os projetos analisados ​​mostraram que as candidaturas crescem cerca de 40% ao ano independentemente do seu tamanho inicial. Além disso, a introdução de falhas tende a acompanhar o crescimento do aplicativo, com algumas exceções. Como observa o relatório:

Após a integração inicial de um aplicativo, vemos uma rápida diminuição. O aplicativo então entra no que chamamos de "período de lua de mel" e, nos primeiros dois anos, as coisas estão estáveis. Pelo contrário, cerca de 80% das aplicações não apresentam falhas nesta fase inicial do ciclo de vida.

Em um determinado mês, um aplicativo tem 27% de chance de ter uma ou mais novas falhas introduzidas e descobertas. O relatório teve uma série de descobertas que ajudam a ajustar esse número para cima ou para baixo. As organizações que digitalizaram seus aplicativos via API tiveram uma redução de 2% nessa probabilidade. Os autores postulam que a varredura via API tende a ser uma atividade mais madura e que "podemos supor que ela tenha outras coisas em vigor, como controle de acesso ao pipeline".

Tendo os desenvolvedores concluídos os programas de treinamento, houve uma redução de 1,8% na probabilidade de novos problemas serem introduzidos. Por outro lado, os aplicativos com um débito de segurança maior, medido como uma densidade de falha de uma falha por um megabyte de código, tiveram 2,2% mais chances de introduzir um defeito.

O relatório tem uma série de recomendações para ajudar a reduzir a curva de remediação mais rapidamente e mais cedo. As recomendações incluem priorizar a automação, fornecer treinamento de segurança para desenvolvedores e estabelecer o gerenciamento do ciclo de vida do aplicativo. Para o gerenciamento do ciclo de vida do aplicativo, os principais objetivos são garantir que fique claro quem é o proprietário do aplicativo, a finalidade a que ele serve e quando o aplicativo deve ser movido para o fim de sua vida útil.

Para obter mais detalhes do relatório Veracode State of Software Security 2023, os leitores são direcionados ao site Veracode .

https://info.veracode.com/report-state-of-software-security-2023.html

https://shareallfiles.net

Carregando publicação patrocinada...
2

Linguagens de programação são apenas linguagens. Elas vão fazer o que você mandar elas fazerem. Se você deixar falhas no código, a culpa é do dev e não da linguagem/fw. Não existe isso de "linguagem mais segura que a outra", é ridículo querer afirmar isso.

Outro detalhe: .NET não é uma linguagem.

1

Não existe isso de "linguagem mais segura que a outra", é ridículo querer afirmar isso.

Ainda bem que ninguém fez isso!

1

O que estou querendo dizer é que não existe isso de "meu sistema ficou mais seguro porque fiz com a tecnologia x ao invés da y". Toda a competência de segurança, viabilidade e vulnerabilidade de uma aplicação é do desenvolvedor.

Confiar a segurança do seu aplicativo em sistemas, projetos e frameworks de terceiros é assumir a culpa inteiramente para o dev.

Javascript é ruim por design é não tem como não querer afirmar isso. A linguagem tem vários buracos e quem já mexe com ela há anos reconhece isso. E não digo do Javascript "node", "next", "react", etc... Digo do Javascript Vanilla, aquele qual deve receber seu nome. Mesma coisa com PHP.

C#, VB.NET e F# estão a todo momento recebendo incentivos da .NET Foundation e da comunidade super ativa, então acredito que é muito difícil quererem afirmar que o projeto .NET "é ruim".

Java também tem sua reputação.

A tecnologia usada é só um pequeno detalhe do desenvolvimento.

1

Isso não é verdade, as linguagens influenciam sim na segurança do código. Isso é devidamente estudado na academia e devidamente comprovado empiricamente.

Só para citar um exemplo dá uma olhada nessas estatística da Google:

Desde que adotaram o uso de Rust houve uma diminuação enorme no número de vulnerabilidades, provando empiricamente que Rust é mais segura do que C.

Olha, você e 90% dos programadores podem até negar mas o fato é que sim, linguagens de programação influenciam na segurança do código. Isso já foi exaustivamente provado de diversas maneiras diferentes.

Agora o porque disso você pode até não ter conhecimento para conseguir entender, isso é compreensível, a grande maioria dos programadores não têm. Mas não pode negar os fatos só porque não consegue entendê-los. Eu não entendo de física e nem por isso vou acreditar na terra plana...

Se quiser obter conhecimento para entender basta estudar sobre Programming Language Theory. Vai demorar alguns anos, não é o tipo de coisa que se aprende no final de semana.

1

Post interessante Uriel, massa demais man, acho de fato prestar a atenção nestes tipos de detalhes pois grande parte da vida útil de um software é composta por refatoração de código, é quando menos "problemas" ocasionados pelo tipo de linguagem utilizada melhor, mas é claro pelas porcentagens de falhas nas linguagens apresentadas não ser tão gritante não quer dizer que o dev tenha que mudar automaticamente para outra linguagem só por apresentar menos propensão a falhas, como dizer, cada linguagem tem sua finalidade e propósito.

-1

Minha questão mais é sobre a tipagem forte que tanto JAVA como .NET tem e JS não tem!

Isso significa que a tipagem forte não é garantia de nada!
Os malucos pelo typescritp não podem usar mais esse argumento.

Devem usar outros!