Google, Chromium’da Rust kullanımını destekleyecek


Google, tarayıcılar için bellek güvenliğinde bir adım öne çıkan Chromium’da üçüncü taraf Rust kitaplıklarının kullanımını destekleyeceğini duyurdu.

Chrome güvenlik ekibi tarafından hazırlanan bir blogda, Chromium projesinin Chromium’da C++’tan üçüncü taraf Rust kitaplıklarının kullanımını destekleyeceğini öğrendik.

Bu iyi bir haber çünkü Rust, bellek açısından güvenli bir programlama dilidir. Dolayısıyla, Chrome ve Chromium ailesinin diğer üyeleri gibi yaygın bir programda kullanmak, bu adımdan neredeyse herkesin yararlanabileceği anlamına gelir.

Google’ın kendi Chrome tarayıcısının yanı sıra Microsoft Edge, Opera ve diğer pek çok tarayıcı Chromium kodunu temel alır. Bildirildiğine göre, Chromium tarayıcı kod tabanında 36 programlama dilinde 25 milyondan fazla kod satırı var.

Pas

Rust bir topluluk projesidir ve ürün, bellek güvenliğini sağlayan üst düzey, genel amaçlı bir programlama dilidir. Rust, 2006 yılında Servo tarayıcı motorunun geliştirilmesinin bir parçası olarak Mozilla Araştırma çalışanı Graydon Hoare tarafından kişisel bir proje olarak başladı. Ardından Şubat 2021’de Servo ekibi dağıtıldı ve beş kurucu şirketi (AWS, Huawei, Google, Microsoft ve Mozilla) tarafından Rust Foundation duyuruldu.

Rust, bellek açısından güvenli olacak şekilde tasarlanmıştır, çünkü zayıf bellek yönetimi, çok uzun süredir çok sayıda güvenlik açığının temel nedeni olmuştur. Sadece birkaç ay önce, NSA bellek açısından güvenli programlama dillerine geçiş çağrısında bulundu.

Bellek açıkları

Güvenlik açıklarını açıklayan yazılarımızı okursanız, “arabellek taşması”, “belleği serbest bırakamama”, “boşalttıktan sonra kullan”, “bellek bozulması” ve “bellek sızıntısı” gibi birçok ifade göreceksiniz. Bunların hepsi bellek yönetimi sorunlarıdır. Bellek yönetimi sorunlarını önlemenin en iyi yolu, bir programcının her şeyi doğru şekilde kodlamasına güvenmek yerine belleği otomatik olarak yöneten, bellek açısından güvenli bir dil kullanmaktır.

Android’de güvenli bellek dillerinin kullanıma sunulmasının etkileriyle ilgili daha önceki bir makalede, Android’de bellek güvenliği açıklarında istikrarlı bir düşüş olduğunu göstermiştik. Android işletim sisteminin geliştirilmesinde Kotlin, Java, Rust gibi hafıza güvenliği olmayan dillerin kullanılmaya başlanmasıyla birlikte C ve C++ ile kodlanan, arka planda her şeyi birbirine bağlayan yazılıma olan katkılar oldukça azaldı.

iki kuralı

Google’ın Chromium’da Rust kitaplıklarının kullanımına izin verme hedefi, geliştirmeyi hızlandırmak ve Chrome’un güvenliğini artırmak için iki kuralını yerine getirmenin daha basit ve daha güvenli bir yolunu sağlamaktır.

İki kuralı aşağıdaki resimde gösterilmektedir:

iki venn diyagramının kuralı

Resim Google’ın izniyle

Bu muhtemelen güvenli olmayan koşullardan ikiden fazlasını seçmemeyi söylüyor:

  • güvenilir olmayan girdiler
  • güvenli olmayan uygulama dili
  • yüksek ayrıcalık

“Güvenli olmayan bir dilde yazılmış kod” faktörünü mümkün olan her yerde ortadan kaldırarak, bir sanal alanda kod çalıştırma gereksinimini azaltırsınız. Bu nedenle, daha az koda ve güvenlik incelemelerine daha az ihtiyaç vardır. Bu, güvenliği artırırken geliştirmeyi hızlandırır. Bir tarayıcı üzerinde çalışırken güvenilir olmayan girişi ortadan kaldırmak neredeyse imkansızdır.

Chrome tarayıcı, yüksek ayrıcalık olarak kabul edilen bir kişiyi temsil eden işletim sistemi düzeyinde bir hesap olarak çalışır. Chrome’da, ayrıcalık azaltma elde etmek için korumalı alan uygulaması uygulanır; bu, kodun ayrıcalıklarının bir kısmı veya çoğu iptal edilmiş bir işlemde çalıştırılması anlamına gelir.

kütüphaneler

Rust, güvenli bir tarayıcının temeli olarak belirlendi ve Mozilla için bir tarayıcıda kullanıldığını zaten kanıtladı. Ancak şimdilik Google yalnızca üçüncü taraf kitaplıklarını destekleyecektir. Üçüncü taraf kitaplıkları, bağımsız bileşenler olarak yazılır, Chromium’un uygulanması hakkında örtülü bilgi içermezler.

Gelecekteki geliştirmeler için Google, C++ ve Rust arasındaki birlikte çalışmanın uygunluğunun nasıl artırılacağına ve her dilin gereksinimlerinin diğerine nasıl ifade edileceğine veya kapsanacağına ilişkin bir deney olan Crubit’e yatırım yapıyor. Birlikte çalışma, aynı şekilde davranan iki veya daha fazla tarayıcı anlamına gelir.


Tehditleri sadece rapor etmiyoruz, onları kaldırıyoruz

Siber güvenlik riskleri asla bir manşetin ötesine geçmemelidir. Malwarebytes’i bugün indirerek tehditleri cihazlarınızdan uzak tutun.



Source link