Yazılım güvenliği sağlama

Yazılım Güvenliği Sağlama, Siber güvenlik bilgi teknolojileri, kablosuz iletişim teknolojileri ve sistemlerine yapılan saldırıların yarattığı zararı önlemeye çalışan ve bu sistemlerin korunmasını amaçlayan yöntemlerdir.

Siber güvenlik yalnızca özel şirketleri ilgilendiren bir mesele değildir. Devlet kurumlarının aldığı kararları etkileyebilen toplumun politik algısını manipüle edebilen sosyolojik bir yanı da bulunmaktadır.

Bu tür bir örnek 2018'in başlarında tespit edilmiştir; Atlanta Şehri hükümetine zarar veren bir fidye yazılımı saldırısı (Conti vd., 2018) ve diğer yakın tarihli siber ihlaller (Ruohonen, 2019).[1]

Bu durum hukuki alanda sınırlarının net bir şekilde çizilmesini ve genel geçer bir tanımının yapılmasını zorunlu kılar.

Bu tanım çerçevesinde stratejiler geliştirilerek gerekli önlemlerin alınması gerekmektedir.

Yazılım Güvenliği Sağlama (SSA), yazılımın güvenliğini sağlamak amacıyla tasarım aşamasından itibaren belirli standartlar ve yöntemler kullanarak, verilerin ve kaynakların kaybı, yanlışlığı, değiştirilmesi, ulaşılamaması veya kötüye kullanılmasına karşı koruma sağlamayı hedefler. Bu süreç, yazılımın güvenlik seviyesinin sürekli olarak izlenmesini ve güncellenmesini içerir.[2]

Tarihçesi

Siber güvenlik kapsamında ortaya atılan terimlerden ilki kriptografidir. Milattan önce 400'lü tarihlerde Spartatılar tarafından askerleri arasında güvenli veri alışverişini sağlamak amacıyla ortaya atılmış bir terimdir. İletecekleri metinleri şifrelemek amacıyla kullandıkları anahtarı silindir şifreleme anahtarı olarak adlandırırlar.

Daha eski tarihlerde metinleri şifrelemek için kaydırma yöntemleri kullanılmıştır. İletilecek mesajın harfleri 0-25 aralığında bir sayı kadar kaydırılarak alfabedeki başka bir harfle sembolize edilmiştir. Bu metnin çözülmesi için harfin alfabede kaç sayı kaydırıldığı bilinmelidir. Örneğin 'modern' kelimesinin kaydırması “421636” olduğunda şifrelenmiş metin “rqekut” haline gelir.Şifrelenecek metindeki 'm' harfi alfabede 4 birim kaydırıldığında 'r' harfine karşılık gelir.'o' harfi 2 birim kaydırıldığında 'q' harfine denk gelir.

Tek kullanımlık anahtarlar ise metnin aynı uzunlukta rastgele değerlerden oluşan anahtarla birleştirilmesiyle oluşur.

Günümüzde kullanılan erişim saldırıları, pasif saldırılar, aktif saldırılar, kötü amaçlı yazılım saldırıları gibi saldırılar daha karmaşık olmalarına rağmen temel mantıkları milattan önce 400'lü tarihlerdeki saldırılara dayanmaktadır.

Erken Nesil Siber Güvenlik Algoritmalarının Sınıflandırılması

Kriptografik saldırı

Saldırganın anahtar kullanmaksızın düz metni elde etmek amacıyla protokol, kod veya şifrelerdeki zayıf yönleri tespit ettiği saldırı türüdür. Kaba kuvvet saldırıları, Ortadaki Adam saldırısı, Doğrusal Kriptanaliz, Farklılık kriptanalizi şeklinde alt başlıklara ayrılır.

  • Kaba Kuvvet Saldırısı: Tüm anahtar kombinasyonlarını tek tek deneyerek şifrelemeyi kırmaya çalışan yöntemdir.Bu saldırının etkili olduğu durumlar anahtar uzunluğunun daha kısa olduğu durumlardır.Genellikle otomatik yazılımlar aracılığıyla saldırı gerçekleştirilir. Belirli süre içinde doğru anahtarı tespit edene kadar kullanıcı adı ve şifre kombinasyonlarını dener.Önlem olarak adımızı soyadımızı, doğum tarihimizi belirtmeyen şifreler tanımlanabilir, giriş denemeleri sınırlandırılıp çok faktörlü kimlik doğrulamaları kullanılabilir.
  • Ortadaki Adam Saldırısı (Man-in-the-Middle Attack):Taraflar arasındaki iletişimi gizlice kesen ve iki tarafın birbirleriyle doğrudan iletişim kurduğunu düşünmesini sağlayarak bu iletişimi manipüle eden bir siber saldırı türüdür. Saldırgan, araya girer ve iletilen verileri dinleyebilir veya değiştirebilir.
  • Doğrusal Kriptanaliz: Blok şifreleme algoritmasının güvenliğini değerlendiren saldırı türüdür.Doğrusal kriptanaliz, bitler arasındaki düzeni tespit etmeye dayanan bir öntemdir.
  • Farklılık Kriptanalizi: Blok şifreleme yöntemine karşı etkili bir saldırı yöntemidir. Bu saldırı , girişteki farklılıkların çıktıda nasıl bir etki yarattığını inceleyerek, şifreleme sisteminin zayıf noktalarını keşfetmeyi amaçlar.

Erişim saldırısı Saldırganın, bilgileri manipüle etmek amacıyla kullanma hakkı olmadığı ana makineye giriş sağladığı saldırı türü. Web uygulama hizmetleri ve Dosya Aktarım hizmetleri, saldırganların e-hesaplara, veritabanlarına ve diğer özel bilgilere erişebildiği yerlerde tehlikeye atılmaktadır.

Keşif saldırısı Failin bilgi toplamak amacıyla makinedeki herhangi bir güvenlik açığını taramak için hedeflenen sistemlerle eşleştiği bir saldırıdır. Güçlü olmayan ve birleştirilmiş kilitleri, kapıları ve pencereleri kırmak için savunmasız olan evdeki hırsızlığa benzer bir senaryodur.

Aktif saldırı Veri iletimi sırasında verinin içeriğini değiştirerek işlemleri etkileyen saldırı türüdür.

Pasif saldırı Verinin iletimi boyunca saldırganın bilgiye erişmeye çalıştığı saldırı türüdür. Ana bilgisayarlar arasındaki konuşmaları dinleme amacı taşır. Temel amacı bilgi toplamaktır. Veritabanına saldırgan tarafından izinsiz girilmesi ve bilgilerin değiştirilmesi gibi bir amacı yoktur.

Oltalama saldırısı Meşru bir kaynaktan geliyormuş gibi görünen e-posta, kısa mesaj vb. birçok yolla yanlış mesajlar gönderme, böylece kullanıcıları aldatma ve giriş şifreleri, kart numaraları gibi hassas ve gizli bilgileri elde etme eylemidir.

Kötü amaçlı yazılım saldırısı Bir failin, sadece virüs yaymak değil, aynı zamanda bilgisayarı enfekte etmek ve zarar vermek, böylece özel verileri elde etmek amacıyla ana bilgisayara kasıtlı olarak kötü amaçlı yazılım yüklediği bir saldırı.

Kuantum anahtar dağıtımına saldırı Bir kuantum kanalı üzerinden herhangi bir veri iletilirken tek bir foton, birden fazla foton taklit edilerek veya darbelerin zaman aşımına uğramasıyla bir saldırı yapılmıştır.

Saldırılara Karşı Alınabilecek Önlemler

Siber güvenliği sağlamak için çeşitli yöntemler önerilmektedir.

  • Güvenlik Duvarları: Ağ trafiğini kontrol ederek yetkisiz erişimleri engeller. Erişim Kontrolü sağlar. Sisteme erişim yetkileri belirlenmeli ve kontrol edilmelidir.
  • Antivirüs Yazılımları: Zararlı yazılımları tespit edip yok eder.
  • Şifreleme: Verilerin gizliliğini korumak için kullanılır. Kullanılan verilerin kaybı veya kötüye kullanılmasına karşı koruma sağlanmalıdır.
  • Eğitim ve Farkındalık: Kullanıcıları siber tehditler konusunda bilgilendirir.
  • Güvenli Kodlama: Yazılım geliştirme sürecinde güvenli kodlama standartlarına uyulmalıdır.

Bu yöntemlerin her biri, siber saldırılara karşı savunma mekanizmaları oluşturmakta önemli bir rol oynamaktadır

Yazılım Güvenlik Seviyeleri

Siber saldırılar için önlem alınırken ağda iletilen verinin ve yazılımın güvenlik derecesi tespit edilmelidir.

SSA'nın güvenlik derecelerini belirlemekte kullandığı kriterler:

  • Yüksek Güvenlik Açıkları: Saldırganlar tarafından kolayca kötüye kullanılabilir.
  • Orta Güvenlik Açıkları: Hassas sistem bilgilerine ulaşılmasına neden olabilir.
  • Düşük Güvenlik Açıkları: Basit bilgilere erişimi kolaylaştırabilir.

Yazılım Güvenliğini Sağlama Stratejileri

Yazılım güvenliği sağlamak amacıyla siber güvenlik yöntemleri bilgi sisteminin tasarımında, uygulanmasında ve bakımında güvenlik gereksinimlerinin karşılanması için kullanılır.

Kod analizinin performansında kullanılan teknikler, tasarım analizinde kullanılanları yansıtır.

Güvenli Kod incelemeleri, belirlenen güvenlik gereksinimlerinin, güvenlik tasarım konseptlerinin ve güvenlikle ilgili tanımların karşılanıp karşılanmadığını belirlemek için geliştirme aşaması sırasında ve sonunda gerçekleştirilir.

Güvenli Yazılım Geliştirme Yaşam Döngüsü (SDLC)

  • Güvenli Yazılım Geliştirme Yaşam Döngüsü, yazılım geliştirme sürecinin her aşamasında güvenlik önlemlerinin alınmasını sağlar. Bu süreç, yazılımın tasarımından dağıtımına kadar olan her aşamada güvenlik standartlarının uygulanmasını içerir.

Sızma Testleri

  • Yazılıma yönelik kötü amaçlı yazılım saldırıları gibi potansiyel saldırıları simüle ederek zayıf noktaların tespit edilmesi.
  • Bilgi Toplama Aşaması hedef sistem hakkında mümkün olduğunca fazla bilgi toplanır. İnternet, arama motorları, e-posta grupları ve DNS kayıtları gibi kaynaklardan veri elde edilir. Bu bilgiler, sistemin mimarisi ve kullanılan teknolojiler hakkında fikir verir.
  • Keşif aşaması, pasif ve aktif bilgi toplama yöntemlerini içerir. Pasif bilgi toplamada, sistemle doğrudan etkileşimde bulunmadan bilgi toplanırken; aktif bilgi toplamada, sistemle etkileşime girerek daha fazla veri elde edilir. Bu aşamada port tarama, çalışan servislerin belirlenmesi ve ağ haritalama gibi işlemler gerçekleştirilir.
  • Zafiyet tarama aşaması sistemdeki potansiyel zafiyetler tespit edilir. Zafiyet tarama araçları kullanılarak veya manuel olarak açıklıklar belirlenir. Örneğin, bir veritabanında SQL açıklığı olup olmadığı kontrol edilir.
  • Açıklıkların İstismar Edilmesi aşaması Tespit edilen zafiyetlerin kullanılması aşamasıdır. Örneğin, bir SQL açıklığı kullanılarak veritabanına SQL injection saldırısı gerçekleştirilir.
  • Sistemin Ele Geçirilmesi aşaması sisteme sızılır ve sistem yöneticisi haklarına ulaşılır. Hedef sistem üzerinde tam kontrol sağlanmaya çalışılır.
  • İzlerin Temizlenmesi aşaması: Sızma testinin sonunda, yapılan işlemlerin izleri temizlenir. Bu, sistem günlüğü (LOG) kayıtlarının silinmesi gibi işlemleri içerir. İzlerin temizlenmesi, gerçek bir saldırı durumunda ne tür izlerin bırakılabileceğini anlamak açısından önemlidir.

Kod İncelemesi:

  • Kod incelemesi, yazılımın güvenlik standartlarına uygunluğunun düzenli olarak gözden geçirilmesini içerir.
  • Bu süreçte, yazılımın kodu uzman ekipler tarafından incelenerek potansiyel güvenlik açıkları tespit edilir.
  • Kaynak Kod Zafiyet Analizi aşaması: Kaynak kodu zayıflık analiz araçları, yazılım kaynak kodunu inceleyerek bilinen açıklık türlerine karşı örüntü eşleştirmeleri kullanarak zayıflıkları arar. Bu tür araçlar, "kaynak kodu güvenlik analiz aracı", "statik uygulama güvenlik testi aracı" veya "kod zayıflığı analiz aracı" gibi isimlendirmelere sahiptir.
  • Kaynak Kodundan Mimari, Tasarım ve İşlevlerin Çıkarılması aşaması: Bu araçlar, analize yardımcı olmak için kaynak kodundan mimari ve tasarıma ilişkin bilgileri çıkarır. Bu bilgiler, kaynak kodu kalitesi veya zayıflık analizi yapmak için temel olarak kullanılabilir.
  • İkili Kod/Sekizli Kod Analizleri aşaması: Geleneksel virüs tarayıcıları, ikili kod veya sekizli kod içinde imza taraması yapar. Modern virüs tarayıcıları ise davranış analizi de gerçekleştirebilir.
  • Uygulamalar Arası Akış Analizi : Bu araçlar, haberleşme arayüzlerini ve izinleri tespit ederek uygulamalar arası veri ve kontrol akışını inceleyip güvenlik politikalarını ihlal eden akışları kontrol eder.
  • İnsan Tarafından Gözden Geçirme aşaması: Gözden geçirme genellikle kaynak kodu ile yapılır ancak makine kodu ile de gerçekleştirilebilir. İnsan incelemeleri, gereksinimlere, mimariye, tasarıma ve test bulgularına uygulanabilir.
  • Odaklı Manuel Kontrol aşaması: Belirli soruları cevaplamak için manuel kod analizi yapılır. Genellikle 100 satırlık koddan daha azı için uygulanır.
  • Biçimsel Yöntemler aşaması: Yazılım ve donanım sistemlerinin geliştirilmesi ve doğrulanması için matematiksel teknikler ve araçların kullanılmasını içerir.

Güvenlik Prosedürleri ve Protokoller

  • HTTPS (Güvenli Hiper Metin Aktarım Protokolü): HTTPS, HTTP protokolünün güvenli bir versiyonudur ve veri iletimini şifrelemek için SSL/TLS teknolojilerini kullanır. Bu protokol, kullanıcıların tarayıcıları ile web sunucuları arasındaki veri iletimini korur. HTTPS, kullanıcıların kişisel bilgilerini (örneğin kredi kartı bilgileri) kötü niyetli kullanımlara karşı koruma sağlar 14.
  • SSL/TLS: HTTPS, SSL (Secure Socket Layer) veya TLS (Transport Layer Security) protokolleri ile birlikte çalışır. Bu protokoller, veri güvenliğini sağlamak için şifreleme ve kimlik doğrulama işlevleri sunar.
  • FTPS (File Transfer Protocol Secure): FTPS, standart FTP protokolünün güvenli bir versiyonudur. SSL/TLS kullanarak veri iletimini şifreler ve böylece dosya transferi sırasında güvenliği artırır. FTPS, hem kontrol hem de veri bağlantıları için güvenli bir iletişim sağlar.
  • SFTP (SSH File Transfer Protocol): SFTP, SSH (Secure Shell) protokolü üzerinden çalışan bir dosya transfer protokolüdür. SFTP, verilerin şifrelenmesini ve güvenli bir şekilde iletilmesini sağlarken, aynı zamanda dosya yönetimi işlevlerini de destekler. Bu protokol, kullanıcı kimlik doğrulaması ve veri bütünlüğü sağlamak için güçlü şifreleme yöntemleri kullanır.
  • SCP (Secure Copy Protocol): SCP, SSH protokolü kullanarak dosyaların güvenli bir şekilde kopyalanmasını sağlar. SCP, dosyaların bir ağ üzerinden güvenli bir şekilde aktarılmasını sağlarken, aynı zamanda hızlı bir transfer yöntemi sunar. Ancak, SFTP kadar esnek değildir ve yalnızca dosya kopyalama işlemleri için kullanılır.

Yazılım güvenliği sağlama süreci

Yazılım güvenliği sağlama süreci, yazılımın içereceği veya kullanacağı bilgilerin tanımlanması ve kategorize edilmesi aşamasını içerir. Bu süreç, bilgilerin hassasiyetine göre sınıflandırılmasını ve her bir kategorinin potansiyel etkilerini belirlemeyi amaçlar.

Yazılımın içereceği veya kullanacağı bilgilerin tanımlanması ve kategorize edilmesi

  • Bilgiler, hassasiyetine göre kategorize edilmelidir.Bu kategoriler genellikle üç ana düzeyde belirlenir: düşük, orta ve yüksek hassasiyet.
  • Düşük Hassasiyet : Bu kategori altında yer alan bilgiler için güvenlik ihlali durumunda etkisi minimaldir. Örneğin, yazılım sahibinin misyonu veya itibarı üzerinde önemsiz bir etki yaratır. Bu tür bilgiler genellikle genel bilgi veya kamuya açık verilerden oluşur.
  • Orta Hassasiyet : Orta hassasiyet kategorisindeki bilgiler, güvenlik ihlali durumunda daha belirgin bir etki yaratabilir. Bu durum, yazılım sahibinin işlevleri veya itibarında kayıplara yol açabilir. Örneğin, müşteri bilgileri veya finansal raporlar bu kategoriye girebilir.
  • Yüksek Hassasiyet : En üst düzeydeki bu kategori, insan hayatına tehdit oluşturabilecek bilgiler içerir. Güvenlik ihlali durumunda yazılım sahibinin misyonları, işlevleri veya itibarı üzerinde onarılamaz bir etkiye yol açabilir ve önemli varlıkların kaybına neden olabilir. Örneğin, sağlık verileri veya kritik altyapı bilgileri bu kategoriye dahil edilir.
  • Güvenlik kategorisi belirlemek, yazılımın korunması gereken bilgilerin türünü ve bu bilgilerin korunması için gerekli önlemleri belirlemek açısından kritik öneme sahiptir.

Güvenlik Gereksinimleri Geliştirilmesi

Güvenlik gereksinimleri,

  • Erişim kontrolü yalnızca yetkili kullanıcıların hassas verilere ulaşmasını sağlamak amacıyla gerçekleştirilir. Erişim kontrolü mekanizmaları arasında rol tabanlı erişim kontrolü (RBAC), zorunlu erişim kontrolü (MAC) ve isteğe bağlı erişim kontrolü (DAC) gibi yöntemler bulunmaktadır. Bu sistemler, kullanıcıların hangi verilere erişebileceğini ve hangi işlemleri gerçekleştirebileceğini tanımlar
  • erişimi yazılımın veri iletiminde güvenli iletişim protokollerinin kullanılmasını gerektirir. Güvenli ağ erişimi sağlamak için şifreleme yöntemleri, özellikle SSL/TLS gibi protokoller kullanılmalıdır. SSL/TLS sertifikaları, internet üzerinden güvenli bağlantılar kurarak verilerin gizliliğini korur ve yetkisiz erişimleri engellemek için güvenlik duvarları ile diğer ağ güvenlik önlemleri uygulanmalıdır (AWS, 2023).
  • Fiziksel erişim Fiziksel güvenlik önlemleri, sunucuların bulunduğu odaların kilitlenmesi, izinsiz girişlerin engellenmesi ve fiziksel ortamın izlenmesi gibi uygulamaları içerir. Bu tür önlemler, donanımın ve verilerin fiziksel olarak korunmasını sağlar.
  • Veri yönetimi verilerin güvenli bir şekilde saklanması ve işlenmesini ifade eder.
  • Veri erişimi ise kullanıcıların verilere nasıl ulaşabileceğini belirler. Güvenli veri yönetimi için şifreleme, veri yedekleme ve veri bütünlüğü kontrolleri gibi yöntemler kullanılmalıdır. Ayrıca, veri iletiminde güvenli iletişim protokollerinin kullanılması da önemlidir.
  • Çevrimdışı depolama; Verilerin çevrimdışı depolanması, hassas bilgilerin internetten izole edilerek daha güvenli bir ortamda saklanmasını sağlar. Bu yöntem, siber saldırılara karşı ek bir koruma katmanı sunar ve verilerin yetkisiz erişimden korunmasına yardımcı olur.

Yazılım Güvenliği Problemlerinin Nedenleri

Yazılımdaki tüm güvenlik açıkları, yazılım içindeki güvenlik hataları veya kusurların sonucudur. Çoğu durumda, bu kusurlar iki ana nedenden kaynaklanmaktadır: uyumsuzluk veya gereksinimlerin karşılanmaması ve yazılım gereksinimlerinde bir hata veya eksiklik.

Uyumsuzluk veya gereksinimlerin karşılanmaması

  • Yazılımda uyumsuzluk nedenleri kodlama hataları gibi basit nedenler olabileceği gibi zamanlama hataları veya kullanıcı girişi doğrulama hataları gibi daha karmaşık nedenler de olabilir.
  • Zamanlama hataları, yazılımın belirli bir zaman diliminde beklenmedik veya istenmeyen davranışlar sergilemesine neden olan durumlardır. Bu tür hatalar genellikle çoklu iş parçacığı (threading) veya asenkron işlemlerle ilgili sorunlardan kaynaklanır. Örneğin, bir uygulama aynı anda birden fazla işlem yapmaya çalıştığında, bu işlemler arasında zamanlama sorunları ortaya çıkabilir.
  • Kullanıcı girişi doğrulama hataları kullanıcıların sisteme giriş yaparken sağladıkları bilgilerin doğrulanmasında meydana gelen sorunlardır. Bu tür hatalar, genellikle kullanıcıdan alınan verilerin yeterince kontrol edilmemesi veya yanlış işlenmesi sonucunda ortaya çıkar. Örneğin, 3D Secure gibi online ödeme sistemlerinde kullanıcı girişi doğrulama hataları sıkça karşılaşılan bir durumdur. Bu tür hatalar, kart sahibinin kimliğinin doğrulanamaması nedeniyle oluşur ve sonuç olarak işlem başarısız olabilir.
  • 3D Secure doğrulama hatalarının yaygın nedenleri arasında hatalı doğrulama bilgileri (Kullanıcıların cep telefonuna veya e-posta adresine gönderilen doğrulama kodunu yanlış girmesi) ; Kartın İnternet Alışverişlerine Kapalı Olması( Kartın internet alışverişlerine kapalı olması durumunda, 3D Secure doğrulama işlemi gerçekleştirilemez), Yetersiz Bakiye( Kartta yeterli bakiye bulunmaması durumunda işlem gerçekleştirilemez) gibi nedenler bulunabilir..

Bu tür kullanıcı girişi doğrulama hataları, yazılımların güvenliğini tehlikeye atabilir ve dolandırıcılık gibi ciddi sorunlara yol açabilir. Özellikle SQL enjeksiyonu gibi saldırılar, kullanıcı girişi doğrulama hatalarının bir sonucu olarak ortaya çıkabilir.

Doğrulama Ve Geçerlilik Teknikleri

  • Doğrulama: Yazılımın belirli gereksinimleri karşıladığını ve beklenen sonuçları ürettiğini kontrol eder.
  • Geçerlilik: Yazılımın doğru bir şekilde çalıştığını ve kullanıcı ihtiyaçlarını karşıladığını garanti eder.

Zamanlama Ve Kullanıcı Girişi Doğrulama Hatalarının Tespitinde Kullanılan Yöntemler

Güvenlik güvencesi teknikleri, yazılımda potansiyel güvenlik açıklarını önlemek için tasarlanmıştır. Bu teknikler arasında şunlar bulunur:

  • Statik Analiz: Kodun derlenmeden önce analiz edilmesi, güvenlik açıklarını tespit etmek için kullanılır.
  • Dinamik Analiz: Yazılım çalışırken gerçek zamanlı olarak güvenlik açıklarını tespit etmeye yönelik testlerdir.
  • Penetrasyon Testleri(Sızma Testleri): Yazılıma dışarıdan sızma girişimleri simüle edilerek güvenlik açıklarının belirlenmesi sağlanır.

'Giriş Doğrulama Testleri: Kullanıcı girişlerinin doğru bir şekilde doğrulandığını kontrol etmek için yapılan testlerdir.

Yazılım Gereksinimlerindeki Hatalar Veya Eksiklikler

  • Yazılıma dayalı sistemlerdeki en ciddi güvenlik problemleri, yazılım mühendisliği süreçlerinden biri olan sistem gereksinimleriyle ilgili süreçlerden kaynaklanır.
  • Örneğin, yazılım normal kullanımda tam olarak gerekli şekilde çalışabilir, ancak gereksinimler bazı sistem durumlarını doğru şekilde ele almıyor olabilir.
  • Sistem bu problem durumuna girdiğinde, beklenmeyen ve istenmeyen davranışlar ortaya çıkabilir.
  • Normal Kullanım Senaryosu: Bir e-ticaret uygulaması, kullanıcıların ürünleri sepete eklemesine ve satın alma işlemi gerçekleştirmesine olanak tanır. Yazılım, genel olarak bu işlevleri doğru bir şekilde yerine getirir.
  • Gereksinim Eksikliği: Ancak, yazılımın gereksinimleri, kullanıcıların aynı anda birden fazla tarayıcı sekmesinde işlem yapabileceğini göz önünde bulundurmayabilir. Bu durumda, sistemin birden fazla oturum açma veya işlem yapma durumunu yönetme yeteneği eksik kalır.
  • Problem Durumu: Kullanıcı, bir ürün satın almak için bir sekmede işlem yaparken başka bir sekmede de aynı ürünü sepete eklemeye çalıştığında, sistem beklenmedik bir şekilde davranabilir. Örneğin: Sepet güncellenmeyebilir.Kullanıcının önceki sepet içeriği kaybolabilir.Hatalı fiyatlandırmalar veya stok bilgileri gösterilebilir.
  • Sonuç: Bu tür bir durum, kullanıcı deneyimini olumsuz etkileyebilir ve güvenlik açıklarına yol açabilir. Kullanıcıların kişisel bilgileri veya ödeme bilgileri yanlışlıkla başka bir oturumda açığa çıkabilir.

Yazılım Güvenliğinin Sağlaması Gereken Aşamaları

Yazılım güvenliği sağlama faaliyetlerinin iki temel türü vardır.

  1. Bazıları, bir bilgi sisteminin işlediği bilgilere uygun bir hassasiyet kategorisi atanmasını ve uygun koruma gereksinimlerinin geliştirilip karşılanmasını sağlamaya odaklanır.
  2. Diğerleri ise, yazılımın ve yazılım destek araçlarının ve verilerin kontrolü ve korunmasını sağlamaya odaklanır.

En azından bir yazılım güvenliği sağlama programı şunları sağlamalıdır:

  1. Yazılım için bir güvenlik değerlendirmesi yapılmış olmalıdır.
  2. Yazılım için güvenlik gereksinimleri belirlenmiş olmalıdır.
  3. Yazılım geliştirme ve/veya işletim ve bakım süreçleri için güvenlik gereksinimleri belirlenmiş olmalıdır.
  4. Her yazılım incelemesi veya denetimi, güvenlik gereksinimlerinin bir değerlendirmesini içermelidir.
  5. Mevcut yazılım için güvenliği sağlamak ve önerilen değişikliklerin istemeden güvenlik ihlalleri veya zayıflıklar oluşturmadığını garanti etmek için bir konfigürasyon yönetimi ve düzeltici eylem süreci uygulanmalıdır.
  6. Yazılım için fiziksel güvenlik yeterli olmalıdır.

Güvenliği İnşa Etmenin Yolları

Yazılım geliştirme sürecini iyileştirmek ve daha iyi yazılımlar üretmek, daha az hata ve zayıflık içeren yazılımlar üreterek yazılım güvenliğini artırmanın yollarıdır.

Kritik Yazılım Bileşenlerinin Tanımlanması

  • Kritik yazılım bileşenleri, yazılımın güvenliğini doğrudan etkileyen ve güvenlik işlevlerini kontrol eden unsurlardır.
  • Kimlik Doğrulama Modülleri: Kullanıcıların kimliğini doğrulamak için kullanılan bileşenlerdir. Güçlü şifreleme yöntemleri ve çok faktörlü kimlik doğrulama (MFA) gibi teknikler içerebilir.
  • Yetkilendirme Modülleri: Kullanıcıların sisteme erişim haklarını belirleyen bileşenlerdir. Rol tabanlı erişim kontrolü (RBAC) gibi yöntemlerle, kullanıcıların hangi verilere erişebileceği ve hangi işlemleri gerçekleştirebileceği tanımlanır.
  • Veri Şifreleme Bileşenleri: Hassas bilgilerin korunması için kullanılan şifreleme algoritmalarıdır. Bu bileşenler, verilerin hem depolama hem de iletim sırasında güvenliğini sağlamak için kritik öneme sahiptir.
  • Güvenlik Duvarları ve Ağ Güvenlik Modülleri: Ağ trafiğini izleyen ve yetkisiz erişimleri engelleyen bileşenlerdir. Bu modüller, dış saldırılara karşı koruma sağlar.
  • Günlükleme ve İzleme Modülleri: Sistemdeki etkinliklerin kaydedilmesi ve izlenmesi için kullanılan bileşenlerdir. Bu modüller, olası güvenlik ihlallerinin tespit edilmesine yardımcı olur.
  • Hata Yönetimi ve İyileştirme Bileşenleri: Yazılımda meydana gelen hataların yönetimi ve düzeltilmesi için kullanılan bileşenlerdir. Bu modüller, yazılımın sürekli olarak güncellenmesini ve güvenliğinin artırılmasını sağlar.

Araçlar ve Teknikler

  • Ticari Yazılım Paketleri: Yazılım güvenliği faaliyetlerini destekleyen birçok COTS (Commercial Off-The-Shelf) yazılım paketi bulunmaktadır. Bunlar kullanılmadan önce dikkatlice değerlendirilmelidir.
  • COTS (Commercial Off-The-Shelf) yazılımı, ticari piyasada bulunan ve belirli bir uygulama için özel olarak yapılmamış, hazır yazılım ürünlerini ifade eden bir terimdir. Bu tür yazılımlar, geniş bir kullanıcı kitlesine hitap eder ve genellikle kullanıma hazır olacak şekilde tasarlanmıştır. Örnekler arasında Microsoft Office, virüsten koruma yazılımları ve diğer standart iş uygulamaları bulunmaktadır.

Yaygın Zayıflıkların Listesi

  • Yazılım güvenliğini artırmanın bir yolu, yazılım güvenliğini etkileyebilecek en yaygın zayıflıkları daha iyi anlamaktır. Bu amaçla, MITRE Corporation tarafından desteklenen ve bu tür zayıflıkları tanımlamayı ve açıklamayı amaçlayan mevcut bir topluluk temelli program olan Yaygın Zayıflıklar Listesi projesi vardır.[3]

CWE, aşağıdaki gibi çeşitli zayıflık kategorilerini içerir:

  • Buffer Overflows (Tampon Taşmaları):Bellek yönetimi hatalarıdır ve genellikle kötü niyetli kodların çalıştırılmasına olanak tanır.
  • Improper Input Validation (Yanlış Girdi Doğrulama):Kullanıcıdan alınan verilerin yeterince kontrol edilmemesi durumunda ortaya çıkar. Bu zayıflık, SQL enjeksiyonu gibi saldırılara kapı aralayabilir.
  • 'Race Conditions (Zamanlama Hataları):Çoklu işlem veya iş parçacığı kullanımı sırasında ortaya çıkan hatalardır ve sistemin beklenmedik davranışlar sergilemesine neden olabilir.
  • Cross-Site Scripting (XSS):Kullanıcıların tarayıcılarında kötü niyetli kod çalıştırılmasına neden olan bir güvenlik açığıdır.
  • Hard-coded Passwords (Sertifika Şifreleri):Yazılım içinde sabit olarak yer alan şifreler, güvenlik risklerini artırır.
  • Insecure Random Numbers (Güvensiz Rastgele Sayılar):Güvenlik uygulamalarında kullanılan rastgele sayıların tahmin edilebilir olması, saldırganların bu sayıları kullanarak sisteme sızmasına neden olabilir.

Güvenlik Mimarisi/Tasarım Analizi

Güvenlik mimarisi/tasarım analizi, yazılım tasarımının güvenlik gereksinimlerini doğru bir şekilde uygulayıp uygulamadığını doğrular. Genel olarak, güvenlik mimarisi/tasarım analizi için dört temel teknik kullanılmaktadır.[2][4]

Mantık Analizi

Mantık analizi, yazılım tasarımının denklemler, algoritmalar ve kontrol mantığı'nı değerlendirir.

Veri analizi

Veri analizi, yazılım bileşeninin tasarımında kullanılan her veri öğesinin tanımını ve amaçlanan kullanımını değerlendirir. Kesintilerin kullanımı ve bunların veri üzerindeki etkisi özel dikkat gerektirir; bu, kritik verilerin diğer rutinler tarafından değiştirilmediğinden emin olmaktır.

Prosedür analizi

Prosedür analizi, bir bileşenin dışa bağımlı olan veya başka bir dış bileşene erişen belirli tüm çağrıların kontrol edilmesi için tasarlanmış bir süreçtir.

Kısıtlama analizi

Genel bilgi analizi, bileşenlerin hangi bilgi öğelerine eriştiğini ve dış kaynaklarla (veri akışları, protokoller vb.) olan etkileşimlerini değerlendirir.

Kaynakça

  1. ^ Kaur, Jagpreet; Ramkumar, K.R. (Eylül 2022). "The recent trends in cyber security: A review". Journal of King Saud University - Computer and Information Sciences. 34 (8). ss. 5766-5781. doi:[Insert DOI here if available] |doi= değerini kontrol edin (yardım). 
  2. ^ a b "Web Uygulama Güvenliği Testi". 10 Haziran 2023 tarihinde kaynağından arşivlendi. Erişim tarihi: 3 Kasım 2024. 
  3. ^ "Yaygın Zayıflıklar Listesi Projesi". 16 Mayıs 2008 tarihinde kaynağından arşivlendi. Erişim tarihi: 26 Ağustos 2010. 
  4. ^ "Güvenlik Mimarisi Zayıflıkları Kataloğu". 2017 IEEE Yazılım Mimarisi Uluslararası Konferansı (ICSA). doi:10.1109/ICSAW.2017.25.

Read other articles:

2006 single by Cherish Do It to ItSingle by Cherish featuring Sean Paul of the YoungBloodZfrom the album Unappreciated B-sideGhetto MentalityHe Said She SaidReleasedMarch 21, 2006 (2006-03-21)GenreCrunk&BLength3:47LabelSho'nuffCapitolSongwriter(s)Sean Paul JosephFarrah KingNeosha KingFelisha King HarveyFallon KingRodney RichardJohn WilliamsProducer(s)Don VitoCherish singles chronology Miss P. (2003) Do It to It (2006) Unappreciated (2006) Alternative coverDigital releas...

 

Синелобый амазон Научная классификация Домен:ЭукариотыЦарство:ЖивотныеПодцарство:ЭуметазоиБез ранга:Двусторонне-симметричныеБез ранга:ВторичноротыеТип:ХордовыеПодтип:ПозвоночныеИнфратип:ЧелюстноротыеНадкласс:ЧетвероногиеКлада:АмниотыКлада:ЗавропсидыКласс:Пт�...

 

Air service branch of the U.S. military For the civilian military department for air and space forces, see United States Department of the Air Force. For the song, see The U.S. Air Force (song). USAF redirects here. For other uses, see USAF (disambiguation). United States Air ForceEmblem of the United States Air Force[1]Logo of the United States Air ForceFounded18 September 1947(76 years, 7 months)CountryUnited StatesTypeAir forceSize321,848 active duty personnel[a]...

I patrimoni dell'umanità del Messico sono i siti dichiarati dall'UNESCO come patrimonio dell'umanità in Messico, che è divenuto parte contraente della Convenzione sul patrimonio dell'umanità il 23 febbraio 1984[1]. Al 2022 i siti iscritti nella Lista dei patrimoni dell'umanità sono trentacinque, mentre ventuno sono le candidature per nuove iscrizioni[1]. I primi sei siti iscritti nella lista sono stati nel 1987 il centro storico di Città del Messico e Xochimilco, il cent...

 

Salah BodiSutradaraSys NSProduserSyanindita TrasystySabdayagra AhessaSadhenna SayandaPemeranZhi AlatasMiqdad AddausyRoy MartenRay SahetapyAsrul DahlanAty FathiyahBaby ZelviaHengky TornandoEdo KondologitPerusahaanproduksiPT. Syanindita Sabda SadhennaTanggal rilis20 November 2014Durasi100 MenitNegara IndonesiaBahasaIndonesia Salah Bodi adalah film drama-komedi Indonesia yang dirilis tahun 2014. Film ini dibintangi oleh Zhi Alatas, Migdad Addausy, Roy Marten, dan Ray Sahetapy. Film ini disutrada...

 

هذه المقالة عن المجموعة العرقية الأتراك وليس عن من يحملون جنسية الجمهورية التركية أتراكTürkler (بالتركية) التعداد الكليالتعداد 70~83 مليون نسمةمناطق الوجود المميزةالبلد  القائمة ... تركياألمانياسورياالعراقبلغارياالولايات المتحدةفرنساالمملكة المتحدةهولنداالنمساأسترالي�...

ملعب فرحات حشادمعلومات عامةسمّي باسم فرحات حشاد المنطقة الإدارية قرقنة البلد  تونس الاستعمالالرياضة كرة القدم المستضيف نادي المحيط القرقنيمعلومات أخرىالطاقة الاستيعابية 2,000الموقع الجغرافيالإحداثيات 34°42′N 11°13′E / 34.7°N 11.21°E / 34.7; 11.21 تعديل - تعديل مصدري - تع�...

 

English industrialist This article needs additional citations for verification. Please help improve this article by adding citations to reliable sources. Unsourced material may be challenged and removed.Find sources: Francis Homfray – news · newspapers · books · scholar · JSTOR (January 2023) (Learn how and when to remove this message) Portrait of Francis Homfray (1729, circle of Francis Hayman) Francis Homfray (7 September 1725 – 1798) was an En...

 

الحقاوه  - منطقة سكنية -  تقسيم إداري البلد الأردن  المحافظة محافظة البلقاء لواء لواء قصبة السلط قضاء قضاء العارضة السكان التعداد السكاني 969 نسمة (إحصاء 2015)   • الذكور 484   • الإناث 485   • عدد الأسر 217 معلومات أخرى التوقيت ت ع م+02:00  تعديل مصدري - تعديل   ...

Peruvian footballer (1943–2022) Orlando de la Torre De la Torre playing for Sporting CristalPersonal informationFull name Orlando de la Torre CastroDate of birth (1943-11-21)21 November 1943Place of birth Trujillo, Department of La Libertad, PeruDate of death 24 August 2022(2022-08-24) (aged 78)Height 1.80 m (5 ft 11 in)Position(s) DefenderSenior career*Years Team Apps (Gls)1960–1973 Sporting Cristal International career1967–1973 Peru 39 (0) *Club domestic league app...

 

2015 Indian adventure comedy-drama film Bajrangi BhaijaanTheatrical release posterDirected byKabir KhanScreenplay byKabir KhanParveez SheikhV. Vijayendra PrasadStory byV. Vijayendra Prasad Dialogue byKabir KhanKausar Munir Produced bySalman KhanRockline Venkatesh Kabir KhanStarringSalman KhanHarshaali MalhotraKareena Kapoor Khan Nawazuddin SiddiquiCinematographyAseem MishraEdited byRameshwar S. BhagatMusic byScore:Julius PackiamSongs:PritamProductioncompaniesSalman Khan FilmsRockline Entertai...

 

This is a list of current presiding officers of the legislative assemblies of sovereign and unrecognized states, autonomous regions, dependencies and other territories, sui generis entities, and international organisations. States recognised by the United Nations State Assembly Title Name Political affiliation Assumed office  Afghanistan Leadership Council[a] Supreme Leader Hibatullah Akhundzada Taliban 15 August 2021  Albania Parliament Chairman Lindita Nikolla Socialist 1...

Mountain range in Saudi Arabia and Yemen Sarawat MountainsSaratSarawat mounatains of Al-Bahah, Saudi Arabia.Highest pointPeakJabal An-Nabi Shu'ayb, YemenElevation3,666 m (12,028 ft)NamingNative nameJibāl As-Sarawāt (جِبَالُ ٱلسَّرَوَاتِ)GeographySarawat MountainsShow map of Saudi ArabiaSarawat MountainsShow map of Middle EastSarawat MountainsShow map of West and Central Asia CountriesYemen and Saudi ArabiaRange coordinates18°16′02″N 42°22′05″E...

 

Season of television series Season of television series Arrested DevelopmentSeason 1DVD coverStarring Jason Bateman Portia de Rossi Will Arnett Michael Cera Alia Shawkat Tony Hale David Cross Jeffrey Tambor Jessica Walter No. of episodes22ReleaseOriginal networkFoxOriginal releaseNovember 2, 2003 (2003-11-02) –June 6, 2004 (2004-06-06)Season chronologyNext →Season 2List of episodes The first season of the television comedy series Arrested Development aired on Fox from...

 

Italian Navy officer Luciano ZappataAllegiance ItalyService/branch Italian NavyRankAdmiralCommands held Deputy Supreme Allied Commander Transformation Deputy Chief of Staff of the Navy Admiral Luciano Zappata is an Italian Navy officer who served as Deputy Supreme Allied Commander Transformation.[1] He graduated from the Naval Academy in 1970 From 1987 to 1988, he commanded the frigate ITS Espero and from 1992 to 1993 served as commanding officer of the cruiser ITS Vittorio ...

You can help expand this article with text translated from the corresponding article in Italian. (January 2022) Click [show] for important translation instructions. Machine translation, like DeepL or Google Translate, is a useful starting point for translations, but translators must revise errors as necessary and confirm that the translation is accurate, rather than simply copy-pasting machine-translated text into the English Wikipedia. Do not translate text that appears unreliable or lo...

 

Toxaphene Names IUPAC name 2,2,5,6-tetrachloro-1,7-bis(chloromethyl)-7-(dichloromethyl)bicyclo[2.2.1]heptane Other names Chlorocamphene, Octachlorocamphene, Polychlorocamphene, Chlorinated camphene, Camphechlor Identifiers CAS Number 8001-35-2 Y 3D model (JSmol) Interactive image ChEBI CHEBI:77850 ChEMBL ChEMBL1339089 Y ChemSpider 4447533 ECHA InfoCard 100.029.348 EC Number 232-283-3 KEGG C15470 Y PubChem CID 5518 UNII 9924JQ4D5J Y CompTox Dashboard (EPA) DTXSID7021368 In...

 

Anna Lee Anna Lee, nata Joan Boniface Winnifrith (Ightham, 2 gennaio 1913 – Beverly Hills, 14 maggio 2004), è stata un'attrice britannica naturalizzata statunitense. Indice 1 Biografia 2 Filmografia parziale 2.1 Cinema 2.2 Televisione 3 Doppiatrici italiane 4 Altri progetti 5 Collegamenti esterni Biografia La famiglia di Anna Lee contava numerosi membri del clero, compreso il padre, che sostenne sempre la figlia nel suo desiderio di diventare attrice. Il secondo nome Boniface venne scelto ...

Voce principale: Associazione Calcio Savoia 1908. Associazione Calcio TorreseStagione 1945Sport calcio Squadra Ilva Torrese Allenatore? Presidente Raffaele Ruggiero Campionato Campano9º Maggiori presenzeCampionato: Castaldo, Oropallo (17)Totale: Castaldo, Oropallo (17) Miglior marcatoreCampionato: Castaldo, Capaldo (4)Totale: Castaldo, Capaldo (4) StadioCampo Formisano (5.000) 1944 1945-1946 Si invita a seguire il modello di voce Questa voce raccoglie le informazioni riguardanti la Tor...

 

Premier League 2017 Généralités Sport Football Organisateur(s) Football Federation of Kazakhstan (FFK) Édition 26e Lieu(x) Kazakhstan Date du 8 mars 2017au 5 novembre 2017 Participants 12 Matchs joués 198 Site web officiel L’argument http://www.pflk.kz/rus/championships/2#league (valeur 2) n’existe pas dans le modèle appelé Hiérarchie Hiérarchie 1re division Niveau inférieur First Division Palmarès Tenant du titre FK Astana Promu(s) en début de saison Kaysar Kyzylorda Nav...