Linux'da güvende olduğunuzdan nasıl emin olabiliyorsunuz?

Arkadaşlar, hem çok ofansif hem de çok saygı çerçevesinde tartışıyorsunuz. Yemin ederim hayran kaldım.
 
arkadaşlar, hem çok ofansif hem de çok saygı çerçevesinde tartışıyorsunuz. Yemin ederim hayran kaldım.

Ofansifliğimiz kötü bir amaçla değil. Bu seviyeli bir tartışma, elbette kendimize bir şeyler katmayı hedefliyoruz. Burada hepimiz konu hakkında bilgi sahibi bireyleriz ve bu gerçekten az bulunur bir durum, harcanmaması gereken bir fırsat.
 
Ofansifliğimiz kötü bir amaçla değil. Bu seviyeli bir tartışma, elbette kendimize bir şeyler katmayı hedefliyoruz. Burada hepimiz konu hakkında bilgi sahibi bireyleriz ve bu gerçekten az bulunur bir durum, harcanmaması gereken bir fırsat.
Kesinlikle.
 
Tüm bir kernel'in Rust'ta yazılmasını mı savunuyorsun? Memory corruption'ın önlenmesi için ciddi bir yatırım ve zaman gerekli, buna değeceğini de hiç sanmıyorum.
Hayır. Kernelin monolitik oluşu bu tarz açıkların daha büyük zararlar yol açmasına neden oluyor, o paragrafta anlatılmak istenen buydu, Rust'ta yazılsın önerisi olduğunu sanmıyorum. Ama sürücülerin Rust'ta yazılması planlanıyor en azından.


Bu açıkları önlenmek için gereken önlenmler zaman içinde alınıyor zaten, hiç alınmıyor değil. PaX ve bazı Grsecurity patchleri kernele dahil edildi. Zaman ve yatırım ile alakası yok, bu değişikliklerin zamanında upstream'den kasten reddedildiğini söylemiştim.

These kinds of protections have existed for years in the PaX and grsecurity patches, and in piles of academic papers. For various social, cultural, and technical reasons, they have not made their way into the upstream kernel

Kusura bakma ama NT'nin güvenli olduğunu öne sürmek saçmalıktan ibaret.
NT güvenlidir diye kesin bir yargım olmamıştı ama attığım sitede Linux ile karşılaştırıldığında Windows sistemin üstün geldiği birçok nokta var. Sadece çekirdek ile ilgili değil.

BlueKeep Windows 2000'den Windows 7'ye kadar çok güncel ve donanımlı NT çekirdeğimizde bulunan bir açıktı ve 2019'da patchlendi. Ama elbette ki bu kullanıcı hatasıydı, 19 yıl boyunca neden birinin düzeltmesini beklemiş ki?
Yıllardır var olan açıkların yeni keşfedilmesi her iki sistem için yaşanan bir durum. Windows'a özel değil.

 
Yıllardır var olan açıkların yeni keşfedilmesi her iki sistem için yaşanan bir durum. Windows'a özel değil.

Polkit ve sudo Linux projesine dahil değil, external program ikisi de ve daha güvenli alternatifleri var.
 
Hayır. Kernelin monolitik oluşu bu tarz açıkların daha büyük zararlar yol açmasına neden oluyor, o paragrafta anlatılmak istenen buydu, Rust'ta yazılsın önerisi olduğunu sanmıyorum. Ama sürücülerin Rust'ta yazılması planlanıyor en azından.

Bu sorunun çözümü için yapılması önerilen en büyük işlem Rust'a çevirilmesi, zaman ve yeterli kadroyla elbette yapılabilir fakat bu devasa bir değişim olacaktır. Sadece Linux ekosistemini değil, tüm yazılım dünyasını etkileyecektir. Tüm kernelin Rust ile tekrardan yazılması, geliştiricilerin bir çoğunun C dillerini terk etmesiyle sonuçlanır.

Bu açıkları önlenmek için gereken önlenmler zaman içinde alınıyor zaten, hiç alınmıyor değil. PaX ve bazı Grsecurity patchleri kernele dahil edildi. Zaman ve yatırım ile alakası yok, bu değişikliklerin zamanında upstream'den kasten reddedildiğini söylemiştim.

Elbette önlemler alınıyor, bahsettiğin şekilde "sadece patchleme" stratejisi mevcut değil. Ekipler organize bir şekilde güvenliği ve performansı bir üst seviyeye çıkaracak yeni stratejiler üzerinde çalışıyorlar. Ve evet, zaman ve yatırımla alakası var. Kalıcı bir ilerleme bekleniyorsa daha büyük adımlar atılmak zorunda.

OSS üzerine çalışan birçok firma bu adımları attı ve atıyor, Mozilla bunun en büyük örneği. Firefox'un CSS motoru Quantum CSS (Stylo) Rust kullanılarak yazıldı. Halen kodlarının büyük bir bölümünü Rust'a çevirmeye çalışıyorlar.

For various social, cultural, and technical reasons, they have not made their way into the upstream kernel

Sosyal ve kültürel nedenler mi? Kusura bakma ama buna inanmamı bekleme. 😃

NT güvenlidir diye kesin bir yargım olmamıştı ama attığım sitede Linux ile karşılaştırıldığında Windows sistemin üstün geldiği birçok nokta var. Sadece çekirdek ile ilgili değil.

FOSDEM'deki herkes NT'nin ne kadar zayıf olduğunu biliyor, konferanstaki amaç bir karşılaştırma yapmak değil sorunları ve çözümlerini sunmaktı. Windows örneği ironik bile kaçıyor, 3 yaşındaki çocuğun kendinden 20 yaş büyük abisini dövdüğünü söylemeye benzettim. Aynı kulvarda dahi değiller. 😃

Yıllardır var olan açıkların yeni keşfedilmesi her iki sistem için yaşanan bir durum. Windows'a özel değil.

Sudo açığının kernel'le uzaktan-yakından bir alakası yok. Kaldı ki o bile uzun bir süre KISS prensibine uygun olmadığı gerekçesiyle taşlandı ve tepki gördü. O dönem - ben de dahil olmak üzere - büyük bir kitle doas'a geçerek protesto etti. Bilinçli kullanıcı topluluğuna sahip olmanın sağladığı avantajlardan sadece bazıları. Bu olayda sudo'nun sadece eski bir güvenlik açığına sahip olduğu tespit edilmişti ve muhteşem bir hızla kapatıldı, sonrasında da exploitlendiğine dair hiçbir emare bulunamadı.
 
Bu sorunun çözümü için yapılması önerilen en büyük işlem Rust'a çevirilmesi, zaman ve yeterli kadroyla elbette yapılabilir fakat bu devasa bir değişim olacaktır. Sadece Linux ekosistemini değil, tüm yazılım dünyasını etkileyecektir. Tüm kernelin Rust ile tekrardan yazılması, geliştiricilerin birçoğunun C dillerini terk etmesiyle sonuçlanır.
Tüm bir kernel Rust'ta yeniden yazılamaz artık, çok geç. O kadar kodu yeniden yazmak bir 30 yıl daha alır.
Driverlarda genellikle Memory corruption bugları oluyor (gördüğüm kadarıyla) bundan dolayı Rust entegre etmeyi düşünüyorlar kernele.
 
Tüm bir kernel Rust'ta yeniden yazılamaz artık, çok geç. O kadar kodu yeniden yazmak bir 30 yıl daha alır.

Sıfırdan yazılması mümkün değil, dönüştürülmesi mümkün. Kısa ve orta vadede daha büyük sorunlar oluşturabilir, normal seyrinde devam ederken böyle bir projenin yapılması imkansız; daha büyük bir hareket gerekli. En büyük problem de portların entegrasyonu olacaktır.

Driverlarda genellikle Memory corruption bugları oluyor (gördüğüm kadarıyla) bundan dolayı Rust entegre etmeyi düşünüyorlar kernele.

Genelde driver kaynaklı buglar ve çoğunlukla zararsız. Rust, entegrasyonu kolay ve verimli bir dil. Mantıklı bir başlangıç özelliği taşıyor. Birçok kuruluş halihazırda kendi projelerinde entegrasyon işlemlerine başladı, güncel Firefox kodlarının %10,1'i Rust'la yazılmış durumda.
 
Sıfırdan yazılması mümkün değil, dönüştürülmesi mümkün. Kısa ve orta vadede daha büyük sorunlar oluşturabilir, normal seyrinde devam ederken böyle bir projenin yapılması imkansız; daha büyük bir hareket gerekli. En büyük problem de portların entegrasyonu olacaktır.
Dönüştürücüler mükemmel değil ve genellikle rewrite gerektiriyorlar.
1650154941461.png
 
Dönüştürücüler mükemmel değil ve genellikle rewrite gerektiriyorlar.

Mükemmelliği bırak, genelde algoritma akışını dahi bozuyorlar. Rewrite için bütçe ve zaman gerekiyor. Yaklaşık 5-6 yıl alır ve sonucu tatmin edici olur. Lakin bunun yerine gerekli bölümlere entegre edilmesini destekliyorum, bu kadar büyük çapta dönüşümü gerektirecek bir sorun bulunmuyor.
 

Technopat Haberler

Geri
Yukarı