Güvenlik Analizi ve Testi

Genel Görünüm

Oracle koduna ilişkin güvenlik testleri, ürün özelliklerini ve kalitesini doğrulamak üzere hem işlevsel olan hem de işlevsel olmayan faaliyetleri içermektedir. Bu tür testlerde genellikle çakışan ürün özellikleri hedeflense de, dikey hedefler bulunmaktadır ve testler farklı ekipler tarafından gerçekleştirilmektedir. İşlevsel olan ve işlevsel olmayan güvenlik testleri, Oracle ürünlerinin kapsamlı bir şekilde güvenlik sağladığından emin olunması açısından birbirini tamamlayıcı niteliktedir.

İşlevsel Güvenlik Testi

İşlevsel güvenlik testi genellikle normal ürün testi döngüsünün bir parçası olarak normal ürün Kalite Güvence (QA) ekipleri tarafından gerçekleştirilmektedir. Kalite Güvence mühendisleri bu test sırasında, daha önce mimari ve kontrol listesi incelemeleri sürecinde oluşturulan işlevsel spesifikasyonlarda kabul edilen ve uygulamaya alınan güvenlik özelliklerinin uyumluluğunu doğrular.

Güvenlik Güvencesi Analizi ve Testi

Güvenlik güvencesi analizi ve testi, çeşitli saldırı türleri açısından Oracle ürünlerinin güvenlik niteliklerini doğrular. Oracle ürünlerinin testi için iki adet kapsamlı test kategorisi kullanılmaktadır: statik ve dinamik analiz (aşağıdaki bölümlerde daha ayrıntılı olarak açıklanmaktadır). Bu testler ürün geliştirme sürecine farklı şekillerde uymakta ve genellikle farklı kategorilerdeki sorunları bulmaktadır. Bu nedenle Oracle ürün ekipleri tarafından bir arada kullanılmaktadır.

Statik Analiz

Kaynak koduna ilişkin statik güvenlik analizi, ürün geliştirme döngüsü sırasında kullanılan ilk savunma hattıdır. Oracle, kod yazılırken sorunları tespit etmek üzere bir HP şirketi olan Fortify Software'den bir statik kod çözümleyici ve bunun yanında şirket içinde geliştirilen çeşitli araçlardan faydalanmaktadır. En modern programlama dillerinde (örneğin C/C++, Java, C#) ve platformlarında (J2EE, .NET) geliştirilen ürünler olası güvenlik sorunlarını tanımlamak üzere taranır. Bu tür kontroller C/C++ kodunda arabellek taşmalarını ve bellek sızıntılarını tanımlama konusunda, J2EE ve .NET için kaynak kullanma sorunlarını tanımlamada, uygun olmayan kimlik bilgilerinin kullanılmasını, çeşitli eklemeleri, hatalı sistem konfigürasyonlarını ve benzeri sorunları bulmada oldukça iyidir. Bu analiz türünün eksikliklerinden biri ise, yüksek düzeyde hatalı pozitif rapor çıkarmasıdır; raporlanan öğelerin büyük bir kısmı gerçekte bir sorun teşkil etmez. Tipik olarak bu tarama raporları analiz edilirken ürün kodunu bilen ürün ekiplerindeki üst düzey mühendisler görev alarak hatalı pozitif sorunları gerçek sorunlardan ayırır ve hatalı pozitif sayısını azaltır.

Dinamik Analiz

Dinamik analiz faaliyeti her zaman ürün geliştirmenin ileri aşamalarında, en azından ürünün veya bileşenin çalışabildiği aşamalarda kullanılır. Oracle kuruluşlarına göre farklılık gösterse de, bu faaliyet tipik olarak bir güvenlik Kalite Güvence ekibi (veya özel olarak ayrılmış benzeri bir grup) tarafından gerçekleştirilmektedir ve birden fazla ürün ekibi için ortak olabilir. Dinamik analiz, harici olarak görünür ürün arayüzleri ve API'leri hedeflemektedir ve çoğunlukla test için özel olarak tasarlanan araçları temel almaktadır. Oracle bünyesinde hem manuel hem de otomatik test araçları kullanılmaktadır. Otomatik araçlarda, ağ üzerinden erişilebilir ürün arayüzlerini ve protokolleri test etmek üzere rastlantısal veri tekniği kullanılırken manuel araçlar değişikliklerin elle yapılmasını gerektirmekte ancak daha yüksek düzeyde doğruluk ve kesinlik sağlamaktadır.