CodeGym /Java Blog /यादृच्छिक /आधी सुरक्षा. जावाला चांगल्या कारणासाठी सुरक्षित भाषा म्हट...
John Squirrels
पातळी 41
San Francisco

आधी सुरक्षा. जावाला चांगल्या कारणासाठी सुरक्षित भाषा म्हटले जाते का?

यादृच्छिक या ग्रुपमध्ये प्रकाशित केले
प्रोग्रामिंग भाषा म्हणून Java बद्दल बर्‍याच चांगल्या गोष्टी आहेत. हे मोहक तरीही शक्तिशाली, क्रॉस-फंक्शनल आणि प्लॅटफॉर्म-स्वतंत्र आहे. ऑब्जेक्ट-ओरिएंटेड आणि पोर्टेबल असल्‍याने त्‍याच्‍या सामर्थ्‍यांचा मोठ्या प्रमाणावर उल्‍लेख केला जातो, Java चा आणखी एक मोठा फायदा झाल्‍याचा असतो, त्यामुळे नवोदितांना बर्‍याचदा इतर प्रोग्रॅमिंग भाषेऐवजी Java चा अभ्यास करण्‍याच्‍या सर्व फायद्यांची मर्यादित समज असते, योग्य निवड करण्‍यासाठी. जावा ला सुरक्षित प्रोग्रामिंग भाषा म्हटले जात असल्याचे तुम्ही कधी ऐकले आहे का? ते आहे, आणि यथायोग्य. आधी सुरक्षा.  जावाला चांगल्या कारणासाठी सुरक्षित भाषा म्हटले जाते का?  - १ म्हणून आम्हाला वाटले की यावर थोडा प्रकाश टाकण्याची आणि जावाला सुरक्षित भाषा का म्हणतात आणि ती नेमकी कोणत्या प्रकारे सुरक्षित आहे हे स्पष्ट करण्याची हीच वेळ आहे.

Java ला सुरक्षित भाषा कशामुळे बनते?

Java सुरक्षित आहे का? Java ला सुरक्षित प्रोग्रामिंग भाषा म्हणण्याची अनेक कारणे आहेत, जरी इतर अनेक भाषांच्या तुलनेत Java अधिक सुरक्षित आहे असे म्हणणे हा योग्य मार्ग असेल कारण ही वैशिष्ट्ये Java पूर्णपणे सुरक्षित करत नाहीत, ते फक्त मुख्यतः Java कोड अंमलबजावणीची सुरक्षितता सुधारणे.
  • बाइटकोड सत्यापन.
बाइटकोड पडताळणी हे जावा कोडची सुरक्षितता सुनिश्चित करणार्‍या मुख्य वैशिष्ट्यांपैकी एक आहे. बाइटकोड पडताळणीचा अर्थ असा आहे की जावा कंपाइलर वापरतो, जो Java कोड वाचतो आणि त्याचे मशीन-स्वतंत्र बायकोड प्रतिनिधित्वामध्ये भाषांतर करतो. हे केवळ कायदेशीर बायकोड कार्यान्वित आहेत याची खात्री करण्यास अनुमती देते आणि कोणताही दुर्भावनायुक्त कोड सिस्टममध्ये प्रवेश करू शकत नाही. कंपाइलर तपासतो की बायकोड्स जावा लँग्वेज स्पेसिफिकेशनशी सुसंगत आहेत आणि Java भाषेच्या नियमांचे किंवा नेमस्पेस निर्बंधांचे उल्लंघन करत नाहीत. बेकायदेशीर डेटा टाइपकास्ट, स्टॅक अंडरफ्लो आणि ओव्हरफ्लो किंवा मेमरी व्यवस्थापन उल्लंघनासारख्या इतर अनेक 'रेड फ्लॅग'साठी देखील कोड तपासला जातो. हे सोप्या पद्धतीने समजावून सांगण्यासाठी, जावा प्रोग्राम्स बाईट कोड म्हणून संकलित केले जातात, जे नंतर व्हर्च्युअल मशीनमध्ये चालतात आणि ते ज्या संगणकावर चालतात त्यामध्ये प्रवेश करू शकत नाहीत. हे कोड वापरण्यास अधिक सुरक्षित करते,
  • स्वयंचलित मेमरी व्यवस्थापन.
सुरक्षित भाषा म्हणून Java चे आणखी एक महत्त्वाचे वैशिष्ट्य म्हणजे स्वयंचलित मेमरी व्यवस्थापन आणि कचरा संकलन, जे Java ला कोडरसाठी खूप सोपी भाषा बनवते कारण Java स्वयंचलितपणे सर्व अंतर्गत मेमरी समस्या आणि डेटा व्यवस्थापन प्रणालीची काळजी घेते. हे प्रोग्रामरला प्रोग्राम तयार करताना मेमरी समस्यांबद्दल अजिबात काळजी करू शकत नाही, त्याऐवजी इतर महत्त्वाच्या गोष्टींवर लक्ष केंद्रित करू शकते. कचरा संकलन, उदाहरणार्थ, जेव्हा हे आवश्यक असेल तेव्हा मेमरी स्वयंचलितपणे मुक्त करते. तसे, Java मधील या सर्व व्यवस्थापन ऑटोमेशनचा आणखी एक महत्त्वाचा फायदा म्हणजे तो एकूण विकास खर्च कमी करतो (अनेक महत्त्वाची कार्ये आणि प्रक्रिया स्वयंचलित असल्यामुळे).
  • कोणतेही सूचक नाहीत.
इतर अनेक प्रोग्रामिंग भाषांप्रमाणे, C आणि C+ उदाहरणार्थ, जे अनुप्रयोग मेमरी व्यवस्थापित करण्यासाठी पॉइंटर मूल्ये वापरतात, Java मध्ये पॉइंटरची कोणतीही संकल्पना नाही. जरी मूलतः सुरक्षा उपाय म्हणून (चोरांपासून खाजगी डेटाचे संरक्षण करण्यासाठी) डिझाइन केलेले असले तरी, पॉइंटर देखील त्या बाबतीत एक मोठी असुरक्षा असू शकतात जेव्हा काही प्रकारचे दुष्कर्म त्यांच्यापर्यंत प्रवेश मिळवण्यास व्यवस्थापित करतात कारण पॉइंटरकडे अधिकृतता सत्यापित करण्याचा मार्ग नसतो. , मुळात कोणासही ऍप्लिकेशनच्या मेमरीमध्ये प्रवेश करण्याची परवानगी देते. जावा, आम्ही म्हटल्याप्रमाणे, कोणत्याही अनधिकृत प्रवेशापासून डेटाचे संरक्षण करण्याचा मार्ग म्हणून, त्याच्या डेटा व्यवस्थापन प्रणाली आणि अंतर्गत मेमरीवर अवलंबून राहून पॉइंटर वापरत नाही. यामुळे हॅकर्सना Java ऍप्लिकेशनच्या मेमरीमध्ये घुसखोरी करणे अशक्य होते. जावा एंटरप्राइझ डेव्हलपमेंटमध्ये लोकप्रिय होण्याचे हे आणखी एक कारण आहे,
  • Java कंपाइलर आपोआप कोडमधील त्रुटी तपासतो, शोधतो आणि दुरुस्त करतो.
त्रुटींसाठी कोडची स्वयंचलित तपासणी हे Java चे आणखी एक महत्त्वाचे वैशिष्ट्य आहे जे ते अधिक सुरक्षित करते. कंपाइलर कोड तपासतो, त्रुटी शोधतो, प्रोग्रामरला या बाणांबद्दल चेतावणी देतो आणि त्यांचे निराकरण करण्याचे मार्ग सुचवतो. हे, पुन्हा, प्रोग्रामरचे कार्य सुलभ करते, Java ऍप्लिकेशन्सला अधिक स्थिर बनवते आणि शेवटी, विकास खर्च कमी करते (बऱ्याच प्रमाणात कोणत्याही कंपनीसाठी कारण क्रमांक 1). त्याच्या सुरक्षेच्या भागासाठी, हे आपल्या प्रोग्राममध्ये अनधिकृत बदल करून बाह्य दुर्भावनायुक्त कोड प्रविष्ट करण्याची शक्यता देखील कमी करते.
  • Java स्वयंचलित डेटा प्रकार तपासते.
त्रुटींसाठी कोड तपासण्याव्यतिरिक्त, जावा कंपाइलर कोडमधील व्हेरिएबल्सचे आपोआप परीक्षण करते, व्हेरिएबल्समधील डेटा एंट्री चुकांमुळे उद्भवू शकणार्‍या कोणत्याही सुरक्षिततेच्या समस्या नाहीत याची खात्री करण्यासाठी. घुसखोरी आणि डेटा चोरी होण्यापासून सिस्टमचे संरक्षण करण्याचा हा आणखी एक मार्ग आहे.

जावाचे कोणते घटक प्रत्यक्षात सुरक्षित करतात?

त्याच्या सुरक्षिततेमध्ये सर्वात महत्त्वाची भूमिका बजावणाऱ्या विशिष्ट Java घटकांसाठी, ते कसे कार्य करते आणि Java नक्की कशामुळे सुरक्षित बनवते याविषयी, मूलभूत स्तरावर, तुम्हाला स्पष्ट समज देण्यासाठी येथे एक द्रुत सूची आहे.
  • जावा व्हर्च्युअल मशीन (JVM).
JVM, जावा प्रोग्रॅमचे बायकोड प्रतिनिधित्व चालवणारे व्हर्च्युअल मशीन असल्याने, जावाच्या एकूण सुरक्षिततेमध्ये अतिशय महत्त्वाची भूमिका बजावते. JVM वापरल्याने तुम्हाला प्रोग्रॅमचे कोणतेही संभाव्य असुरक्षित ऑपरेशन ब्लॉक करण्याची परवानगी मिळते.
  • जावा क्रिप्टोग्राफी आर्किटेक्चर (JCA).
Java क्रिप्टोग्राफी आर्किटेक्चर हे एक फ्रेमवर्क आहे जे तुम्हाला Java प्लॅटफॉर्मसाठी क्रिप्टोग्राफिक कार्यक्षमता जोडण्याची परवानगी देते. Java क्रिप्टोग्राफी आर्किटेक्चर वापरल्याने तुमचा डेटा एनक्रिप्ट केला जाईल आणि सुरक्षित राहील याची हमी देते.
  • सार्वजनिक की पायाभूत सुविधा (PKI).
पब्लिक की इन्फ्रास्ट्रक्चर ही दुसरी फ्रेमवर्क आहे, जी तुम्हाला डेटाची सुरक्षित देवाणघेवाण करण्यासाठी सार्वजनिक-की क्रिप्टोग्राफी लागू करण्याची परवानगी देते. PKI वापरून, तुम्ही डिजिटल प्रमाणपत्रांना ओळख बांधू शकता आणि जेव्हा गरज असेल तेव्हा प्रमाणपत्रांची सत्यता पडताळू शकता.
  • सुरक्षा व्यवस्थापक.
Java मधील सिक्युरिटी मॅनेजर हा मुळात एक वर्ग आहे, जो अॅप्लिकेशन्सना सुरक्षा धोरण लागू करण्यास अनुमती देतो, त्यांच्यासाठी सुरक्षा धोरण परिभाषित करतो आणि प्रोग्रामरला अॅपसाठी सुरक्षा स्तर सेट करण्याची परवानगी देतो.
  • जावा सँडबॉक्स.
Java सँडबॉक्स हे Java ऍपलेट चालविण्यासाठी एक प्रोग्राम क्षेत्र आहे, जे ऍपलेट सुरक्षिततेशी तडजोड करणार नाही आणि सुरक्षा तपासणीशिवाय सिस्टम संसाधनांवर जाऊ शकत नाही याची खात्री करण्यासाठी काय करू शकते यावर प्रतिबंधित करते.

मते

अनेक वर्षांचा अनुभव असलेले व्यावसायिक जावा विकसक ही भाषा सुरक्षित असल्याचे मानतात का? येथे काही कोट आहेत. “मी असे म्हणेन की जावा सुरक्षित नाही (कोणतीही प्रोग्रामिंग भाषा नाही), परंतु JVM सुरक्षा प्रदान करणारी वैशिष्ट्ये ऑफर करते. त्यामुळे जावा तुमचे सर्व गोष्टींपासून संरक्षण करणार नाही, तर ते तुम्हाला बफर ओव्हररन्समुळे उद्भवणार्‍या समस्यांच्या संपूर्ण श्रेणीपासून संरक्षण करेल, ” म्हणाले.गॅरी टेलर, अनुभवी प्रोग्रामर आणि ब्लॅक स्पार्क मीडिया कंपनीचे सीटीओ. “जावा ऍपलेटला Java एक्झिक्युशन वातावरणात बंदिस्त करून आणि संगणकाच्या इतर भागांमध्ये प्रवेश करण्याची परवानगी न देऊन सुरक्षा सुधारते. कोणतीही हानी होणार नाही आणि कोणत्याही सुरक्षेचा भंग होणार नाही या आत्मविश्वासाने ऍपलेट डाउनलोड करण्याची क्षमता ही जावाची एकच सर्वात नाविन्यपूर्ण बाब मानली जाते,” IBM मधील सॉफ्टवेअर अभियंता स्मित प्रकाश यांनी नमूद केले.

सारांश

तर, जावा सुरक्षित आहे का? याचा सारांश, Java मध्ये निश्चितपणे अनेक उत्कृष्ट वैशिष्ट्ये आणि अंगभूत साधने आहेत जी ते अधिक सुरक्षित करतात. यापैकी अनेक वैशिष्ट्ये Java च्या एकंदर लोकप्रियतेमध्ये, विशेषत: एंटरप्राइझ मार्केटमध्ये महत्त्वाची भूमिका बजावतात, कारण ते कंपन्यांना त्यांचा डेटा अनधिकृत प्रवेशापासून प्रभावीपणे संरक्षित करण्याची परवानगी देतात, तसेच इतर भाषांद्वारे स्वयंचलित नसलेल्या अनेक विकास प्रक्रिया स्वयंचलित करतात. परंतु, जावाबद्दल फुशारकी मारायला आम्हाला जितके आवडते आणि ते किती महान आहे, जावा अजूनही पूर्णपणे सुरक्षित होण्यापासून दूर आहे. खरं तर, कोणतीही प्रोग्रामिंग भाषा पूर्णपणे सुरक्षित नाही, प्रत्येकाची स्वतःची ताकद आणि कमकुवतता (असुरक्षा) आहेत. सर्वसाधारणपणे, सी मानले जातेतेथे सर्वात असुरक्षित प्रोग्रामिंग भाषा असणे. जावा, वर वर्णन केलेली अनेक उत्तम सुरक्षा वैशिष्ट्ये असूनही, सर्व्हर-साइडवर अजूनही असुरक्षित आहे आणि शोषणाचा त्रास होऊ शकतो, तज्ञ म्हणतात .
टिप्पण्या
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION