CodeGym /Blog Java /Aleatoriu /Siguranța pe primul loc. Este Java numit limbaj sigur din...
John Squirrels
Nivel
San Francisco

Siguranța pe primul loc. Este Java numit limbaj sigur dintr-un motiv bun?

Publicat în grup
Există multe lucruri bune despre Java ca limbaj de programare. Este elegant, dar puternic, multifuncțional și independent de platformă. Având în vedere că este orientat pe obiecte și portabil, ca fiind punctele forte menționate pe scară largă, un alt avantaj major al Java tinde să rămână umbrit, astfel încât nou-veniții au adesea o înțelegere limitată a tuturor beneficiilor studierii Java în loc de alt limbaj de programare, pentru a face alegerea corectă. Ați auzit vreodată că Java este numit limbaj de programare securizat? Este și pe bună dreptate. Siguranța pe primul loc.  Este Java numit limbaj sigur dintr-un motiv bun?  - 1 Așa că ne-am gândit că ar putea fi momentul să aruncăm puțină lumină asupra acestui lucru și să explicăm de ce Java este numit limbaj sigur și în ce fel este exact sigur.

Ce face Java un limbaj sigur?

Java este sigur? Există o serie de motive pentru a numi Java un limbaj de programare sigur, deși a spune că Java este mai sigur în comparație cu o serie de alte limbi ar fi modalitatea corectă de a-l spune, deoarece aceste caracteristici nu fac Java absolut sigur, ci doar în principal. îmbunătățiți siguranța execuției codului Java.
  • Verificare bytecode.
Verificarea bytecode este una dintre caracteristicile de bază care asigură siguranța codului Java. O verificare de bytecode înseamnă că Java folosește un compilator, care citește codul Java și îl traduce într-o reprezentare de bytecode independentă de mașină. Acest lucru vă permite să vă asigurați că sunt executate numai coduri de octet legitime și că niciun cod rău intenționat nu poate intra în sistem. Compilatorul verifică dacă codurile de octet sunt conforme cu specificația limbajului Java și nu încalcă regulile limbajului Java sau restricțiile de spațiu de nume. Codul este, de asemenea, verificat pentru o serie de alte „steaguri roșii”, cum ar fi tipărirea ilegală a datelor, depășirile și depășirile de stive sau încălcări ale gestionării memoriei. Pentru a explica într-un mod mai simplu, programele Java sunt compilate ca cod de mușcătură, care apoi rulează într-o mașină virtuală și nu poate accesa computerul pe care rulează. Face acest cod mult mai sigur de utilizat,
  • Gestionare automată a memoriei.
O altă caracteristică importantă a Java ca limbaj sigur este gestionarea automată a memoriei și colectarea gunoiului, ceea ce face ca Java să fie un limbaj mult mai ușor pentru un programator, deoarece Java se ocupă automat de toate problemele de memorie internă și de sistemele de gestionare a datelor. Acest lucru permite programatorului să nu fie deloc preocupat de problemele de memorie atunci când creează un program, concentrându-se în schimb pe alte lucruri importante. Colectarea gunoiului, de exemplu, eliberează automat memoria atunci când acest lucru este necesar. Apropo, un alt avantaj major al acestei automatizări de gestiune în Java este faptul că reduce costurile totale de dezvoltare (din moment ce o serie de funcții și procese importante sunt automatizate).
  • Fără indicii.
Spre deosebire de multe alte limbaje de programare, C și C+ de exemplu, care folosesc valori de pointer pentru a gestiona memoria aplicației, nu există un concept de pointeri în Java. Deși au fost concepute inițial ca o măsură de securitate (pentru a proteja datele private de hoți), pointerii pot fi, de asemenea, o vulnerabilitate majoră în cazul în care un fel de răufăcători reușesc să aibă acces la ele, deoarece pointerii nu au o modalitate de a verifica autorizarea în ele. , permițând practic oricui să acceseze memoria aplicației. Java, așa cum am spus, nu folosește pointeri, bazându-se în schimb pe sistemele sale de gestionare a datelor și pe memoria internă, ca o modalitate de a proteja datele de orice acces neautorizat. Acest lucru face aproape imposibil ca hackerii să se infiltreze în memoria aplicației Java. De înțeles, acesta este un alt motiv pentru care Java este popular în dezvoltarea întreprinderilor,
  • Compilatorul Java verifică, detectează și remediază automat erorile din cod.
Verificarea automată a codului pentru erori este o altă caracteristică importantă a Java care îl face mai sigur. Compilatorul verifică codul, detectează erori, avertizează programatorul despre aceste săgeți și sugerează modalități de a le remedia. Acest lucru, din nou, simplifică munca programatorului, face aplicațiile Java mult mai stabile și, în cele din urmă, reduce costurile de dezvoltare (motivul numărul 1 pentru aproape orice companie). În ceea ce privește partea de securitate a acesteia, aceasta reduce, de asemenea, șansele ca codul rău intenționat extern să intre în programul dvs. să-i facă modificări neautorizate.
  • Java face verificarea automată a tipului de date.
Pe lângă verificarea codului pentru erori, Java Compiler examinează automat și variabilele din cod, pentru a se asigura că nu există probleme de securitate care pot apărea din greșelile de introducere a datelor în variabile. Aceasta este o altă modalitate de a proteja sistemul de infiltrare și de furtul datelor.

Ce componente Java îl fac de fapt sigur?

În ceea ce privește componentele specifice Java care joacă cel mai important rol în securitatea sa, iată o listă rapidă doar pentru a vă oferi o înțelegere mai clară, la un nivel de bază, a modului în care funcționează și a ceea ce face Java sigur.
  • Mașină virtuală Java (JVM).
JVM, fiind o mașină virtuală care rulează reprezentarea bytecode a unui program Java, joacă evident un rol foarte important în securitatea generală a Java. Utilizarea JVM vă permite să blocați orice operațiuni potențial nesigure ale unui program.
  • Java Criptography Architecture (JCA).
Java Cryptography Architecture este un cadru care vă permite să adăugați funcționalități criptografice pentru platforma Java. Utilizarea Java Cryptography Architecture garantează că datele dumneavoastră vor fi criptate și vor rămâne în siguranță.
  • Infrastructura cu chei publice (PKI).
Public Key Infrastructure este un alt cadru, care vă permite să aplicați criptografia cu cheie publică pentru a realiza un schimb sigur de date. Folosind PKI, puteți lega identitățile de certificate digitale și puteți verifica autenticitatea certificatelor atunci când este necesar.
  • Manager de securitate.
Managerul de securitate în Java este practic o clasă, care permite aplicațiilor să implementeze o politică de securitate, definește politica de securitate pentru ele și permite unui programator să stabilească un nivel de securitate pentru o aplicație.
  • Sandbox Java.
Java sandbox este o zonă de program pentru a rula applet-uri Java, care limitează ceea ce poate face un applet pentru a se asigura că nu va compromite securitatea și că nu poate ajunge la resursele sistemului fără verificarea de siguranță.

Opinii

Dezvoltatorii Java profesioniști cu ani de experiență cred că acest limbaj este sigur? Iată câteva citate. „Aș spune că Java nu este sigur ca atare (nici un limbaj de programare nu este), dar JVM-ul oferă caracteristici care oferă securitate. Deci, deși Java nu vă va proteja de orice, vă va proteja de o întreagă clasă de probleme cauzate de depășirile buffer-ului”, a spusGarry Taylor, un programator cu experiență și CTO al companiei Black Spark Media. „Java îmbunătățește securitatea limitând un applet la mediul de execuție Java și nepermițându-i să acceseze alte părți ale computerului. Capacitatea de a descărca applet-uri cu încredere că nu va fi făcut niciun rău și că nicio securitate nu va fi încălcată este considerată de mulți drept cel mai inovator aspect al Java”, a menționat Smit Prakash, inginer software la IBM.

rezumat

Deci, este Java sigur? Rezumând, Java are cu siguranță o serie de caracteristici grozave și instrumente încorporate care îl fac mai sigur. Multe dintre aceste caracteristici joacă un rol important în popularitatea generală a Java, în special pe piața întreprinderilor, deoarece permit companiilor să-și protejeze în mod eficient datele împotriva accesului neautorizat, automatizează în același timp o serie de procese de dezvoltare care nu sunt automatizate de alte limbi. Dar, oricât de mult ne place să ne lăudăm cu Java și cât de grozav este, Java este încă departe de a fi complet sigur. De fapt, niciunul dintre limbajele de programare nu este complet sigur, fiecare având propriile puncte forte și puncte slabe (vulnerabilități). În general, se consideră Csă fie cel mai vulnerabil limbaj de programare de acolo. Java, în ciuda faptului că are o serie de caracteristici de securitate excelente descrise mai sus, este încă vulnerabil pe partea de server și poate suferi de exploatare, spun experții .
Comentarii
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION