Starting a new series called.. Boredom Challenge

Standard

Ok, let me explain. When I look at my blog, I see that I managed to write at most 6 blog posts in a month, and most of the time I didn’t post anything for long periods. Since this is kind of annoying me – and also because I’m bored (hence the name) – I’ve decided to make a challenge for myself and called it the Boredom Challenge.

The challenge is, I will be writing a new blog post every day for the next 30 days. My aim is to write full blog posts (not short ones, like tips or tricks). I think their topics will be about Windows 8, Windows Phone and Windows Azure (naturally) but I haven’t thought out the topic of every day’s post so I don’t exactly know what I will end up writing.

Let’s see if I can keep up.

Advertisement

New posts in English

Standard

Hi everyone,

I’ve decided to write my articles mainly in English from now on. I feel they will be more useful since more people will be able to read and understand them.

Let’s see how this will work out. 🙂

Veritabanında Nasıl Şifre Saklamalıyız – Hashing ve Salting

Standard

Merhabalar. Bu sefer biraz değişiklik yaparak kodu az, konusu bol, eğlenceli bir yazı yazmaya karar verdim. 🙂

Veritabanı bir yazılım veya bilgisayar mühendisinin öğrendiği en temel konulardandır, ama üniversitelerde verilen veritabanı derslerinde konunun her zaman için teorik kısmı ele alınır. Bu derslerde biz functional dependency’den girip 3NF – 4NF’ten çıkaduralım, pratik bilgi olmadan teorik bilginin pek de faydalı olmadığını ancak mezun olduktan sonra görebiliyoruz. Ki bu durum bile eğer ders doğru işleniyorsa geçerli; bende olduğu gibi grammar nazi hocanızdan bütün dönem boyunca yalnızca “tuition fee”nin ne demek olduğunu öğrenerek dersi geçiyorsanız durum daha da kötüleşiyor. 🙂

Fakat kullanıcı adının “Login” olması?

Bu eksik pratik bilgilerin en basit ve önemlilerinden biri ise, veritabanında şifrelerin nasıl saklanacağı. Bir veritabanı hacklendiğinde ilk hedef şifrelerdir ve açığa çıkmaları direk o sistemin çökmesine sebep olur, çünkü veritabanını hackleyen kişi istediği kullanıcının hesabına girerek hem bilgi çalabilir, hem de maddi – manevi zarara neden olabilir. Eğer internette kısa bir araştırma yaparsanız en büyük firmaların bile veritabanlarının hacklendiği haberlerine ulaşabilirsiniz, bkz. Adobe, Sony, Valve (Steam). Ki düşünün, eğer Valve veritabanındaki şifreleri doğru saklamayı bilmeseydi Steam’deki tüm hesaplar açığa çıkardı ve insanlar para vererek aldıkları oyunlarını kaybederdi (kredi kartı bilgileri kısmına girmiyorum bile).

Veritabanında şifre saklarken, yukarıda bahsettiğim pratik bilgi eksikliğine sahip olan bir mühendisin yapıp yapabileceği en büyük hata ise şifreleri plain text olarak (yani olduğu gibi) saklamaktır. Ya yanlış olduğu bilinmediği için, ya da “amaan yaa bir şey olmaz” diyerek (Türk mantığı :)) yapılan bu hata, aşağıdaki gibi doldurulmuş bir veritabanı ile karşılaştığında bir hackerın ağır alay konusu olmanıza sebep olabilir:

Peki hackerların gizli gizli Justin Bieber’ı sevdiğimizi öğrenmemeleri (ve kullanıcılarımızın hesaplarını ele geçirmemeleri) için ne yapmalıyız?

➤ b04f7cce31f09ac37aa764eca473f3ecb2cc025c3a0d6c839998497d8df4615e

Uzun bir aradan sonra bloga devam

Standard

Merhabalar. En son yazımın tarihinden de göreceğiniz üzere yaklaşık 6 aydır bloga hiçbir yazı eklememiştim. Ancak okulun tamamen bitmesinin ve kendime gelmemin ardından, ve Microsoft Middle East and Africa’da başladığım stajın da yerine oturmasıyla, öğrendiğim pek çok şeyi blogumda paylaşmaya devam etmeye karar verdim. Blogumu yenilemeye kalkışarak geçirdiğim yaklaşık 1.5 ay sonucunda (nasıl bir Yazılım Mühendisliği yeteneği sergilediysem) görünüşü, tarzı ve daha pek çok şeyi içime sinmeyen görmekte olduğunuz hale ulaştım, ve daha fazla uğraşmak istemeyerek “Artık yazı yazmak istiyorum!” diye isyan ettim.

Şu aralar Silverlight ile ilgileniyorum, ve yazılarım bir süreliğine Silverlight ağırlıklı olacak. Daha sonra da Windows Azure ve Windows 8’e yöneleceğim. Hadi bakalım.