Çalışmalarımız da girilen değerleri kontrol etmek adına bir çok yöntem üretebiliriz.Şüphesiz ki AJAX ile de kullanıcı tarafından girilen değerlerin filtrelenmesine imkan tanıyan bir özellik mevcuttur.

FilteredTextBoxExtender adındaki özelliğimiz ile bir textbox'a girilen değerlerin sadece rakam,büyük harf,küçük harf duyarlı olmasını sağlayabiliriz.Böylelikle istenmeyen karakterleri kolayca engelleyebilir çalışmalarımız performansını ve güvenliğini bir kat daha arttırmış oluruz.

Bu uygulamamızı gerçekleştirmek için VS 2008 ve Framework 3.5 kullanıcılarına yönelik AjaxControlToolkit eklentisini kurulu olması gerekmektedir.Codeplex bağlantısını kullanarak yükleyebilirsiniz. 

Yeni bir web site projesi açıyoruz ve ardından 1 adet ToolScriptManager,1 adet TextBox,1 adet FilteredTextBoxExtender ekliyoruz.Bunu ister sürükle bırak olarak istersek de textbox tasks kullanarak ve Add Extender seçeneği ile TextBoxlara uygulanabilecek AJAX eklentilerini aktif hale getirebiliriz.

TargetControlID ile filtrelenecek ajax kontrolunun ID'sini belirtmelisiniz.FilterType kısmında ise filtrelemek istediğiniz türü belirtmelisiniz.ValidChars kısmında da ek olarak geçerli olmasını istediğiniz karakterleri belirtebilirsiniz. Bu kontrolleri FilteredTextBoxExtender özelliğinin Properties sekmesinde bulabilirsiniz.

Bu işlemlerin ardından TextBox Properties sekmesinde TextBox1_FilteredTextBoxExtender alt sekmesine gelip FilterType kısmından textboxa girilmesini istediğiniz uygun seçeneği seçiniz.Ben bu örnekte sadece rakamların girilmesini sağlayacağım.Kod bloğu aşağıdaki gibidir.

 

<cc1:ToolkitScriptManager ID="ToolkitScriptManager1" runat="server">
        </cc1:ToolkitScriptManager>
        <br />
        <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
        <cc1:FilteredTextBoxExtender ID="TextBox1_FilteredTextBoxExtender"
            runat="server" Enabled="True" FilterType="Numbers" TargetControlID="TextBox1">
        </cc1:FilteredTextBoxExtender>

 

Bu işlemin ardından projemizi çalıştırdığımızda textboxa sadece rakamların girilmesini sağlamış oluyoruz.Hem güvenlik hem de pratiklik açısında çalışmalarımızda bolca yer verebileceğimiz bir uygulamadır.

 

Olcay Kük 

Digg It!DZone It!StumbleUponTechnoratiRedditDel.icio.usNewsVineFurlBlinkList

ASP.NET ile TC Kimlik Doğrulama

13 Tem 2008 In: ASP.NET
TC kimlik numaranızın geçerliliğini kontrol eden bir çalışma yapacağız.Bunu nerelerde kullanabiliriz sorusu ilk olarak aklımıza gelebilir.Genelde resmi kurumlarda gördüğümüz kayıt sırasında tc kimlik numarası isteme gibi yerlerde sıkça görüyoruz.Bizim buradaki amacımız TC Kimlik servisi hizmetine herhangi bir ücret ödemeden kendi çalışmalarımız için kullanabiliriz.Yapacağımız işler matematiksel işlemler ile girilen değerler arasındaki uygun sonuçların karşılaştırılması ve işlemin sürecinin o aşamadan sonra belli olmasına dayanıyor.Girilen TC Kimlik numaranısının geçerli olup olmadığı kontrol ediliyor.

Bu projede asp.net ajax özelliklerinden ajaxcontroltoolkit eklentilerinin bazılarından yararlanılmıştır.Sisteminizde sorunsuz çalışması için visual studio ya entegre olarak ajaxcontroltoolkit paketinide yüklemeniz gerekiyor.Çalışmamız C# kullanılarak hazırlandı.Geçerli olan sonuçlar bir MSSQL veritabanına kaydediliyor.Kimlik adında bir tablo ve TcKimlikNo adında bir sutün oluşturmanız gerekiyor.

İlk olarak yeni bir web site projesi açıyoruz.Projemize bir textbox , bir button ve bir label ekliyoruz.AJAX özelliklerinin çalışabilmesi için bir adet ToolScriptManager ve FilteredTextBoxExtender ekliyoruz.Hata mesajlarının kontrol için RequiredFieldValidator ekliyoruz ve uygun hata mesajlarını yazıyoruz.AJAX'ı kullanmamızdaki amaçlardan biri de istenmeyen değerlerin girilmesini önlemek amacıyla basit olarak kullanılmıştır.MaxLength değeri ile de 11 karakterden fazla karakter girilmesi engellenmiştir.Örnek olarak oluşturduğumuz default.aspx sayfası aşağıdaki yapıya benzeyecektir.

CODE
<%@ Page Language="C#" AutoEventWireup="true"  CodeFile="Default.aspx.cs" Inherits="_Default" %>

<%@ Register assembly="AjaxControlToolkit" namespace="AjaxControlToolkit" tagprefix="cc1" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
     <title>TC Kimlik Doğrulama</title>
</head>
<body>
<center>
     <form id="form1" runat="server">
     <div>
         <cc1:ToolkitScriptManager ID="ToolkitScriptManager1" runat="server">
         </cc1:ToolkitScriptManager>
         <cc1:FilteredTextBoxExtender ID="FilteredTextBoxExtender1" runat="server"
             FilterType="Numbers" TargetControlID="TextBox1">
         </cc1:FilteredTextBoxExtender>
         <asp:Label ID="Label2" runat="server" Text="TC Kimlik Numaranızı Giriniz"></asp:Label>
        

        

         <asp:TextBox ID="TextBox1" runat="server" MaxLength="11" style="text-align: justify" ></asp:TextBox>
         <asp:Button ID="Button1" runat="server"  OnClick="Button1_Click"
             Text="Kontrol Et" style="text-align: center" />
        

        

         <asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server"
             ControlToValidate="TextBox1" ErrorMessage="Lütfen TC Kimlik Numaranızı Giriniz"></asp:RequiredFieldValidator>
        

         <asp:Label ID="Label1" runat="server"></asp:Label>
        

        

        

     </div>
     <p>
         &nbsp;</p>
     </form></center>
</body>
</html>


Default.aspx dosyasının görünümünü kendi isteğinize göre uygun css yapıları kullanarak şekillendirebilirsiniz.Ben temel olarak en basit halini hazırladım.

Default.aspx.cs dosyasına geçiyoruz.Burada tüm kontrol işlemlerini barındıracağız.Olumlu sonuçları bir mssql veritabanına kaydettireceğiz.

CODE
using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Data.SqlClient;


public partial class _Default : System.Web.UI.Page
{
     SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["con"].ConnectionString);

     protected void Page_Load(object sender, EventArgs e)
     {
        
     }

  

     protected void Button1_Click(object sender, EventArgs e)
     {
         int tckimlik;

        
         tckimlik = Convert.ToInt32(TextBox1.Text.Substring(0, 1)) + Convert.ToInt32(TextBox1.Text.Substring(1, 1)) + Convert.ToInt32(TextBox1.Text.Substring(2, 1)) +
             Convert.ToInt32(TextBox1.Text.Substring(3, 1)) + Convert.ToInt32(TextBox1.Text.Substring(4, 1)) + Convert.ToInt32(TextBox1.Text.Substring(5, 1)) +
             Convert.ToInt32(TextBox1.Text.Substring(6, 1)) + Convert.ToInt32(TextBox1.Text.Substring(7, 1)) + Convert.ToInt32(TextBox1.Text.Substring(8, 1)) +
             Convert.ToInt32(TextBox1.Text.Substring(9, 1));

         string son = Convert.ToString(tckimlik).Substring(1, 1);

         if (son == TextBox1.Text.Substring(10, 1))
         {
             Label1.Text = "GEÇERLİ";
            
                 SqlCommand cmd = new SqlCommand("INSERT INTO Kimlik (TcKimlikNo) VALUES (@TcKimlikNo) ", con);
                 cmd.Parameters.AddWithValue("@TcKimlikNo", TextBox1.Text);
                 SqlDataAdapter da = new SqlDataAdapter(cmd);
                 DataSet ds = new DataSet();
                 da.Fill(ds);
                 con.Open();
                 cmd.ExecuteNonQuery();
                 con.Close();
                 TextBox1.Text = "";
            
         }

      

         else
         {
             Label1.Text = "GEÇERSİZ";
             TextBox1.Text = "";
         }
     }
}



Bir Sqlconnection oluşturuyoruz ve web.config dosyasında oluşturacağınız veritabanı bilgilerini ve connectionstringi burada kısaca tanıtmak için kullanıyoruz.Button'un click click eventine kontrol işlemlerini yazıyoruz.Textboxa girilen rakamları tek tek kontrol edip iç işlem yapısında belirtilen algoritmaya uyup uymadığı kontrol ediliyor.Geçerli olduğu takdirde veritabanımıza kaydediyor.Kolay Gelsin ...

 

Yazan: Olcay KÜK 

Digg It!DZone It!StumbleUponTechnoratiRedditDel.icio.usNewsVineFurlBlinkList

Görünmez Tehlike Rootkitler

11 Tem 2008 In: Güvenlik
Davetsiz misafirler kişisel bilgi güvenliğiniz için tehdit oluşturuyorlar. Bu görünmez tehlikeyi birlikte daha yakından inceleyelim.

Bilgi güvenliği kavramı, bilişim dünyasında soyut bir kavram olarak görülüyor. Kişisel veri güvenliğinde yaşanan problemlerden doğan negatif sonuçların birikimi sonucu bu kavram, gün geçtikte somutlaşma yolunda ilerliyor.

İnsanoğlu, en iyi dersleri, bir olay başından geçtiği zaman öğreniyor.Bu yüzdendir ki güvenlik artık herkesin uygulaması gereken temel unsurların başında geliyor.Sistemimizi ne kadar iyi korusak bile bazen öyle durumlar ile karşılaşıyoruz ki tüm çabalarımız boşa gidiyor ve görünmez misafirler sistemimizi ele geçiriyor.Bu görünmez misafirler de güvenlik dünyasında “Rootkit” adı altında bilgi güvenliğini tehdit eden en tehlikeli uygulamaların başında geliyor.

Rootkitler, sistemlerde çekirdek (kernel), kütüphane (library) ve uygulama (application) seviyelerinde çalışabilen ve gizliliğinden ötürü varlığından zor haberdar olunan araçlar olarak biliniyor. Rootkitler, işletim sistemi ayırtetmeksizin hem Windows hem de Unix tabanlı işletim sistemlerinde kolayca aktif duruma geçebiliyor. Root (en üst düzey yetki) ve kit (araç) sözcüklerinin birleşiminden rootkit adını almaktadır. İlk çıktığı yıllarda tespit edilmesi imkânsız olan bu araçlar, son yıllarda gelişen güvenlik teknolojileriyle birlikte tespit edilebilir hâle geldiler.

Kimler Kullanıyor ?

Hackerlerin vazgeçilmezleri arasında yer alan rootkitler, erişim yaptıkları sistemlerde sistem yöneticisine fark edilmeden, hacker tarafından verilen görevleri kusursuzca yerine getirir.Tespit edilebilirliği de zor olmasından dolayı eriştikleri sistemlerde uzun süre aktif kalırlar.Sistem kaynaklarını sonuna kadar sömürürler ve diğer zararlı yazılımların sisteme erişim sağlaması için alt yapı oluştururlar.

Sony firması tarafından 1995 yılında piyasaya sürülen ve kopya korumasını engellemek amacıyla çıkardıkları öne sürülen rootkit ile milyonlarca kişinin bilgisayarı rootkit tehlikesiyle tanıştı. Bir süre sonra bu cdler Sony firması tarafından toplatıldı.

Sistemlere izinsiz giriş yapan kişiler erişimi gerçekleştirdiği bilgisayarlarda izlerini bırakmamak için rootkitlerden yararlanıyorlar. Log adı altında izlerinin takip edildiği dosyalara erişim sağlayıp devre dışı bırakıyorlar. Böylece sistem yöneticisi tarafından tespit edilmeleri güçleşiyor ve istedikleri bilgilere kolayca erişebiliyorlar. Yerine getirdikleri görevlere bakıldığında Truva atlarına benziyorlar . Ancak gizlilikleri konusunda bir Truva atından daha fazla gizlilik içeriyorlar. Sistemlerde oluşturabildikleri backdoor (arka kapı) vasıtasıyla da birçok uygulamanın çalışabilmesi için uygun alt yapı oluşturabilirler.


Rootkit istilasını başlatan CD.



Görünmez misafirlere yakın plan

Rootkitler çalışma prensiplerine göre farklı alt bölümlere ayrılmışlardır. Sistemlerin her noktasına erişim sağlayabilecek uygun ve yeterli işleyiş sistemlerine sahiptirler. Bazı çalışma şekillerini daha yakından inceleyelim.

Çekirdek seviyesi (kernel level):

En tehlikeli ve sisteme yerleştirdikten sonra tespit edilmesi en zor rootkit türüdür. Kendisini işletim sisteminin çekirdeğine yerleştirir. Bu işlem genelde çalışmakta olan ve çekirdek ile bağlantılı olan dosyalara eklenen kodlar ile gerçekleşir.

Kütüphane seviyesi (library level):

Kayıt defteri (Regedit) gibi sistem kayıtlarının işlendiği noktalara kendisini ekleyerek aktif konuma geçebilirler. Günümüzde bazı ünlü Truva atları da bu yapılanmaya sahiptir.

Uygulama seviyesi (Application level):

Uygulama (*.exe) olarak çalışan dosyalara kendisini ekleme yaparak ya da değişiklik yaparak sisteme bulaşmaya çalışırlar.



Bu çalışma şekillerinin dışında virtualized, firmware, memory based seviyelerinde de çalışabilirler. Donanım parçalarına müdahale edebilirler, oluşturacakları sanal sistemler üzerinden giriş yaptırarak gizlenme görevlerini başarıyla yerine getirirler.

Manuel olarak tespit edilmeleri oldukça zordur. Eğer oluşturduğunuz dosyalarınızın md5 checksum değerleri mevcutsa şüphelendiğiniz dosyalarınız da bu değerleri karşılaştırarak sonradan bir eklenme olup olmadığı kontrol edilebilir. Böylece değişen md5 değerleri, size dosyanızın değişip değişmedi hakkında bilgi verir.



Nasıl Bulaşırlar ?

Web siteleri üzerinden ve programlar vasıtasıyla virüs, keylogger ve trojan gibi diğer zararı yazılımların bulaşma şekilleriyle aynı biçimde bulaşırlar.Yapıları itibariyle farklı olduklarından dolayı ,anti-virüs programları tarafından tespit edilmeleri zordur.

Son günlerde Vista kullanıcılarını bir MBR (Master Boot Record) rootkit’i tehdit ediyor. Kötü niyetli kişiler bu rootkit’i kullanıp sisteminize erişim sağlıyorlar ve sisteminizi tüm saldırılara açık hâle getiriyorlar.

Sistem yöneticisi tarafından fark edilmeden kurulan rootkitler, yalnızca Windows platformlarında değil, Unix tabanlı işletim sistemlerinin de baş belası haline geldi. Web hosting hizmeti sağlayan firmalardaki sistem yöneticilerinin sıkıntı yaşadığı en önemli noktalardan biridir.Sunucudaki güvenlik açıklarından yararlanan kötü niyetli kişiler, bir backdoor (arka kapı) vasıtasıyla sisteme çekip çalıştırdıkları rootkitler ile yaptığı işlemleri gizleyebilirler.Böylece o sunucu üzerindeki tüm web sitelerinin güvenliğini tehdit altına alınmış olur.

Paronayak olun !

Paronayak olmak bazen doğabilecek büyük problemlerin önüne geçiyor. Böyle durumlarda Intel firmasının kurucusu Andy Grove’un şu meşhur sözü aklıma geliyor; “Sadece Paronayaklar hayatta Kalır”. Tüm ihtimalleri düşünmek ve gelebilecek saldırı önceden sezmek olağanüstü bir yetenek değildir. Gelişen güvenlik teknolojileriyle artık rootkitler’den korunmak sizin elinizdedir. Hem Windows hem de Unix işletim sistemleri için hazırlanmış anti-rootkit araçlarıyla güvenliğinizi arttırabilirsiniz. Paronayak olmanıza gerek kalmadan basitçe kullanabileceğiniz bu uygulamaları birlikte yakından inceleyelim.

Sisteminizi kurarken güvenirliliğinden emin olduğunuz dosyalardan kurulum yapmaya özen gösterinizi. Bir web sitesinde bulduğunu dosyaları sisteminize kurmayınız. Açık kaynak kodlu projelere kolayca entegre edilebilen bu zararlı araçlar kısa sürede birçok kişiyi mağdur konuma düşürüyor. Linux işletim sisteminizde güncelleme paketlerini resmi web siteleri dışından gerçekleştirmeyiniz. Windows işletim sistemi kullanıyorsanız son güncellemeleri mutlaka yapınız aksi hâlde rootkit saldırıları sisteminizde kolayca etkili hâle gelebilir. Firewall gibi yazılımları kolayca egale edebilen bu zararlı araçlar için bazı anti-rootkit araçları geliştirildi bu yazılımları kısa sürede edinin ve sisteminizi güncel taramalardan geçirin.

Yetkileri sınırlandırılmış hesaplar ile sisteminizi kullanmayı özen göstermek, üst düzey yönetici haklarına sahip olmayı amaçlayan rootkitleri pasif konumda tutarlar. Kullanıcı adınızın ve şifrenizin kolay tahmin edilemez olması da bu zararlı yazılımları bir nebze de olsa görevlerini yerine getirmelerini engelleyebilir. Sistemlerde sniffing görevi de üstlenebilen bu yazılımlardan korunmak için manuel yolların dışında yazılımsal çözümler de bulunuyor.

Sizler için incelediğimiz ve önerebileceğimiz bazı rootkit temizleme ve korunma araçlarını sizler de incelemelisiniz.

Sophos Anti-Rootkit


Basit ara yüzü ile kolayca tarama yapıp görünmez tehlikelere karşı önlemler alabilirsiniz.



Gmer Anti-Rootkit

 Gerçek boyutundan [ 729 x 559 ] 87% oranında küçültüldü - Tam boy görmek için tıklayınız


Gmer ile sisteminizin derinliklerine yerleşmiş rootkitleri bile bulabilirsiniz.
Microsoft® Windows® Malicious Software Removal Tool


Microsoft’un ücretsiz aracıyla kolayca tarama yapabilirsiniz.


Unix tabanlı işletim sistemlerinde “ChkRootkit” adındaki anti-rootkit aracıyla tarama yapabilirsiniz. ChkRootkit aracı değiştirilme olasılığı olan dosyaları tarama yaparak kolayca tespit edebilir. Tarama yaptığı bazı dosyalar şunlardır.

aliens, asp, bindshell, lkm, rexedcs, sniffer, wted, z2, amd, basename, biff, chfn, chsh, cron, date, du, dirname, echo, egrep, env, find, fingerd, gpm, grep, hdparm, su, ifconfig, inetd, inetdconf, identd, killall, ldsopreload, login, ls, lsof, mail, mingetty, netstat, named, passwd, pidof, pop2, pop3, ps, pstree, rpcinfo, rlogind, rshd, slogin, sendmail, sshd, syslogd, tar, tcpd, top, telnetd, timed, traceroute, write.

Buna alternatif olarak “rootkit hunter” aracıyla da tarama işlemini gerçekleştirebilirsiniz. Kurulum işlemi için Linux konsolunda şu yolu izleyebilirsiniz.

#tar -z vf rkhunter.tar.gz //rootkit hunter dosyamızı açıyoruz

#sh installer.sh //kurulum işlemini başlatıyoruz.

#rkhunter –c // tarama işlemini başlatın.



Unix tabanlı sistemlerde genelde netstat,ps,df,find,ls gibi dosyalara rootkitler kolayca müdahale edebiliyorlar.



ProcessGuard


ProcessGuard ile rootkitlerden korunabilirsiniz.



Anti-Rootkit araçlarını aşağıdaki adreslerden indirebilirsiniz.



Microsoft Malicious Software Removal Tool

http://www.microsoft.com/security/malwareremove/default.mspx


Sophos Anti-Rootkit

http://www.sophos.com/products/free-tools/...ti-rootkit.html


AVG Anti-Rootkit

http://www.grisoft.com/doc/download-free-a...ootkit/us/crp/0


Rootkit Buster

http://www.trendmicro.com/download/rbuster.asp


Rootkit Revealer

http://www.microsoft.com/technet/sysintern...itRevealer.mspx


Gmer

http://www.gmer.net/index.php



Son Sözler

Görünmez misafirlere geçit vermemek için önceden de sıkça dile getirdiğimiz güvenlik çözümleri, rootkit saldırıları için de geçerlidir. Sisteminizde güncel bir anti-virüs,anti-spyware ve firewall yazılımları dışında artık anti-rootkit araçlarını da bulundurmalısınız.Güvenliğin gün geçtikte sistemlerin derinliklerine inen kötücül yazılımları tespit etme konusunda yaptığı bir çok çalışma olsa da kişisel bilgi güvenliğiniz için her zaman kuşkucu olmakta yarar vardır.Görünmez misafirleri görünür kılmak sizin elinizdedir.

 

Yazan: Olcay KÜK 

Digg It!DZone It!StumbleUponTechnoratiRedditDel.icio.usNewsVineFurlBlinkList

Satranç - ASP.NET AJAX & Silverlight

10 Tem 2008 In: AJAX, ASP.NET

 

 

 

 

 

 

 

 

 

Satranç şüphesiz ki bir çoğumuzun vazgeçilmezleri arasındadır.Genelde online olarak birçok turnuva yapmış olanlarımız aramızda mutlaka vardır.

İşin yazılımcıları ilgilendiren tarafı ise ASP.NET AJAX ve Silverlight teknolojileriyle hazırlanmış Satranç oyunun kodlarını paylaşıyorum.

Umarım çalışmalarınıza aydınlatıcı nitelikte etkiler yapar.

Download 

Digg It!DZone It!StumbleUponTechnoratiRedditDel.icio.usNewsVineFurlBlinkList

Blog'dan

Biraz yazılım,biraz güvenlik,biraz da hayattan karalamalar ...


İletişim: ok@olcaykuk.com


KÖŞE YAZISI

Windows Live Alerts