File Type Detector: ตรวจสอบชนิดไฟล์จริงจาก magic bytes ในเบราว์เซอร์
ระบุชนิดไฟล์จริงจาก magic-byte signatures ได้ทั้งหมดในเบราว์เซอร์ของคุณ ตรวจจับ extension ปลอมหรือไม่ตรงกัน ดู header bytes ของไฟล์ และยืนยันว่าไฟล์นั้นคืออะไรก่อนจะเปิดใช้ ทำงานฝั่งไคลเอนต์ 100%
Table of Contents
File Type Detector: ตรวจสอบชนิดไฟล์จริงจาก magic bytes ในเบราว์เซอร์
ระบบปฏิบัติการบอกว่าไฟล์หนึ่งคือไฟล์ประเภทอะไร โดยการอ่าน extension หรือนามสกุลไฟล์ต่อท้ายจุดสุดท้ายของชื่อ แต่จริง ๆ แล้ว extension เป็นเพียงป้ายชื่อที่ใครก็พิมพ์เปลี่ยนได้ ลองเปลี่ยนชื่อไฟล์ text เป็น report.jpg แล้วทุก file manager บนโลกจะยอมรับทันทีว่านี่คือภาพ JPEG ป้ายชื่อโกหกได้ แต่เนื้อหาในไฟล์ไม่ได้โกหก เพราะไฟล์ทุกฟอร์แมตเริ่มต้นด้วยลำดับไบต์ที่คงที่ และไบต์แรก ๆ เหล่านั้นเขียนโดยซอฟต์แวร์ที่สร้างไฟล์ ไม่ใช่คนที่ตั้งชื่อไฟล์
file type detector ฟรีของเราจะอ่านไบต์เปิดไฟล์เหล่านี้ — ที่เรียกกันว่า magic bytes — แล้วจับคู่กับ signature ของฟอร์แมตที่รู้จัก ทั้ง PNG, JPEG, PDF, ZIP, ELF และอีกมากมาย เครื่องมือจะบอกว่าไฟล์นี้แท้จริงแล้วคืออะไร เทียบกับ extension ที่ไฟล์อ้างว่าเป็น และแจ้งเตือนทันทีเมื่อทั้งสองอย่างไม่ตรงกัน ก่อนที่คุณจะกดดับเบิลคลิก นอกจากนี้ยังแสดง header bytes ดิบในรูปแบบ hex view ที่อ่านง่าย ให้คุณเห็นหลักฐานด้วยตาตัวเอง แทนที่จะเชื่อคำตัดสินแบบกล่องดำ
ทุกอย่างทำงานแบบ client-side 100% ในเบราว์เซอร์ของคุณ ไฟล์ไม่ถูกอัปโหลดไปไหน ไม่ต้องสมัครสมาชิก และการวิเคราะห์เสร็จทันทีที่วางไฟล์ลงไป จึงเป็นด่านตรวจแรกที่รวดเร็วสำหรับไฟล์แนบน่าสงสัย ไฟล์ดาวน์โหลดที่แหล่งที่มาน่าสงสัย หรือไฟล์ใดก็ตามที่เรื่องราวของมันไม่ค่อยจะลื่นไหล
ทำไมต้องใช้ File Type Detector?
- การปลอม extension นั้นง่ายเหลือเกิน: ใครก็เปลี่ยนชื่อ malware.zip เป็น invoice.pdf ได้ในสองวินาที extension สะท้อนเจตนาของผู้ตั้งชื่อ ไม่ใช่เนื้อหาจริงของไฟล์ และผู้โจมตีอาศัยช่องว่างนี้
- magic bytes ปลอมยากกว่ามาก: ไบต์แรกต้องมีโครงสร้างถูกต้อง ไม่เช่นนั้นโปรแกรมเป้าหมายจะเปิดไฟล์ไม่ได้ จึงเป็นพยานที่ซื่อสัตย์กว่าชื่อไฟล์มาก
- ตรวจจับความไม่ตรงกันได้ในแวบเดียว: เมื่อไฟล์ .jpg แท้จริงเป็น ZIP archive เครื่องมือจะชี้ให้เห็นทันที ไม่ต้องรอให้คุณขุดเอง
- เป็นส่วนตัวอย่างสมบูรณ์: ไฟล์ไม่เคยออกจากอุปกรณ์ของคุณ การประมวลผลทั้งหมดเกิดขึ้นในเบราว์เซอร์ ซึ่งสำคัญมากเมื่อไฟล์นั้นเป็นเอกสารลับ
- เห็น header แบบ hex view ที่อ่านได้: คุณจะเห็นไบต์นำจริง ๆ ไม่ใช่แค่คำตัดสินสำเร็จรูป จึงฝึกอ่าน file header ด้วยตัวเองไปด้วย
- ไม่ต้องติดตั้ง ไม่ต้องอัปโหลด ไม่ต้องรอ: ใช้ได้กับอุปกรณ์ใดก็ที่มีเบราว์เซอร์ และให้ผลลัพธ์ทันทีที่เลือกไฟล์
ฟีเจอร์หลัก
| ฟีเจอร์ | หน้าที่ |
|---|---|
| Magic-byte detection | อ่านไบต์แรกแล้วจับคู่กับ signature ที่รู้จัก (PNG, JPEG, PDF, ZIP, ELF และอื่น ๆ) |
| Mismatch detection | แจ้งเตือนเมื่อ extension ที่ไฟล์อ้างสิทธิ์ไม่ตรงกับชนิดเนื้อหาจริงที่ตรวจพบ |
| Header hex view | แสดงไบต์นำแบบดิบ เพื่อให้คุณตรวจสอบหลักฐานด้วยตัวเองได้ |
| รองรับฟอร์แมตกว้าง | รู้จักไฟล์ภาพ เอกสาร archive ไฟล์ executables และไฟล์สื่อ |
| ทำงานฝั่งไคลเอนต์ | รันทั้งหมดในเบราว์เซอร์ ไม่มีข้อมูลใดถูกส่งไปเซิร์ฟเวอร์ |
- ตรวจจับได้ทันที — การเช็ก signature ทำงานกับไบต์สองสามกิโลไบต์แรก ไฟล์ใหญ่แค่ไหนก็วิเคราะห์เสร็จทันที
- ฟอร์แมตที่ไม่รู้จักจะถูกรายงานอย่างตรงไปตรงมา ไม่เดาเฉไป พร้อม hex view ไว้ให้ตรวจสอบด้วยตนเอง
- ขั้นตอนการใช้งานตั้งใจให้เรียบง่าย: วางไฟล์ อ่านคำตัดสิน แล้วตัดสินใจขั้นต่อไป
วิธีใช้งาน
- เปิดเครื่องมือแล้ววางไฟล์ลงไป เข้าไปที่ file type detector ลากไฟล์มาวางใน drop zone หรือเลือกผ่าน file chooser ไม่มีการอัปโหลดใด ๆ — เบราว์เซอร์อ่านไบต์ในเครื่องคุณเอง
- อ่านชนิดไฟล์ที่ตรวจพบ เครื่องมือจะอ่านไบต์แรกแล้วจับคู่กับฐานข้อมูล signature เพื่อแสดงฟอร์แมตจริงที่ระบุได้
- เทียบกับ extension ที่ไฟล์อ้างว่าเป็น เครื่องมือวางชนิดที่ตรวจพบไว้ข้างกับ extension ที่ชื่อไฟล์อ้างสิทธิ์ ถ้าตรงกันเป็นข่าวดี ถ้าไม่ตรงกันคือสัญญาณเตือนที่ควรจริงจัง
- สำรวจ header hex view ดูไบต์นำแบบดิบ เช่น PNG แท้จะเริ่มด้วย 89 50 4E 47 ส่วน PDF แท้จะเริ่มด้วย 25 50 44 46 ซึ่งคืออักขระ ASCII คำว่า %PDF
- ตัดสินใจขั้นต่อไป ถ้าชนิดตรงกันและแหล่งที่มาน่าเชื่อถือ ก็เปิดไฟล์ได้ แต่ถ้าไม่ตรงกัน ให้กักกันไฟล์ สแกนซ้ำด้วยโปรแกรม antivirus หรือลบทิ้ง
Magic Bytes: ลายนิ้วมือของไฟล์
magic-byte signature คืออะไร
ฟอร์แมตไบนารีเกือบทุกชนิดเริ่มต้นด้วยลำดับไบต์คงที่ที่เรียกว่า magic number หรือ file signature ไฟล์ PNG จะเริ่มด้วย 89 50 4E 47 เสมอ — โดย 50 4E 47 ก็คือ ASCII ของตัวอักษร P, N, G ตามด้วยไบต์ carriage return และ line feed ที่ช่วยให้ไฟล์รอดจากการถ่ายโอนแบบ text mode ไฟล์ JPEG เริ่มด้วย FF D8 FF ไฟล์ PDF เริ่มด้วย 25 50 44 46 ซึ่งอ่านได้ว่า %PDF ไฟล์ ZIP เริ่มด้วย 50 4B หรือตัวอักษร PK ย่อจาก Phil Katz ผู้สร้างฟอร์แมต และไฟล์ executable แบบ ELF บน Linux เริ่มด้วย 7F 45 4C 46 เนื่องจากซอฟต์แวร์ผู้สร้างไฟล์เขียนไบต์เหล่านี้ตามข้อกำหนดของฟอร์แมต มันจึงทำหน้าที่เป็นลายนิ้วมือที่อยู่รอดจากการเปลี่ยนชื่อไฟล์
การปลอม extension ทำงานอย่างไร และทำไมผู้โจมตีถึงชอบใช้
การปลอม extension เป็นกลเก่าแก่ที่สุดในสำนักพิมพ์ของ social engineering และมันได้ผลเพราะคนเชื่อป้ายชื่อ ผู้โจมตีเอา executable หรือ script มาเปลี่ยนชื่อเป็นอะไรที่ดูไม่เป็นอันตราย — invoice.pdf, photo.jpg, resume.docx — แล้วแนบไปกับอีเมล file manager ของเหยื่อจะพูดซ้ำตามคำโกหกนั้น ไอคอนดูไม่มีพิรุธ และการดับเบิลคลิกเกิดขึ้นก่อนความสงสัยเสมอ บางการโจมตีไปไกลกว่านั้นด้วย double extension อย่าง report.pdf.exe ที่หวังให้ระบบของเหยื่อซ่อน extension จริงตัวสุดท้ายไว้ การเช็ก magic bytes ทำลายกลนี้ได้ เพราะ executable ที่เปลี่ยนชื่อไปก็ยังเริ่มด้วย signature จริงของมัน ไม่ใช่ header %PDF ที่มันอ้างว่าเป็น
การอ่าน header hex view
hex view แสดงไบต์แรกของไฟล์ในรูปเลขฐานสิบหก สัญกรณ์เดียวกับที่นักวิเคราะห์ forensic ใช้ อ่านจากซ้ายไปขวา: อักขระคู่หนึ่งเท่ากับหนึ่งไบต์ ถ้าคุณวางไฟล์ที่อ้างว่าเป็น PDF แต่ไบต์แรกคือ 50 4B 03 04 แสดงว่าคุณกำลังมอง ZIP archive ที่แต่งตัวเป็น PDF อยู่ hex view ยังเป็นครูของคุณด้วย — หลังจากเช็กไปสักไม่กี่ครั้ง คุณจะจำ signature ของ PNG, JPEG และ ZIP ได้ทันทีที่เห็น และจะเริ่มจับพิรุธได้ เช่น เอกสาร text ที่ขึ้นต้นด้วยตัวอักษรธรรมดาอ่านได้ ในตำแหน่งที่ควรเป็นโครงสร้างไบนารี
mismatch ที่พบบ่อยซึ่งเครื่องมือจับได้
มีสองกรณีที่เจอตลอด กรณีแรกคือไฟล์ text ธรรมดาที่เปลี่ยนชื่อเป็นนามสกุล executable: ไฟล์ text ที่แอบอ้างว่าเป็น .exe จะโดนจับได้ทันที เพราะไม่มี MZ header (4D 5A) ที่ไฟล์ executable ของ Windows ทุกตัวต้องมี กรณีที่สองคือตระกูล ZIP อันกว้างใหญ่: ไฟล์ .docx, .xlsx, .pptx, .jar และ .apk ยุคใหม่ล้วนเป็น ZIP container ข้างใน จึงเริ่มด้วย 50 4B ทั้งหมด ซึ่งไม่ใช่การโจมตีในตัวเอง — แต่มันอธิบายว่าทำไม spreadsheet ที่เปลี่ยนชื่อเป็น .zip ถึงเปิดได้ปกติ และทำไมคุณควรดูบริบททั้งหมด ไม่ใช่หยุดที่สี่ไบต์แรก ทั้งสองข้อสังเกตใช้เวลาไม่กี่วินาทีในเครื่องมือ และปิดคำถามที่การเดาตอบไม่ได้
กรณีใช้งานจริง
คัดกรองไฟล์แนบในอีเมล
ก่อนเปิดไฟล์แนบจากคนแปลกหน้า — หรือไฟล์ที่ไม่คาดคิดจากบัญชีเพื่อนที่ถูกแฮ็ก — วางไฟล์ลงใน detector invoice.pdf ที่แท้จริงเป็น executable หรือ photo.jpg ที่แท้จริงเป็น script จะเผยตัวผ่าน header bytes การเช็กใช้เวลาไม่กี่วินาที และเข้ากันดีกับกิจวัตรความปลอดภัยส่วนบุคคลที่มี antivirus อยู่แล้ว
ตรวจสอบไฟล์ดาวน์โหลด
ไฟล์จากฟอรัม เว็บแชร์ไฟล์ และลิงก์ดาวน์โหลดสุ่มสี่สุ่มห้า มักมาพร้อมป้ายชื่อที่ผิด game installer ที่แท้จริงเป็นไฟล์ text codec pack ที่แท้จริงเป็น archive เปลี่ยนชื่อ หรือ wallpaper ที่แท้จริงเป็นหน้า HTML — detector ระบุได้ครบก่อนที่คุณจะรันอะไรลงเครื่อง โดยเฉพาะกับไฟล์ที่ตรวจ checksum ไม่ได้เพราะแหล่งเผยแพร่ไม่ได้เผยแพร่ค่าไว้
คัดกรองเบื้องต้นงาน forensic
นักตอบสนองเหตุการณ์ที่คัดกรองไดเรกทอรีน่าสงสัย ต้องรู้ว่าไฟล์แต่ละไฟล์แท้จริงคืออะไร ไม่ใช่ว่ามันอ้างว่าเป็นอะไร การเช็ก magic bytes เปิดโปงข้อมูลที่ซ่อนด้วยการเปลี่ยนชื่อ — archive ของข้อมูลที่หลุดออกไปปลอมตัวเป็นไฟล์สื่อ หรือ payload แต่งตัวเป็นเอกสาร — และ hex view ให้หลักฐานชั้นแรกสำหรับรายงาน มันเป็นตัวเสริมเบา ๆ ของชุดเครื่องมือ forensic หนัก ๆ ไม่ใช่ตัวแทน
ตรวจสอบ dataset และ backup
คอลเลกชันไฟล์ขนาดใหญ่สะสมขยะได้ตลอด: ไฟล์ที่ script เปลี่ยนชื่อเป็นชุด export ที่บันทึกด้วย extension ผิด หรือภาพที่ลับ ๆ เป็น bitmap การตรวจสอบส่วนประกอบจริงของ dataset ด้วยมือเป็นไปไม่ได้ในระดับใหญ่ แต่การสุ่มเช็กตัวอย่างด้วย detector จะเผยการติดป้ายผิดแบบเป็นระบบได้เร็ว — ก่อนที่มันจะทำลาย training pipeline หรืองาน migration
แนวทางปฏิบัติที่ดี
- ตรวจสอบก่อนเปิดไฟล์จากคนแปลกหน้าทุกครั้ง การเช็ก header สองวินาทีควรอยู่หน้าไฟล์แนบและไฟล์ดาวน์โหลดที่ไม่ได้ร้องขอทุกชิ้น
- ใช้คำตัดสินคู่กับการสแกน antivirus magic bytes ยืนยันว่าไฟล์คืออะไร แต่ไม่ยืนยันว่าไฟล์นั้นปลอดภัย PDF ที่ถูกต้องก็ยังมีช่องโหว่ให้ exploit ได้
- จำไว้ว่า magic bytes ถูกต้อง ไม่ได้แปลว่าเนื้อหาปลอดภัย malware ที่ถูกคราฟต์มาเป็นพิเศษก็พก signature ที่ถูกต้องได้ header เป็นสัญญาณหนึ่ง ไม่ใช่ใบรับรอง
- ถือว่าทุก mismatch เป็นภัยจนกว่าจะพิสูจน์ได้ว่าไม่ใช่ การเปลี่ยนชื่อโดยไม่เจตนาเกิดขึ้นได้ แต่ค่าเริ่มต้นที่ปลอดภัยคือกักกัน สแกนซ้ำ แล้วค่อยตัดสินใจ
- เช็กไฟล์หลังการถ่ายโอน ไม่ใช่ก่อน email gateway และ download manager บางครั้งแก้ไขหรือห่อหุ้มไฟล์ ให้ตรวจสอบสำเนาที่คุณได้รับจริง ๆ
- จำ signature หลัก ๆ ที่เจอบ่อยให้ขึ้นใจ การจำ 89 50 4E 47, FF D8 FF, 25 50 44 46 และ 50 4B ได้ จะเปลี่ยน hex view ให้กลายเป็นความเข้าใจทันที
ตรวจสอบทุกไฟล์ก่อนเปิด
extension เป็นเพียงข่าวลือ แต่ header คือคำให้การ เปิด file type detector วางไฟล์ที่คุณไม่มั่นใจลงไป แล้วอ่านตัวตนจริงของมันจากไบต์แรกโดยตรง — เป็นส่วนตัว รวดเร็ว และไม่มีไบต์ใดออกจากเครื่องของคุณเลย
เครื่องมือที่เกี่ยวข้องที่คุณอาจสนใจ:
- Hash Type Identifier — ระบุว่า digest หนึ่ง ๆ มาจาก hash algorithm ใด เป็นตัวคู่หูที่เหมาะเจาะเวลาตรวจสอบไฟล์ที่ดาวน์โหลดมา
- Base64 Tool — เข้ารหัสหรือถอดรหัสข้อมูล Base64 ในเบราว์เซอร์ ใช้ประโยชน์ได้เวลาสำรวจเนื้อหาที่ฝังอยู่หรือถูกส่งผ่านไปมา
- Image Format Converter — แปลงรูปภาพระหว่างฟอร์แมตฝั่งไคลเอนต์ทั้งหมด เมื่อคุณยืนยันแล้วว่าภาพนั้นแท้จริงคืออะไร
อยู่กับความอยากรู้ ตรวจสอบก่อนเสมอ — แล้วปล่อยให้ไบต์เป็นผู้บอกความจริง
คำถามที่พบบ่อย
ถ: magic bytes คืออะไรกันแน่?
ตอบ: คือไบต์เปิดไฟล์ชุดคงที่ของแต่ละฟอร์แมต หรือที่เรียกว่า file signature หรือ magic number PNG เริ่มด้วย 89 50 4E 47, JPEG เริ่มด้วย FF D8 FF, PDF เริ่มด้วย 25 50 44 46 และ ZIP เริ่มด้วย 50 4B เนื่องจากซอฟต์แวร์ผู้สร้างไฟล์เป็นผู้เขียนไบต์เหล่านี้ มันจึงระบุฟอร์แมตจริงได้ไม่ว่าชื่อไฟล์จะเป็นอย่างไร
ถ: เครื่องมือตรวจจับไฟล์ได้ทุกชนิดหรือไม่?
ตอบ: ครอบคลุม signature ที่พบบ่อยของไฟล์ภาพ เอกสาร archive และ executables รวมถึง PNG, JPEG, PDF, ZIP และ ELF ส่วนฟอร์แมตที่ไม่มี header เด่นชัด — ไฟล์ text ธรรมดาเป็นตัวอย่างคลาสสิก — จะถูกรายงานอย่างตรงไปตรงมาว่าระบุไม่ได้ โดยไม่เดาเฉไป และคุณยังใช้ hex view ตรวจสอบไบต์ด้วยตัวเองได้
ถ: ไฟล์ของฉันถูกอัปโหลดไปที่ไหนหรือเปล่า?
ตอบ: ไม่เลย การตรวจจับทำงานทั้งหมดในเบราว์เซอร์ของคุณด้วย JavaScript ฝั่งไคลเอนต์ ไฟล์ไม่เคยออกจากอุปกรณ์ ไม่ต้องสมัครสมาชิก และไม่มีการบันทึกใด ๆ จึงใช้กับเอกสารลับได้อย่างปลอดภัย
ถ: ไฟล์ที่ magic bytes ตรง แปลว่าเปิดได้อย่างปลอดภัยแน่นอนหรือไม่?
ตอบ: ไม่จำเป็น ไบต์ signature ที่ตรงพิสูจน์แค่ฟอร์แมต container ของไฟล์ ไม่ใช่เนื้อหา PDF แท้ก็ยังโจมตีโปรแกรมอ่านที่มีช่องโหว่ได้ และไฟล์ภาพที่ถูกต้องก็ซ่อน payload ร้ายได้ ให้ถือว่าการเช็ก header เป็นชั้นป้องกันหนึ่งชั้น และสแกนไฟล์ที่ไม่น่าเชื่อถือด้วย antivirus ก่อนเปิดเสมอ
ถ: ทำไมไฟล์ docx, xlsx และ jar ถึงดูเหมือน ZIP archive ทั้งหมด?
ตอบ: เพราะมันเป็น ZIP จริง ๆ ฟอร์แมตเหล่านี้คือ ZIP container ที่บรรจุ XML ที่มีโครงสร้างและทรัพยากรอื่นไว้ข้างใน จึงเริ่มด้วย ZIP signature 50 4B เหมือนกันหมด การเห็น signature นี้คือเรื่องปกติ ไม่ใช่ความน่าสงสัย — เครื่องมือแค่รายงานฟอร์แมต container ที่อยู่ข้างในอย่างซื่อตรง