diff --git a/editions/2023/mkdocs.yml b/editions/2023/mkdocs.yml index c8126cb85..1c1c8b5f4 100644 --- a/editions/2023/mkdocs.yml +++ b/editions/2023/mkdocs.yml @@ -13,3 +13,5 @@ extra: lang: fa - name: Português (Portugal) lang: pt-pt + - name: Türkçe + lang: tr diff --git a/editions/2023/tr/0x00-header.md b/editions/2023/tr/0x00-header.md new file mode 100644 index 000000000..816d56169 --- /dev/null +++ b/editions/2023/tr/0x00-header.md @@ -0,0 +1,14 @@ +--- +title: '' +description: OWASP API Security Top 10 2023 sürümü +--- + +![OWASP LOGO](images/cover.jpg) + +| | | | +| - | - | - | +| https://owasp.org | Bu çalışma [Creative Commons Attribution-ShareAlike 4.0 International License][1] ile lisanslanmıştır | ![Creative Commons License Logo](images/front-cc.png) | + +[1]: http://creativecommons.org/licenses/by-sa/4.0/ + + diff --git a/editions/2023/tr/0x00-notice.md b/editions/2023/tr/0x00-notice.md new file mode 100644 index 000000000..1537a9729 --- /dev/null +++ b/editions/2023/tr/0x00-notice.md @@ -0,0 +1,11 @@ +# Bilgilendirme + +Bu metin, OWASP API Security Top 10 dokümanının metin sürümüdür ve web sitesi gibi bu dokümana ait tüm resmî sürümler için kaynak olarak kullanılır. + +Projeye yorum, düzeltme veya çeviri gibi katkılar bu repository üzerinden yapılmalıdır. [Nasıl Katkıda Bulunulur][1] hakkında ayrıntılı bilgi için [CONTRIBUTING.md][1] dosyasını inceleyebilirsiniz. + +- Erez Yallon +- Inon Shkedy +- Paulo Silva + +[1]: ../../../CONTRIBUTING.md diff --git a/editions/2023/tr/0x00-toc.md b/editions/2023/tr/0x00-toc.md new file mode 100644 index 000000000..978b6badb --- /dev/null +++ b/editions/2023/tr/0x00-toc.md @@ -0,0 +1,23 @@ +# İçindekiler + +- [İçindekiler](0x00-toc.md) +- [OWASP Hakkında](0x01-about-owasp.md) +- [Önsöz](0x02-foreword.md) +- [Giriş](0x03-introduction.md) +- [Sürüm Notları](0x04-release-notes.md) +- [API Güvenlik Riskleri](0x10-api-security-risks.md) +- [OWASP Top 10 API Security Risks – 2023](0x11-t10.md) +- [API1:2023 Broken Object Level Authorization](0xa1-broken-object-level-authorization.md) +- [API2:2023 Broken Authentication](0xa2-broken-authentication.md) +- [API3:2023 Broken Object Property Level Authorization](0xa3-broken-object-property-level-authorization.md) +- [API4:2023 Unrestricted Resource Consumption](0xa4-unrestricted-resource-consumption.md) +- [API5:2023 Broken Function Level Authorization](0xa5-broken-function-level-authorization.md) +- [API6:2023 Unrestricted Access to Sensitive Business Flows](0xa6-unrestricted-access-to-sensitive-business-flows.md) +- [API7:2023 Server Side Request Forgery](0xa7-server-side-request-forgery.md) +- [API8:2023 Security Misconfiguration](0xa8-security-misconfiguration.md) +- [API9:2023 Improper Inventory Management](0xa9-improper-inventory-management.md) +- [API10:2023 Unsafe Consumption of APIs](0xaa-unsafe-consumption-of-apis.md) +- [Geliştiricileri Neler Bekliyor?](0xb0-next-devs.md) +- [DevSecOps'u Neler Bekliyor?](0xb1-next-devsecops.md) +- [Metodoloji ve Veriler](0xd0-about-data.md) +- [Teşekkürler](0xd1-acknowledgments.md) diff --git a/editions/2023/tr/0x01-about-owasp.md b/editions/2023/tr/0x01-about-owasp.md new file mode 100644 index 000000000..71c3f29a3 --- /dev/null +++ b/editions/2023/tr/0x01-about-owasp.md @@ -0,0 +1,44 @@ +# OWASP Hakkında + +Open Worldwide Application Security Project (OWASP), kurumların güvenilir uygulamalar ve API'ler geliştirmesine, satın almasına ve bunların bakımını yapmasına yardımcı olmayı amaçlayan açık bir topluluktur. + +OWASP bünyesinde aşağıdaki kaynaklara ücretsiz ve açık bir şekilde erişebilirsiniz: + +- Uygulama güvenliği araçları ve standartları. +- Uygulama güvenliği testleri, güvenli kod geliştirme ve güvenli kod inceleme konularını kapsamlı biçimde ele alan kitaplar. +- Sunumlar ve [videolar][1]. +- Birçok yaygın konu hakkında [cheat sheet][2]'ler. +- Standart güvenlik kontrolleri ve kütüphaneleri. +- Dünya genelindeki [yerel OWASP toplulukları][3]. +- Öncü araştırmalar. +- Dünya çapında düzenlenen kapsamlı [konferanslar][4]. +- [E-posta listeleri][5] ([arşiv][6]). + +Daha fazla bilgi için: [https://www.owasp.org][7]. + +OWASP'ın tüm araçları, dokümanları, videoları, sunumları ve yerel toplulukları; uygulama güvenliğini geliştirmek isteyen herkesin ücretsiz ve açık erişimine sunulmaktadır. + +Uygulama güvenliğinin insan, süreç ve teknoloji boyutlarıyla birlikte ele alınması gerektiğini savunuyoruz. Çünkü uygulama güvenliğinde en etkili sonuçlar, bu alanların tümünde iyileştirme yapılmasıyla elde edilir. + +OWASP, yeni bir organizasyon modelini temsil eder. Ticari baskılardan bağımsız olmamız, uygulama güvenliği konusunda tarafsız, uygulanabilir ve uygun maliyetli bilgiler sunmamızı sağlar. + +OWASP'ın herhangi bir teknoloji şirketiyle bağlantısı yoktur. Bununla birlikte, ticari güvenlik teknolojilerinin bilinçli bir şekilde kullanılmasını destekleriz. OWASP bünyesindeki içerik ve kaynaklar; iş birliğine dayalı, şeffaf ve açık bir süreçle hazırlanır. + +OWASP Foundation, projenin uzun vadeli başarısını güvence altına alan kâr amacı gütmeyen bir kuruluştur. OWASP yönetim kurulu üyeleri, yerel topluluk liderleri, proje liderleri ve proje üyeleri dâhil olmak üzere OWASP bünyesinde görev alan kişilerin neredeyse tamamı gönüllüdür. Yenilikçi güvenlik araştırmalarını fon ve altyapı desteğiyle destekliyoruz. + +Siz de bize katılın! + +## Telif Hakkı ve Lisans + +![license](images/license.png) + +Copyright © 2003-2023 The OWASP Foundation. Bu belge, [Creative Commons Attribution Share-Alike 4.0 lisansı][8] kapsamında yayınlanmıştır. Bu çalışmayı yeniden kullanırken veya dağıtırken, lisans koşullarını açıkça belirtmeniz gerekir. + +[1]: https://www.youtube.com/user/OWASPGLOBAL +[2]: https://cheatsheetseries.owasp.org/ +[3]: https://owasp.org/chapters/ +[4]: https://owasp.org/events/ +[5]: https://groups.google.com/a/owasp.org/forum/#!overview +[6]: https://lists.owasp.org/mailman/listinfo +[7]: https://www.owasp.org +[8]: http://creativecommons.org/licenses/by-sa/4.0/ diff --git a/editions/2023/tr/0x02-foreword.md b/editions/2023/tr/0x02-foreword.md new file mode 100644 index 000000000..3322a4790 --- /dev/null +++ b/editions/2023/tr/0x02-foreword.md @@ -0,0 +1,28 @@ +# Ön Söz + +Günümüzde uygulamaların merkezde olduğu dünyada inovasyonun temel unsurlarından biri, Uygulama Programlama Arayüzüdür (API). Bankacılık, perakende ve ulaşımdan IoT, otonom araçlar ve akıllı şehirlere kadar API'ler; modern mobil uygulamaların, SaaS çözümlerinin ve web uygulamalarının kritik bir parçasıdır. Müşterilere ve iş ortaklarına sunulan uygulamaların yanı sıra kurum içi uygulamalarda da yaygın olarak kullanılır. + +API'ler, doğaları gereği uygulama mantığını ve Kişisel Olarak Tanımlanabilir Bilgiler (PII) gibi hassas verileri dışarıya açar. Bu nedenle saldırganların giderek daha fazla hedefi hâline gelmiştir. Güvenli API'ler olmadan hızlı inovasyon mümkün değildir. + +Web uygulamalarına yönelik daha kapsamlı bir Top 10 güvenlik riskleri listesinin hâlâ gerekli olmasına karşın, API'lerin kendine özgü yapısı nedeniyle API'lere özel bir güvenlik riskleri listesine de ihtiyaç vardır. API güvenliği; API'lere özgü zafiyetleri ve güvenlik risklerini anlamaya ve azaltmaya yönelik strateji ve çözümlere odaklanır. + +[OWASP Top 10 Projesi][1]'ne aşinaysanız, iki belge arasındaki benzerlikleri fark edeceksiniz. Her ikisi de okunabilirlik ve uygulanabilirlik göz önünde bulundurularak hazırlanmıştır. OWASP Top 10 serisinde yeniyseniz, doğrudan Top 10 listesine geçmeden önce [API Güvenlik Riskleri][2] ve [Metodoloji ve Veriler][3] bölümlerini okumanız daha faydalı olabilir. + +OWASP API Security Top 10 projesine ilişkin soru, yorum ve fikirlerinizi GitHub proje reposu üzerinden paylaşarak projeye katkıda bulunabilirsiniz: + +- https://owasp.org/www-project-api-security/ +- https://github.com/OWASP/API-Security/blob/master/CONTRIBUTING.md + +OWASP API Security Top 10'a aşağıdaki adreslerden ulaşabilirsiniz: + +- https://owasp.org/www-project-api-security/ +- https://github.com/OWASP/API-Security + +Emekleri ve katkılarıyla bu projenin hayata geçirilmesini sağlayan tüm katkıda bulunanlara teşekkür ederiz. Katkıda bulunanların tamamını [Teşekkürler][4] bölümünde bulabilirsiniz. + +Teşekkürler! + +[1]: https://owasp.org/www-project-top-ten/ +[2]: ./0x10-api-security-risks.md +[3]: ./0xd0-about-data.md +[4]: ./0xd1-acknowledgments.md diff --git a/editions/2023/tr/0x03-introduction.md b/editions/2023/tr/0x03-introduction.md new file mode 100644 index 000000000..98bc5f488 --- /dev/null +++ b/editions/2023/tr/0x03-introduction.md @@ -0,0 +1,45 @@ +# Giriş + +## OWASP API Security Top 10 - 2023'e Hoş Geldiniz! + +OWASP API Security Top 10'un ikinci sürümüne hoş geldiniz! + +Farkındalık oluşturmayı amaçlayan bu belge ilk kez 2019 yılında yayınlandı. O zamandan bu yana API Security sektörü önemli ölçüde gelişti ve olgunlaştı. Bu çalışmanın kısa sürede sektörde başvurulan temel kaynaklardan biri haline gelmesinin, söz konusu gelişmeye olumlu katkı sağladığına inanıyoruz. + +API'ler modern uygulama mimarilerinde son derece önemli bir role sahiptir. Ama inovasyonun hızı, güvenlik farkındalığının hızından farklıdır. Bu yüzden de yaygın API güvenlik zayıflıkları konusunda farkındalık oluşturmaya odaklanmanın önemli olduğuna inanıyoruz. + +OWASP API Security Top 10'un temel amacı; API geliştirme ve yönetiminde görev alan, geliştiriciler, tasarımcılar, mimarlar, yöneticiler ve kurumları bilgilendirmek ve eğitmektir. API Security Project hakkında daha fazla bilgiye [proje sayfasından][1] ulaşabilirsiniz. + +OWASP Top 10 serisine aşina değilseniz, en azından aşağıdaki 10 projeye göz atmanızı öneririz: + +- [OWASP Cloud-Native Application Security Top 10][2] +- [OWASP Desktop App Security Top 10][3] +- [OWASP Docker Top 10][4] +- [OWASP Low-Code/No-Code Top 10][5] +- [OWASP Machine Learning Security Top Ten][6] +- [OWASP Mobile Top 10][7] +- [OWASP TOP 10][8] +- [OWASP Top 10 CI/CD Security Risks][9] +- [OWASP Top 10 Client-Side Security Risks][10] +- [OWASP Top 10 Privacy Risks][11] +- [OWASP Serverless Top 10][12] + +Bu projelerin hiçbiri bir diğerinin yerine geçmez. Örneğin backend API kullanan bir mobil uygulama geliştiriyorsanız, hem mobil uygulamalara hem de API'lere yönelik Top 10 dokümanlarını okumanız daha yararlı olacaktır. Aynı durum API ile desteklenen web ve masaüstü uygulamaları için de geçerlidir. + +Bu sürümün nasıl hazırlandığıyla ilgili daha çok bilgiyi [Metodoloji ve Veriler][13] bölümünde bulabilirsiniz. Bu süreçte herkesi soru, yorum ve fikirleriyle [GitHub reposu][14] veya [E-posta listesi][15] üzerinden katkı yapmaya davet ediyoruz. + +[1]: https://owasp.org/www-project-api-security/ +[2]: https://owasp.org/www-project-cloud-native-application-security-top-10/ +[3]: https://owasp.org/www-project-desktop-app-security-top-10/ +[4]: https://owasp.org/www-project-docker-top-10/ +[5]: https://owasp.org/www-project-top-10-low-code-no-code-security-risks/ +[6]: https://owasp.org/www-project-machine-learning-security-top-10/ +[7]: https://owasp.org/www-project-mobile-top-10/ +[8]: https://owasp.org/www-project-top-ten/ +[9]: https://owasp.org/www-project-top-10-ci-cd-security-risks/ +[10]: https://owasp.org/www-project-top-10-client-side-security-risks/ +[11]: https://owasp.org/www-project-top-10-privacy-risks/ +[12]: https://owasp.org/www-project-serverless-top-10/ +[13]: ./0xd0-about-data.md +[14]: https://github.com/OWASP/API-Security +[15]: https://groups.google.com/a/owasp.org/forum/#!forum/api-security-project diff --git a/editions/2023/tr/0x04-release-notes.md b/editions/2023/tr/0x04-release-notes.md new file mode 100644 index 000000000..036759baa --- /dev/null +++ b/editions/2023/tr/0x04-release-notes.md @@ -0,0 +1,23 @@ +# Sürüm Notları + +Bu, tam dört yılın ardından, OWASP API Security Top 10'un ikinci sürümüdür. Bu süreçte API ve API güvenliği alanında çok şey değişti. API trafiği hızla arttı, bazı API protokolleri çok daha yaygın hâle geldi, çok sayıda yeni API güvenliği sağlayıcısı ve çözümü ortaya çıktı. Elbette saldırganlar da API'leri ele geçirmek için yeni beceri ve teknikler geliştirdi. Bu nedenle en kritik 10 API güvenliği riskini içeren listenin güncellenme zamanı gelmişti. + +API güvenlik sektörünün daha olgun bir seviyeye ulaşmasıyla, ilk kez [halka açık bir veri çağrısı][1] yapıldı. Ne yazık ki bu çağrı sonucunda herhangi bir veri paylaşılmadı. Buna rağmen proje ekibinin deneyimi, API güvenliği uzmanlarının ayrıntılı incelemeleri ve sürüm adayı hakkında topluluktan alınan geri bildirimler doğrultusunda yeni listeyi oluşturduk. Bu sürümün nasıl oluşturulduğuyla ilgili daha fazla bilgiye [Metodoloji ve Veriler bölümünden][2] ulaşabilirsiniz. Güvenlik riskleri hakkında daha fazla bilgi için [API Güvenlik Riskleri bölümüne][3] bakabilirsiniz. + +OWASP API Security Top 10 2023, hızlı gelişen bir sektör için ileriye dönük hazırlanmış bir farkındalık dokümanıdır. Diğer Top 10 çalışmalarının yerini almaz. Bu sürümde: + +- Excessive Data Exposure (Gereğinden Fazla Verinin Açığa Çıkarılması) ve Mass Assignment (Kontrolsüz Toplu Atama) kategorilerini, ortak temel neden olan nesne özelliği düzeyindeki yetkilendirme kontrollerinin yetersizliği etrafında birleştirdik. +- Kaynakların ne kadar hızlı tükendiğinden çok, kaynak tüketiminin kendisine daha fazla ağırlık verdik +- Çoğu rate limiting uygulanarak azaltılabilenler de dâhil olmak üzere yeni tehditleri ele almak amacıyla "Unrestricted Access to Sensitive Business Flows" (Hassas İş Akışlarına Sınırsız Erişim) adlı yeni bir kategori oluşturduk. +- Son dönemde gözlemlemeye başladığımız yeni bir saldırı yaklaşımını ele almak için "Unsafe Consumption of APIs" (API'lerin Güvensiz Kullanımı) kategorisini ekledik. Saldırganlar artık doğrudan hedefin API'lerine saldırmak yerine, hedef sistemle entegre çalışan servisleri bularak bu servisleri ele geçirmeye çalışıyor. Giderek büyüyen bu risk konusunda farkındalık oluşturmanın zamanı geldi. + +API'ler; modern mikroservis mimarisinde, Tek Sayfa Uygulamalarında (SPA), mobil uygulamalarda, IoT'de vb. giderek daha önemli bir rol üstlenmektedir. OWASP API Security Top 10, güncel API güvenliği sorunları konusunda farkındalık oluşturmak amacıyla yürütülen önemli bir çalışmadır. + +Bu güncelleme, [Teşekkürler][4] bölümünde listelenen çok sayıda gönüllünün büyük emeği sayesinde mümkün olmuştur. + +Teşekkürler! + +[1]: https://owasp.org/www-project-api-security/announcements/cfd/2022/ +[2]: ./0xd0-about-data.md +[3]: ./0x10-api-security-risks.md +[4]: ./0xd1-acknowledgments.md diff --git a/editions/2023/tr/0x10-api-security-risks.md b/editions/2023/tr/0x10-api-security-risks.md new file mode 100644 index 000000000..3a021fd25 --- /dev/null +++ b/editions/2023/tr/0x10-api-security-risks.md @@ -0,0 +1,40 @@ +# API Güvenlik Riskleri + +Risk analizi yapılırken [OWASP Risk Değerlendirme Metodolojisi][1] kullanılmıştır. + +Aşağıdaki tabloda risk skoruyla ilişkili terminoloji özetlenmiştir. + +| Tehdit Aktörleri | İstismar Edilebilirlik | Zayıflığın Yaygınlığı | Zayıflığın Tespit Edilebilirliği | Teknik Etki | İş Etkileri | +| :--------------: | :--------------: | :-------------------: | :------------------------------: | :---------: | :------------: | +| API'ye Özel | Kolay: **3** | Çok Yaygın **3** | Kolay **3** | Ciddi **3** | İşletmeye Özel | +| API'ye Özel | Orta: **2** | Yaygın **2** | Orta **2** | Orta **2** | İşletmeye Özel | +| API'ye Özel | Zor: **1** | Nadir **1** | Zor **1** | Düşük **1** | İşletmeye Özel | + +**Not**: Bu yaklaşım, tehdit aktörünün saldırıyı gerçekleştirme olasılığını dikkate almaz. Ayrıca uygulamanıza özgü teknik ayrıntıları da hesaba katmaz. Bu unsurlardan herhangi biri, bir saldırganın belirli bir zafiyeti bulma ve istismar etme olasılığını önemli ölçüde etkileyebilir. +Bu derecelendirme, kuruluşunuzun maruz kalacağı gerçek iş etkisini de değerlendirmez. Kuruluşunuz; kurum kültürü, faaliyet gösterdiği sektör ve tabi olduğu düzenleyici ortamı göz önünde bulundurarak uygulamalardan ve API'lerden kaynaklanan güvenlik risklerinin ne kadarını kabul edebileceğine kendisi karar vermelidir. +OWASP API Security Top 10'un amacı, bu risk analizini kuruluşunuz adına yapmak değildir. Bu sürüm veriye dayalı olarak hazırlanmadığı için zafiyetlerin yaygınlık düzeyleri, ekip üyelerinin ortak değerlendirmesi sonucunda belirlenmiştir. + +## Kaynaklar + +### OWASP + +- [OWASP Risk Değerlendirme Metodolojisi][1] +- [Tehdit/Risk Modellemesi Hakkında Makale][2] + +### Harici Kaynaklar + +- [ISO 31000: Risk Yönetimi Standardı][3] +- [ISO 27001: BGYS][4] +- [NIST Siber Güvenlik Çerçevesi (ABD)][5] +- [ASD Stratejik Azaltım Önlemleri (AU)][6] +- [NIST CVSS 3.0][7] +- [Microsoft Tehdit Modelleme Aracı][8] + +[1]: https://owasp.org/www-project-risk-assessment-framework/ +[2]: https://owasp.org/www-community/Threat_Modeling +[3]: https://www.iso.org/iso-31000-risk-management.html +[4]: https://www.iso.org/isoiec-27001-information-security.html +[5]: https://www.nist.gov/cyberframework +[6]: https://www.asd.gov.au/infosec/mitigationstrategies.htm +[7]: https://nvd.nist.gov/vuln-metrics/cvss/v3-calculator +[8]: https://www.microsoft.com/en-us/download/details.aspx?id=49168 diff --git a/editions/2023/tr/0x11-t10.md b/editions/2023/tr/0x11-t10.md new file mode 100644 index 000000000..68bd9dbc1 --- /dev/null +++ b/editions/2023/tr/0x11-t10.md @@ -0,0 +1,28 @@ +# OWASP En Kritik 10 API Güvenliği Riski – 2023 + +| Risk | Açıklama | +| -------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| [API1:2023 - Nesne Düzeyinde Yetkilendirme Eksikliği][api1] | API'ler genellikle nesne tanımlayıcılarını işleyen uç noktaları dışarıya açar. Bu durum, nesne düzeyinde yetkilendirme açıkları açısından geniş bir saldırı yüzeyi oluşturur. Kullanıcıdan alınan bir kimlik değeriyle veri kaynağına erişen her fonksiyonda nesne düzeyinde yetkilendirme kontrolü yapılmalıdır. | +| [API2:2023 - Kimlik Doğrulama Eksikliği][api2] | Kimlik doğrulama mekanizmaları sıklıkla hatalı biçimde uygulanır. Bu durum, saldırganların kimlik doğrulama belirteçlerini ele geçirmesine veya uygulamadaki kusurları istismar ederek geçici ya da kalıcı biçimde başka kullanıcıların kimliğine bürünmesine olanak tanır. Bir sistemin istemciyi veya kullanıcıyı doğru biçimde tanımlama yeteneğinin tehlikeye atılması, API güvenliğinin tamamını olumsuz etkiler. | +| [API3:2023 - Nesne Özelliği Düzeyinde Yetkilendirme Eksikliği][api3] | Bu kategori, [API3:2019 Excessive Data Exposure][1] ile [API6:2019 - Mass Assignment][2] kategorilerini ortak temel neden etrafında birleştirir: nesne özellikleri düzeyindeki yetkilendirme kontrollerinin eksik veya hatalı uygulanması. Bu durum, yetkisiz kişilerin verilere erişmesine veya verileri değiştirmesine yol açabilir. | +| [API4:2023 - Sınırsız Kaynak Tüketimi][api4] | API isteklerinin işlenmesi; ağ bant genişliği, CPU, bellek ve depolama gibi kaynakların kullanılmasını gerektirir. E-posta, SMS, telefon görüşmesi veya biyometrik doğrulama gibi diğer hizmetler ise API entegrasyonları aracılığıyla servis sağlayıcılar tarafından sunulabilir ve istek başına ücretlendirilebilir. Başarılı saldırılar, hizmet reddine veya operasyonel maliyetlerin artmasına yol açabilir. | +| [API5:2023 - Fonksiyon Düzeyinde Yetkilendirme Eksikliği][api5] | Farklı hiyerarşi, grup ve rollere sahip karmaşık erişim kontrolü politikaları ile yönetimsel ve standart fonksiyonlar arasındaki sınırların net olmaması, yetkilendirme açıklarına yol açabilir. Saldırganlar bu açıkları istismar ederek diğer kullanıcıların kaynaklarına ve/veya yönetimsel fonksiyonlara erişebilir. | +| [API6:2023 - Hassas İş Akışlarına Sınırsız Erişim][api6] | Bu riske açık API'ler; bilet satın alma veya yorum gönderme gibi iş akışlarını, söz konusu fonksiyonların otomatik biçimde ve aşırı kullanılması durumunda işletmeye verebileceği zararı yeterince dikkate almadan dışarıya açar. Bu risk her zaman bir uygulama geliştirme hatasından kaynaklanmaz. | +| [API7:2023 - Sunucu Taraflı İstek Sahteciliği][api7] | Sunucu Taraflı İstek Sahteciliği (SSRF) açıkları, bir API'nin kullanıcı tarafından sağlanan URI'yi doğrulamadan uzak bir kaynağa erişmesi durumunda ortaya çıkabilir. Bu durum, uygulama bir güvenlik duvarı veya VPN ile korunuyor olsa bile saldırganın uygulamayı özel olarak hazırlanmış bir isteği beklenmeyen bir hedefe göndermeye zorlamasına olanak tanır. | +| [API8:2023 - Hatalı Güvenlik Yapılandırması][api8] | API'ler ve bunları destekleyen sistemler, API'leri daha fazla özelleştirebilmek amacıyla genellikle karmaşık yapılandırmalar içerir. Yazılım ve DevOps mühendisleri bazı yapılandırmaları gözden kaçırabilir veya güvenli yapılandırma uygulamalarına uymayabilir. Bu durum, farklı saldırı türlerine zemin hazırlayabilir. | +| [API9:2023 - Yetersiz Envanter Yönetimi][api9] | API'ler, geleneksel web uygulamalarına kıyasla daha fazla uç noktayı dışarıya açma eğilimindedir. Bu nedenle doğru ve güncel dokümantasyon büyük önem taşır. Kullanımdan kaldırılmış API sürümleri ve dışarıya açık hata ayıklama uç noktaları gibi riskleri azaltmak için sunucuların ve yayındaki API sürümlerinin eksiksiz biçimde envantere alınması gerekir. | +| [API10:2023 - API'lerin Güvensiz Kullanımı][api10] | Geliştiriciler, üçüncü taraf API'lerden alınan verilere çoğu zaman kullanıcı girdilerinden daha fazla güvenir ve bu nedenle daha zayıf güvenlik kontrolleri uygulayabilir. Saldırganlar, hedef API'yi doğrudan ele geçirmek yerine API ile entegre çalışan üçüncü taraf servisleri hedefleyebilir. | + +[1]: https://owasp.org/API-Security/editions/2019/en/0xa3-excessive-data-exposure/ +[2]: https://owasp.org/API-Security/editions/2019/en/0xa6-mass-assignment/ +[3]: https://owasp.org/API-Security/editions/2019/en/0xa4-lack-of-resources-and-rate-limiting/ +[api1]: 0xa1-broken-object-level-authorization.md +[api2]: 0xa2-broken-authentication.md +[api3]: 0xa3-broken-object-property-level-authorization.md +[api4]: 0xa4-unrestricted-resource-consumption.md +[api5]: 0xa5-broken-function-level-authorization.md +[api6]: 0xa6-unrestricted-access-to-sensitive-business-flows.md +[api7]: 0xa7-server-side-request-forgery.md +[api8]: 0xa8-security-misconfiguration.md +[api9]: 0xa9-improper-inventory-management.md +[api10]: 0xaa-unsafe-consumption-of-apis.md diff --git a/editions/2023/tr/0xa1-broken-object-level-authorization.md b/editions/2023/tr/0xa1-broken-object-level-authorization.md new file mode 100644 index 000000000..032fa170d --- /dev/null +++ b/editions/2023/tr/0xa1-broken-object-level-authorization.md @@ -0,0 +1,78 @@ +# API1:2023 Nesne Düzeyinde Yetkilendirme Eksikliği + +| Tehdit aktörleri / Saldırı vektörleri | Güvenlik Zayıflığı | Etkiler | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | +| API'ye özgü · İstismar edilebilirlik: **Kolay** | Yaygınlık: **Çok yaygın** · Tespit edilebilirlik: **Kolay** | Teknik etki: **Orta** · İş etkisi: **Kuruluşa özgü** | +| Saldırganlar, istekte gönderilen bir nesnenin ID'sini değiştirerek nesne düzeyinde yetkilendirme kontrolleri yetersiz olan API uç noktalarını istismar edebilir. Nesne ID'leri; sıralı tam sayılar, UUID'ler veya herhangi bir karakter dizisi olabilir. Veri türünden bağımsız olarak bu ID'ler; istek hedefinde (yol veya sorgu dizesi parametrelerinde), istek başlıklarında ya da istek gövdesinde kolaylıkla tespit edilebilir. | Bu sorun API tabanlı uygulamalarda son derece yaygındır. Bunun nedeni, sunucu bileşeninin genellikle istemcinin durumunu tam olarak takip etmemesi ve erişilecek nesneleri belirlemek için istemciden gönderilen nesne ID'leri gibi parametrelere güvenmesidir. Sunucunun verdiği yanıt, isteğin başarılı olup olmadığını anlamak için çoğu zaman yeterlidir. | Başka kullanıcılara ait nesnelere yetkisiz erişim; verilerin yetkisiz kişilere açıklanmasına, kaybolmasına veya değiştirilmesine yol açabilir. Belirli koşullarda nesnelere yetkisiz erişim, bir hesabın tamamen ele geçirilmesiyle de sonuçlanabilir. | + +## API Bu Zafiyete Açık mı? + +Nesne düzeyinde yetkilendirme, bir kullanıcının yalnızca erişim iznine sahip olduğu nesnelere erişebilmesini sağlamak amacıyla genellikle kod düzeyinde uygulanan bir erişim kontrolü mekanizmasıdır. + +Bir nesnenin ID'sini alan ve bu nesne üzerinde herhangi bir işlem gerçekleştiren her API uç noktası, nesne düzeyinde yetkilendirme kontrolleri uygulamalıdır. Bu kontroller, oturum açmış kullanıcının istenen nesne üzerinde talep edilen işlemi gerçekleştirme yetkisine sahip olduğunu doğrulamalıdır. + +Bu mekanizmadaki eksiklikler genellikle verilerin yetkisiz biçimde açıklanmasına, değiştirilmesine veya silinmesine yol açar. + +Mevcut oturumdaki kullanıcı ID'sini, örneğin JWT'den çıkararak, istemciden gelen ID parametresiyle karşılaştırmak; Nesne Düzeyinde Yetkilendirme Eksikliği (BOLA) sorununu çözmek için yeterli değildir. Bu yaklaşım yalnızca sınırlı sayıdaki senaryoyu kapsayabilir. + +BOLA durumunda kullanıcının ilgili API uç noktasına veya fonksiyona erişebilmesi tasarım gereğidir. Yetkilendirme ihlali, ID'nin değiştirilmesiyle nesne düzeyinde gerçekleşir. Saldırgan, erişim yetkisi bulunmayan bir API uç noktasına veya fonksiyona erişebiliyorsa bu durum BOLA değil, [Fonksiyon Düzeyinde Yetkilendirme Eksikliği][5] (BFLA) olarak değerlendirilir. + +## Örnek Saldırı Senaryoları + +### Senaryo 1 + +Çevrimiçi mağazalara hizmet veren bir e-ticaret platformu, barındırdığı mağazaların gelir grafiklerini gösteren bir listeleme sayfası sunar. Tarayıcı isteklerini inceleyen bir saldırgan, bu grafiklerin veri kaynağı olarak kullanılan API uç noktasını ve URL yapısını tespit edebilir: + +`/shops/{shopName}/revenue_data.json` + +Saldırgan, başka bir API uç noktasını kullanarak platformda barındırılan tüm mağazaların adlarını elde edebilir. Ardından basit bir betikle URL'deki `{shopName}` değerini listedeki mağaza adlarıyla değiştirerek binlerce e-ticaret mağazasının satış verilerine erişebilir. + +### Senaryo 2 + +Bir otomobil üreticisi, sürücünün cep telefonuyla iletişim kuran bir mobil API aracılığıyla araçların uzaktan kontrol edilmesini sağlar. API; sürücünün motoru uzaktan çalıştırıp durdurmasına, kapıları kilitlemesine ve kilidini açmasına olanak tanır. + +Bu işlem sırasında kullanıcı, Araç Kimlik Numarasını (VIN) API'ye gönderir. API, gönderilen VIN'in oturum açmış kullanıcıya ait bir aracı temsil edip etmediğini doğrulamazsa BOLA zafiyeti ortaya çıkar. Böylece bir saldırgan, kendisine ait olmayan araçlara erişebilir. + +### Senaryo 3 + +Çevrimiçi bir belge depolama hizmeti, kullanıcıların belgelerini görüntülemesine, düzenlemesine, saklamasına ve silmesine olanak tanır. Bir belge silindiğinde, belge ID'sini içeren bir GraphQL mutation isteği API'ye gönderilir. + +```http +POST /graphql +{ + "operationName": "deleteReports", + "variables": { + "reportKeys": [""] + }, + "query": "mutation deleteReports($siteId: ID!, $reportKeys: [String]!) { + { + deleteReports(reportKeys: $reportKeys) + } + }" +} +``` + +## Nasıl Önlenir? + +- Kullanıcı politikalarını, rollerini ve yetki hiyerarşisini temel alan uygun bir yetkilendirme mekanizması uygulayın. +- İstemciden alınan bir değerle veritabanındaki bir kayda erişen her fonksiyonda, oturum açmış kullanıcının istenen işlemi söz konusu kayıt üzerinde gerçekleştirme yetkisine sahip olduğunu yetkilendirme mekanizmasıyla doğrulayın. +- Kayıt ID'leri için GUID gibi rastgele ve tahmin edilmesi zor değerleri tercih edin. Ancak bu değerlerin tek başına bir yetkilendirme kontrolü olmadığını unutmayın. +- Yetkilendirme mekanizmasındaki zafiyetleri tespit edecek testler yazın. Bu testlerin başarısız olmasına neden olan değişiklikleri canlı ortama dağıtmayın. + +## Kaynaklar + +### OWASP + +- [Yetkilendirme Hızlı Başvuru Rehberi][1] +- [Yetkilendirme Testlerinin Otomasyonu Hızlı Başvuru Rehberi][2] + +### Harici Kaynaklar + +- [CWE-285: Hatalı Yetkilendirme][3] +- [CWE-639: Kullanıcı Tarafından Denetlenen Anahtar Aracılığıyla Yetkilendirmeyi Aşma][4] + +[1]: https://cheatsheetseries.owasp.org/cheatsheets/Authorization_Cheat_Sheet.html +[2]: https://cheatsheetseries.owasp.org/cheatsheets/Authorization_Testing_Automation_Cheat_Sheet.html +[3]: https://cwe.mitre.org/data/definitions/285.html +[4]: https://cwe.mitre.org/data/definitions/639.html +[5]: ./0xa5-broken-function-level-authorization.md diff --git a/editions/2023/tr/images/cover.jpg b/editions/2023/tr/images/cover.jpg new file mode 100644 index 000000000..db6e87f8d Binary files /dev/null and b/editions/2023/tr/images/cover.jpg differ diff --git a/editions/2023/tr/images/front-cc.png b/editions/2023/tr/images/front-cc.png new file mode 100644 index 000000000..45f139804 Binary files /dev/null and b/editions/2023/tr/images/front-cc.png differ diff --git a/editions/2023/tr/images/front-wasp.png b/editions/2023/tr/images/front-wasp.png new file mode 100644 index 000000000..5a163dd4b Binary files /dev/null and b/editions/2023/tr/images/front-wasp.png differ diff --git a/editions/2023/tr/images/license.png b/editions/2023/tr/images/license.png new file mode 100644 index 000000000..124d3ba4d Binary files /dev/null and b/editions/2023/tr/images/license.png differ diff --git a/editions/2023/tr/images/owasp-logo.png b/editions/2023/tr/images/owasp-logo.png new file mode 100644 index 000000000..b0af38b27 Binary files /dev/null and b/editions/2023/tr/images/owasp-logo.png differ