PHP <5.3.1 Denial of Service

29 11 2009

Uzun zamandır yazamıyordum, gezegen biraz paslanmış ama bu girdi gezegenin pasını alacak gibi görünüyor :)

Birkaç gün önce PHP 5.3.1 yayınlandı, birçok hatayı ve güvenlik açığını kapatıyor. Güvenlik güncellemeleri şu şekilde:

  • Added “max_file_uploads” INI directive, which can be set to limit the number of file uploads per-request to 20 by default, to prevent possible DOS via temporary file exhaustion.
  • Added missing sanity checks around exif processing.
  • Fixed a safe_mode bypass in tempnam().
  • Fixed a open_basedir bypass in posix_mkfifo().
  • Fixed failing safe_mode_include_dir

İçlerinden en önemlisi kalın olarak belirttiğim “max_file_uploads” seçeneği. PHP 5.3.1 ‘den önceki sürümlerde bu özellik yok ve üzerinde PHP çalıştıran herhangi bir sunucu 1 dakika içerisinde isteklere yanıt veremez hale getirilebiliyor. Upload edilen dosyanın işlenip işlenmemesi önemli değil, sadece boş bir index.php barındırmanız bile yetiyor!

Açık PHP’nin dosya upload sırasında geçici dosya oluşturmasından kaynaklanıyor. Eğer art arda 16.000+ dosya upload isteği gönderirseniz, sunucu geçici dosya yaratma ve silme ile aşırı derecede meşgul olacağı için normal isteklere cevap veremez hale geliyor. Bu süre zarfında %100 ‘e yakın işlemci tüketmesi ve büyük miktarda bellek kullanması da cabası.

Bununla birlikte açığın kullanıldığına dair çok net bir işarete rastlayamıyorsunuz. Sadece log dosyanızda aynı IP adresinden gelen birkaç yüz tane POST isteği görülecek. POST isteklerinin içeriğin görülemediği için, eğer bu açıktan haberdar değilseniz dikkatinizi o yöne değil de başka yerlere vererek sunucunuzun neden erişilmez olduğunu anlayamayacaksınız. Daha da kötüsü, her zaman kolayca kullanılabileceği için sisteminiz büyük risk altında olacak :)

Açık Bogdan Calin tarafından bulundu. Daha ayrıntılı bilgi için [0] adresini okuyabilirsiniz. Kendisi kullandığı scripti vermeyeceğini yazmış ancak biraz araştırma ve deneme ile açığı exploit eden kodu yazdım ve yayınlıyorum. :) Kod [1] adresinde.

Şu anda Türkiye’de PHP içerik sunan sitelerin büyük bir çoğunluğu etkinlenir durumda. Hosting şirketleri bu açığı kapatmadığı sürece de etkilenecek…

[0] http://www.acunetix.com/blog/websecuritynews/php-multipartform-data-denial-of-service/

[1] http://www.exploit-db.com/exploits/10242

Peki nasıl korunacağız?

PHP 5.3.1 ile açık kapanıyor. Eğer güncelleme imkanınız varsa 5.3.1′e güncelleyin. Ancak PHP 5.3.1 ile birçok özellik değişmiş durumda ve PHP 5.2.x ile çalışan pek çok uygulama 5.3.x ile çalışmayacaktır. Bu yüzden büyük ihtimalle PHP 5.2.x kullanıyorsunuz. Eğer tahmin ettiğim gibiyse, 5.2.x yamaları aşağıda. Yamaları uygulayıp PHP’yi tekrar derleyin ve sunucunuzu yeniden başlatın.

http://svn.php.net/…/main/rfc1867.c?r1=272374&r2=289990

http://svn.php.net/…/main/main.c?r1=289214&r2=289990 (NOT: Buradaki 100 değeri sonradan 20 olarak değiştirildi, siz de 20 olarak değiştirip uygulayın)

Güvenli olup olmadığımı nasıl anlarım?

Çok basit. Aşağıdaki adresindeki dosyayı alıp sunucunuz üzerinde dosya uzantısı *.php olacak şekilde çalıştırın. Sizde yamanın olup olmadığını söyleyecektir.

Pardus ne alemde?

Tabi ki açık yayınlandıktan 1 gün sonra yamaları eklendi ve commit [*] edildi. Birkaç gün içerisinde de depoya alındı. Şu anda düzeltilmiş PHP paketi stable depoda. Eğer Pardus kullanıyor ve PHP içerik sunuyorsanız güvenlik açığını kapatmak için PHP paketlerini güncellemeniz yeterli:

sudo pisi ur && sudo pisi up mod_php php-common php-cli

sudo service apache restart

* http://liste.pardus.org.tr/paketler-commits/2009-November/087149.html

Sonra?

Yazdığım bu girdi ve exploit bu tür önemli şeyleri takip etmeyen sistem yöneticilerini uyandıracaktır diye umuyorum. Eğer PHP kullanıyorsanız, lütfen kullandığınız dağıtımın güncellemelerini kontrol edin. Açığın kapanıp kapanmadığına bakın. Hizmet satın alıyorsanız sunucu yöneticinize bu durumu bildirin. Ve lütfen bu girdiyi ulaştırabildiğiniz kadar insana ulaştırın, dağıtın! Böylece insanlar bu konu hakkında bilinçlenecek ve bu açık daha hızlı bir sürede kapanacabilecek..

Önemli Notlar:

Yayınlanan kod ile yapacaklarınız tamamen sizin sorumluluğunuzdadır. Yayınlanan kod sadece eğitim amaçlıdır ve böyle bir şeyin yapılabileceğini göstermek için yazılmıştır.





UEKAE Dergisi Yayınlandı!

16 11 2009

Uzun bir çalışmadan sonra UEKAE dergisi hayata geçmiş bulunmakta. UEKAE Dergisi Kurulu’na ve dergi için emekte bulunan herkese teşekkürlerimi sunuyorum. Dergiyi büyük bir keyifle okuduğumu belirtmek isterim. Gerçekten yazılanların hepsi ilgi çekici ve okuması bir o kadar zevkli. Dergi’yi http://dergi.uekae.tubitak.gov.tr/ adresinden online olarak okuyabilirsiniz.
Uluslararası Savunma Sanayi Fuarı IDEF2009 İstanbul'da Yapıldı

Değerli Okurlar,

Uzun süredir hayalini kurduğumuz UEKAE Dergisi’nin bir yılı aşkın süren titiz ve özverili bir çalışma sonucunda hazırladığımız ilk sayısını sizlerle paylaşmaktan büyük heyecan, sevinç ve gurur duyuyoruz.

Dergimiz, kuruluş tarihi 60′lı yıllara uzanan UEKAE’nin, Ulusal Elektronik ve Kriptoloji Araştırma Enstitümüzün, temel uzmanlık alanları olan bilgi güvenliği, haberleşme ve ileri elektronik alanlardaki bilgi ve deneyimini siz okurlarımızla buluşturmayı amaçlıyor. Bir diğer hedefimiz de UEKAE dergisi ile ülkemizde bu uzmanlık alanlarında güvenilir Türkçe kaynak oluşturmak.

UEKAE Dergisi’nin her sayısında sizlerle uzmanlık alanlarımızdaki konulardan oluşan yazı dizileri ile karşınıza çıkıyor olacağız. Ayrıca, her sayının kapak konusunu ayrıntılı bir biçimde ele alarak sizlere konuyu farklı yönleri ile değerlendirme fırsatı sunmayı planlıyoruz. Enstitümüz uzmanlarının ve araştırmacılarının gerek akademik, gerek profesyonel çalışmalarını yansıtan makaleler bölümünün de son derece faydalı olacağı inancındayız. Başarı öyküsü bölümünde ise, kendilerini her zaman saygı ile andığımız, hem endüstri, hem akademi hem de Enstitümüz için önemli hizmetleri bulunan kişileri tanıtma imkanı bulacağız. Ayruca dergimizde UEKAE ile ilgili haberleri ve ürünlerimize dair bilgileri de aktarıyor olacağız.

Dergimizin ülkemiz için kalıcı bir bilgi kaynağı olması ümidiyle çalışmalarımızı sürdürürken, siz değerli okurlarımıza keyifli okumalar ve esenlikler diliyoruz.

UEKAE Dergisi Yayın Kurulu


İçindekiler:

Onur Yazısı – Nüket YETİŞ

Başlarken – Mehmet Önder YETİŞ

TÜBİTAK UEKAE’nin Başarı Yolculuğu - Sermet SÜER, Eniş TÜYENİ, Çağrı KOÇ

Kapak Konusu:

Kriptoloji Tarihi – Mustafa Ümit ÇEŞMECİ

Günümizde Kriptoloji – Uğur Kaşif BOYACI

Kuantum Bilgi Güvenliğine Doğru – Şeref KALEM

Yazı Dizileri:

Elektronik İmza: Genel Bir Bakış - Ersin GÜLAÇTI

Kriptografik Cihazlar: Milli Kriptolu Cep Telefonu – Gökhan VICIL, İmran ERGÜLER

Akıllı Kartlar ve Uygulamaları: Akıllı Kart Nedir? – Mustafa Başak

Pardus: Pardus ve Kriptografi – A. Murat EREN

Elektronik Harp: Tanıtımı Kapsamı ve Türkiye İçin Önemi – S. Gökhun TANYER, M. Alper KUTAY, D. İlhan TÜFEKÇİ

Kurumsal Yönetim: Kurumsal Yönetim Sistemlerine Giriş – Suha ERSİN

Herkes İçin Proje Yönetimi: Proje Yönetimine Başlarken – Hayal ŞENYURT

Makaleler:

Dengeli Uzay-Zaman Blok Kod Seçimi İçin Bir Bit Hata Olasılığı Çözümlemesi - Selami ŞAHİN

Rasgelelik (Rastlantısallık) Kavramına Genel Bir Bakış – C. Nezih GEÇKİNLİ

Radar Antenleri – I: Yarıklı Dalga Kılavuzu Antenleri – Bahattin TÜRETKEN, Lale ALATAN, Feyzullah YAYIL

Başarı Öyküsü:

Prof. Dr. Yılmaz TOKAD – Aydın KUBİLAY

Serbest Kürsü:

İşleyen Dil Işıldar: Hatice Nur YANANLI





ÖSS 2009

12 08 2009

Uzun bir aranın ardından yeniden yazma fırsatı buldum. Umuyorum ki bundan sonra daha sık yazacağım :)

Yorucu bir hazırlıktan sonra her gencin ortak kaderi ÖSS’ye girdim. Son 5 ay modemimi kaldırıp internet bağlantısını kapattım. Malum, evde internet olduğunda e-postalarımı ve rss feedlerimi okumadan duramıyordum :) İyi de oldu, rahat rahat hazırlanma fırsatı buldum.

Artık Pardus ve Özgür Yazılım ile daha çok ilgilenebileceğim. En çok buna seviniyorum :)

Türkiye’de Dil puanıyla 858. olmakla beraber Bilgi Üniversitesi’nin İngilizce Öğretmenliği bölümüne burslu olarak yerleştim. Artık ~4 senemi burada geçireceğim. Bununla beraber Computer Science bölüm başkanı olan Chris Stephenson ile tanışmayı dört gözle bekliyorum. Kendisinin 17 yaşında IBM’de çalıştığı rivayet ediliyor.

Her ne kadar bölüm olarak alakasız bir yerde okusam da, computer science derslerine zamanım oldukç girmeyi ve hocalarından mümkün olduğunca fazla yardım almayı planlıyorum. Bu yüzden Bilgi Üniversitesi çok iyi bir tercih oldu. Derslere girme konusunda herhangi bir sıkıntı mevcut değil :)

Şimdilik bu kadar efem. Umarım ÖSS’ye giren herkesin sonucu benim gibi sevindirici olur. Kendinize iyi bakın.





Hızlı Okuma?

19 02 2009

Uzun zamandır blogumu ziyaret etmediğimi fark ettim. Malum, dersanedir, okuldur, çalışmalardır, pek fazla zaman kalmıyor :) Bunun bitmesine yaklaşık 4 ay kaldı, sınav vakti gelip-geçtikten sonra eskisi gibi blog yazacağımı umuyorum.

Son zamanlarda hızlı okuma tekniklerine merak salmış durumdayım. Birkaç gün önce farkettim ki günde okuduğum RSS beslemelerinin ve e-postaların haddi hesabı yok. Daha fazla bilgiyi, daha az zamanda, daha çok anlayarak okumak bir zorunluluk haline geldi.

Araştırdığım kadarıyla ilkokuldan sonra hızlı okuma tekniği konusunda bize hiçbir şey öğretilmemiş. Hatta bilirsiniz ki okumaya yeni başlarken içimizden tekrar ederek okuruz ve bu biz farkında olmasak da hayatımız boyunca sürüp gider. İşte bu noktada okuma hızımız ciddi anlamda yavaşlıyor. Bir yazı okuduğumuzda önce içimizden seslendiriyoruz ve sonrasında beynimiz devreye giriyor. Halbuki beynimiz, seslendirerek okumamızdan 1.000 kat daha hızlı.

Hızlı okuma tekniğinde ise bunu aşmak için yollar öğretiliyor imiş. Göz ile beyin uyumluluğunu geliştirip, gözün direkt olarak beyin ile iletişime geçmesi sağlanıyor ve böylece okuma hızı arttırılıyor. Aynı zamanda göz kasları geliştiriliyor ve kelime kelime okumak yerine, 3-4 kelimeyi aynı anda okuyup anlayabiliyorsunuz. 15 saatlik bir çalışma ile okuma hızının 2-3 katına çıkarılabildiği söyleniyor. Tabi bunları söyleyenler bu işin eğitimini verenler.

Açıkcası eğitim almak istemiyorum. Araştırdığım yerlerin çoğu bunların kendi başımıza öğrenilebildiğini ve çalıştıktan sonra okuma hızımızı arttırabileceğimizi söylüyor. İşte bu noktada sizlere danışayım dedim. Şu anda 190 – 220 kelime/dakika okuyorum ortalama olarak. Dakikada 1452 kelime okuyan Mersin’li bir öğrenciyi duyduğumda gerçekten şaşırdım ve kendi kendime sordum “biz neden yapamayalım?” Şu anda hedefim dakikada 800 kelime ve %96 anlama oranı. 1.000 üzerine çıkmak için kasmayı düşünmüyorum, bana yetecek kadar hızlı okuduğumda daha fazla uğraşmayacağım.

Siz ne düşünüyorsunuz? Ne kadarlık bir zamanda bu başarılabilir ve yararı görülür? Aranızda hızlı okuma tekniğini bilen ve hızlı okumayı öğrenmek isteyenlere öneride bulunmak isteyen (kitap, alıştırma vs.) var mı? Daha önce bu tekniği öğrenirken karşılaştığı zorluklar nelerdir ve neler önerirsiniz?

Umarım görüşlerinizi esirgemezsiniz :) Herkese şimdiden teşekkürler!





Python USB Travel Cable

14 08 2008

Yaklaşık 5 ay önce GHOP‘e katılmam ile beraber özellikle Python ve Python ile yazılan modüllere katkıda bulundum, bunların arasında pydigg python modülünün testleri, PyOpenGL ile örnekler oluşturma, dökümantasyon, Python standart kütüphanelerinin testleri gibi birçok şey mevcut idi. Yarışma sonuçlandı, her ne kadar büyük ödülü alamasam da Google Mountain View’dan kargolanan 3 adet sticker, 1 adet t-shirt ve cüzi bir miktar para beni sevindirdi.

Şimdi ise çok küçük ama morali en üst düzeye çıkaran birşey elime ulaştı. USB Mini Travel Cable. Kutusunun üzerinde “Thank you from Python!” yazmakla beraber, aletin üzerinde python logosu ve bir de “thanks” yazısı mevcut. Yanımda sürekli taşıyabileceğim ve beni mutlu edebilecek birşey. Bunu göndermelerin sebebi ise GHOP kapsamında Python standart kütüphanesi olan “xmlrpc”nin testlerini %56 gibi bir orandan %95′e yükseltmem. Günlerde üzerinde uğraştığınız kodun python svn deposuna commit edilmesi ve 5 ay gibi bir aradan sonra böyle bir hediye almak gerçekten sevindirici.

http://img137.imageshack.us/img137/6356/photo0006uc0.jpg

Siz de Python’a çeşitli yollar ile katkıda bulunabilirsiniz. Bunun için python wiki bağlantısını ziyaret edebilirsiniz. Özellikle GSoC ve GHOP gibi fırsatları kaçırmamanızı öneririm. Eğer henüz üniversiteye girmemişseniz ve hâlâ lise öğrencisiyseniz, buraya tıklayarak daha geniş bilgi alabilirsiniz. Eğer üniversite öğrencisiyseniz, sizi şöyle alalım :)

Teşekkürler Google, teşekkürler Python!





GCC Parametrelerini Tanıyalım

19 06 2008

Türkçe çevirisi olmadığı için gönderemiyorum maalesef. GCC ile haşır-neşir olanlar ama parametrelerinin ne işe yaradığını tam olarak bilmeyenler için güzel bir döküman.

gcc (GNU C Compiler) is actually a collection of frontend tools that does compilation, assembly, and linking. The goal is to produce a ready-to-run executable in a format acceptable to the OS. For Linux, this is ELF (Executable and Linking Format) on x86 (32-bit and 64-bit). But do you know what some of the gcc parameters can do for you? If you’re looking for ways to optimize the resulted binary, prepare for a debugging session, or simply observe the steps gcc takes to turn your source code into an executable, getting familiar with these parameters is a must. So, please read on.

http://www.onlamp.com/pub/a/onlamp/2007/04/03/getting-familiar-with-gcc-parameters.html





Mysql-query-browser şimdi kullanılabilir.

26 05 2008

Geçen sene sürümü yükseltildiğinden beri çalışmayan mysql-query-browser‘ın problemi [0] giderildi. 1 seneden sonra ancak hatırlayıp uğraşabildim. En azından hata 25 yıl beklemedi [1] :P Yarın contrib-2007 deposundan gtkhtml3 ve mysql-query-browser güncellediğiniz zaman rahat rahat kullanabileceksiniz. 1 yıl içerisinde verdiğimiz rahatsızlıktan dolayı özür dileriz :) Aşağıda nasıl göründüğüne bakabilirsiniz, PhpMyAdmin’den oldukça kullanışlı.

[0] http://bugs.pardus.org.tr/show_bug.cgi?id=5690

[1] http://news.zdnet.com/2424-1009_22-201110.html

//img129.imageshack.us/img129/6388/mysql1yh8.png” cannot be displayed, because it contains errors.

http://img501.imageshack.us/img501/3482/mysqluz1.png





Ubuntu Developer Summit’de Pardus

22 05 2008

Blog girdisi yazmayalı çok uzun zaman olmuş, ama bu sefer seveceğiniz bir haber var. Başlığından da anlayacağınız gibi Pardus Ubuntu Developer Summit’de konuşulmuş durumda. #pardus-devel kanalında 17:30 sularında Martin Böhm (mhb) şöyle bir soru ile geldi;

<mhb> I am Martin Böhm, a Kubuntu guy, and I’m at the Ubuntu Developer Summit right now. We’ve been discussing configuration tools, and we’ve been wondering what Pardus’ plans is, when it comes to KDE4.
<mhb> Are you planning to port your configuration tools to KDE4 any time soon?

Devamında Pardus araçlarının Qt4′e port edilip edilmeyeceğini, edilecekse de bunun ne kadar yakın olacağını sordu. Cevap olarak Pardus’un KDE4′ün son kullanıcı için yeterince hazır olmadığını, Pardus KDE4′ü öntanımlı masaüstü olarak sunmadıkça araçların Qt4′e port edilmeyeceğini söyledim. Ayrıca Pardus 2008′de KDE 3.5.9 olacağını belirttim.

Ardından Kubuntu için tam zamanlı çalışan Jonathan Riddell (Ridddell) konuşmaya katıldı. Martin Böhm ile beraber COMAR ve PiSi hakkında uzun uzun konuştuk. Aynı zamanda 2008′de yer alan PolicyKit / DBus entegrasyonu konusunda etkilenmiş göründüler.

<Eren> Riddell: mhb, hi again
<Riddell> hi
<mhb> Eren: I was wondering about some mechanisms that you use in Pardus, that surprised me when I ran it
<mhb> Eren: when I click in the installation on the “admin privileges” box, I can work as root with that user – does it mean you put him in the wheel group?
<Eren> mhb: there is no longer a wheel group on Pardus 2008
<Eren> it uses PolicyKit for user privileges
<mhb> ah
<Eren> mhb: btw, did you watch the video?
<mhb> no, which one_
<Eren> user-manager uses PolicyKit for authentication
<Eren> the video is quite old, when there was no policykit-kde. It calls pk-gnome auth wizard :P
<Riddell> Eren: does that mean you have some pykde code for policykit?
<Eren> Gokcen Eraslan (Pardus Developer) wrote PolicyKit-KDE
<Eren> and Bahadır Kandemir develops python bindings for PolicyKit
<Eren> Bahadır will develop this with one of the RedHat developers, python bindings will be included in policykit tarball :)
<Eren> as far as I know, a guy from KDE committed PolicyKit-KDE to his playground directory on KDE SVN
<Eren> mhb: http://cekirdek.pardus.org.tr/~bahadir/files/comar-pk.mpeg

<mhb> thank you fro the links

<mhb> the video looks nice

Sonrasında anladık ki gelecek olan Kubuntu sürümünde kullanılmak üzerede bir Kubuntu geliştiricisi Pardus araçlarını kullanmayı önermiş ve bu yüzden Pardus araçlarının Qt4′e port edilmesinin ne zaman olacağını soruyorlarmış :)

<Eren> Riddell: and you’re from KDE?
<mhb> he’s the Kubuntu main man, and he’s doing KDE as well
<mhb> he works on Kubuntu full time, other people (like me) do it in our spare time
<Eren> hm, so you’re like me :)
<mhb> yes, I’d say so
<igungor> mhb: and you think that the configurations tools you have will be ported to KDE4 or not?
<mhb> well
<mhb> that’s what we were discussing today
<mhb> one of our developer suggests that we adopt your configuration tools
<mhb> but our next release is going to be KDE4

<mhb> (with some KDE3 apps)
<mhb> so the configuration tools have to be KDE4, too, so they can be integrated inside systemsettings

Gördüğünüz gibi Pardus Ubuntu Developer Summit’de tartışılır olmuş. Eee.. boşuna demiyorlar “Aşkla Geliyoruz!” diye ;))





ClamAV Sohbetleri

14 04 2008

Bir güvenlik açığı kapatılmaya çalışılıyordur. Advisory’de yeni sürümünde bu açık giderilecektir yazmaktadır. 3 saat sonra release gelir, ClamAV web sayfasında release için “stable” yazmaktadır ancak denendiğinde API/ABI kırdığı görülür. Bundan dolayı Klamav derlenmez ve çalışmaz. Irc kanallarına gidilir ve bu açık için patch istenir, bir geliştiriciden “bunu şimdi söyleyemem” yanıtı alınır. Ancak gariptir ki 0.93 sürümünde giderildiği belirtilmiştir ve açığı kapatan kod oradadır. Bir başka kişi de yakında SVN’e commit edileceğini söyler ve şöyle bir diyalog gelişir;

[21:11] <Eren> well, I think it’s a common of you that you make changes and release tarball, then commit these changes to svn?
[21:11] <edwi1> Eren: yes
[21:12] <Eren> ?!





MacBook AirCraft

28 01 2008

Eğer Apple MacBook Air’e cd-rom, floopy, iPod Shuffle, 3 USB Portu, Ethernet ve Firewire eklerse ne olur?

Herhalde böyle bir şey olur;

MacBook Aircraft