Showing posts with label banka. Show all posts
Showing posts with label banka. Show all posts

Sunday, September 7, 2014

Zararlı yazılım tespit etmek

Aşağıdaki Kaspersky tarafından yayınlann bir çalışmanın özet haritasıdır. Görüldüğü gibi, 2013 yılında finansal alanda faaliyet gösteren zararlı yazılımların en çok görüldüğü ülkelerin başında geliyoruz.

Resim 1: Ülkemizdeki kullanıcıların %12'den fazlası zararlı yazılım kurbanı. 

Dilimizin döndüğünce sunucular da dahil olmak üzere ağ üzerinde anti virüs yazılımı olmayan makina olmaması gerektiğini ve Android telefonlara bile anti virüs yüklenmesi gerektiğini anlatmaya çalışıyoruz. Ne yazık ki önerilerimiz ancak doktorların "düzenli aralıklarla check-up yaptırın" veya "sigarayı bırakın" demesi kadar etkili olabiliyor. Bu nedenle de destek verdiğim aşağı yukarı bütün ağlarda birkaç tane zararlı yazılım bulaşmış sistem buluyorum.

Engellemek için tedbir alamıyorsak, hiç değilse tespit edebilelim diyerek bir ağ veya sistemde zararlı yazılım olup olmadığını anlamak için kullandığım bazı basit yöntemleri toparlamak istedim.

Temel Göstergeler

  • Sistemlerde ve ağda zararlı yazılım varlığı aşağıdaki temel göstergelerden biri veya birkaçı ile belli olabilir. 
  • Bilgisayarın yavaşlaması: Zararlı yazılım sistem kaynaklarını kullanacağı için sisteminiz yavaşlayabilir.
  • Artan disk kullanımı: Bilgisayarda bir işlem yapmıyorken bile disk ışığının yanıp-sönmesi ve disk kullanımı.
  • Açılırken garip uyarıların belirmesi ve kaybolması: Özellikle dşsk kullanımı ve erişim yetkileri ile uyarıların çıkıp sonra kaybolması. 
  • Sosyal medya hesaplarınızda sizin yazmadığınız mesajların ortaya çıkması
  • Ağ üzerinde kaynağı belli olmayan trafik: Mesai saatleri dışında veya normalde kullanımın az olduğu zamanlarda yüksek trafiğin olması. Bilmediğiniz/kullanmadığınız protokoller üzerinden dışarıyla iletişim kurulması.  
  • Kullanıcıların "internet yavaşladı" şikayetleri: bir şeylerin ters gittiğini en kolay anlayabilecek kişilerdir. Onlardan gelebilecek "bilgisayarım yavaşladı" veya "internet yavaşladı" geri bildirimleri çok önemlidir. 
  • IP adreslerinizin kara listeye düşmesi.


Kullanılabilecek basit bir yöntem
Ağ genelinde birşeylerin ters gittiğini anlamak için yukarıdaki ipuçlarını değerlendirebilirsiniz. Belirli bir sistemin başında olduğunuzda ise, o sistemde zararlı yazılım olup olmadığını anlamak için, aşağıdaki yöntemi kullanabilirsiniz.

Netstat (NETwork STATistics) sistemin gelen ve giden bağlantılarını görüntülememizi sağlayan bir uygulamadır. Netstat ile birlikte kullanabileceğimiz parametreler arasında bizim için faydalı olabilecekler şunlardır:
netstat -a: Tüm bağlantıları ve dinleyen portları gösterir
netstat -b: bağlantıları ve portları onları kullanan uygulama adı ile birlikte görüntüler
netstat -n: port numaralarını gösterir
netstat -o: Bağlantıları ilgili PID (Process Identifier) ile birlikte gösterir

Bir windows sistemde netstat -a konutunu vermeniz siz o anda sistem üzerindeki açık veya dinlemede olan bağlantıların listesini verir. Bu çalışmanın bir miktar sabır gerektiğini söylemekte fayda var ama basit bir yaklaşımla yapılacaklar şunlar:

Öncelikle mevcut bağlantıları ortaya çıkartmamız gerekiyor

Resim 2: netstat -a komutu

netstat -ano ile bağlantıyı kullanan process belirlenebilir. Processler hkkında daha fazla bilgi Windows Task Manager üzerinden elde edilebilir. Bu işlemleri yapmaktaki amacımızının bilgimiz dışında dış dünya ile iletişim kuran yazılımları tespit olmak olduğunu hatırlayarak bu bakış açımızı korumamız gerekiyor.

Resim 3: netstat -ano ile PID'lerin belirlenmesi

Son olarak da bağlantıların hangi uygulamalar tarafından kullanıldığını ortaya çıkartabiliriz.

Resim 4: Bağlantıları kullanan uygulamaların netstat -anb ile belirlenmesi

Resim 4'te gördüğünüz "LISTENING" sistemin bağlantı beklediğini göstermektedir. Buna ek olarak aşağıdaki bağlantı durumları da görülebilir.

  • CLOSED: Bağlantının kapalı olduğunu gösterir
  • ESTABLISHED: Bağlantı kurulmuş
  • TIME_WAIT: Bağlantı açık ancak kullanılmıyor

Bundan sonra yapılacak şey dikkatli bir şekilde "olmaması gerekeni" bulmaktır.

Kullanımda görünen portları ve bu bağlantıları kullanan uygulamaları Google'da aratarak bilinen bir zararlı yazılım olup olmadığını bulmak çoğunlukla mümkün olmaktadır.

Sunday, August 31, 2014

Boşa giden 250 milyon dolar

250 Milyon Dolar… Fikir vermesi için bu rakam JP Morgan Chase bankasının sadece 2014 yılında bilgi güvenliğine yaptığı yatırımdır. 
Bu ölçekte güvenlik yatırımları yapan bir bankanın hacklenmesi tek başına kötü bir haber iken, FBI’ın bu olayın 5 diğer küresel bankayı da hedef alan daha geniş kapsamlı ve planlı bir saldırının parçası olup olmadığını araştırıyor.

JP Morgan’da ne oldu?
Aklımıza ilk gelen soru sadece güvenliğe 250 milyon dolar harcayan bir yerin nasıl hacklenmiş olabileceğidir. 
Herşeyden önce bilmemiz gereken şey saldırının bir anda olmadığıdır. Filmlerden alışkın olduğumuz şekilde gecenin karanlığında klavyesinde birşeyler yazan siyah giyimli ve önünde terminal ekranı olan bir kişinin saldırısı değil. Yayınlanan raporlardan gördüğüm kadarıyla saldırganlar JP Morgan Chase sistemlerinde 2 aydan fazla süre tespit edilmeden dolaşmışlar. 

Saldırının başlangıcı ve hackerların banka sistemlerine ilk sızdıkları noktanın bankanın internet sayfası olduğu düşünülüyor. Web sayfasında bulunan bir zafiyet istismar edilerek web sayfasının bulunduğu sunuculara erişim sağlayan saldırganlar veri merkezinde bulunan diğer sunuculara sızmışlardır
.
Saldırının 5 önemli adıma bakarak aşağıdaki saldırı sürecini çıkartabiliriz.





Adım 1: Saldırganlar bankaya ait internet sitesinde bir güvenlik açığı tespit ediyor

Adım 2: Bu güvenlik açığından faydalanan saldırganlar web sitesinin barındırıldığı sunucuyu ele geçiriyor

Adım 3: Bankanın sunucu havuzu içerisinde yatay hareket

Adım 4: Bankacılık işlemlerinin tutulduğu sunuculara sızıyorlar

Adım 5: Ele geçirdikleri hassas verileri aralarında Brezilya ve Rusya’nın da olduğu çeşitli ülkelerde bulunan sunuculara gönderiyorlar. 

Saldırıların her aşamasında “0-day” güvenlik açıklarından ve istismar kodlarından faydalanılmış olması saldırganların bilgi ve beceri seviyesinin oldukça yüksek olduğunun bir kanıtıdır. “0-day” (sıfırıncı gün) açıkları bulunmuş ancak henüz üretici veya kamuoyu tarafından bilinmeyen güvenlik açıklarıdır. Bu güvenlik açıkları uluslararası ticarete konu olmaktadır ve önemli açıklar milyonlarca dolara varan fiyatlarla satılmaktadır. Bu olaydaki saldırganlar ya teknik kaynakları olduğu için açıkları kendileri tespit etmiş, veya finansal güçlerini kullanarak bu açıkları piyasadan satınalmışlardır.

Saldırının başarıya ulaşmış olması ise bize saldırganların bu işe zaman ve kaynak ayırdıklarını gösteriyor. Öncelikle bankanın gelişmiş sızma tespit ve önleme sistemleri özel olarak geliştirilmiş zararlı yazılımlar ve istismar kodları kullanılarak atlatılmıştır. Bu ukodları yazmak ve bankanın kullandığı güvenlik sistemleri hakkında bilgi toplamak teknik bilgi, zaman ve birden fazla alanda beceri gerektiren bir süreçtir. İkinci aşamada ise 1 aydan fazla sürede banka sistemlerinden dışarıya gönderilen gigabaytlarca verinin aktarımının bankanın veri sızdırma (Data Loss Prevention – DLP) sistemlerini atlatacak şekilde yapılması yine saldırganların sıradan kişiler olmadığını kanıtlamaktadır. 

Yıllık bütçe raporunda “2014 yılının sonuna kadar bilgi güvenliğine 250 milyon dolar yatırım yapacağız ve bilgi güvenliği kadromuzu 1000 kişiye çıkartacağız” diyen bir bankanın bile hacklenmesi bu kadar kolayken daha küçük ölçekli finans kuruluşları ve özel şirketler kendilerini nasıl korur? Öncelikle bu saldırıdan gerekli dersleri çıkarttığımızdan emin olmalıyız.

JP Morgan Chase olayından çıkartılacak dersler

İlk ders, her zamanki gibi, güvende olmadığınız gerçeğini kabul etmektir. Yeni aldığınız firewall veya laptoplarınızdaki antivirüsler size güvenlik sağlamaz. Güvende olmak için cihazların ve yazılımların ötesine geçerek genel güvenlik seviyesi ele alınmalıdır. Mesela firewall’un sadece port engelleme yaptığını ve insanların web sayfanıza ulaşabilmeleri için 80.portu açık tutmanız gerektiğini ve büyük ihtimalle IPS/IDS’in (sızma tespit ve engelleme sistemi) iyi yazılmış bir SQL injection kodunu yakalayamayacağını kabul etmeniz gerekir. 
Ders 1: 250 milyon Amerikan Doları bile harcasanız hacklenebilirsiniz

Saldırının nispeten önemsiz gibi görünebilecek bir yerden başladığına dikkat etmek lazım. Öyle ya, banka bile olsa internet sayfalarında müşteri hesap bilgilerini tutmayacaktır. İnternete açık her sistemin, güvenlik kameraları, POS cihazları, cep telefonları, sıra matikler dahil olmak üzere, saldırıya uğrayabileceğini bilmek gerekir. İnternete açık bir şey için şu cümlerlerden birini kullanıyorsanız yakın zamanda başınıza kötü bir şey gelebilir; “kimse bununla uğraşmaz”, “IP var sadece, bunu bulamazlar” veya “şifreyi bilmeyen giremez”…
Ders 2: Bir şey internete açıksa birileri bulur ve saldırır. 

JP Morgan Chase saldırısının 5 temel adımdan oluştuğunu gördük. Daha küçük hedeflere yönelik saldırılar da aynı şekilde birden fazla adımdan oluşan bir zincir ile gerçekleştirilmektedir. Yukarıdaki senaryoda saldırganların web sayfasının bulunduğu sunucuları ele geçirdikten sonra diğer sunuculara erişemediğini varsayalım. Bu durumda Bankanın başına gelebilecek en kötü şey web sayfalarına “h4ck3d by l33tsec” türü yazı eklenmesi olacaktı. Benzer şekilde saldırganlar sistem sunucularından müşteri işlemlerinin tutulduğu sunuculara geçemeseydi müşteri verilerine ulaşamayacaklardı. Son olarak da ulaştıkları verileri dışarı gönderemeselerdi yine sorun büyük ölçüde azalacaktı. Zafiyetleri ve potansiyel saldırı vektörlerinin ortaya çıkartılmasının yanında, risk analizleri sırasında önem verdiğim noktalardan birisi de bu tür “kâbus zincirlerini” ortaya çıkartmaktır. Bulduğum her zinciri birden fazla yerinden kopartarak benzer senaryoların yaşanmasını önlemeye çalışıyorum. Böylece saldırgan sisteme sızsa bile sistemden bilgi sızdıramayacak veya sızdığı sistemden bir diğerine atlayamayacaktır. 
Ders 3: Başınıza gelebilecek en kötü şey için bir araya gelmesi gerekenleri bulun ve bir araya gelmediklerinden emin olun. 

Yapılan saldırıların ürettiği logları düşünürsek daha küçük ölçekli bir bankada veya herhangi bir Türk bankasında dikkat çekecek kadar garipler. Özellikle dışarı bilgi gönderildiği aşamada Brezilya ve Rusya’da bulunan sunuculara yapılan veri transferi basit bir scriptle bile kolayca ortaya çıkartılabilecektir. Sadece sızdırılan bilgiler değil, zararlı yazılımların komuta sunucuları ile olan iletişimi de bu şekilde yakalanabilir.
Ders 4: Ağınızdan çıkan trafiği izlemeniz çok önemli.

Diğer öneriler
Bu olaydan almamız gereken derslerin devamı olarak bazı basit önerilerim olacak;

Web sayfanızı dışarıda tutun: Hayır, DMZ’de değil, tamamen dışarıda. Bir hosting hizmeti alacak şekilde dışarıda.

Güvenlik analizleri yaptırın: Sızma testlerinin dışında da bu tür saldırı senaryolarının ortaya çıkartılacağı çalışmalar yaptırın

Sistemlerinizin kendi aralarında ne konuştuklarını takip edin: Örneğin web sunucunuz ile dosya sunucunuzun iletişim kurmasını gerektirecek bir neden olup olmadığını araştırın. 

Hata loglarını takip edin: Ne kadar iyi olursa olsun hacker hata loglarına neden olacaktır. Bunları tespit etmek, saldırıyı ve saldırganı tespit etmek için hayati önem taşır.






MITRE ATT&CK Gerçek Hayatta Ne İşimize Yarar?

  Rusya kaynaklı siber saldırılar webinarı sırasında üzerinde durduğum önemli bir çalışma vardı. MITRE ATT&CK matrisini ele alıp hangi...