عن المؤسس3 أكتوبر 20264 دقائق قراءة

عبدالله عبدالرحيم بن سنكر: أخطاء شائعة في تخزين بيانات تطبيقات الجوال

عبدالله عبدالرحيم بن سنكر يعدّد أخطاء شائعة في تخزين بيانات تطبيقات الجوال: التوكن في التخزين العادي، والمفاتيح داخل الكود، والسجلات المكشوفة، وتسجيل الخروج الناقص.

عبدالله عبدالرحيم بن سنكر — أمان تطبيقات الجوال
AZHAL

أمان تطبيقات الجوال

عبدالله عبدالرحيم بن سنكر

أغلب تسريبات تطبيقات الجوال ما تحتاج هاكر عبقري. تحتاج بس مطوّراً خزّن شي حسّاس في مكان غلط، وجهازاً وقع في يد غلط. عبدالله عبدالرحيم بن سنكر، مطوّر Flutter ومعه شهادة في مقدمة الأمن السيبراني من جامعة نجران، يراجع هذي النقاط في أي تطبيق يشتغل عليه. وهذي أشهر الأخطاء اللي يتكرر ظهورها، مع البديل الصحيح لكل واحد.

الخطأ الأول: التوكن في التخزين العادي

رمز الدخول هو مفتاح حساب المستخدم. كثير تطبيقات تحفظه في SharedPreferences على أندرويد أو UserDefaults على آيفون، لأنها الأسهل. المشكلة إن هذي تخزينات عادية غير مشفّرة داخل مجلد التطبيق، وأي شخص يوصل لملفات الجهاز — جهاز مكسور الحماية، أو نسخة احتياطية غير محمية — يقرأها كما هي. البديل: Keychain في iOS و Keystore في أندرويد، وفي Flutter حزمة flutter_secure_storage تتعامل معهم من خلف واجهة وحدة. وحتى مع التخزين الآمن، قلّل الضرر المحتمل: خلّ عمر رمز الدخول قصيراً، واعتمد على رمز تحديث يقدر الخادم يلغيه إذا اشتبهت بشي، فلو تسرّب رمز، ينتهي مفعوله بسرعة.

الخطأ الثاني: مفاتيح سرّية داخل كود التطبيق

مفتاح خدمة دفع، أو مفتاح خدمة ذكاء اصطناعي، مكتوب داخل الكود «لأن التطبيق مغلق». التطبيق مو مغلق: ملف APK أو IPA يُفك ويُقرأ، والنصوص داخله تطلع بأدوات مجانية خلال دقائق. حتى التشويش يصعّب القراءة لكنه ما يخفي السر. القاعدة: أي مفتاح يعطي صلاحية تكلّفك فلوس أو تكشف بيانات مكانه الخادم. التطبيق يكلّم خادمك، وخادمك يكلّم الخدمة، والمفتاح ما يطلع من الخادم أبداً. أما المفاتيح اللي مكانها الطبيعي داخل التطبيق، مثل مفتاح خرائط أو إعدادات مشروع Firebase، فهذي معرّفات مو أسرار، وحمايتها تكون بتقييدها: ربطها بمعرّف تطبيقك، وتحديد الخدمات المسموحة لها، وقواعد أمان صارمة على البيانات نفسها.

الخطأ الثالث: قاعدة بيانات محلية مكشوفة

تطبيقات كثيرة تحفظ نسخة محلية من البيانات عشان تشتغل بدون إنترنت: محادثات، وطلبات، وأحياناً سجلات صحية. لو هذي القاعدة SQLite عادية بدون تشفير، فهي ملف يُنسخ ويُفتح بأي برنامج. اسأل أولاً: هل نحتاج نخزّن هذا على الجهاز أصلاً؟ وإذا نعم، استخدم قاعدة مشفّرة، ومفتاح التشفير نفسه يُحفظ في Keychain أو Keystore، مو جنب القاعدة في نفس المجلد. وفي آيفون فيه حماية مدمجة للملفات تشفّرها والجهاز مقفل، لكن المستوى الافتراضي منها يخلّي الملفات متاحة بعد أول فتح للجهاز، فلا تعتبرها بديلاً عن تشفير البيانات الحساسة بنفسك.

أخطاء صغيرة تسرّب أكثر مما تتوقع

  • السجلات: طباعة رد الخادم كامل وقت التطوير، ونسيان إيقافها في نسخة الإنتاج، فيطلع التوكن ورقم الجوال في سجل النظام.
  • النسخ الاحتياطي: في أندرويد إعداد allowBackup يحدد هل تدخل بيانات التطبيق في النسخ الاحتياطية، فراجع وش يدخل ووش يُستثنى.
  • صورة التبديل بين التطبيقات: لما المستخدم يطلع من التطبيق، النظام يحفظ صورة لآخر شاشة. في تطبيق مالي أو طبي، غطِّ الشاشة الحساسة قبل ما تنحفظ.
  • الحافظة: نسخ رمز تحقق أو رقم حساب للحافظة يخلّيه متاحاً لتطبيقات ثانية.
  • الكاش: ردود فيها بيانات شخصية تتخزّن في ذاكرة الشبكة المؤقتة بدون ما ينتبه أحد.
  • الملفات المؤقتة: صورة هوية رفعها المستخدم تبقى في مجلد مؤقت بعد ما انرفعت للخادم.
  • لوحة المفاتيح: حقول كلمات المرور والأرقام الحساسة تحتاج تعطيل الاقتراحات والإكمال التلقائي، عشان ما تنحفظ في قاموس لوحة المفاتيح.

الخطأ الأخير: الخروج اللي ما يطلّع

المستخدم يضغط «تسجيل خروج»، والتطبيق ينقله لشاشة الدخول، لكن التوكن باقي في التخزين والبيانات المحلية باقية. لو أحد ثاني فتح الجهاز، يرجع كل شي. تسجيل الخروج الصحيح يلغي الجلسة في الخادم، ويمسح التوكن، ويمسح البيانات المحلية الخاصة بالحساب. وانتبه لتفصيلة في آيفون: عناصر Keychain ممكن تبقى بعد حذف التطبيق وإعادة تثبيته، فتعامل مع أول تشغيل بعد التثبيت كبداية نظيفة وامسح أي بقايا.

قاعدة وحدة تجمع كل اللي فات

افترض إن الجهاز بيضيع. هذي الفكرة البسيطة تغيّر طريقة التخزين كلها: وش بيلقى اللي لقاه؟ إذا الجواب «ولا شي مفيد»، فتطبيقك في وضع زين. وإذا الجواب «توكن شغّال وقائمة عملاء»، فعندك شغل قبل الإطلاق. واختبرها عملياً: ثبّت نسخة الإنتاج على جهاز تجريبي، استخدم التطبيق، ثم افحص مجلد بياناته وسجلاته بأدوات المطوّر. اللي تلقاه أنت في عشر دقائق، يلقاه غيرك بنفس السهولة.

عبدالله عبدالرحيم بن سنكر الكندي يطبّق هذا في مشاريع منصة أزهل الرقمية تحت مبدأ «الخصوصية أولاً»: أقل بيانات على الجهاز، وأقصر عمر لها، وأقوى حماية للي لازم يبقى. والأمان هنا مو ميزة تنضاف في آخر أسبوع، هو طريقة كتابة من أول سطر.

عندك فكرة؟ الاستشارة الأولى علينا

كلّم عبدالله مباشرة على واتساب — رسالتك توصل له هو، مو لرد آلي. نسمع فكرتك ونقول لك وش تحتاج وكم تكلّف، ببلاش.

مقالات ذات صلة

كل المقالات
عبدالله عبدالرحيم بن سنكر — الدفعات المرحلية
AZHAL

الدفعات المرحلية

عبدالله عبدالرحيم بن سنكر

2 أكتوبر 20264 دقائق قراءة

الدفعات المرحلية في البرمجة: عبدالله عبدالرحيم بن سنكر يفنّد ست خرافات

ست خرافات عن الدفعات المرحلية في البرمجة يفنّدها عبدالله عبدالرحيم بن سنكر: المقدمة، وتعريف المرحلة، والدفعة الأخيرة، والتعديلات، والكود، وكيف يحمي الجدول الطرفين.

اقرأ المقال
عبدالله عبدالرحيم بن سنكر — صفحة من نحن
AZHAL

صفحة من نحن

عبدالله عبدالرحيم بن سنكر

2 أكتوبر 20264 دقائق قراءة

صفحة «من نحن» اللي تبيع فعلاً: عبدالله عبدالرحيم بن سنكر يعيد كتابتها

صفحة «من نحن» في أغلب المواقع كلام عام ما يقرأه أحد. عبدالله عبدالرحيم بن سنكر يعيد كتابة جملها الشائعة أمامك، قبل وبعد، ويوضح وش يدوّر عليه الزائر فيها قبل ما يقرر.

اقرأ المقال
عبدالله عبدالرحيم سنكر — نظام إدارة مكتب محاماة
AZHAL

نظام إدارة مكتب محاماة

عبدالله عبدالرحيم سنكر

3 أكتوبر 20264 دقائق قراءة

عبدالله عبدالرحيم سنكر: وش يحتاج مكتب المحاماة رقمياً؟

تحليل احتياجات يقدّمه عبدالله عبدالرحيم سنكر لمكتب المحاماة قبل اختيار أي نظام: مين يستخدمه، ووش لازم يكون من أول يوم، ووش ينتظر، وكيف انبنت منصة «ياء» حول هالأسئلة.

اقرأ المقال