Mükemmellik

Etiketler mukemmeliyetcilik, cat-personal-development, programming, 1 gün 7 saat 32 dakika önce

Sene 1998, Duke Nukem’ in patladığı seneden bir sene sonra. 3D Realms Duke Nukem Forever’ ı duyurmuş ve E3’ de Quake II oyun motoru ile geliştirilmiş ve bir çok kısmı bitmiş olan oyunun demosunu yapmış.

Unreal oyun motoru bu dönemde çıkıyor ve Quake oyun motorundan daha gerçekçi, daha güzel grafikler sağlıyor. Bu demonun hemen ardından bir toplantıda programcının biri ”Unreal’ a geçsek nasıl olur?” diyor. Duke Nukem’ in başarısını Duke Nukem Forever ile tekrar yakalamak isteyen Broussard bu fikre katılıyor.

10 sene sonra 3D Realms hala Duke Nukem Forever’ ı yayınlayamıyor, oyunu durduyor, herkes işten çıkartılıyor. 3D Realms hala yayıncılarına karşı milyonlarca dolarlık bir dava ile uğraşmakta.

Bana Hayatınızı Değiştirecek 62 Öneri yazısı konusunda bir çok kişi neden ”Mükemmeliyetçi olmayın” dediğimi sormuştu, sanırım bu güzel bir cevap. (Duke Nukem konunun bu kısmını ben de Wired USA Ocak’ dan okuyup, yeni öğrendim.)

Bu Yazılar Kaçmaz
Netsparker Satışa Çıktı
Verimli Bilgi Takibi

Hayat Nasıl Gidiyor…

Etiketler hayat, kitap, book, software, cat-personal, 17 gün 9 saat 26 dakika önce

Soran olmadı ama ben söyleyeyim…

Bu aralar yeni şeyler öğrenmeye çalışıyorum. Bunların başında "pazarlama" geliyor. Bu konuda kazmayım hala da aynı şekilde devam ediyorum, bu benim için gerçekten sıkıcı bir iş. İnsan ilişkileri ile aram bir noktaya kadar iyi ama onun dışındaki konular gerçekten sıkıcı… Neyse bu işi daha uzman birine devredene kadar cezamı çekeceğim galiba.

Software Project Survival Guide (Pro -- Best Practices)

Organik gelişmiş bir yazılımı ticari hayata sokmanın etkisiyle gelmiş geçmiş en iyi programlama kitabı olan Code Complete’ in yazarı Steve McConnell’ ın Software Project Survival Guide’ ı okumaya başladım. Biraz eski, bazı şeyler benim uğraştığım projelerle ve yapılarla tutmuyor ama çok ilginç bilgiler var. Steve’ in en sevdiğim yanlarından biri çok fazla gerçek data ile anlattıklarını destekliyor olması. Yani bazıları gibi oturduğu yerden üretmiyor ya da kendilerinin başından geçen bir olaydan yola çıkılarak olayı genelleştirip sonuçlara varmıyor.

Steve’ in adam gibi blog yazmaması ve artık bir “iş adamı” olması bizim için büyük kayıp. Eğer yazılım işi ile uğraşan her kişi bir defa Code Complete’ i okusa ve uygulasaydı muhtemelen dünyadaki yazılımın kalitesi %15 ya da daha fazla yükselme gösterirdi. Neyse özetle Code Complete güzel bir kitap. Steve hakkında son bir not, eğer kitap yazsaydım herhalde o tip bir aksan ile yazmak isterdim, tam anlamıyla harika.

Hayatımın nasıl gittiği ile ilgili bir özet geçecektim ve farkettim ki son zamanlarda başıma gelen en ilginç seç Zuma’s Revenge’ te 50. level’ e geçmiş olmam! Onun harici sanırım işkolik ve internet kolik olmuş durumdayım. Twitter, FriendFeed ve Email kontrol oranım sağlıksız bir şekilde yükseldi.

Arada oturup yazmak istiyorum ama yazmak çok zor, daha doğrusu iyi yazmak çok zor. Yazmak için de bir şey yapmak gerekiyor, bu aralar yaptığım şeyleri yazmak da çok zevkli bir iş değil. Ya da zaten yazılmış şeyler. Neyse hiç yoktan nasıl bir şey yazamadığımı yazarak ve koca yazı boyunca aslında anlamlı hiç bir şey söylemeyerek bir blos postunun daha sonuna geldim...

VB.NET Developer Arıyoruz

Etiketler job, msl, is, reklam, kariyer, 29.12.2009

Biz Kimiz?

Mavituna Security isimli Netsparker yazılımını geliştiren bir firmayız. Web uygulaması güvenliği konusunda aşmış derecede know-how’ ı olan, bu konuda diğer firmaların yapamadığı işleri yapabilen, dinamik ve hızlı şekilde iş bitiren İngiltere temelli bir firmayız.

Size Faydamız Ne?

  • Güzel maaş veriyoruz
  • Evden çalışıyorsunuz
  • Dünya pazarında cirit atan ve web uygulaması konusunda uzmanlaşmış bir firmada deneyim kazanıyor ve bilgilerinizi geliştirebiliyorsunuz
  • Konferans, kitap vs. gibi kişisel gelişim konularında size yardımcı oluyoruz
  • Çalışma saatlerinizi seçebiliyorsunuz

 

Geliştirme ekibimize katılacak şu şekilde güzel bir arkadaş aramaktayız:

Şu konuları çok iyi bilen:

  • .NET Framework
  • Winforms
  • Multithreading

Bunları bilmesi tercih sebebi olacak:

  • Web Uygulaması Güvenliği
  • Design Patterns
  • COM-Interop
  • Web Development

Şu konseptleri anlayıp, uygulayabilen:

  • RTFM
  • DRY
  • GTD
  • TDD
  • JFGI

Şu becerilere sahip:

  • İletişebilen
  • Leb demeden leblebi’ nin dünyadaki satış oranlarını Google’ dan bulabilen
  • Geliştirme takımı ve insanlarla iyi geçinebilen
  • İleri seviye İngilizce yazma/okuma ve yeterli seviyede İngilizce konuşabilme
  • Verilen işin hakkını verebilecek
  • Ev ofisinden çalışabilecek
  • Bir sorumluluk aldığında tekrar dürtülmeye gerek duymadan sorumluluğunu yerine getirebilecek
  • Yönetilmeye ihtiyaç duymayacak
  • Şu 62 öneriyi okumuş olan : http://ferruh.mavituna.com/hayatinizi-degistirecek-oneri-oku/

Başvururken şunları yapmalısınız:

  • CV’ lerinizi contact-at-mavitunasecurity.com a göndermeli,
  • E-mail başlığı “[İSMİNİZ] - NETPROG“ olmalı,
  • Bugüne kadar .NET ile yazdığınız en iyi ve en az 300 satırdan oluşan kodu eklemeli veya linklemeli,
  • E-mail’ ın girişini bir paragrafta neden bizimle çalışmak istediğinizi İngilizce olarak yazmalısınız.

Ne Zaman?

Bu pozisyonu 2010 Mart ayına kadar doldurmayı planlıyoruz, dolayısıyla başvuru cevapları en geç 2010 Mart ayında verilecektir.

Süper Makale Netsparker Satışa Çıktı

Web uygulaması güvenliğinde daha önceden yapıl(a)mamış bir çok yeniliğe imza atan yazılımımız Netsparkertm, Next Generation Web Application Security Scanner bugün itibariyle satışa çıkmış bulunmakta.

Ürünün en dikkat çeken özellikleri:

  • False-Positive raporlamaması
  • Entegre exploitation desteği
  • SQL Injection, XSS gibi açıklarda diğer tarayıcılardan daha iyi olması

Şahsım ve tüm Mavituna Security ekibi adına 3 senelik bu çalışmanın, ar-ge ve geliştirme sürecinin en sonunda hayata geçmesinden büyük gurur duyduğumuzu söylemeliyim.

Ek olarak IBM, HP gibi büyük firmaların elinde tuttuğu çeyrek milyar dolarlık bir sektöre mütevazi takım ve yapımız ile girmekten ve bir çok konuda bu büyük rakiplerimizden çok daha iyi bir iş çıkarmış olmaktan da çok büyük bir gurur duyuyoruz.

Beta süresince bize katkıda bulunan 500 ‘ den fazla Beta Tester’ a da çok teşekkür ederim, onlar olmadan eksiklerimizi bu kadar iyi görebilmemiz, düzeltebilmemiz mümkün olamazdı.

Destek ve dualarını eksik etmeyen dostlara da tekrar teşekkür etmeyi borç bilirim.

Bayramımız Mübarek Olsun

Etiketler bayram, tebrik, kurban, 27.11.2009

Kurban bayramımız mübarek olsun, gidin büyüklerin ellerinden öpün, küçüklerin gözlerinden öpün, kendi yaşınızdakiler high-five yapın.

Bu sene pek bayram havasına giremedim, inşallah seneye bayramları Türkiye’ de geçireceğim. Bu bayramda kendimi Uncharted 2 Multiplayer’ a ve IstSec’ e hazırlanmaya vereceğim.

Bu bloga eskisi gibi düzenli ve güzel bir şeyler yazmak istiyorum ama inanın ne yazasım var ne de blogla ilgilenesim var. O yüzden sanırım bir süre daha bu şekilde devam edecek.

IstSec ‘09

Türkiye’ de en güzel ve en açık şekilde organize edilen tek güvenlik konferansı olan İstSec’ in ikincisi 12-13 Aralık’ ta yapılacak.

2 gün boyunca ben de dahil olmak üzere Mavituna Security ekibi de orada olacak, ek olarak konferansın ilk günü ben web uygulaması güvenliği konusunda 30 dk. lık çok aşırı teknik olmayan bir sunum yapacağım.

Katılım ücretsizdir ama kayıt yapmanız gerekli. Bir önceki konferans çok keyifliydi bu daha da güzel olacak gibi gözüküyor. Son olarak konfrerans boyunca inşallah standımızda Netsparker demosu yapıyor olacağız, ilgileniyorsanız uğrayıp bir selam vermeyi unutmayın.

OWASP AppSec DC 2009

12 Kasım’ da Washington DC’ deki OWASP AppSec DC 2009’ da One Click Ownage hakkında konuşacağım ve bir de Web Raider isimli küçük bir program yayınlayacağım inşallah.

One Click Ownage muhtemelen SQL Server’ da komut çalıştırmak, reverse shell, reverse VNC vs. almak için geliştirilmiş şimdiye kadarki en hızlı yöntem. Ek olarak CSRF + SQL Injection durumlarını da işe yarar şekilde exploit etmek için de bilinen tek yöntem. Bunun değişik bir implemantasyonunu Netsparker içerisine de ekledik.

Ek olarak 13 Kasım’ da konferansta olacağım, eğer katılacaklar varsa bana bir e-mail atın, orada görüşelim.

10 saat uçak çektikten sonra hemen geri dönmek olmaz diye konferans sonrası New York’ a geçip biraz orada olacağız. O yüzden site’ deki yazma ve e-mail cevaplama performansım bu süre zarfında biraz düşebilir.

Süper Makale Verimli Bilgi Takibi

Eskiden bilgi yok diyen bizim artık yeni bir sorunumuz var, bilgi fazlalığı.

Sorun büyük, çözüm basit değil ama bazı huyları değiştirerek verimli şekilde hem yeni bilgiyi takip edebilir, hem bilgiye yetişebilir hem de çok kısa süreler harcayarak yapabilirsiniz.

  1. RSS okuyusu kullanın, hiç bir blogu ziyaret etmeyin, blogları ziyaret etmek bir çok nedenden dolayı oradan alacağınız bilgiye gereğinden daha fazla efor vermenize neden olur.
  2. RSS okuyusunda herşeyi okumayın, başlıkları okuyun, konu ilginizi çekiyorsa devamını okuyun.
  3. Bilgi kaçıtrmaktan korkmayın, eğer bir şey gerçekten çok iyiyse takip ettiğiniz başka bir kanaldan onu duyacaksınız ne de olsa. İnternet sandığınızdan çok daha küçük, çok fazla kişi aynı konu hakkında konuşuyor. Hepsini okumanıza gerek yok birini okumanız yeterli.
  4. Eğer bir RSS ilgilendiğiniz konudan çok ilgilenmediğiniz konularda yazıyorsa, o RSS’ i takip etmeyi bırakın. (Benim rasgele değişik konulardan yazmam bir çok kişi için bu blogu da bu kategoriye sokuyor olabilir. Eğer öyleyse korkmayın silin. Çok iyi bir şey yazarsam bir şekidle duyarsınız zaten.*)
  5. İkna olduğunuz konuları tekrar tekrar okumayın. Eğer “LinkedIn” in kariyerinize yardım edecek bir kanal olduğuna inandıysanız LinkedIn’ in neden çok iyi olduğuna dair 5 yazı daha okumanıza gerek yok.
  6. Aynı bloggerlar aynı konuları çok yazarlar, bunu gördüğünüz anda o yazıyı es geçin. Bir de bunların kendilerine “technology evangelist” falan diyenleri vardır ki onlardan koşarak kaçın.
  7. Çok az yazı baştan sonra dikkatle okumayı gerektirir, değer. Önce yazıları hızlı bir şekilde okuyun. Hızlı okuma teknikleri ile ilgili bir çok kitap ve makale var. Bunları deneyebilir ya da kendi kendinize pratik yapabilirsiniz. Mesela bunun gibi bir makaleye maksimum 4-5 dk. harcamanız gerekli. Genelde 2 dk. yeterli olacaktır. Mesela girişteki paragrafın hiç bir amacı yok, bunu geçebilirsiniz. Bir yerden sonra bu doğal bir davranış olacaktır.
  8. İlginizi çeken konuları hemen okumayın Read it Later, Evernote ya da InstaPaper gibi bir sistem kullanın. Bu sayede konsantrasyonunuzu da bozmadan ve bulduğunuz kaynağı kaybetmeden ilginizi çeken konuyu daha sonra okuyabilirsiniz.
  9. Eğer mümkünse Pocket PC, iPhone gibi bir cihaz edinin ve daha sonra okumak için işaretlediğiniz yazıları bu cihazda okuyun. Bu sayede yolculuk, sırada bekleme, köprü trafiği, berber koltuğu, ramazan pidesi sırasını verimli bir iş için kullanmış olursunuz.
  10. Twitter, FriendFeed vs. gibi sistemler bilgi takibi için tasarlanmış sistemler değiller. Geyik ve sosyalleşme harici bilgi için kullanmaya çalışmayın, verim alamayacaksınız.
  11. Kitap okurken, kitabın heryerini okumayın. 400 sayfalık bir kitapta en az 200 sayfa boşluk doldurma sayfası vardır. Bunları tespit etmek bazen zor olur ama ufak bir eforla en azından 100 sayfayı okumadan ama içindekini anlayarak geçebilirsiniz. Buna rağmen her sayfasını okumaya değecek çok az kitap vardır, o kitapların hakkını vermek lazım. Bu kitaplar genelde yazarlardından anlaşılabilir.

Bu yazıyı sevenler hayatlarını değiştirecek şu 62 öneriyi de sevdi.

* Kayıtlara geçsin diye yazıyorum, şu anki RSS üyesi 3351, bu yazından sonra bir değişiklik olacak mı bakalım göreceğiz.

Süper Makale Netsparker

Sitenin düzenli takipçileri uzun bir süredir adam gibi yazmadığımı farketmişlerdir. Bir süre önce çalıştığım firmadan ayrıldım ve gene Londra’ da yeni bir firma kurdum – Mavituna Security Ltd.

Uzun bir süredir de bu firmanın ana ve tek ürünü olan Netsparker’ ın geliştirilmesi ve firma işleri ile uğraşıyorum.

Startup’ lar konusunda önceden çalışan ve kurucu olarak deneyimim olsa da bu önceki deneyimlerimin ötesinde çok daha farklı bir deneyim. Ölçek daha büyük, market çok daha büyük, rekabet çok daha büyük. HP ve IBM gibi firmaların başı çektiği bir markete yeni bir yazılımla girmek kolay bir iş değil. Daha önceden bu kadar kalabalık bir ekip hiç olmamıştı. (çok fazla değil, en kalabalık günümüzde altı kişiyiz)

Özetle bir süredir yazmamamın nedeni bu iş yoğunluydu, bu yoğunluk devam ediyor o yüzden ben de burada daha az yazıyor olacağım.

Netsparker Nedir?

Netsparker bir web uygulaması güvenlik tarayıcısı. Otomatik olarak bir web sitesini uygulama seviyesindeki güvenlik açıklarına karşı analiz edip güvenlik açıklarını raporlar. Ek olarak raporlamanın bir adım da ötesine geçip güvenlik açıklarını kullanarak aynı bir saldırgan gibi sistemden data çıkartabilir ya da sisteme tam erişim sağlayabiliyor.

Bu sayede SQL Injection, Cross-site Scripting gibi açıkları başkaları bulmadan siz bulabiliyorsunuz.

Bu süreç içerisinde bir çok beta tester' ın desteğini aldık ve almaya da devam ediyoruz. WGT ekibinin hemen hemen her üyesi bunun içerisinde, onlara da çok teşekkürler.

Burayı reklam alanına çevirmeden ilgilenenleri Netsparker Blog’ una davet ediyorum.

OWASP Top 1

Etiketler owasp, geyik, guvenlik, dedikodu, 18.09.2009

Popülerizm ve marketing sevmediğim şeylerdendir ama maalesef hayatta bazı gereksinimler var, genelde güçlü olmayan biz, akımları ve normları takip etmekten çok kabul ederiz.

OWASP’ ı severim, bazı abuk-subuk şeyleri olsa da genel olarak web uygulaması güvenliği konusunda bilinçlenme adına dünyada en çok işi yapmış topluluktur. OWASP Türkiye’ de de zaten aktif olarak bulundum, bulunuyorum, OWASP Guide' v3’ te yazdım vs. Dolayısıyla lafım OWASP’ a değil ama OWASP  Top 10’ e.

Genel olarak Top 10 listelerinden nefret etmiştirim, bloglarda gördükçe gıcık olurum ama OWASP Top 10 bunlardan da kötü. OWASP Top 10 yapmak nedense bana “Top 10 Sex Offenders” gibi bir liste yapmakmış gibi geliyor. 2009 OWASP Top 10’ i ne olacak dedikoduları başlamış, Top 10 i bilmem ama ben size OWASP Top 1’ ü söyleyeyim.

Güvenlik hakkında fikri olmayan web programcıları.

İşin daha da komiği bu Top 10 güvenlik açığı gibi listelerin arkasında kayda değer hiç bir data bulunmamasıdır, ama sanırım herkes bunun insanlara bu konuda gaz vermek için aynı şeyi evirip çevirip söylemek olduğunu farkdındadır zaten.

Kavga, Dövüş, Güvenlik

Etiketler hayat, guvenlik, hoyt ulen, 16.09.2009

Son bloglarımda belirttiğim gibi bu ara işlerim ekstra yoğun, bir kaç gün önce de Meşgul bir sahur isimli yazı yazmıştım.

Yazının yazılma sebebi benim bulunduğum ve iki arkadaşımla paylaştığım sunucuya birilerinin girmiş olmasıydı, girmişler sonra da oradan benim sitemin ana sayfa dosyasına ulaşmışlar, değiştirmişler. Ben önce konu hakkında kısa bir şey yazmıştım, sonra prim vermeyeyim dedim, daha sonra herkes anlat anlat diye tutturunca FriendFeed’ de anlattım şimdi de burada anlatayım.

Olayın teknik detayına inersek:

  • Bir kaç sene önce sunucuya arkadaşlarımdan biri bir güvenlik açığı olan bir script yüklemiş, tabii ki güvenlik açığı olduğunu bilmeden
  • Bu sırada biz kullanıcı hakları birbirlerine erişemesin diye kullanıcı haklarını düzenlemiştik, ancak bu arkadaş bir de arada kendi IIS kullanıcısını admin kullanıcısı haline getirmiş. Benim de bundan haberim yoktu.
  • Daha sonradan bu arkadaşlar da benim sitemi hacklemek isteyince direk sunucudaki diğer siteleri araştırmaya başlamış. Komiktir benim siteye saldırmayı denememişler bile, direk diğer sitelere saldırmışlar.
  • Ondan sonra bu güvenlik açığı olan ASP dosyası üzerinden, birinden çarpma bir ASP shell yükleyip onunla sunucudaki diğer sitelere erişmişler. Erişebilmişler çünkü script saçma bir şekilde “yönetici hakları” ile çalışıyormuş.
  • Tam onlar dosyaya eriştiler ben zaten sunucuyu bastım, durumu toparladım ama arada sanırım 15-25 dk. kadar o dosyalar o şekilde kaldı.
  • Sistemin log analizlerini yaptık, IP leri aldık, ne yaptıklarını inceledik, nerelerine eriştiklerine baktın, sistemleri düzelttik ve sahurumun içine ettikleri için bu arkadaşlara küfür edip, hayatımıza geri döndük.

Dedikodulara cevap vermek gerekirse:

  • Evet hacklendim, 8 seneden sonra bu da başımıza geldi, sunucuyu paylaştığım arkadaşlar sağolsun!
  • Hayır benim kodumda güvenlik açığı yoktu (olamaz değil, o da olur ama bu saldırı tamamen başkasının, eski ve salakça yazılmış bir ASP kodunun eseridir)
  • Hayır onları ya da TTNet’ i hacklemeyeceğim (gerçi başkaları onları hacklemiş bile)
  • Evet bende de büyük eşşeklik var, 3 senedir Shared Hosting’ ten çıkacağım deyip çıkmadığım için, düzenli olarak sistemdeki hakları kontrol etmediğim için.

Günün sonunda çıkarılacak dersler:

  • Güvenlik sistemin en zayıf halkası kadardır, bu zayıf halka sizden başka biri olabilir
  • Derinlemesine defans’ ı boş vermemek lazım
  • Güvenmediğiniz sistemlere kişisel data koymamak çok mantıklı bir hareket olduğunu tekrar öğrendik

Şimdik, nerede kalmıştık?

Çeviklik

“Agile” kelimesi her ağıza sakız olmuş durumda, ben de parmağımı pastaya bulaştırmak istedim.

Çevik yapılar, duruma göre kendi adapte edebilen, hızlı şekilde çözüme ulaşan, durumu daha kompleks bir hale* getirmeyip basitleştiren yapılardır. Bu birey olabilir, bir yazılım geliştirme metodolojisi olarak düşünülebilir ya da bir kurumun yapısı olabilir.

Çevikliği maksimum düzeye kavuşturmak için yapılması gereken iki kritik şey var.

Al, Çal, Kaçır

(Ç)almak ya da outsourcing.

Outsourcing

Outsourcing tüm sorumluluğu başkasına atmak olarak kabul edilebilir.

Mesela bir blog açacaksanız “Wordpress” kullanmak çalmaktır. Kendiniz wordpress’ i download edersiniz, sunucunuza kurar ve kullanırsınız. Hazır bir sistemi çalıp kullandınız. Outsourcing ise blogger.com’ dan blog açmak ya da Wordpress.com üzerinden bedava bir blog almaktır.

Outsourcing çeviklikte her zaman ilk adım olmalı, buradaki kritik nokta devrettiğiniz işin üzerinde ne kadar kontrole ihtiyaç duyduğunuzdur. Örnek olarak eğer kendinize özel bir web suncusu kullanmak zorundaysanız basit bir hosting firmasından, basit bir hesap almak işinizi görmeyecektir. Outsourcing’ de yapabileceğiniz en büyük hata “ana işinizi” başkalarına devretmektir.

Mesela bir web tarayıcısı geliştiriyorsanız rendering engine’ ini geliştirmek yerine başka bir yerden alıp kullanmak yanlış olacaktır. Not düşmek gerekir iş modeli sadece devretmek üzerine kurulu firmalar istisnadır, mesela IE’ nin altyapısını kullanıp arabirimini geliştiren ya da farklılaştıran firmalar var. İkinci bir not düşecek olursak bu tip firmaların hiçbirinin uzun vadede bir başarısı olmamamıştır.

Aynı şekilde rendering engine’ ini dışarıdan programcılara outsource etmekte bir o kadar yanlış olacaktır, buna rağmen Gzip encoding’ i oturup yazmanız da bir o kadar saçma olacaktır. Gzip library’ sini outsource etmek değil çalmanız gereklidir ama o konuya biraz sonra geleceğiz.

Web 2.0 hikayesinin sosyal medya’ yı hayatımıza sokması, kişisel bilgilerin öneminin azalması, insanların internet sitelerine daha fazla güvenmesi ile SaaS (software as a service) konsepti ve oursourcing / devretme olanakları inanılmaz şekilde yükseldi. Yükselmeye de devam edecek. Bu yükseliş bizim için iki anlam ifade ediyor;

1. SaaS işinin geleceği çok iyi olduğundan dolayı bu sektörde iş yapmak

2. Kendi işimizde olabildiğince bu yüksek kalite hizmetleri kullanmak

SaaS’ ın büyümesi ve outsourcing kavramının popülerleşmesi belki son senelerde gördüğümüz internetteki kaliteli iş modellerinin ve firmaların çoğalmasındaki kritik nedenlerden biri olabilir. Yeni model firmalar kendi CRM sistemlerini kurmuyorlar, SalesForce kullanıyorlar, SVN Serverlarını kurmuyorlar, xp-dev’ den SVN server ediniyorlar, artık proje yönetim sistemi kurmuyorlar, BaseCamp kullanıyorlar.

Bu da onlara enerjilerini geçekten umursadıkları işe yönlendirme fırsatı sunuyor. Ek olarak maliyetlerin düşmesi de cabası.

Kurumların, bu tip içerideki yönetim sistemlerinin kurulumu, bakımı ve güncelliği için inanılmaz vakitler harcadıkları dönemler vardı. Hala Microsoft, Adobe gibi firmalar bu tip sistemleri kullanmıyor. SalesForce gibi ekstrem uçtaki hizmetler çıkmadıkça kullanmayacaklar da.

Bunun nedeni bu tip büyük firmaların bu tip konularda yakabilecekleri paralara sahip olmaları ve burada ekstradan yakacakları 1M$, sistemin onlara özel olmasındaki avantajlardan dolayı zaten uzun vadede kendini amorti edecektir. Ancak bu tip firmalar ile 1-150 kişi arasındaki firmaları karşılaştırmamak lazım.

Firmaların doyum noktaları vardır, doyum noktasından sonra para harcama ve iş yapma modelleri değişir. Mesela bir yazılım firmasının doyum noktası ana yazılımlarının piyasadakilerden daha çok iş yaptığı ve yakın bir takipçisinin olmadığı noktalarda olur. Mesela Skype buna güzel bir örnek.

Bu noktaya gelmiş bir yazılım firması genelde yazılıma sadece saçma özellikler ekler, elindeki büyük kadroyu mütemadiyen çalıştırması gereklidir ama yapacak işi yoktur. Yazılıma tema, animasyon gibi kimsenin umrunda olmadığı sadece %1 için bir anlam ifade eden şeyler eklerler ya da bazı MS Office sürümleri gibi sadece görsel değişiklikler yapıp yeni bir versiyon daha satmaya çalışırlar.

Özetle küçük ve çevik bir firma artık en basit işten en komplike işe kadar herşeyi outsource edebilir hale geldi. Önemli olan outsource edeceğiniz şeyleri ve outsource edeceğini kişileri, firmaları iyi seçmek.

İlk başta outsourcing işi pahalı gibi gözükse de aksine çok daha ucuzdur. Yatırım daha azdır, yönetim istemez, değiştirmek basittir, disaster recovery gibi konular sizin değil başkasının derdi olur. Vakit ciddi bir kaynaktır ve bir şeye yatırım yapma, yönetme ciddi bir kaynak gideridir. Eğer hala vakit, bakım-takip ve para arasındaki ilişkiyi matematiksel olarak kuramıyorsanız zaten kişi veya firma olarak burada anlattıklarımdan daha ciddi sorunlarınız var demektir. Önce o noktayı kavramak lazım ama oradaki ilişki başka bir yazı konusu, burada detaylandırmayayım...

(Ç)almak

Çalmak outsource edemediğiniz de yapmanız gereken şey. Mesela bir blog’ a ihtiyacınız var bu ama hali hazırdaki blog sistemleri sizin siteniz ile iyi entegre olamıyor, bu durumda gidip baştan blog sistemi yazmazsınız, hali hazırda yazılmış bir blogu kullanır ve onun üzerinde özelleştirme yaparsınız, işte bu çalmaktır.

Bir iş yapacaksınız çalışan bir iş modelini alabilirsiniz. Baştan tüm modeli oluşturmanıza gerek yok, ama eğer kendiniz çok daha gelişmiş bir iş modeli geliştirdiyseniz ve işinizi buna dayayacaksanız tabii ki bunu yapın. Çalma ile Geliştirme arasındaki çizgiyi doğru çizmek lazım.

Son örnek olarak mesela kodlama standartları dokümanı oluşturacaksınız, kendiniz sıfırdan başlamayın gidip benzer bir doküman bulun daha sonra bunu kendi takımınıza göre özelleştirin.

Çalmayı küçükten büyüğe her boyutta yapabilirsiniz, hazır bir uygulamayı alıp değiştirebileceğiniz gibi bir algoritmayı kendiniz tekrar keşfetmeye çalışmak yerine pseudocode’ unu bulup onun üzerinden yazmanız daha mantıklı olacaktır.

Dikkat edilesi

Çalarken dikkat edilecek şeyler var,

- Gereksinimlerden daha kompleks sistemleri hazır diye entegre etmeye çalışmak
Eğer ana sayfada 3 haber başlığı ve metin göstermek istiyorsanız Wordpress’ i implemente etmeye çalışmayın, kendiniz yazın. Bedava her zaman bedava demek değildir. Sahipliğin getirdiği bir masraf vardır ve kompleks sistemler de bu yük ile gelir. Dolayısıyla **basit tutun.

- Çaldığın şeyi bilmek
Eğer bir kodu ne yaptığını tam bilmeden çalıyorsanız şöyle saçma durumlar oluşabilir.

Daha önceden Hayatınızı değiştirecek 62 öneri yazımda da söylemiştim “Mükemmeliyetçilik” outsourcing’ in ve çalmanın en büyük düşmanıdır ve bunu yenmek çok zordur. Mükemmeliyetçilik ile ilişkili diğer bir kötü huyda kontrolcülüktür. Koda sahip olmak, HTML çıktısını istediğin gibi kontrol etmek, herşeyi bilme ve kontrol etme arzusu da sizi bunları yapabilmekten uzak tutacaktır. O yüzden bu tip huylardan kurtulmaya çalışmak lazım.

Çalın, outsource edin, basit düşünün, üretin.

*over-engineering
** KISS - Keep It Simple & Stupid

Meşgul bir Sahur

Sunucudaki bir kaç sorundan dolayı dün 4 saat kadar erişim mümkün değildi. Hayatımın güzel bir 5 saatini orada harcadım. Sahura kadar bir dizi salak sorun ile uğraşmak zorunda kaldım, neyse şimdi sorunlar çözüldü, eskisi gibi yazmaya(!) devam edebilirim.

Kişisel yoğunluğumdan dolayı pek blog yazamıyorum, bırakın blog yazmayı kitap okumaya bile vakit bulamıyorum. O yüzden yaklaşık iki ay daha bu blog çok düşük tempoda ilerleyecek. Bu sessizlik bahanesiyle RSS üyeleri de 3100’ e çıkmış, az yazmak RSS takipçilerini çoğaltmak için en iyi yol sanırım…

SANS Eğitimleri Türkiyede

Bu haberi özellikle geçmek istedim, direk mesaja dokunmadan aşağıdan veriyorum. Bu güvenliğin Türkiye’ de daha güzel bir yerlere gelmeye başladığının bir göstergesidir.

SANS 560-: Network Penetration Testing and Ethical Hacking Eğitimi Türkiye’de.

SANS Organizasyonunun en popüler eğitimlerinden biri olan “Security 560: Network Penetration Testing and Ethical Hacking” eğitimi Ekim ayında  Mentor formatında İstanbul’da verilmeye başlanacak. Eğitim, içerik olarak “Reconnaissance” ile başlayıp “Scanning” , “Exploitation” ve “Password Attacks” şeklinde devam edip “Wireless Attacks” ve “Web Attacks” konularına değindikten sonra bütün anlatılanların bir CTF(Capture The Flag) uygulaması ile sonlandırılacağı bir eğitim olacaktır.

Bu eğitim de öğrenciye SANS’ın “Self Study” eğitiminde olduğu gibi kurs kitapları, kurs CD-DVD leri ve kurs MP3 dosyaları verilecektir. Bunun yanısıra Mentor eğitimine bağlı olarak online kurs materyali ve mentor “hands-on” lab notları öğrenciye verilecektir.  10 adet 2 saatlik oturumlar şeklinde oluşacak ve tamamen “hands-on” lablar şeklinde işlenecek olan eğitim, 10 Ekim 2009 tarihinde başlayıp 12 Aralık 2009 tarihinde sona erecektir. Bu oturumlar İbrahim Saruhan ve Halil Öztürkci tarafindan yönetilecek ve eğitime katılan tüm öğrencilerin lablarda aktif rol olması sağlanacaktır.

Eğitime kayıt detayları ve kayıt için http://www.sans.org/mentor/details.php?nid=19944 adresine bakabilirsiniz. Sorularınız için ibrahim.saruhan@adeo.com.tr ve halil.ozturkci@adeo.com.tr adreslerine mail atabilirsiniz.

Coder to Developer

Etiketler kitap, cat-book, book, development, 27.08.2009

Coder to Developer: Tools and Strategies for Delivering Your Software by Mike GunderloyBir kaç ay önce Coder to Developer: Tools and Strategies for Delivering Your Software kitabını okudum. Ne bekliyordum bilmiyorum ama beklediğim herşeyin altında bir kitap.

Eğer yeni bir yazılımcıysanız işinize yarayabilir ama zaten yazılım geliştiren biriyseniz benim gibi kitabın hepsini okuyup yeni hiç bir şey öğrenmeyebilirsiniz.

Kitap hakkında yazmak istiyorum ama çok da yazacak bir şey yok, bir çok konuda bir çok temel bilgiden bahsediyor. “İçindekiler” kısmına bakın ve eğer bu konularda bilginiz yoksa sokuyun, o durumda işinize yarayabilir. Ama bu konudaların daha önceden ismini duymuş ve çok az baktıysanız bu kitabın size vereceği yeni bir şey yok.

Yazarın kendisinin de iyi bir geliştiriciği olduğu şüpheli lakin iyi ve deneyimli geliştiricilerin kitaplarında çok fazla ve harika gerçek dünya deneyimleri duyarsınız bu kitap böyle bir şey de yok, özetle uzak durun.

Bir Ramazan Daha

Etiketler ramazan, hayat, cat-personal, 27.08.2009

Öncelikle ramazanınız hayırlı olsun. Ramazan dolayısıyla bir gece tarifesi açıyorum bir gündüz. Uyku düzenim alt üst olmuş durumda.

İstanbul’ dan döndüm ve eski hayatıma devam etmeye başladım. Bu aralar insan üstü eforlar ile çalışmalarıma devam ediyorum. Bu blogdaki ve bendeki sessizliği fırtınadan önceki sessizlik olarak kabul edebilirsiniz, güzel şeyler ile uğraşıyorum ama güzel şeyler yapmak vakit ve emek alıyor.

Bekle Beni İstanbul

Etiketler news, istanbul, egitim, me, 09.08.2009

Web Uygulaması Güvenliği Eğitimleri için İstanbul’ a gidiyorum, bir hafta kadar yorumları onaylamayabilir, e-maillar’ a bakmayabilirim.

Zayıf Olduğunu Bilmek ve iPhone

Zayıf olduğunu bil yazısında bir iş yaparken elde neyin olup olmadığını bilmek ve ona göre hareket etmekten bahsetmiştim:

Blair Witch filmi ve benzeri yapımlar bu konuya güzel bir örnek aslında. Hollywood gibi milyonlara film çekemiyorsunuz dolayısıyla taktik değiştiriyor, interneti, dedikoduyu ve farklı bir yolu seçip bir film yapıyor ve parayı kırıyorsunuz. Komiktir aslında bu filmin iki ilginç olgusu var. Birincisi filmin tüm konusu çarpma (eski 60 kadar ülkede yasaklanmış bir gore filmden – detayları inanınki bilmek istemezsiniz), ikincisi film gerçekten kötüydü. Buna rağmen para kazandı. Sonuca bakarsak muhtemelen onlar amaçlarına ulaştı. Sanırım yüz yılın sanat filmini yapmayı planlamıyorlardı.

Ben uslanmaz bir oyuncu olduğumdan dolayı düzenli olarak iPhone oyunlarına bakıyor beğendiklerimi alıyor, oynuyorum. İnsanların iPhone ve benzeri sistemler için 3D büyük oyunlar yapmasının nedenini hiç anlayamamışımdır. Sonuç itibarı ile bu oyunu oynayan kişiler bilgisayar dünyasından gelen ve gerçek grafiklere sahip oyunları oynamış kişiler, halbuki bu platform’ un grafik desteği zayıf, ekranı küçük ve kontrol için bir gamepad’ i yok vs. vs.

Muhtemelen işte bu yüzden Doom Ressurection’ den çok Drop7 isimli muhtemelen 3 haftada yazılmış bir oyun çok daha fazla satabiliyor. Bunun yanında Lucas Arts gibi zeki firmalar eski ve iPhone’ a port edilebilecek Monkey Island gibi güzel klasikleri piyasaya sürmeye başladılar ki bu da çok güzel bir mantık.

Özetle dostlarım, elinizdekinin ve hedef platformun zayıflıklarını bilmek lazım.

Web Güvenliği Dergisi

Web Güvenliği Topluluğu olarak bir e-dergi çalışması yaptık. Dergi’ nin periyodik olarak yayınlanması planlanıyor ve ilk sayıda ben de uzun zamandır yapmadığım bir şey yapıp Web Güvenliğinde Otomasyon isimli bir yazı yazdım!

Tüm emeği geçen ekibe ve özellikle Onur Yılmaz’ a teşekkürler.

One Click Ownage

I’ve been keeping this under my desk for ages now. It’s been about 6 months since I came up with a practical exploitation of this idea and even developed an application to automate the scanning and exploitation process.

This attack is all about SQL Injection for lazy minds. One of the classical SQL Injection attacks in SQL Server – SA connections is obviously trying to get reverse shell from the target database. There are some ways to do it, like sending hundreds of requests or using PERL scripts, executables etc. I didn’t like the current approach and decided to find a better way to deal with it.

I think I came up with the holy grail of the this attack. One request to get a reverse shell, can’t get any better than that. You can copy paste it, you can stick it into an src attribute of an img tag to carry out a CSRF attack etc.