İnternet Alışverişlerinde Güven

good_and_evil_xlargeArtık bankaların uygulamaları ve kullanıcıların bilinçlenmesiyle elektronik ortamda yapılan alışverişler gayet güvenli. 3d secure gibi uygulamalar da bunu taçlandırıyor. Asıl önemli konu 2. el ve takas konularında. Yani şahıstan şahısa satış. Bunu Sahibinden GET(Güvenli e-Ticaret) ile güvenli hale getirmeye çalışıyor, gittigidiyor ise sıfır risk uygulaması ile.

Bu tip alışverişler şöyle işliyor. Ben ilgili ürünün bedelini kredi kartı veya havale ile aracı bir kuruma ödüyorum. Ödemem alınıyor ama şahsa verilmiyor ve askıda bekletiliyor. Bundan sonra satıcıya ilgili ürünü kullanıcıya göndermesi isteniyor. Şahıs ürünü gönderiyor, alıcı ise ürünü alıp vaat edilen özellikleri kontrol ediyor, bozuk/ayıplı bir durum yoksa ödemeyi onaylıyor ve para satıcıya gidiyor.

Bu da büyük oranda sağlıklı çalışıyor. 5-6 defa alıcı veya satıcı olarak bu sistemleri kullandım ve herhangi bir sorun yaşadığımı hatırlamıyorum. Bir de online hizmetler var. Mesela bir web sitesini satıyorum diyelim. Domaini transfer etsem, adam parayı ödemese. Veya para ödense, ben de domaini transferine engel olsam? Tabi bu adli mercilere yansıdığında ilgili kayıtlara bakıp suçlu taraf bulunur ama ticareti yapılan meblağlar ufaksa avukatıydı, davasıydı astarı yüzünü geçebiliyor.

Geçen bir web sitesinin satışını gerçekleştirdim. Alıcı taraf normal bir alıcıydı. Cahil ya da bilgisiz değildi. Site dini içerikli olduğundan mı bilemiyorum (kendisine soracağım) bana hemen parayı transfer etti. Ben de istediği şekilde siteyi kendisine teslim edeceğim. Benim hosting hizmetimde duruyor. Ben bu kişiyi engelleyebilirdim. Ama ne denmiş;

Herkesin polisi kendi vicdanıdır ancak polis, vicdanı olmayanların karşısındadır.

Bu güvene nail olmak beni mutlu etti. Ama aynı zamanda şaşırttı. Çünkü İnternet çok çeşitli dolandırıcılığa şahit oldu. Hesaplar boşaltıldı. Bilmem kontör yüklendi. Düşük ücretli ürün satıp western union ile tahsilat yapan ve ortadan kaybolanlar çıktı.

Her zaman şunu söylerim; eğer herkesi kötü niyetli kabul ederseniz İnternet’de iş yapamazsınız. Aynı şekilde herkesi iyi niyetli kabul ederseniz birçok kötü durumla karşılaşmanız olası. Bu yüzden her İnternet kullanıcısı kendini korumalıdır.

Fazlasını Oku

Garanti Bankası ve Şifre Problemi

Garanti Bankası
Garanti Bankası

Aslında teoride hiç yaşamadığım bir problem bu. Zaten hala aynı halde durmasının sebebi de bu zannedersem. Şöyle ki; garanti benden kullanıcı şifresi istiyor. Ben de metin kutusuna  tıklayıp “osman7899” olan her zamanki şifremi tuşluyorum. Ama Garanti Bankası bu metin kutusunu 8 karakter girilebilecek şekilde sınırlamış.

Ee ne var bunda diyebilirsiniz. Çok şey var. Ben yukarıdaki şifreyi “osman7899” olarak giriyorum ama “osman789” olarak kayıt ediliyor. Herhangi bir uyarı da yok. Ben şifremi bildiğimi zannediyorum sadece. Şifre belirleme ve değiştirme bölümlerinde aynı mantık olduğu için bir problem yaşamıyorsunuz. Hep fazla giriyorsunuz ama asıl şifrenizi bilmiyorsunuz. Yazın mesela “gokhan456789123” hata vermiyor. Metin kutusundaki yıldızları da sayacak halimiz yok? Hata.

 

 

Fazlasını Oku

Kullanıcılardan Gelen Veriler veya Kullanıcılara Güvenmek

SQL injection gibi açıkları bilirsiniz veya XSS gibi ataklarda en önemli kural kullanıcıdan gelen her veriyi kötü niyetli biri veya porgram varsaymak en önemli önlemdir. Örneğin kullanıcı tırnak işaretini kullanıp yönetici paneline girebilir veya veritabanınızı komple silebilir.

Peki kullanıcılar kötü niyetli mi? Hayır. Kötü niyetli olan bu atakları yapan kişilerdir ve sayıları çok azdır ama az olduğu kadar da tehlikeliler. Web sunucusu herhangi bir isteğin bir programcık veya insan tarafından yapıldığını ayırt edemez. HTTP protokolünü kullanarak soket bağlantı açarsanız istediğiniz tarayıcı, işletim sistemi tanımlı istekler yapabilirsiniz.

Bu güvenlik açıklarının dışında bir de yorumlar ve post edilen herhangi bir yerdeki önlemler vardır. Reklam içerikli yorumlar veya küfürlü, şiddet, ırkçı yorumlar yapılabilir. Bunu önlemek için ya yorum onay sisteminden geçecek veya yazılımsal olarak bu tür yorumlar ayıklanacak. Yorumları bu şekilde ayıklamak da pek kolay bir iş değildir.

Bazı kullanıcılar da beklenmedik şeyler yaparlar. Mesela sepetteki ürünleri satın alma isteği gönderirler ama almazlar. Kapıda ödeme ile ürün isterler ve geri çevirirler vs..

Buradan ne sonuç çıkıyor peki? Tüm kullanıcıları melek gibi düşünürseniz yanarsınız. Aynı şekilde tüm kullanıcıları şeytan olarak görürseniz bu da büyük problemdir. Her yerde önlem, onay, çok zor okunan kaptcha kodları gibi kullanıcı deneyimini düşüren önlemler alırsınız.

Bu dengeli olmalı. Herke kötü niyetli değildir, herkes iyi niyetli de değildir?

Fazlasını Oku

Sezgisel Oturum Yönetimi

Diyelim üyelik içeren bir İnternet projeni var. Bir sürü güvenlik prosedürü uyguladınız. Şifreleri hashliyorsunuz, şifre değiştirmede eski şifreyi soruyorsunuz. Eposta adresine şifreyi yollamadan önce güvenlik sorusu soruorsunuz vs.. vs..

Bu önlemler kötü niyetli kişinin kullanıcının şifresini bilmediği durumlarda geçerli olur. Düşünsenize K.adı : gokhan, Şifre : 1234567 ve bu bilgiye kötü niyetli bir kişi sahip. Yukarıdaki güvenlik önlemleri devre dışı kalır. Sistem bu girişin normal kullanıcı mı yoksa kötü niyetli kişi tarafından yapıldığını ayırt edemez. Bu da çok doğal bir şey.

Peki bununla ilgili bir şeyler yapabilir miyiz? Kullanıcının hangi bilgilerini biliyoruz;

  • İşletim sistemi ve tarayıcı versiyonu
  • Ekran çözünürlüğü
  • Sitede sık yaptığı işlemler
  • IP adresinden kısmen ikamet ettiği bölgeyi
  • Şifre girişini kaç denemede başardığı

Böyle uzar gider. Uzar gider dediğime bakmayın bildiklerimizin çoğu bunlar. Bunları neden anlattım? Acaba gerçek kullanıcı ile kötü niyetli kişiyi bazı yöntemlerle ayırabilme şansımız var mıdır?

Örneğin ben IE 8 kullanıyorum, 1024 x 768 ekran çözünürlüğüne sahibim. Kötü niyetli kullanıcı ise Firefox kullanıyor ve işletim sistemi de linux tabanlı bir dağıtım olsun. Şüphe 1. Tabi böyle bir değişiklik çok olası. Kullanıcı her zaman site üzerindeki giriş barını değil, ayrıca üye giriş sayfasını kullanıyordu, ama kötü niyetli kişi bunu yapmadı. Şüphe 2. Artık elimizde biraz da olsa veri var. Ve bu kullanıcı bu izlerle birlikte kullanıcı şifre ve eposta adresini değiştirmek istiyor, işte bu gerçekten geçerli bir şüphe sebebi.

Kullanıcılar her zaman girdikleri İnternet sitelerinde benzer davranışlar yaparlar. Cep telefonlarındaki yüz tanıma teknolojisi mükemmel örnek. Android 4 ICS versiyonunda çatır çatır çalışıyor. Aslında bazı tekniklerle kullanıcının alışkanlıklarını saklayabilir ve bunları şüphe puanı olarak yazabiliriz. Eğer şüphe limiti geçerse hesabı bloke edebilir, şifreyi sıfırlayabiliriz.

Peki bu kullanılabilirlik ve kullanıcı deneyimini etkiler mi? Bence hayır. Biz bu işlemleri hep arka planda yapacağız. Teknik geliştikçe hata oranı azalacaktır. Düşünsenize arkadaşınıza kullanıcı adı ve şifresini veriyorsunuz, giriş yapabiliyor ama hesabı ele geçiremiyor. Evet 100 de 1 veya 1000 de 1 gibi oranlarda hata kabul edilebilir.

Yüz tanımanın İnternet versiyonundan bahsediyorum. Daha çok geliştirilebilir ve bence uygulanabilir bir yaklaşım.

Fazlasını Oku

Güvenlik ve Kullanılabilirlik

Güvenlik ve kullanılabilirlik dengede tutulması gereken bir kondur hatta problemdir diyebiliriz. Örneğin banka hesabımıza girerken 10 tane farkı şifre girerek bağlansaydık tahmin edilmesi çok zor olurdu. Ama bunun yanında 10 tane şifre belirlememiz ve bunları aklımızda tutmamız gerekirdi ve güvenlik eziyete dönüşürdü.

Sanal bankacılık kullanmak zor geliyor. Önce müşteri numaramı giriyorum ve parolamı giriyorum, daha sonra şifremi. Bunları girdikten sonra cep telefonuma tek kullanımlık şifre geliyor, mesajı açıyorum okuyup yazıyorum. Her banka hesabıma giriş eziyet oluyor.

Ben Garanti Bankası’nı kullanıyorum. Bu güvenlik önlemleri tabi ki gerekli ve hepsinin bir sebebi var. Bir kişinin internet bankacılığı şifresini çalmak çok kolay bir olay. Biraz web tasarım, birazcık programlama bilen biri çeşitli yöntemler deneyebilir.

Fikir vermesi açısından bir örnek vereyim. Şimdi son kullanıcı seviyesinde bir internet kullanıcısına bankadan gelmiş gibi bir e-posta yollarız, bu e-postada bankaya link verilir. Kullanıcı linke tıkladığında kötü niyetli kişilerin banka ile aynı tasarıma sahip sayfasına yönlenir. Arada hiç fark yoktur. Forma şifresini girer ve şifre kötü niyetli kullanıcılara geçmiş olur. Bankalar bunun için 2 önlem uyguluyorlar. Birincisi cep telefonuna bir şifre gönderiyor ve bunu forma girmeniz isteniyor. Cep telefonu da sizde olduğu için bu yol güvenli sayılıyor. Kullanıcı şifrenizi ele geçirse bile banka hesabınıza girilemez.

Fakat bu önlem de yeterli değildir. Kötü niyetli sayfadan kullanıcının banka şifresi alındıktan sonra bu bilgilerle arka planda bankanın gerçek sitesine giriş yapabilir ve sms kodunun gönderilmesini sağlayabiliriz. Kullanıcı şifresini girdikten sonra sms doğrulama sayfamıza gider. Buraya sms kodunu da yazar ve sms kodu da kötü niyetli kişiye geçmiş olur. Daha sonra bankaya giriş yapıp istediği işlemi yapabilir.

Bunun için 2. bir güvenlik önlemi daha uygulanıyor. Mesela garantide şifrenizi girdikten sonra size bir resim gösteriliyor. Başta bunu siz seçiyorsunuz ve daha sonra her giriş yaptığınız zaman bu resmi görüyorsunuz. Şifrenizi girdikten sonra gelen sayfada (sms kodunun gönderildiği sayfada) sizin seçtiğiniz resmi göremezseniz işlemi iptal edebilirsiniz. Buna da bu şekilde önlem alınmıştır.

Bankaların uyguladığı sistemler şuan gerçekten gerekli. Farklı ve güncel güvenlik sistemlerinden haberim yok ama gerekli olan bu önlemler kullanıcıyı bazen bezdirmektedir.

Fazlasını Oku

Kredi Kartı İşlemleri

 

Kredi kartı ile İnternet’ten işlem yapmak her zaman biraz korkutucudur. Kullanıcıların bilgileri gönderirken şifrelenmesi, bilgilerin 2. bir kişi tarafından görülmemesi, bazen de bilgilerin kayıt edilmemesi gibi beklentileri vardır.

Bir servise ücretli üye olduğunuzda kredi kartı ile ödeme yapabilirsiniz. Peki ya bu servis bilgilerinizi  kaydedip tekrar abonelik yenilerse veya 2. bir şahıs bilgilerinizi ele geçirip alışveriş yaparsa? Kullanıcıların bu tip korkuları var. Eskiden bu endişeler kabul edilebilirdi. Bugün İnternet daha güvenli bir yer, ilgili kanunlar daha somut şekilde İnternet’ten ödeme konusunda geliştirilmiş durumda.

İnternet’ten yapılan, özellikle abonelik gibi işlemlerde kullanıcı işlemi iptal edebiliyordu. Bu da girişimci için sorun oluyordu. “Ben yapmadım, başka biri yapmış” diyebiliyordunuz. Şimdi “3d secure” denilen bir hizmet var. Ödeme sırasında bankanızın İnternet şubesine giriş yapıyorsunuz, ödemeyi orada tamamlıyorsunuz. Yani “ben yapmadım” deme şansınız yok, İnternet şubenize giriş yapmışsınız.

Peki kart bilgilerinin saklanması? İki ucu keskin bıçak. Aboneliklerde her abonelik yenileme döneminde ücret otomatik tahsil edilir. Geleneksel çevrimiçi alışveriş siteleri ise kart bilgilerini kaydetmemeyi seçerler. Çünkü kullanıcının tekrar alışveriş yapabileceği belirsizdir.

Kredi kartı bilgilerini kaydetmenin en önemli riski veritabanı’nın bir şekilde kötü niyetli kişilerin eline geçebilmesi riskidir. Tüm veritabanınız bir hacker tarafından ele geçirilebilir veya bir çalışanınız veritabanına ulaşıp kart bilgisi çalabilir. Bilgileri md5 gibi geri dönüşü olmayan algoritmalarla şifreleyemezsiniz. Çünkü size numara lazımdır ama geri dönüşü olmayan şifreleme algoritmalarında orjinal veriyi elde edemezsiniz, saklamanızın manası kalmaz.

İnternet’ten, özellikle bilindik ve kurumsal sitelerden alışveriş yapmak, bir restoranda kartınızı garsona vermekten daha güvenlidir.

Peki ya kullanılabilirlik? Kullanıcının işini kolaylaştırmak istiyoruz değil mi? Yapabileceğimiz bazı şeyler var. Mesela kat tipi ve numarasını saklayabiliriz. Bu bilgiler kötü niyetli kişinin eline geçse bile işe yaramayacaktır. Çünkü son kullanım tarihi ve cvv2 numarası yoktur. Bunlar olmadan herhangi bir alışveriş yapamaz. Kullanıcının kart tipi ve kart numarası saklanabilir. Hatta isterseniz son kullanma tarihini de saklayabilirsiniz, sadece cvv2 kodunu girmesi yeter. Ama bu güvenliği bir adım daha düşürür.

Fazlasını Oku