واحدة من أكبر الاختلافات اللي قابلتها بين هواية ودراسة البرمجة و بين الشغل الحقيقي هو موضوع إدارة البيانات و بالأخص البيانات الحساسة للمستخدمين, النهارده هنتكلم عن ما هي أصلاً البيانات الحساسة وأساسيات التعامل معها, نحط إيه في بالنا وكمان أفضل الممارسات.

في الدراسة أو المشاريع اللي بنعملها كهواية مش بنتعامل مع بيانات حساسة أكبر من كلمات المرور و بعض البيانات البسيطة اللي غالبًا بنعملها Encryption أو Hashing وكدا بتبقى فاكر إنك عامل قلعة مش تطبيق, الحقيقة إن أنواع البيانات الحساسة أكبر من كدا بكتير وكمان التشفير مش هو الطريقة "الوحيدة" اللي مفروض نتبعها.

ما هي البيانات الحساسة في النظام - Sensitive Data Types 

الـ sensitive data هي أي بيانات لو اتسربت أو اتعرضت بشكل غير مصرح بيه ممكن تسبب ضرر للمستخدم أو الشركة.

الأنواع الأساسية:

  • Personally Identifiable Information - معلومات الهوية الشخصية (PII)

ال PII لا يخلو منها أي نظام و هي البيانات اللي بيها أقدر أتعرف وأوصل لشخص المستخدم في الحقيقة وهي:

    • الاسم، العنوان، رقم التليفون، البريد الإلكتروني
    • رقم الهوية / الباسبور
  • Financial Data - البيانات المالية (PCI)
    • أرقام البطاقات البنكية
    • أرقام و تفاصيل الحسابات البنكية
  • Authentication Data and Secrets - بيانات الدخول و أسرار النظام 
    • passwords
    • tokens / session IDs / API keys
  • Health Data - البيانات الصحية (PHI)
    • سجلات طبية (خاضعة لقوانين زي HIPAA)
  • Intellectual property and business secrets 
    • أسرار تجارية (trade secrets)
    • internal system architecture
💡
البيانات دي في معظم البلدان تخضع لقوانين ولوائح حماية زي GDPR (لو بتتعامل مع EU users) فتطبيق وسائل لحمايتها مش حاجة اختيارية, في الواقع عدم الإمتثال ولو حصل Breach لقوانين الحماية بتتعرض الشركات لغرامات كبيرة وممكن توصل لسحب ترخيص العمل من الشركة كلها لأنها لم تتمثل للقانون وعرّضت بيانات العملاء للخطر.

أهم المفاهيم للتعامل مع البيانات الحساسة 

دي أهم مفاهيم لازم تبني عليها نظامك وهي كذلك مفاهيم عامة في الSecurity Field:

  • Least Privilege

والمفهوم دا بيقول إن كل component أو user يأخذ أقل صلاحيات ممكنة, يعني مدير قسم التسويق مش لازم يكون ليه Access على ال Codebase زي مدير قسم التطوير. قد يبدو إننا بنتكلم في بديهيات ولكن بعض الناس ممكن تصمم نظامها بإن كل المديرين لكل الأقسام ليهم نفس الصلاحيات, دا بيعمل ثغرات أكبر في النظام. 

أشهر مثال لتطبيق المفهوم دا هو إن مش كل المطورين بيكون ليهم نفس أو كل الصلاحيات علي ال Infrastructure بالذات قاعدة البيانات و إدارة ال Servers. 

  • Defense in Depth

لا تعتمد على layer واحدة (مثلاً encryption بس) في تأمين البيانات, الأفضل دومًا إننا نعمل Layering of Security زي ما شوفنا ال Least Privilege فبالفعل لو مدير التسويق تم اختراق جهازه هيكون أصعب علي ال Hacker إنه يوصل لل Codebase أو يسبب ضرر لل Infrastructure.

  • Zero Trust

افترض إن كل request مش موثوق فيها لحد ما يثبت العكس.

فمافيش أي request أو user أو service يتم الوثوق فيه بشكل افتراضي  لازم اتحقق منه كل مرة أو في كل endpoint هيوصلها واتأكد من صلاحيات وصوله ليها.

مفهوم الـ Zero Trust قدّم طريقة جديدة للشركات إنها تفكر إزاي بتدي (access) وإزاي تثق في المستخدمين سواء كانوا من خارج النظام أو من الداخل.

النوع ده من الـ architectures ما بيخليش فيه مجال إنك تثق بشكل ضمني في المستخدمين  الموارد الداخلية، لأن دايمًا كان فيه تجاهل لمخاطر الناس اللي جوه السيستم (insider threats).

الجملة الأساسية هنا: “Never Trust. Always Verify” يعني: ماتثقش في أي حاجة بشكل تلقائي، لازم تتأكد كل مرة وده بيلعب دور مهم جدًا في إنه يمنع أي حد مش مصرح له إنه يوصل للبيانات الحساسة.

 

  • Data Minimization

متجمعش بيانات مش محتاجها لأن أي بيانات زيادة هتحتاج معالجة زيادة و تأمين زيادة من ناحيتك.كمان لو مبقاش في Business need ليها لازم نتخلص منها بشكل مناسب.   وتاني تبدو بديهيات ولكن مبرمجين كتير وقت تصميم النظام مش بيفكروا حقيقة في هل محتاجين البيانات دي أو لاء ومش بنفكر في دورة حياة البيانات بشكل كبير.

أهم المفاهيم للتعامل مع البيانات الحساسة

Best Practices to protect Sensitive data 

التحكم في الوصول Minimal Data Permissions- Access Control

تبعًا ل OWASP ال Broken Access Control يعتبر السبب الأول في قائمة ال Security Risks اللي بتعرض البيانات للخطر. الوصول للبيانات الحساسة لازم يكون دايمًا على أساس “اللي محتاج يعرف بس” (need-to-know basis)، يعني كل مستخدم أو كيان ياخد صلاحيات على قد الشغل المطلوب منه بس.

تقليل الوصول للبيانات بيساعد بشكل كبير إنه يمنع إن البيانات الحساسة تقع في إيد ناس غلط.

كمان التحكم في الوصول مش بس مين يدخل، لكن كمان مستوى الصلاحيات اللي الشخص بياخدها

مثال:

  • ممكن user يبقى عنده read-only access (يقرا بس)
  • ومش مسموح له يعمل تعديل

وده بيضمن إن بس الأشخاص المصرح لهم هم اللي يقدروا يغيروا في البيانات الحساسة.

 تصنيف البيانات (Data Classification)

تصنيف البيانات يعتبر من أبسط وأهم الطرق علشان تضمن إدارة كويسة للبيانات الحساسة. الموضوع ده ممكن يتعمل بطريقتين:

بشكل Automatic: يكون عندك سيستم بيصنّف الملفات بشكل تلقائي وفي وقت شبه فوري، بحيث مفيش أي ملف يفضل من غير تصنيف.

يدوي: المستخدم بنفسه يحط label أو تصنيف للملف

أهمية تصنيف البيانات إنه بيساعد المستخدمين والأنظمة الثانية إنهم يفهموا:

  • نوع البيانات اللي جوه الملف
  • هل البيانات دي حساسة ولا لأ

وبالتالي تقدر تحدد بسهولة نوع الـ controls أو الحماية اللي المفروض تتطبق على الملف ده

التشفير وإدارة المفاتيح Encryption & Key Management 

تشفير كلمات المرور والبيانات الهامة طبعًا لا غنى عنه ولكن لازم نحافظ على البيانات مُشفرة سواء في وقت التخزين أو وقت النقل:

Data at Rest (البيانات وقت التخزين)

  • استخدم AES-256 لتشفير البيانات 

Data in Transit (البيانات وقت النقل)

  • لازم تستخدم HTTPS (TLS 1.2+)
  • امنع أي HTTP plain

وبالنسبة لل Key Management 

  • اعمل key rotations بشكل دوري 
  • متخزنش keys مع data
  • استخدم KMS (Key Management Service) 

 إزالة حساسية البيانات Data Desensitization

بيتقال عليه كمان anonymization أو sanitisation، هو عملية إزالة أو تعديل المعلومات الشخصية من البيانات بحيث ميبقاش سهل تحديد هوية الأشخاص.

الخطوة دي مهمة جدًا علشان تحمي خصوصية الأفراد و تلتزم بالقوانين واللوائح الخاصة بحماية البيانات

وغالبًا بتتستخدم لما:

  • تشارك البيانات مع جهات خارجية (زي الأبحاث أو التحليل الإحصائي)
  • أو حتى داخليًا جوه الشركة لتقليل الوصول للبيانات الحساسة

خوارزميات زي GCM بتخزن البيانات المشفّرة (cipher data) والمفاتيح بشكل منفصل، وده بيصعّب على الهاكرز إنهم يفكوا تشفير بيانات المستخدم.

Monitoring and Auditing

الـ Monitoring و Logging بيلعبوا دور أساسي في حماية البيانات الحساسة لأنهم بيدّوك رؤية كاملة عن اللي بيحصل جوه السيستم .

الـ Logging بيسجلك كل الأحداث المهمة زي تسجيل الدخول، محاولات الفشل الوصول للبيانات، والتعديلات عليها، وده بيوفر سجل تقدر ترجعله في أي وقت.

 ال Monitoring هو متابعة الـ logs دي بشكل مستمر علشان تكتشف أي سلوك غير طبيعي وتتصرف بسرعة. أ

أهم فايدة ليهم إنهم بيساعدوا في اكتشاف الاختراقات بدري.لأن أي نشاط غريب زي login من مكان غير معتاد أو سحب كمية كبيرة من البيانات بيظهر فورًا. كمان بيساعدوا في عمل audit trail يوضح مين عمل إيه وإمتى، وده مهم جدًا في التحقيقات والالتزام بالقوانين.

دورهم كمان كبير في كشف التهديدات الداخلية، زي موظف بيحاول يوصل لبيانات مش من اختصاصه. من ناحية تانية، بيساعدوا في الاستجابة السريعة لأي incident عن طريق alerts فورية تخلّيك تقفل access أو توقف session قبل ما المشكلة تكبر. 

كمبرمج، لازم تسجل أحداث الـ authentication والـ authorization والوصول للبيانات الحساسة، لكن من غير ما تسجل البيانات نفسها زي الباسوردات أو التوكنز، ويفضل تستخدم masking للبيانات وقت عرضها.

Data Lifecycle Management

إدارة دورة حياة البيانات (Data Lifecycle Management) تعتبر عنصر أساسي في حماية البيانات الحساسة لأنها بتتعامل مع البيانات من لحظة الإنشاء لحد ما يتم حذفها بشكل آمن. الفكرة إن البيانات مش ثابتة، لكنها بتمر بمراحل زي الإنشاء، المعالجة، التخزين، الاستخدام، المشاركة، الأرشفة، وأخيرًا الحذف.

 لو أي مرحلة من دول اتساب فيها ثغرة، ممكن يحصل تسريب أو misuse للبيانات. 

أهمية الـ Data Lifecycle Management إنها بتضمن إن كل مرحلة فيها controls مناسبة وهي إطار جامع لكل الممارسات اللي شرحناها من قبل فمثلاً:

  • البيانات تتشفر أثناء التخزين والنقل
  • الوصول ليها يكون محدود حسب الحاجة
  • بتساعد في تطبيق مبدأ data minimization، بحيث ما يتمش الاحتفاظ بالبيانات لفترة أطول من اللازم
  • بتضمن إن النسخ الاحتياطية (backups) تكون مؤمنة ومشفرة
  • بتضمن إن فيه سياسات واضحة للاسترجاع في حالة الكوارث

في الختام

إدارة البيانات الحساسة في الشركات مهمة بتنظمها فرق كاملة ولكن مسؤوليتها بتقع علي كل العاملين وعشان كدا وعينا كمبرمجين بتفاصيل الصورة الكبيرة بيساعدنا نحمي شغلنا اليومي وكمان ال Side Projects بتاعتنا بشكل أفضل. دُمتم ونلقاكم في مقال آخر باذن الله 🙌

المصادر

OWASP Top 10:2025
OWASP Top 10:2025
Sensitive Data Protection in Today’s Software
Last year, the U.S. saw a record high of more than 3,300 confirmed sensitive data compromises that ended up affecting hundreds of millions of individuals across different sectors, with financial services the most targeted.