Blackhat-Defcon'da Demo Yapmak İsteyenler İçin Deneyimlerim ve Tavsiyelerim
Bildiğiniz üzere Leviathan Framework tool'u ile Blackhat USA 2017 ve Defcon 25'de demo yapmaya hak kazanmıştık. Bu yazıda yaşadığım deneyimleri ve Blackhat ve Defcon'da demo yapmak isteyenler için tavsiyelere yer vereceğim. Bu yazıyı yazmamın sebebi, Türkiye'de bu işi başarabilecek çok fazla sayıda insan olduğu halde çok az kişinin bunları denemesi. Deneyimlerim ve yorumlarım belki bu insanları cesaretlendirir ve önümüzdeki yıllarda bu ortamlarda bolca Türk uzman görebiliriz.
-Not: Burada yer alan tavsiyeler güvenlik alanında iyi derecede bilgiye sahip olan, İngilizce bilen ve yeni bir tool üretmek isteyen insanlara hitap ediyor. Ayrıca aşağıda yer alacak her tavsiye aşırı derecede özneldir.-
Yeni Bir Tool Üretmenin Felsefesi
Yeni bir tool üretmek iyi derecede bilgi ister, fakat bu bilgi seviyesi gerekli olan tek şey değil. Örneğin, siz çok iyi bir programcı olabilirsiniz ve network güvenliği hakkında uzmanlığa yakın bir bilginiz olabilir. Fakat bu, network güvenliği alanında orijinal bir tool üretebileceğiniz anlamına gelmez. Aynı şekilde sizden daha alt seviye biri bütün dünyanın kullanacağı bir tool üretebilir.
Bu konuda müzik dünyasından bir örnek verebilirim: Lars Ulrich
Müzik ve güvenlik tool'u geliştirmek ilk başta alakasız gelebilir. Ancak ben yeni bir tool yazıp paylaşmayı, bir müzik albümü çıkarmaya benzetiyorum. İkisinde de sıfırdan, farklı ve orijinal bir şey yaratmanız gerekiyor. Daha sonra, yarattığınız bu yapıtı halka açıyorsunuz ve geri dönüşleri beklemeye başlıyorsunuz. İnsanlar ortaya koyduğunuz yapıtı çok da beğenebilir, nefret de edebilir.
Her neyse, Lars Ulrich örneğine geri dönebiliriz. Bilmeyenler için Lars Ulrich Metallica'nın bateristidir.
Metal müzik kültürüne aşina olmayanlar için biraz daha ek bilgi vereyim: Lars Ulrich kötü bir bateristtir! Çoğu zaman kendi yazdığı ritimleri bile çalamaz, çalarken her zaman basite kaçar. Hatta Youtube'da görüyoruz ki 20 yaşındaki bateristler, Lars'ın yazdığı ritimleri Lars'ın kendisinden daha iyi çalıyor. Peki durum böyleyken Lars nasıl oluyor da Metallica'ya yön verip onu 30 yıldır dünyanın zirvesinde tutabiliyor? Evet, Lars enstürmanı iyi çalamıyor olabilir, fakat kendisi müthiş bir bestekar. Şarkıların yazılma sürecinde doğrudan büyük payı var. Aynı zamanda müziğe ilk başladığı 20'li yaşlarından itibaren kimseyi taklit etmeyerek, her zaman kendi tarzını sürdürmeye devam etti. Yani sürekli yeni bir şeyler üretti. Bunları yaptığı için enstürman çalmada kötü olsa bile hep dünyanın zirvesinde olmayı başardı.
Şimdi bunu neden anlattın bize diyecek olursanız, şunun için anlattım. Enstürman çalmayı programlama bilgisi olarak düşünebilirsiniz. Bir enstürmanı çok iyi çalmanız, hit bir şarkı besteleyebileceğiniz anlamına gelmiyor. Başka bestekarların şarkılarını onlardan daha iyi çalabilirsiniz, fakat bestekar olmak farklı bir konu. Tool geliştirmeye de bu açıdan bakmanızı öneririm. Orta seviyeli bir programcı olabilirsiniz. Ancak bu sizi hiç bir zaman yıldırmasın. Başkalarını taklit etmeyip, kendi tarzınızı oluşturduğunuz sürece ortaya kaliteli bir iş çıkarmanız gayet mümkün.
Tool'u Kodlamadan Önce
Sektörde örnek aldığınız kişileri iyi seçin. Dünya çapında kabul görmüş, alanında usta güvenlik uzmanlarını araştırın, yazdıklarını okuyun, toollarını ve tarzlarını inceleyin. Bunu yapmak bir gün Defcon'da demo yapmanızı garanti etmez. Fakat dünyaya yeni bir katkıda bulunamayan lokal uzmanları kendinize örnek alırsanız asla Defcon'da demo yapamayacağınızı garanti edebilirim.
Bunun yanında Blackhat ve Defcon'da demosu yapılabilecek bir tool'un, sektöre yeni bir şey katması gerekli. Yeni bir şeyden kastım, daha önce asla değinilmemiş bir konu olmak zorunda değil. Başka çok iyi bir tool'un eksik kaldığı bir noktayı da tamamlayabilirsiniz. Örneğin bir port scanner yazdığımızı düşünelim.
-Bu port scannerın Nmap'e kıyasla bir avantajı var mı?
Hayır yok: Bu tool Defcon'a uygun değil.
Evet, Nmap'den çok daha hızlı çalışıyor: Güzel bir başlangıç, fakat yeni bir soru var.
-Hızlı port scanning konusunda iddialı olan masscan, zmap gibi toollara kıyasla bir avantajı var mı?
Hayır yok: Bu tool Defcon'a uygun değil.
Evet, masscan ve zmap portları tararken x metodunu kullanıyor, bu x metodunu firewall'lar tespit ediyor fakat ben y metodunu kullandığım için firewall'lar tarafından bloklanmıyorum: Bu tool Defcon'a uygun olabilir.
Bizim yazdığımız Leviathan Framework aslında bir bakıma Metasploit'in bir kaç açığını kapatıyordu ve üstüne yeni özellikler ekliyordu. Şöyle ki, elinizde bir SMB Remote Code Execution exploiti olsun. Metasploit kullanarak belirlediğiniz bir ya da bir kaç hedefi exploit etmeniz mümkün. Ancak aynı anda 60,000 hedefi aynı anda exploit edemezsiniz. Leviathan'da hem bu çoklu exploitation özelliğini aktif ettik, hem de discovery kısmını çok daha pratik hale getirdik diye özetleyebilirim.
O yüzden kodlayacağınız tool'un kalite, orijinallik ve sektöre katkı konusunda yeterli olduğuna emin olmanız lazım.
Bunun yanında genç kesime verebileceğim diğer bir tavsiye de tool fikrinizi -çok gerekmedikçe- insanlara anlatmayın, yorumlarını almayın. Eğer ticari bir ürün yapıyorsanız, tabi ki marketing gibi gereksinimler için bu işin uzmanlarına akıl danışmanız gerekebilir. Ancak Blackhat/Defcon gibi deneysel ortamlarda tool'un marketing değerinin bir önemi yoktur. Bu tip ortamlarda işin teknik/bilim kısmı önemlidir. Tool fikrinizi anlattığınız kişi bir güvenlik uzmanı olabilir. Ancak yine de bu kişinin vizyonu, tool'unuzu anlamak için yeterli olmayabilir. Yazının başında belirttiğim gibi güvenlik alanında uzman olmak ile tool geliştirmek farklı sanatlardır. Siz fikrinizi anlattığınızda, karşınızdaki kişiden "x tool'u varken buna ne gerek var, bu tool tutmaz, güzel ama Defcon'luk bir şey değil" gibi heves kırıcı cümleler duyabilirsiniz. Böyle bir diyalogda gerçekten kazanabileceğiniz hiç bir şey yok. Siz eğer fikrinize güveniyorsanız, bunu çok dillendirmeden yapın ve yayınlayın.
Tool'u Kodladıktan Sonra
Yazdığınız tool ne kadar iyi, ne kadar orijinal bir iş olursa olsun düzgün dokümante edilmediyse muhtemelen pek fazla kişi tarafından kullanılmayacaktır. Bunun yanında Blackhat ve Defcon jürisi tarafından hemencecik üstü çizilecektir. O yüzden tool'un her ayrıntısını, düzgün bir dille açıklamanız lazım. Örnek olarak Leviathan'ın Github sayfasına bakabilirsiniz. README.md'de genel özelliklere yer verirken detaylara Wiki sayfasında yer verdim.
Bu adım da bittikten sonra tool'u artık halka açıp geri dönüşleri beklemeye başlayabilirsiniz. Peki tool'u nasıl halka açacaksınız? Ben bugüne kadar Reddit Netsec ve Twitter dışında başka bir kaynağa ihtiyaç duymadım. Eğer tool iyiyse zaten Reddit/Twitter üzerinden bütün sektöre yayılacaktır. İlk feedback'leri aldıktan sonra tool'unuzu daha iyi hale getirebilirsiniz.
Daha sonra Blackhat ve Defcon'a başvuru süreci başlıyor. Blackhat Arsenal'e yapılan başvurular Toolswatch ekibi tarafından değerlendiriliyor. "Call For Tools" zamanı yıldan yıla değişiklik gösteriyor. Bu yıl Mayıs ayının başında göndermek gerekiyordu. Blackhat websitesinden bir başvuru formu açıyor, tool hakkındaki detayları oraya girmeniz gerekiyor. Defcon'un başvurusu biraz daha geç bitiyor. Başvuru'yu e-mail yoluyla yapıyorsunuz. Başvuruyu bitirdikten sonra beklemeye başlıyorsunuz.
Kabul Sonrası
Şimdi artık yapacağınız demoya hazırlanmanız lazım. Burada birkaç seçeneğiniz var. Mesela, tool'un canlı demosunu yapabilirsiniz. Ancak bu biraz sancılı olacaktır. Canlı demolarda genelde bir şeyler ters gider. Uzun bir sunumda bir demonun ters gitmesi pek bir sorun teşkil etmeyebilir ancak sadece demodan oluşan bir sunumda demonun ters gitmesi her şeyin ters gitmesi demek. Biz daha çok video ve slaytlar üzerinden anlatım yaptık. Ancak canlı demolar her zaman daha heyecan vericidir. Karar sizin.
Demo Günü
Demo'yu hangi saate ve güne verdikleri oldukça önemli. Sizinle aynı saatte çok meşhur biri demo yapıyorsa, kalabalığın önemli bir kısmı orada olacaktır. Örneğin, biz Blackhat'te, Powershell Empire'ı yazan ekiple aynı saatteydik, kalabalığın önemli bir kısmı onlara kaymıştı. Diğer tarafımızda, alanında yine meşhur olan Paula Januszkiewicz vardı, o da epey bir kalabalık toplamıştı. Ancak bunlara rağmen yine biz de kendimize bir kalabalık toplayabildik.
Defcon'da ise günün çok önemi var. Örneğin birinci ve ikinci gün Demo Labs salonu kalabalıktan çıldırırken, bizim demo yapacağımız üçüncü günde ortalık tenhaydı. Çünkü Defcon'un son günü yarım gün, ve Amerikan katılımcıların çoğu Pazartesi mesaisine yetişmek için o gün sabah yola çıkıyor. Ya da demo'nuz ikinci gündeyse ama saat 12:00'ye verildiyse önemli bir kalabalık yemeğe gitmiş olacak. Bunlar biraz şans işi.
Sonuç
Yazının başında değindiğim gibi ben Türkiye'de pek çok insanın Blackhat/Defcon'da yer alabileceğine yürekten inanıyorum. Çoğu kişinin daha önce hiç buralara gelmeyi hiç denemediğini düşünüyorum. Denediğiniz takdirde başarabileceğinizden eminim. Boş şans.