CodeGym /Java Blog /Random-IT /La sicurezza prima. Java è definito un linguaggio sicuro ...
John Squirrels
Livello 41
San Francisco

La sicurezza prima. Java è definito un linguaggio sicuro per una buona ragione?

Pubblicato nel gruppo Random-IT
Ci sono molte cose positive su Java come linguaggio di programmazione. È elegante ma potente, interfunzionale e indipendente dalla piattaforma. Essendo orientato agli oggetti e portatile come i suoi punti di forza più ampiamente menzionati, un altro grande vantaggio di Java tende a rimanere oscurato, quindi i nuovi arrivati ​​​​spesso hanno una comprensione limitata di tutti i vantaggi dello studio di Java invece di un altro linguaggio di programmazione, per fare la scelta giusta. Hai mai sentito parlare di Java come linguaggio di programmazione sicuro? Lo è, e giustamente. La sicurezza prima.  Java è definito un linguaggio sicuro per una buona ragione?  - 1 Quindi abbiamo pensato che potesse essere il momento di fare luce su questo e spiegare perché Java è definito un linguaggio sicuro e in che modo è esattamente sicuro.

Cosa rende Java un linguaggio sicuro?

Java è sicuro? Ci sono una serie di ragioni per chiamare Java un linguaggio di programmazione sicuro, anche se dire che Java è più sicuro rispetto a un certo numero di altri linguaggi sarebbe il modo corretto di dirlo poiché queste funzionalità in realtà non rendono Java assolutamente sicuro, ma principalmente migliorare la sicurezza dell'esecuzione del codice Java.
  • Verifica del bytecode.
La verifica del bytecode è una delle funzionalità principali che garantisce la sicurezza del codice Java. Una verifica bytecode significa che Java utilizza un compilatore, che legge il codice Java e lo traduce in una rappresentazione bytecode indipendente dalla macchina. Ciò consente di assicurarsi che vengano eseguiti solo bytecode legittimi e che nessun codice dannoso possa entrare nel sistema. Il compilatore verifica che i bytecode siano conformi alla specifica del linguaggio Java e non violino le regole del linguaggio Java o le restrizioni dello spazio dei nomi. Il codice viene anche verificato per una serie di altri "segnali di allarme", come typecast di dati illegali, underflow e overflow dello stack o violazioni della gestione della memoria. Per spiegarlo in modo più semplice, i programmi Java sono compilati come codice morso, che quindi viene eseguito all'interno di una macchina virtuale e non può accedere al computer su cui viene eseguito. Rende questo codice molto più sicuro da usare,
  • Gestione automatizzata della memoria.
Un'altra caratteristica importante di Java come linguaggio sicuro è la gestione automatica della memoria e la raccolta dei rifiuti, che è anche ciò che rende Java un linguaggio molto più semplice per un programmatore poiché Java si occupa automaticamente di tutti i problemi di memoria interna e dei sistemi di gestione dei dati. Ciò consente al programmatore di non preoccuparsi affatto dei problemi di memoria durante la creazione di un programma, concentrandosi invece su altre cose importanti. La raccolta dei rifiuti, ad esempio, libera automaticamente la memoria quando è necessario. A proposito, un altro importante vantaggio di tutta questa automazione della gestione in Java è il fatto che riduce i costi complessivi di sviluppo (poiché una serie di funzioni e processi importanti sono automatizzati).
  • Nessun puntatore.
A differenza di molti altri linguaggi di programmazione, ad esempio C e C+, che utilizzano i valori dei puntatori per gestire la memoria dell'applicazione, in Java non esiste il concetto di puntatori. Sebbene originariamente progettati come misura di sicurezza (per proteggere i dati privati ​​dai ladri), i puntatori possono anche rappresentare una grave vulnerabilità nel caso in cui qualche tipo di malfattore riesca ad accedervi poiché i puntatori non hanno un modo per verificare l'autorizzazione in essi , consentendo sostanzialmente a chiunque di accedere alla memoria dell'applicazione. Java, come abbiamo detto, non utilizza i puntatori, affidandosi invece ai suoi sistemi di gestione dei dati e alla memoria interna, come un modo per proteggere i dati da qualsiasi accesso non autorizzato. Ciò rende praticamente impossibile per gli hacker infiltrarsi nella memoria dell'applicazione Java. Comprensibilmente, questo è un altro motivo per cui Java è popolare nello sviluppo aziendale,
  • Il compilatore Java controlla, rileva e corregge automaticamente gli errori nel codice.
Il controllo automatico del codice per gli errori è un'altra caratteristica importante di Java che lo rende più sicuro. Il compilatore controlla il codice, rileva gli errori, avvisa il programmatore di queste frecce e suggerisce modi per correggerli. Questo, ancora una volta, semplifica il lavoro del programmatore, rende le applicazioni Java molto più stabili e, in definitiva, riduce i costi di sviluppo (motivo numero 1 praticamente per qualsiasi azienda). Per quanto riguarda la parte di sicurezza, questo riduce anche al minimo le possibilità che codice dannoso esterno entri nel tuo programma apportando modifiche non autorizzate.
  • Java esegue il controllo automatico del tipo di dati.
Oltre a verificare la presenza di errori nel codice, Java Compiler esamina automaticamente anche le variabili nel codice, per assicurarsi che non vi siano problemi di sicurezza che possono derivare da errori di immissione dei dati nelle variabili. Questo è un altro modo per proteggere il sistema dalle infiltrazioni e dai furti di dati.

Quali componenti Java lo rendono effettivamente sicuro?

Per quanto riguarda i componenti Java specifici che svolgono il ruolo più importante nella sua sicurezza, ecco un breve elenco solo per darti una comprensione più chiara, a livello di base, di come funziona e cosa rende esattamente sicuro Java.
  • Macchina virtuale Java (JVM).
JVM, essendo una macchina virtuale che esegue la rappresentazione in bytecode di un programma Java, svolge ovviamente un ruolo molto importante nella sicurezza complessiva di Java. L'utilizzo di JVM consente di bloccare qualsiasi operazione potenzialmente non sicura di un programma.
  • Architettura di crittografia Java (JCA).
Java Cryptography Architecture è un framework che consente di aggiungere funzionalità crittografiche per la piattaforma Java. L'utilizzo di Java Cryptography Architecture garantisce che i tuoi dati saranno crittografati e rimarranno al sicuro.
  • Infrastruttura a chiave pubblica (PKI).
L'infrastruttura a chiave pubblica è un altro framework che consente di applicare la crittografia a chiave pubblica per ottenere uno scambio sicuro di dati. Utilizzando PKI, puoi collegare le identità ai certificati digitali e verificare l'autenticità dei certificati quando necessario.
  • Manager della sicurezza.
Il gestore della sicurezza in Java è fondamentalmente una classe che consente alle applicazioni di implementare una politica di sicurezza, definisce la politica di sicurezza per loro e consente a un programmatore di impostare un livello di sicurezza per un'app.
  • Sabbiera Java.
Java sandbox è un'area del programma per eseguire applet Java, che limita ciò che un'applet può fare per assicurarsi che non comprometta la sicurezza e non possa accedere alle risorse di sistema senza il controllo di sicurezza.

Opinioni

Gli sviluppatori Java professionisti con anni di esperienza credono che questo linguaggio sia sicuro? Ecco un paio di citazioni. “Direi che Java non è sicuro in quanto tale (nessun linguaggio di programmazione lo è), ma la JVM offre funzionalità che forniscono sicurezza. Quindi, mentre Java non ti proteggerà da tutto, ti proteggerà da un'intera classe di problemi causati da sovraccarichi del buffer ", ha affermatoGarry Taylor, programmatore esperto e CTO della società Black Spark Media. “Java migliora la sicurezza limitando un'applet all'ambiente di esecuzione Java e impedendole di accedere ad altre parti del computer. La capacità di scaricare applet con la certezza che non verrà fatto alcun danno e che nessuna sicurezza verrà violata è considerata da molti l'aspetto più innovativo di Java”, ha osservato Smit Prakash, ingegnere del software presso IBM.

Riepilogo

Quindi, Java è sicuro? Riassumendo, Java ha sicuramente una serie di fantastiche funzionalità e strumenti integrati che lo rendono più sicuro. Molte di queste funzionalità svolgono un ruolo importante nella popolarità complessiva di Java, soprattutto nel mercato aziendale, poiché consentono alle aziende di proteggere efficacemente i propri dati da accessi non autorizzati, automatizzando anche una serie di processi di sviluppo che non sono automatizzati da altri linguaggi. Ma, per quanto amiamo vantarci di Java e di quanto sia fantastico, Java è ancora lontano dall'essere completamente sicuro. In effetti, nessuno dei linguaggi di programmazione è completamente sicuro, ognuno con i propri punti di forza e di debolezza (vulnerabilità). In generale, si considera Cessere il linguaggio di programmazione più vulnerabile là fuori. Java, nonostante abbia una serie di ottime funzionalità di sicurezza sopra descritte, è ancora vulnerabile sul lato server e può subire exploit, affermano gli esperti .
Commenti
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION