550 likes | 823 Views
AKADEMİK BİLİŞİM 2010. Yazılım Geliştirme Süreçleri ve ISO 27001 Bilgi Güvenliği Yönetim Sistemi. Yazarlar: Sunum: Mustafa ÖZLÜ. 1. KONULAR. Giriş Yazılım Geliştirme Süreçleri Güvenli Yazılım Geliştirme ISO 27001 Bilgi Güvenliği Yönetim Sistemi YGS ve ISO 27001 Kontrolleri Sonuç.
E N D
AKADEMİK BİLİŞİM 2010 Yazılım Geliştirme Süreçleri ve ISO 27001 Bilgi Güvenliği Yönetim Sistemi Yazarlar: Sunum: Mustafa ÖZLÜ 1
KONULAR • Giriş • Yazılım Geliştirme Süreçleri • Güvenli Yazılım Geliştirme • ISO 27001 Bilgi Güvenliği Yönetim Sistemi • YGS ve ISO 27001 Kontrolleri • Sonuç 2
GİRİŞ • Yazılım geliştirmeyi 5 aşamada ele almak mümkündür • Aşamalarda güvenlik konusu önemlidir • Genelde aşamalar bittikten sonra ele alınmaktadır • Bazen kısmen ya da tümüyle ihmal edilmektedir • Oysaki en baştan düşünülmüş olması ve yaşatılması gerekir • Uluslararası kabul görmüş ISO 27001 BGYS bilgi güvenliğini yönetmeyi sağlayan bir standarttır 3
GİRİŞ • Standart kamu ya da özel, tüm kuruluşlar için uygun • Etkili güvenlik yönetim sisteminin gerekliklilerini ortaya koyar • Yazılımda güvenlik unsurlarının yönetilmesi için rehber olabilecek standarttır • Risklerin standartla ilişkisini inceleyeceğiz • Yazılım geliştirme sürecinde ele alınması gereken standartta yer alan kontrolleri değerlendireceğiz 4
GİRİŞ • Yazılımda her gün yeni diller, modeller ve yaklaşımlar • Planlanan zamanın gerisinde kalma • Bütçeyi aşma • Düşük kalite • Sürekliliği sağlayamama • Güvenliği ve güvenirliliği sağlayamama • Kullanıcı taleplerini karşılayamama 5
GİRİŞ • Gartner araştırmasına göre bilişim güvenliği ihlallerinin yazılım güvenliği problemlerinden kaynaklananlarının oranı %80’dir • Genel olarak problemlerin çoğu, yazılım geliştirme sürecinin en başında gereksinim ve sistem analizlerinin doğru ve yeterli yapılmamasından kaynaklanmaktadır • Bu durum güvenlik riski oluşturmakta, bilgiye yönelik tehditlerin ortaya çıkmasına neden olmaktadır 6
GİRİŞ • Bilginin gizliliğini, bütünlüğünü ve erişilebilirliğini hedefleyen tehditlere karşı yazılımlarda bilgi güvenliğinin sağlanmış olması gerekir • Bilgi Güvenliği hedefleri • Tehditlerin farkında olmak • İşlerin devamlılığını sağlama • Kayıpları en aza indirme • Kuruluşların varlıklarının her koşulda gizliliği, erişebilirliği ve bütünlüğü koruma 7
GİRİŞ • Bilgi Güvenliği Yönetim Sistemi (BGYS) bu amaçları gerçekleştirmek için ortaya çıkan ve sürekli geliştirilen bir sistemdir • Yazılım geliştirme sürecinde BGYS sağlanmış olması; • Yazılımdaki bilgilerin kullanıma hazır olması • Sadece yetkisi olanların erişebilmesi • Bilginin doğru ve güncel olması 8
KONULAR • Giriş • Yazılım Geliştirme Süreçleri • Güvenli Yazılım Geliştirme • ISO 27001 Bilgi Güvenliği Yönetim Sistemi • YGS ve ISO 27001 Kontrolleri • Sonuç 9
YAZILIM GELİŞTİRME SÜREÇLERİ YAZILIM Bir bilgisayarda donanıma hayat veren ve bilgi işlemde kullanılan programlar, yordamlar, programlama dilleri ve belgelemelerin tümüdür. 10
YAZILIM GELİŞTİRME SÜREÇLERİ YAZILIM GELİŞTİRME Yazılım kod yazmak, tasarım yapmak değildir Yazılımın hem üretim, hem de kullanım süreci boyunca geçirdiği tüm aşamalar olarak tanımlanabilir. 11
YAZILIM GELİŞTİRME SÜREÇLERİ YAZILIM GÜVENLİĞİ Geçmişte yazılım geliştirmede başvurulan iş akış şemaları gibi yöntemler özellikle güvenlik odaklı olmadıklarından günümüzde gereksinimleri karşılayamaz hale gelmiş ve etkinliklerini yitirmişlerdir. 12
YAZILIM GELİŞTİRME SÜREÇLERİ YAZILIM GÜVENLİĞİ Yazılımın her aşamasında güvenliğe ilişkin ortaya çıkabilecek problemleri gözeten etkin bir geliştirme süreci sonuç ürünün daha güvenilir olmasına önemli katkı sağlayacaktır. 13
YAZILIM GELİŞTİRME SÜREÇLERİ YAZILIM GELİŞTİRME AŞAMALARI Yazılım mühendisliğindeki diğer modellere temel teşkil eden “Çağlayan Modeli (Waterfall Model)” yazılım yaşam döngüsünü analiz, tasarım, kodlama, test ve bakım olmak üzere beş aşamada ele almaktadır. 14
YAZILIM GELİŞTİRME SÜREÇLERİ ANALİZ Bir problemin çözümü olarak nitelediğimiz yazılımların ne yapacağını ve nasıl yapacağınıbelirlediğimiz yani problemi tanımladığımız aşamadır TASARIM Analiz aşaması sonucunda belirlenen gereksinimlere yanıt verecek yazılımın temel yapısının oluşturulduğu aşamadır KODLAMA Kodlama aşaması, tasarım sürecinde ortaya konan veriler doğrultusundayazılımın gerçekleştirilmesi aşamasıdır 15
YAZILIM GELİŞTİRME SÜREÇLERİ TEST Test aşaması, yazılım kodlanması sürecinin ardından gerçekleştirilen sınama ve doğrulama aşamasıdır. BAKIM Yazılımın tesliminden sonra hata giderme ve yeni eklentiler yapma aşamasıdır. 16
KONULAR • Giriş • Yazılım Geliştirme Süreçleri • Güvenli Yazılım Geliştirme • ISO 27001 Bilgi Güvenliği Yönetim Sistemi • YGS ve ISO 27001 Kontrolleri • Sonuç 17
GÜVENLİ YAZILIM GELİŞTİRME • Yazılımların yaygın olarak kullanılmaya başlandığı ilk yıllarda kaliteli ve olgun yazılım üretmek • Son yıllarda ise özellikle güvenli yazılım geliştirmek için çok sayıda model ve çerçeve üzerinde çalışılmıştır • Bu durumun en büyük tetikleyicisi son yıllarda güvenlik açıklıklarının artmasıdır 18
GÜVENLİ YAZILIM GELİŞTİRME Günümüzde başlıca güvenli yazılım geliştirme modelleri ;1. Yetenek Olgunluk Modeli (CMM - Capability Maturity Model) 2. Tümleşik Yetenek Olgunluk Modeli (CMMI Capability Maturity Model Integration) 3.Federal Havacılık Yönetim Tümleşik Yetenek Olgunluk Modeli (FAA-iCMM Federal Aviation integrated Maturity Model) 4. Güvenli CMM/Güvenli Yazılım Metodolojisi (Trusted CMM/Trusted Software Methodology (T-CMM, TSM)) 5. Sistem Güvenlik Mühendisliği Yetenek Olgunluk Modeli (SSE-CMM - Systems Security Engineering Capability Maturity Model) 6. Microsoft Security Development Lifecycle (SDL) 7.OpenSAMM Modeli OWASP (Open Web Application Security Platform) 19
GÜVENLİ YAZILIM GELİŞTİRME Yazılım geliştirmede erken bir süreçte farkına varılan yazılım açıklıklarının düzeltilmesinin daha ileri süreçlerde farkına varılan açıklıklara göre daha az maliyetli olacağı yazılım endüstrisince yaygın olarak kabul edilen bir ilkedir. 20
GÜVENLİ YAZILIM GELİŞTİRME Güvenli yazılım geliştirme sürecinde ele alınması gereken temel olarak dokuz ana güvenlik konusu vardır; • Girdi Geçerleme (InputValidation) • Kimlik Doğrulama (Authentication) • Yetkilendirme (Authorization) • Konfigürasyon Yönetimi (ConfigurationManagement) • Hassas Bilgi (SensitiveInformation) • Kriptografi (Cryptograhy) • Parametre Manipülasyonu (ParameterManipulations) • Hata Yönetimi (ExceptionManagement) • Kayıt Tutma ve Denetim (LoggingandAuditing) 21
KONULAR • Giriş • Yazılım Geliştirme Süreçleri • Güvenli Yazılım Geliştirme • ISO 27001 Bilgi Güvenliği Yönetim Sistemi • YGS ve ISO 27001 Kontrolleri • Sonuç 22
ISO 27001 BİLGİ GÜVENLİĞİ YÖNETİM SİSTEMİ Bilgi Güvenliği Gereksinimi • Bilgi sistemlerinin hayata geçmesiyle ortaya çıkan depolama ve işleme imkânlarının artması, izinsiz erişimler, bilginin yetkisiz imhası, yetkisiz değiştirilmesi veya yetkisiz görülmesi ihtimallerinin artması gibi hususlar nedeniyle bilgi güvenliği kavramı gündemegelmektedir • Bilgi hangi biçime girerse girsin veya ne tür araçlarla paylaşılır veya depolanır olursa olsun, her zaman uygun bir şekilde korunmalıdır. • Bilgi sistemlerinin çoğu, bilgi saklanırken, paylaşılırken, gönderilirken güvenlik kaygıları düşünülerek tasarlanmamıştır. 23
ISO 27001 BİLGİ GÜVENLİĞİ YÖNETİM SİSTEMİ Bilgi Güvenliği Yönetim Sistemi • Bilgi güvenliği ihlali ve buradan doğacak kayıpların riskini minimize etmek kurulan sistemlerin en başında BGYS gelmektedir. • BGYS, bilgi güvenliğini kurmak, işletmek, izlemek ve geliştirmek için iş riski yaklaşımına dayalı, dokümante edilmiş, işlerliği ve sürekliliği garanti altına alınmış bir yönetim sistemidir. • BGYS kurumunuzdaki tüm bilgi varlıklarının değerlendirilmesi ve bu varlıkların sahip oldukları zayıflıkları ve karşı karşıya oldukları tehditleri göz önüne alan bir risk analizi yapılmasını gerektirir. 24
ISO 27001 BİLGİ GÜVENLİĞİ YÖNETİM SİSTEMİ ISO 27001 • BGYS, bağımsız kuruluşların ya da tarafların ihtiyaçlarına göre özelleştirilmiş güvenlik kontrollerinin gerçekleştirilmesi için gereksinimleri belirtir. BGYS’nin ihtiyaç duyduğu gereksinimlere cevap vermek için çok sayıda standart vardır. Bunların en önde geleni ISO 27001 standardıdır. • ISO 27001 kurumların bilgi güvenliği yönetim sistemi kurmaları için gereklilikleri tanımlayan tek denetlenebilir BGYS standardıdır. ISO 27001 ülkelere göre özel tanımlar içermeyen, genel tanımların bulunduğu uluslararası standardıdır. • ISO 27001 standardı; kuruluşların kendi bilgi güvenlik sistemlerini sağlamasını mümkün kılan teknoloji tarafsız, satıcı tarafsız yönetim sistemleri için bir çerçeve sağlar. 25
ISO 27001 BİLGİ GÜVENLİĞİ YÖNETİM SİSTEMİ ISO 27001 • ISO 27001, kuruma uygun politikalar, prosedürler ve kılavuzlar oluşturmaya yol gösteren uluslararası kabul görmüş yapısal bir metodoloji sunar. • ISO 27001 sertifikası, kurumların güvenlik seviyesine ve kurumun konuya ciddi yaklaşımına ilişkin bir göstergedir. (Örn: ESHS) • Bilgi güvenliği yönetimi konusunda ilk standart British Standard Institute (BSI) tarafından geliştirilen BS 7799’dur. BS 7799 “Pratik Kurallar” ve “BGYS Gerekleri” başlıklı iki kısımdan oluşmaktaydı. BS 7799 birinci kısım daha sonra ISO tarafından 2000 yılında “ISO 17799” olarak kabul edilmiştir. 26
ISO 27001 BİLGİ GÜVENLİĞİ YÖNETİM SİSTEMİ TS ISO 27001 • 2002’de BSI; BS 7799-2’yi çıkartmıştır. ISO, 2005 yılında ISO/IEC 1799:2005’i ve BS 7799-2’nin yeni hali olan ISO/IEC 27001:2005’i yayınlamıştır. ISO 27001, 2005 yılında yayınlanmasıyla yürürlüğe girmiş ve ISO/IEC 27000 standart serisi altında yerini almıştır. • Söz konusu bu standart 2006 yılında Türk Standardı olarak kabul edilerek, ”TS ISO/IEC 27001 Bilgi Teknolojisi - Güvenlik Teknikleri - Bilgi Güvenliği Yönetim Sistemleri – Gereksinimleri” adıyla yayınlanmıştır . 27
ISO 27001 BİLGİ GÜVENLİĞİ YÖNETİM SİSTEMİ ISO 27000 AİLESİ • Bilgi güvenliği ile ilgili olarak ISO 27000 serisi güvenlik standartları, kullanıcıların bilinçlenmesi, güvenlik risklerinin azaltılması ve de güvenlik açıklarıyla karşılaşıldığında alınacak önlemlerin belirlenmesinde temel bir başvuru kaynağıdır. Bu standartlar temel ISO’nun 9000 kalite ve 14000 çevresel yönetim standartlarıyla da ilgilidir. • ISO 27000 standardı, ISO 27000 standartlar ailesi ile ilgili kavramların açıklanmasını sağlayan ve bilgi güvenliği yönetimine yönelik temel bilgileri içeren bir standarttır. • ISO 27000 standartlarının büyük bir çoğunluğu bilenen, diğerleri ise basım aşamasında olan standartlar olarak verilebilir. 28
ISO 27001 BİLGİ GÜVENLİĞİ YÖNETİM SİSTEMİ PUKÖ Modeli • ISO 27001, BGYS’yi kurmak, işletmek, izlemek, gözden geçirmek, sürdürmek ve iyileştirmek için standart proses yaklaşımını benimsemiştir. • Bu proses yaklaşımı güvenlik önlemlerinin belirlenip kurulması, uygulanması, etkinliğinin gözden geçirilmesi ve iyileştirilmesi süreçlerini ve bu süreçlerin sürekli olarak tekrarlanmasını içerir. Bu süreçler Planla, Uygula, Kontrol et, Önlem al (PUKÖ) döngüsünden oluşan bir model olarak da ortaya konmuştur. • BGYS’de kurum kendine bir risk yönetimi metodu seçmeli ve risk işleme için bir plan hazırlamalıdır. Risk işleme için standartta öngörülen kontrol hedefleri ve kontrollerden seçimler yapılmalı ve uygulanmalıdır. 30
ISO 27001 BİLGİ GÜVENLİĞİ YÖNETİM SİSTEMİ PUKÖ Model’inin süreçleri aşağıdaki gibidir: Planla: BGYS’nin kurulması Sonuçları kuruluşun genel politikaları ve amaçlarına göre dağıtmak için, risklerin yönetimi ve bilgi güvenliğinin geliştirilmesiyle ilgili BGYS politikası, amaçlar, hedefler, prosesler ve prosedürlerin kurulması. Uygula: BGYS’nin gerçekleştirilmesi ve işletilmesi BGYS politikası, kontroller, prosesler ve prosedürlerin gerçekleştirilip işletilmesi. 31
ISO 27001 BİLGİ GÜVENLİĞİ YÖNETİM SİSTEMİ Kontrol Et: BGYS’nin izlenmesi ve gözden geçirilmesi BGYS politikası, amaçlar ve kullanım deneyimlerine göre proses performansının değerlendirilmesi ve uygulanabilen yerlerde ölçülmesi ve sonuçların gözden geçirilmek üzere yönetime rapor edilmesi. Önlem Al: BGYS’nin sürekliliğinin sağlanması ve iyileştirilmesi BGYS’nin sürekli iyileştirilmesini sağlamak için, yönetimin gözden geçirme sonuçlarına dayalı olarak, düzeltici ve önleyici faaliyetlerin gerçekleştirilmesi . 32
ISO 27001 BİLGİ GÜVENLİĞİ YÖNETİM SİSTEMİ Güvenlik Kontrol Alanları ISO 27001’de BGYS oluşturmada güvenlik için gereken 11 kontrol alanı, 39 kontrol hedefi ve 133 kontrolü tanımlayan bir uygulama kılavuzudur 34
ISO 27001 BİLGİ GÜVENLİĞİ YÖNETİM SİSTEMİ Güvenlik Kontrol Alanları 1- (A.5) Güvenlik Politikası 2- (A.6) Bilgi Güvenliği Organizasyonu 3- (A.7) Varlık Yönetimi 4- (A.8) İnsan Kaynakları Güvenliği 5- (A.9) Fiziksel ve Çevresel Güvenlik 6- (A.10) Haberleşme ve İşletim Yönetimi 7- (A.11) Erişim Kontrolü 8- (A.12) Bilgi Sistemleri Edinim, Geliştirme ve Bakımı 9- (A.13) Bilgi Güvenliği İhlal Olayı Yönetimi 10- (A.14) İş Sürekliliği Yönetimi 11- (A.15) Uyum 35
KONULAR • Giriş • Yazılım Geliştirme Süreçleri • Güvenli Yazılım Geliştirme • ISO 27001 Bilgi Güvenliği Yönetim Sistemi • YGS ve ISO 27001 Kontrolleri • Sonuç 36
YGS ve ISO 27001 KONTROLLERİ • ISO 27001, gerek yazılım geliştirme süreçleriyle doğrudan ya da dolaylı ilişki içerisinde olan birçok kontrol içermektedir. • Bu kontroller ve kontrol kapsamında yazılım geliştirme süreci aşamalarında gerçekleştirilmesi gereken hususlar şöyledir. 37
YGS ve ISO 27001 KONTROLLERİ Analiz Aşamasına İlişkin Kontroller A.12.1.1 - Güvenlik gereksinimleri analizi ve belirtimi A.6.1.4 - Bilgi işleme tesisleri için yetki prosesi A.10.6.2 - Ağ hizmetleri güvenliği A.10.8.1 - Bilgi değişim politikaları ve prosedürleri A.15.1.2 - Fikri mülkiyet hakları (IPR) A.10.8.2 - Değişim anlaşmaları 38
YGS ve ISO 27001 KONTROLLERİ Tasarım Aşamasına İlişkin Kontroller A.10.8.5 - İş bilgi sistemleri A.12.5.4 - Bilgi sızması A.11.5.6 - Bağlantı süresinin sınırlandırılması A.10.6.1 - Ağ kontrolleri A.11.6.1 - Bilgi erişim kısıtlaması 39
YGS ve ISO 27001 KONTROLLERİ Kodlama Aşamasına İlişkin Kontroller A.10.10.3 - Kayıt bilgisinin korunması A.12.2.1 - Giriş verisi geçerleme A.12.2.4 - Çıkış verisi geçerleme A.12.2.2 - İç işleme kontrolü A.12.2.3 - Mesaj bütünlüğü A.10.4.1 - Kötü niyetli koda karşı kontroller A.10.8.4 - Elektronik mesajlaşma 40
YGS ve ISO 27001 KONTROLLERİ Kodlama Aşamasına İlişkin Kontroller (2) A.10.4.2 - Mobil koda karşı kontroller A.12.3.1 - Kriptografik kontrollerin kullanımına ilişkin politika A.12.3.2 - Anahtar yönetimi A.12.5.5 - Dışarıdan sağlanan yazılım geliştirme A.12.5.1 - Değişim kontrol prosedürleri 41
YGS ve ISO 27001 KONTROLLERİ Test Aşamasına İlişkin Kontroller A.10.1.4 - Geliştirme, test ve işletim olanaklarının ayrımı A.12.2.1 - Giriş verisi geçerleme A.12.2.4 - Çıkış verisi geçerleme A.12.2.2 - İç işleme kontrolü A.12.4.2 - Sistem test verisinin korunması A.8.3.3 - Erişim haklarının kaldırılması 42
YGS ve ISO 27001 KONTROLLERİ Bakım Aşamasına İlişkin Kontroller A.12.5.3 - Yazılım paketlerindeki değişikliklerdeki kısıtlamalar A.11.2.4 - Kullanıcı erişim haklarının gözden geçirilmesi A.12.4.3 - Program kaynak koduna erişim kontrolü A.10.5.1 - Bilgi yedekleme 43
YGS ve ISO 27001 KONTROLLERİ Bakım Aşamasına İlişkin Kontroller (2) A.9.2.7 - Mülkiyet çıkarımı A.10.8.3 - Aktarılan fiziksel ortam A.9.2.6 - Teçhizatın güvenli olarak elden çıkarılması ya da tekrar kullanımı A.12.4.1 - Operasyonel yazılımın kontrolü A.12.5.2 - İşletim sistemindeki değişikliklerden sonra teknik gözden geçirme 44
KONULAR • Giriş • Yazılım Geliştirme Süreçleri • Güvenli Yazılım Geliştirme • ISO 27001 Bilgi Güvenliği Yönetim Sistemi • YGS ve ISO 27001 Kontrolleri • Sonuç 45
SONUÇLAR • Kurumların güvenli bir ortamda faaliyet gösterebilmeleri için dokümante edilmiş bir BGYS’yi hayata geçirmeleri gerekmektedir. • Bu kapsamda ISO 27001 standardı tüm dünyada kabul görmüş ve en iyi uygulamaları bir araya getiren bir modeldir. • Standart bu yönetim sistemini oluştururken ele aldığı önemli alanlardan biri de yazılım geliştirme süreçlerinde güvenliğinin sağlanması ve buna ilişkin olarak yazılım geliştirme politikasının oluşturulmasıdır. 46
SONUÇLAR • Yazılım geliştirme süreçlerinde standardın belirttiği gizlilik, bütünlük ve erişebilirlik kavramları mutlaka dikkate alınmalıdır. • Yazılım geliştirmenin her aşamasında belirli bir güvenlik politikasının uygulanması kritik önem taşımaktadır. • Kurumsal güvenlik için öncelikle yazılı olarak kurallar belirlenmelidir. 47
SONUÇLAR Etkin bir BGYS kurmaya çalışan ve bunu ISO 27001 standardına uyumlu yapmak isteyen tüm kurumların oluşturacağı bu politikada belli kontrol maddeleri asgari olarak yer almalıdır. 48
AKADEMİK BİLİŞİM 2010 Teşekküler… 49