1-Kariyerinizde veri tabanı güvenliğini seçmenizde ki en büyük etken veya etkenler nelerdir?

Yaklaşık 17 yıldır Veri tabanı üzerine çalışıyorum. Aslında sektöre Yazılım Mühendisi olarak girdim ve 8 yıl kadar bu şekilde çalıştım. Sonrasında ise BT Yöneticiliği yaptım ve sistem-network tarafında da deneyim kazandım. Ama bu süreçte veri tabanı hep hayatımın en önemli noktasında bulundu. Gerçekten uğraşmaktan, öğrenmekten en çok keyif aldığım konu oldu.

Hal böyle olunca işin inceliklerine de inme imkanınız oluyor. Bir baktım ki, biz performansla, optimizasyonla uğraşırken veri tabanı güvenliği herkes tarafından çok ihmal edilen çok tehlikeli bir nokta halini almış. Bir veri tabanı yönetim sisteminin (SQL Server, Oracle vs…)  ve bu sistemlerin sahip olduğu kodlama dillerinin (TSQL,PLSQL vs…) yeteneklerini bilen biri olarak aslında saldırı noktasında sistemin tehlikelerinin,  savunma noktasında da herhangi bir 3. Parti uygulama kullanmadan yapabileceklerinizin farkında oluyorsunuz. Zira bu diller neredeyse bir programlama dili kadar yetenekli ⁸ve hemen hemen bir programlama dili ile yaptığınız hemen her şeyi yapabiliyorsunuz. SQL demek sadece SELECT, INSERT, UPDATE, DELETE değil. Dosya okumak, döngüler, if şartları, web servisler, dll’ler…  her şeyi kullanabiliyorsunuz.

İşte bu merak, deneyim ve farkındalık beni Veri tabanı Güvenliği noktasında çalışmaya ve üretmeye motive etti.

2-Veri tabanı güvenliğin üst düzey olması gereken bir alan bu alanda ne gibi önlemler alıyorsunuz?

Aslında bu konuda sektörden biraz bilgi vermek daha doğru olur. Büyük firmalar bu konuda yatırımlar yapıyor. Saldırı tespit yazılım ve donanımları alıyorlar, SİEM yazılımları çalıştırıyorlar, DLP, içeriden akıllı Firewall gibi çözümler kullanıyor ve bu konuda çalışan istihdam ediyorlar.

Ama asıl sorun Kobi ve bir üstü segmentte. Zira bu firmaların bu tarz yatırımlar için ayıracak bir bütçesi yok maalesef. Daha da kötüsü bu konuda farkındalıkları da az. Zaten siber güvenlik denilince akla hep dışarıdan yapılan saldırılar geliyor. Oysa içeriden gelebilecek saldırılar çok daha tehlikeli. Bu anlamda VT sistemlerinin yeteneklerini kullanarak çok uygun maliyetlerde, hatta çoğu zaman bedava önlemler almak mümkün. Zaten eğitimlerimde daha çok bu önlemlerden bahsediyorum.

3-Veri tabanına yönelik gerçekleştirilen saldırı türleri nelerdir ve bu saldırıların arkada bıraktığı hasarlar nelerdir?

Bir Veri tabanı sistemine girmek sanıldığı kadar zor değil maalesef. Örneğin brute force ile şifre deneyerek bir Veri tabanı sisteminin şifresini kırabilirsiniz. Tabi şifreniz ne kadar karışıksa bu süre o kadar uzayacaktır. Dışarıdan yapılan saldırılarda bu iş o kadar kolay değil. Çünkü internet hızı buna müsaade etmiyor. Ama içeriden yapılan saldırılarda risk altındasınız. Çünkü saniyede 5.000 kadar şifre rahatlıkla deneyebilirsiniz.

Hani Kemal Sunal ile Şener Şen’e bir parola sorma sahnesi var. “Parola Şafak!” diyor ya. Şener Şen 3 kere yanlış parola söyleyince onu vuruyor ya.

İşte gerçek sistemler maalesef sürekli şifre denemeye default olarak izin veriyor.

Örneğin “safak” gibi bir şifrenin Veri tabanı sunucusunda  tüm harf kombinasyonları ile kırılma süresi yaklaşık 39 dk.  Bu şifre kırıldıktan sonra ise sadece bir Microsoft Office uygulaması ile veri tabanına girilebilir, kayıtlar silinebilir, değiştirilebilir, kopyalanılabilir, dışarı çıkarılabilir. Bu rekabet ortamında firmaların elindeki en büyük güç aslında onların dataları ve bu datanın rakibin eline geçmesi için bir excel yetiyor.

Yine bir diğer saldırı yöntemi SQL Injection. Injection İngilizce bir kelime. Türkçe ’ye çevrilmiş hali “enjeksiyon” yani şırınga ile bir şeyin içine başka bir şey enjekte etmek. Tabi burada bir şey ’den kastımız zararsız SQL cümlelerinin içine zararlı SQL cümleleri  enjekte etmek. Şayet önlem alınmadı ise bu açık kullanılarak veri tabanınızın bir kopyasının FTP ile dışarı atılması, verilerinizin silinmesi ve hatta yedeklerinizin geri getirilemeyecek şekilde silinmesi mümkün. Ya da verilerinizin şifrelenerek belli bir para karşılığında şifresinin verilmesi gibi.

Bu saydığım örnekler hep yaşanmış örnekler.

4-Veri tabanını hedef haline getiren sebepler sizce nelerdir?

Aslında bilgi güvenliğinde her sistem bir tehdit. İletişim sistemleri, scada sistemleri, endüstriyel sistemler de tehdit altında olabilir. Ancak bunlar operasyonel sistemlerdir. Oysa bir Veri tabanı sistemi ise en kıymetli varlık olan verinin tutulduğu yerdir.

Bugün sadece erp, crm, ik gibi uygulamalar değil, doküman yönetim sistemleri ve hatta 3d çizim uygulamaları bile verilerini veri tabanlarında tutmaktadır. Düşünsenize bir motor üreticisisiniz, kaç yılın argesi çizimleriniz, çalışmalarınız sizin veri tabanınızda. Müşterileriniz, teklifleriniz, stoklarınız, finansal hareketleriniz yine sizin veri tabanınızda.

Son dönemde epey gündemde olan KVKK konusunu da düşününce, sizin için en kıymetli veriler bu veri tabanlarında tutuluyor. İşte bu yüzden hedef noktasındalar.

5-Zafiyetlerin erken tespiti mümkün müdür?

Kesinlikle mümkündür.

Örneğin bir brute force saldırıyı tespit etmek, vt yöneticisine haber vermek ve saldırgan kişinin içeri girmesini otonom şekilde engellemek için herhangi bir yazılım almaya gerek yok. Yarım saatinizi ayırıp, benim her yerde paylaştığım bolca uygulama ve scriptler ile bunu engelleyebilirsiniz.

Diğer taraftan sisteminize sızan kişi muhtemelen ilk iş bir kullanıcı tanımlayacaktır. Yeni kullanıcı tanımlandığında sisteme otomatik uyarı mekanizması geliştirmek yine sadece 5 dk.

Saldırgan bir veri tabanını silebilir, bunun için de yine 5-10 dakikanızı ayırarak yazacağınız ufak bir kod bloğu ile silinmesini engelleyebilir ve haber verme mekanizması yapabilirsiniz.

Saldırgan bir şekilde verileri silebilir, ya da değiştirebilir. Yine bu durumda da yapılan bir silme, değiştirme işleminin ne zaman, kim tarafından, hangi bilgisayardan, hangi kullanıcı ile yapıldığını tespit edebilir, silmeden ya da değiştirmeden önceki halini kayıt altında tutabilirsiniz. Yine bu da en fazla yarım saatinizi alacak bir iş. Dileyen benim bu işi otomatik yapan scriptlerimi de ücretsiz bir şekilde kullanabilir.

6-Veri tabanı kişisel, kurumsal, finansal verilerin saklandığı bir alan sizce bir veri tabanına tam güvenilir demek mümkün mü?

Alanım Veri tabanı. Bir siber güvenlik uzmanı olmamakla birlikte bu soruya çok rahatlıkla hayır diyebilirim. Çünkü üreticilerin bile fark etmediği bir açık çıkabiliyor. VT sistemlerini geliştiren ekip belki 500 kişi. Ama dışarıda yüzbinlerce belki milyonlarca hacker var.

7-Veri tabanı ve güvenliği alanında en çok yapılan hatalar nedir?

Bu soruya yine Kobi ve bir üst segmenti firmalardan örnek vereyim.

*   En büyük hata uzaktan erişim için Veri tabanı portunu dışarı açmak. Şu anda Türkiye üzerinde baktığımda 14.947 tane SQL portu açık makine olduğunu görüyoruz. Bu ne demektir biliyor musunuz? “Her şeyimle açığım bana şifre deneyebilirsin.” demektir. Yani dışarıdan brute force.

*   Diğer bir yanlış ise Veri tabanı sunucuların şifrelerinin basit olması.
*   Yine bir diğeri sistem kurulurken gelen default admin kullanıcılarının aktif halde bırakılması. Örneğin SQL Server için bu kullanıcı “sa”, MYSql için  “root”, Oracle için “sys” dir. Sizin bir şekilde vt sunucu ile bağlantınız var ise, default kullanıcı da açık ise ihtiyacınız olan şey şifreyi tahmin etmektir sadece. Bunu da yeterince zamanınız varsa yapabilirsiniz.
*   Uygulama geliştirirken yapılan yanlışlar ise sql cümlelerini doğrudan göndermektir. Bu durum SQL Injection saldırılarına kapı aralar. Oysa yapılması gereken; ya stored procedure kullanmak, ya SQL cümlelerini parametre göndererek çağırmak, ya da Linq, Entity framework gibi yapılar kullanmaktır. Şayet bunlar yapılamıyorsa, uygulamada kullanıcı tarafından veri girişi yapılan ekranlarda SQL Injection kontrolü yapmaktır.
*   Veri tabanı sunucusu hizmetini administrator gibi yetkili bir kullanıcı ile çalıştırmak da yapılan hatalardandır. Yedek alırken kopyalamada yetki problemi olmasın diye en çok yapılan hatalardandır. Oysa bu hatanın sonucunda basit bir öneri formu üzerindeki sql injection açığı sebebi ile sunucunun diskin sql kodları ile format bile atabilirsiniz.
*     Sistem üzerinde veri tabanı yedeği almak yerine tüm sunucunun yedeğini geceleyin almak da bir başka hatadır. Herhangi bir kayıpta bir günlük veri kaybolabilir. Oysa vt yönetim sistemleri saniyeler mertebesinde yedek alabilmektedir.
*     Uygulama geliştiriciler connection string bilgilerini uygulamanın içine gömebiliyorlar. Tersine mühendislikle bunu görebilmek oldukça kolay. Ayrıca app.config gibi dosyalar da notepad gibi uygulamalarda açılabiliyor ve burada da connection string bilgilerini tutmak tehlikeli.
*   Sunucu ile uygulama arasına bir katman koymak yine güvenlik için önemli bir konu.

8-Veri tabanı ve güvenliği alanında kendini geliştirmek isteyenlere ne önerirsiniz?

Bu konu çok bakir. Öncelikle farkındalık çok önemli. Akabinde Veri tabanı güvenliği konusunda çalışmak istiyorsanız Veri tabanı yönetmeyi ve kodlamayı iyi bilmeniz gerekiyor. Bir de bu konuda çok fazla çalışma yok. Beni takip etmelerini öneririm.

Bir de siber güvenlik kavramı iki taraflı. Bir hacker bir güvenlikçi gibi düşünebilmeli, bir güvenlikçi de hacker gibi düşünebilmeli. Yani saldıranın içinde biraz savunma, savunanda biraz saldırma yeteneği olmalı. Çin’in o meşhur Yin/Yang felsefesi gibi. Yani ikisini de öğrenmeleri gerekiyor.

9-Kariyer alanında bundan sonraki hedefiniz nedir?

Aslında tek hedefim, daha fazla öğrenmek ve daha fazla öğretmek. Sanırım bu durum tüm kariyer planlarından daha fazla mutlu edecek beni.:)

CEVAP VER

Lütfen yorumunuzu giriniz!
Lütfen isminizi buraya giriniz