Wednesday, January 27, 2016

الطب الشرعي الرقمي للشبكات: تجميع حزم البيانات و إعادة إنشاء الملفات Network Forensic: Packets Reassembly



الاعتماد على الإنترنت و شبكات الحاسوب يزداد يوما بعد يوم و أصبحت الأجهزة المتصلة بشبكة أو أكثر منتشرة في كل مكان و في جميع المجالات فمن أجهزة الحاسوب ، والهواتف النقالة والأجهزة المنزلية إلى أنظمة التحكم في مجالات الصناعة المختلفة SCADA (Supervisory Control And Data Acquisition) and ICS (Interface Control Systems).    هذا الاعتماد الكبير و المستمر على الأجهزة المتصلة بالشبكة زاد من نطاق و تنوع و تعقيد جرائم الإنترنت التي تستهدف تلك الشبكات مما زاد من صعوبة المهمة الموكلة إلى فرق الاستجابة لجرائم الإنترنت وفرق البحث و التحقيق في الأدلة الجنائية الرقمية ، وأدى إلى ظهور فرع من فروع الطب الشرعي الرقمي Digital Forensic يركز على جمع الأدلة الجنائية الرقمية على مستوى شبكات المعلومات و الاتصالات يعرف باسم الطب الشرعي الرقمي للشبكة؟
في عام 2001، و من خلال خارطة طريق بحوث الطب الشرعي الرقمي ، تقرير منDFRWS 2001  وصف غاري بالمر Gary Palmer الطب الشرعي الرقمي للشبكة Network Forensic كأحد فروع الطب الشرعي الرقمي المنوط به رصد وتحليل حركة مرور البيانات عبر شبكة الكمبيوتر بهدف جمع المعلومات والأدلة القانونية، أو كشف التسلل. كما ينسب إلى ماركوس رانومMarcus Ranum  تعريف الطب الشرعي الرقمي للشبكة بأنه "التقاط وتسجيل وتحليل أحداث الشبكة من أجل اكتشاف مصدر الهجمات الأمنية أو المشاكل المرتبطة بحوادث أخرى" (Network Flight Recorder: http://www.ranum.com).
 بشكل عام يمكن أن يساعد الطب الشرعي الرقمى للشبكات قبل وبعد وقوع حوادث الهجوم السيبراني ، فقبل وقوع الحادث يمكن أن يساعد عن طريق الكشف والتعرف على عمليات التسلل و الهجمات الأمنية السيبرانية وبعد و قوع الحادث تعتبر أنظمة الطب الشرعي الرقمي للشبكات مصدرا كبيرا للمعلومات لمحققي الطب الشرعي الرقمي و خاصة في حالة محو سجلات المتابعة الخاصة بالأنظمة و الأجهزة التي تمت السيطرة عليها من قبل المهاجمين.
حيث أن الطب الشرعي الرقمي للشبكات يركز على حركة مرور البيانات عبر الشبكة (السلكية أو اللاسلكية) و حيث أن هذه البيانات تنتقل بين طرفين عبر خطوط الشبكة لحظيا ثم تفقد بمجرد وصولها إلى هدفها ، لذلك فإنه يجب جمعها أثناء انتقالها عبر الشبكة ثم تخزينها و ذلك حتى يمكن تحليلها لاحقا. الأنظمة التي تستخدم لجمع بيانات الشبكة لتحقيقات الأدلة الجنائية عادة ما تقوم في عملها على أحد نهجين كما عرف  ذلك  سيمسون جارفينكل Simson Garfinkel في (Network Forensics: Tapping the Internet http://www.oreillynet.com/pub/a/network/2002/04/26/nettap.html)
  • "التقط قدر ما تستطيع"  و في هذا النهج يتم التقاط كافة حزم البيانات Data Packets التي تمر عبر نقطة مرور معينة في الشبكة و الاحتفاظ بها في وحدات التخزين ثم يتم إجراء عمليات التحليل الرقمي عليها لاحقا. هذا النهج يتطلب مساحات تخزين كبيرة لحفظ البيانات.
  • "إيقاف و بحث و انتقاء" وفي هذا النهج يتم تحليل حزم البيانات التي تمر عبر الشبكة بشكل مبدأي في الذاكرة و البحث عن معلومات محددة يتم حفظها على وحدات التخزين لإجراء عمليات التحليل عليها لاحقا.  هذا النهج يتطلب سرعة عالية في معالجة البيانات حتى تتناسب مع سرعة مرور البيانات عبر الشبكة.
كلا من نهجي الطب الشرعي الرقمي للشبكات السابقين يتطلب تخزين حزم البيانات التي يتم التقاطها لفترة زمنية محددة طبقا للسياسة المطبقة ، ومن ثم مسحها و إعادة تخزين حزم البيانات الجديدة التي يتم التقاطها. أحد أهم نقاط الاهتمام فيما يتعلق بنهج "التقط قدر ما تستطيع" هو الخصوصية و السرية حيث أن حزم البيانات التي يتم التقاطها يمكن أن تحتوي على بيانات سرية أو شخصية تخص المستخدمين، ولذلك و في بعض الظروف قد لا يكون قانونيا التقاط حزم البيانات من الشبكة دون الحصول على إذن صريح أو أمر من المحكمة.
التقاط حزم البيانات
الخطوة الأولى في عملية تحليل الطب الشرعي الرقمي للشبكات هي التقاط وتخزين حزم البيانات التي تمر عبر الشبكة باستخدام أحد تطبيقات تحليل الشبكة Network Analyzers مثل Wireshark أو Tcpdump و تتوقف كفاءة عملية التقاط حزم البيانات من الشبكة على طريقة و موضع اتصال محلل الشبكة ، و للحصول على أفضل التقاط لحركة مرور حزم البيانات عبر الشبكة يجب أن يتم توصيل محلل بيانات الشبكة إلى  Network Tap أو Network Switch Mirror Port  أو يفضل أن يكون في محيط الشبكة عند نقطة الاتصال بين شبكتين. من الناحية المثالية ، لا ينبغي لتطبيق محلل بيانات الشبكة أن يرسل أي حزم بيانات عبر الشبكة التي يتم تحليل بياناتها. التقاط حزم البيانات المشفرة أثناء مرورها عبر الشبكة لن يمثل أي فائدة لعملية التحليل الخاصة بالطب الشرعي الرقمي للشبكات حيث أنه لا يمكن استخراج البيانات المتضمنة في حزم البيانات المشفرة و بالتالي يجب أن يتم فك تشفير حزم البيانات قبل التقاطها و تخزينها.
إعادة تجميع حزم البيانات
بعد التقاط وتخزين حزم البيانات أثناء مرورها عبر الشبكة الخام ، يحتاج محقق الطب الشرعي الرقمي إلى استخراج البيانات والمعلومات من حزم البيانات المخزنة، حتى يتسنى له إجراء عمليات البحث عن أدلة جنائية تفيد عملية التحقيق. تحتاج هذه العملية إلى تجميع حزم البيانات الملتقطة و ذلك لإعادة بناء الملفات التي تم تبادلها عبر الشبكة ، أو رسائل البريد الإلكتروني ، أو جلسات الدردشة ، أو المكالمات الصوتية ، أو البيانات و الأنماط المستخدمة في الهجوم السيبراني ... إلخ.
أدوات تحليل الطب الشرعي الرقمي للشبكات (NFAT) هي مجموعة من التطبيقات التي تستخدم في التقاط وتخزين وتحليل حزم البيانات أثناء مرورها عبر الشبكة ، و هناك العديد من البرمجيات و الأدوات التجارية و المجانية ذات المصدر المفتوح التي تصنف تحت هذه الفئة من التطبيقات. فيما يلي عرض لبعض أدوات أدوات تحليل الطب الشرعي الرقمي للشبكات (NFAT).
1.      Xplico
أحد أدوات تحليل الطب الشرعي الرقمي للشبكات (NFAT) مفتوحة المصدر و متعدد المستخدمين و التي تدعم نظام تشغيل لينوكس Linux. يهدفXplico  في المقام الأول إلى استخراج البيانات من حزم البيانات التي تم التقاطها أثناء مرورها عبر الشبكة. يدعم Xplico العديد من بروتوكولات و تطبيقات الشبكة مثل   TCP, UDP, IPv4, IPv6, SMTP, POP, IMAP, HTTP, SIP, FTP …etc. كما أن واجهة المستخدم له هي واجهة مستخدم ويب مما يسهل استخدامه كأحد التطبيقات السحابية بالإضافة إلى أنه يأتي مثبتا مع أشهر إصدارات لينوكس المتخصصة في أمن المعلومات و الطب الشرعي الرقمي مثل Kali Linix, BackTrack, DEFT, Security Onion, Matriux, BackBox, CERT Forensics Tools and Pentoo.
الفيديو التالي يوضح تجميع حزم البيانات و إعادة إنشاء الملفات باستخدام Xplico 

2.      NetworkMiner
أحد أدوات تحليل الطب الشرعي الرقمي للشبكات (NFAT) الذي يدعم نظام التشغيلWindows . يستخدم NetworkMiner  في الأساس كأداة تحليل شبكات سلبية ، بمعنى أنها لا ترسل أي بيانات عبر الشبكة التي يتم تحليلها و يهدف NetworkMiner في المقام الأول إلى التقاط حزم البيانات عبر الشبكة التي تمكنه من الكشف عن أنظمة التشغيل و الأسماء و البرامج و منافذ الاتصال المستخدمة في الأجهزة المتصلة بالشبكة. كما يمكنه أيضا تحليل ملفات PCAP التي يتم إنشائها بواسطة برامج تحليل الشبكات مثل Wireshark لتخزين حزم البيانات التي يتم التقاطها. يركز NetworkMiner كأداة من أدوات تحليل الطب الشرعي الرقمي للشبكات (NFAT) على جمع و تحليل الأدلة و البيانات المتعلقة بالأجهزة المرتبطة بالشبكة بأكثر من البيانات التي يتم إرسالها من جهاز إلى آخر ، و مع ذلك فإن NetworkMiner يمكنه إعادة تجميع حزم البيانات التي يتم تبادلها بين الأجهزة المرتبطة بالشبكة و إعادة بناء الملفات المنقولة عبرها. NetworkMiner متاح في إصدارين أحدهما تجاري و الآخر كأداة مجانية و مفتوحة المصدر.
الفيديو التالي يوضح تجميع حزم البيانات و إعادة إنشاء الملفات باستخدام NetworkMiner
3.      Intercepter-NG
على الرغم من أن Intercepter-NG لا يتم تصنيفه كأحد أدوات تحليل الطب الشرعي الرقمي للشبكات (NFAT) بل يمكن اعتباره أحد أدوات القرصنة و اختبار اختراق نظم المعلومات و الاتصالات إلا أنه على الجانب الآخر يعد أحد أقوى أدوات مراقبة و تحليل الشبكات كما أن Intercepter-NG  لديه القدرة على إعادة تجميع حزم البيانات و إعادة بناء الملفات المنتقلة عبر الشبكة كما أنه يدعم عدة بروتوكلات مثل HTTP, SMTP, POP, IMAP, FTP and SMB هذا بالإضافة إلى جلسات الدردشة Chat Sessions و كلمات السر. هذا بالإضافة إلى إمكانات أخرى تتعلق بعمليات اختبار اختراق نظم المعلومات ، و مما يميز Intercepter-NG أنه يأتي في ثلاث إصدارات الأول خاص بنظام تشغيل Windows و الثاني Command Line  أما الأخير فيدعم نظام تشغيل Android و بالتالي يمكن تشغيله من خلال أجهزة الهاتف و أجهزة الحاسب اللوحية التي تستخدم نظام تشغيل Android.
الفيديو التالي يوضح تجميع حزم البيانات و إعادة إنشاء الملفات باستخدام Intercepter-NG



Network Forensic: Packets Reassembly using Free and Open Source Tools

Reliance on the Internet and computer networks is increasing day after day and devices connected to a network or more became scattered everywhere and in all areas, starting  from computers, mobiles and home appliances to Industrial SCADA (Supervisory Control And Data Acquisition) and ICS (Interface Control Systems). This heavy reliance and continuing on networked devices has increased the scope, diversity and complexity of Internet crimes that target these networks, which increased the difficulty of the task assigned to cybercrime incident response teams and digital forensics teams, and led to the emergence of a branch of digital forensics field which focuses on the collection of the digital forensics evidences on the level of information and communication networks known as network forensics, so what is Network Forensics Analysis?
In 2001,  Gary Palmer in a Road Map for Digital Forensic Research, Report from DFRWS 2001 described Network forensics as a sub-branch of digital forensics relating to the monitoring and analysis of computer network traffic for the purposes of information gathering, legal evidence, or intrusion detection, also Marcus Ranum is credited with defining Network forensics as “the capture, recording, and analysis of network events in order to discover the source of security attacks or other problem incidents (Network Flight Recorder: http://www.ranum.com).
In general network forensic could help before and after the happening of the cyber attack incident. Helping  before the incident by detecting and identifying security intrusion, threats and cyber attacks where after the incident, network forensics will be considered a great source of information for the digital forensic investigator in case of erasing logs of compromised systems by attackers.
As the network forensic focuses on network traffic (Wired or Wireless) which is usually transmitted and then lost, so it should be collected and stored for further analysis. Systems used to collect network data for forensic investigation usually use one of two approaches as defined by Simson Garfinkel in (Network Forensics: Tapping the Internet http://www.oreillynet.com/pub/a/network/2002/04/26/nettap.html):
  • "Catch-it-as-you-can" - This is where all packets passing through certain traffic point are captured and written to storage with analysis being done subsequently in batch mode. This approach requires large amounts of storage.
  • "Stop, look and listen" - This is where each packet is analyzed in a rudimentary way in memory and only certain information saved for future analysis. This approach requires a faster processor to keep up with incoming traffic.
Both previous network forensic approaches require storing captured traffic for a specific period of time according to applied policy, then it is overwritten by a new captured traffic. The main concern regarding the "Catch-it-as-you-can" approach is the privacy as the captured traffic includes confidential and personal users' data, so in some circumstance it may not be legal to capture user's data without explicit permission or court order.
Traffic Capture
The first step in network forensic analysis is capturing and storing the network traffic using a network analyser or a packet sniffer like wireshark or tcpdump. The nature and value of captured traffic depends on the position of the packet sniffer on the monitored network and for best network traffic capture the packet sniffer should be connected to a network tap or to a mirroring (span) port of a switch located at a central point of the network like core switches or preferably at the perimeter between two different networks. Ideally, the forensic investigator should ensure that the packet sniffer machine cannot send network traffic to the network being monitored. Another thing, capturing encrypted traffic will not be useful for forensic investigation, so it should be decrypted before capturing and storing traffic.
Packets Reassembly
After capturing and storing raw network traffic, digital forensic investigator needs to extract data and information from the stored traffic, so investigator can search for keywords, patterns, evidences ... etc. on the extracted data, in addition to the normal extracted network packets metadata, this process needs to reassemble network packets to rebuild the transmitted files, emails, chat sessions, voice calls, attack paterns, exploits ... etc.
Network Forensics Analysis Tool (NFAT) is a product category that used to capture, store and analyse network traffic. There are many commercial and open source tools that fit in this products category. The following demonstrated tools are some of my favorite NFAT applications.
1. Xplico (About Xplico)
Xplico is a multi user open source Network Forensic Analysis Tool (NFAT). The goal of xplico is extract the data contained in a network traffic capture. Xplico supports alot of network protocols and applications: HTTP, SIP, FTP, IMAP, POP, SMTP, TCP, UDP, IPv4, IPv6, ...etc. The UI is a Web User Interface and its backend DB can be SQLite, MySQL or PostgreSQL. Xplico can be used as a Cloud Network Forensic Analysis Tool. Xplico is installed in the major distributions of digital forensics and penetration testing: Kali Linix, BackTrack, DEFT, Security Onion, Matriux, BackBox, CERT Forensics Tools and Pentoo.
The following video demonestrates packets reassembly using Xplico 

2. NetworkMiner (NetworkMiner Link)
 NetworkMiner is a Network Forensic Analysis Tool (NFAT) for Windows. NetworkMiner can be used as a passive network sniffer/packet capturing tool in order to detect operating systems, sessions, hostnames, open ports etc. without putting any traffic on the network. NetworkMiner can also parse PCAP files for off-line analysis and to regenerate/reassemble transmitted files and certificates from PCAP files. The purpose of NetworkMiner is to collect data (such as forensic evidence) about hosts on the network rather than to collect data regarding the traffic on the network. The main view is host centric (information grouped per host) rather than packet centric (information showed as a list of packets/frames). NetworkMiner is available both as a free open source tool and as a commercial network forensics tool.
The following video demonestrates packets reassembly NetworkMiner

3. Intercepter-NG (Intercepter-NG Github Link)
Although Intercepter-NG is not categorized as a Network Forensic Analysis Tool (NFAT) and could be considered as a hacking or a penetration testing tool but in the other side it is a very good network toolkit that has the ability to reconstruct transmitted files using multiple protocols like FTP\HTTP\IMAP\POP3\SMTP\SMB protocols. Other than file reconstruction, Intercepter-NG is able to sniff chat messages & passwords hashes, capture raw packets, and perform a few exploits such as Heartbleed, SMB Hijack, HTTP Injection, ARP spoofing and etc. Intercepter-NG comes on three versions, MS Windows version, Console ersion and Android version (Required Root).


The following video demonestrates packets reassembly using Intercepter-NG