İçeriğe geç

Önay Metin Kıvılcım Yazılar

Truecrypt Kullanımı

Öncelikle Truecrypt nedir ondan bahsetmek gerek. Truecrypt sabit diskinizin tamamını, bir kısmını veya cihazınızı şifreleyebileceğiniz açık kaynaklı bir araç. Geliştiricisinin kim olduğu bilinmiyor. Fakat istihbarat örgütleri uzun zamandır bu kişinin peşindeydi. Büyük bir ihtimalle adamı buldular çünkü şuan truecrypt in resmi sitesi olan truecrypt.org adresine girdiğiniz zaman truecryptin güvenli olmadığını bunun yerine Windows un Bitlockerını kullanmanızı tavsiye eden bir rehber bulunmakta.

Ayrıca sitede truecryptin 7.2 versiyonu bulunmakta. Bu versiyon şifrelemek için değil sadece şifreli alanlara ulaşıp verilerinizi kurtarmak için geliştirilmiş bir versiyon. Bu yüzden Windows bilgisayarlarda kullanacak kişilerin truecrypt in 7.1a versiyonunu bulup kurmaları gerekiyor. (https://github.com/DrWhax/truecrypt-archive)

Ben bu yazımda Linux üzerinde belli bir bölümü şifreleyerek kullanmayı anlatacağımdan konuma geri dönüyorum.

Öncelikle repo yu ekliyoruz.

sudo add-apt-repository ppa:stefansundin/truecrypt

ardından bir update çakıp truecrypt’i kuruyoruz.

sudo apt-get update
sudo apt-get install truecrypt
Truecrypt GUI ye sahip olduğundan terminal ekranına sadece truecrypt yazarak çalıştırabiliyoruz.

Daha sonra Create Volume seçeneğini işaretliyoruz. Açılan pencerede bize 2 seçenek sunuyor. Bunlardan ilki şifreli bir konteyner oluşturup bunun içerisine dosyalarımızı atarak kullanmak.

2. seçenek ise yeni bir HDD bölümü yaratmak (D: sürücüsü gibi). Biz burada ilk seçeneği işaretleyeceğiz.

Ardından tekrar Standart ve Hidden Truecrypt volume olmak üzere seçenekli bir sayfa çıkıyor. Biz burada yine ilk seçeneği seçeceğiz fakat 2. seçeneğide anlatmakta fayda var. Hemen söylemek gerekirse 2. seçenek birinci seçenekten daha güvenlidir.

Bunun nedeni 1. seçenekte tek bir şifre girerek gizli klasörlerinize erişirken 2. seçenekde aslında 2 tane gizli alan oluşturur. Şöyle ki gizli alan içerisinde bir başka gizli alan oluşturur. Siz kritik ama çokda kritik olmayan bilgilerinizi 1. katmana koyarsınız ve gerektiğinde parolayı birisine vererek ulaşmasını sağlarsınız. Çok kritik olan dosyalarınızıda 2. katmana koyarsınız.

Aklınıza hemen “peki hangisinin kullanıldığını anlamanın bir yolu yok mu?” sorusu geliyor ise hemen cevap veriyorum. Yok. İşin güzel tarafıda bu.

Açılan yeni pencerede bu şifreleme işlemi için hangi klasörü seçeceğimizi belirtiyoruz.
Bu sayfada Encryption seçeneklerimiz mevcut. Varsayılan olarak gelen değerler yeterince güvenli fakat ben hash algoritması için SHA-512 yi kullandım. Siz istediğinizi kullanabilirsiniz.

Bu sayfada şifreleme alanı için ne kadar bir alan tahsis edeceğimizi belirtiyoruz.

Daha sonra oluşturduğumuz bu alana daha sonra erişebilmek için gireceğimiz parolayı belirtiyoruz. Burada güçlü bir parola kullanmanız hayati derecede önemli.

Daha sonra dosyalama sistemini seçmenizi istiyor. Windowsda NTFS geliyor fakat Linux sistemlerde FAT geliyor. Eğer tek dosya boyutu büyük olmayan dosyalar yükleyecekseniz FAT ideal fakat daha büyük boyutlu dosyalar kullanacaksanız işletim sisteminize uygun olanı seçmenizde yarar var.

Yukarıdaki fotoğrafta gördüğünüz gibi mouse hareketlerine göre random bir pool oluşturuyor. Altta nota göre ne kadar farenizi ne kadar uzun değiştirirseniz o kadar random bir pool seçecektir. Daha sonra Format diyerek oluşturuyoruz. Yarattığınız boyuta göre işlemin uzunluğu değişmekte fakat çok uzun sürmüyor.

Yarattıktan sonra nasıl kullanacağınızı anlatacağım.

Öncelikle herhangi bir Slot u seçin. Daha sonra Select File diyerek daha önceden oluşturmuş olduğunuz şifrelenmiş alanı seçin. Ve mount butonuna basın. Sizden şifrelenmiş dizinin parolasını isteyecektir.

Eğer ayrıca keyfiles kullandıysanız onuda belirtebilirsiniz fakat biz kullanmadığımız için belirtmeyeceğiz. Gördüğünüz üzere şifrelenmiş dizinimiz geldi. Artık normal bir şekilde dosyalarınızı içerisine atabilirsiniz. İçerisine atacağınız dosyalarla işiniz bittiğinde dismount etmeyi unutmayın. Daha sonra tekrar mount ederek dosyalarınıza erişebilirsiniz.

LinkedIn için Güvenlik Önerileri

Genellikle goy goyun çok bulunmadığı daha çok beyaz yakalıların kullandığı sosyal ağ olarak bilinen LinkedIn için güvenlik önerileri.

1-Kişisel Reklamları Kapatın: LinkedIn in size özel reklamlar göstermesini engelleyin.
https://www.linkedin.com/settings/ -> Hesap -> Gizlilik kontrolleri

2-Çift Doğrulamayı Aktif Edin: Hesabınıza giriş için ikili doğrulamayı aktif edin. Böylelikle e-posta ve parolanız çalınsa dahi telefonunuza erişemedikleri için hesabınız ele geçirilmez.
https://www.linkedin.com/settings/ -> Hesap -> Güvenlik ayarlarınızı yönetin.

3-Üçüncü Parti Uygulamalar: Verilerinizin 3. parti uygulamalarla paylaşılmasını engelleyin.
https://www.linkedin.com/settings/ -> Gruplar, Şirketler & Uygulamalar -> 3.parti uygulamalarla veri paylaşımını

4-Harici Uygulamalar: Uygulamalarınızı kontrol edin. Gereksiz olanları kaldırın.
https://www.linkedin.com/settings/ -> Gruplar, Şirketler & Uygulamalar -> Uygulamalarınızı görüntüleyin.

5-Faaliyet Yayını: Faaliyet yayını kapatın.
https://www.linkedin.com/settings/ -> Profil -> Faaliyet yayınını etkinleştirin/devre dışı bırakın

6- Bunlarıda Görüntüledi: Bu profili görüntüleyenler bu profilleride görüntüledi özelliğini kapatın.
https://www.linkedin.com/settings/ -> Profil -> “Bu profili görüntüleyenler şunları da görüntüledi “ kutusunu göster/gizle

7-Araştırmalarda kobay faresi olmayın: Yapılan araştırmalarda kullanılmanızı kabul etmeyin.
https://www.linkedin.com/settings/ -> Haberleşme -> Araştırmalara katılmak için davetler

8-Açık Oturumlar: https://www.linkedin.com/settings/sessions sayfasından açık olan oturumlarınızı kontrol edin. Bilmediğiniz ya da şüphelendiğiniz bütün oturumları sonlandırın.

Javascript+Proxy = Botnet

Eskiden genellikle hackerların hedefinde kurbanın sunucuları olurdu. Hacker bu sunuculara sızmaya çalışır ve sunucunun içerisindeki bilgileri (Kişilerin parola ve mail bilgileri vb.) elde etmeye çalışır log kayıtlarını siler ve çıkardı.

Durum genel itibariyle hala böyle fakat artık hackerlar için son kullanıcının değeri artmış durumda. Hackerlar artık sadece sunucuya sızıp içerisindeki bilgileri almakla yetinmiyorlar birde o sunucuya(Web serversa) bağlanan kişileride hedefliyorlar. Örneğin o sunucuya bağlanan kişilere zararlı javascript dosyaları göndererek o kişilerin bilgisayarlarına sızmaya çalışıyorlar.Fakat benim bu makalede anlatacağım şey tam olarak web serverlar olmayacak. Hepimizin gerek anonimlik gerekse de yasaklı sitelere girmek için az-çok kullandığı Proxy sunucular. Çoğumuz VPN servislerine bile para vermek istemezken proxy sunucularına para vermeyi hiç istemiyor.

Ücretsiz onlarca, yüzlerce proxy sunucusu varken ve onları kullanmamız için takla atıyorken neden para verip bir proxy sunucusu kiralayalım ki?Babamızın oğlu bile bize bedavaya bir şey vermezken neden bu insanlar bizi bu kadar seviyor?Hepinizin bu soru karşısında suratının biraz ekşidiğini farkeder gibiyim. Cevabı çok basit. Sizi değil, datalarınızı seviyorlar!

Penetrasyon testleri ile ilgilenen kişilerin yakından bildiği gibi proxy sunucuları/programları bizim tarafımızdan giden-gelen verileri görüntülemek ve değiştirmek için kullanılır.Hackerlarda tamda bu yüzden proxylerini ücretsiz kullandırıyor. Siz onların proxylerini kullanın ki size gelen-giden paketleri rahatlıkla kontrol edebilsin, eklemeler yapabilsinler ve hatta bilgisayarınızı kullanabilsinler!Chema Alonsoda DEFCON konferansın*da proxy sunucuları ile nasıl bir botnet ağı kurabileceğinizi anlatıyor.Alonso bunun için SQUID Proxy sistemini kullanıyor. SQUID proxy’i kurduktan sonra Squid.conf dosyasında URL rewrite’ı aktifleştiriyor. Bu Perl dilinde yazılmış script dönen cevaba zararlı javascriptleri eklemesine yarıyor.
url_rewrite_program /etc/squid/poison.pl

Ardından http://www.xroxy.com/ sitesine Proxysini ekliyor ve böylelikle insanların kendi sunucusunu kolaylıkla bulabilmelerini sağlıyor. Bu site dünyadaki proxyleri listeleyen bir site. İnsanlar bu siteye proxylerini ekleyebiliyor ve böylelikle ihtiyacı olan kişilerin proxy sunucularını bulabilmesini sağlıyor.İnsanlar bu proxyi kullandıkça SQUID proxy hem üzerinden geçen paketleri önbellekleyecek (Bu sayede cachelenmiş sayfaları görüntüleyebilecek) hemde yaptığı ayar sayesinde insanlara zararlı javascript dosyaları atarak onlara bulaşmış sağlayacak.

Zararlı Javascript dosyası göndermek için alternatif yollar:
1-Stored XSS
2-Kendi HTTP sunucunuz
3-MiTM
4-Memcache saldırıları

Nasıl Korunabilirsiniz?:
1-Güvenmediğiniz proxyleri kullanmayın.
2-Proxy kullanmadan önce sisteminizdeki önemli verileri temizleyin.
3-Önbellekleme internette sizin dostunuz değildir.

Kaynakça:
* https://www.youtube.com/watch?v=xDslqMCaLZM
http://media.blackhat.com/bh-us-12/Briefings/Alonso/BH_US_12_Alonso_Owning_Bad_Guys_WP.pdf

Facebook Güvenlik İpuçları

Eski yazı dizisine devam etmem gerekirse sırada sosyal medyalar var. En popüler olanlardan Facebook ile başlamakta fayda var. Facebookda alınacak bir çok güvenlik önlemi var.
Bunları sıralamak gerekirse

1-İkili Doğrulama İlk olarak ikili doğrulamayı aktif edin. Böylelikle hesabınıza tanımlanmamış bir cihazdan giriş yapmak istediğinizde telefonunuza kod gelecek. Facebook hesap bilgileriniz çalınsa bile telefonunuz sizde olduğu sürece güvende olacaksınız. Tabi ki tanımlanmış bir cihaza sızıp Facebook hesabınıza girmek isterlerse bu koruma işe yaramayacaktır.

2-Giriş bildirimleri: Giriş bildirimlerinizi aktif edin. Böylelikle hesabınıza girmeye çalışıp başarılı olamadıklarında hemen bilgilendirilirsiniz. Bu tür durumlarda saldırı altında olduğunuzu anlayıp farklı güvenlik önlemleri alabilirsiniz.

3-Güvenilir Tarayıcılar: Güvenilir tarayıcılar 1. maddede açıkladığım gibi güvenilen cihazlardır. Bu cihazlarda 2li doğrulama çalışmaz. Bu yüzden güvenilir tarayıcılarınızı kontrol edin. Eğer eskiden güvendiğiniz/kullandığınız bir cihaz var fakat bu aralar o cihazdan oturum açmıyorsanız o tarayıcıyı listeden kaldırmanızda fayda var. Böylelikle o cihaza sızılsa bile hesabınıza giremeyeceklerdir.

4-Giriş Yaptığın Yer: Bu sekmeden aktif oturumları görebilirsiniz. Eğer tanımadığınız bir cihaz var ise derhal oturumu kapat diyerek hesabınızdan çıkmasını sağlayabilirsiniz. Ayrıca fareyi Konumun üstünde tutarsanız o oturumdan giren kişinin IP adresini görebilirsiniz.

5-Gereksiz Uygulamalar: Daha önceden kullandığınız faka şuan kullanmadığınız uygulamaları bu listeden kaldırabilirsiniz. Ne kadar az uygulama o kadar ağrısız baş demek. Çünkü o uygulama hacklenebilir ve sizin adınıza paylaşımlarda bulunabilir ya da çeşitli bilgilerinize erişebildiğinden farklı amaçlar için kullanılabilir.

6-Reklamlar: Facebookdaki kişisel bilgilerinizin (yaş,ilgi alanları,konum, ad, soyad vb.) bilgilerinizin 3. şahıslarla paylaşmasını engelleyin. İlgili linkten kapatabilirsiniz. https://www.facebook.com/ads/website_custom_audiences/

7-Gizlilik: Geçmiş gönderilerinizi sınırlayın. Önceleri paylaşmış olduğunuz bir gönderi bugün sizi rahatsız edebilir. Bu gönderilerin gözükmesini sınırlayabilirsiniz. Aşağıdaki seçenekleri işaretleyin.

8-Hareket Dökümü: Hareket dökümü sayfasında sizinle ilgili her şey saklanır. Bunlara Facebookta kimleri arattığınızda dahil. Düzenli aralıkla arama kayıtlarını silmekte fayda var. Bunun için Profil->Hareket Dökümü-> Daha Fazla->Arama yolunu izleyebilirsiniz.

9-Zaman tüneli onayı: Arkadaşlarınıza neleri göstermek istediğinizi siz seçin. Arkadaşınız bir bağlantı paylaşmış ve sizi de etiketlemiş olabilir. Fakat siz bunu arkadaşlarınıza göstermek istemiyorsunuz. Bu tür durumlarda çok işe yarayan zaman tüneli onayı özelliği oldukça işinize yarayabilir.

Steganografi

Steganografi, eski Yunanca’da “gizlenmiş yazı” anlamına gelir ve bilgiyi gizleme bilimine verilen isimdir. Steganografi’nin şifrelemeye göre en büyük avantajı bilgiyi gören bir kimsenin gördüğü şeyin içinde önemli bir bilgi olduğunu farkedemiyor olmasıdır, Buda tabiki gizli haberleşmeye zemin oluşturuyor.

Hemen belirtmemde fayda var. Ben bu yazıda tabi ki çok yüzeysel olarak steganografiyi ele alacağım. İşin derin matematik boyutundan çok farkındalık yaratmak için bu yazıyı yazıyorum. Steganografi’yi sadece fotoğraflarda değil, ses ve videolarda da kullanabilirsiniz. Steganografiyi tabiki son kullanıcı kullanmıyor. Genelde istihbarat birimleri ve illegal örgütler (El kaide vb.) kullanıyor. Bu yazıda Steghide programını kullanarak örnek göstereceğim. Öncelikle Ubuntuda Steghide aracını kullanmak için “apt-get install steghide” diyerek aracı kurmanız gerekiyor. Ardından konsola steghide diyerek çalıştırabilirsiniz. Kısaca en altta içerisine veri gizlemek ve çıkarmak için yapmanız gerekenleri anlatıyor. $ steghide -cf {en son gözükecek dosya} -ef {içerisine gizlecek dosya} Bizden passphrase (imza) değeri istedi. Bu değeri 2 kere girdikten sonra gorunecek.jpg adlı dosyamıza gizlenecek.jpg dosyası gizlenmiş oluyor. Bu dosyaya steganografi tekniği ile bir şeyler gizlenildiği anlaşılsa (Belli tekniklerle arayan programlar var fakat çok başarılı değiller.) dahi ellerinde passphrase değeri olmadığından export edemeyecekler. Böylelikle bilgi güvenliği hat safhada kalmış oluyor. Tabi burada karşı tarafa passphare değerini ne kadar güvenli şekilde iletirseniz verinizde o kadar güvende kalacaktır.

Gizli verimizi dışarı çıkarmak istediğimizde ise
steghide extract -sf gorunecek.jpg dedikten sonra passphrase değerimizi girerek gizli verimizi dışarıya çıkarabiliriz. Burada belirtmek isterim içerisine sadece jpg dosyası değil istediğiniz formatta dosya ekleyebilirsiniz.

Güvenli Mesajlaşma

Hepimiz tandığımız insanlarla telefon üzerinden mesajlaşıyoruz. Eskiden hepimiz SMS i kullansakda internetin gelişmesi ve ucuzlaması ile artık mobil mesajlaşma uygulamalarını kullanmaya başladık. WhatsApp, Tic Toc, WeChat, Lıne, Viber, Tango, Skype, Hangouts, Telegram bunlardan en bilinenleri. Görüldüğü üzere bir sürü farklı mesajlaşma uygulaması var. Bazıları kendi alanında en iyileri. Fakat her alanda en iyi uygulamayı yapabilmek imkansız. Bu yüzden ya bir kaçını kullanacaksınız ya da bir takım avantajlardan fedakarlık yapmanız gerekecek. Bu yazıda mesajlaşma uygulamalarından WhatsApp, Telegram ve Bleep’i birbiriyle karşılaştıracağım.

En popüler olan WhatsApp uygulaması ile başlamak en doğrusu olacaktır. Kullanım kolaylığı ve popülaritesinden dolayı tabi ki WhatsApp kendini diğer uygulamalardan hemen ayırıyor. En büyük avantajı şüphesiz ki bütün arkadaşlarınızın WhatsApp kullanması. Diğer hiçbir uygulama WhatsApp kadar popüler değil. Fakat maalesef popüler olduğu kadar güvenli değil. Mesajlarınız telefon ile WhatsApp sunucuları arasında şifrelenerek gönderiliyor. Yani MITM (Çeşitli yöntemler ile iç ağın trafiğini kendi üzerinden geçirerek yapılan bir saldırı türü) yapan birisi mesajlarınızı okuyamaz. Fakat mesajlarınız WhatsApp ın kendi sunucularında saklandığı için WhatsApp ve dolayısıyla devletler bütün mesajlarınıza erişebilir ve okuyabilir. Hatta WhatsAppın ülkelere para karşılığında konuşmaları sattığı delillerle ortaya çıkarılmıştır. Bu durumda güvenliği ve anonimliği tehdit ediyor.

Telegram ise WhatsApp’a göre biraz daha güvenli. Bunun nedeni ise şifrelemeyi telefon-sunucu arasında yapmayıp telefon-telefon arasında yapması. Bu yüzden “konuşmalar” sunucuda tutulmayıp ya da tutulsa bile şifrelendiği için okunamadığı için konuşmalar başkasının eline geçemiyor. Fakat burada bir sorun var. Bu mesajlaşma uygulamasıda sunucuları kullanıyor. Evet mesajlarınız okunamıyor fakat kimin kiminle görüştüğü sunuculardaki verilere bakarak anlaşılabiliyor. Bu durumda tabi ki anonimliğe zarar veriyor. Ayrıca Telegram MTProto denen bir şifreleme algoritması kullanıyor. Ve bu algoritma diğer algoritmalar gibi şifreleme otoriteleri tarafından denetlenmiş değil. Buda akıllara NSA’in MTProto algoritmasında arka kapı bırakmış olabilme ihtimalini akıllara getiriyor.

Bittorrent ekibinin geliştirdiği Bleep uygulamasına bakacak olursak öncelikle akıyor. Güvenlik açısından diğer uygulamalara fark atarken son kullanıcıya uyumluluk olarak dibe çöküyor. Fakat bu blogdaki yazıları okuyorsanız sizin için güvenlik 1. sırada geliyor demektir. O yüzden sıkıntı olacağını sanmıyorum. Gelelim özelliklerine. Öncelikle Telegram gibi uçtan uca şifrelemeyi destekliyor. Yani mesajlarınızı siz ve konuştuğunuz kişi dışında kimse okuyamıyor.

Fakat Telegram gibi sunucuya ihtiyaç duymuyor. “Neden duymuyor?” derseniz. Çünkü sunucu sizsiniz. Evet torrent mantığını ortaya çıkaran bu adamlardanda farklı bir mantıkta çalışan uygulama beklenemezdi. Bu mesajlaşma uygulamasında herkes bir istemci ve herkes yine bir sunucu. Ortada tam anlamıyla bir sunucu olmadığı için kimin kiminle görüştüğü kayıt altına alınmıyor/alınamıyor.

Bir sunucu kullanmamasının kötü yanı ise eğer konuşacağınız kişi internete bağlı değilse ona mesaj gönderemiyorsunuz. Çünkü mesajı tutacak ve kişi online olduğunda ona gönderecek bir sistem yok. Bleep’i diğer uygulamalardan ayıran diğer en güzel özellik ise sadece telefon odaklı bir uygulama olmaması. Windows, Mac Android ve yakın bir zamanda IOS da kullanabileceksiniz. Fakat benim için en önemlisi Linux sistemlere gelmesi. Umarım yakın zamanda Linux sistemlerede gelir.

Sunucu kullanılmamasının bir kötü etkiside burda çıkıyor. Telefonunuzda konuşmaya başladınız, sonra bilgisayarınıza geçip konuşmaya devam etmek istiyorsunuz. Evet konuşmaya devam edebilirsiniz fakat bilgisayarınızda geçmiş konuşmaları göremezsiniz. Çünkü bilgisayarınıza mesajları gönderecek bir sunucu yok.

Son olarak Bleep ile sesli görüşmelerde yapabilirsiniz.
Hayatınızda devrimsel bir değişiklik yapıp tabiki WhatsApp’ı silip Bleep’e geçemezsiniz. Fakat daha özel ve önemli konuşmalarınızı Bleep üzerinden gerçekleştirmenizde fayda var.
Güncellemeler ile neler oluyor diye merak edersenizde aşağıdaki linkten takip edebilirsiniz.
http://forum.bittorrent.com/topic/32012-latest-bleep-release-all-platforms/

İndirme linki:http://labs.bittorrent.com/bleep/

Güncelleme (19.11.2014): Artık WhatsApp da uçtan uca şifrelemeyi destekliyor. Ve bunu TextSecure ile sağlıyor. WhatsApp da uçtan uca şifreleme aktif etmek için herhangi bir ayar yapmanız gerekmiyor. Güncelleme ile varsayılan olarak aktif oluyor. WhatsApp bu özelliği sayesinde artık güvenlik konusunda Telegram kadar güvenli sayılabilir. Fakat hala sunucularda metadata sakladığından tam olarak anonim değil.

Güncelleme (16.12.2014): Telegram bütün platformlarda çalışabiliyor.

Android Güvenlik İpuçları

Android telefonlar artık hayatımızın vazgeçilmez bir parçası. Boş zamanlarımızda, yolculuk esnasında ya da sosyal medya hesaplarımızı kontrol ederken elimizden düşürmüyoruz. Hatta kimileri artık bilgisayarını aylarca açmayıp telefonu ile işlerini halledebilmekte.

Fakat hayatımızda bu kadar büyük öneme sahip olan bu cihazları ne kadar iyi koruyoruz? Eğer güvenlikle ya da yazılım ile ilgilenmiyorsanız büyük ihtimalle bu ayarları yapmamışsınızdır. Öncelikle burada hemen belirtmek istiyorum eğer Cyanogenmod kullanıyorsanız bir takım özel güvenlik ayarlarına erişebiliyorsunuz.

Aşağıdaki ayarların
bazılarını değiştirebilmeniz için “Geliştirici” modunu açmanız gerekir. Ayarlar -> Telefon hakkında sayfasına gelerek “Derleme numarası”na 4-5 kere bastığınızda geliştirici modunu aktif edebilirsiniz.

1-Ekran kilidi:Telefonunuza ekran kilidi koyun. Böylelikle telefonunuzu cafede masaya bırakıp lavaboya gitseniz dahi kimse telefonunuzdaki bilgilere erişemeyecektir. (Fakat tabiki telefonunuzu yanınızdan ayırmanızı tavsiye etmiyorum.)
Ayarlar -> Kilit Ekranı/Ekran -> Ekran Güvenliği -> Ekran Kilidi sayfasına gelerek istediğiniz ekran kilidini seçebilirsiniz.

Ayrıca Cyanogenmod bunlarla sınırlı kalmayıp ekstra özelliklerde getirebiliyor. Peki bunlar neler derseniz? Örneğin ekran kilidi yaptığınızda ekranda yuvarlak noktalar çıkar ve siz çizdikçe yeşil bir çizgiyle şekil çizilir. Fakat bu basit ekran kilitlerinde ufak bir gözlemle çözülebilmekte. Bu yüzden Cyanogenmod bu noktaları kaldırabilmenizi ve şekili çizdiğinizde gözükmesini kapatabilmenize olanak vermiş.

2-Konum Ayarları: Konum ayarlarınızı kapatın. Kimin nerede olduğunuzu bilmesine gerek yok.
Ayarlar -> Konum sayfasına gelerek Mod seçeneğinden kapatabilirsiniz.

3-Bilinmeyen Kaynaklar: Bilinmeyen kaynakları kapatın. Böylelikle zararlı yazılımlar doğrulanamayacağından telefonunuza yüklenemeyecektir.
Ayarlar -> Güvenlik sayfasına gelerek Bilinmeyen kaynaklar seçeneğini ayarlayabilirsiniz.

. 4-Uygulamaları Doğrula: Uygulamaları doğrulayı aktif edin. Böylelikle .apk uzantılı dosyaları yüklemek istediğinizde Android kendi sandboxından yüklemek istediğiniz uygulamayı doğrulayacaktır.
Ayarlar -> Güvenlik sayfasına gelerek Uygulamaları doğrula seçeneğini ayarlayabilirsiniz.

5-Gizlilik: Bu özellik Cyanogenmod ile gelen bir özellik malesef standart ROMlarda bulunmuyor. Bu özellik ile hangi uygulamanın hangi verinize (Konum, kişisel bilgiler vb.) kaç kere ve en son kaç dakika önce eriştiğini görebilir ve bunları sınırlayabilirsiniz.
Ayarlar -> Gizlilik -> Gizlilik Koruması -> Gelişmiş sayfasına gelerek uygulama bazlı gizlilik ayarlarınızı ayarlayabilirsiniz.

6-Cihaz Ağ adı: Cihazınızın adını varsayılandan farklı bir ad ile değiştirin. Bu adı belli aralıkla değiştirmeniz gizliliğiniz için önemli. Bu ad ağa bağlandığınızda modem arayüzünde hangi cihazların bağlı olduğuna bakılan ekranda gözüken addır. Cyanogenmod ile telefonunun adını tamamen değiştirebilirken standart ROMlarda malesef bu kadar müdahale edemiyorsunuz.
Ayarlar -> Geliştirici Seçenekleri sayfasına gelerek Cihaz ağ adını değiştirebilirsiniz.

7-Hata Ayıklama: Hata ayıklama özelliğini kapatın. Böylelikle isteminizin dışında apk dosyalarının yüklenmesinden korunabilirsiniz.
Ayarlar -> Geliştirici Seçenekleri sayfasına gelerek Android hata ayıklamayı devre dışı bırakabilirsiniz.

8-AppLock: Applock uygulamasını kurun. Böylelikle ekran kilidi açıp telefonunuzu bir arkadaşınıza verseniz bile Applock ile kilitlediğiniz uygulamaları arkadaşınız açamaz. Örneğin oyun oynasın diye verdiniz fakat mesajlarınıza bakmasını istemiyorsunuz. Bu ayar ile gönül rahatlığıyla telefonunuzu verebilirsiniz. İlgili uygulamayı https://play.google.com/store/apps/details?id=com.domobile.applock adresinden indirebilirsiniz.

9-Tarayıcı Konumu: Varsayılan olarak Chrome tarayıcısını (Chrome ayarlardaki özellikleri alıyor) kullanmayan telefonlarda siz ayarlardan konumu kapatsanız bile tarayıcıdaki konum açık kalıyor. Ayrıca ondan konumunuzu kapatmanız gerek.
Tarayıcı uygulaması -> Ayarlar -> Gizlilik ve güvenlik sayfasına gelerek konumu etkinleştir i devre dışı bırabilirsiniz.

10-İlgiye Dayalı Reklam: Google tarafından size kişisel reklam sunulmasını kapatın.
Ayarlar->Hesaplar->Google hesabı->Reklamlar sayfasına gelerek “ilgi alanına dayalı reklamları kapat” seçeneğini işaretlemeniz gerekiyor. Ayrıca Reklam kimliğinizide sıfırlamakta fayda var.

11-Tam Cihaz Şifrelemesi: Son ve en önemli özellik olan tam cihaz şifrelemesi truecrypt mantığında çalışıyor. Eğer cihazınızda bu özelliği kullanıyorsanız telefonunuz çalınsa bile hırsız hiçbir bilginize erişemeyecektir. Her kilit ekranından çıkmanız gerekdiğinde belirlediğiniz private key ile decryption ediyor. Buda hem batarya ömrünü azaltıyor hemde decryption ettiği için cihazı yavaşlatıyor. Bu özellik Android 5.0 (L) ile varsayılan olarak geliyor.
Ayarlar -> Güvenlik -> Telefonu şifreleme sayfasından telefonunuzu şifreleyebilirsiniz fakat bu işlem için %80den fazla şarj ve şarj cihazına bağlı olması gerekiyor.

SQL Injection

Öncelikle SQL dediğimiz şeyin ne olduğundan bahsetmek istiyorum.Programlarımızda genellikle verileri saklamamız gerekir. Örneğin en basitinden bir anaokulu otomasyonu yazacak olsanız öğretmen,müdür,temizlik personelleri ve öğrenciler gibi veriler tutmanız gerekir. Çünkü kullanıcı programı her başlattığında bunları tekrar tekrar girmekle uğraşamaz. Bu yüzden biz bu verilerimizi veritabanlarında tutuyoruz. Veritabanları ile konuşabildiğimiz dilede SQL diyoruz.

Malumunuz uygulamamızdaki değerli verileride veritabanında saklamamız gerekli. Bu yüzden hackerlar için bu alan oldukça kıymetli. Eğer kullanıcıdan aldığınız input u hiçbir kontrolden geçirmeden sorgunuzun içerisinde kullanırsanız uygulamanız zafiyet barındırmış oluyor. Zafiyetin nedeni uygulamanın beklemediği karakterler yollayarak uygulamada çalışan normal SQL sorgusunun dışında hackerın kendi istediği SQL sorgularını yazabilmesine dayanmaktadır.

Farklı saldırı vektörleri olduğundan belli türlere bölünmüştür. Fakat bu türler kesin olarak birbirinden ayrılmış değildir. Bir zafiyet birkaç türün birleşimi olabilir. Öncelikle veritabanı işlemlerinin yapıldığı sayfalar belirlenir ve daha sonra SQL tarafına gönderilen kısımlar belirlenir. Ardından bu alanlarda uygulamanın çıktısını değiştirebilecek karakterler denenir.

1-Error Based SQLi:
Veritabanı işlemlerinin yapıldığı bir sayfa bulduğunuzda uygulamanın beklediğinden farklı veriler girerek sayfaya bir hata mesajı çıkartırsınız. Eğer uygulama beklenmedik bir durumda (Örneğin syntax hatası) veritabanı hata mesajlarını sayfaya yazdırıyorsa buna Error based SQLi diyoruz. Verdiği hata mesajlarından yola çıkarak SQL sorgumuzu değiştiriyoruz.

2-Union Based SQLi:
UNION, SQL dilinde 2 farklı tablodaki kayıtların birleştirilmesi için kullanılan bir SQL komutudur. Ama tabloların birleştirilebilmesi için tablodaki sütun sayılarının eşit olması gerekir. Bunun için uygulamada değişiklik olana kadar sütun sayısı arttırılır. KullaniciTablosu adında bir tablomuz olsun ve içerisinde Ad,soyad,TC,Tel ve yaş kısımları bulunsun. Göründüğü üzere tablomuzda 5 alan bulunmakta. Union ile Select 1,2,3,4,5,6 UNION SELECT 1,2,3…

3-Blind Based SQLi:
Bu SQLi saldırısında Error based daki gibi ekrana herhangi bir hata mesajı gelmez. Gönderdiğimiz değerlere göre sayfanın içerisindeki verilerin değişip değişmemesinden SQLi gerçekleşip gerçekleşmediğini anlayabiliriz.
Uygulama tarafındaki SQL sorgusu:Select * FROM X Where catid=5 and topicid=’$id’ GROUP BY
$id değişkenine 3′ and ‘1’=’2′ değerini atarsak false döneceğinden sonuç sayfaya yazılmaz. Fakat 3′ and ‘1’=’1′ değerini atarsak sorgu true döner ve sonuç sayfaya yazılır. Böylelikle bu alanda SQLi zafiyeti var diyebiliriz.

Peki bu zafiyeti nasıl sömürebiliriz?

Bunun için substring kullanılabilir. Substring komutu stringi parçalamaya yarar. SUBSTRING(@@version,1,1) komutu veritabanı versiyonunun ilk karakterini alır. 1′ and SUBSTRING(@@version,1,1)=’5 payloadını yazdığımızda MySQLden veri dönüyorsa MySQL veritabanı versiyonu 5 ile başlıyor diyebiliriz. Çünkü 5=5 eşitliği sağlanmasaydı SQL geriye cevap dönmeyecekti. Aynı sorgunun sonunu 4 yaparak denediğimizde Mysql veri döndürmeyecektir. Daha sonra veritabanının adını öğrenmeye çalışıyoruz. Bunun için select database() adında özel bir SQL sorgusu bulunmakta.

1′ and ASCII(SUBSTRING((select database()),1,1))>97# Yukarıdaki kodun açıklaması şu şekilde: Veritabanının adının ilk karakterini alıp ASCII değerine çevir ve 97 den büyük mü diye kontrol et. # işaretinin anlamı ise bu karakterden sonraki tüm SQL sorgularını yorum olarak algıla demektir. Bildiğiniz üzere her karakterin ASCII tablosunda rakamsal olarak bir değeri mevcut. Bizde bu payloadı kullanırken ASCII tablosundan yararlanıyoruz. Sürekli büyük küçüktür diye deniyerek en sonunda karakterimize ulaşmaktayız. Fakat bunun için bir sürü SQL sorgusu çalıştırılmaktadır. Onlarca SQL sorgusu ile sadece ilk karakterini alabilmekteyiz. Diğer her karakter içinde bir bu kadar sorgu yapılması gerekir.

4-Time Based SQLi:
Bazen uygulamaya ne sonuçlar nede hata mesajları yazılır. Fakat siz orada SQLi zafiyeti olduğuna eminsinizdir. Bunun gibi durumlarda veritabanının cevap verme süresini baz alarak sorgularımızı deneyebiliriz. Örneğin eğer ASCII karşılığı 97 den büyükse 10 saniye bekle, 10 dan küçükse 2 saniye bekle şeklinde yapılabilir. Böylelikle eğer sunucu 10 saniye sonra cevap döndürürse 97den büyük olduğunu, 2 saniyede cevap dönersede 97 den küçük olduğunu anlayabiliriz.

SQLmap:
SQLmap, özellikle Time based ve Blind based saldırı vektörlerinde hackerların işini oldukça kolaylaştıran bir araç. Üst kısımda anlattığım gibi bu saldırı vektörleri oldukça uzun zaman ve emek isteyen saldırılardır. SQLmap in asıl amacıda bu zafiyetlerin kolay sömürülmesini sağlamak.

Nasıl Korunabilirim?:
Veritabanı işlemlerinizde statement yerine prepared statement bir yapı kullanırsanız SQLi saldırılarından korunmuş olursunuz. Aşağıda .NET de kullanımı gösterilmiştir. SqlCommand bul = new SqlCommand(“Select UyeID from UyeTablosu where UyeMail=@mail”,baglanti);
bul.Parameters.AddWithValue(“@mail”,IdBul);

Daha Az Takip Edilmek

Birisi bilgisayarınızın kamerasında sürekli sizi izlese elbette rahatsız olursunuz. Aslında kurumlarda tam olarak bunu yapıyor. Belki kameranızdan sizi izlemiyor fakat internette arattıklarınızı, girdiğiniz siteleri, bilgisayarınızda tutulan logları takip ederek sizin profilinizi oluşturuyor. Bunu en basitinden https://analytics.twitter.com adresinde bulunan Takipçiler sayfasına girerek anlayabilirsiniz. Soldaki ilgi alanları size tanıdık geliyor mu?

1-DNS Degistirme:
Öncelikle servis sağlayıcınızın size vermiş olduğu DNS i kesinlikle kullanmamanızı tavsiye ediyorum ve tabiki Google DNSlerinide kullanmamalısınız. Çünkü Google DNS taleplerinizi size daha uygun reklam gösterebilmek için saklıyor ve kullanıyor.

Kişisel olarak 37.221.170.104 – 37.221.170.105 (OPEN NIC) DNS adreslerini kullanmaktayım.

Hangi DNS i kullandığınızı ya da DNSinizi değiştirseniz bile gerçekten o DNS i kullanıp kullanmadığınızı (TTNET in DNS spoofing uygulaması) kontrol etmek için https://www.dnsleaktest.com/ adresini kullanabilirsiniz.

2-Arama motorunuzu degistirin:
Arama motorunuzu Google yerine Duckduckgo yapın. Duckduckgo aramalarınızı kayıt altında tutmuyor. Fakat duckduckgo tabiki Google gibi başarılı sonuçlar vermiyor. Eğer Google kullanmanız gerekiyor ise https://www.google.com/history adresinden tüm arama geçmişinizi silin ve web geçmişini kapatın.

3-Tarayıcınızı Degistirin:
Google chrome ya da internet explorer yerine Firefox kullanın.

4-Google Reklamlarını engelleyin:
Google size tanımladığı özel kimlik sayesinde yaptığınız aramalardan, DNS sorgularından kişiliğinizi ortaya çıkarmak isteyebilir. Aşağıdaki sayfaya girerek size özel reklam göstermelerini engelleyin. Size özel reklam göstermek demek sizi tanıması demektir. Sizi tanımasına gerek var mı? Yok.

https://www.google.com/settings/u/0/ads?hl=tr

5-Her zaman HTTPS kullanın:
İnternetteki sörflerinizde her zaman HTTPS kullanın. Her sitede HTTPS var mı diye kontrol etmek yerine HTTPS everywhere eklentisini kullanabilirsiniz. Eğer girdiğiniz sitenin HTTPS desteği varsa otomatik ona yönlendirileceksiniz.

6-AdBlock kullanın:
AdBlock girdiğiniz sitelerdeki reklamları engellemek için yapılmış bir eklentidir. Tarayıcınıza AdBlock kurarak size gösterilen reklamları engelleyebilirsiniz.

7- Ghostery kullanın
Bu eklenti sizi takip etmeye çalışan yazılımları engellemek için geliştirilmiştir. Örneğin Google Analytics gibi davranışlarınızı takip eden uygulamaları engeller. Engellenen izleyicileri sağ alt tarafta görebilirsiniz.

8-Ccleaner kullanın:
Zaman zaman bilgisayarınızda yer açmak ve sizin bilginiz olmadan kaydeden verileri silmek için ccleaner programını kullanabilirsiniz. Son kullanıcı odaklı geliştirilen bu uygulama oldukça başarılı. Standart kurulumunun dışında tek yapmanız gereken Ayarlar->Seçenekler->Güvenli silme alanına gelip Güvenli dosya silmede 35 geçişlik silmeyi kullanmanız.

9-Facebook:
Facebook, sizin sitede kimleri arattığınızı kayıt altında tutmakta. Bu kayıtları silmek için Hareketler dökümü->Daha Fazla->Arama sayfasını açın. Sağ tarafta Arama kayıtlarını silin e tıklayın. Facebookta size özel reklamlar göstermek istiyor. Bundan kurtulmak için Ayarlar->Reklamlar sayfasına girin ve ayarlamaları yapın.

10-Twitter:
https://twitter.com/settings/security sayfasına girerek Twitter ın kendi ortakları ile bilgilerinizi paylaşmasını engelleyin. Ayrıca konum bilginizide paylaşmayıda kapatın.

11-VPN kullanın:
İnternette normal gezerken VPN kullanın. Sadece banka sitelerinde VPN den çıkın.

12-Bleep
Arkadaşlarınızla güvenli bir şekilde konuşmak istiyorsanız Bittorrent geliştiricilerinin geliştirmiş olduğu Bleep mesajlaşma uygulamasını kullanabilirsiniz. Bu uygulamayı diğer bütün uygulamalardan ayıran 2 önemli özelliği bulunmakta bunlardan ilki p2p olması diğer ise konuşmaların encrypted edilerek yollanması.

Mesajlarınızı arkadaşınızın public key i ile şifreleyerek arkadaşanıza gönderiyorsunuz. Böylelikle mesajlar ele geçirilse bile okunamıyor.

p2p olmasıda merkezi bir sunucu tarafından kontrol edilmiyor olması. Örneğin siz Whatsapp uygulaması ile birine mesaj göndermek istediğinizde mesajınız önce Whatsapp sunucularına yollanır. Daha sonra Whatsapp sunucuları mesajınızı arkadaşınıza gönderir. Uygulamadaki 2 tick işareti buradan gelir. 1. tick sunucuya ulaştığını 2. tick ise sunucudan arkadaşınıza ulaştığını belirtir. Bleep uygulaması ise merkezi bir sunucuya gerek duymaz.

Uygulamayı http://labs.bittorrent.com/bleep/ adresinden indirebilirsiniz.
Daha ayrıntılı bilgi için lütfen https://kemgozleresis.org.tr/tr/ adresine bakın.

Broken Authentication and Session Management

Broken Authentication and Session Management Web sitemizde ziyaretçilerimizin üye olup olmadığını ve yetkinlik seviyesini belirliyebilmek için onlarla benzersiz bir numara atarız. Bu sessionid değerine göre web sitemizde belirli işlemler gerçekleştiririz. Bu oturum numarasının kullanımında çeşitli güvenlik zaafiyetleri oluşabilir.

1-Session Fixation:
Eğer bir framework ile kodlama yapıyorsanız frameworkler sitenizi daha ilk ziyaret edişinizde size özel bir sessionid atar. Login olma işlemini yapıp yapmamanız önemli değildir. Siteye giren herkesi ayırt etmek ister.

Siteye girdikten sonra üye girişi yaparken yine sessionlarınızla işlemler yapılacaktır. Burada bir güvenlik zaafiyeti oluşabilir. Eğer ziyaretçi login işlemi yaptıktan sonra sessionid değeri değişmiyor ve sessionid değeri URLden gönderiliyor ise oturumu çalınabilir.

Örnek bir senaryo vermek gerekirse

Hacker zaafiyetin bulunduğu siteye girer fakat login işlemi gerçekleştirmez. Siteye girdiği için belli bir session değeri atanır. Bu sessionid değerini URLde görebileceği bir sayfa bulur. Daha sonra kurbana “Oğlum kız arkadaşının fotoğrafı değil mi lan bu? Fotoğraf için login olman lazım” diyerek linke tıklattırır. Kurbanımız login işlemini yaptığında bizdede aynı sessionid olduğundan kurbanımız gibi sitede gezebilmekteyiz. Tabiki bu saldırının başarılı olabilmesi için Session ile IP nin eşleştirilmemesi lazım.

2-Session Prediction:
Yapısı gereği session_id değerinin tahmin edilemez olması gerekir. Fakat biz framework kullanmayıp sessionid değerini kendi algoritmamız ile atarsak tahmin edilebilir bir algoritma kullanmış olabiliriz.

Hackerlar bu zafiyeeti tespit edebilmek için siteye 3 kere login olur ve verilen sessionidleri karşılaştırır. Sessionidler arasında benzerlik bulunursa başka birinin oturumunu çalabilirler. Çünkü bir sonraki login olacak kişininde sessionidsini bilmiş olacaklardır. Tabi ki bu zaafiyetin gerçekleşebilmesi için session ile IP nin eşleştirilmemiş olması gerekir.

3-Parolamı Unuttum:
Bir diğer unutulan kısımda “parolamı unuttum” sayfalarında yaşanır. Parola unuttum işlemlerinde mail adresi yazılıyor ve sistem otomatik olarak yeni şifre oluşturup veritabanına ve kurtarma mailine yazıyor ise hacker burada hedefin parolasını sürekli sıfırlayabilir. Böylelikle kurban hesabını hiçbir zaman kullanamayacaktır. Çünkü hacker sürekli şifre sıfırlama talebinde bulunacak ve parolası değişecektir. Bu saldırıdan korunmak için parola sıfırlama talebinde bulunulduğunda bulunan hesaba

https://www.orneksite.com/parolasifirla.aspx?rid=lakng434lkasd4aslf4n1lkn3l&user=ornek@hotmail.com

şeklinde bir mail atılmalı ve kullanıcı mail adresine gelen linke tıklayarak parolasını değiştirmeli. Tahmin edeceğiniz üzere rid değeri rastgele oluşturulmalı ve kontrol edilmelidir.

4-Parola Degistirme:
Parola değiştirme ekranında mevcut parola sorulmalıdır. Eğer sorulmaz ise oturum bilgilerini bir şekilde ele geçiren hacker parolayı değiştirerek hesabı tamamen üstüne geçirebilir. Hatta ben bu konuda biraz daha piskopatça düşünerek parola değiştirme ekranında mevcut parola alanını bir kere yanlış girerse oturumun düşürülmesi taraftarıyım. Böylelikle hackerın kısmende olsa saldırılarını engellemiş oluruz.

5-Hesap Olusturma:
Hesap oluşturma sayfasında oluşturma talebi gönderildikten sonra kullanıcıya aktivasyon kodu gönderilmiyorsa burada bir güvenlik zafiyetinden söz edebiliriz. Çünkü bu zafiyet sayesinde istediğiniz kişinin mail hesabı ile sitede hesap açabilir ve kişiyi rencide edecek paylaşımlarda bulunabilirsiniz. Bu yüzden kayıt olma işlemlerinde kullanıcının mail hesabına aktivasyon kodu gönderilmelidir.

6-Logout:
Şimdilerde çok nadir rastlansada zaman zaman karşılaşabildiğimiz bir durum olan çıkış işleminin olmamasıdır. Kullanıcı login olduğu sistemden çıkış yapamamaktadır. Özellikle internet cafe gibi halka açık alanlarda böyle bir zaafiyet çok baş ağrıtabilir.