CodeGym /Java blog /Véletlen /Első a biztonság. Jó okkal nevezik a Java-t biztonságos n...
John Squirrels
Szint
San Francisco

Első a biztonság. Jó okkal nevezik a Java-t biztonságos nyelvnek?

Megjelent a csoportban
Sok jó dolog van a Java-ban, mint programozási nyelvben. Elegáns, mégis erőteljes, többfunkciós és platformfüggetlen. Mivel az objektum-orientált és hordozható, mint a legszélesebb körben emlegetett erősségei, a Java másik jelentős előnye általában háttérbe szorul, így az újoncok gyakran csak korlátozottan értik a Java tanulmányozásának előnyeit egy másik programozási nyelv helyett, hogy helyesen válasszanak. Hallottad már, hogy a Java-t biztonságos programozási nyelvnek nevezik? Így van, és jogosan. Első a biztonság.  Jó okkal nevezik a Java-t biztonságos nyelvnek?  - 1 Ezért úgy gondoltuk, hogy itt az ideje, hogy rávilágítsunk erre, és elmagyarázzuk, miért nevezik a Java-t biztonságos nyelvnek, és pontosan milyen módon biztonságos.

Mitől a Java biztonságos nyelv?

Biztonságos a Java? Számos oka van annak, hogy a Java-t biztonságos programozási nyelvnek nevezzük, bár azt mondanám, hogy a Java biztonságosabb számos más nyelvhez képest, mivel ezek a szolgáltatások valójában nem teszik teljesen biztonságossá a Java-t, csak főként. javítja a Java kód végrehajtásának biztonságát.
  • Bytecode ellenőrzés.
A bájtkód-ellenőrzés a Java kód biztonságát biztosító egyik alapvető funkció. A bájtkód-ellenőrzés azt jelenti, hogy a Java fordítót használ, amely beolvassa a Java kódot és lefordítja azt egy gépfüggetlen bájtkód-reprezentációra. Ez lehetővé teszi annak biztosítását, hogy csak a legális bájtkódok kerüljenek végrehajtásra, és nem kerülhet be rosszindulatú kód a rendszerbe. A fordító ellenőrzi, hogy a bájtkódok megfelelnek-e a Java nyelvi specifikációnak, és nem sértik-e a Java nyelvi szabályokat vagy névtér-korlátozásokat. A kódot számos más „vörös zászló”-ra is ellenőrzik, mint például az illegális adattípusadások, verem alul- és túlcsordulások vagy memóriakezelési megsértések. Az egyszerűbb magyarázat érdekében a Java programokat bites kódként fordítják le, amely aztán egy virtuális gépen belül fut, és nem fér hozzá a számítógéphez, amelyen fut. Ez sokkal biztonságosabbá teszi a kód használatát,
  • Automatizált memóriakezelés.
A Java, mint biztonságos nyelv másik fontos jellemzője az automatikus memóriakezelés és a szemétgyűjtés, ami egyben a Java nyelvet is sokkal könnyebbé teszi a kódolók számára, mivel a Java automatikusan gondoskodik az összes belső memóriaproblémáról és adatkezelő rendszerről. Ez lehetővé teszi a programozó számára, hogy a program létrehozásakor egyáltalán ne aggódjon a memóriaproblémák miatt, hanem más fontos dolgokra összpontosítson. A szemétgyűjtés például automatikusan felszabadítja a memóriát, amikor erre szükség van. Mellesleg a Java felügyeleti automatizálásának másik jelentős előnye az, hogy csökkenti a teljes fejlesztési költségeket (mivel számos fontos funkció és folyamat automatizált).
  • Nincsenek mutatók.
Sok más programozási nyelvtől eltérően, például a C és C+, amelyek mutatóértékeket használnak az alkalmazásmemória kezelésére, a Java-ban nincs mutató fogalma. Bár eredetileg biztonsági intézkedésnek tervezték (a személyes adatok tolvajoktól való védelmére), a mutatók komoly sebezhetőséget jelenthetnek abban az esetben is, ha valamilyen rosszindulatúaknak sikerül hozzájutniuk, mivel a mutatók nem tudják ellenőrizni bennük a jogosultságot. , ami gyakorlatilag lehetővé teszi, hogy bárki hozzáférjen az alkalmazás memóriájához. A Java, mint mondtuk, nem használ mutatókat, hanem adatkezelő rendszereire és belső memóriájára támaszkodik, hogy megvédje az adatokat az illetéktelen hozzáféréstől. Ez gyakorlatilag lehetetlenné teszi a hackerek számára, hogy behatoljanak a Java alkalmazás memóriájába. Érthető, hogy ez egy másik oka annak, hogy a Java népszerű a vállalati fejlesztésekben,
  • A Java fordító automatikusan ellenőrzi, észleli és kijavítja a kód hibáit.
A kód automatikus ellenőrzése a hibák szempontjából a Java másik fontos funkciója, amely biztonságosabbá teszi. A fordító ellenőrzi a kódot, észleli a hibákat, figyelmezteti a programozót ezekre a nyilakra, és javaslatokat tesz a javításukra. Ez ismét leegyszerűsíti a programozó munkáját, sokkal stabilabbá teszi a Java-alkalmazásokat, és végső soron csökkenti a fejlesztési költségeket (az 1-es ok szinte minden cégnél). Ami a biztonsági részét illeti, ez minimálisra csökkenti annak esélyét, hogy külső rosszindulatú kód kerüljön be a programba, amely jogosulatlan módosításokat hajt végre rajta.
  • A Java automatikus adattípus-ellenőrzést végez.
A kód hibáinak ellenőrzése mellett a Java Compiler automatikusan megvizsgálja a kódban lévő változókat is, hogy megbizonyosodjon arról, hogy nincsenek biztonsági aggályok, amelyek a változók adatbeviteli hibáiból származhatnak. Ez egy másik módja annak, hogy megvédje a rendszert a behatolástól és az adatok ellopásától.

Valójában mely Java összetevők teszik biztonságossá?

Ami a biztonságában legfontosabb szerepet játszó speciális Java-összetevőket illeti, itt egy gyors lista, hogy alapszinten jobban megértse, hogyan működik, és pontosan mi teszi biztonságossá a Java-t.
  • Java virtuális gép (JVM).
A JVM, mint egy virtuális gép, amely egy Java program bájtkódos megjelenítését futtatja, nyilvánvalóan nagyon fontos szerepet játszik a Java általános biztonságában. A JVM használatával blokkolhatja a programok potenciálisan nem biztonságos műveleteit.
  • Java Cryptography Architecture (JCA).
A Java Cryptography Architecture egy olyan keretrendszer, amely lehetővé teszi kriptográfiai funkciók hozzáadását a Java platformhoz. A Java Cryptography Architecture használata garantálja, hogy adatai titkosítva lesznek, és biztonságban maradnak.
  • Nyilvános kulcsú infrastruktúra (PKI).
A nyilvános kulcsú infrastruktúra egy másik keretrendszer, amely lehetővé teszi a nyilvános kulcsú kriptográfia alkalmazását a biztonságos adatcsere elérése érdekében. A PKI használatával személyazonosságokat köthet digitális tanúsítványokhoz, és szükség esetén ellenőrizheti a tanúsítványok hitelességét.
  • Biztonsági vezető.
A Java biztonsági kezelője alapvetően egy osztály, amely lehetővé teszi az alkalmazások számára, hogy biztonsági szabályzatot hajtsanak végre, meghatározza számukra a biztonsági szabályzatot, és lehetővé teszi a programozó számára, hogy biztonsági szintet állítson be egy alkalmazáshoz.
  • Java Sandbox.
A Java sandbox a Java kisalkalmazások futtatására szolgáló programterület, amely korlátozza, hogy egy kisalkalmazás mit tehet annak érdekében, hogy ne veszélyeztesse a biztonságot, és ne férhessen hozzá a rendszererőforrásokhoz a biztonsági ellenőrzés nélkül.

Vélemények

A több éves tapasztalattal rendelkező professzionális Java-fejlesztők azt hiszik, hogy ez a nyelv biztonságos? Íme egy-két idézet. „Azt mondanám, hogy a Java önmagában nem biztonságos (egyetlen programozási nyelv sem az), de a JVM olyan funkciókat kínál, amelyek biztonságot nyújtanak. Tehát bár a Java nem véd meg mindentől, a puffertúllépések által okozott problémák egész osztályától megvédi.Garry Taylor, tapasztalt programozó és a Black Spark Media cég műszaki igazgatója. „A Java javítja a biztonságot azáltal, hogy egy kisalkalmazást a Java végrehajtási környezetre korlátoz, és nem engedi hozzáférni a számítógép más részeihez. Sokak szerint a Java leginnovatívabb aspektusa a kisalkalmazások biztonságos letöltése abban, hogy nem történik kár, és nem sértik meg a biztonságot” – jegyezte meg Smit Prakash, az IBM szoftvermérnöke.

Összegzés

Tehát a Java biztonságos? Összefoglalva, a Java határozottan számos nagyszerű funkcióval és beépített eszközzel rendelkezik, amelyek biztonságosabbá teszik. Ezen funkciók közül sok fontos szerepet játszik a Java általános népszerűségében, különösen a vállalati piacon, mivel lehetővé teszik a vállalatok számára, hogy hatékonyan védjék adataikat az illetéktelen hozzáféréstől, miközben számos olyan fejlesztési folyamatot is automatizálnak, amelyeket más nyelvek nem automatizálnak. De bármennyire is szeretünk dicsekedni a Java-val és annak nagyszerűségével, a Java még mindig messze van attól, hogy teljesen biztonságos. Valójában egyik programozási nyelv sem teljesen biztonságos, mindegyiknek megvannak a maga erősségei és gyengeségei (sérülékenységei). Általánosságban elmondható, hogy a C-t tekintjükhogy a legsebezhetőbb programozási nyelv legyen. A Java, annak ellenére, hogy számos fent leírt nagyszerű biztonsági funkcióval rendelkezik, továbbra is sérülékeny a szerver oldalon, és kizsákmányolható, mondják a szakértők .
Hozzászólások
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION