it-swarm-tr.com

WebGL bir güvenlik sorunu mu?

WebGL, sağladığı düşük düzey erişim nedeniyle potansiyel bir güvenlik sorunu mu?

Örneğin, bir web sayfası istediği gölgelendirici kaynaklarını derlemeye ve çalıştırmaya çalışabilir.

Bir saldırgan uygulamadaki güvenlik açıklarını daha kolay bulabileceğinden, güvenlik özellikle açık kaynaklı web tarayıcılarında bir sorun olacaktır.

27
user9148

Evet, WebGL gerçekten potansiyel bir güvenlik riskidir, ancak riskin büyüklüğünü değerlendirmek zor ve tartışmaya açıktır. Burada bazı zor konular var. Tarayıcılar, güvenlik risklerine karşı bazı savunmalar yaptılar, ancak bu savunmaların uzun vadede yeterli olup olmayacağı konusunda bazı tartışmalar var gibi görünüyor.

Önemli bir risk, WebGL'nin doğrudan video kartında kod çalıştırmayı ve video kartı API'larına doğrudan erişim sağlayan API'leri göstermesini içermesidir. Tarayıcı bu kodu sanallaştırmaya çalışır (belirli bir dereceye kadar) ve tarayıcılar kötü niyetli davranışları önlemek için tasarlanmış bir dizi güvenlik kısıtlaması uygular. Bununla birlikte, bu API'lerin birçoğu ve uygulamaları orijinal olarak güvenilmeyen varlıklara sağlanacak şekilde tasarlanmamıştır (yalnızca tamamen güvenilir olan yerel uygulamalar tarafından kullanılabilirler), bu yüzden onları keyfi web sitelerine maruz bırakmanın web sitelerini etkinleştirip etkinleştiremeyeceği konusunda endişeler vardır sisteminize saldırmak için.

O sırada tarayıcılarda WebGL uygulamasının güvenliğine bakan ve bir dizi güvenlik açığı bulunan bir yüksek görünürlüklü teknik inceleme (ayrıca bkz. devam filmi ) vardı. Birkaç WebGL API'sinde bazı bellek güvenliği sorunları buldular ve ayrıca bir web sitesinin diğer web sitelerinin piksel verilerini okumasına izin verecek bazı saldırılar buldular (bu, gizliliğin ihlal edilmesini sağlayabilir). Ayrıca, bir dizi tarayıcıda ve web kartında (o sırada) bu güvenlik açıklarının varlığını gösteren bu üçüncü çalışma konusuna bakın.

Tarayıcılar buna çeşitli savunmayla yanıt verdiler: bilinen güvenlik sorunları olan ekran kartlarını kara listeye aldılar; bilinen bellek güvenliği sorunlarını çözmeye çalıştılar; ve aynı Köken politikası uyarınca WebGL kullanımını kısıtladılar , kötü amaçlı bir web sitesinin kullanıcıların diğer web sitelerini kullanmasını gözetlemek için WebGL'yi kullanma .

Bu savunmaların uzun vadede yeterli olup olmayacağı konusunda bazı tartışmalar devam etmektedir. Microsoft WebGL çok büyük bir güvenlik riski oluşturuyor ve mevcut savunmalar yeterince sağlam değil . Öte yandan Mozilla, ortaya koydukları savunmaların yeterli olacağı ve WebGL'nin web için önemli bir değer sağladığı konumunu ele alıyor. Ars Technica konunun mükemmel bir yuvarlanması ; ve işte başka bir basın rapor .

Not; Özellikle açık kaynaklı web tarayıcıları için bir sorun olduğu konusundaki ifadenize tamamen katılmıyorum. Bu bir efsane. Bu argümanları zaten kapsayan Açık Kaynak ve Kapalı Kaynak Sistemler konusuna bakın. (Ayrıca bkz. Chrome ve Explorer - açık kaynak kodunun daha iyi olduğu açık kelimelerle nasıl açıklanır? Bu konuyla ilgili ek düşünceli tartışmalar.)

31
D.W.

Bazı önemli noktalar:

  • WebGL yalnızca OpenGL'yi JavaScript'e maruz bırakmıyor. Tüm giriş noktaları, sınırların ötesinde bellek erişim olasılıklarını kaldırmak için kısıtlanmıştır, böylece tarayıcının sınırların dışındaki erişimleri kontrol etmesi her zaman mümkündür (ve bunu uygunluk testleri kapsamaktadır).
  • WebGL, GPU'da neredeyse rastgele gölgelendiricilerin çalışmasına izin verir. Bununla birlikte, gölgelendiricilerin keyfi genel amaçlı kod olmadığını unutmayın. Çok özel bir belleğe yalnızca tarayıcıların sınırların dışındaki erişimleri kontrol edecek şekilde erişebilirler. Gölgelendiriciler, GPU sürücüsüne aktarılmadan önce tarayıcıya gömülü bir gölgelendirici derleyicisi tarafından doğrulanır ve çevrilir.
  • Bir WebGL spesifikasyonunda sadece bir tam güvenlik açığı vardı: WebGL spesifik olarak başlangıçta çapraz menşe görüntülerin WebGL dokuları olarak kullanılmasına izin verdi ve bir zamanlama saldırısının bunları başarıyla okuyabileceği gösterildi. Bu, 2011'in ortalarında düzeltildi ve WebGL spec 1.0.1'in geçerli sürümü güvenli.
  • WebGL güvenliği hakkında daha fazla bilgiyi şu adreste bulabilirsiniz: http://www.khronos.org/webgl/security/
10
Benoit Jacob

Güvenlik özellikle açık kaynaklı web tarayıcılarında bir sorun teşkil ediyor gibi görünüyor.

Siz efendim çok yanlış. Açık kaynak programlarının kapalı kaynak programlardan çok daha güvenli olduğu birçok kez kanıtlanmıştır, çünkü kodu kontrol eden çok daha fazla göz vardır.

Ayrıca tüm tarayıcılar bu şeyleri bir sanal alanda çalıştırır. Korumalı alandan çıkmak zor olacak, ancak kapalı kaynakta açık kaynak tarayıcılarda olduğu kadar sorun olacak.

3
Lucas Kauffman

WebGL'yi javascript ile karşılaştıralım.

WebGL ve javascript arasındaki (gölgelendirici kodu aracılığıyla) arasındaki kritik fark, javascript CPU'da çalıştırılırken gölgelendirici kodunun GPU kartında çalıştırılmasıdır.

Kodun yorumlanıp yorumlanmadığı çok önemli değildir; ortaya çıkan güvenlik açıkları potansiyeli hala mevcuttur.

Bu yüzden javascript kötüye kullanım için daha fazla kapasiteye sahiptir, çünkü bir kez sahte bir komut dosyası tarayıcı hapisten çıktığında temel olarak PC'nize erişebilir. Sahte bir WebGL gölgelendirici komut dosyası GPU'nuza erişebilir.

Bu basit görüşü zorlaştıran faktörler vardır; javascript bir süredir var, bu yüzden daha fazla inceleme aldı ve daha fazla delik kapatıldı. javascript çok daha karmaşıktır. Bir dil olarak Javascript çok daha karmaşıktır. vesaire vesaire.

1
Michael Slade

WebGL, GPU çekirdeklerinize GL boru hattına erişim sağlar. Bazı üreticiler GPU'ları doğrudan CPU yongasına entegre eder.Bu, GPU'nun kendi belleğine değil dahili belleğini paylaşmasına izin verir harici grafik yonga setlerinde olduğu gibi, bu potansiyel bir bilgi güvenliği riskidir.

GPU'lar gibi güce aç paralel işlemciler de şifreleme uygulamaları için idealdir.

Bot ağlarında webgl tabanlı bitminer örnekleri vardır. Bir bilgi güvenliği tehdidi olmasa da (tersine, bitminerler blok zinciri bilgi güvenliğinin temeli), bu botnet'ler üzerinde çalıştıkları istenmeyen cihazların geniş ağlarından şaşırtıcı miktarda güç çalıyorlar.

Bu, Bitcoin'in büyüyen ama büyük ölçüde gizli bir karbon ayak izine sahip olduğu anlamına geliyor, bu da potansiyel bir çevresel güvenlik tehdidi.

Bazı web sitelerinin CPU yükünü artırmadan ekranınızı yavaşlattığını fark ettiyseniz, GPU'nuzda webgl kodu çalıştırıyor olmaları muhtemeldir. Ayrıca gizemli mobil cihaz güç tüketiminin olası bir nedeni.

Mobil uygulamalar (web tarayıcıları gibi) arka planda sürekli olarak GPU kodu çalıştırabilir ve bunları durdurmak için cihazın yeniden başlatılmasını gerektirebilir.

0