5 Eylül 2010 Pazar

Web Güvenliği

Hayatımız açısından büyük önem taşıyan sanal alemde, web siteleri büyük önem taşımaktadır. Çeşitli sosyal ağ sitelerinde çoğu kişisel bilgilerimizi yayınlarız. Ancak kişisel bilgilerimiz veya sahip olduğumuz siteler tehlikede olabilir !

Web güvenlik açıkları sayesinde şifrelerimiz veya çeşitli kişisel bilgilerimiz çalınabilir. Peki nedir web güvenlik açıkları ?
# kısaca özetlemek gerekirse, webmasterler tarafından yapılan çeşitli kod kod hatalarından doğan açıklara denir.

Evrensel olarak tanımlanan ve yaygın olan açık isimleri şu şekildedir

  • Remote File Inclusion
  • Sql Injection
  • Xss
  • XSRF
  • Sosyal Mühendislik

1-)Remote File Inclusion
Remote File Inclusion(RFI) Uzaktan Dosya dahil olması anlamına gelmektedir.
Remote File Inclusion bir saldırı tekniği, bilgisayardan İnternet web sitelerine saldırı için kullanılır.
Uzaktan dosya katılım(RFI) saldırıları kötü niyetli kişilerin kurban olarak gördüğü web sitesinde kendi PHP kod çalıştırmasına izin verir.Böylece uzaktan dosya dahil olur.

php tabanlı sitelerde Remote file inclusion 4 tane kodun sayesiyle bulunur.
Bunlar şu kodlardır,

include,require,include_once,require_once bu kodlar ile tanımlanman değişkenler sayesinde sitenize uzaktan dosya eklenerek zarar verilebilir
2-)Sql Injection
SQL injection saldırganların veritabanından bilgileri almak için kullandığı bir yöntemdir.Bu bilgiler arasında çeşitli şeyler yer alabilir.Ancak saldırganın işine yarıyacak olan kullanıcı şifreleri olduğu için buna yönelir, yada otomatik olarak admin olarak giriş yapmaya çalışır.Bu yöntemleri ayrı ayrı açıklayacağım.SQL injectionda arka planda olağan şekilde çalışan veritabanına SQL cümlecikleri yolluyarak saldırgan istediğini yaptırmaya çalışır.Dinamik içeriğin sunulduğu login, haber, arama, destek sayfaları gibi birimi (sayfası) bulunan siteler SQL injectiona açık konumdadır.
“SELECT * FROM members” daha önceden bildiğimiz üzere members adlı tablonun kolonlarını ve değerlerini döndürecektir.Ancak bu basit kod parçasına meta karakter eklersek bu kod parçası sql injectiona neden olabilir.Peki meta karakter nedir?Meta karakter programlama dili için özel anlam ifade eden karakterlerdendir.Programlama diller bu karakterlerden sonra gelen ifadeyi normalden farklı şekilde işleyecektir.SQL’de bu karakterler ” ‘ ” ve ” ; ” karakterleridir.SQL tek tırnak arasında string bekliyecektir.Noktalı virgül ise komutun bittiğini belirtir.SQL injection çeşitli yerlerde bulunabilir.Bunu yukarıda belirttik.Ama başlıca 2 çeşit diyebiliriz.Bunlar login sayfasındaki SQL injection açıkları ve “id=” gibi çeşitli değer almayı bekliyen sayfalardır.

3-) Xss

XSS
ise kısaca; sitede HTML ve JavaScript kodları ekleyerek saldırı yapmaya olanak sağlar.Yani XSS script açıklarıdır.Bu kodlar yardımıyla dolaylı yoldan cookielere ulaşarak giriş yapma imkanı buluruz.

Örnek olarak; Sizin kullanıcı adı ve şifrenizi cookie kodlarını kullanarak kullanıcı adı ve şifre yazmadan siteye sizmişsiniz gibi gözükerek cookie koduyla giriş yapılmasıdır.
XSS Bulma ve Site(de) Arama

XSS açıkları çok yaygın olarak bulunur.Daha çok sitelerde arıyacağınız yerler post ve get methodlarının olduğu sayfalarda, arama bölümlerinde, haber modüllerinde,shutboxlarda,yorumlarda,mesajlarda vb. yerlerde bulunur.

4-)XSRF – CSRF (Cross-Site Request Forgery)

XSRF – CSRF günümüzün en yaygın ve en kullanışlı Web App. Security açığıdır.XSRF- CSRF İçinde XSS Bulunduran ve XSS alanında görülen bir güvenlik açığıdır. Kullanıcı parametresi kullanarak güven sağlamış gibi tehlike arz etmektedir.Bu uygulama ile “Banka Şifreleri, Para transfer uygulamaları,Mail Şifreleri …” gibi bir çok legal kullanımlar tehlike altındadır.

XSRF kullanım saldırganları kullanıcının kayıtlı bilgilerini kendi ellerindeki bir istemci tarafından kullanıcıya tıklattırarak değiştirebilirler.Bu durumda kullanıcı Online yani giriş yapmış olmalıdır.XSS kullanıcı bilgilerini kendi tarafına javascript kodlarıyla çekmek amaçlıdır fakat XSRF kullanıcının bilgileri kendi tarafından değiştirmek amaçlıdır.Gönderilen tek bir link ile bunu sağlamak mümkündür.

XSRF Exploiting:

XSRF ile saldırı yapabilmek için saldırganın yardımcı bir sistem kullanması gerekmektedir.Bu yardımcı sistem kullanılan ve bilgilerin alınması için gerekli Web sayfası olabilir.Saldırgan web sayfasındaki XSRF açığı oluşturan alanı kendine göre düzenleyip size farklı bir link ile sunabilir bilgilerinizi değiştirip kendi giriş yapabilir.

site.com/password.php

Kullanıcı üstteki linkte giriş yaptığı alanda şifrelerini değiştirebilir olsun.

site.com/password.php?pass=helal

Şifre değişiminden sonra linkteki gibi bir URL uygulaması görüntüleniyor.

Böyle bir uygulama içerisinde Post ve Get Metotları kullanarak kullanıcının şifreleri sadece bir link ile değiştirilebilir.



Sayfa içerisindeki kodlamaya göre böyle bir kodlamayı HTML yaparak veya içerisinde yolladığınız bir linkte saklayarak kurbana yedirmeniz doğrultusunda şifre değişecektir.XSRF uygulamaları sadece kodlama ile değil URL üzerinde de etkilemektedir.

XSRF Korunma Yöntemleri:

· GET Metot’u yerine POST Metot’u kullanabilirsiniz.

· Kullanıcı Parametresi veya Özel Bir sunucu isteyerek engelleyebilirsiniz.

· İstemci yönlendirmesi kullanabilirsiniz

5-)Sosyal Mühendislik
Sosyal Mühendislik ;kişi kurum ve çevrelerin birbirleri içersinde , bir döngü oluşturup süreklilik kazanması şeklinde kısaca tanımlayabiliriz.Sosyal Mühendis’in kapsayacağı alan çok geniş ve beyin sınırlarını zorlayacak noktadadır.Sosyal Mühendis olabilmek için ilk önce temel prensip kişinin sosyal biri olmasıdır.Kişinin sosyal olmasıda eğitimden geçer.Eğitimin amacı kişiyi kendi yetenekleri çerçevesinde yetiştirip ona toplumda var olma , söz hakkı verme , sosyalleşme , kendini daha da geliştirme vs imkanlar sunar.s

Sosyal Mühendislik ‘te kişi ve kurumların imaji düzgün olmadır.Çünkü imajın tanımını yapacak olursak ; kişi ve kurumların çevresiyle olan ilişkilerine imaj adı verilir.İmaj sahibi olmak için eğitim çok önemlidir.Eğitim olmadan sosyal imajın oluşması çok zordur.Eğitimin verdiği bu önemli özellik 3’e ayrılır.Kişisel imaj , istenilen imaj ,algılanan imaj .Kişisel imaj kişinin kendisine nasıl görünmek istediğidir.Algılanan imaj ;kişinin karşısındaki insana nasıl görünmek istediğidir.İstenilen imaj ise kişinin karşısındaki insan tarıfından nasıl görünmek istediğidir.Örneğin iş görüşmesine gidecek bir insanın kişisel imaji yerinde olmalı.Burda Sosyal Mühendislik ve eğitim dediğimiz kavram başlıyor.Örnekte belirttiğim gibi kişide imaj oluşumu eğitim ,kişinin karşısındaki iletişimi ise sosyal mühendisliktir.Örneğimizi açacak olursak kişi iş görüşmesine gitti ve görüşme odasına girdi.Kişinin bu zaman içersinde konuşma anlatma ve dinleme becerileri yerli yerinde olmalıdır.Kişi kendisinde emin bir tavırla konuşmalı ve kendisine güvenmelidir.İlk imaj oluşumu 25-30 sn içerinde gerçekleşir.Oluşan ilk imajı değiştirmek oldukça zordur.Bu nedenle kişinin ilk görsel imajı çok önemlidir.İmaj oluşumu ilk okul çağlarında kişinin öğretmeninden aldığı tavsiye jest ve mimiklerden,okuduğu kitaplardan,çizdiği resimlerden alır.Bu nedenle eğitim çok önemlidir.Eğitimin kişiye kattığı ve sosyal mühendislikte öne çıkan en önemli diğer özellikler ise konuşma ve dinleme becerisidir.Kişinin iyi bir konuşma yapabilmesi için;kişinin kafasında 25-30 sn’lik bir basamak konuşması hazır olmalı.Konuşacağu kelimeleri bir basamak zinciri şeklinde sıraya koymalı,kişiyle göz teması kurmalı,konuştuğu kadar dinlemesini bilmeli.argo ve asalak kelimelerden uzak durmalı,kısa ve öz konuşup laf kalabalığından uzak durmalıdır.Etkin dinleme yapabilmek için;kişi beynini boşaltmalı ve rahatlamalı,konuşmacının ses tonu ve kıyafetine aşırı dikkat etmemeli,not almasını bilmeli ,kişinin jest ve mimimklerine dikkat etmeli,konuşulanları aşırı analiz etmemeli,konuşma sırasında kişinin fikirleriyle ters düşerse aşırı tepki gösterip kişinin konuşmasını bölmemelidir.Bu aşamaların hepsi iyi bir eğitimle gercekleşir.Kurumların uygulayacağı sosyal mühendislik çok önemlidir.Örneğin kurumun danışma servisi ,sekreteri,temizlikçisi vs.. kurumun imajını yansıtır.Danışma servisinde olan kişinin düzgün konuşma yapabilmesi .düzgün kıyafeti ve sekreterin davranış biçimi bunların hepsi kurumun ve yöneticinin imajını oluşturur.Yöneticinin makam odası ,üye olduğu dernekler,yaptığı sporlar, tamamen karşısındaki insanlar hakkında imajını oluşturur.Sosyal sorumluluk projelerinde yer almak katkıda bulunmak kurumun tamamen sosyal mühendislik uygulamasıdır.Bunların hepsi eiğitimin temelinden geçer.Eğitim olmadan bu kavramların oluşmasına olnaka yoktur.Örneğin iş görüşmesine gelecek şahısın konuşma ve etkin bir dinleme becerisine sahip olmaması özgüven eksikliği kişinin eğitimiyle alakalıdır.Tabiki eğitim olmayınca sosylam mühendis olma olasılığıda sıfıra iner.
Sosyal mühendis olabilmek için iyi bir eğitimden geçilmesi şarttır.Eğitimli üstüne sosyal olan insanın sınırları zorlayacağı muhtemeldir.Eğitimle kendisini birleştiren kişi her zaman her koşulda her yerde başarı,özgüven ve bir imaj içerisindedir.Sosyal Mühendis olmak iyi bir eğitimden geçer.

Hiç yorum yok:

Yorum Gönder