Perşembe, Kasım 01, 2007

OpenBSD 4.2

OpenBSD 4.2 bugün yayınlandı. Daha güncel donanım desteğine sahip 4.2'nin bana göre en önemli özelliği paket filtreleme ve ağ katmanında gerçekleşen performans artışları. En güvenli işletim sistemi için ön sipariş verenler CD'lerine birkaç hafta önce kavuşmuşlardı. OpenBSD ve OpenSSH projeleri tamamen kullanıcıların desteği ile ayakta durduğu için bağışlar ve CD / t-shirt siparişleri önem taşıyor.

Hoşçakal Samuray

Referans IPv6 kodu olan KAME projesinde aktif olarak görev alan, ve özellikle IPv6 olmak üzere tüm BSD tabanlı özgür işletim sistemlerine, katkıda bulunan Jun-ichiro “itojun” Itoh Hagino 29 Ekim'de aramızdan ayrıldı. Hayatını Samuray felsefesi ile onurlu, dürüst, nazik ve cesur yaşadı. Bıraktığı boşluğu doldurmak hiç de kolay olmayacak.

Cumartesi, Eylül 08, 2007

OpenBSD 4.2 ön siparişleri


1 Kasım'da çıkacak OpenBSD 4.2 için ön siparişler başladı. En sevdiğiniz işletim sistemini desteklemek ve CD'lere herkesten önce kavuşmak için iyi bir fırsat :)

4.2 ile gelen yeniliklerden bazılarını sıralamak gerekirse ...

  • Platform desteği: sparc64, hppa ve alpha platformlarında daha çok donanım desteği önemli iyileştirmeler var. Çeşitli teknik problemler nedeniyle sgi platformu ise bu sürümde yer almıyor.
  • Daha çok ve gelişmiş donanım desteği: Yeni SATA sürücüleri, 10Gb Ethernet sürücüleri, Daha çok donanım sensörü. Daha çok İşlemci için işlemci hızı ayarlama desteği
  • Ağ ve trafik filtreleme (pf) performansında önemli artışlar.
  • FFS2 dosya sistemi desteği.
  • CARP için IP yük dengeleme özelliği.
  • Donanım sensörleri için gelişmiş izleme özellikleri.
  • ...
Henüz 4.2 tema müziği açıklanmadı. Yayınlanana kadar bu sayfadan önceki sürümlerin müzik ve sözlerine ulaşabilirsiniz.

Çarşamba, Eylül 05, 2007

Sandık Sonuçları, 3. bölüm

Önceki bölümde koordinatları olan bir metin dizisi haline getirdiğim sandık sonuç formlarını işlemek için yazdığım C programına bu linklerden erişebilirsiniz: [C] [HTML].

Bu programın açık ve erişilebilir olması, yaptığım analizlerin güvenilirliği açısından büyük önem taşıyor.

Programın nasıl çalıştığını kısaca özetlemek gerekirse, öncelikle tüm metni satırlara bölüyorum. Y koordinat aralığı çakışan tüm kelimeler aynı satırda olacak şekilde. Ardından, sandık sonuçlarının başladığı (başlık satırı) ve bittiği (toplam ve genel toplam satırları) satırları tespit edip, bu aralıktaki tüm satırları benzer bir algoritma ile kolonlara bölüyorum. Satır ve kolon kesişimlerinden tablo hücrelerini oluşturuyorum. Son olarak tüm sayfalardaki toplamı ve en sondaki genel toplamı bu hücrelerdeki değerleri kullanarak hesaplayıp doğruluğunu kontrol ettikten sonra sonucu bir metin dosyasına yazdırıyorum.

Diğer detayları ve sonuçları bir sonraki yazıda inceleyeceğim.

Program OpenBSD altında derlenmektedir. Diğer işletim sistemlerinde derlemek için ağaç ve liste başlık dosyalarına ihtiyaç duyabilirsiniz.

Salı, Eylül 04, 2007

Sandık Sonuçları, 2. bölüm

Önceki bir yazımda YSK'nın yayınladığı sandık sonuçlarının analiz edilmesi zor bir PDF rapor formatında yayınlandığından bahsetmiştim. Bu PDF dokümanları bilgisayarda işlenebilir hale getirmek için yaptığım çalışmayı ise burada anlatacağım.

Öncelikle PDF dokümanları metin formatına çevirmek için bir yazılım arayışına girdim. Bir PDF dokümanı içerisinde metinler okunuş sırasına göre değil, rastgele dağnık olarak bulunabilirler. Her metin "nesnesi" koordinatları ve yönü ile birlikte saklandığı için örneğin her kelime hatta her harf dosya içerisinde farklı bir dizilişte bulunabilir. Bu nedenle, tabloları düz metne çevirmeye çalıştığınızda ortaya bir harf çorbsı çıkabilir.

Denediğim yazılımlardan birincisi xpdf paketi içerisindeki pdftotext programı oldu. Ancak elde ettiğim sonuç pek başarılı değildi...

pdftotext -enc UTF-8 yenimahalle1-P.pdf
298/108 Kanun M;2839/32,Geçici 5.

MİLLETVEKİLİ SEÇİMİNDE İLÇE SEÇİM KURULLARINCA DÜZENLENECEK SİYASİ PARTİLERİN VE BAĞIMSIZ ADAYLARIN ALDIKLARI OYLARIN SAYISINI GÖSTEREN BİRLEŞTİRME TUTANAĞI
SİYASİ PARTİ/BAĞIMSIZ ADAY GÖZLEMCİLERİ Partinin Adı CHP SP MHP Gözlemcileri Soyadı TOKER ÖZTÜRK TÜRKEL ÜNSAL EROL ALİ İHSAN Adı SİYASİ PARTİ/BAĞIMSIZ ADAY GÖZLEMCİLERİ Partinin Adı Gözlemcileri Soyadı Adı SİYASİ PARTİ/BAĞIMSIZ ADAY GÖZLEMCİLERİ Partinin Adı Gözlemcileri Soyadı Adı
...
...
Tüm içerik mevcut olmasına rağmen bunları ayırmak ve hatasız olarak bir tablo haline getirmek mümkün değil.

Denediğim ikinci yazılım bir perl modülü olan CAM::PDF oldu. Bu paketin içerisindeki örnek betiklerden olan renderpdf.pl bana değişik ama kullanılabilir bir çıktı üretti:

renderpdf.pl yenimahalle1-P.pdf 1
( 0.00, 595.00) ( 0.00, 595.00)
( 139.43, 563.76) ( 139.43, 563.76) MİLLETVEKİLİ SEÇİMİNDE İLÇE SEÇİM KURULLARINCA DÜZENLENECEK SİYASİ PARTİLERİN VE BAĞIMSIZ ADAYLARIN ALDIKLARI
( 298.72, 552.91) ( 298.72, 552.91) OYLARIN SAYISINI GÖSTEREN BİRLEŞTİRME TUTANAĞI
( 30.00, 569.27) ( 30.00, 569.27) 298/108
( 30.00, 561.87) ( 30.00, 561.87) Kanun M;2839/32,Geçici 5.
( 784.00, 568.27) ( 784.00, 568.27) Örnek 90
( 33.33, 409.98) ( 33.33, 409.98) KÖY VE MAHALLE
( 50.83, 403.73) ( 50.83, 403.73) ADI
( 90.40, 379.74) ( 104.74, 344.60) Sandık Kurulu Numaraları
( 108.40, 358.20) ( 101.20, 344.60) Seçmen Listesinde Yazılı Seçmenlerin Sayısı
( 126.40, 372.65) ( 133.65, 344.60) Oy Kullanan Seçmenlerin Sayısı
( 141.52, 366.96) ( 145.96, 347.48) İtiraz Edilmeksizin Geçerli Sayılan Oy
( 147.77, 386.27) ( 165.27, 341.23) Pusulalarının Sayısı
( 159.52, 366.96) ( 163.96, 347.48) İtiraz Edilen Fakat Geçerli Sayılan Oy
( 165.77, 386.27) ( 183.27, 341.23) Pusulalarının Sayısı
( 180.40, 371.68) ( 186.68, 344.60) Geçerli Oy Pusulalarının Toplamı
( 480.82, 454.22) ( 480.82, 454.22) SİYASİ PARTİLER
( 192.31, 537.22) ( 192.31, 537.22) SİYASİ PARTİ/BAĞIMSIZ ADAY GÖZLEMCİLERİ
( 183.49, 522.22) ( 183.49, 522.22) Partinin Adı
( 282.50, 527.22) ( 282.50, 527.22) Gözlemcileri
( 259.66, 517.22) ( 259.66, 517.22) Soyadı
Her metin bloğu koordinatları ile birlikte verildiğinde, tabloyu yeniden oluşturmak için tahminlerde bulunmak gerekmeyecekti. Tek sorun, bu betiğin çok yavaş çalışması ve çok bellek tüketmesiydi. Bu nedenle çareyi pdftotext programına benzer bir çıktı üretecek bir yama yapmakta buldum. Bu yama pdftotext programına -dump anahtarı ekleyerek her metin nesnesini koordinatları ile yazdırmayı sağlamaktadır. Bu sayede pdftotext ile metin koordinatlarını almak mümkün oldu:
pdftotext -enc UTF-8 -raw -dump yenimahalle1-P.pdf
139 25 199 33 MİLLETVEKİLİ
201 25 251 33 SEÇİMİNDE
254 25 274 33 İLÇE
276 25 305 33 SEÇİM
307 25 377 33 KURULLARINCA
379 25 452 33 DÜZENLENECEK
455 25 484 33 SİYASİ
487 25 540 33 PARTİLERİN
542 25 554 33 VE
557 25 600 33 BAĞIMSIZ
602 25 653 33 ADAYLARIN
656 25 702 33 ALDIKLARI
299 36 338 44 OYLARIN
341 36 379 44 SAYISINI
381 36 432 44 GÖSTEREN
434 36 494 44 BİRLEŞTİRME
497 36 542 44 TUTANAĞI
30 21 52 27 298/108
30 29 47 34 Kanun
49 29 96 34 M;2839/32,Geçici
Dikkat ederseniz, xpdf metin bloklarını da bölerek her kelime için ayrı bir çıktı oluşturuyor. Bu sonraki işlemleri biraz güçleştirse de hız avantajı ve her kelimeyi çevreleyen kutuyu doğru olarak hesaplaması büyük fayda sağladı.

Bu çıktıyı işleyerek tablo haline getirmek amacıyla yazdığım programı da bir sonraki bölümde anlatacağım.

Pazartesi, Ağustos 27, 2007

Seçim Süreci


25 Ağustos Cumartesi Günü Cumhuriyet gazetesinde Ali Sirmen'in köşe yazısı dikkatimi çekti. Seçim elektronik olarak toplanan seçim sonuçları hakkındaki şüpheler ile ilgili endişe uyandıran bir yazı. Bu yazıdan bir alıntı:

Bir noktayı belirteyim: Bazı bölgelerde kimi sandık sonuçları ile bunların bilgisayara geçirilmeleri arasında farklılıklar olduğu belgelenmişse bile bunlar iddialardır, henüz ortada kesin kanıtlar mevcut değildir. Ama YSK'nin, sonuçların açıklanması konusundaki talepler karşısında başlangıçta çekingen davranmış olması hoş bir görüntü yaratmamıştır.

YSK'nin hemen bütün başvurulara yanıt vermesi; iddiaları, ikna edici biçimde belgeleriyle yanıtlaması; kuşkuları ortadan kaldıracak teknik incelemelerin yapılmasını sağlaması; kısacası seçim sonuçlarını gerekiyorsa, bir kez daha, bu defa elle sayımla, gözden geçirmesi şarttır.

Aynı sayfada "Seçimde şaibe tartışması" başlığı altında YSK Başkanı Muammer Aydın'ın seçim sistemi ile ilgili soruları cevaplandırdığı bir paragraf da bulunmakta:

Muammer Aydın, oyların elektronik ortamda sayılmasının sabote ihtimalini güçlendirdiği görüşünü ise şöyle değerlendirdi: "Bu iddiaları ortaya atanlar bizim sistemimizin nasıl çalıştığını bilmiyor. Sandıklar açılıyor, sandık kurulu tutanak tutuyor. İlçeye gönderiliyor, ilçe bunu bilgisayara giriyor. Girdikten sonra hemen bilgisayardan kontrol çıktısı alıyor. Bilgisayar verileriyle, tutanaklar karşılaştırılıyor. Tutanaklar, ilçeden ile geldiğinde bir birleştirme tutanağı düzenleniyor. Bunlar ana merkeze gönderiliyor. Ana merkezde değişmesi de söz konusu olamaz. Burada da tutanaklarla bilgisayar verileri karşılaştırılıp, sonuçlar öyle ilan ediliyor."

Bu tanımdan oyların sandıklarda sayıldıktan sonra tutanakların sandıktan ilçeye, ilçeden ile, ilden de merkeze fiziksel olarak ulaştırıldığı. Sonuçların merkeze gelen kağıt üzerindeki kayıtların merkezde bilgisayar kayıtları ile karşılaştırıldıktan sonra açıklandığı anlaşılıyor.

Yukarıda tarif edilen akışı göz önüne alarak seçim sisteminde sandık sonuçlarının alınmasından YSK sonuçların açıklanmasına kadar geçen süreç üzerinde bir fikir cimnastiği yapmak istedim.

  • Sandıklar açılıyor, sandık kurulu tutanak tutuyor.

Buradaki işlemler bilgisayarsız gerçekleşiyor, bu noktada oluşabilecek değişiklikler konumuz dışında. Bu noktada belirsiz olan noktalar oy pusulalarının akibeti (mühürlenmiş bir torbada merkeze gönderildiklerini varsayıyorum) ve tutanağın bütünlüğünün korunması için alınan önlemler (imzalar, mühür, kilitli kutu, zırhlı araç, silahlı korumalar ...).

  • Tutanak İlçeye gönderiliyor, ilçe bunu bilgisayara giriyor.

Bilişim Güvenliği terimleri kullanıyorum, ancak ilçelerde veriler bilgisayara kaydedilmeden önce sandık tutanağının bütünlüğünün kontrol edilmesi gerekiyor. Bunun sağlıklı yapılması sandık sonuçlarının sağlıklı olarak sisteme iletilmesi için büyük önem taşıyor.

Burası, görebildiğim kadarıyla sandık sonuçlarına yapılacak fiziksel bir değişiklik için uygun bir nokta. Öncelikle bir yoğunluk problemi var. Eğer hesaplarım doğruysa, her ilçeye bağlı ortalama 155 sandık var. Yani her ilçe merkezi en az 7 (Bozcaada, Çanakkale) en çok 701 (Kartal-1, Istanbul) sandık tutanağı ile uğraşmak durumunda. Özellikle çok sayıda sandık sonucunun aynı anda ulaştığı ilçelerde tutanakların imza mühür ve bütünlüğünün yeterince kontrol edilmeme olasılığı göze çarpıyor.

Ayrıca kontrol edilen bir tutanağın bilgisayara girilme aşamasında değiştirilmesi, daha zor gözükse de, sistemi bilen birisi tarafından, önceden hazırlanmış bir veya birden fazla sahte tutanağı değiştirme olasılığı düşünülebilir.

  • Girdikten sonra hemen bilgisayardan kontrol çıktısı alıyor. Bilgisayar verileriyle, tutanaklar karşılaştırılıyor.
Eğer tutanak girişten önce değiştirilmiş ise bu aşamada bir anormallik farkedilmeyecektir.

Operasyonun tanımına göre operatör tarafından yapılan bir maddi hata da kontrol çıktılarından tespit edilebilir. Bu aşamada kötü niyetli bir operatörün yapabileceği değişikliklere karşı alınan önlemler anlatılmamış. En azından verileri giren ve çıktıları kontrol edenlerin farklı kişiler/ekipler olması ve sistemdeki girdi ve sonradan yapılan düzeltmelerin operasyonel kayıtlarının tutulması ve incelenmesi faydalı olacaktır.

İşin içinde bilgisayarlar girdiğinde olasılıklar da bir anda artıyor. Her şeyden önce verilerin bilgisayara girildiği noktadan sonraki teknik detaylar oldukça az. Bilgisayarlar sorgulamadan kendilerine ne söylenirse onu yaparlar. Eğer program bilgisayara "operatörün girdiğini yazıcıdan aynen çıkart, merkeze ise değiştirerek gönder" derse bilgisayarın bu isteği sorgulama şansı yoktur. Böyle bir programın bilgisayara nasıl, kimler tarafından, ne zaman yüklenebileceği, bu tür değişikliklerin kontrol edilip edilmediği, tespit edilip edilemeyeceği, alınan önlemler sistemin tasarımı ve uygulanması sırasında ele alınmış olmalıdır. Tasarım ve uygulama detaylarının incelemeye açık olması da güven sağlanması açısından büyük önem taşımaktadır.

  • Tutanaklar, ilçeden ile geldiğinde bir birleştirme tutanağı düzenleniyor. Bunlar ana merkeze gönderiliyor.
Tutanakların ilçeden ile oradan da merkeze nasıl iletildiği belirtilmemiş. Benim düşüncem, bir yandan kara/hava/deniz yolu ile tutanaklar yavaş yavaş hedefe ilerlerken, bir yandan da ilçelerde bilgisayara giren sonuçlar televizyonları renklendirmekteydi. SEÇSİS yazılımı hakkındaki kısa bilgiler de bu düşünceyi doğrular nitelikte: "... SEÇSİS Projesi dağıtık mimari yapıdan, ilçelerin web tabanlı çevrim-içi (on-line) çalışmasına imkan veren yapıya revize edilmiş ..." Sonuç olarak, seçim sonrası yayınlanan sonuçlar, ilçelerdeki bilgisayarlardan doğrudan merkeze aktarılan verilerden oluşturulmakta.

Bu ek bilgilerin işiğinda uygulamayı biraz daha değerlendirelim:

Web tabanlı bir uygulamadan söz ediyoruz. İlçe merkezlerinden bağlanılan. Varsa UYAP (Yargı Ağı) ağ altyapısını kullanıyor, yoksa ADSL veya benzer yöntemlerle internet üzerinden bağlanıyor. Bir VPN (sanal özel ağ) kullandığı için aslında merkez uygulamaya erişimin internetten izole olarak gerçekleştiği düşünülebilir.

Herşeyden önce, böyle bir merkezi yapıda, tüm ilçelerin ve VPN erişimine sahip herkesin merkez sunuculara erişimi olası gözüküyor. Böyle bir yapı eğer gerekli önlemler alınmamışsa, bir noktadan erişim elde eden bir saldırganın tüm sisteme (merkez, diğer ilçeler, veritabanı) erişim elde etme riskini ortaya çıkartır. Tüm işlemlerin el ile yapıldığı bir durumda tek bir ilçe ile sınırlı kalabilecek bir olay, bilgisayar ağı ve erişimi ile kolaylıkla tüm seçimi etkileyebilecek şekilde büyüyebilir.

Burada olası saldırı noktaları:

İlçedeki bilgisayar üzerine yerleştirilecek bir kötü niyetli yazılım (truva atı vb.)

İlçedeki bilgisayar ağına boş bir ağ ucundan bağlanacak bir saldırgan bilgisayar aracılığı ile veya VPN erişim bilgilerini (örneğin bir ilce bilgisayarlarından) ele geçirerek doğrudan merkez'deki sistemlere erişilmesi.

Kötü niyetli bir teknisyen, operatör veya servis elemanı. Yukarıdaki tarif edilen saldırıları gerçekleştirebilir veya gerçekleştirmek için gerekli bilgileri toplayabilir, erişim bilgilerine ulaşabilir. Binlerce ilçeden sadece bir tanesinde bu tarz bir erişim elde edilmesi yapıya bağlı olarak merkez sistemler aracılığı ile tüm sonuçlara müdahale edilmesine yol açabilir.

  • Ana merkezde değişmesi de söz konusu olamaz.
Aslında, belki de değişim yapmaya en elverişli nokta burası. Yazılımın ve kullanılan sistemlerin kullanıma alınmadan önce bağımsız ekipler tarafından güvenlik testlerinden geçirilip geçirilmediği; Sunucuların yönetimi ve yazılım güncellemeleri ile ilgili politikalar ve bunların ne düzeyde uygulandığı;. Kimlerin hangi düzeylerde ağ, sistem, veritabanı ve uygulama yönetim haklarına sahip oldukları gibi pek çok cevapsız soru bulunmakta. Ayrıca SEÇSİS uygulamasının Mernis ve UYAP dahil başka e-devlet uygulamaları ile bağlantısı olduğu ve VPN ile erişim elde edildiği biliniyor. Bu dış noktalardan gelebilecek erişimlere karşı alınan önlemler de belli değil. Bu kadar belirsizlik ve olası saldırı noktası varken "Ana merkezde değişmesi de söz konusu olamaz." açıklaması, örneğin, bizim yaptığımız otoyollarda kaza olamaz demek kadar inandırıcılıktan uzak.

  • Burada da tutanaklarla bilgisayar verileri karşılaştırılıp, sonuçlar öyle ilan ediliyor.
Kesin sonuçlar 30 Temmuz'da ilan edildi. İlçelerden bilgisayarla gelen ve anında açıklanan sonuçların ardından bu sonuçların tutanaklarla karşılaştırılması sürecinin nasıl geliştiğini, tutarsızlıklar oluşup oluşmadığını, oluştuysa bunların nasıl giderildiği, seçim boyunca oluşan sunucu, uygulama ve güvenlik kayıtlarının incelenip incelenmediği de üzerinde durulması gereken noktalar.

Bu yazıyı yazarken aslında seçim süreci konusunda ne kadar az şey bildiğimi farkettim. Demokrasinin sağlıklı yürümesi için bu sürecin bir kapalı kutu olmaktan çıkartılması gerekli.

Pazar, Ağustos 26, 2007

Sandık Sonuçları

Seçim sonuçları ile ilgili son haftalarda artan şüpheler üzerine
Yüksek Seçim Kurulu 22 Temmuz Genel Seçimi Sandık Sonuçlarını geçtiğimiz hafta açıkladı. Sonuçların açıklanması, demokratik bir seçim sürecinin gerektirdiği saydamlığı sağlamak açısından önemli bir adım, ancak şüpheleri gidermek için bu sonuçların sandık başındaki sonuçlarla karşılaştırılması ve daha derin analizi gerekli.

Yayınlanan sonuçların formatı doğrusu beni hayal kırıklığına uğrattı. Sandıklardan gelen sonuçların ilçeler bazında birleştirme tutanakları. Toplam 1725 adet .PDF dosyası. Ekrandan okumak veya bastırmak için uygun, ancak elektronik ortama aktarmak veya analiz etmek için hiç de elverişli değil. Eğer elinizde belirli birkaç sandığın veya ilçenin sonuçları varsa ve sadece bunları kontrol etmek isterseniz gerekli dokümanları indirip elle karşılaştırabilirsiniz. Ancak çeşitli analizler yapmak hatta sadece oy toplamlarını bir de ben hesaplayım demek verilerin mevcut hali ile mümkün değil.

PDF dosyalarının, hepsini indirdim. toplam dosya boyutu 300 MB. Toplam 12921 sayfa, her doküman ortalama 7.5 sayfa ediyor. Dosyaları indirirken birkaç hata olduğunu da farkettim:

Üç adet dokümanın isimleri hatalı yazılmıştı:
  • Diyarbakir/hani-B1pdf
  • Diyarbakir/hani-B2pdf
  • Izmir/kink-P.pdf

Bunları düzeltince dosyalara erişmek mümkün oldu (ancak yukarıdaki toplamlara dahil değiller). Birtakım dosyalara ise erişmek mümkün olmadı:
  • Erzurum/horasan-B.pdf
  • Erzurum/horasan-P.pdf
  • Giresun/canakci-B.pdf
  • Giresun/canakci-P.pdf
  • Konya/altinekin-B.pdf
  • Konya/altinekin-P.pdf
  • Manisa/koprubasi-B.pdf
  • Manisa/koprubasi-P.pdf

Sonuçta elimde sayfalarca seçim sonucu ile kalıp da turşusunu kuramazdım. PDF dosyaları analiz ederek sonuçları düz metin halinde çıkartacak bir program yazmaya giriştim. İki günümü aldı, ancak yarı zamanlı çalışmanın da avantajları var. Bununla ilgili detayları bir sonraki yazıma bırakıp PDF dosyaları ile ilgili birkaç gözlemimden baksetmek istiyorum:

Dosyaların bir tanesinde Türkçe karakter problemi var. Birkaç dosyada ise rakamlar nokta (.) yerine virgül (,) ile ayrılmış.

Yaratılma tarihleri: PDF içindeki zaman bilgisine bakıldığında dosyalar 8 Ağustos ile 22 Ağustos tarihleri arasında yaratılmış. 14 Ağustos'ta YSK sandık sonuçlarını yayınladığını duyurmuş. 20 Ağustos ve sonrasında yaratılmış beş tane dosya var. Muhtemelen eksikleri tamamlamak veya çeşitli Türkçe karakter veya formatlama problemlerini düzeltmek için

Bu gözlemler sonuçların yayınlanmasın biraz aceleye getirilmiş olduğunu düşündürüyor.

Perşembe, Ağustos 16, 2007

Anti DNS Sabitleme ve Yeniden Bağlama

Anti DNS Sabitleme (Anti DNS pinning) saldırıları hakkında okuyalı uzun zaman olmuştu. Geçen gün beğendiğim güvenlik araştırmacılarından birinin sayfasında DNS yeniden bağlama (DNS rebinding) saldırıları hakkında bir yorum okudum.
Tanımı anti DNS sabitleme saldırısına benziyor, ancak çözüm önerisi ADSL modemlerin DNS ayarlarını değiştirmeye yönelik bir saldırıyı tarifliyordu.

Basit bir arama, bana üç şey gösterdi:
  1. DNS yeniden bağlama aslında anti DNS sabitleme nin daha yeni, daha kullanışlı bir ismi.
  2. Stanford Üniversitesindeki araştırmacılar DNS yeniden bağlama saldırısı konusunda güzel bir çalışma yapmışlar
  3. Bu tip saldırılar henüz fazla duyulmamış veya pek çok kişi üzerinde fazla düşünmemiş. Bazen biz güvenlikçiler yeni bir saldırı veya teknik duyunca, detaylarına fazla dikkat etmeden bir hüküm verebiliyoruz.
Bu nedenle bu yeni saldırı tipinden biraz bahsetmeye karar verdim. DNS sabitleme saldırısı, Web tarayıcılarının aynı kaynak (same origin) politikalarını atlatarak bir kullanıcının web tarayıcısı ile başka sayfaların içeriğine erişmeyi sağlayan bir saldırı.

Normal bir web kullanım senaryosunu düşünelim. Bir web sayfası içerisinde başka sayfalardaki içeriğe link verebilirsiniz. Bu linki bir imaj veya çerçeve (frame, iframe) olarak verdiğinizde, sayfanıza bağlanan web tarayıcıları otomatik olarak diğer sitelere de bağlanarak tüm içeriği kullanıcının önüne sunarlar.

Ancak, sizin sitenize koyacağınız aktif içerik (javascript vb.) aynı kaynak politikası nedeniyle diğer sitelerden getirilen bu içeriğe ulaşamaz. Bunun nedeni, sizin sitenize bağlanmak için kullanılan alan adı ile diğer içeriğin bağlı bulunduğu sitenin farklı alan adlarına sahip olmasıdır.

Ancak, başka sitelerin içeriğine erişmek, özellikle bu siteler özel ağ (intranet, VPN) veya IP kısıtlamalı servisler olduğunda, bır saldırgan için çok çekici olabilir. Bu kapsamda uzun süredir bilinen CSRF (cross site request forgery, çapraz site istek oluşturma) saldırıları körlemesine istekler gönderebilmekte, hatta ADSL modemleri yeniden programlayabilmekte, ancak hassas içeriği saldırgana eriştiremediği için yüksek riskli kabul edilmemekteydi.

Bir saldırı senaryosu düşünelim. Ben www.saldırgan.com sitesinin sahibi olarak bu alan adına istediğim IP adresini verebilirim. yüklenen ilk sayfada bir betik çalıştırıp DNS sunucusunda IP adresini, örneğin 10.0.0.73 olarak değiştirdikten sonra kurbanımın tarayıcısında çalışan betik iç web sunucusuna ait olan bu IP adresinden istediği bilgileri çekip (XMLHttpRequest sağolsun) benim internet siteme post edebilir, hatta HTTPS ile bilgilerin güvenliğini sağlamak bile mümkün olacaktır :)

Web tarayıcıları bu senaryoya karşı DNS pinning (DNS sabitleme) yöntemlerini kullanırlar, Örneğin Internet Explorer öğrendiği bir IP adresini 30 dakika unutmaz, DNS kaydı değişse bile. Ancak bu mekanizmaya karşı geliştirilen saldırılar (anti DNS pinning) birden fazla adres kaydı, ikinci bağlantıyı reddetme gibi tekniklerle bu mekanizmaları bertataf etmeyi başarmaktadır. Bu saldırıların bir özetini, ve Java applet ve Flash kullanılan yeni teknikleri Stanford grubunun makalesinde bulabilirsiniz.

En etkin önlem, DNS önbellek sunucunuzun (cache) dışarıdan gelen cevaplarda iç IP adreslerini engellemesini sağlamak olarak gözüküyor.

Ayrıca, intranet ve kritik servislerde kimlik doğrulaması ve HTTPS kullanmak, Web sunucularına IP adresi ile bağlanıldığında (varsayılan site) hassas içeriğe ulaşılmasını engellemek gibi yöntemler bu saldırıların etkisini azaltacaktır.

Pazartesi, Ağustos 13, 2007

Kaliforniya, elektronik oylama sistemleri ve saydamlık



Seçimler demokrasi sürecinde halkın tercihlerini sunması için vazgeçilmez bir araç. Oyların verilmesi, toplanması, sayılması ve duyurulması aşamalarının hepsinde veya bir kismında bilgisayar sistemlerinin kullanılması ise günümüzde kaçınılmaz bir durum.

Elektronik oylama sistemlerinin tasarımı, kurulumu, yönetimi ve kullanılması ise verilen oyların tamanının doğru bir şekilde değerlendirilmesini etkileyebileceği için büyük önem taşıyor.

Elektronik sistemlerin 'kapalı' doğası ve karmaşıklığı ise oylama süreci hakkında oluşabilecek soru işaretlerinin giderilmesini zorlaştırıyor.

Gectiğimiz aylarda Kaliforniya eyalet yönetimi Amerika'da kullanılan elektronik oylama sistemlerinin güvenlik ve erişilebilirliğini incelemek için bir çalişma gerçekleştirdi. Bu çalışma mevcut yönetimin seçim sırasında bu konuda verdiği sözler nedeniyle gerçekleştirildi.

Kaliforniya Üniversitesi tarafından kaynak kodu, dokümantasyon, erişilebilirlik ve kapalı kutu (red team) olmak üzere dört kategoride gerçekleştirilen incelemelerin raporları ve inceleme sonucunda yönetim tarafından verilen kararları

Bu çalişmanın sonuçları geçtiğimiz haftalarda açıklandı. Bu sonuçları

http://www.sos.ca.gov/elections/elections_vsr.htm

Adresinden incelemek mümkün. Sayfa yeni raporlar ve malzemeler ile sürekli güncelleniyor.

Özellikle red-team ve kaynak kodu inceleme gruplarının raporları ve bulguları metodoloji ve alınan sonuclar çok çarpıcı ve öğretici.

Tüm sistemlerde tespit edilen benzer zafiyetler, elektronik ortamda geçen oylama veya oyları değerlendirme sürecinin alıştığımızdan çok daha farklı tehditlere maruz kalabileceğini gösteriyor. Ayrıca bu sistemlerin incelenmesinin ve tespit edilen zafiyetlerin düzeltilmesinin önemini vurguluyor.

Toplum ve demokrasi açısından kritik bu gibi sistemlerin bilimsel ve tarafsız bir şekilde incelendiği, saydam ve açık bir şekilde tartışılabildiği bu ortamı Oktay Ekşi'nin "Saydamlıktan neden korkuyoruz? başlıklı yazısında (Hürriyet, 11 Ağustos) bahsettiği kendi yaklaşımımızla yan yana koymak istiyorum:

http://hurarsiv.hurriyet.com.tr/goster/haber.aspx?id=7067154&yazarid=1

Saydamlık güvenliğin ve demokrasinin önemli bir parçası, bunu bir alışkanlık haline getirmemiz ve "incelenme korkusundan" kurtulmamız bize çok şey kazandıracak.