Difference between pages "Research Topics" and "JTAG Samsung Galaxy S3 (SGH-I747M)"

From ForensicsWiki
(Difference between pages)
Jump to: navigation, search
m (Tool Development)
 
 
Line 1: Line 1:
Interested in doing research in computer forensics? Looking for a master's topic, or just some ideas for a research paper? Here is our list. Please feel free to add your own ideas. ''Potential Sponsor,'' when present, indicates the name of a researcher who would be interested in lending support in the form of supervision or other resources to a project.
+
== JTAG Samsung Galaxy S3 (SGH-I747M) ==
  
=Tool Development=
+
The Samsung Galaxy S3 is an Android based smartphone. At the time of this writing (2014JAN22), I am unaware of any method other than JTAG to acquire a physical image of the NAND on this device.
==AFF Enhancement==
+
[[AFF]] is the Advanced Forensics Format, developed by Simson Garfinkel and Basis Technology. The following enhancements would be very useful to the format:
+
* Signing with X.509 or GPG keys data segments and metadata.
+
* Encryption of data segments with an AES-256 key specified by a password
+
* Encryption of the AES-256 key with a public key (and decryption with a corresponding private key)
+
* Evaluation of the AFF data page size. What is the optimal page size for compressed forensic work?
+
* Replacement of the AFF "BADFLAG" approach for indicating bad data with a bitmap.
+
  
''Sponsor for these projects: [[User:Simsong|Simson Garfinkel]]''
+
For the purpose of this document, a Samsung Galaxy S3 was disassembled, read via JTAG, and reassembled.
  
==Decoders and Validators==
+
=== Getting Started ===
* A JPEG decompresser that supports restarts and checkpointing for use in high-speed carving. It would also be useful it the JPEG decompressor didn't actually decompress --- all it needs to do is to verify the huffman table.
+
  
==Cell Phones==
+
What you need to dump the NAND:
Open source tools for:
+
* Imaging the contents of a cell phone memory
+
* Reassembling information in a cell phone memory
+
''Sponsor: [[User:Simsong|Simson Garfinkel]]''
+
  
==Flash Memory==
+
# A RIFF Box [[http://www.riffbox.org/|RIFF Box]]
Flash memory devices such as USB keys implement a [http://www.st.com/stonline/products/literature/an/10122.htm wear leveling algorithm] in hardware so that frequently rewritten blocks are actually written to many different physical blocks. Are there any devices that let you access the raw flash cells underneath the wear leveling chip? Can you get statistics out of the device? Can you access pages that have been mapped out (and still have valid data) but haven't been mapped back yet? Can you use this as a technique for accessing deleted information?
+
# Soldering skills and small tip soldering iron (a JTAG jig may be available).
 +
# A DC Power supply capable of supplying 3.8V/2.1A output.  The power supply used for this was an [[http://www.home.agilent.com/agilent/product.jspx?pn=u8002a&cc=CA&lc=eng|Agilent U8002A DC Power Supply]].
  
''Sponsor: [[User:Simsong|Simson Garfinkel]]''
+
=== NAND Dump Procedure ===
  
=Corpora Development=
+
# Disassemble the phone down to the PCB.
==Real Corpora==
+
# Connect the RIFF Box to the PC via USB.
* Cell phone memory images
+
# Connect the RIFF Box to the PCB via the JTAG pins.
==Realistic Corpora==
+
# Connect the PCB to the DC power supply.
* Simulated disk imags
+
# Start the "RIFF Box JTAG Manager" software.
* Simulated network traffic
+
# Enable the power on the DC power supply.
 +
# Power the phone via the power button.
 +
# Dump the NAND via the RIFF Box software.
 +
 
 +
Instructions for disassembly can be found on Internet but it can be summarized as follows:
 +
 
 +
* Remove the rear cover and battery.
 +
* Remove the 10 x Phillips screws.
 +
* Remove the rear plate using a case opening tool (guitar pick).
 +
 
 +
{| border="1" cellpadding="2"
 +
|-
 +
| [[File:1-samsung-s3-sgh-i747m-front.jpg | 600px]]
 +
| [[File:2-samsung-s3-sgh-i747m-back.jpg | 600px]]
 +
|-
 +
| [[File:3-samsung-s3-sgh-i747m-disassembly-screws.jpg | 600px]]
 +
| [[File:4-samsung-s3-sgh-i747m-disassembly-bezel.jpg | 600px]]
 +
|-
 +
|}
 +
 
 +
* Once the phone has been disassembled, you can see the JTAG connection port located closed to the edge of the PCB near the ribbon cable.
 +
 
 +
{| border="1" cellpadding="2"
 +
|-
 +
| [[File:5-samsung-s3-sgh-i747m-disassembly-final.jpg | 1000px]]
 +
|-
 +
|}
 +
 
 +
* The JTAG pinouts are as follows.
 +
 
 +
{| border="1" cellpadding="2"
 +
|-
 +
| [[File:6-samsung-s3-sgh-i747m-jtag-header.jpg | 1000px]]
 +
|-
 +
|}
 +
 
 +
* Solder the JTAG connector to the JTAG port as follows. I used 0.040 gauge magnet wire, connected to breadboard pins, which were inserted into the 20 pin ribbon cable supplied with the RIFF box.
 +
 
 +
{| border="1" cellpadding="2"
 +
|-
 +
| [[File:7-samsung-s3-sgh-i747m-jtag-solder.jpg | 500px]]
 +
|-
 +
|}
 +
 
 +
* Connect the PCB battery terminal connections to the DC power supply.  The positive (+) connection is the outermost pin (1) and the negative (-) pin is pin (3).  You can configure your power supply to match the battery specifications which in this case is 3.8V and 2.1A but do not apply power at this time.
 +
 
 +
{| border="1" cellpadding="2"
 +
|-
 +
| [[File:8-samsung-s3-sgh-i747m-jtag-power.jpg | 1000px]]
 +
|-
 +
|}
 +
 
 +
* Now we can start the RIFF JTAG software, configure it, and connect the phone to the RIFF box.  See the picture below for more detail.
 +
 
 +
'''NOTE:''' In the picture, the "JTAG TCK Speed" has been changed from "Sample at MAX" to "Sample at 9MHz".  This was done in attempt to eliminate disconnects between the RIFF Box and the phone mid-read.  Leave this setting at "Sample at MAX" unless you experience this problem.
 +
 
 +
{| border="1" cellpadding="2"
 +
|-
 +
| [[File:9-samsung-s3-sgh-i747m-jtag-manager.jpg | 1000px]]
 +
|-
 +
|}
 +
 
 +
Apply power to the DC power supply and turn the phone on using the button on the side of the PCB.  After powering the phone on, select "READ" under the "DCC Read/Write" tab.  If all goes well the "READ" button will become the "STOP" button and the phone will begin reading...if not the RIFF software provides troubleshooting steps that should be taken to assist in diagnosing some of the issues you may experience.
 +
 
 +
'''NOTE:''' In the event of read errors the RIFF software keeps track of where the failure occurred and gives you option to restart the read where it left off.  If this occurs, you can adjust the "JTAG TCK Speed" and lower it to 9MHz (or lower) which can stabilize the read.
 +
 
 +
* Once the acquisition is complete the resulting image can be saved and forensic analysis can take place using the tool of your choosing.
 +
 
 +
== References ==
 +
 
 +
* http://android-forensics.com/android-forensics-study-of-password-and-pattern-lock-protection/143
 +
* http://forensics.spreitzenbarth.de/2012/02/
 +
* http://www.ccl-forensics.com/Software/other-software-a-scripts.html

Latest revision as of 18:50, 23 January 2014

JTAG Samsung Galaxy S3 (SGH-I747M)

The Samsung Galaxy S3 is an Android based smartphone. At the time of this writing (2014JAN22), I am unaware of any method other than JTAG to acquire a physical image of the NAND on this device.

For the purpose of this document, a Samsung Galaxy S3 was disassembled, read via JTAG, and reassembled.

Getting Started

What you need to dump the NAND:

  1. A RIFF Box [Box]
  2. Soldering skills and small tip soldering iron (a JTAG jig may be available).
  3. A DC Power supply capable of supplying 3.8V/2.1A output. The power supply used for this was an [U8002A DC Power Supply].

NAND Dump Procedure

  1. Disassemble the phone down to the PCB.
  2. Connect the RIFF Box to the PC via USB.
  3. Connect the RIFF Box to the PCB via the JTAG pins.
  4. Connect the PCB to the DC power supply.
  5. Start the "RIFF Box JTAG Manager" software.
  6. Enable the power on the DC power supply.
  7. Power the phone via the power button.
  8. Dump the NAND via the RIFF Box software.

Instructions for disassembly can be found on Internet but it can be summarized as follows:

  • Remove the rear cover and battery.
  • Remove the 10 x Phillips screws.
  • Remove the rear plate using a case opening tool (guitar pick).
1-samsung-s3-sgh-i747m-front.jpg 2-samsung-s3-sgh-i747m-back.jpg
3-samsung-s3-sgh-i747m-disassembly-screws.jpg 4-samsung-s3-sgh-i747m-disassembly-bezel.jpg
  • Once the phone has been disassembled, you can see the JTAG connection port located closed to the edge of the PCB near the ribbon cable.
5-samsung-s3-sgh-i747m-disassembly-final.jpg
  • The JTAG pinouts are as follows.
6-samsung-s3-sgh-i747m-jtag-header.jpg
  • Solder the JTAG connector to the JTAG port as follows. I used 0.040 gauge magnet wire, connected to breadboard pins, which were inserted into the 20 pin ribbon cable supplied with the RIFF box.
7-samsung-s3-sgh-i747m-jtag-solder.jpg
  • Connect the PCB battery terminal connections to the DC power supply. The positive (+) connection is the outermost pin (1) and the negative (-) pin is pin (3). You can configure your power supply to match the battery specifications which in this case is 3.8V and 2.1A but do not apply power at this time.
8-samsung-s3-sgh-i747m-jtag-power.jpg
  • Now we can start the RIFF JTAG software, configure it, and connect the phone to the RIFF box. See the picture below for more detail.

NOTE: In the picture, the "JTAG TCK Speed" has been changed from "Sample at MAX" to "Sample at 9MHz". This was done in attempt to eliminate disconnects between the RIFF Box and the phone mid-read. Leave this setting at "Sample at MAX" unless you experience this problem.

9-samsung-s3-sgh-i747m-jtag-manager.jpg

Apply power to the DC power supply and turn the phone on using the button on the side of the PCB. After powering the phone on, select "READ" under the "DCC Read/Write" tab. If all goes well the "READ" button will become the "STOP" button and the phone will begin reading...if not the RIFF software provides troubleshooting steps that should be taken to assist in diagnosing some of the issues you may experience.

NOTE: In the event of read errors the RIFF software keeps track of where the failure occurred and gives you option to restart the read where it left off. If this occurs, you can adjust the "JTAG TCK Speed" and lower it to 9MHz (or lower) which can stabilize the read.

  • Once the acquisition is complete the resulting image can be saved and forensic analysis can take place using the tool of your choosing.

References