FreeBSD 13 neredeyse lisans ihlalleri ve güvenlik açıkları içeren WireGuard'ın hack uygulamasıyla sonuçlandı

FreeBSD 13 sürümünün oluşturulduğu kod tabanından, orijinal WireGuard geliştiricilerine danışılmadan Netgate'in emriyle geliştirilen ve halihazırda pfSense dağıtımının kararlı sürümlerine dahil edilen WireGuard VPN protokolünü uygulayan kod skandal bir şekilde ortaya çıktı. kaldırıldı. Orijinal WireGuard'ın yazarı Jason A. Donenfeld tarafından yapılan kod incelemesinden sonra, FreeBSD'nin önerdiği WireGuard uygulamasının arabellek taşmalarıyla dolu ve GPL'yi ihlal eden kalitesiz bir kod parçası olduğu ortaya çıktı.

Uygulama, şifreleme kodunda yıkıcı kusurlar içeriyordu, WireGuard protokolünün bir kısmı atlandı, çekirdeğin çökmesine ve güvenlik yöntemlerinin atlanmasına yol açan hatalar vardı ve giriş verileri için sabit boyutlu arabellekler kullanıldı. Her zaman "true" değerini döndüren kontroller yerine saplamaların varlığı, ayrıca şifreleme için kullanılan parametrelerin çıktısını içeren unutulmuş hata ayıklama printf'leri ve yarış koşullarını önlemek için uyku fonksiyonunun kullanılması, kodun kalitesi hakkında çok şey söyler.

Kodun crypto_xor işlevi gibi bazı bölümleri, GPL lisansını ihlal edecek şekilde Linux için geliştirilen WireGuard uygulamasından taşındı. Sonuç olarak, Jason Donenfield, Kyle Evans ve Matt Dunwoodie (OpenBSD için WireGuard portunun yazarı) ile birlikte sorunlu uygulamayı yeniden düzenleme görevini üstlendi ve bir hafta içinde Netgate tarafından kiralanan geliştiricinin tüm kodlarını tamamen değiştirdi. . Değiştirilen sürüm ayrı bir yama seti olarak yayınlandı, WireGuard proje deposuna yerleştirildi ve henüz FreeBSD'ye dahil edilmedi.

İlginç bir şekilde, başlangıçta hiçbir sorun belirtisi yoktu; WireGuard'ı pfSense dağıtımında kullanabilmek isteyen Netgate, FreeBSD çekirdeği ve ağ yığını konusunda deneyimli, hata düzeltmeleriyle ilgilenen ve geliştirme deneyimi olan Matthew Macy'yi işe aldı. Bu işletim sisteminin ağ sürücüleri. Macy'ye son teslim tarihleri ​​veya ara sınavlar olmadan esnek bir program verildi. Macy ile FreeBSD üzerinde çalışırken tanışan geliştiriciler, onu diğerlerinden daha fazla hata yapmayan ve eleştirilere yeterince yanıt veren yetenekli ve profesyonel bir programcı olarak tanımladılar. FreeBSD için WireGuard uygulama kodunun kalitesizliği onları şaşırttı.

Macy, 9 aylık çalışmanın ardından uygulamasını, FreeBSD 13 sürümünü formüle etmek için kullanılan HEAD şubesine, hakem incelemesi ve testleri tamamlanmadan geçen Aralık ayında ekledi.Geliştirme, orijinal WireGuard geliştiricileriyle iletişim kurulmadan gerçekleştirildi ve OpenBSD ve NetBSD bağlantı noktaları. Şubat ayında Netgate, WireGuard'ı pfSense 2.5.0'ın kararlı sürümüne entegre etti ve buna dayalı güvenlik duvarları sunmaya başladı. Sorunlar tespit edildikten sonra WireGuard kodu pfSense'ten kaldırıldı.

Eklenen kod, 0 günlük istismarlarda kullanılan kritik güvenlik açıklarını ortaya çıkardı, ancak ilk başta Netgate güvenlik açıklarının varlığını kabul etmedi ve orijinal WireGuard geliştiricisini saldırılar ve önyargılarla suçlamaya çalıştı, bu da itibarını olumsuz etkiledi. Bağlantı noktası geliştiricisi başlangıçta kod kalitesiyle ilgili iddiaları reddetti ve bunların abartılı olduğunu düşündü, ancak hataları gösterdikten sonra asıl önemli sorunun FreeBSD'de kod kalitesinin doğru şekilde gözden geçirilmemesi olduğuna dikkat çekti, çünkü sorunlar aylarca fark edilmeden kaldı. (Netgate temsilcileri, incelemenin Ağustos 2020'de halka açık olarak başlatıldığını belirtti, ancak bireysel FreeBSD geliştiricileri, Phabricator'da incelemenin Macy tarafından tamamlanmadan kapatıldığını ve yorumların göz ardı edildiğini belirtti). FreeBSD Çekirdek Ekibi olaya kod inceleme süreçlerini modernleştirme sözü vererek yanıt verdi.

Sorunlu FreeBSD portunun geliştiricisi Matthew Macy, projeyi hayata geçirmeye hazır olmadan işi üstlenerek büyük bir hata yaptığını söyleyerek durum hakkında yorum yaptı. Macy, ortaya çıkan sonucu duygusal tükenmişlik ve Kovid sonrası sendrom nedeniyle ortaya çıkan sorunların sonucunu açıklıyor. Macy aynı zamanda üstlendiği yükümlülüklerden vazgeçme kararlılığını da bulamadı ve projeyi tamamlamaya çalıştı.

Macy'nin durumu, satın aldığı bir evden gönüllü olarak taşınmak istemeyen kiracıları yasadışı bir şekilde tahliye etmeye çalıştığı için yakın zamanda aldığı hapis cezasından da etkilenmiş olabilir. Bunun yerine, o ve eşi, evi yaşanmaz hale getirmek için zemin kirişlerini kestiler ve zeminde delikler açtılar, aynı zamanda sakinleri korkutmaya çalıştılar, işgal edilen dairelere zorla girdiler ve eşyalarını aldılar (bu eylem hırsızlık olarak sınıflandırıldı). Eylemlerinin sorumluluğundan kaçınmak için Macy ve karısı İtalya'ya kaçtı, ancak Amerika Birleşik Devletleri'ne iade edildiler ve dört yıldan fazla hapis yattılar.

Kaynak: opennet.ru

Yorum ekle