VDP'nizi oluşturma

Tüm VDP'ler için program politikası son derece önemlidir ve dikkatli bir şekilde hazırlanmalıdır. Güvenlik araştırmacılarının bir VDP'ye katılırken gördüğü ilk şey program politikasıdır. Bu liste, programın üslubunu belirler, beklentileri tanımlar ve katılmayı seçen araştırmacılara olan bağlılığınızı tanımlar.

Program politikanızı oluşturma ve barındırma

VDP'nizle ilgili program politikası taslağını oluşturmak için aşağıdaki yönergeleri kullanın. Program politikaları genellikle yalnızca 1-3 sayfa uzunluğundadır ve genellikle aşağıdaki konuları içerir:

  • Araştırmacının vaadi
  • Test yönergeleri
  • Programın kapsamı

Program politikasının tüm potansiyel araştırmacılar için kullanılabilir olması gerekir. VDP'yi yalnızca davet edilen birkaç araştırmacının kullanımına özel olarak başlatmayı planlıyorsanız program politikasının, davet ettiğiniz araştırmacıların kullanımına sunmak, ancak diğer herkesin erişimine açmak için bir tür erişim denetimine ihtiyacı vardır. Araştırmacıların ayrıca, raporları takip etmek için bir bilet sistemine bağlı web formu veya e-posta takma adı gibi raporları gönderebilecekleri bir yönteme ihtiyaçları vardır. VDP'nin çevrimiçi kaynaklarını oluştururken bunu göz önünde bulundurun.

Üçüncü taraf güvenlik açıklarını ortaya çıkarma ve hata ödül platformları genellikle şu gibi özellikler sunar:

  • Politika oluşturmak, düzenlemek ve yayınlamak için kullanabileceğiniz bir yöntem
  • Özel program oluşturmak için erişim denetimleri
  • Bilgisayar korsanlarını uygun bir hızda otomatik olarak davet etme
  • Gelen raporların işlenmesini kolaylaştıran gelen kutusu işlevi

Üçüncü taraf platformlar, bir VDP oluşturma ve başlatma sürecini kolaylaştırmaya yardımcı olacak çeşitli danışmanlık hizmetleri de sunar. Üçüncü taraf platformlarının ve danışmanlık hizmetlerinin genellikle bir maliyeti vardır. Kuruluşunuz için en iyi yolu belirlemek amacıyla programınızı şirket içinde üçüncü bir tarafla çalışmanın ve şirket içinde yönetmenin maliyet ve faydalarını göz önünde bulundurun.

Program politikanıza neleri dahil etmeniz gerektiği konusunda daha fazla ilham almak için ABD Adalet Bakanlığı'nın "A Framework for a Vulnerability Disclosure Program for Online Systems" (Online Sistemler İçin Güvenlik Açığı Ortaya Çıkarma Programı) adlı belgesini okuyun.

Program politikası paydaşları

Program politikanızın taslağını oluştururken paydaşlarınızla nasıl çalışacağınızı düşünün. Çeşitli ekipler, politikanıza eklenecek önemli hususlarla ilgili görüş sunabilir.

Paydaş Dikkat edilmesi gereken noktalar
Legal
  • Bilgisayar korsanlarının katılımını düzenleyen program politikanızın ve şartlarınızın taslağını oluştururken hukuk ekibinizle çalışın.
  • Araştırmacılara para ödenmez, bu nedenle onları kapsamlı ilk katılım gereksinimlerine veya külfetli terimlere tabi tutmak için iyi bir neden yoktur.
IT
  • Hizmet reddi koşulları oluşturmamak gibi test gereksinimlerinin ve kapsamının geliştirilmesine yardımcı olmak için BT ekibinizle birlikte çalışın.
Mühendislik
  • Mühendislik, hangi güvenlik açığı türlerinin en çok veya en az ilgi çekici olduğu da dahil olmak üzere test gereksinimleri ve kapsamı hakkında görüşlerini paylaşabilir.
PR
  • Açıklamadaki politika dilini gözden geçirmek için halkla ilişkiler ekibinizle birlikte çalışın.
Güvenlik
  • Güvenlik ekibi genellikle politikanın oluşturulmasına liderlik eder.
  • Güvenlik ekibi büyük olasılıkla bilgisayar korsanlarından geri bildirim alacak ve zaman içinde diğer paydaşlarla birlikte politikayı tekrarlayacaktır.

Araştırmacının verdiği söz

Araştırmacı sözü, kuruluşun politikada belirtilen test yönergelerini izleyerek, iyi niyetle hareket eden katılımcı araştırmacılarla olma taahhütlerini açıklıyor. Örneğin, hangi güvenlik açığı raporlarının kabul edildiği ve düzeltildiğine dair kararları bildirmenin yanı sıra, gelen tüm güvenlik raporlarına belirli bir zaman aralığı içinde yanıt verme taahhüdü.

Örnek:

<Kuruluşunuzun adı>, sistemlerimizdeki ve hizmetlerimizdeki güvenlik açıklarını tespit edip düzeltmeye yardımcı olmaları için güvenlik araştırmacılarıyla birlikte çalışmaya büyük önem verir. İyi niyetle hareket ettiğiniz ve bu politikada belirtilen yönergelere uyduğunuz sürece, aşağıdaki taahhütlere uymak için elimizden geleni yapacağız:
  • Güvenlik açığı raporunuza ilk yanıtı üç iş günü içinde sağlayın
  • Güvenlik açığı raporunuzu kabul etme (düzeltme niyetinde) veya reddetme (raporunuzu yanlış pozitif veya kabul edilebilir risk olarak tanımlama) on iş günü içinde karar verin
  • Gönderdiğiniz raporlarla ilgili sorunların giderilmesine yönelik ilerlemeler hakkında sizi bilgilendirme

Program politikanızda koruma dilinin kullanılması, araştırmacıların iyi niyetle hareket ettikleri ve politikada açıklanan tüm yönergelere uydukları sürece sistemlerinize yönelik test yapmak amacıyla aleyhlerine yasal işlem yapılmayacağı konusunda güvence verir.

Test yönergeleri

Test yönergelerinde, VDP kapsamındaki güvenlik testlerinin yanı sıra, kapsam dışında olan ve araştırmacıların kaçınması gereken testler açıklanmaktadır. Araştırmacıların odaklanmasını istediğiniz belirli güvenlik açığı türleri varsa, bu bölüm bunları vurgulamak için iyi bir yerdir.

Örnek:
Güvenlik testi gerçekleştirirken lütfen aşağıdaki yönergelere uyun:

  • Yalnızca kendi hesaplarınız ve verilerinizle test edin (ör. test hesapları oluşturun). Diğer kullanıcıların verilerine erişim sağlayabilecek bir güvenlik açığı tanımlarsanız lütfen daha fazla test yapmadan önce bizimle iletişime geçin.
  • Testlerinizde yanlışlıkla diğer kullanıcıların verilerine erişirseniz lütfen bunu bize bildirin ve bu tür kullanıcı verilerini depolamayın.
  • Hizmet reddi koşullarına veya üretim hizmetlerimizin bozulmasına yol açan testler yapmayın.
  • Sosyal mühendislik, bu programın kapsamı dışındadır. Kuruluşumuz veya kullanıcılarımız için sosyal mühendislik eylemlerinde bulunmayın.


Özellikle aşağıdaki güvenlik açığı türleri ve bunların etkileriyle ilgileniyoruz:

  • Uzaktan kod yürütme
  • Hassas verilere erişim sağlayan XSS (ör. oturum bilgileri)
  • Hassas verilere veya işlevlere erişim sağlayan SQL yerleştirme
  • Hassas verilere veya işlevlere erişimle sonuçlanan iş mantığı kusurları


Aşağıdaki güvenlik açığı türleriyle daha az ilgileniyoruz. Bu tür güvenlik açıklarının
yanlış pozitif veya kabul edilmiş riskler olarak reddedilmesi daha olasıdır:

  • Durum değiştirme işlevi bulunmayan sayfalarda X-Frame-Options başlığı eksik
  • Doğrulanmamış otomatik tarayıcı sonuçları
  • Kullanılabilir olma olasılığı düşük ve/veya güvenlik üzerinde gerçekçi bir etkisi olmayan sorunlar

Kapsam

Kapsam, araştırmacıların test yapabileceği öğeleri ve VDP'nin bir parçası olarak kabul edilmeyen öğeleri tanımlar. Kapsamın dikkatli bir şekilde düşünülmesi ve ekibinizi aşırı yüklenmeden mümkün olduğunca geniş olması gerekir. Kapsama ne kadar çok dahil etmek isterseniz güvenlik araştırmacılarından etkileşim alma olasılığınız o kadar artar. Ancak ekibinizin gelen raporları takip edemeyeceği bir şekilde kapsamı genişletmeyin. Birkaç öğe ile başlayın. Alacağınız rapor hacmi hakkında daha iyi bir fikir edindikçe kapsamı genişletin. VDP'nizi zaman içinde herkese açık şekilde açmadan önce, her şeyi kapsama dahil etmeyi hedefleyin.

Program politikanızda kapsamınızı tanımlama açısından, her bir öğe veya alan hakkında ayrıntı eklemek güvenlik araştırmacılarının sizin için neyin önemli olduğunu ve çalışmalarını nereye odaklayacaklarını bilmelerine yardımcı olur. Öğeleriniz üzerinde güvenli bir şekilde test yapmayla ilgili ipuçları da ekleyebilirsiniz. Aşağıda bir örnek verilmiştir:

Öğe mail.example.com
Açıklama Kullanıcıların e-postalarına erişebileceği birincil alan.
İlginç Güvenlik Açıkları ve Etkiler
  • Diğer kullanıcıların e-postalarına yetkisiz erişimle sonuçlanan güvenlik açıkları.
  • Başka bir kullanıcının e-postasını veya tüm hesabını onarılamaz şekilde silme yeteneği.
Reddedilmesi Olası Sorunlar
  • SPF
  • Kimlik avı veya kimlik avını kolaylaştıran sorunlar
  • Kötü amaçlı olabilecek ekler gönderebilme
Test Yönergeleri Yalnızca sahibi olduğunuz veya test yapmak için açık izne sahip olduğunuz hesaplarda test yapın. Test hesabı oluştururken lütfen kullanıcı adının bir yerine "vdptest" ifadesini ekleyin. Test hesaplarını mail.example.com/new adresinde oluşturabilirsiniz.

Bu, oldukça ayrıntılı bir dökümdür. Alternatif olarak, kapsam içi ve kapsam dışı öğelerin basit bir listesini ekleyebilirsiniz:

Kapsama Dahil

  • mail.example.com
  • example.com

Kapsam Dışı

  • blog.example.com

VDP'nize kaynak sağlama

Bir VDP başlatmadan önce belirli kaynaklara ihtiyacınız olacaktır. Aşağıdakiler için kaynaklara ihtiyacınız olacaktır:

  • Gelen güvenlik açığı raporlarını inceleme
  • Bilgisayar korsanlarıyla iletişim kurma
  • Öğe sahiplerini bulma ve hataları bildirme
  • Hataları düzeltme
  • Güvenlik açığı yönetimi / düzeltme takibi

Kilit paydaşları yeniden ziyaret etmek

Henüz yapmadıysanız, VDP'nizi başlatma zaman çizelgesinde uzlaştıklarından emin olmak ve lansman için gerekli kaynakları sıraya koymak üzere VDP'niz hakkında daha önce konuştuğunuz kilit paydaşlarla yaptığınız görüşmeleri tekrar ziyaret edin. Örneğin, ekiplerin lansmandan sonraki ilk birkaç hafta üzerinde çalışacakları olası güvenlik hataları akıntısına hazır olduklarından emin olmak için mühendislik liderleriyle birlikte çalışmak isteyebilirsiniz. Güvenlik ekibiniz içinde, tespit ve müdahale sistemlerinizdeki önceliklendirme uyarılarının VDP başlangıç tarihinden haberdar olduklarından emin olun ve testin başladığı zaman için daha fazla zaman ve kaynak ayırmayı düşünün. Ayrıca, VDP'nizin günlük işlemlerini desteklemeye yardımcı olacak bir ekip oluşturmanız gerekir.

Ekibinizi oluşturun

Bir VDP çalıştırmak önemli miktarda operasyonel, kesinti odaklı çalışma gerektirir. Gelen her güvenlik açığı raporunu incelemeye, teknik olarak doğrulamaya ve yanıtlamaya çalışırsanız, ayrıca her hatayı dosyalayabilir, durumları takip edebilir ve güncellemeleri araştırmacılara tek başınıza iletebilirsiniz. Büyük bir güvenlik ekibiniz olmasa bile VDP'nizi faaliyete geçirmeye ve yürütmeye yardımcı olacak bir ekip oluşturmanıza yardımcı olacak güvenlik odaklı gönüllüler bulun. Yine de VDP'nizin başarısından nihai olarak sorumlu olan, VDP'nizin tanımlanmış bir "sahibi" veya "lideri" istersiniz; ancak bu lideri destekleyecek bir ekibe de ihtiyacınız vardır.

Bir görev programı oluşturun

Hazır olduğunuzda ve VDP'nize yardımcı olmaya istekli olduktan sonra, bir görev programı hazırlayarak programın arkasına bir yapı ekleyin. Bu planı istediğiniz gibi oluşturabilirsiniz, ancak haftalık rotasyon oldukça yaygın bir uygulamadır. Bu hafta görevde olduğunuzda, aşağıdakileri yapmak sizin sorumluluğunuzdadır:

  • Öncelik belirleme - Gelen güvenlik açığı raporlarını inceleme
    • Raporu teknik olarak doğrulayın ve "kabul etme" veya "reddetme" kararını verin
    • Kararınızı, sorunu bildiren bilgisayar korsanına iletin
    • Sorunu yeniden oluşturamıyorsanız gerekirse bilgisayar korsanından daha fazla bilgi isteyin.
    • Güvenlik açığı geçerliyse doğru sahiple bakımlı hata kaydı oluşturun
  • Güvenlik açığı yönetimi: Mevcut güvenlik açıklarını yönlendirme
  • İletişim kurun - Güvenlik araştırmacılarına mevcut raporlar hakkında güncellemeler sunun
    • Araştırmacılar proaktif olarak mevcut raporlarla ilgili güncellemeleri isteyebilir; bunu kontrol edin ve gerektiğinde yanıt verin
    • Bir güvenlik açığı düzeltildiyse bunu araştırmacıya bildirin. Böylece çok fazla çaba sarf edereklerinin kuruluşunuzda olumlu bir değişiklik sağladığını öğrenebilirler. Hatta araştırmacıdan, düzeltmenizde herhangi bir şeyi atlayıp atlamadığınızı veya düzeltmenizin bir şekilde atlanıp atılamayacağını size bildirmesini isteyen bir şablon dili de ekleyebilirsiniz.

Aldığınız rapor sayısına, raporların karmaşıklığına ve görevdeki kişinin becerilerine ve bilgilerine bağlı olarak, görevde olmak birkaç saatten tüm haftanıza kadar uzanabilir. Başarılı bir görev rotasyonu için şu ipuçlarından yararlanabilirsiniz:

  • Ekibinizin devreye girmeye ve özellikle yoğun haftalarda görevi desteklemeye hazır olduğundan emin olun.
  • İyi bir aktarım süreciniz olsun. Görevi devralacak bir sonraki kişinin hemen ilgilenmesi gereken sorunlar varsa, devir notları yazın veya haftanın sonunda canlı bir konuşma yapın.
  • Herkesin ne zaman görev yapacağını bilmesi için otomatik program oluşturun. Bu, her bir kullanıcı için yinelenen takvim girişleri oluşturmak kadar basit olabilir.
  • Özellikle VDP'nizin başlangıcında, görevdeki kişiyle tekrar kontrol edin ve bu haftanın kendi haftası olduğunu hatırladığından emin olun ve herhangi bir yardıma ihtiyaçları olup olmadığını öğrenin. Rotasyonda daha çok tecrübeli kaynaklarınız varsa kendilerini rahat hissetmeleri ve gelişme kaydettikçe sorular sorabilmeleri için daha kıdemli kaynaklara başvurun.
  • Haftaları değiştirmek için esnek bir süreciniz olmalıdır. Kaçınılmaz bir durum olduğu için biri hafta içinde acil durumda olur ya da tatil yapar vb.
  • Hangi görevlerin yerine getirilmesi gerektiğini, bunların nasıl yapılacağıyla ilgili belgelerin de yer aldığı bir görev "yardım belgesi" oluşturun.

Şirket içi ve üçüncü taraf arasında karar verin

Şimdiye kadar sağlanan rehberliğin büyük bir kısmı, VDP'nizi şirket içinde oluşturmanıza ve yürütmenize dayanıyordu. Bir VDP oluşturma ve yürütme konusunda size yardımcı olabilecek çeşitli danışmanlık hizmetleri ve platformları vardır. Bu üçüncü tarafların genellikle bir maliyeti vardır, ancak VDP'nizi nasıl oluşturacağınız, başlatacağınız ve yürüteceğiniz konusunda yol göstererek faydalı olabilir. Bazıları, gelen güvenlik açığı raporlarını inceleyip bilgisayar korsanlarıyla iletişime geçmeye yardımcı olmak ve sadece geçerli raporları ekibinize iletmek için önceliklendirme hizmetleri de sunar. Bu süreci şirket içinde mi geliştireceğinize yoksa üçüncü taraf bir platform mu kullanacağınıza karar vermeniz gereksinimlerinize ve mevcut kaynaklara bağlıdır. Büyük bir bütçeniz varsa ancak çalışan sayınız fazla değilse programınızı yürütmeye yardımcı olması için bir üçüncü taraftan yararlanmak mantıklı olabilir. Aksi takdirde programınızı kendiniz oluşturmak için zaman ayırmaya değer olabilir.

Rapor alma

Bir üçüncü taraf platformunu kullanmaya karar verirseniz bu platformların, bilgisayar korsanlarının raporlarını doğrudan size gönderebilecekleri bir yöntemi olmalıdır. Programınızı kurumun içinde oluşturuyorsanız bunu da sizin oluşturmanız gerekir. Bu, sorun izleyicinizde otomatik olarak destek kaydı veya hata oluşturan bir e-posta adresi (ör. security@example.com) ya da zorunlu form alanlarının program politikanızdan bağlantı verildiği veya program politikanızla aynı sayfada yer aldığı bir web formu olabilir. Hangi biçimde olursa olsun, bilgisayar korsanlarını raporlarınızı almak istediğiniz biçim konusunda bilgilendirmenin en iyi yolu budur. Bilgisayar korsanlarından raporları belirli bir biçimde sunmalarını istemenin her zaman geri döneceklerini garanti etmediğini, ancak bunda bir sakınca olmadığını unutmayın. Rapor gönderme formunda isteyebileceğiniz sorulara dair bir örnek aşağıda verilmiştir:

Başlık: [Lütfen sorunun tek satırlık bir açıklamasını ekleyin, ör. "mail.example.com'da XSS
oturum hırsızlığıyla sonuçlanıyor"]

Özet: [Lütfen güvenlik açığının ve neden önemli olduğuyla ilgili kısa bir açıklama ekleyin. Örneğin, çıkış yapılmadığından XSS yükü içeren başka bir kullanıcıya bir e-posta göndererek saldırganın oturum bilgilerini içeren başka bir kullanıcının çerezlerini çalmasını sağlayabilirsiniz. Bu sayede saldırgan, kurbanın hesabına giriş yapabilir.] Yeniden Oluşturma Adımları: [Lütfen güvenlik açığının yeniden oluşturulmasıyla ilgili adım adım talimatları ekleyin.]
1.
2.
3.

Saldırı Senaryosu ve Etkisi: [Bundan nasıl yararlanabilirsiniz? Bu
sorunun güvenlik üzerindeki etkisi nedir?] Düzeltme Tavsiyesi: [İsteğe bağlı olarak, bu sorunun nasıl düzeltilebileceği veya düzeltilebileceği konusunda bir öneriniz varsa buraya ekleyin.]