OpenVPN denetiminin arkasındaki ekip OSTIF ile röportaj
OpenVPN’in güvenlik denetimini yeni tamamladınız. Bu projede iki kişi neredeyse iki ay çalıştı. Böyle bir denetim nasıl çalışır??
Aslında, güvenlik incelemesinde toplam 50 gün (yaklaşık 1000 saat) çalışan üç araştırmacı olarak yaralandı..
Bir yazılım parçasını denetlemeyi planladığımızda, denetimin zamanlamasını planlayan, işi kimin yapacağını ve yazılımın hangi alanlarını kapsayacağımızı belirleyen önemli miktarda çalışma vardır..
OpenVPN için, bazı büyük kod değişikliklerine sahip OpenVPN 2.4’ün yayınlanmasını bekledik. Daha sonra yeni özellikleri ve birçok kaput altı değişikliği değerlendirebiliriz.
Önemli kod değişiklikleri içeren güncellemeler, yazılımı değerlendirmek için iyi zamanlardır çünkü kodlama hataları test yoluyla yapılabilir veya kenar özelliklerindeki gerilemeler çatlaklardan kayabilir.
OpenVPN benzersiz bir yazılım parçasıdır, çünkü eski sürümlerle uyumlu olması gereken birçok özelliğe sahip monolitik bir koddur. Eski uyumluluğun sağlanması, güvenlik incelemesi sürecini yavaşlatır. Uygulamanın parçalar halinde değerlendirilebileceği modüler bir tasarımdan ziyade karmaşık bir işlev ağında gezinmemiz gerekiyor. OpenVPN aynı zamanda kriptografi için iki farklı kütüphaneye (OpenSSL ve PolarSSL) güveniyor, yani güvenliği sağlayan tamamen farklı iki kripto ortamı var.
Dahası, tamamen açık kaynak olmayan benzersiz bir sürüm olan OpenVPN 3.0 var. OpenVPN 3.0, Apple App Store’daki mağazada özgür yazılımı önleyen lisans sorunları nedeniyle oluşturuldu. Android ve iOS için OpenVPN Connect için OpenVPN 3.0 kodu kullanılır. Tüm bu ekosistemi değerlendirecek olsaydık, birçok araştırmacının OpenVPN’in tüm bu varyasyonlarını taraması aylarca zaman alacaktı ve daha sonra bu çeşitli uygulamaların karşılaşabileceği tüm farklı ağ ve donanım yapılandırmalarını düşünmek zorunda kalacaklardı. Karmaşıklık ve maliyet muazzam olurdu.
Uzmanlara danıştık ve neye odaklanacağımızı anlamak için OpenVPN ekibi ve QuarksLab ile birlikte çalıştık. Windows ve Linux için OpenVPN 2.4’ün en çok kullanıcıyı kapsadığı ve en iyisini yapacağına karar verildi. Çoğu ticari VPN sağlayıcısı, çevresindeki lisans yapısı nedeniyle özel VPN istemcileri için OpenVPN 2.4 kodunu kullanır.
Ayrıca OpenVPN’in kendisi tarafından oluşturulan herhangi bir kriptografiye ve uygulamanın güvenliğine odaklanmaya karar verdik. Bu, mantık hataları, bellek ayırma hataları, yanlış arabellek kullanımı veya diğer hatalı hata durumu güvenlik açıklarını aramak anlamına gelir.
OpenSSL’nin ayrı bir denetimi, hem kriptografinin hem de uygulamanın sağlam olmasını sağlamak için OpenVPN şifrelemesinin kendisini yakından değerlendirmemizi sağlayacaktır. Kullanıcıların zevk alması için güvenli ve sömürülmesi zor bir uygulama oluşturmak önemlidir.
Gerçek denetim sürecine gelince, QuarksLab yazılımı değerlendirirken kullanılan süreçleri ve araçları belgelemek için mükemmel bir iş çıkarır. Çalışmalarımız, denetim kapsamını planlamaya ve ulaşılabilir hedefler koymaya odaklanmaktadır. Daha sonra, açık kaynak, güvenlik ve gizlilik topluluklarını, bunu yapmak için para toplama nedeninin etrafında toplarız.
Denetlemenizden, şimdi bizimle paylaşabileceğiniz şaşırtıcı / kayda değer bulgular var mı??
OpenVPN için denetim sürecinin karartma aşamasındayız, bu yüzden insanları sonuçlara götürebilecek herhangi bir ayrıntıyı tartışamayız, ancak çok yakında halka açık olacaklar. OpenVPN 2.4.2’yi bekliyoruz.
Böyle bir denetimin mantığı nedir? Potansiyel güvenlik açıklarına uçuyor musunuz, yoksa düzenli olarak güvendiğiniz yazılıma daha yakından bakmak mı istiyorsunuz??
Bir organizasyon olarak stratejimiz, farklı güvenlik ve gizlilik alanlarını kapsamak ve yaygın olarak kullanılan uygulamaları seçmek.
VeraCrypt, topluluğun büyük ölçüde güvendiği TrueCrypt için çok ihtiyaç duyulan bir halefti, ancak projeyi yürüten insanlar nispeten bilinmiyordu ve karmaşık kodlarla büyük bir proje üstleniyorlardı. İlk denetimimiz olarak ona yaklaşmak mantıklı geldi çünkü TrueCrypt 7.1a’ya giren koddaki değişiklikleri değerlendirip VeraCrypt’in mevcut sürümüyle karşılaştırabiliriz. Bu dar kapsam, maliyetleri önemli ölçüde azaltmamızı ve insanlara kuruluşun sonuç almada etkili olduğunu göstermemizi sağladı.
OpenVPN, bir başvuruya ilişkin ilk “geniş” denetimimizdir. Çok daha büyük bir bütçe gerektiriyordu ama aynı zamanda (kendileri gizlilik aktivistleri olan) geniş bir VPN sağlayıcıları topluluğuna sahipti. VPN sağlayıcıları, hem kullanıcılarının gizliliğiyle ilgileniyor, hem de OpenVPN’in güvenliği ile doğrudan ilgileniyor ve bu da hem OpenVPN ticari çıkarlarından hem de özel kullanıcılardan aynı anda bağış toplamamıza izin veriyor.
OpenSSL yine daha büyük, ancak OpenSSL kodu (ve ondan türetilen diğer kütüphaneler) en iyi 1.000.000 web sitesinin yaklaşık% 70’ine güç sağladığından her yerde endüstri desteği var. Bu bize, yeni TLS 1.3 koduna sahip ilk OpenSSL sürümü olacak OpenSSL 1.1.1’in değerlendirilmesine yardımcı olmak için fon isteyebileceğimiz pek çok iş alanı sağlıyor.
Denetlemeyi planladığımız başvurular listesinde daha aşağı ilerlerken; para toplamak zorlaşıyor. Ya onları çevreleyen topluluklar daha küçük olduğundan ya da uygulamanın başarısında kazanılmış ticari bir ilgi olmadığından.
Tekrarlanan başarılardan sonra, tamamen küçük kamu bağışlarına dayanmadan bu projelere fonları daha verimli bir şekilde yönlendirmemizi sağlayacak daha büyük kurumsal sponsorları güvence altına alabileceğimizi umuyoruz. Bu aynı zamanda uygulamalarının kullanımını kolaylaştırmak için projelerle çalışmayı, test yöntemlerini ve araçlarını geliştirmeyi ve desteklediğimiz gizlilik ve güvenlik yazılımı için takip edilmesi kolay kılavuzların oluşturulmasını içeren diğer programlarımızı oluşturmamıza da büyük ölçüde yardımcı olacaktır..
Kısacası, şu anda her büyük gizlilik ve güvenlik alanından bir uygulamayı desteklemek, sonra oradan genişletmek daha büyük bir stratejinin parçası. Kriterlerimiz, yaygın kullanımla birlikte yazılımın algılanan gücüdür.
OpenVPN projeniz için büyük ölçüde VPN endüstrisinden destek aldınız. Bunun ötesinde destek beklediniz mi? Bu destekten ne kadar memnunsunuz??
Topluluktan hem ağızdan hem de doğrudan bağışlar yoluyla büyük miktarda destek aldık.
İlk olarak fon toplamak için tahsis ettiğimiz 1 aylık pencerenin yetersiz olacağına inandığımız için hedefimiz şaşırtıcı bir şekilde hızlı bir şekilde aşıldı. Ancak hedefimizi geçtik ve 20 gün içinde planlanandan önemli ölçüde daha fazlasını artırdık. Bu para, yaz / sonbaharda başlaması planlanan böcek ödülü programı için ayrıldı.
Topluluğun olumlu tepkisi ve projeye destek verilmesi beni şaşırttı. Gerçekten dikkat çekici oldu! Projeye yönelik topluluk desteğinden çok memnunum, ancak sorularımızı yanıtlamayan veya yönetimi için hiçbir temas noktası olmayan daha büyük kuruluşların sayısına da şaşırdım..
Bununla birlikte, genel olarak iyinin kötüye ağır bastığı ve tüm destekçilerimizle OpenVPN girişimleri ve ötesinde çalışmayı dört gözle bekliyoruz.!
Toplanmış kaynaklara sahip bir para toplama modelinden, her proje için ayrı ayrı para topladığınız doğrudan bir para toplama modeline geçtiniz. Bu, VPN endüstrisinin bağışlamaktan mutluluk duyduğu OpenVPN projesi için iyi çalıştı. Gelecekteki projelerin benzer şekilde finanse edilmesini bekliyor musunuz ve bu, onları çevreleyen ticari bir sanayi (OTR gibi) olmayan yazılım projeleri için nasıl çalışacak??
Fonlama modelindeki değişiklik, topluluktan çıkartma şokuyla ilgili geri bildirimlerden kaynaklanıyordu. İlk para toplama turumuz sırasında bir yıllık faaliyetler planladık ve daha sonra bu çabayı KickStarter aracılığıyla bağışlamaya çalıştık. Bu, bağışlar için ödüller, KickStarter ücretleri ve bağışlardan para çeken ödeme hizmetleri gibi finansal engellere yol açtı. Ayrıca, planlanan 8 proje bir araya gelerek hedefi milyonlarca dolara itti. Endüstrinin yeni bir geçmişi olarak, çok fazla para dahil ve birkaç önemli KickStarter başarısızlığından sonra, en baştan mahkum edildi.
Stratejideki değişimimiz genel giderleri ve rakamları dünyaya indirdi ve daha ulaşılabilir hedefler koydu, ancak her bir bağış için önemli ölçüde daha fazla çalışma gerektiriyor. Sorumluluk ve etkililik konusunda bir itibar oluşturduktan sonra, daha fazla iş yapmamıza ve doğrudan bağış talep etmeye daha az odaklanmamızı sağlayacak daha büyük bağışçıları güvence altına alabileceğimizi umuyoruz. Daha büyük bağışlar, OTR, Nginx, Tunnelblick ve daha fazlası gibi ticari açıdan daha az ilgi çekici projeleri finanse etmemize de katkıda bulunacak..
Gizliliği ve güvenliği geliştiren teknolojinin geliştiğini nasıl görüyorsunuz? Özellikle cep telefonları ve tescilli sistemler ile ilgili olarak?
Çeşitli devlet kurumu sızıntıları sayesinde, bilginin etrafındaki şifreleme iyi olursa, toplu olarak kıramayacaklarını gördük.
Bu gerçek, en azından son birkaç yılda yaygınlaşan “herkesi dinliyor” kitlesel gözetim biçimini devre dışı bırakır. Bu gizlilik araçları gelişmeye devam ettikçe ve kripto kırılması zorlaştıkça ve kullanımı daha kolay hale geldikçe, cihazlara saldırmak ve cihazların güvenliğini tehlikeye atma çabalarının büyük ölçüde arttığını göreceğiz.
Gemalto ile büyük SIM kart tuşlarının çalınması, NSA sızıntılarındaki büyük RSA anahtar listeleri, Cisco ve Juniper sistemlerine arkaya yerleştirilmiş vb..
Güvenlik topluluğu uzun zamandır en özel bilgilerimizi barındıran cihazları çevreleyen “açık kaynak kodunun” yığınını “istiyor. Şu anda en büyük engel, bunu yapmak için desteği finanse etmek ve organize etmektir..
Bazı şirketler tescilli tarafta büyük işler yapıyor gibi görünüyor, ancak defalarca kara bir kod kutusuna güvenemeyeceğimizi öğrendik. İOS’ta bu ay öbek taşmasına bakın: https://googleprojectzero.blogspot.com/2023/04/exception-oriented-exploitation-on-ios.html
Android, milyonlarca savunmasız cihaz yaratan güncellemelerle ilgili ekosistemle ilgili birçok sorun içeriyor. Veya şirketler satış durduktan sonra telefonları için güncellemeleri ihmal eder. Son zamanlarda Project Zero tarafından gösterildiği gibi, asla düzeltilmeyecek savunmasız Broadcom radyo ürün yazılımı gibi daha derin sorunlar da var..
Gerçekten açık kaynaklı bir telefon büyük bir sorudur, ancak kesinlikle açık kaynaklı topluluğu bulmacanın parçalarını bağımsız olarak geliştirmek için doğru yönde itmeye çalışabiliriz. Umarım oraya gidebiliriz, çünkü mevcut durum bir karışıklıktır. Şimdiden akıllı telefon tabanlı bir Mirai’nin veri taşkınları ile dünyanın dört bir yanındaki hücre kulelerini devirdiğinden şok oldum.
Apple, güvenlik ve gizlilik konusundaki tescilli sistemleri ile birçok olumlu haber yapıyor. Sizce açık kaynaklı projeler, kullanıcı haklarına saygı gösterirken kullanılabilir teknolojiyi kitlelere ulaştırmak için ne oynayacak?
Apple, güvenliğe odaklanan bir telefon ekosistemi oluşturmaya büyük kaynaklar getirdi. Sorun şu ki, Apple bu teknolojiyi açık kaynak kullanmıyor, bu nedenle Windows gibi ticari yazılımlara çarpan sorunla uğraşıyoruz.
Kalitesi bilinmeyen milyonlarca satır kod içeren, hepsi birbiriyle bilinen yollarla etkileşime giren bir kara kutumuz var. Apple, kötü amaçlı yazılım üreticileri ve güvenlik araştırmacılarının kodlarını tersine mühendislik yapıp kusurları bulamamalarına güveniyor. Bu motivasyonun bir parçası, yazılımı telefonlara kilitlemektir, böylece iOS yalnızca orijinal Apple donanımına yüklenebilir. Başka bir motivasyon, telefonları yazılıma kilitlemektir, böylece bir iPhone satın alamaz ve alternatif bir işletim sistemi koyamazsınız, böylece esir bir kitleyle uygulama mağazasından para çekme yeteneklerini korursunuz.
Açık olmak gerekirse, şu an itibariyle, genel güvenlik söz konusu olduğunda Google’dan daha objektif olarak daha iyi bir iş yapıyorlar. Sorun şu ki, bu kara kutuya güvenilemiyor. Tüm yazılımlarda olduğu gibi hatalar var – binlerce hata. Bu yazılım tescilli olduğundan ve kaynak mevcut olmadığından, bu hatalar bir Apple güvenlik ekibi veya dünyada onları ilk önce bulan herhangi bir kişi tarafından keşfedilmeyi bekliyor..
Açık Kaynak yazılım gözden geçirilebilir. Gizlilikle ilgilenen hiçbir kişinin objektif olarak kabul edemeyeceği “sadece bana güven” sorusunu kaldırır.
Google’ın Apple yönünde hareket etmesinin, güncellemelerin satıcıdan bağımsız olarak tüm cihazlarda zorlanacağını ve bunun gerçekleşmesi için donanım gereksinimlerinin sıkılaştırılması gerektiğini umuyorum. Ayrıca, telefonun güvenlik için güvendiği tüm yığına güvenebilmemiz için Google ürün yazılımının ve ilgili sürücülerinin şu anda kapalı bölümlerini de açık kaynak olarak kullanabileceğimizi umuyorum. Bu, iyi güvenlik ve gizlilik uygulamalarıyla pazarı yönlendirecek açık bir çözüm getirecektir..
Diğer insanların kodlarına çok bakın. Hangi yaygın hataları gözlemliyorsunuz? En yaygın ne tür hatalar?
Aslında güvenlik incelemelerini kendim yapmıyorum, bu da sözleşmeli denetçilere bırakılıyor. Ancak en yaygın sorunlar bellek yönetimi ile ilgili sorunlar ve artık kullanılmadığında güvenlikle ilgili verilerin düzgün bir şekilde silinmesidir.
Diğer büyük hata kendi kriptografinizi yazmaya çalışmaktır. Çılgınca karmaşık ve son birkaç on yılda icat edilen kriptografiyi yenmenin birçok yolu var. Güçlü kriptografi oluşturmak için hepsini dikkatlice düşünmeli ve birçok standarda uymalısınız. Zaten uyumlu kitaplıkların kullanılması, bu güvenlik mayın alanını tamamen önler.
Bunu okuyan birçok kodlayıcıyla paylaşmak için tavsiyeniz var mı??
Açık kaynaklı bir güvenlik veya gizlilik girişimini destekleyin. Değerli bir projeye ayda tek bir taahhütte bulunsanız bile, kodlayıcı olarak zamanınızı ve bilginizi gönüllü hale getirmek son derece değerlidir..
Toplulukların yeteneklerinin ve zamanının toplamı, interneti ve dünyayı daha iyi hale getirebilecek uygulamalara katkıda bulunur. Güvenlik geçmişiniz yoksa, bu araçların ve kitaplıkların oluşturulmasına ve geliştirilmesine yardımcı olan bir kuruluşa yinelenen küçük bir bağışta bulunun. Sadece OSTIF’den bahsetmiyorum, Özgür Yazılım Vakfı’ndan ya da bir açık kaynak yazılım indirdiğinizde gördüğünüz bağış düğmelerinden bahsediyorum..
Bir kaç doların küçük projelerin işleyişine ve gelişmesine ne kadar yardımcı olduğuna şaşıracaksınız. Küçük katkılar hepimiz için daha iyi bir dijital dünyaya katkıda bulunur.
Garrett
17.04.2023 @ 19:33
olarak kabul edilen tüm hataları kapsamaktadır. Bu denetim, OpenVPNin güvenliği ve gizliliği konusundaki taahhüdünü göstermektedir ve kullanıcıların güvenli bir VPN deneyimi yaşamasını sağlamak için yapılan önemli bir çalışmadır. Bu tür denetimlerin, yazılımın güvenliği ve güvenilirliği konusunda şeffaflık sağladığı ve kullanıcıların güvenliğini korumak için önemli bir araç olduğu açıktır.