Açık kaynakla ilgili en şaşırtıcı şeylerden biri, harika yazılımlar üretmesi değildir. Pek çok geliştirici, başkalarının yardımıyla harika programlar oluşturmak için egolarını bir kenara bırakıyor. Yine de, bir avuç programcı şimdi kendi endişelerini daha iyi olanın önüne koyuyor ve herkes için açık kaynaklı yazılımları mahvetme riskini taşıyor.

Örneğin JavaScript paket yöneticisi RIAEvangelist’in yöneticisi Brandon Nozaki Miller’ı ele alalım. İkincisi, Peacenotwar adlı bir açık kod npm paketi yazdı ve yayınladı. Masaüstü bilgisayarlara bir barış mesajı yazdırmaktan başka bir şey yapmaz. Şimdiye kadar, endişe verici bir şey yok. Ancak geliştirici, bilgisayarlarının bir Rus veya Belarus IP adresi varsa, kullanıcıların dosya sistemlerinin üzerine yazmak için pakete kötü amaçlı kod ekledi. Daha sonra, onu, kaosa neden olma çabasıyla, popüler düğüm-ipc programına bir bağımlılık olarak ekledi. Başarılı bir plan: Kod güncellemesi sırasında birçok sunucu ve bilgisayar çöktü ve ardından sistemlerinin sabit diskleri silindi.

Geliştirici, savunmasında “tüm bunların kamuya açık, belgelenmiş, lisanslı ve açık kaynak olduğunu” belirtti. Snyk araştırmacısı Liran Tal için su tutmayan bir argüman. Kasıtlı ve tehlikeli hareket olsa bile [est] Bazıları tarafından meşru bir protesto eylemi olarak görülüyorsa, bu, geliştiricinin geliştirici topluluğundaki gelecekteki itibarını ve rolünü nasıl etkiler? Bu bakıcıya, bu tür gelecekteki eylemleri veya katıldığı herhangi bir proje için daha agresif eylemleri takip etmeyeceğine hala güvenebilir miyiz?

Cehennem iyi niyet taşlarıyla döşenmiştir

Ancak Brandon Nozaki Miller sıradan biri değil. Node-ipc ve Node HTTP Sunucusu gibi birçok iyi kod üretti. Ancak, kodunun kötü niyetli olmadığına güvenebilir misiniz? Bunu “kötü amaçlı yazılım değil, [mais] tamamen belgelenmiş protesto yazılımı”, diğerleri aynı fikirde değil.

Bir GitHub programcısının yazdığı gibi, “Ne olacak, Rusya veya siyasetle kesinlikle hiçbir ilgisi olmayan Batılı kurumsal güvenlik ekipleri, özgür yazılımı ve açık kaynağı tedarik zinciri saldırıları için bir yol olarak görmeye başlayacak (ki kesinlikle öyle) ve sadece ücretsiz ve açık kaynaklı yazılımları – hepsi ücretsiz ve açık kaynaklı yazılımları – kendi işletmelerinde yasaklamaya başlayın”.

Başka bir GitHub geliştiricisi için, “Geliştiricilerin iyi niyetine dayanan açık kaynağın güven faktörü hemen hemen ortadan kalktı ve şimdi giderek daha fazla insan kütüphanelerinin/uygulamalarının bir gün yapmak/söylemek için istismar edilebileceğini fark ediyor. İnternette rastgele bir geliştirici ne düşünürse düşünsün “yapılması gereken doğru şey olurdu”. Pek çok geçerli argüman. Gerçekten de, kaynak kodunu kullanamıyorsanız, yaratıcısının politik duruşuna katılmıyorsanız, nasıl güvenle kullanabilir misiniz? Brandon Nozaki Miller’ın aktivizmi övgüye değer olsa da, yöntemleri özgür yazılıma olan güveni sarsma riskini taşıyor.

Açık kaynak, yalnızca ona güvendiğimiz için çalışır. Bu güven, herhangi bir nedenle kırıldığında, açık kaynağın temel çerçevesi bozulur. Stabil dalın Linux çekirdeği koruyucusu Greg Kroah-Hartman’ın Minnesota Üniversitesi’ndeki öğrenciler 2021’de bir deney için kasıtlı olarak Linux çekirdeğine kötü kod eklemeye çalıştıklarında söylediği gibi: “Yaptıkları bu kasıtlı olarak kötü niyetli bir davranıştır ve kabul edilemez”.

Açık kaynağın sınırları

Sektördeki birçok kişi, özgür yazılımın aynı zamanda etik hükümler içermesi gerektiğini savunuyor. Örneğin, GPLv2’nin bir revizyonu olan 2009 tarihli İstisna Genel Kamu Lisansı (eGPL), askeri kullanıcılar ve tedarikçiler gibi “istisnaların” kendi kodunu kullanmasını yasaklamaya çalıştı. Başarısız oldu. JSON lisansı gibi, “yazılımın iyilik için kullanılmalı, kötülük için kullanılmamalıdır” şeklindeki nazik naif hükmüyle birlikte diğer lisanslar hala mevcuttur, ancak hiç kimse bunu uygulamıyor.

Daha yakın zamanlarda, aktivist ve yazılım geliştiricisi Coraline Ada Ehmke, kullanıcılarını ahlaki davranmaya zorlayan ücretsiz bir yazılım lisansı sundu. Spesifik olarak, Hipokrat Lisansı, MIT Açık Kaynak Lisansına şunu belirten bir madde ekledi: “Yazılım, bireyler, şirketler, hükümetler veya diğer gruplar tarafından fiziksel olarak aktif ve bilinçli olarak tehlikeye atan, zarar veren veya başka bir şekilde tehdit eden sistemler veya faaliyetler için kullanılamaz. Birleşmiş Milletler İnsan Hakları Evrensel Beyannamesi’ni ihlal ederek dezavantajlı bireylerin veya grupların zihinsel, ekonomik veya genel refahı.”

Niyet övgüye değerse, artık açık kaynak yapmamak anlamına gelir. Açık kaynak kendi içinde etik bir konumdur. Ethos’u, Özgür Yazılım Vakfı’nın (FSF) dört temel özgürlüğünde yer almaktadır. Bu, tüm özgür yazılım lisanslarının ve temel felsefelerinin temelidir. Özgür yazılım hukuk uzmanı ve Columbia hukuk profesörü Eben Moglen’in özetlediği gibi, etik lisanslar özgür yazılım veya açık kaynak lisansları olamaz.

Kötü niyet

Ne yazık ki, özgür yazılımı daha yüksek bir etik amaç olarak gördükleri için kullanmaya çalışan insanlar, özgür yazılım için sorunlara neden olan tek kişi değildir. Bu yılın başlarında, JavaScript geliştiricisi Marak Squires, karanlık ama hayati, açık kaynaklı Javascript kitaplıkları “colors.js” ve “faker.js”yi kasıtlı olarak sabote etti. Sonuç ? On binlerce JavaScript programı patladı.

O zamandan beri silinen bir GitHub gönderisinde geliştirici, hareketini “artık Fortune 500’ü (ve diğer küçük şirketleri) ücretsiz çalışmamla desteklemek istemediğini” açıklayarak haklı çıkardı. Söyleyecek başka bir şey. Bunu bana altı tane göndermek için bir fırsat olarak değerlendirin -Yıllık sözleşme yap ya da projeyi çatalla ve başka birinin üzerinde çalışmasını sağla.” Tahmin edebileceğiniz gibi, maaş almak için yapılan bu şantaj girişimi başarılı olmadı.

Diğer insanlar da eğlence ve kâr için kasıtlı olarak açık kaynak kodlarına kötü amaçlı yazılım ekler. DevOps güvenlik firması JFrog, NPM deposunda bir kullanıcının Discord belirteçlerine kasıtlı olarak saldıran ve çalan 17 yeni JavaScript kötü amaçlı yazılım paketi keşfetti. Bunlar daha sonra dijital iletişim ve dağıtım platformu Discord’da kullanılabilir.

Yeni kötü niyetli açık kaynaklı programlar oluşturmanın yanı sıra, diğer kötü adamlar eski, sahipsiz yazılımları alıp kripto para hırsızlığı arka kapılarını içerecek şekilde yeniden yazıyorlar. Böyle bir program olay akışıydı. Bitcoin cüzdanlarını çalmak ve bakiyelerini Kuala Lumpur’daki bir sunucuya aktarmak için buraya kötü amaçlı kod yerleştirildi. Yıllar boyunca buna benzer birkaç olay yaşandı.

Peki ne yapmalı? Yeni başlayanlar için, açık kaynak kodunun kullanımını engellememiz gerektiğinde çok dikkatli düşünmeliyiz. Daha somut olarak, Linux Vakfı’nın Yazılım Paketi Veri Değişimi (SPDX) ve Yazılım Malzeme Listesi (SBOM) kullanımını benimsemeye başlamamız gerekiyor. Bu araçlar birlikte, programlarımızda tam olarak hangi kodu kullandığımızı ve nereden geldiğini bilmemizi sağlayacaktır. O zaman bilinçli kararlar verebilmemiz çok daha iyi olacaktır.

Kaynak: ZDNet.com



genel-15

Bir yanıt yazın