مقال: أخذ نسخة Physical من نظام الأندرويد وتحليلها ببرنامج Autopsy

0 تعليق امن معلومات 11- يونيو -2016 كاتب المجتمع

مقال: أخذ نسخة Physical من نظام الأندرويد وتحليلها ببرنامج Autopsy

في هذا المقال إن شاء الله سنتحدث عن كيفية أخذ Physical Copy من هاتف يعمل بنظام الأندرويد وبعدها تحليل البيانات من خلال برنامج Autopsy وهو برنامج شهير في عملية التحقيق الجنائي الرقمي. طبعًا العملية تقع تحت بند التحقيق الجنائي الرقمي. وهي أول خطوة نقوم بها خلال عملية التحقيق الجنائي وهي أخذ نسخة من النوع المادي (Physical). قبل أن أتحدث في أي شيء علينا أن نعرف ما هي طرق استخراج المعلومات أثناء عملية التحقيق الجنائي.

طرق استخراج المعلومات:

يوجد طريقتين لاستخراج المعلومات وهما كالتالي:

  1. الاقتناء المنطقي (Logical Acquisition): هي عندما يقوم المحقق الجنائي بالاتصال بالهاتف واستخدام البيانات من نظام الملفات، في هذه الحالة من الممكن أن تكون البيانات أي شيء مثل: جهات الاتصال، بيانات خاصة بتطبيقات، سجلات الاتصال، رسائل وهكذا.
  2. الاقتناء المادي (Physical Acquisition): هي عندما يقوم المحقق الجنائي بأخذ نسخة كاملة من الهاتف أو Partition محدد من الهاتف وبعدها يقوم بتحليل هذه النسخة لاستخراج البيانات.

تعتبر الطريقة الأسهل بالطبع هي الاقتناء المنطقي (Logical)، وذلك لأنها توفر عليك وقت طويل، ولكنها ليست الطريقة الأضمن، لأنك باستخدامها قد تقوم بتعديل أي بيانات على الهاتف عن طريق الخطأ وبالتالي فأنت قمت بإتلاف الدليل. فمثلاً أثناء قيامك باستخراج البيانات باستخراج الاقتناء المنطقي (Logical)، قد يتغير تاريخ أخر تعديل لملف معين وبالتالي فلن يتم قبول هذا الدليل في المحكمة. لذلك من الأفضل دائمًا استخراج نسخة Physical وبعدها العمل عليها لاستخراج البيانات لأنها تكون الطريقة الأصح وذلك لتجنب أي إتلاف للبيانات أو تعديلات على البيانات الأصلية الموجودة على الهاتف.

السؤال الآن، ما هي البيانات التي أستطيع استخراجها بشكل مادي (Physically)؟

الإجابة هي “كل شيء”. فالاقتناء المادي معناه أنك ستقوم بأخذ نسخة مطابقة للهاتف، كل Bit من البيانات الموجودة على الهاتف سيكون موجود داخل النسخة التي قمت بأخذها.

ما هي المتطلبات لعمل اقتناء مادي؟

عمومًا وبالنسبة لعمليات التحقيق الجنائي للهواتف فهناك شيء لا يتغير وهو أنه يجب أن يكون الهاتف الذي يعمل بنظام الأندرويد يجب أن يكون Rooted.

دعنا الآن نبدأ حديثنا عن كيفية تنفيذ طريقة الـPhysical Acquisition، ولتنفيذ ذلك سنحتاج أداة dd وهي معروفة لمعظم مستخدمين نظام لينكس وذلك لقدرتها على أخذ نسخة كاملة من الـDrives. هذه الأداة ستجدونها بشكل افتراضي في أي توزيعة لينكس، بالإضافة إلى أنها من المفترض أن تكون موجودة على معظم الهواتف وإن لم تجدها عندك على الهاتف يمكنك تحميلها من خلال تطبيق الـBusyBox.

الأمر الذي سنقوم باستخدامه لأخذ نسخة من الهاتف سيكون كالتالي:

01

دعنا نشرحه بالتفصيل الآن:

dd : نقوم باستدعاء الأداة بالطبع.

if = وهي تعني input file وهنا نقوم بتحديد مكان البيانات التي نريد نسخها.

of = وهي تعني output file وهنا نقوم بتحديد مكان حفظ النسخة التي سنقوم بنسخها.

bs = نقوم بتحديد حجم الـBlock. وسيتم قراءة البيانات وكتابتها في حجم ذلك الـBlock، القيمة الافتراضة للـBlock الواحد هي 512 Byte ويتم استخدامها إن لم تقم بتحديد قيمة للـbs.

conv : وهذا الأمر يقوم بتحديد الإعدادات الخاصة بعملية النقل أو عملية الاقتناء وكما نرى قمنا باستخدام ثلاثة إعدادات معه وهي كالتالي:

notrunc : وهي تعني أن نقوم بأخذ نسخة بدون أي تعديل للبيانات فيها، أي نسخة كاملة بدون أي تعديل على البيانات التي نقوم بنسخها.

noerror : وتعني أنه حتى لو ظهرت أي رسائل خطأ أثناء عملية النسج يجب ستستمر الأداة في عملية النسخ.

sync : وذلك في حالة ظهور أي أخطاء تقوم أداة dd بكتابة \x00 للـBlocks التي تظهر بداخلها أخطاء، هذا الأمر مهم جدًا وذلك للحفاظ على الـOffset الخاصة بالنسخة.

ملحوظة: انتبه جيدًا ألا تقوم بالتبديل بين الـof والـif وإلا ستقوم بمسح كل البيانات الموجودة على الهاتف :_:

يوجد طريقتين لتنفيذ هذا الأمر داخل الهاتف:

الأولى: وهي أن تقوم باستخدام الـTerminal Emulator داخل الهاتف نفسه لتنفيذ الأمر.

الثانية: أن تقوم بالدخول على الهاتف عن طريق توصيلة باللابتوب مثلاً واستخدام أمر adb shell للحصول على Terminal داخل الهاتف.

سأقوم باستخدام الطريقة الثانية والدخول على الهاتف الآن كما هو موضح في الصورة التالية:

02

قبل تنفيذ الأمر علينا أولاً أن نحدد ما الذي سنقوم بنسخه وكيف نعرف الـBlock الخاصة بالهاتف كامل، كما نعلم فإن نظام الأندرويد مبني على نواة نظام لينكس، ولذلك فهو يستخدم نفس فكرة اللينكس في تقسيم الهاتف فمثلاً، البيانات الخاصة بالهاتف تكون موجودة في مكان، وملفات النظام موجودة في مكان آخر وهكذا. لذلك يجب علينا معرفة ما الذي نريد نسخة بالضبط وأين نجده وهذا ما سأوضحه الآن.

يوجد أكثر من طريقة لمعرفة ما تبحث عنه:

  1. قراءة ملف الـPartitions الموجود على الهاتف وذلك كالصورة التالية:

03

كما نرى في الصورة السابقة، فقد قمنا بقراءة ملف الـPartitions الموجود على الهاتف وذلك للوصول إلى كل الـBlocks الموجودة على الهاتف. كما نلاحظ فالـBlock الأكبر حجمًا هي الـmmcblk0 وهي تعني أنها الـFlash Memory الخاصة بالهاتف كاملة ونجد أن بعد ذلك تبدأ الـBlocks في أخذ أرقام تبدأ من P1 وهي تعني أنها أجزاء من الـBlock الخاص بالـFlash Memory وهي الـBlock المسماه mmcblk0. لذلك إن أردنا أخذ نسخة كاملة من الهاتف سنقوم بنسخ الـmmcblk0.

لكن ماذا لو أردنا أن نقوم بأخذ نسخة من Partition محدد وليس الهاتف كامل؟

علينا في هذه الحالة تحديد أيًا من هذه الـBlocks السابقة ينتمي لمثلاً قسم الـData إن كان هذا ما نريد نسخة وهو القسم الذي يتم حفظ فيه بيانات الهاتف، أو مثلاً قسم الـSystem الخاص بملفات النظام.

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

الطريقة الأولى وهي الطريقة التي التي قمت باستخدامها لأن الطرق الأخرى فشلت معي:

04

من خلال الصورة السابقة استطعنا معرفة أن قسم الـData رقم الـPartition الخاص به 7 وإن قمنا بملاحظة نتائج الأمر cat /proc/partitions الموجودة في الأعلى سنستطيع أن نعلم أن الـBlock المتوافقة مع قسم الـData هي mmcblk0p7 وهي التي سنقوم بنسخها إن أردنا أن نقوم بنسخ الـUserData الخاصة بالهاتف.

الطريقة الثانية:

05

هذه الطريقة تعتبر الأسهل لأنها تظهر لك اسم الـPartitions وأرقامها ولكنها لا تنفع في كل الهواتف لأن أحيانًا لا تجد مجلد الـby-name.

ملحوظة: الصورة السابقة أخذتها من على الإنترنت لأنني لم أملك مجلد الـby-name على هاتفي.

الطريقة الثالثة:

06

يمكنك استخدام إحدى الأمرين السابقين كما هو موضح في الصورة ولكن هذه الطريقة كما هو موضح لم تظهر معي أي نتائج ولكنها قد تنفع معك على حسب إصدار الأندرويد ونوع هاتفك كما ذكرت سابقًا.

الطريقة الرابعة:

07

هذه الطريقة أظهرت لي نتائج ولكنها للأسف لم تخبرني برقم الـBlock لذلك الطريقة الوحيدة التي أظهرت لي رقم الـBlock كانت الطريقة الأولى المذكورة في الأعلى.

الآن كل ما علينا هو أن نقوم بتشغيل الأمر التالي:

08

ملحوظة: يجب أن تكون الـsdcard بها مساحة كافية وإلا لن تكتمل عملية النسخ لعدم وجود مساحة.

الآن بعد انتهاءك من عملية النسخ، نأتي لتحليل النسخة وفي هذه الحالة سنقوم باستخدام برنامج Autopsy:

بعد فتح البرنامج ستظهر الصورة التالية:

09-autopsy

بعد أن تقوم باختيار عمل قضية جديدة، يمكنك إدخال بيانات القضية ومكان حفظ القضية كما في الصورة التالية:

10-autopsy_options

بعد ذلك سيسألك عن اسم المحقق في القضية، ورقم القضية:

11-autopsy_options

بعد الضغط على Finish ستظهر لك الصورة التالية والتي يجب عليك فيها تحديد مكان النسخة التي قمنا بنسخها:

12-autopsy_options

بعد ستظهر لك نافذة جديدة تطلب منك تحديد الـModules التي تريد تنفيذها على النسخة:

13-autopsy_options

بعد الانتهاء من تحديد كل هذه الإعدادات والضغط على Finish سنجد أنه في الجانب الأيمن في الأسفل يقول لنا أنه تتم عملية تحليل النسخة أو الـIMG كما هو موضح في الصورة:

14-autopsy_analysis

يمكننا الآن أن نرى أنه بدأت تظهر البيانات الموجودة بالهاتف:

15-autopsy_results

كما نرى في الصورة السابقة، هذه نتائج بحث كنت قد قمت به وتواريخ البحث.

يمكننا أن نرى أيضًا أنه يظهر أي صورة موجودة في النسخة:

16-autopsy_metadata

نلاحظ أن مع كل هذه البيانات ولم ينتهي البرنامج من عملية التحليل بعد، هذه فقط المعلومات والبيانات التي وجدها حتى الآن.. نلاحظ أيضًا أن البرنامج يتيح لنا أن نستكشف الـMetadata الخاصة بالصورة الظاهرة أمامنا في الصورة السابقة.

يمكنك الآن التنقل بين البيانات الخاصة بالنسخة.

بهذا نكون انتهينا من هذا المقال وإن شاء الله نلتقي في مقالات أخرى.

squnity

مجتمع عربي للحماية و امن المعلومات

إضافة تعليق