CodeGym /Java-blogg /Tilfeldig /Sikkerhet først. Kalles Java et sikkert språk av en god g...
John Squirrels
Nivå
San Francisco

Sikkerhet først. Kalles Java et sikkert språk av en god grunn?

Publisert i gruppen
Det er mange gode ting med Java som programmeringsspråk. Den er elegant, men kraftig, tverrfunksjonell og plattformuavhengig. Med å være objektorientert og bærbar som det er mest nevnt styrker, har en annen stor fordel med Java en tendens til å forbli overskygget, så nykommere har ofte begrenset forståelse av alle fordelene ved å studere Java i stedet for et annet programmeringsspråk, for å gjøre det riktige valget. Har du noen gang hørt Java bli kalt et sikkert programmeringsspråk? Det er det, og med rette. Sikkerhet først.  Kalles Java et sikkert språk av en god grunn?  - 1 Så vi tenkte at det kanskje var på tide å kaste lys over dette, og forklare hvorfor Java kalles et sikkert språk og nøyaktig på hvilken måte det er sikkert.

Hva gjør Java til et sikkert språk?

Er Java trygt? Det er flere grunner til å kalle Java et sikkert programmeringsspråk, selv om å si at Java er sikrere sammenlignet med en rekke andre språk ville være den riktige måten å si det på siden disse funksjonene faktisk ikke gjør Java helt sikker, de bare hovedsakelig forbedre sikkerheten ved kjøring av Java-kode.
  • Bytekodebekreftelse.
Bytekodebekreftelse er en av kjernefunksjonene som sikrer sikkerheten til Java-kode. En bytekodeverifisering betyr at Java bruker en kompilator, som leser Java-kode og oversetter den til en maskinuavhengig bytekoderepresentasjon. Dette gjør det mulig å forsikre seg om at kun legitime bytekoder kjøres, og at ingen skadelig kode kan komme inn i systemet. Kompilatoren sjekker at bytekodene samsvarer med Java Language Specification og ikke bryter Java-språkregler eller navneromsbegrensninger. Koden blir også sjekket for en rekke andre 'røde flagg', som ulovlige datatypecasts, stack underflows og overflows, eller brudd på minneadministrasjon. For å forklare det på en enklere måte, er Java-programmer kompilert som bitekode, som deretter kjører inne i en virtuell maskin, og ikke får tilgang til datamaskinen den kjører på. Det gjør denne koden mye tryggere å bruke,
  • Automatisert minnehåndtering.
En annen viktig funksjon ved Java som et trygt språk er automatisk minnehåndtering og søppelinnsamling, som også er det som gjør Java til et mye enklere språk for en koder siden Java automatisk tar seg av alle interne minneproblemer og databehandlingssystemer. Dette gjør at programmereren ikke kan være bekymret for minneproblemer i det hele tatt når han lager et program, og fokuserer på andre viktige ting i stedet. Søppelhenting frigjør for eksempel automatisk minnet når dette er nødvendig. Forresten, en annen stor fordel med all denne administrasjonsautomatiseringen i Java er det faktum at den reduserer de totale utviklingskostnadene (siden en rekke viktige funksjoner og prosesser er automatisert).
  • Ingen pekepinner.
I motsetning til mange andre programmeringsspråk, for eksempel C og C+, som bruker pekerverdier for å administrere applikasjonsminne, er det ikke noe begrep om pekere i Java. Selv om pekere opprinnelig var utformet som et sikkerhetstiltak (for å beskytte private data fra tyver), kan pekere også være en stor sårbarhet i tilfeller der en slags ugjerningspersoner klarer å få tilgang til dem siden pekere ikke har en måte å bekrefte autorisasjon i dem. , slik at alle kan få tilgang til programmets minne. Java, som vi sa, bruker ikke pekere, og stoler på databehandlingssystemene og internminnet i stedet, som en måte å beskytte dataene mot uautorisert tilgang. Dette gjør det stort sett umulig for hackere å infiltrere Java-applikasjonens minne. Forståelig nok er dette en annen grunn til at Java er populært i bedriftsutvikling,
  • Java-kompilator sjekker, oppdager og fikser feil i kode automatisk.
Automatisk kontroll av kode for feil er en annen viktig funksjon i Java som gjør den sikrere. Kompilatoren sjekker koden, oppdager feil, advarer programmereren om disse pilene og foreslår måter å fikse dem på. Dette forenkler programmererens arbeid, gjør Java-applikasjoner mye mer stabile, og til slutt reduserer utviklingskostnadene (årsak nummer 1 for stort sett alle selskaper). Når det gjelder sikkerhetsdelen av det, minimerer dette også sjansene for at ekstern ondsinnet kode kommer inn i programmet ditt for å gjøre uautoriserte endringer i det.
  • Java utfører automatisk datatypekontroll.
I tillegg til å sjekke kode for feil, undersøker Java Compiler også automatisk variabler i koden, for å forsikre seg om at det ikke er noen sikkerhetsproblemer som kan oppstå fra datainntastingsfeil i variabler. Dette er en annen måte å beskytte systemet mot infiltrasjon og data fra å bli stjålet.

Hvilke Java-komponenter gjør det faktisk sikkert?

Når det gjelder de spesifikke Java-komponentene som spiller den viktigste rollen i sikkerheten, er her en rask liste bare for å gi deg en klarere forståelse, på et grunnleggende nivå, av hvordan det fungerer og hva som gjør Java sikkert.
  • Java Virtual Machine (JVM).
JVM, som er en virtuell maskin som kjører bytekode-representasjon av et Java-program, spiller åpenbart en veldig viktig rolle i den generelle sikkerheten til Java. Ved å bruke JVM kan du blokkere potensielt usikre operasjoner av et program.
  • Java Cryptography Architecture (JCA).
Java Cryptography Architecture er et rammeverk som lar deg legge til kryptografisk funksjonalitet for Java-plattformen. Bruk av Java Cryptography Architecture garanterer at dataene dine blir kryptert og forblir sikre.
  • Public Key Infrastructure (PKI).
Public Key Infrastructure er et annet rammeverk som lar deg bruke offentlig nøkkelkryptering.for å oppnå sikker utveksling av data. Ved å bruke PKI kan du knytte identiteter til digitale sertifikater, og verifisere ektheten til sertifikater når det er nødvendig.
  • Sikkerhetssjef.
Sikkerhetsadministratoren i Java er i utgangspunktet en klasse, som lar applikasjoner implementere en sikkerhetspolicy, definerer sikkerhetspolicyen for dem og lar en programmerer sette et sikkerhetsnivå for en app.
  • Java sandkasse.
Java sandbox er et programområde for å kjøre Java-appleter, som begrenser hva en applet kan gjøre for å sikre at den ikke kompromitterer sikkerheten og ikke kan komme til systemressurser uten sikkerhetssjekken.

Meninger

Tror profesjonelle Java-utviklere med mange års erfaring at dette språket er sikkert? Her er et par sitater. "Jeg vil si at Java ikke er sikkert som sådan (ingen programmeringsspråk er det), men JVM tilbyr funksjoner som gir sikkerhet. Så selv om Java ikke vil beskytte deg mot alt, vil det beskytte deg mot en hel klasse med problemer som er forårsaket av bufferoverskridelser," saGarry Taylor, en erfaren programmerer og CTO for Black Spark Media Company. "Java forbedrer sikkerheten ved å begrense en applet til Java-utførelsesmiljøet og ikke la den få tilgang til andre deler av datamaskinen. Muligheten til å laste ned appleter med tillit til at ingen skade vil bli gjort og at ingen sikkerhet vil bli brutt anses av mange for å være det mest innovative aspektet ved Java, sier Smit Prakash, en programvareingeniør hos IBM.

Sammendrag

Så, er Java sikkert? Oppsummert har Java definitivt en rekke flotte funksjoner og innebygde verktøy som gjør det sikrere. Mange av disse funksjonene spiller en viktig rolle i den generelle populariteten til Java, spesielt i bedriftsmarkedet, siden de lar bedrifter effektivt beskytte dataene sine mot uautorisert tilgang, samtidig som de automatiserer en rekke utviklingsprosesser som ikke er automatisert av andre språk. Men så mye som vi elsker å skryte av Java og hvor flott det er, er Java fortsatt langt fra å være helt sikkert. Faktisk er ingen av programmeringsspråkene helt sikre, og hvert av dem har sine egne styrker og svakheter (sårbarheter). Generelt sett vurderes Cå være det mest sårbare programmeringsspråket der ute. Java, til tross for at det har en rekke gode sikkerhetsfunksjoner beskrevet ovenfor, er fortsatt sårbart på serversiden, og kan lide av utnyttelser, sier eksperter .
Kommentarer
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION