KRACK: WPA2 Protokolünü Hedef Alan Bir Saldırı

Kablosuz internet cihazlarımızla (bilgisayar, telefon, vb) evlerde, iş yerlerinde vs bağlandığımız kablosuz ağların çoğunu koruyan WPA2 şifreleme algoritmasını etkisiz hale getiren bir atak geliştirilmiş. KRACK adı verilen bu atak kablosuz ağların parolalarını kırmıyor, yani evlerimizdeki internete kaçak ortağımız olmuyor ancak daha kötüsü cihaz ve erişim noktası arasındaki şifrelemeyi etkisiz hale getirerek siz ve internet arasında giden gelen bilgileri saldırgan kişilerin okuyabilir hale gelmesine yol açıyor. Üstelik bu atak en azından mayıs ayından beri başarıyla çalışıyormuş ancak ilk defa şimdi yaygınca bilinir hale gelmiş.

Biz ne yapabiliriz bu atak karşısında? Ziyaret ettiğimiz web sayfalarına mümkün olduğunca https üzerinden erişmeye çalışalım, ne kadar az şifrelenmemiş web trafiği yaratırsak o kadar iyi. Ayrıca kullandığımız bilgisayarların, telefonların, modemlerin vb her fırsatta yazılım güncellemelerini takip edelim. Örneğin bir çok Linux tabanlı işletim sisteminde WPA2 şifrelemeli ağlara bağlanmamızı sağlayan wpasupplicant yazılımına gerekli yamalar geldi bile. Windows’lar için de gerekli yamalar yayınlanmış. Şu an için yapacak başka da bir şey yok.

Atak hakkında detaylı bilgiye https://www.krackattacks.com/ adresinden, atakla ilgili yayınlanan bilimsel makaleye de https://papers.mathyvanhoef.com/ccs2017.pdf adresinden erişebilirsiniz.

17 Ekim 2017

Posted In: android, Gezegen Yazıları, güvenlik, ios, linux, windows, wpa2

wait.h

Birden fazla process ile çalışan kod yazarken bazen wait() / waitpid() sistem çağrılarını kullanmak gerekebilir, bu sistem çağrıları child process yaratan parent process’lerin child’ların bitmelerini beklemek için kullanılır. Örneğin bir child process bir dosyaya yazma yapıyorsa ve parent process daha sonra bu dosyadan okuma yapacaksa önce child’ın tamamen sonlanmasını beklemesi gerekir çünkü child henüz daha dosyaya yazmayı bitirmemişken parent’ın bu dosyadan okuması hatalı sonuçlara yol açabilir.

wait()’in kullanılabilmesi için yazılan kodun en üstüne “#include <sys/wait.h>” satırının eklenmesi gerekir. Ancak bazı kodlarda bu satırın “#include <wait.h>” şeklinde yazıldığını da gördüm. Peki hangisi doğru? diye /usr/include dizini altına bakınırken aslında iki dosyanın da sistemde varolduğunu öğrendim:

$ find /usr -iname 'wait.h'
/usr/include/wait.h
/usr/include/x86_64-linux-gnu/sys/wait.h

Birbirinin sembolik linki olmayan bu iki farklı dosyanın içeriklerine baktığımda ise sys/wait.h olanı içersinde bir .h dosyasından bekleyebileceğim tanımlarla karşılaşmışken ilk wait.h dosyasının içeriğinin güldürecek kadar basit tutulduğunu gördüm:

$ cat /usr/include/wait.h
#include <sys/wait.h>

Muhtemelen BSD, Solaris, Linux vs gibi farklı platformlar arasındaki kod uyumluluğu artırmak için alınmış bir önlem olsa gerek.

20 Nisan 2015

Posted In: Gezegen Yazıları, linux, process, programlama, wait

Half-Life 3 Hakkında Bazı Tahminler

Okuduğum bazı haberlerde Valve’in Half-Life 3’ü kendi oyun konsolunun (Steam Machine) tanıtımını yapabilmek için SteamOS ile aynı anda ilk önce SteamOS’a özel olarak çıkartması, daha sonra bunu takip eden birkaç ay sonra ise Mac ve Windows platformlarına getirmesi olasılığına değiniliyor.

Tux_Freeman_by_EnPsyane

Konuyu takip eden herkes SteamOS işletim sisteminin temellerinde GNU/Linux’un yattığını bilir; yani Half-Life 3’ü ilk önce Ubuntu, Mint gibi Linux kullanıcılarının oynayacak olması anlamına geliyor bu. Bundan on sene önce, bilemedin hadi beş sene önce tüm dünya “Linux’ta oyun oynanmaz” diyip geçerken artık günümüzde dünyada oyuncuların neredeyse GTA5 heyecanıyla beklediği Half-Life 3’ün ilk önce Linux’ta oynanabilecek olması olasılığı gayet sevindirici. Tamam Half-Life 3 çok büyük olasılıkla bir özgür yazılım olmayacaktır ama yine de Linux’un tanınırlığını artırmak için gayet mantıklı bir hamle olacaktır.

“Half-Life 3 mü geliyormuş?” demeyin bu arada; Rockstar’ın GTA5’i duyurduğu ilk günden bu yana PC’ye de getireceği ne kadar belliydiyse HL3’ün şu an geliştirilmekte olduğu ve gelecek bir tarihte oyuncularla buluşacağı da o kadar net, sadece henüz anons etmiyorlar tarihini.

Resim kaynağı: http://enpsyane.deviantart.com/art/Tux-Freeman-14014474

13 Nisan 2015

Posted In: Gezegen Yazıları, half-life 3, linux, linux oyunları, steam, steam machine, valve

Linux 4 Sürümü İnsanlığın Sonunu Getirir mi?

Linus Torvalds geride bıraktığımız ay Linux 4.0 sürümünü duyurdu. Şu an kernel.org sitesine bakıldığında 22 Mart 2015 tarihinde 4.0-rc5 sürümünün kernel arşivlerine girdiğini de görüyoruz.

“Peki başlık ne alaka?” derseniz, konuyla alakalı olarak aşağıdaki resim dolaşıyor internette:

terminator-linux41

İzlemeyen var mıdır bilmiyorum ama T-800, Terminator film serisinde Arnold Schwarzenegger’ın canlandırdığı katil robotun modeli. Bu ekran görüntüsü hangi Terminator filminden alınmış bilmiyorum ancak görünüşe göre gelecekte (hatta Torvalds’ın 4.0’ı duyurmasıyla korkarım zannettiğimizden daha da yakın bir gelecekte) insan-makine savaşlarında makinelerin işletim sistemi olarak Linux 4.1.15 çekirdeği çalışıyor olacak 🙂

24 Mart 2015

Posted In: Gezegen Yazıları, linux, terminator

apt-get Komutunun Güzellikleri – 2

Birkaç ay önce aynı adı paylaşan bir başka yazıda yazdıklarıma benzer şekilde bugün yine apt-get ile yapılabilecek bir başka numara öğrendim, geç öğrenmişsem affola 🙂 Problemimiz şu olsun: sistemde var olan bir paketi kaldırırken aynı zamanda başka bir paketin de yüklenmesini sağlamak. Normal şartlar altında sistemden bir paketi kaldırırken remove/purge parametresini, sisteme yeni bir paketi kurarken de install paremetresini kullanırız:

# apt-get install libreoffice-kde
# apt-get remove libreoffice-gtk

Yukarıda örnek verdiğim iki komutu aslında bir arada kullanmak mümkünmüş:

# apt-get install libreoffice-kde libreoffice-gtk-

Veya;

# apt-get remove libreoffice-gtk libreoffice-kde+

Aslında yukarıdaki her iki komutun da yarattığı sonuç aynı fakat yaptıkları işler farklı: ilk komut libreoffice-kde paketini kurarken sonuna ‘-‘ işareti koyduğumuz libreoffice-gtk paketini sistemden kaldırıyor, ikinci komut ise libreoffice-gtk paketini sistemden kaldırırken sonuna ‘+’ eklediğimiz libreoffice-kde paketini sisteme kuruyor.

27 Ekim 2014

Posted In: apt-get, Debian, Gezegen Yazıları, linux, ubuntu

Ubuntu Kurulumundan Sonra Ev Dizinini Şifrelemek

Ubuntu işletim sistemini kurarken kullanıcıların karşılaştığı ekranlardan birisinde kullanıcının ev dizininin şifrelenmesini isteyip istemediği sorulur. Bu işlem, küçük bir miktar performans kaybı karşılığında kullanıcınızın ev dizinini kullanıcı parolası girilene kadar okunamaz biçimde şifrelenmesini ve kullanıcının oturumu açık olduğu müddetçe şifrelenen dosyaların içeriğine düzgünce erişilebilmesini sağlar. Örneğin kullandığınız bilgisayarınızın çalınması durumunda bilgisayarınızı çalan kişi(ler) sizin kullanıcı parolanızı bilemeyecekleri için size ait dosyaların içeriklerine asla erişemeyecektir.

Bu faydalı seçeneği kurulum sırasında işaretlememeyi tercih ederseniz bütün dosyalarınız herhangi bir özel işleme gerek kalmadan erişilebilir halde duracaktır. Eğer bu seçeneğe kurulumdan sonra ihtiyaç duyarsanız Ubuntu’nuzu tekrar baştan kurmak zorunda değilsiniz; tek yapmanız gereken aşağıdaki adımları takip etmek.

    1. Bilgisayarınızda geçici bir süreliğine yönetici haklarına sahip ikinci bir kullanıcı yaratın. Bunun sebebi, ev dizini şifrelenecek olan kullanıcının kendi kendine bu komutu çalıştıramıyor oluşu.
    2. Ev dizini şifrelenecek olan kullanıcınızın oturumunu tamamen kapatıp bir önceki adımda yarattığınız kullanıcı hesabına giriş yapın.
    3. Yeni yarattığınız kullanıcının yönetici haklarından faydalanarak aşağıdaki komutu çalıştırın. Bu komut, bilgisayarınıza ev dizininizi şifrelemenizi sağlayacak olan paketleri kurar.
      sudo apt-get install ecryptfs-utils cryptsetup
    4. Yeni kullanıcı hesabınız şifreleme işlemini başlatmak için aşağıdaki komutu çalıştırın.
      sudo ecryptfs-migrate-home -u kullanici_adi
    5. Enter tuşuna bastığınız zaman sizden ev dizini şifrelenecek olan kullanıcının (az önce yarattığınız kullanıcının değil) parolasını yazmanız istenecek. Parolanızı yazdıktan sonra ev dizininizin boyutuna bağlı olarak süresi uzayabilecek olan şifreleme işlemi başlayacak.
    6. Burası önemli: Şifreleme işlemi bittikten hemen sonra bilgisayarınızı yeniden başlatmadan kendi kullanıcı hesabınızla oturum açın. Eğer herşey yolunda gittiyse karşınıza her zamanki dosyalarınız çıkacak ve bir pencerede size şifreleme işlemiyle ilgili bir bilgi verilecek. Bu penceredeki butona tıkladığınızda size 32 karakter uzunluğunda bir parola verilecek, bunu güvenli bir yere not edin. Bu parola sayesinde dosyalarınızı gelecekte gerekirse elle kurtarabileceksiniz.
    7. Bilgisayarınızı yeniden başlatın. Eğer herşey eskisi gibi yolunda gidiyorsa /home/ dizini altında yaratılan kullanıcı hesabınızın yedek dizinini ve ilk aşamada yarattığınız geçici hesabı güvenle silebilirsiniz.

 

4 Eylül 2014

Posted In: Gezegen Yazıları, home directory, Kubuntu, linux, security, ubuntu

apt-get Komutunun Güzellikleri

Debian tabanlı dağıtımlarda paket yönetim işleri için kullanılan apt-get’in birkaç farklı parametre ile çalıştırıldığını bilirsiniz. Bunların en sık kullanılanları olan install ile yeni paket kurulumu, remove ile kurulu paketlerin kaldırılması, upgrade ile kurulu paketlerin güncellenmesi gerçekleştiriliyor.

Aynı anda hem sistemde var olan paketlerin güncellenmesi, hem de yeni paketlerin kurulumu için ayrı ayrı önce apt-get upgrade, sonra apt-get install çalıştırmak yerine tek seferde “apt-get upgrade <yeni paket adı>” şeklinde bir komut çalıştırılabileceğini de 8 yıllık apt-get geçmişimde ilk defa bugün farkettim 🙂

                 (__) 
                 (oo) 
           /------\/ 
          / |    ||   
         *  /\---/\ 
            ~~   ~~   
..."Have you mooed today?"...

5 Ağustos 2014

Posted In: apt-get, Debian, Gezegen Yazıları, Kubuntu, linux, Özgür yazılım, ubuntu

Saklı Dosyaların Geçmişine Dair…

Unix ve Unix benzeri işletim sistemlerinde adı nokta işaretiyle (.) başlayan dosya ve dizinler saklı olarak kabul görüyor. Yani örneğin Masaüstü, Belgeler gibi dizinler ile rapor.odt, tatil_fotoğrafı.jpg gibi dosyalar normal dosya ve dizin olarak kabul edilirken .config gibi dizin ve .bashrc gibi dosyalar adları nokta karakteri ile başladıkları için saklı olarak sayılıyorlar. Saklı dosya ve dizinler herhangi bir parametre olmadan ls komutu ile görüntülenemezken ls -a ile görüntülenebiliyorlar.

1-2 gün önce okuduğum bir yazıda bu dosyaların niçin saklı dosya sayıldıklarını açıklayan ilginç bir açıklama anlatılıyordu. Şöyle ki; Unix işletim sisteminin ilk çıktığı yıllarda Unix’te kullanılan dosya sistemi de henüz emekleme aşamasındaydı. İlk sürümlerde henüz dizin tanımı yer almıyorken (yani hiç bir dizin olmadan tüm dosyalar yanyana) ilerleyen sürümlerde hiyerarşik dosya sistemi yapısı geliştirilmiş ve dizin kavramı devreye girmiş. Tabi biliyoruz ki dizinlerle çalışırken iki tane de özel dizin karşımıza çıkıyor: . (nokta) şu an içinde bulunduğumuz dizine işaret ederken .. (nokta nokta) bir üst dizini işaret eder. Mesela içinde bulunduğumuz bir dizindeki programı çalıştırmak için ./program komutunu çalıştırırken bir üst dizine dönmek için cd .. komutunu çalıştırıyoruz.

. ve .. dizinlerini geliştirdikten sonra ls komutu çalıştırıldığında bunların görünmemesini istemişler ve bu amaç doğrultusunda şöyle bir C kodu yazmışlar:

if (name[0] == '.') continue;

C programlama dilini kullanan insanların rahatlıkla görebileceği gibi bu komut, bir dosya adının ilk karakterinin nokta olup olmadığını, eğer nokta ise işlem yapılmadan geçileceğini belirtiyor. Tabi bu kontrol sayesinde . ve .. dizinlerinin atlanması sağlanırken insanlar .dosya gibi isimler verebilecekleri dosyaların da ls tarafından atlanabileceğini keşfediyor; bu sayede de aslında bir bug nedeniyle (bkz: it’s not a bug, it’s a feature) saklı dosya kavramı doğmuş oluyor.

Aslında eğer yukarıdaki if kontrolü yerine aşağıdaki if kontrolü yapılmış olsaydı günümüzde Unix ve Unix benzeri işletim sistemlerinde saklı dosya tanımı nasıl yapılmış olurdu merak ediyorum 🙂

if (strcmp(name, ".") == 0 || strcmp(name, "..") == 0) continue;

Kaynak: https://plus.google.com/+RobPikeTheHuman/posts/R58WgWwN9jp

20 Şubat 2014

Posted In: dotfile, Gezegen Yazıları, gizli dosya, hidden file, linux

Mozilla Firefox Reklam Göstermeye mi Başlayacak?

2004 yılından beri çok severek kullandığımız web tarayıcımız Firefox’un geliştirici ekibi tarafından bu hafta başında bir blog yazısı yayınlandı. Bu yazıya göre, Firefox web tarayıcısı yakın bir gelecekte kullanıcılara reklam göstermeye başlayabilir.

Yazı içersinde Firefox kullanmaya yeni başlayan bir kullanıcının tarayıcıyı ilk açtığı zaman aşağıdaki gibi bir ekran ile karşılaştığı belirtiliyor. Bu ekran, Firefox kullanıldıkça en sık ziyaret edilen web siteleri ile dolduruluyor ancak başlangıçta boş kaldığı için Firefox kullanıcılarına bir içerik sağlamadığı belirtiliyor.

firefox_newtab

Bu duruma çözüm olarak Directory Tiles adındaki yeni bir kavram üretilmiş; Directory Tiles sayesinde yeni kullanıcıların bu boş ekranda kullanıcının ilgisini çekebilecek reklamlar veya bizzat Mozilla tarafından seçilen sponsorlu reklamların gözükmeye başlayacağı belirtiliyor.

Bu açıklamadan kısa bir süre sonra duruma netlik kazandırmak için ikinci bir yazı yayınlanıyor. Bu yazıda yer alan Soru-Cevap kısmı aşağıdaki gibi:

Tile Nedir?

Bir kullanıcı Firefox’ta her yeni bir sekme açışında dokuz adet kutuyla veya Tile ile karşılaşıyor. Sıklıkla Firefox kullanan kullanıcılar kendi Tile’larında en sık ziyaret ettikleri siteleri görüyorlar.

Şu an için Tile’larda görüntülenen içerik bir frecency (=frequency+recency) algoritmasıyla bağlantılı. En yakın zamanda ziyaret ettiğiniz ve en sık ziyaret ettiğiniz siteler kullanıcıların Tile’larında görünür.

Directory Tile Nedir?

Directory Tile Mozilla’nın kullanıcılara daha iyi bir deneyim sunmak için geliştirdiği yeni bir projedir. Yeni bir Firefox kullanıcısının ziyaret geçmişi henüz bulunmadığı için yeni bir sekme açtıklarında tile’larında herhangi bir içerik görmezler. Directory Tile ile düşüncemiz, bu kullanıcıların Tile’larını onların faydalı veya ilginç bulacakları önceden üretilmiş içerikle doldurmak.

Kullanıcılar hangi Tile’ların sponsorlu olduğunu bilecekler mi?

Evet, sponsorlu Tile’lar görülebilir şekilde ifade edilecek.

Tile zaman haritası ne şekilde?

Directory Tile’ların kullanım sırasında nasıl bir etki yaratacağına ve bizim doğru yöntemi nasıl seçeceğimize dair hala cevaplanacak bir çok soru var. Doğru detayları belirlediğimizde Directory Tile kullanıma sunulacak.

Firefox kullanıcılarına hangi Tile’ı göstereceğine nasıl karar verecek?

Başlangıçta Firefox her kullanıcı için Directory Tile’lardaki içeriği değiştirerek sonuçları test ediyor olacak.

Kullanıcılar Firefox kullanmaya başladıktan sonra ne kadar daha Directory Tile görmeye devam edecek?

Bizim frecency algoritmamız Tile’ların güncellenmesi için yaklaşık 30 günlük normal tarayıcı kullanımına ihtiyaç duyuyor. Bu noktada kullanıcılar kendi sık ve yakın zamanda ziyaret ettikleri sitelerin içerikleri ile karşılaşmaya başlayacaklar.

Directory Tile, içerik sunmak için kullanıcıların profilini üretecek mi?

Tile içeriklerinin kullanıcıların bulundukları konum ile alakalı olması ve kullanılacak dili belirlemek için GeoIP kullanacağız ama başka bir bilgi toplanmayacak ve toplanması düşünülmüyor.

Mozilla sponsorlu içerik ortaklarına Directory Tile’lardan hangi bilgileri sunacak?

Mozilla pazarlamacılar ve içerik yayıncılarına sadece temel ölçütleri sunacak. Şu an için bir Tile’ın ne kadar görüntülendiği ve kaç kere tıklandığı bilgilerini sunmayı planlıyoruz.

Bir yayıncı bir Tile içersinde belli bir içeriği tavsiye edebilecek mi?

Directory Tile içeriği için farklı yaklaşımları göz önünde bulundurup test edeceğiz, fakat ne gibi sistemlerin geliştirileceği Mozilla’nın misyon, değerleri ve gizlilik sözleşmesi doğrultusunda olacak.

Açıkçası kişisel fikrim Firefox’un günümüzde geldiği noktada bulunmasının başlıca sebepleri arasında kullanıcılarına yeterli özgürlük tanıyor olması yer alıyor; gelecekte de Firefox’un bu tutumunu sürdürmesi kullanıcılarının devamlılığı açısından önemli. Eğer Firefox’ta bu tarz bir yeni özelliğin sunulması planlanıyorsa tabii ki sunulabilir, ancak bu özelliği istemeyen kullanıcılara da bu özelliği tamamen devre dışı bırakabilmeleri özgürlüğü sağlanmalı.

14 Şubat 2014

Posted In: firefox, Gezegen Yazıları

Pardus Yaz Kampı 2013 Hakkında…

Eylül ayına girdiğimiz bugün http://kamp.pardus.org.tr/ adresi altında yürütülen Pardus Yaz Kampı ne durumda diye merak edip bir bakınayım dedim. Sitedeki bol ünlemli bir duyuru sayesinde erişilen http://gitweb.pardus.org.tr/ sayfasına girdiğimde beklemediğim bir manzarayla karşılaştım.

pardusyazkampiAçıkçası bu sayfaya en son 1 ay kadar önce girmiştim, bugün girmeden önce “projelerin süresi de dolar yakında, artık ortam şenlenmiştir” diye düşünüyordum ama boşuna… Projelerle ilgili kişiler ya hayatlarında daha önce SVN, Git falan kullanmamışlar, ya da bu projelerde kullanmaya gerek duymuyorlar (o nasıl olacaksa) bilmiyorum ama en son 3 hafta, 5 hafta önce commit yapılan proje nedir yahu? Hem de bir değil, kaç proje birden…

1 Eylül 2013

Posted In: Gezegen Yazıları, git, linux, pardus, pardus yaz kampı

Twitter Auto Publish Powered By : XYZScripts.com