|
1 |
| -API7:2019 Security Misconfiguration |
2 |
| -=================================== |
| 1 | +<h2 dir='rtl' align='right'> API7:2019 الاعداد الخاطئ</h2> |
3 | 2 |
|
4 |
| -| Threat agents/Attack vectors | Security Weakness | Impacts | |
5 |
| -| - | - | - | |
6 |
| -| API Specific : Exploitability **3** | Prevalence **3** : Detectability **3** | Technical **2** : Business Specific | |
7 |
| -| Attackers will often attempt to find unpatched flaws, common endpoints, or unprotected files and directories to gain unauthorized access or knowledge of the system. | Security misconfiguration can happen at any level of the API stack, from the network level to the application level. Automated tools are available to detect and exploit misconfigurations such as unnecessary services or legacy options. | Security misconfigurations can not only expose sensitive user data, but also system details that may lead to full server compromise. | |
| 3 | +<table dir='rtl' align="right"> |
| 4 | + <tr> |
| 5 | + <th>عوامل التهديد/ الاستغلال </th> |
| 6 | + <th> نقاط الضعف </th> |
| 7 | + <th> التأثير </th> |
| 8 | + <tr> |
| 9 | + <td> خصائص API : قابلية الاستغلال 3</td> |
| 10 | + <td> الانتشار : 3 قابلية الاكتشاف : 3 </td> |
| 11 | + <td> التأثر التقني و تأثر الاعمال: 3 </td> |
| 12 | + </tr> |
| 13 | + <td> يحاول المهاجمون غالباً البحث عن الثغرات الأمنية على مستوى الأنظمة او اليات العمل اول على مصادر بيانات غير محمية وذلك بغيت الوصول الغير مصرح به للمعلومات. </td> |
| 14 | + <td> يمكن ان يحدث الاعداد الخاطئ في أي مستوى من مستويات واجهة برمجة التطبيقات API، ابتداءًا من مستوى الشبكة الى مستوى التطبيقات، حيث تتوفر الأدوات للقيام بالفحص واكتشاف الأخطاء بشكل آلي وذلك بهدف البحث عن مواطن الإعدادات الخاطئة او الخدمات الفعلة والغير ضرورية او الخيارات القديمة والمصابة بثغرات. </td> |
| 15 | + <td> قد يؤدي عملية الإعدادات الخاطئة الى تسريب البيانات وكذلك اختراق الأنظمة والخوادم. </td> |
| 16 | + </tr> |
| 17 | + </table> |
8 | 18 |
|
9 |
| -## Is the API Vulnerable? |
| 19 | +<h3 dir='rtl' align='right'>هل أنا معرض لهذه الثغرة؟</h3> |
10 | 20 |
|
11 |
| -The API might be vulnerable if: |
| 21 | +<p dir='rtl' align='right'> قد يكون واجهة التطبيقات API معرض لثغرات في حال : |
12 | 22 |
|
13 |
| -* Appropriate security hardening is missing across any part of the application |
14 |
| - stack, or if it has improperly configured permissions on cloud services. |
15 |
| -* The latest security patches are missing, or the systems are out of date. |
16 |
| -* Unnecessary features are enabled (e.g., HTTP verbs). |
17 |
| -* Transport Layer Security (TLS) is missing. |
18 |
| -* Security directives are not sent to clients (e.g., [Security Headers][1]). |
19 |
| -* A Cross-Origin Resource Sharing (CORS) policy is missing or improperly set. |
20 |
| -* Error messages include stack traces, or other sensitive information is |
21 |
| - exposed. |
| 23 | +<p dir='rtl' align='right'>▪️ اذا لم يكن هناك أي آلية متبعة لعملية تعزيز حماية النظام في جميع مراحلة او اذا كان هناك تهيئة غير صحيحة على الخدمات السحابية. |
| 24 | +<p dir='rtl' align='right'>▪️ اذا لم يكن هناك آلية لسد الثغرات الأمنية او في حال كانت الأنظمة المستخدمة غير محدثة او خارجة عن الخدمة. |
| 25 | +<p dir='rtl' align='right'>▪️ اذا كان هناك تفعيل لبعض الطلبات الغير مطلوبة مثل بعض طلبات HTTP الغير مستخدمة TREAC او DELETE على سبيل المثال. |
| 26 | +<p dir='rtl' align='right'>▪️ اذا لم يتم استخدام التشفير بواسطة TLS. |
| 27 | +<p dir='rtl' align='right'>▪️ إذا لم يتم تعين سياسة مشاركة المواد بطريقة صحيحة او كان هناك خطا في الإعدادات الخاصة بها |
| 28 | +<p dir='rtl' align='right'>▪️ إذا كانت رسائل الخطة تحتوي على معلومات حساسة ويمكن تتبعها. |
22 | 29 |
|
23 |
| -## Example Attack Scenarios |
| 30 | +<p dir='rtl' align='right'>▪️ |
24 | 31 |
|
25 |
| -### Scenario #1 |
| 32 | +<h3 dir='rtl' align='right'> امثلة على سيناريوهات الهجوم: </h3> |
26 | 33 |
|
27 |
| -An attacker finds the `.bash_history` file under the root directory of the |
28 |
| -server, which contains commands used by the DevOps team to access the API: |
| 34 | +<h4 dir='rtl' align='right'>السيناريو الاول: </h4> |
| 35 | + |
| 36 | +<p dir='rtl' align='right'> يعثر المهاجم على ملف .bash_history في احد المسارات الرئيسية في الخادم والذي يحتوي على الأوامر التي يستخدمها المطورين في الوصول الى واجهة برمجية التطبيقات API. |
29 | 37 |
|
30 | 38 | ```
|
31 | 39 | $ curl -X GET 'https://api.server/endpoint/' -H 'authorization: Basic Zm9vOmJhcg=='
|
32 | 40 | ```
|
| 41 | +<p dir='rtl' align='right'> يمكن للمهاجم ايضاً معرفة مصادر البيانات من خلال الأوامر التي يستخدمها المطورين من خلال تكرار عملية الوصول للملف أعلاه وما حدث ذلك الا بسبب عد توثيق الإجراءات بالشكل الصحيح. |
33 | 42 |
|
34 |
| -An attacker could also find new endpoints on the API that are used only by the |
35 |
| -DevOps team and are not documented. |
36 |
| - |
37 |
| -### Scenario #2 |
| 43 | + |
| 44 | +<h4 dir='rtl' align='right'>السيناريو الثاني : </h4> |
38 | 45 |
|
39 |
| -To target a specific service, an attacker uses a popular search engine to search |
40 |
| -for computers directly accessible from the Internet. The attacker found a host |
41 |
| -running a popular database management system, listening on the default port. The |
42 |
| -host was using the default configuration, which has authentication disabled by |
43 |
| -default, and the attacker gained access to millions of records with PII, |
44 |
| -personal preferences, and authentication data. |
| 46 | +<p dir='rtl' align='right'> يقوم المهاجمون في معظم الأحيان في استخدام محركات البحث بهدف الحصول على خوادم يستطيع من خلالها الوصول الى مصدر البيانات بشكل مباشر. او من خلال البحث عن أحد المنافذ المشهورة في قواعد البيانات او في إدارة الأنظمة والخوادم. وفي حال كان الخادم او النظام المستهدف يقوم باستخدام الأعدادت الافتراضية وغير محمي باستخدام مصادقة صحيحة قد يمكن المهاجم من الوصول للبيانات الشخصية PII والذي قد يؤدي الى تسريب بيانات المستخدمين لتلك الخدمة. |
45 | 47 |
|
46 |
| -### Scenario #3 |
| 48 | +<h4 dir='rtl' align='right'>السيناريو الثالث : </h4> |
47 | 49 |
|
48 |
| -Inspecting traffic of a mobile application an attacker finds out that not all |
49 |
| -HTTP traffic is performed on a secure protocol (e.g., TLS). The attacker finds |
50 |
| -this to be true, specifically for the download of profile images. As user |
51 |
| -interaction is binary, despite the fact that API traffic is performed on a |
52 |
| -secure protocol, the attacker finds a pattern on API responses size, which he |
53 |
| -uses to track user preferences over the rendered content (e.g., profile images). |
| 50 | +<p dir='rtl' align='right'> عند اعتراض حركة المرور للبيانات الخاصة بأحد تطبيقات الهواتف المحمولة والتي تستخدم بروتوكول TLS في حركة البيانات ولكن لا تعتمد على التشفير باستخدام TLS عند استخدام واجهة برمجة التطبيقات API وبعد البحث من قبل المهاجم استطاع معرفة ان عملية تحميل ورفع الصور يتم بشكل غير مشفر، فقد وجد المهاجم نمط وطريقة لمعرفة الاستجابة الواردة من قبل الخادم او من قبل مصدر البيانات والتي قد تمكنه بطريقة او بأخرى من تتبع تفضيلات المستخدمين عند تنزيل او عرض تلك الصور. |
54 | 51 |
|
55 | 52 | ## How To Prevent
|
56 | 53 |
|
|
0 commit comments