Güvenlik

Yazılım Güvenliği Nedir??

Yazılım Güvenliği Nedir??
Yazılım güvenliği, kötü niyetli saldırılar altında, yazılımın kullanıcılarının ve sahiplerinin memnuniyeti için çalışmaya devam etmesi için doğal savunmaya sahip güvenli yazılımların oluşturulmasıdır. Bu makale, genel bir bakış açısıyla tehditleri ve çözümleri açıklamaktadır. Bilgi güvenliğinde standart kelime dağarcığı da açıklanmıştır. Bu makaleyi anlamak için bilgisayar ve internet okuryazarı olmanız gerekir; ayrıca bir bilgisayar dili de okumuş olmalısın, e.g., Perl, C, C++, PHP, vb.

Güvenli olan bilgi ve yazılım paketleridir (uygulamalar ve belgeler). Bilgi, herkes için yararlı olan herhangi bir mesajdır. “Bilgi” belirsiz bir kelimedir. Kullanıldığı bağlam anlamını verir. Haber, ders, öğretici (veya ders) veya çözüm anlamına gelebilir. Bir yazılım paketi genellikle bazı problemlerin veya ilgili problemlerin çözümüdür. Eskiden konuşulmayan tüm bilgiler kağıtlara yazılırdı. Günümüzde yazılım, bilginin bir alt kümesi olarak değerlendirilebilir.

Yazılım bir bilgisayarda bulunabilir veya bir bilgisayardan diğerine geçiş halinde olabilir. Dosyalar, veriler, e-postalar, kaydedilmiş ses, kaydedilmiş videolar, programlar ve uygulamalar bir bilgisayarda bulunur. Bir bilgisayarda bulunurken bozulabilir. Taşıma sırasında, yine de bozulabilir.

İşlemcisi ve belleği olan herhangi bir cihaz bir bilgisayardır. Bu makalede, bir hesap makinesi, bir akıllı telefon veya bir tablet (e.g., iPad) bir bilgisayardır. Bu aygıtların ve ağ aktarım ortamlarının her biri, korunması gereken bir yazılıma veya geçiş halindeki yazılıma sahiptir.

ayrıcalıklar

Bir kullanıcıya bilgisayarda bir dosyayı yürütme ayrıcalığı verilebilir. Bir kullanıcıya bilgisayardaki bir dosyanın kodunu okuma ayrıcalığı verilebilir. Bir kullanıcıya bilgisayardaki bir dosyanın kodunu değiştirme (yazma) ayrıcalığı verilebilir. Bir Kullanıcıya bu ayrıcalıklardan biri, ikisi veya üçü de verilebilir. Bir işletim sistemi veya veritabanı için başka ayrıcalıklar da vardır. Kullanıcılar bir sistemde farklı miktarlarda veya düzeyde ayrıcalıklara sahiptir.

tehditler

Yazılım Tehditlerinin Temelleri

Yazılımı korumak için tehditlerini bilmelisiniz. Yazılım, yetkisiz kişilerin verilerine erişmesine karşı korunmalıdır. Yasa dışı kullanıma karşı korunmalıdır (örneğin zarar vermek için). Yazılım, rakiplere ifşa edilmeye karşı korunmalıdır. Yazılım bozulmamalı. Yazılım istenmeden silinmemelidir. Yazılım bozulmamalı. Yazılım, çağrılmayan herhangi bir değişikliğe sahip olmamalıdır. Veriler (yazılım), özellikle yetkisiz kişiler tarafından iyi bir neden olmadan denetlenmemelidir. Yazılım kopyalanmamalı (korsan).

Belirli bir klasik tehdit türüyle sonuçlanan bu üslerden biri veya daha fazlası.

Yazılım Tehdidi Sınıfları

Kimlik Sahtekarlığı Saldırısı

Bu, bir kişinin (veya programın) başka bir kişiyi (veya programı) bazı yazılım etkinliklerinde başarıyla temsil ettiği durumdur. Bu, yasa dışı bir avantaj elde etmek için yanlış veriler kullanılarak yapılır.

reddetme

Bu, birinin yanlış bir şey yapması ve onu yapanın kendisi olmadığını reddetmesi durumudur. Kişi yanlış şeyi yapmak için başka birinin imzasını kullanabilir.

Veri İhlali

Veri ihlali, güvenli veya özel bilgilerin güvenilmeyen bir ortama kasıtlı veya kasıtsız olarak serbest bırakılmasıdır.

Hizmeti engelleme saldırısı

Bir yazılım bilgisayar ağı, ağ bilgisayarlarında çalışan yazılımlara sahiptir. Her kullanıcı genellikle önündeki bilgisayarını kullanır ve genellikle ağdaki diğer bilgisayarlardan hizmet ister. Suçlu bir kullanıcı, bir sunucuyu gereksiz isteklerle doldurmaya karar verebilir. Bir sunucunun belirli bir süre içinde işleyebileceği sınırlı sayıda isteği vardır. Bu flood düzeninde, sunucu suçlunun isteklerine yanıt vermekle meşgul olduğundan meşru kullanıcılar sunucuyu gerektiği kadar kullanamazlar. Bu, sunucuyu aşırı yükler, sunucunun hizmetlerini geçici veya süresiz olarak kesintiye uğratır. Bu esnada, ana (sunucu) meşru kullanıcılar için çalışırken yavaşlar, fail ise fark edilmeyen yaramazlığını gerçekleştirir, çünkü hizmet için bekleyen meşru kullanıcılar ne olduğunu bilemezler. sunucu. Saldırı devam ederken iyi kullanıcılara hizmet reddedilir.

Ayrıcalık Yükseltme

Bir işletim sisteminin veya uygulamanın farklı kullanıcılarının farklı ayrıcalıkları vardır. Bu nedenle, bazı kullanıcılar sistemden diğerlerinden daha fazla değer elde eder. Kaynaklara veya yetkisiz bilgilere yüksek erişim elde etmek için bir yazılım hatasından veya yapılandırma gözetiminden yararlanmak Ayrıcalık Yükseltmedir.

Yukarıdaki sınıflandırma şemaları, bir bilgisayar virüsüne ve solucanlara neden olmak için kullanılabilir.

Yukarıdaki sınıflandırma şemalarından biri veya daha fazlası, aşağıdakileri içeren yazılım saldırıları için kullanılabilir: fikri mülkiyet hırsızlığı, veritabanı bozulması, kimlik hırsızlığı, sabotaj ve bilgi gaspı. Bir kişi, bir web sitesini yıkıcı bir şekilde değiştirmek için şemalardan birini veya birkaçını kullanırsa, sitenin müşterilerinin güvenini kaybetmesi, yani sabotajdır. Bilgi gaspı, bir şirketin bilgisayarının çalınması veya şirket hakkında yanlış bir şekilde gizli bilgilerin elde edilmesidir. Çalınan bilgisayar gizli bilgilere sahip olabilir. Bu, çalınan mal veya bilgiler karşılığında hırsızın ödeme talep edeceği fidye yazılımlarına yol açabilir.

Gizlilik

Bir şey sizin için hassas veya doğası gereği özel olduğunda, o şey size özeldir. Bu aynı zamanda bir grup insan için de geçerlidir. Bireyin kendini seçici bir şekilde ifade etmesi gerekir. Bu seçiciliği elde etmek için bireyin kendini programlaması veya kendisi hakkında bilgi planlaması yapması gerekir; bu gizlilik. Bir grup insanın kendilerini seçici bir şekilde ifade etmesi gerekir. Böyle bir seçiciliği elde etmek için grup, kendilerini planlamalı veya kendileri hakkında bilgi planlamalıdır; bu gizlilik. Bireyin seçici olarak kendini koruması gerekir. Bu tür bir seçici korumaya ulaşabilmek için bireyin kendisini koruması veya kendisiyle ilgili bilgileri seçici bir şekilde koruması gerekir; yani gizlilik. Bir grup insanın kendilerini seçici olarak koruması gerekir. Bu tür bir seçici korumaya ulaşmak için grubun kendisini koruması veya kendisiyle ilgili bilgileri seçici bir şekilde koruması gerekir; yani gizlilik.

Tanımlama ve Kimlik Doğrulama

Yabancı bir ülkeye seyahat ettiğinizde, o ülkenin bir limanına ulaşacaksınız. Limanda bir polis memuru sizden kendinizi tanımlamanızı isteyecektir. pasaportunuzu sunacaksınız. Polis memuru pasaporttan yaşınızı (doğum tarihinden itibaren), cinsiyetinizi ve mesleğinizi öğrenecek ve size (yüzünüze) bakacak; bu kimlik. Polis memuru, gerçek yüzünüzü ve pasaporttaki fotoğrafınızı karşılaştıracaktır. Ayrıca, siz olup olmadığınızı öğrenmek için pasaportta yazanlarla yaşınızı tahmin edecektir.

Size bakmak ve yaşınızı, cinsiyetinizi ve mesleğinizi sizinle ilişkilendirmek özdeşleşmedir. Gerçek yüzünüzün ve fotoğrafınızın aynı olup olmadığını doğrulamak ve sunumunuzun yaşınızla uyuşup uyuşmadığını tahmin etmek kimlik doğrulamadır. Tanımlama, bir kişiyi veya bir şeyi belirli niteliklerle ilişkilendirmektir. Bir kimliği belirtmek aynı zamanda kimliktir. Kimlik doğrulama, kimliğin (kimliğin) doğru olduğunu kanıtlama eylemidir. Başka bir deyişle, kimlik doğrulama, bir iddiayı kanıtlama eylemidir.

Bilgi işlemde, kimlik doğrulamanın en yaygın yolu bir parola kullanmaktır. Örneğin bir sunucunun birçok kullanıcısı vardır. Girişte, kullanıcı adınızla kimliğinizi (kendinizi tanıtın) belirtirsiniz. Kimliğinizi şifrenizle kanıtlıyorsunuz. Parolanızın sadece sizin tarafınızdan bilinmesi gerekiyor. Kimlik doğrulama daha da ileri gidebilir; size “Hangi şehirde veya şehirde doğdunuz?” gibi bir soru sorarak?”

Güvenlik Hedefleri

Bilgideki güvenlik hedefleri Gizlilik, Bütünlük ve Kullanılabilirliktir. Bu üç özellik CIA üçlüsü olarak bilinir: Gizlilik için C, Bütünlük için I ve Kullanılabilirlik için A.

Gizlilik

Bilgiler yetkisiz kişilere veya yetkisiz kuruluşlara veya yetkisiz işlemlere ifşa edilmemelidir; bu bilgi güvenliğinde bilgi gizliliğidir (yazılım güvenliğinin yanı sıra). Parolaların çalınması veya yanlış bir kişiye hassas e-postaların gönderilmesi, gizliliğin ihlal edilmesidir. Gizlilik, bilgileri yetkisiz kişilerden veya yetkisiz kuruluşlardan veya yetkisiz işlemlerden koruyan bir gizlilik bileşenidir.

Bütünlük

Bilgi veya verinin bir yaşam döngüsü vardır. Başka bir deyişle, bilgi veya verinin bir başlangıç ​​ve bitiş zamanı vardır.  Bazı durumlarda, yaşam döngüsünün bitiminden sonra bilgilerin (veya verilerin) silinmesi gerekir (yasal olarak). Bütünlük iki özellikten oluşur: 1) tüm yaşam döngüsü boyunca bilgilerin (veya verilerin) doğruluğunun sürdürülmesi ve güvence altına alınması ve 2) tüm yaşam döngüsü boyunca bilgilerin (veya verilerin) eksiksizliği. Bu nedenle, bilgiler (veya veriler) yetkisiz veya tespit edilmemiş bir şekilde azaltılmamalı veya değiştirilmemelidir.

kullanılabilirlik

Herhangi bir bilgisayar sisteminin amacına hizmet etmesi için bilgi (veya veriler) gerektiğinde mevcut olmalıdır. Bu, bilgisayar sisteminin ve aktarım ortamının doğru şekilde çalışması gerektiği anlamına gelir. Kullanılabilirlik, sistem yükseltmeleri, donanım arızaları ve elektrik kesintileri nedeniyle tehlikeye girebilir. Kullanılabilirlik, hizmet reddi saldırıları tarafından da tehlikeye atılabilir.

İnkar Edilemez

Birisi asla yerine getirmediği bir sözleşmeyi imzalamak için kimliğinizi ve imzanızı kullandığında, sözleşmeyi sizin yazmadığınızı mahkemede başarılı bir şekilde inkar edemediğiniz zaman inkar edilemezlik söz konusudur.

Bir sözleşmenin sonunda, hizmeti sunan tarafın hizmeti sunmuş olması gerekir; ödeyen taraf ödemeyi yapmış olmalı.

İnkar edememenin dijital iletişime nasıl uygulanabileceğini anlamak için önce anahtarın anlamını ve dijital imzanın anlamını bilmelisiniz. Anahtar bir kod parçasıdır. Dijital imza, gönderenin yazılı imzasına benzeyen başka bir kod üretmek için bir anahtar kullanan bir algoritmadır.

Dijital güvenlikte, dijital imza ile inkar edilemezlik sağlanır (mutlaka garanti edilmez). Yazılım güvenliğinde (veya bilgi güvenliğinde), inkar etmeme, veri bütünlüğü ile ilgilidir. Dijital imza ile birleştirilmiş veri şifreleme (duymuş olabilirsiniz), aynı zamanda gizliliğe de katkıda bulunur.

Bilgideki güvenlik hedefleri Gizlilik, Bütünlük ve Kullanılabilirliktir. Ancak, bilgi güvenliği (veya yazılım güvenliği) ile uğraşırken göz önünde bulundurmanız gereken başka bir özellik de inkar edilemezliktir.

Tehditlere verilen yanıtlar

Tehditlere aşağıdaki üç yoldan biri veya birkaçı ile yanıt verilebilir:

- Azaltma/azaltma: Bu, güvenlik açıklarını ortadan kaldırmak veya tehditleri engellemek için güvenlik önlemlerinin ve karşı önlemlerin uygulanmasıdır.

- Devir/Devir: Bu, tehdidin yükünü bir sigorta şirketi veya bir dış kaynak şirketi gibi başka bir kuruluşa yükler.

- Kabul: Bu, karşı önlemin maliyetinin tehdit nedeniyle meydana gelebilecek olası kayıp maliyetinden daha fazla olup olmadığını değerlendirir.

Giriş kontrolu

Yazılım güvenliğinin bir parçası olduğu bilgi güvenliğinde erişim kontrolü, belirli bir sistemdeki korunan kaynaklara yalnızca uygun kullanıcıların hak ettikleri farklı ayrıcalıklarla erişebilmelerini sağlayan bir mekanizmadır.

Bilgi Güvenliğine Güncel Çözüm

Bilgi güvenliğini sağlamanın güncel ve popüler yolu, erişim kontrolünü zorunlu kılmaktır. Bu, bir uygulamaya girişi doğrulama, antivirüs yükleme, yerel alan ağına güvenlik duvarı kullanma ve Aktarım Katmanı Güvenliği kullanma gibi önlemleri içerir.

Bir uygulamaya giriş olarak bir tarih beklediğinizde, ancak kullanıcı bir sayı girdiğinde, böyle bir giriş reddedilmelidir. Yani giriş doğrulama.

Bilgisayarınızda yüklü bir antivirüs, virüslerin bilgisayarınızdaki dosyaları bozmasını önler. Bu, yazılımın kullanılabilirliğine yardımcı olur.

Ağı korumak için bir yerel alan ağının gelen ve giden trafiğini izlemek ve kontrol etmek için kurallar yapılabilir. Yerel alan ağında bu tür kurallar yazılım olarak uygulandığında, bu bir güvenlik duvarıdır.

Aktarım Katmanı Güvenliği (TLS), İnternet üzerinden aktarımlar için gizlilik ve veri güvenliğini kolaylaştırmak için tasarlanmış bir güvenlik protokolüdür. Bu, gönderen ana bilgisayar ile alıcı ana bilgisayar arasındaki iletişimin şifrelenmesini içerir.

Aşağıda açıklandığı gibi Yazılım Güvenliğinden farklı olarak, erişim kontrolünü zorlayarak bilgi güvenliğinin yapılmasına Güvenlik Yazılımı denir. Her iki yaklaşımın da amacı aynıdır, ancak farklıdırlar.

Yazılım Güvenliği Uygun

Uygulamalar, bugün yazıldığı gibi, programcıların son 20 yılda giderek daha fazla farkına vardıkları birçok yazılım zafiyetine sahiptir. Çoğu saldırı, erişim kontrolünün üstesinden gelmek veya çevresinde çalışmak yerine bu güvenlik açıklarından yararlanarak yapılır.

Bir arabellek bir dizi gibidir ancak dayatılan bir uzunluk yoktur. Bir programcı bir arabelleğe yazarken, farkında olmadan uzunluğunun üzerine yazmak mümkündür. Bu güvenlik açığı bir arabellek taşmasıdır.

Günümüzde yazılım, arabellek taşmaları gibi uygulama hataları ve tutarsız hata işleme gibi tasarım kusurları dahil olmak üzere güvenlik sonuçlarıyla kusurludur. Bunlar güvenlik açıkları.

PHP hileleri, Perl hileleri ve C++ hileleri gibi bilgisayar dili hilelerini duymuş olabilirsiniz. Bunlar güvenlik açıkları.

Yazılım güvenliği, güvenlik yazılımlarının aksine, güvenlik açıklarının engellenebileceği savunma kodu yazarak bu güvenlik açıklarının üstesinden gelmektir. Uygulama kullanılırken, daha fazla güvenlik açığı keşfedildikçe, geliştiriciler (programcılar) güvenlik açıklarını savunma amaçlı olarak yeniden kodlamanın yollarını aramalıdır.

Tehdit, hizmet reddi saldırısı, erişim kontrolü tarafından durdurulamaz, çünkü failin bunu yapması için ana bilgisayara (sunucu) zaten erişimi olması gerekir. Kullanıcıların ana bilgisayarda ne yaptığını izleyen bazı dahili yazılımlar dahil edilerek durdurulabilir.

Yazılım güvenliği, yazılım saldırılarını zorlaştıran, içeriden sağlam bir tasarımdır. Yazılım kendini korumalı olmalı ve sınırda hiçbir güvenlik açığı olmamalıdır. Bu şekilde güvenli bir ağ çalıştırmak daha kolay ve daha uygun maliyetli hale gelir.

Yazılım güvenliği, güvenlik yazılımı erişim kontrolünü uygularken (tasarlarken) uygulama içinden savunma kodu tasarlıyor. Bazen bu iki konu örtüşür, ancak çoğu zaman örtüşmezler.

Yazılım güvenliği zaten oldukça gelişmiştir, hala geliştirilmekte olsa da, güvenlik yazılımı kadar gelişmiş değildir. Kötü bilgisayar korsanları, güvenlik yazılımlarının üstesinden gelmek veya bu yazılımlar etrafında çalışmak yerine, yazılımdaki güvenlik açıklarından yararlanarak amaçlarına ulaşırlar. Gelecekte bilgi güvenliğinin güvenlik yazılımından çok yazılım güvenliği olacağı umulmaktadır. Şimdilik, hem yazılım güvenliği hem de güvenlik yazılımı devam ediyor olmalı.

Yazılım geliştirmenin sonunda sıkı testler yapılmazsa, yazılım güvenliği gerçekten etkili olmayacaktır.

Programcılar, defansif kod programlamayı gerçekleştirme konusunda eğitilmelidir. Kullanıcılar ayrıca uygulamaları savunma amaçlı nasıl kullanacakları konusunda eğitilmelidir.

Yazılım güvenliğinde geliştirici, kullanıcının hak ettiğinden daha fazla ayrıcalık almamasını sağlamalıdır.

Sonuç

Yazılım güvenliği, yazılım saldırılarını zorlaştırmak için güvenlik açıklarına karşı savunma amaçlı kodlama ile uygulamaların tasarlanmasıdır. Güvenlik yazılımı ise erişim kontrolünü zorlayan yazılımların üretimidir. Yazılım güvenliği hala geliştirilmektedir, ancak bilgi güvenliği için güvenlik yazılımından daha umut vericidir. Zaten kullanılıyor ve popülaritesi artıyor. Gelecekte her ikisine de ihtiyaç duyulacak, ancak yazılımla güvenlik daha fazlasına ihtiyaç duyulacak.

How to reverse Mouse and Touchpads scrolling direction in Windows 10
Mouse and Touchpads not only make computing easy but more efficient and less time-consuming. We cannot imagine a life without these devices, but still...
How to change Mouse pointer and cursor size, color & scheme on Windows 10
The mouse pointer and cursor in Windows 10 are very important aspects of the operating system. This can be said for other operating systems as well, s...
Linux Oyunları Geliştirmek için Ücretsiz ve Açık Kaynaklı Oyun Motorları
Bu makale, Linux'ta 2D ve 3D oyunlar geliştirmek için kullanılabilecek ücretsiz ve açık kaynaklı oyun motorlarının bir listesini kapsayacaktır. Bu tür...