CodeGym /Java Blogu /Rastgele /Önce güvenlik. Java'ya Güvenli Bir Dil Denmesinin İyi Bir...
John Squirrels
Seviye
San Francisco

Önce güvenlik. Java'ya Güvenli Bir Dil Denmesinin İyi Bir Nedeni Var mı?

grupta yayınlandı
Bir programlama dili olarak Java hakkında birçok iyi şey var. Zarif ama güçlü, işlevler arası ve platformdan bağımsızdır. En yaygın olarak bahsedilen güçlü yönler olarak nesne yönelimli ve taşınabilir olmasıyla, Java'nın bir başka büyük avantajı gölgede kalma eğilimindedir, bu nedenle yeni gelenler, doğru seçimi yapmak için başka bir programlama dili yerine Java öğrenmenin tüm faydaları konusunda genellikle sınırlı bir anlayışa sahiptir. Java'nın güvenli bir programlama dili olarak adlandırıldığını hiç duydunuz mu? Öyle ve haklı olarak öyle. Önce güvenlik.  Java'ya Güvenli Bir Dil Denmesinin İyi Bir Nedeni Var mı?  - 1 Bu nedenle, buna biraz ışık tutmanın ve Java'nın neden güvenli bir dil olarak adlandırıldığını ve tam olarak ne şekilde güvenli olduğunu açıklamanın zamanı geldiğini düşündük.

Java'yı güvenli bir dil yapan nedir?

Java güvenli mi? Java'yı güvenli bir programlama dili olarak adlandırmanın birkaç nedeni vardır, ancak Java'nın diğer bazı dillere kıyasla daha güvenli olduğunu söylemek doğru bir yol olsa da, bu özellikler aslında Java'yı kesinlikle güvenli yapmaz, Java kodunun yürütülmesinin güvenliğini artırın.
  • Bayt kodu doğrulaması.
Bayt kodu doğrulaması, Java kodunun güvenliğini sağlayan temel özelliklerden biridir. Bir bayt kodu doğrulaması, Java'nın Java kodunu okuyan ve onu makineden bağımsız bir bayt kodu temsiline çeviren bir derleyici kullanması anlamına gelir. Bu, yalnızca geçerli bayt kodlarının yürütüldüğünden ve sisteme hiçbir kötü amaçlı kodun giremeyeceğinden emin olmanızı sağlar. Derleyici, bayt kodlarının Java Dil Belirtimine uygun olup olmadığını ve Java dili kurallarını veya ad alanı kısıtlamalarını ihlal etmediğini kontrol eder. Kod ayrıca, yasa dışı veri yazımları, yığın taşmaları ve taşmaları veya bellek yönetimi ihlalleri gibi bir dizi başka 'tehlike işareti' açısından da kontrol edilir. Daha basit bir şekilde açıklamak gerekirse, Java programları, daha sonra sanal bir makine içinde çalışan ve üzerinde çalıştığı bilgisayara erişemeyen ısırık kodu olarak derlenir. Bu kodun kullanımını çok daha güvenli hale getirir,
  • Otomatik bellek yönetimi.
Güvenli bir dil olarak Java'nın bir diğer önemli özelliği de otomatik bellek yönetimi ve çöp toplamadır; bu aynı zamanda Java'yı bir kodlayıcı için çok daha kolay bir dil haline getirir, çünkü Java tüm dahili bellek sorunları ve veri yönetimi sistemlerini otomatik olarak halleder. Bu, programcının bir program oluştururken bellek sorunlarıyla hiç ilgilenmemesine ve bunun yerine diğer önemli şeylere odaklanmasına olanak tanır. Örneğin çöp toplama, gerektiğinde belleği otomatik olarak boşaltır. Bu arada, Java'daki tüm bu yönetim otomasyonunun bir diğer önemli avantajı da genel geliştirme maliyetlerini düşürmesidir (çünkü bir dizi önemli işlev ve süreç otomatikleştirilmiştir).
  • İşaretçi yok.
Uygulama belleğini yönetmek için işaretçi değerleri kullanan diğer birçok programlama dilinin (örneğin C ve C+) aksine, Java'da işaretçi kavramı yoktur. Başlangıçta bir güvenlik önlemi olarak tasarlanmış olsalar da (özel verileri hırsızlardan korumak için), işaretçiler aynı zamanda, bazı kötü niyetli kişiler bunlara erişmeyi başardığında, işaretçilerin içindeki yetkilendirmeyi doğrulamak için bir yolu olmadığından, büyük bir güvenlik açığı olabilir. , temel olarak herkesin uygulamanın belleğine erişmesine izin verir. Java, söylediğimiz gibi, verileri herhangi bir yetkisiz erişimden korumanın bir yolu olarak, işaretçiler kullanmaz, bunun yerine veri yönetim sistemlerine ve dahili belleğine güvenir. Bu, bilgisayar korsanlarının Java uygulamasının belleğine sızmasını neredeyse imkansız hale getirir. Anlaşılır bir şekilde, Java'nın kurumsal geliştirmede popüler olmasının bir başka nedeni de budur.
  • Java derleyicisi, koddaki hataları otomatik olarak kontrol eder, algılar ve düzeltir.
Hatalar için kodun otomatik olarak denetlenmesi, Java'yı daha güvenli kılan bir diğer önemli özelliğidir. Derleyici kodu kontrol eder, hataları tespit eder, programcıyı bu oklar hakkında uyarır ve bunları düzeltmenin yollarını önerir. Bu, yine programcının işini basitleştirir, Java uygulamalarını çok daha kararlı hale getirir ve nihayetinde geliştirme maliyetlerini azaltır (hemen hemen her şirket için 1 numaralı neden). Güvenlik kısmına gelince, bu aynı zamanda harici kötü amaçlı kodun programınıza girerek yetkisiz değişiklikler yapma şansını da en aza indirir.
  • Java, otomatik veri türü denetimi yapar.
Java Compiler, kodda hata olup olmadığını kontrol etmenin yanı sıra, değişkenlerdeki veri girişi hatalarından kaynaklanabilecek güvenlik endişeleri olmadığından emin olmak için koddaki değişkenleri de otomatik olarak inceler. Bu, sistemi sızmaya ve verilerin çalınmasına karşı korumanın başka bir yoludur.

Hangi Java bileşenleri onu gerçekten güvenli kılıyor?

Güvenliğinde en önemli rolü oynayan belirli Java bileşenlerine gelince, temel düzeyde nasıl çalıştığını ve Java'yı tam olarak neyin güvenli kıldığını daha net bir şekilde anlamanız için kısa bir listeyi burada bulabilirsiniz.
  • Java Sanal Makinesi (JVM).
Bir Java programının bayt kodu temsilini çalıştıran sanal bir makine olan JVM, Java'nın genel güvenliğinde açıkça çok önemli bir rol oynar. JVM'yi kullanmak, bir programın potansiyel olarak güvenli olmayan işlemlerini engellemenizi sağlar.
  • Java Şifreleme Mimarisi (JCA).
Java Şifreleme Mimarisi, Java platformu için kriptografik işlevsellik eklemenize izin veren bir çerçevedir. Java Şifreleme Mimarisini kullanmak, verilerinizin şifreleneceğini ve güvende kalacağını garanti eder.
  • Açık Anahtar Altyapısı (PKI).
Açık Anahtar Altyapısı, güvenli bir veri alışverişi elde etmek için açık anahtar şifrelemesi uygulamanıza izin veren başka bir çerçevedir. PKI kullanarak kimlikleri dijital sertifikalara bağlayabilir ve gerektiğinde sertifikaların gerçekliğini doğrulayabilirsiniz.
  • Güvenlik Müdürü.
Java'daki güvenlik yöneticisi, temel olarak uygulamaların bir güvenlik ilkesi uygulamasına izin veren, onlar için güvenlik ilkesini tanımlayan ve bir programcının bir uygulama için bir güvenlik düzeyi belirlemesine izin veren bir sınıftır.
  • Java Korumalı Alanı.
Java sanal alanı, Java uygulamalarını çalıştırmak için bir program alanıdır ve bir uygulamanın güvenlikten ödün vermeyeceğinden ve güvenlik kontrolü olmadan sistem kaynaklarına ulaşamayacağından emin olmak için neler yapabileceğini kısıtlar.

Görüşler

Yılların deneyimine sahip profesyonel Java geliştiricileri bu dilin güvenli olduğuna inanıyor mu? İşte birkaç alıntı. "Java'nın bu kadar güvenli olmadığını söyleyebilirim (hiçbir programlama dili değildir), ancak JVM güvenlik sağlayan özellikler sunar. Bu nedenle, Java sizi her şeyden korumasa da, arabellek taşmalarının neden olduğu bir dizi sorundan koruyacaktır” dedi .Deneyimli bir programcı ve Black Spark Media şirketinin CTO'su Garry Taylor. “Java, bir uygulamayı Java yürütme ortamıyla sınırlayarak ve bilgisayarın diğer bölümlerine erişmesine izin vermeyerek güvenliği artırır. IBM'de bir yazılım mühendisi olan Smit Prakash, pek çok kişi tarafından Java'nın tek ve en yenilikçi yönü olarak, hiçbir zarar verilmeyeceğinden ve hiçbir güvenliğin ihlal edilmeyeceğinden emin olarak uygulamaları indirme yeteneği olarak görülüyor.

Özet

Peki, Java güvenli mi? Özetle, Java kesinlikle onu daha güvenli hale getiren bir dizi harika özelliğe ve yerleşik araçlara sahiptir. Bu özelliklerin çoğu, şirketlerin verilerini yetkisiz erişime karşı etkili bir şekilde korumalarına olanak tanırken, diğer diller tarafından otomatikleştirilmemiş bir dizi geliştirme sürecini otomatikleştirdiklerinden, özellikle kurumsal pazarda Java'nın genel popülaritesinde önemli bir rol oynamaktadır. Ancak, Java ve ne kadar harika olduğu hakkında övünmeyi ne kadar sevsek de, Java hala tamamen güvenli olmaktan uzaktır. Aslında, programlama dillerinin hiçbiri tam olarak güvenli değildir, her birinin kendi güçlü ve zayıf yönleri (güvenlik açıkları) vardır. Genel olarak konuşursak, C kabul edilirorada en savunmasız programlama dili olmak. Uzmanlara göre Java, yukarıda açıklanan bir dizi harika güvenlik özelliğine sahip olmasına rağmen, sunucu tarafında hala savunmasızdır ve açıklardan zarar görebilir .
Yorumlar
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION