Cycode, CI/CD işlem hatları için son teknoloji ürünü bir güvenlik tarayıcısı olan Raven’ı tanıtmaktan heyecan duyuyor.
Raven, CI/CD Boru Hattı Güvenliği için Risk Analizi ve Güvenlik Açığı Sayımı anlamına gelir ve artık GitHub’da açık kaynaklı bir araç olarak mevcuttur.
Bu yenilikçi çözüm, yaklaşan Black Hat Arsenal – SecTor Toronto etkinliğinde sunulacak.
Raven, Kod testinden dağıtıma kadar her şeyin otomasyonunu mümkün kıldığından GitHub Eylemlerinin CI/CD için gerekli olduğu bir zamanda geliyor.
Ancak bu eylemler aynı zamanda güvenlik açığı riskini de beraberinde getiriyor. Raven’ın burada olmasının nedeni bu.
Raven, GitHub iş akışlarını hassas bir şekilde tarayarak bunları ayrı bileşenlere böler.
Bu bileşenler daha sonra aralarındaki bağlantılarla birlikte bir Neo4j veritabanında düğümler olarak depolanır.
Bu yapı, iş akışlarındaki güvenlik açıklarının kolayca taranmasına ve tespit edilmesine olanak tanır.
Raven’ın en önemli özelliklerinden biri, Cycode ekibinin bir yılı aşkın süredir yaptığı kapsamlı araştırmaların sonucunda ortaya çıkan zengin bilgi tabanıdır.
Bu bilgi tabanı, binlerce proje ve çoklu konfigürasyon dahil olmak üzere çeşitli sistemleri kapsar.
Cycode, Raven’ı CI/CD güvenliğini artırmak ve daha geniş geliştirme topluluğuna yardımcı olmak için açık kaynaklı bir araç haline getirdi.
GitHub Eylemleri: Görünüşte Basit, Altta Karmaşık
GitHub Eylemleri, GitHub içindeki temel otomasyon motorudur ve geliştiricilerin depolarından kod oluşturmasına, test etmesine ve dağıtmasına olanak tanır.
Bu otomatikleştirilmiş işlemler, yürütülen bir dizi “iş” ve “adım”ı tanımlayan “iş akışları” adı verilen YAML dosyalarında belirtilir. GitHub Eylemleri, kullanıcıların GitHub platformundan ayrılmadan özel yazılım geliştirme yaşam döngüsü (SDLC) işlem hatları oluşturmasına olanak tanır.
Ancak büyük güç, büyük sorumluluğu ve bu durumda güvenlik sorunlarını da beraberinde getirir.
İş akışları, sırların kazara açığa çıkmasından kod ekleme saldırılarına kadar çeşitli güvenlik açıklarına sahip olabilir.
Hatta bazı güvenlik açıkları derleme sunucularını tehlikeye atabilir veya yapıları ortaya çıkarabilir ve milyonlarca kişiyi etkileyebilecek ciddi bir tedarik zinciri saldırısı tehdidi oluşturabilir.
Bu güvenlik açıklarını bulmak zor olabilir çünkü bunlar bir iş akışının bağımlılıklarında gizlenmiş olabilir veya normal ifade taramaları gibi geleneksel yöntemlerle kolayca tespit edilemeyen mantıksal hatalardan kaynaklanabilir.
Raven’ın Yeni Yaklaşımı
Raven bu karmaşık sorunları benzersiz tarama ve analiz yöntemlerini kullanarak çözmektedir.
Bağımlı eylemleri, yeniden kullanılabilir iş akışlarını, kullanıcı giriş parametrelerini ve çatallardan çekme isteklerini içeren GitHub Actions’ın çeşitli ortamında Raven karmaşıklığı azaltır.
Bu karmaşık etkileşim ağını, Neo4j veritabanındaki bileşenlerin ve bağlantılarının basit ve net bir temsiline dönüştürerek GitHub Eylemlerinin nasıl çalıştığına dair net bir görünüm sağlar.
Raven ile Tanışın: Açıklanan Üç Ana Bileşen
Raven, GitHub Actions’ın güvenlik sorunlarını çözen bir Python aracıdır. Üç ana bileşeni vardır:
1. İndirin: Raven, iş akışlarını ve bağımlılıklarını GitHub’dan indirerek ve bunları bir Redis veritabanına kaydederek başlıyor.
Bu aşamanın iki modu vardır: Özel organizasyonların güvenliğini sağlamak için Organizasyon Modu ve belirli bir yıldız derecelendirmesi aralığına sahip GitHub depolarını taramak ve analiz için iş akışlarını ve bağımlılıklarını indirmek için Tarama Modu. Bu yöntem, açık kaynaklı projelerde zaten birçok istismar bulmuştur.
2. Dizin: İndeksleme aşaması Raven’ın Redis veritabanındaki iş akışlarını sıralamasını sağlar. Türüne göre her bileşen için Python sınıfı örnekleri oluşturur, ardından bunları Neo4j düğümlerine dönüştürerek farklı iş akışı bileşenlerini birbirine bağlar. Bu indeksleme işlemi, basit sorgulara izin vererek güvenlik açıklarının bulunmasını kolaylaştırır.
3. Rapor: Raven’ın raporlama özelliği güvenlik uzmanları için yapılmıştır. Zamanlanmış bir görevin parçası olduğunda günlük tarama yapabilir ve ayrıntılı raporları bir Slack kanalına gönderebilir. Bu aktif yaklaşım, yüksek düzeyde güvenlik sağlayarak herhangi bir güvenlik açığının hızlı bir şekilde bulunup düzeltilmesini sağlar. Bu özelliğin artık beta sürümde olduğunu ve daha fazla iyileştirmenin planlandığını söylemek önemlidir.
Raven’ın GitHub deposunda, Neo4j veritabanlarındaki güvenlik açıklarını bulmaya yönelik bir Cypher sorguları kitaplığı göreceksiniz. Cycode’un araştırma ekibi zaten bu sorguları halka açık depolardaki bazı güvenlik açıklarını bulmak için kullandı, ancak keşfedilecek daha çok şey var. Raven’ın açık kaynaklı bir araç olarak piyasaya sürülmesi, CI/CD işlem hatlarının güvenliğini güçlendirmeye ve topluluk işbirliği ruhunu desteklemeye yönelik büyük bir adımdır.”
850’den fazla üçüncü taraf uygulamaya hızlı bir şekilde yama uygulamak için Patch Manager Plus’ı kullanarak kendinizi güvenlik açıklarından koruyun. Bir dene ücretsiz deneme % 100 güvenlik sağlamak için.