Batuhan TOSUN
       confidentiality, integrity, availability

Son günlerdeki yoğunluğum ve Hafta sonu Çankırı Güvenlik Eğitimim

clock Haziran 18, 2009 04:33 author Batuhan Tosun tarafından yayınlanmıştır

   Son haftalarda inanılmaz bir yoğunluğun içindeyim.Gerek eğitimler,gerek danışmanlık hizmetlerim,gerek seminerlerim gerek ise eğitim hayatımdan ötürü meşguliyetlerimden dolayı blogumu ve birazda sosyal hayatımı çok erteledim.

   Bu yoğunluk tahminimce temmuz 20 ye kadar devam edecek.Amerika-Kazakistan-İsrail-Türkiye dörtgeninden güzel haberler duymaya hazır olabilirsiniz.Gerek şahsım adına olsun,gerel Ülkem adına olsun çok güzel şeyler olacak.

   Yurtdışından şu anda ismini vermekten çekindiğim bazı firma ve topluluklar  ile çalışmalarım ve görüşmelerim devam ediyor.Temmuz ayında bir yurt dışı iş gezisi olacak gibi gözüküyor.Yaptıklarım ve yapacaklarımı biraz kahve falı kıvamında anlattığımı farkındayım:) ancak başka bir yolu yok....

   Bu esnada firma ve derneklerden gelen eğitim ve danışmanlık tekliflerinide elimden geldiğince değerlendirmeye çalışıyorum.Bu akşam Çankırıya doğru yola çıkıyorum ve Cuma-Cumartesi bir firma ve bir derneğin ortak almış olduğu karar gereği Karar mekanizmasındaki uzmanlarına CHFI eğitimi vereceğim.

İlerleyen günlerde tekrar görüşmek üzere....Bana kolay gelsin:)Hepinizede iyi çalışmalar...



Veri Ulaşım Katmanlarında Güvenlik-1(Security Sockets Layer(SSL))

clock Nisan 14, 2009 12:10 author Batuhan Tosun tarafından yayınlanmıştır

Gündelik hayatta da sıklıkla kullandığımız veri ulaşım katmanlarının güvenliği üzerine yazacağım bu makalemi.Peki nedir bu ulaşım güvenlik katmaları.Aslında hepimiz duyduğu veya gördüğü şeyler.Giriş yapacak olursak Secure Sockets Layer ,Secure Shell ,Private Communication Technology  ve Transport Layer Security Protocol lerinden bahsedeceğim.

Hepsini ayrı ayrı ele lacağım için örnekleri ve anlatımlarıda bir okadar uzun olacak.Hemen konuya giriyorum. 

Security Socket Layer(SSL)

Hepimizin gündelik hayatta kullandığımız en çokta e-ticaret sitelerinde karşımıza çıkan Security Socket Layer yane kısa ismiyle ssl bizim bilmediğimiz veya görmediğimiz daha birçok alanda arka planda çalışan bir güvenlik katmanıdır.Client ile server arasında  gönderilen veya alınan bilgiyi şifreler ve güvenliğini sağlar.SSL Netscape firması tarafından üretilmiştir.Client ve server tabanlı olarak tcp/ip protokollerine bağlı olarak çalışır.SSL in çalışma anı ve tcp/ip bağı arasında tanıma ve kaydolma aşamaları vardır.SSL çalışma platformunda uygulama aşamasında her uygulamaya bir çıkış numarası atanır.Ve bu numaralar değişmez.Uygulamadan kastımız yapılan işlemler yane veri  transferleridir.SSL  kaydolma aşamasında veriler sırasıyla parçalanır,sıkıştırılır ve şifrelenir.Bu işlemler sırasında her parça için bir numara atanır ve kendi içerisinde koruma amaçlı uygulamalar çalıştırılır.Tanıma aşamasına geçersek,bu aşamada parçaların bütünlüğü oluşturması ve serbest bölgeye geçmesini ifade eder.Yane parçalanan,sıkıştırılan ve şifrelenen parçalar eski haline getirilip ana parçayı oluşturur.Bu verinin aktarıldığı yerde gerçekleşir.Tüm bu ifadeleri grafiklerle aşağıda destekledim.  

 

 

 

 

Not : SSL karmaşık bir yapıya sahiptir ve içerisinde Triple DES, RC4, RC2, DES ve RSA algoritmalarını içerir.

 

c#.net ile openSSL uygulaması;

 

using System;

using System.Collections.Generic;

using System.Text;

using System.IO;

using System.Runtime.InteropServices;

using System.Security;

using OpenSystem.Platform;

namespace DotNet.SSL

{

internal sealed class OpenSSL : ISecureSessionProvider

{

 

private static bool initialized = false;

 

public OpenSSL()

{

 

lock(typeof(OpenSSL))

{

if(!initialized)

{

try

{

SSL_load_error_strings();

SSL_library_init();

}

catch(Exception)

{

throw new NotSupportedException();

}

initialized =
true;

}

}

}

public ISecureSession CreateClientSession(Protocol protocol)

{

IntPtr method; IntPtr ctx;

try

{

switch(protocol)

{

case Protocol.AutoDetect:

{

method = SSLv23_client_method();

}

break;

 

case Protocol.SSLv2:

{

method = SSLv2_client_method();

}

break;

 

case Protocol.SSLv3:

{

method = SSLv3_client_method();

}

break;

 

case Protocol.TLSv1:

{

method = TLSv1_client_method();

}

break;default:

{

method =
IntPtr.Zero;

}

break;

}

}

catch(NotImplementedException)

{

method =
IntPtr.Zero;

}

if(method == IntPtr.Zero)

{

throw new NotSupportedException();

}

 

ctx = SSL_CTX_new(method);

if(ctx == IntPtr.Zero)

{

throw new NotSupportedException();

}

return new OpenSSLSession(ctx, true);

}

public ISecureSession CreateServerSession(Protocol protocol)

{

IntPtr method; IntPtr ctx;

try

{

switch(protocol)

{

case Protocol.AutoDetect:

{

method = SSLv23_server_method();

}

break;

 

case Protocol.SSLv2:

{

method = SSLv2_server_method();

}

break;

 

case Protocol.SSLv3:

{

method = SSLv3_server_method();

}

break;

 

case Protocol.TLSv1:

{

method = TLSv1_server_method();

}

break;default:

{

method =
IntPtr.Zero;

}

break;

}

}

catch(NotImplementedException)

{

 

method =
IntPtr.Zero;

}

if(method == IntPtr.Zero)

{

throw new NotSupportedException();

}

ctx = SSL_CTX_new(method);

if(ctx == IntPtr.Zero)

{

throw new NotSupportedException();

}

return new OpenSSLSession(ctx, false);

}

 

Son Söz :

Bu makalemde ssl in kullanım alanı,amacı,yapısı ve çalışma mantığını anlattım.Eminim güvenlik açısından ataklar karşısında ne kadar önemli olduğunu anlamışsınızdır.

 

Saygı ve Sevgilerimle



Yan-Kanal Analizi ve Zamanlama Saldırıları

clock Nisan 14, 2009 12:06 author Batuhan Tosun tarafından yayınlanmıştır

Yan-Kanal Analiz saldırıları genel olarak kriptografik cihaz üzerinden gerçekleştirilir.Yane Yan-Kanal Analiz  kriptografik cihazın dışarıya eşgüdüm olarak verdiği tepkileri gizli bilgiler ile birşeltirerek saldırmaktır.Bunlar cihazın dışarıya verdiği sinyal,ses,ısı  vs. olabilir.

Bizim burada inceleyeceğimiz saldırı türü yazılımsal olarak algoritma üzerinden yapılabilecek olan zamanlama saldırısıdır.

Yan kanal saldırılarında aktif ve pasif yöntemler kullanılabilir.Henüz zamanlama saldırısına tam olarak girmediğim ve yan-kanal hakkında bilgi verdiğim için bunları söylememde fayda var diye düşünüyorum.

Kriptografik cihaz üzerinde fiziksel etki yaparak ve düzenek yardımıyla gizli bilgiye ulaşma yöntemi aktif saldırıdır.Bu tür saldırılarda devrenin belleğine gidilebilir veya devrenin hata vermesi sağlanarak gizli bilgiye ulaşılabilir.

Pasif saldırılar ise dışarıdan müdahale etmeden sistemde olan zayıflıklar  yane yan-kanal yollar yardımıyla yapılan saldırılardır.Bunlar elektrik,güç düzeneği gibi basit işlemler üzerinden yapılabilir.

Zamanlama saldırısıda pasif saldırılar grubuna giriyor.Saldırı yöntemini analiz ederek basit diferansiyel yöntemler ile saldırı gerçekleştirilebilir.Şimdi gelelim zamanla saldırı yöntemine;

 Zamanlama Analizi (Timing  Analysis)

Zamanlama analizi saldırılarında,veri işleme esnasında algoritmanın yan-kanal yöntemlerinden yola çıkılır.Algoritmanın yan-kanal olarak verdiği zaaf ;bilginin işlenirken işleme süresinin kullanılacak anahtara bağlı olmasından dolayı ortaya çıkar.Bu durum özellikle asimetrik algoritmalarda dikkati çeken ciddi bir zaaftır.

Zamanlama Analiz saldırısını algoritma üzerinde irdeleyen Kocher ın algoritmasına göz atalım.

 

 

İf(bit k of x) is 1   à yukarıdaki bu tanımlama zamanlamanın periyodik olarak değişebildiğini ve sabitlenmediğini temsil eder.

 

Zamanlamaya bağlı olan indirgeme tablosunu aşağıda görebiliriz.

 

 

 

 

Monogram Değerler

 

 

Zamanlama Analizi saldırılarıyla ilgili olarak ciddiyeti anlayabilmeniz için şukadarını söyleyebilirimki ;
2 saat içerisinde 1.4 milyon anahtar deşifre edilebilir.
 Zamanlama Analizi Yan-Kanal Saldırılarını karşı koyabilmek için en iyi yöntem,sistemi monoton düzene sokmaktır.Bilgi işleme süresini sabit periyoda oturtmak gerekir.Bunun için en ideal yöntem Montgomery çarpımı kullanarak zamanlama bilgisini ortadan kaldırmaktır.

Son Söz

Şunu söyleyebilirimki güvenlik uzmanları açısından son derece gerekli,önemli ve çok iyi bilinmesi gereken bir yöntemler dizisidir Yan-Kanal analizleri.Ben burda bugün yazılımsal düzeyde,algoritma üzerinden Zamanlama saldırısını ve nasıl engellenebileceğini gösterdim.