CodeGym /Blogue Java /Random-PT /Segurança primeiro. O Java é chamado de linguagem segura ...
John Squirrels
Nível 41
San Francisco

Segurança primeiro. O Java é chamado de linguagem segura por um bom motivo?

Publicado no grupo Random-PT
Há muitas coisas boas sobre Java como linguagem de programação. É elegante, mas poderoso, multifuncional e independente de plataforma. Sendo orientado a objetos e portátil como seus pontos fortes mais amplamente mencionados, outra grande vantagem do Java tende a ficar ofuscada, então os recém-chegados geralmente têm uma compreensão limitada de todos os benefícios de estudar Java em vez de outra linguagem de programação, para fazer a escolha certa. Você já ouviu o Java ser chamado de linguagem de programação segura? É, e com razão. Segurança primeiro.  O Java é chamado de linguagem segura por um bom motivo?  - 1 Portanto, pensamos que talvez fosse a hora de lançar alguma luz sobre isso e explicar por que Java é chamada de linguagem segura e de que maneira exatamente ela é segura.

O que torna Java uma linguagem segura?

Java é seguro? Há uma série de razões para chamar o Java de uma linguagem de programação segura, embora dizer que o Java é mais seguro em comparação com várias outras linguagens seria a maneira correta de colocá-lo, pois esses recursos não tornam o Java absolutamente seguro, eles apenas principalmente melhorar a segurança da execução do código Java.
  • Verificação de bytecode.
A verificação de bytecode é um dos principais recursos que garantem a segurança do código Java. Uma verificação de bytecode significa que Java usa um compilador, que lê o código Java e o traduz em uma representação de bytecode independente da máquina. Isso permite garantir que apenas bytecodes legítimos sejam executados e nenhum código malicioso possa entrar no sistema. O compilador verifica se os bytecodes estão em conformidade com a Java Language Specification e não violam as regras da linguagem Java ou as restrições de namespace. O código também é verificado quanto a vários outros 'sinalizadores vermelhos', como typecasts de dados ilegais, estouros e estouros de pilha ou violações de gerenciamento de memória. Para explicar de maneira mais simples, os programas Java são compilados como código de mordida, que é executado dentro de uma máquina virtual e não pode acessar o computador em que é executado. Isso torna esse código muito mais seguro de usar,
  • Gerenciamento de memória automatizado.
Outra característica importante do Java como uma linguagem segura é o gerenciamento automático de memória e a coleta de lixo, que também torna o Java uma linguagem muito mais fácil para um codificador, pois o Java cuida automaticamente de todos os problemas de memória interna e sistemas de gerenciamento de dados. Isso permite que o programador não se preocupe com problemas de memória ao criar um programa, concentrando-se em outras coisas importantes. A coleta de lixo, por exemplo, libera a memória automaticamente quando necessário. A propósito, outra grande vantagem de toda essa automação de gerenciamento em Java é o fato de reduzir os custos gerais de desenvolvimento (já que várias funções e processos importantes são automatizados).
  • Sem ponteiros.
Ao contrário de muitas outras linguagens de programação, C e C+ por exemplo, que usam valores de ponteiro para gerenciar a memória do aplicativo, não há conceito de ponteiros em Java. Embora originalmente projetados como uma medida de segurança (para proteger dados privados de ladrões), os ponteiros também podem ser uma grande vulnerabilidade no caso de algum tipo de malfeitor conseguir acessá-los, pois os ponteiros não têm como verificar a autorização neles , basicamente permitindo que qualquer pessoa acesse a memória do aplicativo. Java, como dissemos, não usa ponteiros, contando com seus sistemas de gerenciamento de dados e memória interna, como forma de proteger os dados de qualquer acesso não autorizado. Isso torna praticamente impossível para os hackers se infiltrarem na memória do aplicativo Java. Compreensivelmente, esta é outra razão pela qual o Java é popular no desenvolvimento corporativo,
  • O compilador Java verifica, detecta e corrige automaticamente erros no código.
A verificação automática de erros no código é outro recurso importante do Java que o torna mais seguro. O compilador verifica o código, detecta erros, avisa o programador sobre essas setas e sugere maneiras de corrigi-las. Isso, novamente, simplifica o trabalho do programador, torna os aplicativos Java muito mais estáveis ​​e, finalmente, reduz os custos de desenvolvimento (motivo número 1 para praticamente qualquer empresa). Quanto à parte de segurança, isso também minimiza as chances de um código malicioso externo entrar em seu programa e fazer modificações não autorizadas nele.
  • Java faz verificação automática de tipo de dados.
Além de verificar se há erros no código, o Java Compiler também examina automaticamente as variáveis ​​no código, para garantir que não haja problemas de segurança que possam surgir de erros de entrada de dados nas variáveis. Essa é outra maneira de proteger o sistema contra infiltrações e roubo de dados.

Quais componentes Java realmente o tornam seguro?

Quanto aos componentes Java específicos que desempenham o papel mais importante em sua segurança, aqui está uma lista rápida apenas para fornecer uma compreensão mais clara, em um nível básico, de como ele funciona e o que exatamente torna o Java seguro.
  • Máquina Virtual Java (JVM).
A JVM, sendo uma máquina virtual que executa a representação de bytecode de um programa Java, obviamente desempenha um papel muito importante na segurança geral do Java. O uso da JVM permite bloquear qualquer operação potencialmente insegura de um programa.
  • Arquitetura de Criptografia Java (JCA).
Java Cryptography Architecture é uma estrutura que permite adicionar funcionalidade criptográfica para a plataforma Java. O uso da Java Cryptography Architecture garante que seus dados sejam criptografados e permaneçam seguros.
  • Infraestrutura de chave pública (PKI).
Public Key Infrastructure é outra estrutura, que permite aplicar criptografia de chave pública para obter uma troca segura de dados. Usando PKI, você pode vincular identidades a certificados digitais e verificar a autenticidade dos certificados quando necessário.
  • Gerente de segurança.
O gerenciador de segurança em Java é basicamente uma classe que permite que os aplicativos implementem uma política de segurança, define a política de segurança para eles e permite que um programador defina um nível de segurança para um aplicativo.
  • Caixa de areia Java.
Java sandbox é uma área de programa para executar applets Java, que restringe o que um applet pode fazer para garantir que não comprometa a segurança e não consiga acessar os recursos do sistema sem a verificação de segurança.

Opiniões

Os desenvolvedores Java profissionais com anos de experiência acreditam que esta linguagem é segura? Aqui estão algumas citações. “Eu diria que Java não é seguro como tal (nenhuma linguagem de programação é), mas a JVM oferece recursos que fornecem segurança. Portanto, embora o Java não o proteja de tudo, ele o protegerá de toda uma classe de problemas causados ​​por saturações de buffer”, disseGarry Taylor, um programador experiente e CTO da empresa Black Spark Media. “Java melhora a segurança confinando um applet ao ambiente de execução Java e não permitindo que ele acesse outras partes do computador. A capacidade de baixar applets com a confiança de que nenhum dano será causado e que nenhuma segurança será violada é considerado por muitos como o aspecto mais inovador do Java”, observou Smit Prakash, engenheiro de software da IBM.

Resumo

Então, o Java é seguro? Resumindo, o Java definitivamente possui vários recursos excelentes e ferramentas integradas que o tornam mais seguro. Muitos desses recursos desempenham um papel importante na popularidade geral do Java, especialmente no mercado corporativo, pois permitem que as empresas protejam efetivamente seus dados contra acesso não autorizado, além de automatizar vários processos de desenvolvimento que não são automatizados por outras linguagens. Mas, por mais que gostemos de nos gabar do Java e de como ele é ótimo, o Java ainda está longe de ser completamente seguro. Na verdade, nenhuma das linguagens de programação é totalmente segura, cada uma com seus próprios pontos fortes e fracos (vulnerabilidades). De um modo geral, C é consideradoser a linguagem de programação mais vulnerável que existe. O Java, apesar de ter vários recursos de segurança excelentes descritos acima, ainda é vulnerável no lado do servidor e pode sofrer exploits, dizem os especialistas .
Comentários
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION