CodeGym/Java blog/Tilfældig/Sikkerhed først. Kaldes Java et sikkert sprog af en god g...
John Squirrels
Niveau
San Francisco

Sikkerhed først. Kaldes Java et sikkert sprog af en god grund?

Udgivet i gruppen
Der er mange gode ting ved Java som programmeringssprog. Den er elegant og alligevel kraftfuld, tværfunktionel og platformsuafhængig. Med at være objektorienteret og bærbar, da det er de mest nævnte styrker, har en anden stor fordel ved Java en tendens til at blive overskygget, så nybegyndere har ofte begrænset forståelse af alle fordelene ved at studere Java i stedet for et andet programmeringssprog, for at træffe det rigtige valg. Har du nogensinde hørt Java blive kaldt et sikkert programmeringssprog? Det er det og med rette. Sikkerhed først.  Kaldes Java et sikkert sprog af en god grund?  - 1 Så vi tænkte, at det måske var på tide at kaste lidt lys over dette og forklare, hvorfor Java kaldes et sikkert sprog, og præcis på hvilken måde det er sikkert.

Hvad gør Java til et sikkert sprog?

Er Java sikkert? Der er en række grunde til at kalde Java for et sikkert programmeringssprog, selvom at sige, at Java er mere sikkert sammenlignet med en række andre sprog ville være den rigtige måde at sige det på, da disse funktioner faktisk ikke gør Java absolut sikker, de bare hovedsageligt forbedre sikkerheden ved udførelse af Java-kode.
  • Bytekodebekræftelse.
Bytekodebekræftelse er en af ​​kernefunktionerne, der sikrer sikkerheden ved Java-kode. En bytekode-verifikation betyder, at Java bruger en compiler, som læser Java-kode og oversætter den til en maskinuafhængig bytekode-repræsentation. Dette gør det muligt at sikre, at kun legitime bytekoder udføres, og ingen ondsindet kode kan komme ind i systemet. Compileren kontrollerer, at bytekoderne er i overensstemmelse med Java-sprogspecifikationen og ikke overtræder Java-sprogregler eller navnerumsbegrænsninger. Koden kontrolleres også for en række andre 'røde flag', såsom ulovlige datatypecasts, stak-underløb og -overløb eller overtrædelser af hukommelsesstyring. For at forklare det på en enklere måde, er Java-programmer kompileret som bidkode, som så kører inde i en virtuel maskine, og ikke kan få adgang til den computer, den kører på. Det gør denne kode meget mere sikker at bruge,
  • Automatiseret hukommelseshåndtering.
En anden vigtig egenskab ved Java som et sikkert sprog er automatisk hukommelseshåndtering og skraldindsamling, hvilket også er det, der gør Java til et meget nemmere sprog for en koder, da Java automatisk tager sig af alle interne hukommelsesproblemer og datahåndteringssystemer. Dette gør det muligt for programmøren slet ikke at bekymre sig om hukommelsesproblemer, når han opretter et program, og fokuserer på andre vigtige ting i stedet. Skraldopsamling frigør f.eks. automatisk hukommelsen, når dette er påkrævet. En anden stor fordel ved al denne administrationsautomatisering i Java er, at den reducerer de samlede udviklingsomkostninger (da en række vigtige funktioner og processer er automatiserede).
  • Ingen pointer.
I modsætning til mange andre programmeringssprog, f.eks. C og C+, der bruger pointerværdier til at administrere applikationshukommelse, er der intet begreb om pointere i Java. Selvom det oprindeligt er designet som en sikkerhedsforanstaltning (for at beskytte private data mod tyve), kan pointere også være en stor sårbarhed i tilfælde af, at en form for ondsindede kan få adgang til dem, da pointere ikke har en måde at bekræfte autorisation i dem , hvilket grundlæggende giver alle adgang til applikationens hukommelse. Java, som vi sagde, bruger ikke pointere, idet den i stedet stoler på sine datastyringssystemer og interne hukommelse som en måde at beskytte dataene mod enhver uautoriseret adgang. Dette gør det stort set umuligt for hackere at infiltrere Java-applikationens hukommelse. Forståeligt nok er dette endnu en grund til, at Java er populært i virksomhedsudvikling,
  • Java-kompiler kontrollerer, registrerer og retter automatisk fejl i kode.
Automatisk kontrol af kode for fejl er en anden vigtig funktion ved Java, der gør det mere sikkert. Compileren tjekker koden, registrerer fejl, advarer programmøren om disse pile og foreslår måder at rette dem på. Dette forenkler igen programmørens arbejde, gør Java-applikationer meget mere stabile og i sidste ende reducerer udviklingsomkostningerne (årsag nummer 1 for stort set enhver virksomhed). Hvad angår sikkerhedsdelen af ​​det, minimerer dette også chancerne for, at ekstern ondsindet kode kommer ind i dit program og foretager uautoriserede ændringer af det.
  • Java udfører automatisk datatypekontrol.
Udover at tjekke kode for fejl, undersøger Java Compiler også automatisk variabler i koden for at sikre, at der ikke er sikkerhedsproblemer, der kan opstå fra dataindtastningsfejl i variabler. Dette er en anden måde at beskytte systemet mod infiltration og data fra at blive stjålet.

Hvilke Java-komponenter gør det rent faktisk sikkert?

Med hensyn til de specifikke Java-komponenter, der spiller den vigtigste rolle i dets sikkerhed, er her en hurtig liste bare for at give dig en klarere forståelse på et grundlæggende niveau af, hvordan det fungerer, og hvad der præcist gør Java sikkert.
  • Java Virtual Machine (JVM).
JVM, som er en virtuel maskine, der kører bytekode-repræsentation af et Java-program, spiller naturligvis en meget vigtig rolle i den overordnede sikkerhed i Java. Brug af JVM giver dig mulighed for at blokere enhver potentielt usikre operationer af et program.
  • Java Cryptography Architecture (JCA).
Java Cryptography Architecture er en ramme, der giver dig mulighed for at tilføje kryptografisk funktionalitet til Java-platformen. Brug af Java Cryptography Architecture garanterer, at dine data bliver krypteret og forbliver sikre.
  • Public Key Infrastructure (PKI).
Public Key Infrastructure er en anden ramme, som giver dig mulighed for at anvende public-key cryptography.for at opnå en sikker udveksling af data. Ved hjælp af PKI kan du knytte identiteter til digitale certifikater og verificere ægtheden af ​​certifikater, når det er nødvendigt.
  • Sikkerhedschef.
Sikkerhedsadministratoren i Java er dybest set en klasse, som tillader applikationer at implementere en sikkerhedspolitik, definerer sikkerhedspolitikken for dem og tillader en programmør at indstille et sikkerhedsniveau for en app.
  • Java sandkasse.
Java sandbox er et programområde til at køre Java-applets, som begrænser, hvad en applet kan gøre for at sikre, at den ikke kompromitterer sikkerheden og ikke kan komme til systemressourcer uden sikkerhedstjekket.

Meninger

Tror professionelle Java-udviklere med mange års erfaring, at dette sprog er sikkert? Her er et par citater. "Jeg vil sige, at Java ikke er sikkert som sådan (intet programmeringssprog er det), men JVM tilbyder funktioner, der giver sikkerhed. Så selvom Java ikke vil beskytte dig mod alting, vil det beskytte dig mod en hel klasse af problemer, som er forårsaget af bufferoverskridelser,” sagdeGarry Taylor, en erfaren programmør og CTO for Black Spark Media Company. "Java forbedrer sikkerheden ved at begrænse en applet til Java-udførelsesmiljøet og ikke give den adgang til andre dele af computeren. Evnen til at downloade applets med tillid til, at ingen skade vil ske, og at ingen sikkerhed vil blive brudt, anses af mange for at være det mest innovative aspekt af Java,” bemærkede Smit Prakash, en softwareingeniør hos IBM.

Resumé

Så er Java sikkert? Sammenfattende har Java helt sikkert en række fantastiske funktioner og indbyggede værktøjer, der gør det mere sikkert. Mange af disse funktioner spiller en vigtig rolle i Javas generelle popularitet, især på virksomhedsmarkedet, da de giver virksomheder mulighed for effektivt at beskytte deres data mod uautoriseret adgang, samtidig med at de automatiserer en række udviklingsprocesser, der ikke er automatiseret af andre sprog. Men lige så meget som vi elsker at prale af Java, og hvor fantastisk det er, er Java stadig langt fra at være helt sikkert. Faktisk er ingen af ​​programmeringssprogene helt sikre, og hver har sine egne styrker og svagheder (sårbarheder). Generelt betragtes Cat være det mest sårbare programmeringssprog derude. Java, på trods af at have en række gode sikkerhedsfunktioner beskrevet ovenfor, er stadig sårbare på serversiden og kan lide under udnyttelser, siger eksperter .
Kommentarer
  • Populær
  • Ny
  • Gammel
Du skal være logget ind for at skrive en kommentar
Denne side har ingen kommentarer endnu