1. Anasayfa
  2. Siber Güvenlik

Firefox Site İzolasyonu Güvenliği Mimarisine Bakış

Firefox Site İzolasyonu Güvenliği Mimarisine Bakış
Firefox Site İzolasyonu Güvenliği Mimarisine Bakış
0

Firefox Site İzolasyonu Güvenliği Mimarisine Bakış – Herhangi bir web tarayıcısı gibi, Firefox da güvenilmeyen ve potansiyel olarak düşmanca web sitelerinden kod yükler ve bilgisayarınızda çalıştırır. Sizi kötü niyetli sitelerden gelen yeni saldırı türlerine karşı korumak ve Mozilla’nın güvenlik ilkelerini karşılamak için Firefox’u masaüstünde yeniden tasarlamak için yola çıkılmış.

Firefox Site İzolasyonu Güvenliği Mimarisine Bakış

Site İzolasyonu, (web) içeriğini ayırarak ve her siteyi kendi işletim sistemi sürecinde yükleyerek mevcut koruma mekanizmalarını genişleten yeni bir güvenlik mimarisi üzerine kuruludur.

Bu yeni güvenlik mimarisi, Firefox‘un farklı sitelerden gelen kodları tamamen ayırmasına ve dolayısıyla ziyaret ettiğiniz diğer sitelerden hassas bilgilere erişmeye çalışan kötü niyetli sitelere karşı savunma yapmasına olanak tanır.

Daha ayrıntılı olarak, bir web sitesini her açtığınızda ve bir şifre, kredi kartı numarası veya başka herhangi bir hassas bilgi girdiğinizde, bu bilgilerin güvende tutulduğundan ve kötü niyetli kişiler tarafından erişilemeyeceğinden emin olmak istersiniz.

İlk savunma hattı olarak Firefox, çeşitli güvenlik mekanizmalarını uygular; aynı uygulamaya yüklendiğinde düşmanların bu tür bilgilere erişmesini engelleyen aynı kaynak politikası.

Ne yazık ki, web ve kötü niyetli aktörlerin teknikleri de gelişiyor. Özel bilgilerinizi tam olarak korumak için modern bir web tarayıcısının yalnızca uygulama katmanında koruma sağlaması değil, aynı zamanda farklı sitelerin bellek alanını tamamen ayırması gerekir – Firefox‘taki yeni Site İzolasyonu güvenlik mimarisi bu güvenlik garantilerini sağlar.

Bellek alanını ayırmak neden önemlidir?

2018’in başlarında, güvenlik araştırmacıları Meltdown ve Spectre olarak bilinen iki büyük güvenlik açığını açıkladılar. Araştırmacılar, modern donanım yürütmeyle ilgili temel varsayımlardan yararlandılar ve güvenilmeyen kodun, bir işlemin adres alanı içindeki herhangi bir yerde, hatta JavaScript kadar yüksek düzeyde bir dilde (hemen hemen her web sitesine güç sağlayan) belleğe nasıl erişip okuyabildiğini gösterebildiler.

İşletim sistemi, CPU ve büyük web tarayıcısı satıcıları tarafından dağıtılan yara bandı önlemleri saldırıları hızla etkisiz hale getirirken, bir performans maliyetiyle geldiler ve geçici olacak şekilde tasarlandılar. Saldırılar herkese açık olarak duyurulduğunda, Firefox ekipleri, kullanıcılarımızı güvende tutmak için bu tür zamanlayıcıların uygulanmasına izin veren yüksek hassasiyetli zamanlayıcıların ve devre dışı bırakılmış API’lerin hassasiyetini derhal azalttı.

İleriye dönük olarak, bu tür güvenlik açıklarının gelecekteki varyasyonlarını azaltmak için Firefox’un güvenlik tasarımını temelden yeniden yapılandırmamız gerektiği açıktı.

Bir saldırganın Spectre benzeri bir saldırı gerçekleştirirken özel verilerinize nasıl erişebileceğini gösteren aşağıdaki örneğe daha yakından bakalım.

Firefox Site İzolasyonu Güvenliği Mimarisine Bakış
Firefox Site İzolasyonu Güvenliği Mimarisine Bakış

Site İzolasyonu olmadan Firefox, hassas bilgileri işleyen bir siteyle aynı süreçte kötü amaçlı bir site yükleyebilir. En kötü senaryoda, kötü niyetli bir site, diğer sitenin belleğine erişmek için Spectre benzeri bir saldırı gerçekleştirebilir.

Açık iki web siteniz olduğunu varsayalım: www.my-bank.com ve www.attacker.com. Yukarıdaki şemada gösterildiği gibi, mevcut web tarayıcı mimarisi ile her iki sitedeki web içeriğinin aynı işletim sistemi sürecine yüklenmesi mümkündür. İşleri daha da kötüleştirmek için, Spectre benzeri bir saldırı kullanmak, attacker.com’un my-bank.com web sitesindeki verileri sorgulamasına ve bu verilere erişmesine olanak tanır.

Mevcut güvenlik hafifletmelerine rağmen, Spectre benzeri saldırılara karşı savunmak için gerekli bellek korumalarını sağlamanın tek yolu, işletim sisteminin süreç ayrımını kullanarak farklı sitelerden içerik yalıtarak gelen güvenlik garantilerine güvenmektir.

Mevcut Tarayıcı Mimarisinin Arka Planı

Başlatıldıktan sonra, Firefox web tarayıcısı dahili olarak bir ayrıcalıklı süreç (üst süreç olarak da bilinir) oluşturur ve bu daha sonra birden çok (web) içerik sürecinin faaliyetlerini başlatır ve koordine eder – ana süreç, gerçekleştirmesine izin verildiği için en ayrıcalıklı olanıdır. son kullanıcının yapabileceği herhangi bir işlem.

Bu çok işlemli mimari, Firefox‘un daha karmaşık veya daha az güvenilir kodu, çoğu işletim sistemi kaynaklarına veya kullanıcı dosyalarına erişimi azaltan işlemlere ayırmasına olanak tanır. Sonuç olarak, daha az ayrıcalıklı kodun, kendisinin yapamayacağı işlemleri gerçekleştirmek için daha fazla ayrıcalıklı kod istemesi gerekecektir.

Örneğin, bir içerik işlemi, diske yazma izinlerine sahip olmadığı için üst işlemden bir indirmeyi kaydetmesini istemek zorunda kalacaktır. Başka bir deyişle, bir saldırgan içerik sürecinin güvenliğini aşmayı başarırsa, ek olarak (ab) üst süreci kendi adına hareket etmeye ikna etmek için API’lerden birini kullanmalıdır.

Ayrıntılı olarak, (Nisan 2021 itibariyle) Firefox‘un ana süreci sabit sayıda işlemi başlatır: sekiz web içeriği işlemi, iki adede kadar ek yarı ayrıcalıklı web içeriği işlemi ve web uzantıları, GPU işlemleri, ağ oluşturma ve ağ oluşturma için dört yardımcı işlem, medya kod çözme.

İçeriği şu anda sekiz web içeriği sürecine ayırmak zaten sağlam bir temel sağlarken, izin verdiği için Mozilla’nın güvenlik standartlarını karşılamıyor.

Tamamen farklı iki sitenin aynı işletim sistemi sürecine girmesi ve bu nedenle işlem belleğini paylaşması. Buna karşı koymak için, her bir siteyi kendi sürecine yükleyen bir Site İzolasyonu mimarisi hedefliyor.

Firefox Site İzolasyonu Güvenliği Mimarisine Bakış
Firefox Site İzolasyonu Güvenliği Mimarisine Bakış

Site İzolasyonu olmadan, Firefox web içeriğini farklı işlemlere ayırmaz ve aynı işlemde farklı sitelerin yüklenmesi mümkündür.

Bazı web sitelerini farklı sekmelerde açtığınızı düşünün: www.my-bank.com, www.getpocket.com, www.mozilla.org ve www.attacker.com. Yukarıdaki şemada gösterildiği gibi, my-bank.com ve attacker.com’un aynı işletim sistemi işlemine yüklenmesi tamamen olasıdır ve bu, işlem belleğini paylaşmalarına neden olabilir. Önceki örnekte gördüğümüz gibi, bu ayırma modeliyle bir saldırgan, my-bank.com’un verilerine erişmek için Spectre benzeri bir saldırı gerçekleştirebilir.

Firefox Site İzolasyonu Güvenliği Mimarisine Bakış
Firefox Site İzolasyonu Güvenliği Mimarisine Bakış

Site İzolasyonu olmadan tarayıcı, banka sayfası veya reklam gibi gömülü sayfaları üst düzey belgeyle aynı süreçte yükler.

Sitelerin farklı sekmelere yüklendiğini anlamak kolay olsa da, sitelerin alt çerçeveler aracılığıyla başka sitelere yerleştirilmesi de mümkündür – üzerinde reklam bulunan bir web sitesini daha önce ziyaret ettiyseniz, bunlar muhtemelen alt çerçevelerdir. Kişisel bir web siteniz varsa ve içine en sevdiğiniz şarkının olduğu bir YouTube videosu yerleştirdiyseniz, YouTube videosu bir alt çerçeveye yerleştirildi.

Daha tehlikeli bir senaryoda, kötü niyetli bir site meşru bir siteyi bir alt çerçeveye yerleştirebilir ve hassas bilgileri girmeniz için sizi kandırmaya çalışabilir. Mevcut mimaride, bir sayfa farklı bir siteden herhangi bir alt çerçeve içeriyorsa, bunlar genellikle dış sekme ile aynı süreçte olacaktır.

Bu, alt çerçeveler farklı sitelerden gelse bile, hem sayfanın hem de tüm alt çerçevelerinin işlem belleğini paylaşmasıyla sonuçlanır. Başarılı bir Spectre benzeri saldırı durumunda, üst düzey bir site, erişilmemesi gereken hassas bilgilere yerleştirdiği bir alt çerçeveden erişebilir (ve tam tersi) – Firefox’taki yeni Site İzolasyonu güvenlik mimarisi bunu etkili bir şekilde yapacaktır. kötü niyetli sitelerin bu tür saldırıları gerçekleştirmesi daha da zor.

Firefox’ta Site İzolasyonu Nasıl Çalışır?

Masaüstü için Firefox’ta Site İzolasyonu etkinleştirildiğinde, her benzersiz site ayrı bir işlemde yüklenir. Daha ayrıntılı olarak, “https://mozilla.org”un yüklenmesi ve ayrıca “http://getpocket.com”un yüklenmesi, Site Isolation’ın iki siteyi “aynı site” olarak kabul edilmedikleri için kendi işletim sistemi süreçlerine ayırmasına neden olacaktır. ”.

Benzer şekilde, “https://getpocket.com” (http ve https arasındaki farka dikkat edin) de ayrı bir işleme yüklenecektir – bu nedenle, sonuçta üç sitenin tümü farklı işlemlerde yüklenecektir.

Eksiksiz olması adına, “.github.io” veya “.blogspot.com” gibi bir “site” tanımlamak için fazla genel olabilecek bazı alanlar vardır. Bu nedenle, siteler arasında ayrım yapmaya yardımcı olması için topluluk tarafından yönetilen bir etkili üst düzey alan adları (eTLD’ler) listesi kullanıyoruz.

“github.io” bir eTLD olarak listelendiğinden, “a.github.io” ve “b.github.io” farklı işlemlerde yüklenir. Çalışan örneklerimizde, “www.my-bank.com” ve “www.attacker.com” web siteleri birbirleriyle “aynı site” olarak kabul edilmez ve ayrı süreçlerde izole edilir.

Firefox Site İzolasyonu Güvenliği Mimarisine Bakış
Firefox Site İzolasyonu Güvenliği Mimarisine Bakış

Site İzolasyonu ile Firefox, her siteyi kendi prosesinde yükler, böylece onların hafızasını birbirinden izole eder ve işletim sisteminin güvenlik garantilerine güvenir.

Şimdi, yukarıdaki şemada görüldüğü gibi aynı iki web sitesini açtığınızı varsayalım: www.attacker.com ve www.my-bank.com. Site izolasyonu, iki sitenin “aynı site” olmadığını kabul eder ve bu nedenle site izolasyon mimarisi, içeriği tamamen attacker.com ve my-bank.com’dan ayrı işletim sistemi süreçlerine ayıracaktır.

İçeriği farklı sitelerden ayırma işlemi, güvenli bir tarama deneyimine izin vermek için gereken bellek korumalarını sağlayarak sitelerin Spectre benzeri saldırılar gerçekleştirmesini daha da zorlaştırır ve sonuç olarak kullanıcılarımız için güvenli bir tarama deneyimi sağlar.

Firefox Site İzolasyonu Güvenliği Mimarisine Bakış
Firefox Site İzolasyonu Güvenliği Mimarisine Bakış

Herhangi bir web tarayıcısı gibi, Firefox da güvenilmeyen ve potansiyel olarak düşmanca web sitelerinden kod yükler ve bilgisayarınızda çalıştırır. Sizi kötü niyetli sitelerden gelen yeni saldırı türlerine karşı korumak ve Mozilla’nın güvenlik ilkelerini karşılamak için Firefox’u masaüstünde yeniden tasarlamak için yola çıkılmış gözüküyor.

Site İzolasyonu, (web) içeriğini ayırarak ve her siteyi kendi işletim sistemi sürecinde yükleyerek mevcut koruma mekanizmalarını genişleten yeni bir güvenlik mimarisi üzerine kuruludur.

Bu yeni güvenlik mimarisi, Firefox’un farklı sitelerden gelen kodları tamamen ayırmasına ve dolayısıyla ziyaret ettiğiniz diğer sitelerden hassas bilgilere erişmeye çalışan kötü niyetli sitelere karşı savunma yapmasına olanak tanır.

Daha ayrıntılı olarak, bir web sitesini her açtığınızda ve bir şifre, kredi kartı numarası veya başka herhangi bir hassas bilgi girdiğinizde, bu bilgilerin güvende tutulduğundan ve kötü niyetli kişiler tarafından erişilemeyeceğinden emin olmak istersiniz.

İlk savunma hattı olarak Firefox bir değişkeni zorunlu kılar.

Güvenlik mekanizmalarının tümü, örn. aynı uygulamaya yüklendiğinde kötü niyetli kişilerin bu tür bilgilere erişmesini engelleyen aynı kaynak politikası.

Ne yazık ki, web ve kötü niyetli aktörlerin teknikleri de gelişiyor. Özel bilgilerinizi tam olarak korumak için modern bir web tarayıcısının yalnızca uygulama katmanında koruma sağlaması değil, aynı zamanda farklı sitelerin bellek alanını tamamen ayırması gerekir – Firefox’taki yeni Site İzolasyonu güvenlik mimarisi bu güvenlik garantilerini sağlar.

Site İzolasyonunun Ek Faydaları

Site İzolasyonu mimarisiyle, sizi ve verilerinizi güvende tutmak için Firefox’a ek güvenlik güçlendirmesi getirebiliyoruz. Site İzolasyonu, olası güvenlik tehditlerine karşı ekstra bir savunma katmanı sağlamanın yanı sıra başka kazanımlar da sağlar:

Ayrı işlemlere daha fazla sayfa yerleştirerek, bir sayfada yoğun hesaplama veya çöp toplama yapmanın diğer işlemlerdeki sayfaların yanıt verme hızını düşürmemesini sağlayabiliriz.

Web sitelerini yüklemek için daha fazla işlem kullanmak, çalışmayı birçok CPU çekirdeğine yaymamıza ve temel alınan donanımı daha verimli kullanmamıza olanak tanır.

Sitelerin daha hassas bir şekilde ayrılması nedeniyle, bir alt çerçeve veya sekme çökmesi, farklı işlemlerde yüklenen web sitelerini etkilemeyecek ve bu da daha iyi bir uygulama kararlılığı ve daha iyi kullanıcı deneyimi ile sonuçlanacaktır.

Gidişat

Şu anda Nightly ve Beta masaüstü tarayıcılarında Site İzolasyonu‘nu bir kullanıcı alt kümesiyle test ediliyor ve yakında daha fazla masaüstü kullanıcısına sunulacak. Ancak, zaten geliştirilmiş güvenlik mimarisinden şimdiden yararlanmak istiyorsanız, Nightly veya Beta tarayıcıyı buradan indirerek ve aşağıdaki adımları izleyerek etkinleştirebilirsiniz:

Firefox Nightly’de Site İzolasyonunu etkinleştirmek için:

  • t’de gezinin o hakkında:tercihler#deneysel
  • Etkinleştirmek için “Fission (Site Isolation)” onay kutusunu işaretleyin.
  • Firefox’u yeniden başlatın.

Firefox Beta veya Sürümünde Site İzolasyonunu etkinleştirmek için:

about:config’e gidin.

‘fission.autostart’ tercihini ‘true’ olarak ayarlayın.

Firefox’u yeniden başlatın.

Siteleri ve alt çerçeveleri birlikte nasıl grupladığı ilgili teknik ayrıntılar için, “about:processes” (adres çubuğuna yazın) adresindeki yeni süreç yöneticisi aracına göz atabilir ve https://wiki.mozilla.org/ adresinden projeyi takip edebilirsiniz.

Masaüstü için Firefox’ta Site İzolasyonu etkinleştirildiğinde Mozilla, güvenlik garantilerini bir sonraki düzeye taşır ve her site için işletim sistemi düzeyinde işlem ayırmanın bellek korumalarına güvenerek sizi yeni bir kötü amaçlı saldırı sınıfına karşı korur. Mozilla’nın açık kaynaklı projelerine katkıda bulunmakla ilgileniyorsanız, Site İzolasyonu etkinken herhangi bir sorunla karşılaşırsanız, hataları buraya kaydederek mozilla ekibine yardımcı olabilirsiniz.

İçeriğin orjinali Anny Gakhokidze tarafından oluşturulmuş olup, Covid’li günlerde dilimize çevrilerek yayına alınmıştır. Orjinal içeriğe buradan erişebilirsiniz.

Beni LinkedIN ‘den takip etmeyi, soru görüş ve önerilerinizi yorum bölümünden iletmeyi UNUTMAYIN!

Hasan YILDIZ, Girişimci. Doktora Öğrencisi. Yazmayan YAZILIMCI. Veri Şeysi. Eğitmen...

Yazarın Profili

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir