Bazı geliştiriciler açık kaynaklı yazılımları kirletiyor

gettyimages-1159346361-kötü amaçlı-kod-kafatası-çapraz kemikler.jpg

Getty Images

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. Ancak şimdi, bir avuç programcı, kendi endişelerini, birçok ve potansiyel olarak herkes için açık kaynaklı yazılımları mahvetmenin iyiliğinin önüne koyuyor.

Örneğin, JavaScript'in paket yöneticisi sürdürücüsü RIAEvangelist, Brandon Nozaki Miller, Peacenotwar adlı bir açık kod npm kaynak kodu paketi yazdı ve yayınladı. Çok az şey yaptı ama masaüstlerine barış için bir mesaj yazdırdı. Şimdiye kadar çok zararsız. 

Miller daha sonra, bilgisayarlarının bir Rusya veya Beyaz Rusya IP adresi varsa, kullanıcıların dosya sistemlerinin üzerine yazmak için pakete kötü amaçlı kod ekledi. Daha sonra onu popülerliğine bir bağımlılık olarak ekledi. düğüm-ipc program ve anlık kaos! En yeni koda güncellenirken çok sayıda sunucu ve bilgisayar çöktü ve ardından sistemleri sürücüleri silindi. 

Miller'in savunması, "Bunların hepsi herkese açık, belgelenmiş, lisanslı ve açık kaynaklıdır.”durmuyor. 

Liran Tal, Snyk Sorunu ortaya çıkaran araştırmacı, "Kasıtlı ve tehlikeli eylem, bazıları tarafından meşru bir protesto eylemi olarak algılansa bile, bu, bakıcının gelecekteki itibarına nasıl yansır? ve geliştirici topluluğunda payın var mı? Bu bakıcıya, katıldıkları herhangi bir proje için bu tür veya daha agresif eylemlerde gelecekteki eylemleri takip etmeyeceği konusunda bir daha güvenilecek mi?” 

Miller rastgele bir krank değil. Node-ipc gibi birçok iyi kod üretti ve Düğüm HTTP Sunucusu. Ancak, onun kodlarından herhangi birinin kötü niyetli olmadığına güvenebilir misiniz? olarak nitelendirirken, “kötü amaçlı yazılım değil, [ancak] tamamen belgelenmiş protesto yazılımı”, diğerleri şiddetle karşı çıkıyor. 

Bir GitHub programcısının yazdığı gibi, “Bununla ne olacak, Batılı şirketlerdeki Rusya veya siyasetle kesinlikle hiçbir ilgisi olmayan güvenlik ekipleri görmeye başlayacak. tedarik zinciri saldırıları için bir yol olarak ücretsiz ve açık kaynaklı yazılım (ki bu tamamen böyledir) ve sadece ücretsiz ve açık kaynaklı yazılımları – tüm özgür ve açık kaynaklı yazılımları – şirketlerinde yasaklamaya başlayın.” 

nm17 tanıtıcısına sahip başka bir GitHub geliştiricisinin yazdığı gibi, "The açık kaynağın güven faktörügeliştiricilerin iyi niyetine dayanan , şimdi pratik olarak gitti ve şimdi, giderek daha fazla insan, bir gün kitaplıklarının/uygulamalarının, internetteki rastgele bir geliştiricinin düşündüğü her şeyi yapmak/söylemek için kullanılabileceğini fark ediyor. yapacakları doğru şeydi.'”

Her ikisi de geçerli puanlar veriyor. Yapımcısının politik duruşuna katılmadığınız sürece kaynak kodu kullanamıyorsanız, onu nasıl güvenle kullanabilirsiniz? 

Miller'in kalbi doğru yerde olabilir — Slava Ukraini! - ancak açık kaynaklı yazılıma kötü niyetli bir yük bulaşmış mı? Hayır değil. 

Açık kaynak yöntemi yalnızca birbirimize güvendiğimiz için çalışır. Bu güven kırıldığında, hangi nedenle olursa olsun, açık kaynağın temel çerçevesi bozulur. Stabil dalın Linux çekirdeği koruyucusu Greg Kroah-Hartman'ın, Minnesota Üniversitesi'nden öğ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ı kasıtlı kötü niyetli davranış ve kabul edilemez ve tamamen etik dışıdır.”

İnsanlar uzun zamandır açık kaynağın etik hükümleri de içermesi gerektiğini tartışıyorlar. Örneğin, 2009'lar İstisna Genel Kamu Lisansı (eGPL), bir revizyon GPLv2, askeri kullanıcılar ve tedarikçiler gibi “istisnaların” kodunu kullanmasını yasaklamaya çalıştı. Başarısız oldu. gibi diğer lisanslar JSON lisansı tatlı bir saflıkla “yazılım kötülük için değil, iyilik için kullanılacaktır” maddesi hala ortalıkta dolaşıyor ama kimse bunu uygulamıyor.  

Daha yakın zamanlarda, aktivist ve yazılım geliştiricisi Coraline Ada Ehmke, kullanıcılarının ahlaki davranmasını gerektiren bir açık kaynak lisansı sundu. özellikle, onun hipokrat ehliyeti ekledi MIT açık kaynaklı lisans belirten bir fıkra: 

“Yazılım, bireyler, şirketler, hükümetler veya diğer gruplar tarafından aktif ve bilinçli olarak tehlike oluşturan, zarar veren veya fiziksel, zihinsel, ekonomik veya genel refahı tehdit eden sistemler veya faaliyetler için kullanılamaz. Birleşmiş Milletler İnsan Hakları Evrensel Beyannamesi'nin ihlali."

Kulağa hoş geliyor, ancak açık kaynak değil. Görüyorsunuz, açık kaynak kendi içinde etik bir konumdur. Onun etiği, şu belgede yer almaktadır: Özgür Yazılım Vakfı'nın (FSF)'ler Dört Temel Özgürlük. Bu, tüm açık kaynak lisanslarının ve temel felsefelerinin temelidir. Açık kaynak hukuk uzmanı ve Columbia hukuk profesörü Eben Moglen olarak, o sırada etik lisansların özgür yazılım veya açık kaynak lisansları olamayacağını söyledi: 

"özgürlük sıfır, programı herhangi bir amaç için çalıştırma hakkı, dört özgürlüğün başında gelir, çünkü kullanıcılar çalıştırdıkları bilgisayar programları ile ilgili olarak bu hakka sahip değilse, sonuçta o programlarda hiçbir hakka sahip olmazlar. Sadece iyi kullanımlar için izin verme veya lisans verenin gözünde kötü olanları yasaklama çabaları, sıfır özgürlüğü koruma gerekliliğini ihlal etmektedir.” 

Başka bir deyişle, kodunuzu herhangi bir nedenle paylaşamıyorsanız, kodunuz gerçekten açık kaynak değildir. 

Bir grubun açık kaynaklı yazılım kullanmasını yasaklamayla ilgili daha pragmatik bir argüman, IP adresi gibi bir şeyi engellemenin çok geniş bir fırça olduğudur. Florian Roth olarak, güvenlik şirketi Nextron Sistemleri' Düşünen Araştırma Başkanı, “sistemlerde ücretsiz araçlarımı devre dışı bırakmak belirli dil ve saat dilimi ayarlarıyla," sonunda yapmamaya karar verdi. Niye ya? Çünkü böyle yaparak, "eleştirmenlerin ve özgür düşünenlerin sistemlerindeki araçları da devre dışı bırakırdık hükümetlerinin eylemlerini kınıyor.” 

Ne yazık ki, açık kaynaklı yazılımlar için sorun yaratanlar, yalnızca daha yüksek bir etik amaç olarak gördükleri şey için açık kaynak kullanmaya çalışan insanlar değildir. 

Bu yılın başlarında, JavaScript geliştiricisi Marak Squires, belirsiz, ancak hayati derecede önemli açık kaynaklı Javascript kitaplıkları 'colors.js' ve 'faker.js'yi kasıtlı olarak sabote etti. Sonuç? On binlerce JavaScript programı havaya uçtu.

Niye ya? Hala tam olarak net değil, ancak o zamandan beri silinen bir GitHub gönderisinde Squires, “Saygılarımla, Artık Fortune 500'leri desteklemeyeceğim (ve diğer küçük ölçekli şirketler) ücretsiz çalışmamla. Söyleyecek fazla bir şey yok. Bunu bana altı haneli yıllık bir sözleşme göndermek veya projeyi çatallamak ve üzerinde başka birinin çalışmasını sağlamak için bir fırsat olarak değerlendirin.” Tahmin edebileceğiniz gibi, maaş çekine giden bu şantaj girişimi onun için pek iyi sonuçlanmadı. 

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

Masum ve yardımcı görünen yeni kötü niyetli açık kaynaklı programlar oluşturmanın yanı sıra, diğer saldırganlar eski, terk edilmiş yazılımları alıp kripto para çalma arka kapılarını içerecek şekilde yeniden yazıyorlar. Böyle bir program olay akışıydı. Bitcoin cüzdanlarını çalmak ve bakiyelerini bir Kuala Lumpur sunucusuna aktarmak için içine kötü amaçlı kod eklenmişti. Yıllar boyunca buna benzer birkaç olay yaşandı.

Bu tür her harekette, açık kaynaklı yazılıma olan inanç yıpranıyor. Açık kaynak, modern dünya için kesinlikle hayati olduğundan, bu berbat bir trend. 

Bunun hakkında ne yapabiliriz? Bir kere, gerçekten çok dikkatli düşünmeliyiz, eğer olursa, açık kaynak kodunun kullanımını engellememiz gerekir. 

Daha pratik olarak, kullanımını benimsemeye başlamalıyız. Linux Vakfı'nın Yazılım Paketi Veri Değişimi (SPDX) ve Yazılım Malzeme Listesi (SBOM). Bunlar birlikte bize programlarımızda tam olarak hangi kodu kullandığımızı ve nereden geldiğini söyleyecektir. O zaman, çok daha bilinçli kararlar verebiliriz.

Bugün, çoğu zaman insanlar tam olarak ne çalıştırdıklarını bilmeden veya sorun olup olmadığını kontrol etmeden açık kaynak kodu kullanıyor. Her şeyin yolunda olduğunu varsayıyorlar. Bu asla akıllıca bir varsayım olmadı. Bugün, tamamen aptalca. 

Tüm bu son değişikliklere rağmen, açık kaynak kara kutu tescilli yazılım alternatiflerinden hala daha iyi ve daha güvenlidir. Ancak, körü körüne güvenmek yerine kodu kontrol etmeli ve doğrulamalıyız. İleriye dönük yapılacak tek akıllı şey bu.

İlgili Öyküler:



Kaynak