Yazılım denetim incelemesi - Software audit review

Bir yazılım denetim incelemesiveya yazılım denetimi, bir tür yazılım incelemesi üye olmayan bir veya daha fazla denetçinin yazılım geliştirme organizasyon "Spesifikasyonlara, standartlara, sözleşmeye dayalı anlaşmalara veya diğer kriterlere uygunluğu değerlendirmek için bir yazılım ürününün, yazılım sürecinin veya yazılım süreçlerinin bağımsız bir incelemesini" yürütür.[1]

"Yazılım ürünü", yalnızca değil, çoğunlukla, bir tür teknik belgeyi ifade eder. IEEE Std. 1028[2] Çeşitli plan türleri, sözleşmeler, şartnameler, tasarımlar, prosedürler, standartlar ve raporlar gibi belgesel ürünler ve ayrıca veriler, test verileri gibi belgesel olmayan ürünler de dahil olmak üzere "denetime tabi yazılım ürünlerine ilişkin 32 örnek" içeren bir liste sunar ve teslim edilebilir medya.

Yazılım denetimleri aşağıdakilerden farklıdır: yazılım meslektaş değerlendirmeleri ve yazılım yönetimi incelemeleri yazılım geliştirme organizasyonunun dışındaki ve ondan bağımsız personel tarafından yürütülmeleri ve uyma teknik içeriği, teknik kalitesi veya yönetimsel sonuçları yerine ürün veya süreçler.

"Yazılım denetim incelemesi" terimi, burada IEEE Std.'de açıklanan yazılım denetimi biçimini belirtmek için benimsenmiştir. 1028.

Hedefler ve katılımcılar

"Bir yazılım denetiminin amacı, yazılım ürünlerinin ve süreçlerinin geçerli düzenlemelere, standartlara, yönergelere, planlara ve prosedürlere uygunluğunun bağımsız bir değerlendirmesini sağlamaktır".[3] Aşağıdaki roller önerilir:

  • Başlatıcı (denetlenen kuruluşta yönetici, denetlenen kuruluşun müşterisi veya kullanıcı temsilcisi veya üçüncü bir kişi olabilir), denetim ihtiyacına karar verir, amacını ve kapsamını belirler, değerlendirme kriterlerini belirler, denetim personelini tanımlar , hangi takip eylemlerinin gerekli olacağına karar verir ve denetim raporunu dağıtır.
  • Baş Denetçi ("bağımsız, objektif değerlendirmeler yapma yeteneğini azaltabilecek önyargı ve etkiden arınmış" biri), denetim planının hazırlanması ve denetim ekibinin kurulması ve yönetilmesi gibi idari görevlerden ve denetimin karşılanmasını sağlamaktan sorumludur. hedefleri.
  • Ses kayıt cihazı Denetim ekibi tarafından yapılan anormallikleri, eylem maddelerini, kararları ve tavsiyeleri belgeler.
  • Denetçiler (Baş Denetçi gibi önyargısız olmalıdır) denetim planında tanımlanan ürünleri incelemek, gözlemlerini belgelemek ve düzeltici eylemler tavsiye etmek. (Yalnızca tek bir denetçi olabilir.)
  • Denetlenen Kuruluş denetçilere bir irtibat sağlar ve denetçiler tarafından talep edilen tüm bilgileri sağlar. Denetim tamamlandığında, denetlenen kuruluş düzeltici eylemler ve tavsiyeler uygulamalıdır.

Yazılım Denetiminin İlkeleri

Bir denetimin aşağıdaki ilkeleri bir yansıma bulmalıdır:[4]

  • Zamanındalık: Yalnızca süreçler ve programlama, hatalara ve zayıflıklara potansiyel duyarlılıkları açısından sürekli olarak incelendiğinde, aynı zamanda bulunan güçlü yönlerin analizinin devamı açısından veya benzer uygulamalarla karşılaştırmalı fonksiyonel analiz ile güncellenmiş bir çerçeveye devam edilebilir. .
  • Kaynak açıklığı: Şifrelenmiş programların denetiminde açık kaynak kullanımının nasıl anlaşılması gerektiğine dair açık bir referans gerektirir. Örneğin. Açık kaynaklı bir uygulama sunan ancak IM sunucusunu açık kaynak olarak görmeyen programlar kritik olarak görülmelidir. Bir denetçi, kriptolojik uygulamalardaki açık kaynak doğasının gerekliliği paradigmasına kendi pozisyonunu almalıdır.
  • Ayrıntılılık: Denetim süreçleri belirli asgari standartlara göre yönlendirilmelidir. Yazılımın şifrelenmesine ilişkin son denetim süreçleri genellikle kalite, kapsam ve etkinlik açısından büyük farklılıklar gösterir ve ayrıca medya alımındaki deneyim genellikle farklı algılardır. Bir yandan özel bilgiye ihtiyaç duyulması ve diğer yandan programlama kodunu okuyabilmesi ve diğer yandan da şifreleme prosedürleri hakkında bilgi sahibi olabilmesi nedeniyle, birçok kullanıcı en kısa resmi onay ifadelerine bile güvenmektedir. Denetçi olarak bireysel taahhüt, ör. kalite, ölçek ve etkinlik açısından, bu nedenle, kendiniz için refleks olarak değerlendirilecek ve denetimde belgelenecektir.
Şekil 01 Bir Crypto-IT-Audit.png'nin Sekiz İlkesi
  • Mali bağlam: Yazılımın ticari olarak geliştirilip geliştirilmediğini ve denetimin ticari olarak finanse edilip edilmediğini (ücretli Denetim) netleştirmek için daha fazla şeffaflığa ihtiyaç vardır. Özel bir hobi / topluluk projesi mi yoksa arkasında ticari bir şirket mi olduğu fark yaratır.
  • Öğrenme perspektiflerinin bilimsel referansları: Her denetim, bulguları bağlam içinde ayrıntılı olarak tanımlamalı ve ayrıca ilerleme ve gelişme ihtiyaçlarını yapıcı bir şekilde vurgulamalıdır. Bir denetçi, programın ebeveyni değildir, ancak en azından, eğer denetçi PUKÖ öğrenme çemberinin bir parçası olarak kabul ediliyorsa, bir mentor rolündedir (PUKÖ = Planla-Uygula-Kontrol Et-Önlem Al). Tespit edilen güvenlik açıklarının açıklamasının yanında ayrıca yenilikçi fırsatların ve potansiyellerin gelişiminin bir açıklaması olmalıdır.
  • Literatür dahil etme: Bir okuyucu, yalnızca bir incelemenin sonuçlarına güvenmemeli, aynı zamanda geliştirme ekibinin veya incelemecinin daha fazlasını yapmaya hazır olduğundan emin olmak için bir yönetim sistemi döngüsüne (örneğin PDCA, yukarıya bakınız) göre karar vermelidir. analiz ve ayrıca geliştirme ve gözden geçirme sürecinde öğrenmeye ve başkalarının notlarını dikkate almaya açıktır. Her denetim durumunda bir referans listesi eşlik etmelidir.
  • Kullanım kılavuzlarının ve belgelerin dahil edilmesi: Ayrıca, kılavuzlar ve teknik dokümantasyon olup olmadığı ve bunların genişletilip genişletilmediği de kontrol edilmelidir.
  • Yeniliklere yapılan referansları tanımlayın: Hem çevrimdışı hem de çevrimiçi kişilere mesajlaşmaya izin veren uygulamalar - tek bir uygulamada sohbet ve e-posta dikkate alınarak - GoldBug'da olduğu gibi - yüksek öncelikli olarak test edilmelidir (e-postaya ek olarak iletişim durumu sohbetleri kriteri) işlevi). Denetçi ayrıca yeniliklere yapılan referansları vurgulamalı ve daha fazla araştırma ve geliştirme ihtiyaçlarını desteklemelidir.

Bu kripto uygulamaları için denetim ilkelerinin listesi - teknik analiz yöntemlerinin ötesinde - özellikle dikkate alınması gereken temel değerleri açıklar

Araçlar

Yazılım denetimi, uygulama kodunu analiz eden ve standartlara, yönergelere ve en iyi uygulamalara uygunluğunu puanlayan statik analiz araçları kullanılarak yapılabilir. İtibaren Statik kod analizi için araçların listesi bazıları koddan mimari incelemeye kadar çok geniş bir yelpazeyi kapsar ve kıyaslama için kullanılabilir.

Referanslar

  1. ^ IEEE Std. 1028-1997, Yazılım İncelemeleri için IEEE StandardıMadde 3.2
  2. ^ "IEEE 1028-2008 - Yazılım İncelemeleri ve Denetimleri için IEEE Standardı". standartlar.ieee.org. Alındı 2019-03-12.
  3. ^ IEEE Std. 10281997, madde 8.1
  4. ^ Diğer temel denetim ilkelerine referanslar: Adams, David / Maier, Ann-Kathrin (2016): BIG YEDİ Çalışması, karşılaştırılacak açık kaynaklı kripto-haberciler - veya: Kapsamlı Gizlilik İncelemesi ve GoldBug, E-Posta Şifreleme- Denetimi- Client & Secure Instant Messenger, GoldBug uygulamasının 20 fonksiyonunun açıklamaları, testleri ve analiz incelemeleri, 38 şekil ve 87 tablo dahil olmak üzere BT güvenlik incelemeleri için 8 büyük uluslararası denetim kılavuzunun temel alanlarına ve değerlendirme yöntemlerine dayalıdır., URL: https://sf.net/projects/goldbug/files/bigseven-crypto-audit.pdf - İngilizce / Almanca Dili, Sürüm 1.1, 305 sayfa, Haziran 2016 (ISBN: DNB 110368003X - 2016B14779)