雜湊(Hash)是一種將任意大小的資料轉換成固定大小的數值的過程。這個過程是透過一個叫做雜湊函數(Hash Function)的數學演算法來完成的。
假設我們有一個簡單的雜湊函數,它將任何字符串轉換為兩位數字:
Input: "Hello" -> Hash: 37
Input: "World" -> Hash: 52
Input: "HelloWorld" -> Hash: 89
雜湊碰撞(Hash Collision)指的是兩個不同的輸入產生了相同的雜湊值。
使用上面的簡單雜湊函數:
Input: "Cat" -> Hash: 24
Input: "Dog" -> Hash: 24
這裡,"Cat" 和 "Dog" 產生了相同的雜湊值 24,這就是一個碰撞的例子。
學習如何生成和驗證檔案雜湊值,並理解雜湊值在確保數位證據完整性中的重要作用。
Windows:
echo ABC > evidence.txt
type evidence.txt
Linux:
echo -n ABC > evidence.txt
Windows:
Get-FileHash -Algorithm MD5 evidence.txt
Get-FileHash -Algorithm SHA1 evidence.txt
Get-FileHash -Algorithm SHA256 evidence.txt
PS C:\Users\user> Get-FileHash -Algorithm MD5 evidence.txt
Algorithm Hash Path
--------- ---- ----
MD5 640E33774583F0A78EEF0A272D304D7A C:\Users\user\evidence.txt
PS C:\Users\user> Get-FileHash -Algorithm SHA1 evidence.txt
Algorithm Hash Path
--------- ---- ----
SHA1 AAE63CD7DAE45BB472A89F84996CB27C78350762 C:\Users\user\evidence.txt
PS C:\Users\user> Get-FileHash -Algorithm SHA256 evidence.txt
Algorithm Hash Path
--------- ---- ----
SHA256 89B948CA340D961BD945AD1108C854D3AA15BFFD3B362EB2F233EEC6EE50E636 C:\Users\user\evidence.txt
Linux:
md5sum evidence.txt
sha1sum evidence.txt
sha256sum evidence.txt
user@user:~$ md5sum evidence.txt
902fbdd2b1df0c4f70b4a5d23525e932 evidence.txt
user@user:~$ sha1sum evidence.txt
3c01bdbb26f358bab27f267924aa2c9a03fcfdb8 evidence.txt
user@user:~$ sha256sum evidence.txt
b5d4045c3f466fa91fe2cc6abe79232a1a57cdf104f7a26e716e0a1e2789df78 evidence.txt
user@user:~$
echo ABC > evidence.txt
指令時echo -n ABC > evidence.txt
指令時-n
選項確保不加上額外的換行Windows:
echo ABCD > evidence.txt
Linux:
echo -n ABCD > evidence.txt
@('MD5','SHA1','SHA256') | ForEach-Object {
Get-FileHash -Algorithm $_ evidence.txt | Select-Object Algorithm, Hash
} | Format-Table
PS C:\Users\user> @('MD5','SHA1','SHA256') | ForEach-Object {
>> Get-FileHash -Algorithm $_ evidence.txt | Select-Object Algorithm, Hash
>> } | Format-Table
Algorithm Hash
--------- ----
MD5 BB2A95DCFCE03F2A6926BB9872F2CC4E
SHA1 6D6FEC094ADD998CDB2C63279D211C715E54AA88
SHA256 DC9F50738AE6546EFCCB663BA5CDBC153A948FC79EB1152C7EA83B81B7A9B5D2
{ md5sum evidence.txt; sha1sum evidence.txt; sha256sum evidence.txt; }
user@user:~$ { md5sum evidence.txt; sha1sum evidence.txt; sha256sum evidence.txt; }
cb08ca4a7bb5f9683c19133a84872ca7 evidence.txt
fb2f85c88567f3c8ce9b799c7c54642d0c7b41f6 evidence.txt
e12e115acf4552b2568b55e93cbd39394c4ef81c82447fafc997882a02d23677 evidence.txt
修改前(檔案內容:ABC\r\n):
修改後(檔案內容:ABCD\r\n):
修改前(檔案內容:ABC):
修改後(檔案內容:ABCD):
常譯作詮釋資料、後設資料、中介資料、中繼資料
中繼資料(metadata),也常被稱為元資料、詮釋資料、後設資料或中介資料,是「關於資料的資料」。這個概念可能聽起來有些抽象,但實際上它在我們的日常數位生活中無處不在。
中繼資料是描述其他資料的結構化資訊。它提供了關於資料的背景、內容和結構的額外資訊,使得資料的管理、查找、理解和使用變得更加容易。
數位鑑識是在電子設備上收集、分析和報告數位證據的過程。在這個過程中,中繼資料扮演著至關重要的角色。
學習如何在 Windows 系統中查看和分析檔案的 metadata 。
$filePath = "C:\Users\user\Desktop\測試.docx"
$shell = New-Object -ComObject Shell.Application
$folder = $shell.Namespace((Get-Item $filePath).DirectoryName)
$file = $folder.ParseName((Get-Item $filePath).Name)
$metadata = @{}
0..266 | ForEach-Object {
$name = $folder.GetDetailsOf($folder.items, $_)
$value = $folder.GetDetailsOf($file, $_)
if ($name -and $value) {
$metadata[$name] = $value
}
}
$metadata | Format-Table -AutoSize
[System.Runtime.Interopservices.Marshal]::ReleaseComObject($shell) | Out-Null
https://drive.google.com/file/d/1oHaXdbmGccsGRfMFyAM6oCBA8dYGaDjC/view?usp=sharing
學習如何在Linux系統中使用指令介面工具分析檔案 metadata
sudo apt-get install exiftool
https://drive.google.com/file/d/1oHaXdbmGccsGRfMFyAM6oCBA8dYGaDjC/view?usp=sharing
ls -lisap <filename>
stat <filename>
exiftool <filename>
user@user:~$ exiftool 20240827_153222.jpg
ExifTool Version Number : 12.40
File Name : 20240827_153222.jpg
Directory : .
File Size : 4.5 MiB
File Modification Date/Time : 2024:10:08 18:38:21+08:00
File Access Date/Time : 2024:10:08 18:38:21+08:00
File Inode Change Date/Time : 2024:10:08 18:38:21+08:00
File Permissions : -rwxr-xr-x
File Type : JPEG
File Type Extension : jpg
MIME Type : image/jpeg
Exif Byte Order : Little-endian (Intel, II)
Make : samsung
Camera Model Name : Galaxy S23 Ultra
Orientation : Rotate 90 CW
X Resolution : 72
Y Resolution : 72
Resolution Unit : inches
Software : S9180ZHS4CXG2
Modify Date : 2024:08:27 15:32:22
Y Cb Cr Positioning : Centered
Exposure Time : 1/560
F Number : 1.7
Exposure Program : Program AE
ISO : 10
Exif Version : 0220
Date/Time Original : 2024:08:27 15:32:22
Create Date : 2024:08:27 15:32:22
Offset Time : +09:00
Offset Time Original : +09:00
Shutter Speed Value : 1
Aperture Value : 1.7
Brightness Value : 9.17
Exposure Compensation : 0
Max Aperture Value : 1.7
Metering Mode : Center-weighted average
Flash : No Flash
Focal Length : 6.3 mm
Sub Sec Time : 363
Sub Sec Time Original : 363
Sub Sec Time Digitized : 363
Flashpix Version : 0100
Color Space : Uncalibrated
Exif Image Width : 4000
Exif Image Height : 3000
Exposure Mode : Auto
White Balance : Auto
Digital Zoom Ratio : 1
Focal Length In 35mm Format : 23 mm
Scene Capture Type : Standard
Image Unique ID : EK0XLPE00SM
GPS Latitude Ref : North
GPS Longitude Ref : East
GPS Altitude Ref : Above Sea Level
Compression : JPEG (old-style)
Thumbnail Offset : 1016
Thumbnail Length : 45340
Profile CMM Type :
Profile Version : 4.3.0
Profile Class : Display Device Profile
Color Space Data : RGB
Profile Connection Space : XYZ
Profile Date Time : 2022:07:01 00:00:00
Profile File Signature : acsp
Primary Platform : Unknown (SEC)
CMM Flags : Not Embedded, Independent
Device Manufacturer : Unknown (SEC)
Device Model :
Device Attributes : Reflective, Glossy, Positive, Color
Rendering Intent : Perceptual
Connection Space Illuminant : 0.9642 1 0.82491
Profile Creator : Unknown (SEC)
Profile ID : 0
Profile Description : DCI-P3 D65 Gamut with sRGB Transfer
Profile Copyright : Copyright (c) 2022 Samsung Electronics Co., Ltd.
Media White Point : 0.9642 1 0.82491
Chromatic Adaptation : 1.04781 0.02289 -0.05013 0.02954 0.99048 -0.01704 -0.00923 0.01505 0.75214
Red Matrix Column : 0.51508 0.24117 -0.00105
Green Matrix Column : 0.29195 0.69223 0.04189
Blue Matrix Column : 0.15718 0.06659 0.78455
Red Tone Reproduction Curve : (Binary data 32 bytes, use -b option to extract)
Green Tone Reproduction Curve : (Binary data 32 bytes, use -b option to extract)
Blue Tone Reproduction Curve : (Binary data 32 bytes, use -b option to extract)
Image Width : 4000
Image Height : 3000
Encoding Process : Baseline DCT, Huffman coding
Bits Per Sample : 8
Color Components : 3
Y Cb Cr Sub Sampling : YCbCr4:2:0 (2 2)
Time Stamp : 2024:08:27 14:32:22+08:00
MCC Data : 440
Aperture : 1.7
Image Size : 4000x3000
Megapixels : 12.0
Scale Factor To 35 mm Equivalent: 3.7
Shutter Speed : 1/560
Create Date : 2024:08:27 15:32:22.363
Date/Time Original : 2024:08:27 15:32:22.363+09:00
Modify Date : 2024:08:27 15:32:22.363+09:00
Thumbnail Image : (Binary data 45340 bytes, use -b option to extract)
GPS Altitude : 66 m Above Sea Level
GPS Latitude : 34 deg 53' 29.67" N
GPS Longitude : 135 deg 48' 24.05" E
Circle Of Confusion : 0.008 mm
Field Of View : 76.1 deg
Focal Length : 6.3 mm (35 mm equivalent: 23.0 mm)
GPS Position : 34 deg 53' 29.67" N, 135 deg 48' 24.05" E
Hyperfocal Distance : 2.84 m
Light Value : 14.0
從提供的exiftool輸出中,分析內容:
a) GPS Position: 34 deg 53' 29.67" N, 135 deg 48' 24.05" E
這提供了照片拍攝的精確地理位置,對於確定事件發生地點至關重要。
b) Date/Time Original: 2024:08:27 15:32:22.363+09:00
這顯示了照片拍攝的確切時間,包括毫秒和時區,對於建立事件時間線非常有價值。
c) Camera Model Name: Galaxy S23 Ultra
識別了用於拍攝的設備,可以用於追溯照片來源或與特定個人關聯。
d) Software: S9180ZHS4CXG2
這是設備的軟體版本,可能有助於確定設備的更新狀態或特定功能。
e) Focal Length In 35mm Format: 23 mm
這提供了拍攝視角的資訊,可以幫助重建拍攝場景或驗證照片的真實性。
修改檔案metadata的指令範例:
exiftool -CreateDate="2023:01:01 12:00:00" 20240827_153222.jpg
這個指令會將照片的建立日期改為2023年1月1日中午12點。執行後,exiftool會建立一個備份文件,並顯示更改的結果。
某些metadata在數位鑑識調查中特別有價值,原因如下:
本文介紹了數位鑑識中兩個關鍵概念:雜湊值和中繼資料(metadata)。
雜湊值是檔案的數位指紋,可用於驗證檔案完整性和快速比較檔案。我們學習了如何在Windows和Linux系統中生成和比較雜湊值,並討論了雜湊值在數位鑑識中的重要性。
中繼資料是關於資料的資料,包含了大量有價值的資訊。我們探討了如何在Windows和Linux系統中查看和分析中繼資料,並強調了中繼資料在數位鑑識調查中的關鍵作用。
這些技術對於確保證據完整性、建立事件時間線、確定資料來源等方面都至關重要,是數位鑑識人員的基本技能。
答案: C
解析: 雜湊函數的主要特性包括固定長度輸出、單向性(不可逆)和雪崩效應。可逆性與雜湊函數的本質相反,因為雜湊函數設計為不可能從雜湊值反推原始資料。
答案: C
解析: 在數位鑑識中,雜湊值主要用於驗證檔案的完整性。通過比較不同時間點的雜湊值,鑑識人員可以確定檔案是否被修改過,這對於維護證據的可靠性至關重要。
答案: C
解析: 雖然其他類型的檔案也可能包含位置資訊,但數位照片最常見地包含GPS坐標作為其中繼資料的一部分。許多智慧手機和數位相機會自動將位置資訊嵌入到拍攝的照片中。
答案: B
解析: 如果檔案內容被修改但中繼資料中的最後修改時間沒有更新,這很可能意味著中繼資料被刻意竄改了。這種情況在數位鑑識中是一個重要的警告信號,表明可能有人試圖掩蓋檔案的修改痕跡。
答案: C
解析: Exiftool可以提取大量的中繼資料,包括相機型號、拍攝時間和相機設置(如光圈大小)。然而,照片中人物的姓名通常不會自動包含在中繼資料中。雖然某些進階相機或軟體可能允許手動增加這類資訊,但它不是標準的Exif資料文字。