# Sıfır-gün
Sıfır-gün (0-gün veya sıfır-saat veya sıfır-gün açığı olarak da bilinir) bir yazılımda geliştirici kişi ya da kurum tarafından dahi bilinmeyen, bu nedenle engellenmeyen zayıflık. Keşfedildiği gün, genellikle uzun zamandan beri o açıklığın blackhatler tarafından bulunup kullanıldığı ortaya çıkar. Güvenlik açığı ortaya çıktıktan sonra geliştirici tarafından bir güncelleme sunulamadan önce faydalanılan bir zayıflıktır
Sıfır-gün saldırıları genellikle güvenlik açıklarının genel kullanıma açıklandığı tarihten önce veya günümüzde bilgisayar korsanları tarafından denenir. Bazen de geliştiricinin açığın farkında olduğu veya düzeltilmiş halini hazırlamadan önce denenir. Sıfır-gün saldırıları ciddi bir tehdittir.


## Saldırı yönü.
Kötü amaçlı yazılım yazarları sıfır-gün açıkları için birkaç farklı saldırı yönünden yararlanabilir. Bazen kullanıcılar sahte internet sitelerini ziyaret ettiğinde, sitedeki kötü amaçlı kod internet tarayıcılarındaki güvenlik açıklarından yararlanabilir. İnternet tarayıcıları, yaygın dağıtım ve kullanımları nedeniyle suçlular için özel bir hedeftir. Siber suçlular, eki açan uygulamadaki zayıf noktaları sömüren kötü amaçlı e-posta eklerini SMTP yoluyla da gönderebilirler. US-CERT gibi veritabanlarında giderek artan oranlarda göründükleri gibi, yaygın dosya türlerinden yararlanan saldırılar çok sayıda ve sık görülür. Suçlular, saldırıya uğramış sistemlerden gizli verileri çalmak için bu dosya türü istismarlardan yararlanarak kötü amaçlı yazılım üretebilirler.


## Güvenlik açığı penceresi.
Bir yazılım kullanımının ilk kez aktif hale gelmesinden güvenlik açığı bulunan sistemlerin sayısının küçülmesine kadar geçen süre, Güvenlik Açığı Penceresi (WoV) olarak bilinir. Her yazılım güvenlik açığı için zaman çizelgesi aşağıdaki ana olaylarla tanımlanır:
 - t0: Güvenlik açığı keşfedildi.
 - t1a: Bir güvenlik düzeltme eki yayınlanır (ör. Yazılım satıcısı tarafından). 
 - t1b: Bir exploit aktif hale gelir.
 - t2: En savunmasız sistemler düzeltmeyi uygular.
Normal güvenlik açıkları için, t1b - t1a> 0'dır. Bu, yazılım satıcısının güvenlik açığının farkında olduğunu (zaman t ≥ t0) ve herhangi bir bilgisayar korsanının çalıştırılabilir bir uygulama (t1b) hazırlamadan önce bir güvenlik düzeltme paketi (t1a) yayımlama zamanı geldiğini ima eder. Sıfır gün açıkları için, bir yama hazır olmadan önce exploitin faal hale gelmesi için t1b - t1a ≤ 0 olması gerekir.
Bilinen güvenlik açıklarını açıklamayarak bir yazılım satıcısı, t1b'ye erişmeden önce t2'ye ulaşmayı umar, böylece herhangi bir istismarı önler. Bununla birlikte, satıcının, bilgisayar korsanlarının kendi başına güvenlik açıklarını bulamayacakları konusunda hiçbir garantisi yoktur. Ayrıca, güvenlik yamaları temel güvenlik açıklarını ortaya çıkarmak için analiz edilebilir ve otomatik olarak çalışma açıkları üretir, böylece her zaman t0 <= t1a ve <= t1b olacaktır.
Uygulamada WoV boyutu; sistemler, satıcılar ve bireysel güvenlik açıkları arasında değişir. Genellikle gün olarak ölçülür ve 2006'dan bir rapora göre ortalama 28 günde tamamlanır.


## Koruma.
Sıfır-gün koruması, sıfır gün kullanımlarına karşı koruma sağlama yeteneğidir. Sıfır-gün saldırıları genel olarak halk tarafından bilinmediğinden, onlara karşı savunma yapmak genellikle zordur. Sıfır gün saldırıları "güvenli" ağlara karşı genellikle etkindir ve başlatıldıktan sonra bile tespit edilmemiş kalabilir. Bu nedenle, güvenli sistemler denilen kullanıcılar da sağduyu kullanmalı ve güvenli bilgisayar kullanma alışkanlıklarını uygulamalıdır.
Tampon taşmaları gibi sıfır-gün bellek bozulması güvenlik açıklarının etkinliğini sınırlayan birçok teknik bulunmaktadır. Bu koruma mekanizmaları, OS X, Windows Vista, Solaris, Linux, Unix ve Unix benzeri ortamlar gibi çağdaş işletim sistemlerinde bulunur; Windows XP Service Pack 2, jenerik bellek bozulması güvenlik açıklarına karşı sınırlı koruma içerir ve önceki sürümler daha da az içerir. Masaüstü ve sunucu koruma yazılımı sıfır gün tampon taşması güvenlik açıklarını azaltmak için de mevcuttur. Tipik olarak bu teknolojiler, sezgisel sonlandırma analizini içerir; zarar vermeden önce onları durdurur.
Bu tür bir çözümün imkânsız olduğu öne sürülmüştür çünkü genel durumda kötü amaçlı olup olmadığını belirlemek için herhangi bir kodu analiz etmek algoritmik olarak imkânsızdır, çünkü böyle bir analiz doğrusal sınırlı otomat üzerinden durma sorununa azaltılır, çözülemez. Bununla birlikte, genel olayı ele almak gereksizdir, çoğu durumda kötü niyetli davranışları ortadan kaldırmaya gerek yoktur. Hem güvenli hem de güvensiz bazı programları reddetmekle birlikte sınırlı bir program grubunun güvenliğini tanımak yeterlidir (ör. Belirli makine kaynaklarının alt kümesine erişebilir veya bunları değiştirebilir). Bu, çekirdek düzeyinde bir istismar karşısında zorluk çıkaracak şekilde korunan bu güvenli programların bütünlüğünü gerektirir. Symantec SONAR teknolojisi, bilinen iyi yazılım özelliklerini algılayan bir algoritma kullanarak zararlı yazılımları tespit etmeye çalışmaktadır. Algoritmanın kriterlerini karşılamayan yeni yüklenen herhangi bir program potansiyel kötü amaçlı yazılım olarak işaretlenir.
Sıfırgün Acil Müdahale Ekibi (ZERT), sıfır gün kullanımları için ücretsiz düzeltme eklerini çıkarmaya çalışan bir grup yazılım mühendisiydi.


## Solucanlar.
Sıfır-gün solucanları, bilgisayar güvenliği uzmanları tarafından bilinmiyorken sürpriz bir saldırıdan faydalanırlar. Yakın geçmiş, solucan yayılımının oranının artmakta olduğunu gösteriyor. İyi tasarlanmış solucanlar birkaç dakika içinde (bazıları saniyeler içerisinde) İnternet'e ve diğer yollarla yıkıcı sonuçlar doğurabilir.


## Ahlak.
Sıfır-gün güvenlik açığı bilgilerinin toplanması ve kullanılması ile ilgili olarak farklı ideolojiler mevcuttur. Birçok bilgisayar güvenlik sağlayıcısı, açıkların doğasını ve bireylerin, bilgisayar solucanlarının ve virüslerin sömürünün daha iyi anlaşılabilmesi için sıfır gün güvenlik açıklarını araştırır. Alternatif olarak, bazı satıcılar araştırma kapasitelerini artırmak için güvenlik açıkları satın alırlar. Böyle bir programa bir örnek, TippingPoint'in Zero Day Initiative yazılımıdır. Bu güvenlik açıklarını satmak ve satın almak dünyanın birçok yerinde teknik açıdan yasadışı değildir, ancak açıklama yöntemiyle ilgili çok fazla tartışma vardır.
Resmi programların çoğu, Rain Forest Puppy'nin açıklama kurallarının bir kısmını ya da daha yeni OIS Güvenlik Açığı Raporlama ve Müdahale Yönergeleri'ni izler. Genel olarak bu kurallar güvenlik açığının satıcıya bildirimde bulunmaksızın kamuya açıklanmasını yasaklamaktadır. Ve açığa karşı bir düzeltme için satıcıya zaman sağlamaktadır.


## Virüsler.
Sıfır-gün virüsü (sıfır-gün zararlı yazılımı veya yeni-nesil zararlı yazılım olarak da bilinir), önceden bilinmeyen bir bilgisayar virüsüdür veya belirli antivirüs yazılımı imzalarının henüz bulunmadığı diğer kötü amaçlı yazılımlardır.
Antivirüs yazılımı, geleneksel olarak, kötü amaçlı yazılımları tanımlamak için imzalara güvenir. Bu çok etkili olabilir, ancak numuneler önceden elde edilinceye, imzalar üretilip güncellemeler kullanıcılara dağıtılmadıkça kötü amaçlı yazılımlara karşı savunamazlar. Bu nedenle, imza tabanlı yaklaşımlar sıfır-gün virüslerine karşı etkili değildir.
Çoğu modern antivirüs yazılımı hala imzalar kullanır, ancak diğer analiz türlerini de uygularlar.


### Kod analizi.
Kod analizinde dosyanın makine kodu, şüpheli görünen bir şey olup olmadığını görmek için analiz edilir. Genellikle, kötü amaçlı yazılım karakteristik davranışa sahiptir ve kodda bulunup bulunmadığını saptamak için kod analizi denemeleri yapılır.
Yararlı olmasına rağmen, kod analizi önemli sınırlamalara sahiptir. Bir bölüm kodunun neyin amaçlandığını belirlemek her zaman kolay değildir; özellikle de çok karmaşıksa ve kasıtlı olarak analizi yenmek için yazılmışsa. Kod analizinin bir başka kısıtlaması, mevcut zaman ve kaynaklardır. Rakipsiz antivirüs yazılımı dünyasında, analizin etkinliği ile zaman gecikmesi arasında bir denge vardır.


### Emülasyon.
Kod analizinin sınırlamalarını aşmak için bir yaklaşım, antivirüs yazılımı için şüpheli kod bölümlerini güvenli bir sanal alanda çalıştırmak ve davranışlarını gözlemlemektir. Bu, aynı kodu analiz etmekten daha hızlı bir yol olabilir.


### Genel imzalar.
Genel imzalar, belirli bir zararlı yazılım yerine belirli davranışlara özgü imzalardır. Çoğu yeni kötü amaçlı yazılım tamamen yeni değildir, ancak daha önce bulunan kötü amaçlı yazılımdaki bir varyasyon veya bir veya daha fazla önceki kötü amaçlı yazılım örneğindeki kodları içerir. Böylece, önceki analizin sonuçları yeni zararlı yazılımlara karşı kullanılabilir.


### Virüsten koruma yazılımı endüstrisindeki rekabet gücü.
Virüsten koruma endüstrisinde, çoğu satıcının imzaya dayalı korumasının aynı derecede etkili olduğu genellikle kabul edilmektedir. Bir zararlı yazılım ürünü için bir imza varsa, her ürün (işlevsiz değilse) onu algılamalıdır. Bununla birlikte bazı satıcılar, yeni virüslerden haberdar olmaları ve/veya onları tespit etmek için müşterilerin imza veritabanlarını güncelleştirmelerinde başkalarından önemli ölçüde daha hızlıdırlar.
Sıfır-gün virüs koruması açısından geniş bir etkinlik yelpazesi vardır. Alman bilgisayar dergisi c't, sıfır-gün virüslerin tespit oranlarının %20 ila %68 arasında değiştiğini tespit etti.