مهم جدا
, ملخص لل update الجديد في فلاتر لموضوع الحماية الذي تم الإعلان عنهُ في الحدث الجديد يوم أمس .
تكلموا عن هذا الموضوع فريق فلاتر المتحدث :-
Godofredo Contreras و Alexander Thomas
ومن ضمن هذهِ المواضيع تطرقوا لهذه الاشياء :-
1- موضوع ال Authrizations
طبعا ملاحضة بسيطة عشان تكون المعلومه واضحة بشكل اكبر هناك فرق بين ال Authentication و ال Authorization
أفضل طريقة لتوضيح الاختلافات بين المصطلحين هي باستخدام مثال بسيط. لنفترض أنك قررت الذهاب وزيارة منزل أحد الأصدقاء. عند الوصول ، تدق على الباب ، وفتحه صديقك. وتعرف عليك (هذه هي المصادقهAuthentication)
نظرًا لأن صديقك قد تعرف عليك ، فهو الآن مرتاح للسماح لك بالدخول إلى منزله. ومع ذلك ، بناءً على علاقتك ، هناك أشياء معينة يمكنك القيام بها وأخرى لا يمكنك القيام بها (وهذا هو التفويض Authorization).
على سبيل المثال ، قد تدخل منطقة المطبخ ، لكن لا يمكنك الذهاب إلى المكتب الخاص به . بعبارة أخرى ، لديك إذن بالدخول إلى المطبخ ، لكن الدخول إلى مكتبها الخاص محظور. خلاص وهنا قالو لك خذ بالك من حمايه في هذه الموضيع عشان ما تسمح الاي حد يدخل ويأخذ صلاحيه مش مسموح له أن ياخذها إلا بعد اذن ال admin .
2- العبث مع ملفات المشروع او بيئة العمل التي يعمل عليها (السرفر الذي توجد ملفات المشروع بداخلة ) وهذا يسمى compromise source repo
مثال على ذلك :
-التلاعب بأدوات التطوير
-التلاعب ببيئة التطوير
-التلاعب في مستودعات كود المصدر (عامة أو خاصة).
3- ال (build from modified source ) والمقصود به العبث مع مصدر الكود
مثال: أنت عملت متغير ويكون هذا المتغير Global أي بمعنى أنك تقدر تستدعيه وتسند له قيمة من أي
مكان في التطبيق وبهذهِ الطريق أنت تتيح للهاكر ان يقوم بستدعاء هذا المتغير و إدخال قيمه له من أي مكان في التطبيق واستخدامه بشكل ضار لختراق البيانات ... نعطي مثال لهذا الأمر ....مثلًا أنت كنت تتحقق من أن المستخدم
هل بالفعل قد سجل الدخول الى التطبيق أم لا , وذلك عبر إستخدام متغير من نوع boolean اسمه مثلا isAuth مثلاَ طبعا بتكون قيمته مبدأياً تساوي false
وعندما المستخدم يسجل الدخول نقوم بتحويل isAuth الى true عشان لو المستخدم دخل التطبيق مره اخرى نتحقق أنه إذا كانت قيمه ال isAuth تساوي false معناه أنه ماقد سجل الدخول وفي هذه الحاله بنقول
لتطبيق خلاص دام وما سجل الدخول حولة لصفحة تسجيل الدخول وإذا كانت القيمة ب true خلاص بكذا يكون احنا متاكدين أنه المستخدم قد سجل الدخول من قبل وما يحتاج نحولة لصفحة تسجيل الدخول في كل مره يدخل على التطبيق لذلك نحوله للصفحة الرئيسية ..... تمام اوكي الامور ماشي لا حد الان تمام
بس افترض أنه المخترق وصل للمتغير تبعك الي هو (isAuth) الي انت عامله عام ويقدر اي حد يستدعية من اي مكان في التطبيق وحول قيمته الى true قبل ما يسجل الدخول اصلاً 😄 كيف بيكون الوضع....
اكيد با بيحوله للصفحة الرئسية بدون تسجيل دخول لانه اجى يفحص ال isAuth حصل انه قيمته تساوي true وهذهِ مصيبة ال Global varibales وهذا نوع من أنواع ال (compromise source repo).
4- في حالة بناء التطبيق (compromise build process) يمكن اختراق التطبيق عند بداية تشغيلة او عند عمل initialize للتطبيق
وذلك عبر حقن الذاكر المؤقته بالسلوك السيء والتلاعب بها .
3-إستخدام المكتبات او التبعيات(package) الغير موثوق بها وهذا ما يسمى ال use compromised dependence
وهذه تمثل خطر كبير على التطبيق لانه قد ربما يجيك الهاكر يستخدم بعض ال tools من الي موجوده في المكتبه لتساعدة في الحصول على بعض القيم التي اسندتها في المكتبه , ليتم اختراقك بها
وفي نهاية الفيديو قالو لك من شان تتجنب من بعض هذه المشاكل . قالوا لك يا عمي روح استخدم SLSA كمان
ركز انا قولت من بعض المشاكل مش من كل المشاكل لانه SLSA ما بيضمن لك حماية تطبيقك 100 %
* وتكلموا ايضا عن ال flutter automated publishing وعن اهميته في تجنب الكثير من الوقوع في بعض الاخطاء عند عمل publishing في كل مره بشكل يدوي .
خلاص كذا بس هذا ملخص الفيديو الخاص security بالاضافه الى بعض الحاجات الي اضفته من شان توصل الفكرة بشكل سليم .....
رابط الفيديو للحدث :-
https://youtu.be/7LFftXcw1jA
Post #1908
3.89K