06 Haziran 2016

CTF (Capture The Flag) Nedir?

Capture The Flag yarışması (CTF) siber güvenlik alanında düzenlenen eğitim amaçlı yarışmalardır. Katılımcılar genelde güvenlik uzmanları, hackerlar veya öğrencilerden oluşur. Yarışma genelde gruplar halinede yapılır.
Yarışmaların düzenlenme amacı teorik bilgiye sahip katılımcıların bilgilerini pratiğe dökme imkanı tanımaktır. Kullanılan sistemlerde günlük hayatta karşılaşılan güvenlik açıklıkları yerleştirilmiş olup, katılımcılar bu konuda tecrübe kazanmış olur ayrıca saldırgan bakış açısı kazanmak açısından da çok fayda sağlar. Yarışmacıların belirlenen süre boyunca hedef sistemleri ele geçirmeye çalışmak veya gizlenen dosyaları bulmaya çalışmak gibi amaçları vardır ( bayrağı yakalamaya çalışırlar). CTF yarışmalarında Jeopardy ve Attack-Defense şeklinde 2 farklı tür vardır.

Jeopardy : Verilen güvenlik soruları çözülürek bayraklar yakalanmaya çalışılır. Genellikle her bir adım birbiriyle bağlantılı şekildedir. Yani bir seviye çözüldüğünde ikinci seviye açılmış olur, çözmeden diğerine geçilemez.

Attack-Defense : Bu türde ise gruplar rakiplerinin sistemini ele geçirmeye çalışırken kendi sistemlerini de savunmak durumundadırlar.

CTF yarışmaları genellikle güvenlik konferans veya etkinlikleri kapsamında düzenlenir. Ayrıca online olarak düzenleyen web siteleri de vardır. Başlıca kategoriler :
  • web
  • kriptografi
  • forensics,
  • network
  • exploiting
  • reversing
  • steganography (bilgi gizleme)
  • binary analiz
  • mobil
gibi alanlarından oluşan sorular veya zorluklar bulunur. Yarışmacılardan beklenen nitelikler açıklık bulma, exploit geliştirme, toolkit geliştirme ve grup çalışması yetenekleridir. Başarılı olabilmek için grup üyelerinin bu alanlardan en az birinde, ideal olarak hepsinde uzman olması gereklidir. Yarışma içeriği genelde aşağıdakileri içerir :

  • Bilgi toplama
  • Port tarama ve IPS atlatma
  • Network analizi ve network saldırıları
  • Kablosuz ağlara sızmak, WPA/WPA-2 kırılması
  • Paket analizi
  • TCP/IP düzeyinde saldırılar
  • Brute force, Parola saldırıları, wordlistler
  • Dns saldırıları
  • Zafiyet tespiti (Vulnerability Discovery)
  • Exploit geliştirme ve kullanma
  • Süreç içerisinde ihtiyaç duyulan toolkit'lerin geliştirilmesi
  • Güvenlik duvarı, IDS, IPS, WAF gibi sistemleri aşmak
Belirli tarihlerde düzenlenen bazı CTF yarışmaları :
  • PicoCTF ve PlaidCTF  CMU tarafından düzenlenir
  • HSCTF lise öğrencileri için düzenlenir
  • Ghost in the Shellcode (GitS)
  • CSAW CTF , NYU-Poly tarafından düzenlenir
  • UCSB iCTF
  • Defcon CTF
Geçmişte düzenlenen bazı CTF yarışmalarından örnekler (Hack.lu 2013 ve 2014):
Ayrıca CTF Time sayfasında düzenlenen tüm CTF'lerle ilgili bilgiler arşivlenir, gelecek yarışmalarla ilgili ayrıntılara ulaşılabilir. CapCTF calendar üzerinde de yakın tarihlerde düzenlenecek yarışmalar incelenebilir.


CTF yarışmalarına hazırlanırken eski yarışmaları incelemek, soruları çözmek ve benzer mantıkla hazırlanmış uygulamalarda pratik yapmak gerekir. Eski yarışmaları inceleyebileceğimiz platformardan birisi yukarıda bahsedildiği gibi  CTF Time sayfasıdır.

Ayrıca yarışmayı düzenleyenler veya yarışmacılar tarafından yazılan çözüm yolları (Walkthrought – write up) takip edilebilir. Ctf.rip  ve  Lse.epita.fr sayfaları bunun güzel örnekleridir. Önemli arşivlerden biriside seneler halinde oluşturulmuş Github Write-ups'dır.

Pratik için hazırlanan ortamlar veya uygulamarda CTF'e benzemektedir, ancak tek bir tarihte değildir, sürekli devam eder. Bu türlere Wargame ismi verilmektedir. Bu tarz pratik ortamlarına örnek olarak :
sayfaları sayılabilir. Ayrıca yakın zamanda Facebook tarafından senelik düzenlenen CTF ortamının artık open-source olarak dağıtıldığı duyurulmuştur. Bilindiği gibi Facebook 2013 yılından beri öğrenciler için CTF yarışmaları düzenliyor. Yarışma ortamı için gerekli dosyalara github üzerinde erişebilir istediğiniz gibi CTF yarışması organize edebilirsiniz : https://github.com/facebook/fbctf

Bu makale İstanbul Teknik Üniversitesi Bilgisayar Mühendisliği Bölümü öğrencisi stajyerimiz Cemal Türkoğlu tarafından geliştirilmiştir.

BTRİSK Bilgi Güvenliği ve BT Yönetişim Hizmetleri şirketi personeli tarafından geliştirilen Pentest (Sızma Testi), ISO27001, BT Denetimi ve bilgi güvenliği hakkında herşeyi bulabileceğiniz blog'dur.