Kodu manuel olarak okumak zaman alıcı bir işlemdir. Ayrıca önemli ayrıntıların gözden kaçırılması kolay olduğundan hataya açıktır. Geliştiriciler ve penetrasyon test uzmanları olarak bu süreci otomatikleştirmenin bir yolunu bulmamız gerekiyor. SAST bu görevde bize yardımcı olabilecek bir tekniktir. Yalnızca açık kaynaklı projelere veya beyaz kutu sızma testlerine yönelik kaynak koduna erişimi olan kullanım senaryoları için kullanılabilir. Ancak, aşağıda asılı olan bazı meyveleri bulmanıza ve zamandan tasarruf etmenize yardımcı olabilir. SAST sihirli bir değnek değil. SAST nedir? Statik uygulama güvenlik testi (SAST), kodun güvenliğini ve güvenilirliğini artırmak için kullanılan statik kod analizinin bir alt kümesidir. SAST eski bağımlılıkları, gizli tespitleri, güvenlik açıklarına yol açan mantıksal hataları ve daha fazlasını tespit eder. SAST, görsel kod karmaşıklığı, kod belirsizliği ve güvenlik açıklarına yol açabilecek sezgisel olmayan uygulamalar gibi siber güvenliği ikincil olarak etkileyen testleri içerir. Uygulamadaki araçlar SAST araçları genellikle koddaki bilinen güvenlik açıklarını arayan steroidler üzerindeki normal ifade kalıp eşleştiricileridir. Örneğin, bir SAST aracı Python kodunda , veya kullanımını arayabilir; bu işlevler isteğe bağlı kod yürütmek için kullanılabilir. eval exec pickle Bilgisayar Korsanlığı ve SAST SAST'a yaklaşımımı üç kategoriye ayıracağım: : Koddaki saldırı vektörlerini bulmak için , gibi araçları kullanıyorum. Genellikle temizlenmemiş girdiler, kötü kriptografi veya savunmasız kitaplıklar gibi pek de göze çarpmayan sonuçlarla karşılaşabilirsiniz. Bu arada Semgrep PRO sürümünde daha fazla kural var; Projede 10'dan fazla geliştirici yoksa ücretsizdir. Güvenlik açığı tespiti Semgrep , Bandit Nodejsscan : , veya koddaki sırları bulmanıza yardımcı olabilir. Bu önemlidir çünkü sırlar ayrıcalıkları yükseltmek veya hassas verilere erişmek için kullanılabilir. Genellikle veritabanı bağlantı dizeleri, API anahtarları veya şifreler kodda saklanır. Gizli tespit Gitleaks Trufflehog Grep, : veya gibi araçlar yanlış yapılandırmaları bulmanıza yardımcı olabilir. Yanlış yapılandırmalar genellikle "kod olarak altyapı" (IaC) dosyalarındadır ancak kodun kendisinde de olabilir. Bunun bir örneği, bir veritabanını internete maruz bırakan, yanlış yapılandırılmış bir docker-compose dosyası olabilir. Docker dosyalarını taramak için ve kombinasyonunu öneririm Yanlış yapılandırmalar Checkov Trivy hadolint grype Daha fazla bilgi: https://dkb-zh.gitlab-pages.ics.muni.cz/vulnerability-management/web-guides-external/docs/guide_iac_sast/#docker SAST araçları mükemmel değildir. Size yanlış pozitifler ve yanlış negatifler verecekler. **Ancak bazı uygulamalardan rastgele yararlanmaya kıyasla çok daha fazla zaman tasarrufu sağlar. Sızma testi çalışmalarımda ve yarışmalarımda SAST araçlarını kullandım. Kod tabanına başlamamda bana yardımcı oldu ve güvenlik açıklarını nerede aramam gerektiği konusunda bana bazı ipuçları verdi. Bilgisayar korsanlığında SAST kullanarak nasıl eğitim verilir? ile başlamanızı tavsiye ederim. Bu platform, kaynak kodunu alma ve güvenlik açıklarını bulma gibi zorluklar sunar. Daha sonra bunları gerçek bir makinede kullanın. Bu, SAST araçlarının pratikte nasıl kullanılacağını öğrenmenin harika bir yoludur. Hack The Box Veya geliştiriciyseniz CI/CD işlem hattınızda SAST araçlarını kullanabilirsiniz. Bu şekilde araçlara ve çıktılarına alışabilirsiniz. Aynı zamanda uygulamanızın güvenliğini de artıracaksınız. Rehber tavsiyesi SAST ve gizli tespite başlamanıza yardımcı olacak bir rehber listesi hazırladım. Bu kılavuzlar tezimin bir parçası olarak yazılmıştır ve SAST araçlarına ilgi duyan herkes için harika bir başlangıç noktasıdır. Gizli tespite nasıl başlanır? Sırları tespit ederken şunu unutmayın: Bilgisayar korsanları bunu biliyorsa bu bir sır değildir. Deneyimli geliştiriciler bile yanlışlıkla parolaları veya bağlantı dizelerini uzaktan kaynak kontrolüne aktarabilir. Bu kılavuz, çeşitli araçları kullanarak bu riski azaltmak için hızlı ve kolay yöntemler sunar. Gizli algılama nasıl otomatikleştirilir? Bu kılavuz, ön işleme kancaları ve CI/CD işlem hatlarını kullanarak gizli algılamanın anlaşılmasına odaklanmaktadır. Kod öncelikle GitLab'a odaklansa da son bölüm GitHub'u da kapsayacak. SAST ardışık düzenleriyle nasıl başlanır? Bu kılavuz, GitLab'da Statik Uygulama Güvenliği Testini (SAST) başlatma adımlarını etkili bir şekilde özetlemektedir. SAST, potansiyel güvenlik açıklarını belirlemek için statik kod analizini kullanan bir süreçtir. IaC SAST'a nasıl başlanır? Bu kısa özet sayfası, Kod Olarak Altyapı (IaC) yapıtlarını taramak için yararlı araçları tanıtır ve bunları CI/CD ardışık düzeninize nasıl entegre edeceğinize dair örnekler sunar. Golang'da özel araç Golang'da normal ifadeleri büyük kod tabanlarıyla hızlı bir şekilde eşleştirmeme yardımcı olan özel bir araç oluşturdum. Kesinlik ve varyans arasında sonsuz bir değiş-tokuş vardır. Daha fazla farklılığa ihtiyacınız olduğunu ve daha fazla manuel incelemeye aldırış etmediğinizi varsayalım. Bu durumda benzeyen ancak gizli tespit için daha uygun olan deneyebilirsiniz (daha büyük depolarda daha hızlıdır, çıktıyı temizler, bazı dosya uzantılarını yok sayar). Veya grep'i doğrudan kullanabilirsiniz. . grep RegFinder'ı En değerlisi kullanacağınız araç değil, depodaki normal ifadelerdir Bu klonla depoyu çalıştırın grep -n -r your_app/ -Ef regex_dir/general.txt Veya çalıştırın ./regfinder.elf -d your_app/ -f regex_dir/general.txt Mevcut normal ifade kalıplarını genişletmek kolaydır. Bu araç otomatik işlem hatları için uygun değildir. Ancak standart dışı bir sır bulmanız gerekiyorsa veya güvenlik incelemeleri gibi daha fazla manuel çalışmanın beklendiği diğer değerlendirmelerde kullanışlı olur. . Okuduğunuz için teşekkürler. Diğer araçlarla ilgili harika deneyiminiz varsa yorum yapın