Nesne Esaslı Koruma Nedir, Tanımlar ve Kavramlar: Genel ifadeyle “nesne esaslı koruma”, özelde
uygulamaların genelde ise işletim sisteminin bütününün güvenliğine farklı ve öznel bir bakış açısıdır. Bir işletim sistemi içerisinde yüzlerce hatta binlerce farklı
bileşen bulundurmaktadır. Kullanıcıların en çok
etkileşimde oldukları işletim sistemi bileşenleri uygulamalardır.
Nesne esaslı koruma (NEK) yaklaşımında her uygulama güvenliğin en temel unsurunu oluşturan nesnedir. Bu nesneler bir araya gelerek sistemi
meydana getirirler.
Nesnelerin bir araya gelerek oluşturdukları sistemler
Sistemler ise bir araya gelerek daha büyük sistemleri oluştururlar. Bu
sistemler arasında sahip –
üye ilişkisi bulunur.
Sistemlerin ve alt sistemlerin sahip -
üye ilişkisi
Aslında uygulama adına bildiğimiz ne varsa
hepsi nesnelerden oluşan sistemlerdir. Bu
sistemler bir araya
gelerek daha büyük sistemleri yani işletim sistemini oluştururlar.
Sistemler bir araya gelerek daha büyük sistemler olan işletim sistemlerini oluştururlar
İşletim sistemi gibi büyük bir sistemin parçası
olan alt sistemler her ne kadar bağımsız nesneler bütünü gibi
görünseler de gerçekte bu mümkün değildir. Hangi sistem ya da üst sistem olursa olsun herhangi alt
nesnesinde ya da sisteminde oluşabilecek sorunlardan etkilenecektir. Bu olumsuz etkiyi ortadan kaldırmak için çeşitli yöntemler geliştirilmiştir. Bu yöntemlerden en
yaygını merkezden kontroldür. Merkezden kontrolün etkin
çalışabilmesi için tehdidin ortaya çıkması, bağlı bulunan üst sistemin bu tehdidin farkına
varması ve gerekli işlemleri
başlatarak sonuç üretmesi gerekir. Oysa NEK'in sağladığı “kendinin farkında olma”
özelliğiyle her nesne kendinden sorumlu olacaktır. Yani tehdit karşısında NEK
gerekli değerlendirmeleri yaparak önlem alacak ve
bu
işlemlerden bağlı olduğu sistemin etkilenmesini engelleyecektir. Böylelikle arzu edilen sistemler arası olumsuz etkileşimlerin önüne geçilerek kararlı ve güvenilir sistemler geliştirilebilecektir. NEK'in uygulama geliştirme sürecine de dahil edilmesiyle güvenilirlik daha da artacak ve bu anlamda
kendine yetebilen yazılımlar var olabilecektir.
Tehditler ve NEK: Bugün yazılımların ve
işletim sistemlerinin karşısında birçok tehdit bulunmakla birlikte bunlardan en eskisi
ve en
tesirlisi virüslerdir. Virüs kavramı günümüzde bilgisayar zararlılarının genel adı olarak kullanılmakla birlikte uygulama yapısında yapılacak değişiklikler ile olağan dışı çalışma ve sonuç üretmek anlamına
gelmektedir. Virüsler, amaçları doğrultusunda çeşitli
şekillerde kodlarını uygulama kodlarıyla bütünleştirecek ve bunu gizleyecek tekniklerle donatılmışlardır. Eğer bu teknikler iyi şekilde
yazılmışsa virüslerin sezgizel yöntemlerle ya da anti-virüsler gibi programlarla algılanması
neredeyse
imkansızdır. Bu teknikler öyle etkilidir ki; işletim sistemi çekirdek bileşenleri ya da uygulamalar üzerinde değişiklikler yapılarak amaçları dışında çalıştırılmaları da mümkündür. Yine bu
teknikler kullanılarak güvenlik adına bilinen birçok teknik ve uygulama da bertaraf edilebilmektedir. Virüslerin bu tehlikelerine karşı güvenlik
sağlamak amacıyla birçok teknik de geliştirilmiştir. Ancak karşı teknikler de virüs mantığı çerçevesinde kolaylıkla aşılabilmektedir. Güvenlik adına kullanılan ve kolaylıkla aşılabilen bu yöntemlere biz klasik yöntemler adını veriyoruz. Klasik yöntemler de merkezi sistemler gibi çalışırlar. Yani etkilerini göstermeleri için tehdidin oluşması ve hemen sonrasında algılama gerekmektedir. Bu ise gerektiği şekilde ve zamanında yapılamamaktadır. Oysa NEK; sıra dışı
durumları algılama ve davranış geliştirmeyi çok kısa
sürede ve etkili
biçimde yapmaktadır.
Virüsler Nasıl Çalışır,
Neden Tehdit Oluşturur: Yukarıda belirttiğimiz gibi, virüslerin amacı mevcut
kodlar
üzerinde doğrudan ya da
dolaylı değişikliler yaparak, uygulamanın amaca hizmet eder şekilde çalıştırılmasıdır. Bunun için kullandıkları yöntem basit fakat etkilidir.
Virüs Mimarisi
Şekilden de
anlaşılacağı gibi, herhangi bir uygulamanın yapısıyla bütünleşen virüs kodları program başlar
başlamaz akışı kendi üzerine yönlendirir. Strateji bölümünde amacına uygun kodlar işlenir, çoğalma kontrolleri yapılır ve
özgün program için
ayarlamalar yapılarak program akışı
normal seyrine devam ettirilir.
Virüsler, programların özgün kodlarından önce
başladıkları için kodlar üzerinde istenilen her türlü değişikliği
yapabilirler. Örneklemek gerekirse; amacına uygun yazılmış bir virüsle güvenlik duvarları kolaylıkla bertaraf
edilebilir, anti-virüs
yazılımları tesirsiz bırakılabilir ya da işletim sistemi çekirdek uygulamaları amacından saptırılabilir.
NEK Nasıl Çalışır?: NEK de virüslerin çalışma mantığı göz önüne alınarak tasarlanmıştır. Virüslerde olduğu gibi
program akışını ele geçirir.
Virüslerden farklı olarak denetimi
programa
devretmeyerek
program kodlarının
her davranışını
denetler. Program üzerinde çalıştırılmadan
önce ya
da çalıştırılma anında
herhangi bir değişiklik ya da hata algıladığı anda bunu düzeltme yoluna gider.
Böylelikle de programın her anı güvenliğe alınmış olur. Virüsler ya da benzer mantıkla çalışan güvenlik yazılımları değişik yöntemlerle
etkisizleştirilebilirken, NEK'in algılama ve onarım mekanizması sayesinde hiçbir şekilde mümkün değildir. Ayrıca NEK, programların güvenliğini artırmak için programı oluşturan bileşenlerin (prosedürler, fonksiyonlar, vb.) her birinin ayrı ayrı şifrelenmesi görevini de üstlenir. Bu
bileşenler olağan program akışı
içerisinde
çalıştırılmak istenildiklerinde NEK
bunları devingen olarak simüle eder. Böylelikle sadece bir tek bileşen
çözümlenir. Bu da kontrol edilebilirlik ve güvenliği üst düzeyde tutar.
NEK Mimarisi
Şekilde de NEK'in
genel mimarisi anlatılmıştır. Sözel olarak anlatmak gerekirse; çalışma sırasında program akışı ve
programı oluşturan bileşenler (prosedürler, fonksiyonlar, vb.) NEK'in denetim mekanizmasına bağlanır, gerekli denetimler yapıldıktan sonra, bu bileşenler çözümlenir ve son kez kontrolden geçirilerek
vekil üzerinde simülasyon şeklinde çalıştırılır. Bu
işlemler sırasında hatalı bir durum ile karşılaşılırsa onarım
mekanizması devreye girer. Onarım tamamlandıktan sonra işlemler kaldıkları yerden devam ederler.
NEK'in Uygulanabilirliği ve Yazılım Geliştirme Sürecine Dahil Edilmesi: NEK'in günlük hayata uygulanması iki yoldan yapılacaktır. Birinci yol; geliştirme süreci tamamlanmış uygulamalarla birleştirme, ikinci ve
amaç yol ise;
derleyicilerle birleştirmektir. Derleyiciler ile teknoloji birleşimi sağlandığında, daha yazılım geliştirme süreci
tamamlanmadan tam ve doğal bütünleşme sağlanabilecektir. Bunun güvenliğe çok büyük katkısı olacaktır. Şöyle ki; geliştirme sürecindeki birleştirme; NEK'e sınırsız denetim ve gerektiğinde değişiklik imkanı sağlayacaktır. İşte bu; kendisinin farkında olan
yazılımların
tam
anlamıyla gerçekleşmesi
demektir.
NEK'in Sunduğu İmkanlar: NEK, tamamen esnek bir geliştirme ortamı sunmaktadır. Yazılım geliştirme
sürecinde, NEK'in sağladığı
her
hizmet özelleştirilebilir ya da geliştirilerek özgün yapıya sonradan da
dahil edilebilir. Bunun doğal bir sonucu
olarak çok daha
güvenilir uygulamalar geliştirilebilir. Özellikle de cracking, hacking, vb. saldırılara ve
olası hatalardan kaynaklanabilecek çökmelere karşı çok etkili tedbirler alınabilir.
Kendini onarma özellikleri geliştirilerek en üst düzeye çıkarılabilir, böylelikle “ölümsüz uygulamalar ve sistemler” de geliştirilebilecektir.
NEK imkanlarının uygulanabilirliği ile geliştirilmesi konusunda ilk somut örnekler, Arf Teknoloji tarafından
geliştirilen Antikor ve Antijen isimli yazılımlardır. Antikor, NEK'in temel özelliklerinden faydalanırken Antijen bu özelliklerin geliştirilmesi sayesinde cracking, hacking, vb. tehditlere karşı da son derece etkilidir.
NEK'in Geleceği (Akıllı Yazılımlar ve Akıllı Sistemler): NEK, bugün ve gelecek için tasarlanmış ve
sürekli geliştirilmekte olan bir teknolojidir. Bugün her nesne
için kendine özel bilinç oluşumunu sağlayan NEK, yakın gelecekte kendine özgü yapay zeka ile birleştirilerek, özelden - genele, bireyden –
topluma doğru bilinç
oluşturmayı amaçlayacaktır. Bu gelişimin de doğal sonucu olarak her nesne artık sadece kendinden değil
beraber
sistem
oluşturdukları etkileşimde
bulundukları diğer
nesnelerden ve sistemin
bütününden
de sorumlu olacaklardır. Sistem içinde herhangi bir yerde oluşabilecek sorunlara karşı
ortak hareket ederek
sonuçlar ve davranışlar geliştirmek de buna dahildir.