Steganography Tool: ซ่อนข้อความลับในภาพ PNG ด้วยเทคนิค LSB
ซ่อนข้อความลับในภาพ PNG ด้วย LSB steganography และดึงกลับคืนได้ในเบราว์เซอร์ ไม่มีการอัปโหลดขึ้นเซิร์ฟเวอร์ เรียนรู้การซ่อนข้อมูลระดับพิกเซล
Table of Contents
Steganography Tool: ซ่อนข้อความลับในภาพ PNG ด้วยเทคนิค LSB
การเข้ารหัสนั้น "เสียงดัง" — ทันทีที่คุณส่งข้อความที่เข้ารหัส ทุกคนรู้ว่ามีความลับที่ควรค่าแก่การอ่าน แต่ steganography นั้น "เงียบ" เพราะซ่อนข้อความไว้ในไฟล์ที่ดูธรรมดาจนไม่มีใครสงสัยว่ามันมีอยู่ Steganography Tool ของเราทำแบบนั้นกับภาพ โดยฝังข้อความลับลงในพิกเซลของ PNG ด้วยเทคนิค LSB (least significant bit) steganography และดึงกลับคืนได้ทุกเมื่อที่ต้องการ
ขั้นตอนทั้งหมดทำงานในเบราว์เซอร์ของคุณ โหลดภาพ PNG พิมพ์ข้อความที่ต้องการซ่อน แล้วเครื่องมือจะเขียนบิตลำดับต่ำสุดของช่องสีใหม่ ภาพยังดูเหมือนเดิมทุกประการ แต่ข้อมูลซ่อนอยู่ข้างใน เมื่อนำภาพที่บันทึกไว้เข้าโหมด reveal ข้อความก็กลับมาครบทุกตัวอักษร ไม่มีอะไรถูกอัปโหลด ทั้งภาพและข้อความลับจึงไม่ออกจากอุปกรณ์ของคุณเลย
คู่มือนี้จะพาคุณรู้จักทั้งสองโหมด กลไกของ LSB ในระดับพิกเซล ความจุที่ซ่อนได้จริง ทำไมต้องเป็น PNG และสถานการณ์ที่การซ่อนข้อมูลในภาพมีประโยชน์จริง
ทำไมต้องใช้ Steganography Tool?
- ไม่มีใครรู้ว่ามีข้อความอยู่ ภาพ PNG ที่ซ่อนข้อมูลแล้วดูเหมือนภาพทั่วไป ต่างจากข้อความที่เข้ารหัสซึ่งดึงความสนใจทันที
- ประมวลผล 100% ฝั่ง client-side ทั้งการซ่อนและดึงข้อมูลทำงานในเบราว์เซอร์ ภาพและข้อความลับจึงไม่ถูกส่งออกไปไหน
- ฝังด้วย LSB จริง เครื่องมือแก้บิตลำดับต่ำสุด (least significant bit) ของแต่ละช่องสี ซึ่งเป็นเทคนิค steganography ภาพที่ได้รับการศึกษามากที่สุด
- เครื่องมือเดียวครบทั้งสองทาง โหมดซ่อนและโหมดดึงวางคู่กัน จึงตรวจสอบงานของตัวเองได้ในไม่กี่วินาที
- ตรวจสอบความจุให้อัตโนมัติ ก่อนแตะพิกเซล เครื่องมือยืนยันว่าภาพมีความจุพอสำหรับข้อความ และเตือนหากไม่พอ
- ไม่ต้องสมัคร ไม่มีการอัปโหลด ไม่มีลายน้ำ ใช้งานฟรีไม่จำกัด พร้อมดาวน์โหลด PNG ที่ความละเอียดเดิม
ฟีเจอร์เด่น
| ฟีเจอร์ | รายละเอียด |
|---|---|
| โหมดการทำงาน | Hide (ฝังข้อความ) และ Reveal (ดึงข้อความ) |
| รูปแบบภาพพาหะ | PNG แบบ 24-bit RGB หรือ 32-bit RGBA |
| วิธีการฝัง | LSB steganography 1 บิตต่อช่องสี |
| ความจุ | 3 บิตต่อพิกเซล ตรวจสอบก่อนฝังทุกครั้ง |
| ผลลัพธ์ | ไฟล์ PNG ที่ฝังข้อมูลแล้ว ดาวน์โหลดได้ทันที |
| ความเป็นส่วนตัว | ไม่อัปโหลด ไม่เก็บบนเซิร์ฟเวอร์ ไม่มี telemetry |
- ระบบป้องกันพิกเซลไม่พอ เครื่องมือเทียบความจุของภาพกับความยาวข้อความ และบล็อกการฝังเมื่อข้อความยาวเกิน เพื่อไม่ให้ได้ข้อความที่ถูกตัดขาด
- รักษาความละเอียดเดิม ไฟล์ PNG ที่ได้คงขนาดและรูปลักษณ์ของต้นฉบับไว้ครบ มีเพียงบิตล่างสุดที่เปลี่ยน
- ไป-กลับได้ในไม่กี่วินาที ซ่อนและดึงข้อความใช้เวลาแค่ไม่กี่วินาที จึงทดสอบการดึงก่อนแชร์ไฟล์ได้ง่าย
วิธีใช้งาน
- เปิด Steganography Tool ในเบราว์เซอร์ ไม่ต้องสมัคร ติดตั้ง หรือล็อกอินใด ๆ
- อยู่ในโหมด Hide แล้วโหลดภาพพาหะของคุณ เลือก PNG ที่มีพิกเซลมากพอ ยิ่งภาพใหญ่ ยิ่งซ่อนข้อความได้มาก
- พิมพ์หรือวางข้อความลับลงในช่องข้อความ เครื่องมือจะตรวจความจุของภาพก่อนแก้ไขข้อมูลใด ๆ
- กดฝังแล้วดาวน์โหลดไฟล์ PNG ภาพดูไม่เปลี่ยน แต่ข้อความอยู่ในบิตลำดับต่ำสุดแล้ว เก็บไฟล์นี้ไว้ให้ดีเพราะเป็นสำเนาเดียวของข้อความที่ซ่อนอยู่
- เมื่อต้องการอ่านภายหลัง สลับไปโหมด Reveal โหลด PNG ที่ซ่อนไว้ แล้วกดดึงข้อความ ข้อความจะปรากฏทันทีโดยไม่ต้องตั้งค่าอะไร
LSB Steganography ทำงานอย่างไร
ทุกพิกเซลใน PNG เก็บตัวเลขสามค่า คือ R, G และ B โดยแต่ละค่าอยู่ในช่วง 0 ถึง 255 พิกเซลสีเทาปานกลางอาจเป็น (128, 128, 128) ซึ่งในเลขฐานสองคือ 10000000 ต่อช่องสี บิตซ้ายสุดเก็บข้อมูลสีเกือบทั้งหมด ส่วนบิตขวาสุดหรือบิตลำดับต่ำสุดเปลี่ยนค่าเพียง 1 ถ้าพลิกบิตนั้น 128 จะกลายเป็น 129 ต่างกันแค่ 1 ใน 255 ซึ่งสายตามนุษย์แยกไม่ออกเลย โดยเฉพาะเมื่อช่องสีข้างเคียงยังคงเดิม
เครื่องมือใช้จุดบอดนี้ให้เป็นประโยชน์ แปลงข้อความเป็นเลขฐานสอง แล้วพลิกบิตสุดท้ายของหนึ่งช่องสีต่อข้อมูลหนึ่งบิต ไล่จากแดง เขียว น้ำเงิน แล้วไปยังพิกเซลถัดไป ตัวอักษร ASCII หนึ่งตัวใช้ 8 บิต ซึ่งน้อยกว่าสามพิกเซล ข้อความสั้น ๆ จึงหายเข้าไปในภาพอย่างไร้ร่องรอย
การคำนวณความจุนั้นง่ายมาก หนึ่งบิตต่อช่องสี สามช่องสี รวมเป็น 3 บิตต่อพิกเซล ภาพขนาด 1000×1000 มี 1,000,000 พิกเซล หรือ 3,000,000 บิต ประมาณ 375 KB หรือราว 375,000 ตัวอักษร ASCII นั่นคือข้อความทั้งบทซ่อนอยู่ในภาพที่คุณโพสต์ที่ไหนก็ได้ และเครื่องมือจะตรวจสอบงบความจุนี้ให้ก่อนเสมอ
PNG จำเป็นเพราะเป็นรูปแบบ lossless ทุกค่าพิกเซลที่เขียนลงไฟล์จะกลับมาเหมือนเดิมเป๊ะ ส่วน JPEG เป็น lossy การบีบอัดจะปรับค่าพิกเซลข้างเคียงและทิ้งรายละเอียดลำดับต่ำซึ่งเป็นที่อยู่ของบิตที่ซ่อนไว้ หากบันทึกภาพเป็น JPEG หรือแคปหน้าจอ ย่อ ขยาย หรือครอปภาพ ข้อความจะถูกทำลายทันที จึงต้องเก็บไฟล์เป็น PNG ไว้ทั้งกระบวนการ
ข้อควรระวังสำคัญคือ LSB ไม่ใช่การเข้ารหัส ใครก็ตามที่สงสัยว่าภาพมีข้อมูลซ่อนอยู่สามารถดึงออกได้ในไม่กี่วินาที steganography ซ่อนเพียง การมีอยู่ ของข้อความ ไม่ได้ปกป้องเนื้อหา ดังนั้นขั้นตอนที่แนะนำคือเข้ารหัสก่อน — นำข้อความผ่าน Text Encryptor แล้วค่อยซ่อน ciphertext ลงในภาพ ตอนนี้ผู้โจมตีต้องมีทั้งข้อสงสัยและกุญแจจึงจะอ่านได้
Use Cases ในทางปฏิบัติ
Watermarking และการแสดงความเป็นเจ้าของ
ฝังข้อความลิขสิทธิ์หรือรหัสใบอนุญาตลงในภาพที่เผยแพร่ ต่างจากลายน้ำที่มองเห็น เครื่องหมาย LSB ไม่รบกวนองค์ประกอบภาพ และยังคงอยู่แม้มีผู้นำไปใช้ต่อ หากเกิดข้อพิพาทเรื่องเจ้าของผลงาน ก็ดึงเครื่องหมายออกมาเป็นหลักฐานได้
โจทย์ CTF และการเรียนการสอน
โจทย์ forensics ในงาน CTF มักใช้ LSB steganography และเครื่องมือนี้คือวิธีที่เร็วที่สุดในการแก้หรือสร้างโจทย์ ในห้องเรียนก็ได้ผลเช่นกัน นักเรียนเห็นข้อความหายเข้าไปในพิกเซลแล้วกลับออกมา ทำให้แนวคิดเลขฐานสองที่เป็นนามธรรมจับต้องได้ทันที
แชร์โน้ตส่วนตัวในภาพ
ซ่อนข้อความสั้น ๆ หรือโน้ตเตือนความจำไว้ในภาพที่คุณส่งอยู่แล้ว แล้วบอกผู้รับให้ดึงออกมา คนอื่นที่เห็นภาพจะเห็นเพียงรูปถ่าย แต่ผู้รับจะเห็นข้อความที่ซ่อนไว้
การสื่อสารที่คำนึงถึงความเป็นส่วนตัว
ในสภาพแวดล้อมที่ทราฟฟิกเข้ารหัสดึงความสนใจ ภาพ PNG ที่ดูธรรมดาสามารถพาข้อความที่ไม่มีวันปรากฏเป็นข้อความบนเครือข่ายได้ จับคู่กับการเข้ารหัสเพื่อความลับ และส่งไฟล์ต้นฉบับโดยตรง เพราะแพลตฟอร์มอาจบีบอัดภาพที่อัปโหลดใหม่
Best Practices
- เข้ารหัสก่อนซ่อน LSB เป็นเพียงการอำพราง ไม่ใช่การป้องกัน นำข้อความผ่าน Text Encryptor ก่อน แล้วค่อยฝัง ciphertext
- ใช้ PNG ตลอดสาย ห้ามแปลงเป็น JPEG และเลี่ยงการแคปหน้าจอ ย่อขนาด หรือครอป เพราะแต่ละอย่างทำลายบิตที่ฝังไว้
- แยกไฟล์ต้นฉบับกับไฟล์ที่ซ่อนแล้วให้ชัดเจน ตั้งชื่อไฟล์ผลลัพธ์ให้ต่างจากต้นฉบับ เพื่อไม่สับสนระหว่างภาพพาหะกับไฟล์ที่ต้องใช้ดึงข้อความ
- เผื่อความจุไว้เสมอ อย่าใช้ความจุเต็ม 100% การเว้นช่องว่างไว้มากพอทำให้การเปลี่ยนแปลงตรวจจับได้ยากขึ้นทางสถิติ
- ทดสอบดึงข้อความก่อนแชร์ ดึงข้อความจาก PNG ที่ดาวน์โหลดมาเสมอ เพื่อยืนยันว่าการไป-กลับสำเร็จ
- รู้ข้อจำกัด steganography ซ่อนการมีอยู่ ไม่ได้ซ่อนความหมาย ควรใช้ร่วมกับการเข้ารหัสจริงและช่องทางที่ปลอดภัยสำหรับกุญแจ
เริ่มซ่อนข้อความลับแรกของคุณวันนี้
ภาพหนึ่งภาพอาจแทนคำได้พันคำ แต่ด้วยเครื่องมือที่เหมาะสม มันพาข้อความได้หลายแสนตัวอักษรอย่างมองไม่เห็น Steganography Tool ให้คุณทั้งการซ่อนและการดึงด้วย LSB ในหน้าเดียวที่ทำงานฝั่ง client-side ทั้งหมด โหลด PNG พิมพ์ข้อความ ดาวน์โหลดภาพที่ซ่อนแล้ว และดึงกลับได้ทุกเมื่อ ไม่มีการอัปโหลด ไม่ต้องมีบัญชี ไม่มีร่องรอยบนเซิร์ฟเวอร์ใด
ลองเริ่มจากข้อความสั้น ๆ ก่อน แล้วทดสอบความจุด้วยข้อความยาวขึ้น เมื่อข้อความของคุณกลับออกมาจากภาพที่ดูไม่เปลี่ยนแปลง คุณจะเข้าใจว่าทำไม steganography ถึงดึงดูดนักวิจัยความปลอดภัยมานานหลายทศวรรษ
Related Tools You Might Like:
- Text Encryptor — เข้ารหัสข้อความก่อนฝัง เพื่อให้ข้อมูลที่ซ่อนไว้เป็นความลับแม้ถูกพบ
- PII Redactor — ลบชื่อ อีเมล และข้อมูลส่วนตัวอื่น ๆ ออกจากข้อความก่อนซ่อนหรือแชร์
- Hash Type Identifier — ระบุชนิดของ hash ที่ไม่รู้จัก เหมาะเมื่อต้องตรวจข้อมูลที่กู้จากภาพโจทย์ CTF
Happy hiding!
คำถามที่พบบ่อย
ถ: การซ่อนข้อความทำให้ภาพ PNG ดูเปลี่ยนไปไหม? ตอบ: ไม่เปลี่ยน การฝัง LSB แก้ค่าช่องสีมากสุดเพียง 1 จาก 255 ซึ่งสายตามนุษย์แยกไม่ออก ความละเอียดและรูปลักษณ์ของภาพยังเหมือนเดิมทุกอย่าง
ถ: ถ้าแปลงไฟล์ PNG เป็น JPEG หรือย่อขนาดภาพจะเป็นอย่างไร? ตอบ: ข้อความที่ซ่อนจะถูกทำลาย การบีบอัด JPEG และการย่อภาพเขียนบิตลำดับต่ำใหม่ ซึ่งเป็นตำแหน่งที่ข้อมูลซ่อนอยู่ จึงต้องเก็บและส่งไฟล์เป็น PNG เท่านั้น
ถ: steganography เหมือนกับการเข้ารหัสไหม? ตอบ: ไม่เหมือน การเข้ารหัสทำให้ข้อความอ่านไม่ออก ส่วน steganography ซ่อนว่ามีข้อความอยู่ หากต้องการความลับจริงให้เข้ารหัสก่อน แล้วค่อยฝัง ciphertext ลงในภาพ
ถ: ซ่อนข้อความได้มากแค่ไหนในหนึ่งภาพ? ตอบ: ประมาณ 3 บิตต่อพิกเซล หรือราว 375 KB ในภาพขนาด 1000×1000 ภาพเล็กจะซ่อนได้น้อยมาก ควรตรวจความจุก่อนเขียนข้อความยาว ๆ
ถ: เครื่องมืออัปโหลดภาพหรือข้อความขึ้นเซิร์ฟเวอร์ไหม? ตอบ: ไม่เลย ทั้งการซ่อนและการดึงทำงานในเบราว์เซอร์ ภาพและข้อความลับจึงอยู่บนอุปกรณ์ของคุณตั้งแต่ต้นจนจบ