Cyber Security Academy · บทเรียน

สเตกาโนกราฟีในรูปภาพและเสียง

ฝังข้อมูลไว้ในไฟล์สื่อ

บทเรียน 2 จาก 413 ขั้นตอน

สเตกาโนกราฟีในรูปภาพและเสียง เป็นบทเรียน Cyber Security Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 2 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน Cyber Security Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส Cyber Security Academy มีบทเรียนทั้งหมด 4 บทเรียน

รูปภาพจัดเก็บพิกเซลอย่างไร

หากต้องการซ่อนข้อมูลในรูปภาพ คุณต้องรู้ก่อนว่ารูปภาพจัดเก็บสีอย่างไร พิกเซลในรูปภาพ RGB มีสามช่องสี ได้แก่ แดง เขียว และน้ำเงิน โดยทั่วไปแต่ละช่องจะเป็นตัวเลขขนาด 8 บิตตั้งแต่ 0 ถึง 255

ดังนั้นพิกเซลหนึ่งพิกเซลจึงมีขนาดสามไบต์ รูปภาพขนาดเล็ก 800x600 มีพิกเซล 480,000 พิกเซล และมีไบต์สี 1.44 ล้านไบต์ ความซ้ำซ้อนนี้เองที่สเตกาโนกราฟีนำมาใช้ประโยชน์ เพราะมีไบต์มากกว่าที่สายตามนุษย์จะตรวจสอบได้อย่างละเอียดอยู่มาก

ข้อสังเกตสำคัญคือ ระบบการมองเห็นของมนุษย์ไม่สามารถแยกแยะค่าสี 200 ออกจาก 201 ได้ ระยะที่สังเกตไม่เห็นนี้คือบริเวณที่ข้อมูลลับถูกซ่อนไว้

การฝังบิตที่มีนัยสำคัญน้อยที่สุด

การฝัง LSB จะแทนที่บิตลำดับต่ำสุดของไบต์สีแต่ละไบต์ด้วยบิตหนึ่งบิตจากข้อมูลลับ เนื่องจากบิตต่ำสุดเปลี่ยนค่าได้เพียง 1 การเปลี่ยนแปลงทางภาพจึงมองไม่เห็น

ลองพิจารณาการซ่อนบิต 1 ในค่าช่องสีแดง 200 (เลขฐานสอง 11001000) เมื่อแทนที่บิตสุดท้ายด้วย 1 จะได้ 11001001 = 201 ซึ่งเป็นการเปลี่ยนแปลงที่มนุษย์มองไม่เห็น

เมื่อทำเช่นนี้กับพิกเซลหลายพันพิกเซล คุณจะสร้างข้อมูลบรรจุกลับคืนมาได้โดยอ่าน LSB เหล่านั้นตามลำดับ

# Embed: keep top 7 bits, set LSB to the secret bit
# value 200 = 1100100 0  -> hide 1 -> 1100100 1 = 201
#
# In Python terms (read-only illustration):
# new_byte = (color_byte & 0xFE) | secret_bit   # 0xFE clears the LSB

การเข้ารหัสข้อความทั้งข้อความ

ข้อความคือชุดของไบต์ โดยแต่ละไบต์มี 8 บิต หากต้องการซ่อนคำพร้อมส่วนหัวที่ระบุความยาว คุณต้องแปลงข้อมูลบรรจุให้เป็นกระแสบิต แล้วเขียนบิตหนึ่งบิตลงในช่องสีแต่ละช่อง

เครื่องมือฝังข้อมูลที่ใช้งานจริงยังจัดเก็บ คำนำหน้าความยาว หรือ ลำดับตัวสิ้นสุด ที่ไม่ซ้ำกัน เพื่อให้เครื่องมือดึงข้อมูลทราบว่าจะหยุดอ่านเมื่อใด มิฉะนั้นจะไม่สามารถแยกข้อมูลบรรจุออกจากสัญญาณรบกวนของสื่อปกปิดได้

เครื่องมืออย่าง สเตกไฮด์, ซีสเตก และ สเตกาโน ทำงานเหล่านี้โดยอัตโนมัติ และมักเพิ่มชั้นรหัสผ่านกับการเข้ารหัสเข้ามาด้วย

# Embed a secret into a PNG with the open-source 'stegano' tool
stegano-lsb hide -i cover.png -m 'meet at noon' -o stego.png

# steghide with a passphrase (encrypts then embeds)
steghide embed -cf cover.jpg -ef secret.txt -p 'p@ss'

การเลือกรูปแบบรูปภาพที่เหมาะสม

รูปแบบมีความสำคัญอย่างยิ่งเนื่องจาก การบีบอัด:

  • รูปแบบไม่สูญเสียข้อมูล (PNG, BMP) รักษาพิกเซลทุกพิกเซลไว้ได้อย่างสมบูรณ์ ข้อมูล LSB จึงอยู่รอดได้อย่างไม่มีข้อผิดพลาด และเหมาะเป็นสื่อพาหะอย่างยิ่ง
  • รูปแบบสูญเสียข้อมูล (JPEG) จะทิ้งรายละเอียดเล็ก ๆ ระหว่างการบีบอัด ทำให้ข้อมูล LSB ที่ฝังแบบตรงไปตรงมาถูกทำลาย

สำหรับ JPEG การฝังต้องทำใน ค่าสัมประสิทธิ์ DCT ซึ่งเป็นค่าบนโดเมนความถี่ที่ใช้ระหว่างการบีบอัด แทนการฝังในพิกเซลดิบ เครื่องมืออย่างสเตกไฮด์และ เจสเตก/OutGuess แบบคลาสสิกทำงานในบริเวณนี้ ทำให้ข้อมูลบรรจุอยู่รอดจากขั้นตอนการบีบอัด

ความเปราะบางของ LSB แบบตรงไปตรงมา

การฝัง LSB ในพิกเซลแบบตรงไปตรงมานั้นเปราะบาง การดำเนินการใด ๆ ที่เปลี่ยนค่าพิกเซลจะทำลายบิตที่ซ่อนไว้:

  • บันทึกใหม่เป็น JPEG การบีบอัดแบบสูญเสียข้อมูลจะเขียนไบต์ใหม่
  • ปรับขนาดหรือตัดขอบ การปรับตัวอย่างจะเปลี่ยนค่าทุกค่า
  • ปรับสี เปลี่ยนความสว่างหรือความเปรียบต่าง
  • อัปโหลดไปยังสื่อสังคมออนไลน์ แพลตฟอร์มจะเข้ารหัสรูปภาพใหม่โดยอัตโนมัติ

นี่คือด้าน ความทนทาน ของสามเหลี่ยม หากข้อมูลบรรจุต้องอยู่รอดจากการแก้ไข (เช่น ลายน้ำ) คุณต้องฝังข้อมูลในโดเมนความถี่ (DCT/DWT) และยอมรับความจุที่ลดลงเพื่อแลกกับสิ่งนั้น

เพิ่มความแนบเนียน: การเลือกตำแหน่งอย่างชาญฉลาด

การฝัง LSB แบบตรงไปตรงมาจะเขียนลงในพิกเซลตามลำดับจากมุมซ้ายบน ซึ่งทำให้เกิดลักษณะทางสถิติที่ตรวจจับได้ วิธีที่แนบเนียนกว่าจะกระจายข้อมูลบรรจุเพื่อหลบเลี่ยงการวิเคราะห์:

  • การเลือกตำแหน่งแบบสุ่มเทียม คีย์สเตโกจะกำหนดค่าเริ่มต้นให้ PRNG ซึ่งเลือกว่าพิกเซลใดจะเก็บบิต ทำให้รูปแบบดูเป็นแบบสุ่ม
  • บริเวณที่มีสัญญาณรบกวน ฝังข้อมูลในบริเวณที่มีพื้นผิว เช่น หญ้าหรือเส้นผม ซึ่งมีความแปรผันอยู่แล้ว แทนที่จะใช้ท้องฟ้าที่เรียบสม่ำเสมอ
  • การฝังแบบปรับตามสภาพ อัลกอริทึมสมัยใหม่จะลดฟังก์ชันต้นทุนในการตรวจจับให้น้อยที่สุด

คีย์สเตโกยังทำหน้าที่เสมือนรหัสผ่านด้วย หากไม่มีคีย์นี้ นักวิเคราะห์จะไม่สามารถสร้างลำดับบิตกลับคืนมาได้ แม้จะสงสัยว่ามีการซ่อนข้อมูลอยู่ก็ตาม

พื้นฐานสเตกาโนกราฟีในเสียง

เสียงทำงานตามหลักการเดียวกับรูปภาพ แต่ทำงานในโดเมนเวลาหรือโดเมนความถี่ แฟ้ม WAV จัดเก็บ ตัวอย่างสัญญาณ ซึ่งโดยทั่วไปเป็นตัวเลขขนาด 16 บิตที่แทนแอมพลิจูดหลายพันครั้งต่อวินาที

การฝัง LSB ในเสียงจะแทนที่บิตต่ำสุดของตัวอย่างสัญญาณแต่ละค่า การเปลี่ยนแอมพลิจูดขนาด 1 ขั้นในค่าขนาด 16 บิตต่ำกว่าเกณฑ์การได้ยินของมนุษย์มาก ดังนั้นเสียงจึงฟังเหมือนเดิม

ด้วยอัตรา 44,100 ตัวอย่างสัญญาณต่อวินาทีต่อช่องเสียง เสียงจึงมีความจุสูง แม้ว่ารูปแบบสูญเสียข้อมูลอย่าง MP3 จะทำลาย LSB ของตัวอย่างสัญญาณดิบเช่นเดียวกับที่ JPEG ทำลาย LSB ของพิกเซล

# Hide a file in a WAV using the open-source steghide
steghide embed -cf song.wav -ef secret.txt -p 'p@ss'

# WAV is lossless (raw PCM samples) - LSB survives.
# MP3 is lossy - embed in the encoded domain or it is destroyed.

เทคนิคเสียงขั้นสูง

นอกเหนือจาก LSB แล้ว สเตกาโนกราฟีในเสียงยังใช้กลวิธีด้านการรับรู้ที่อาศัยหลักการทำงานของการได้ยิน:

  • การเข้ารหัสเฟส เปลี่ยนเฟสขององค์ประกอบเสียง โดยหูไม่ไวต่อเฟสสัมบูรณ์
  • การซ่อนด้วยเสียงสะท้อน เพิ่มเสียงสะท้อนขนาดเล็กที่ไม่สามารถสังเกตได้ โดยใช้ระยะหน่วงเพื่อเข้ารหัสบิต
  • การแผ่สเปกตรัม กระจายข้อมูลบรรจุไปทั่วย่านความถี่กว้างในรูปสัญญาณรบกวนระดับต่ำที่ทนทานต่อการแก้ไข
  • การแทรกโทนเสียง ซ่อนข้อมูลโดยใช้โทนเสียงที่ถูกบดบังด้วยเสียงใกล้เคียงที่ดังกว่า (การบดบังเสียงทางจิตประสาท)

วิธีเหล่านี้แลกความจุเพื่อความทนทานและความแนบเนียน เช่นเดียวกับวิธีในโดเมนความถี่ของรูปภาพ

โดเมนเชิงพื้นที่เทียบกับโดเมนความถี่

แนวคิดที่เชื่อมโยงสื่อทุกประเภทเข้าด้วยกันคือการเลือกโดเมน:

  • โดเมนเชิงพื้นที่/เวลา ฝังข้อมูลลงในพิกเซลหรือตัวอย่างสัญญาณโดยตรง ทำได้ง่ายและมีความจุสูง แต่เปราะบางต่อการบีบอัด
  • โดเมนความถี่ แปลงสัญญาณ (ใช้ DCT สำหรับ JPEG, DWT สำหรับเวฟเล็ต และ FFT สำหรับเสียง) ฝังข้อมูลลงในค่าสัมประสิทธิ์ แล้วแปลงกลับ มีความทนทานและแนบเนียนกว่า แต่มีความจุต่ำกว่าและซับซ้อนกว่า

กฎคือ หากสื่อพาหะจะถูกบีบอัด ปรับขนาด หรือแชร์ ให้ฝังข้อมูลในโดเมนความถี่ สำหรับสื่อพาหะแบบไม่สูญเสียข้อมูลที่ยังคงสภาพเดิม การใช้ LSB ในโดเมนเชิงพื้นที่ก็เพียงพอ

การวางแผนความจุ

ก่อนฝังข้อมูล ให้ประเมินว่าคุณสามารถซ่อนข้อมูลได้อย่างปลอดภัยมากเพียงใด แนวทางที่มีประโยชน์คือ อัตราการฝังข้อมูล หรือจำนวนบิตที่ซ่อนต่อบิตของสื่อปกปิด

  • 1 บิตต่อช่อง (LSB เต็มรูปแบบ) มีความจุสูงสุด แต่ตรวจจับได้ง่ายที่สุด
  • อัตราแบบเศษส่วน ใช้พิกเซลเพียงบางส่วน ซึ่งลดความจุลงแต่เพิ่มความไม่สามารถสังเกตเห็นได้อย่างมาก

รูปภาพ RGB ขนาด 1920x1080 มีไบต์สีประมาณ 6.2 ล้านไบต์ หรือประมาณ 777 KB เมื่อใช้ LSB เต็มรูปแบบ แต่การฝังที่คำนึงถึงความปลอดภัยจะใช้เพียงบางส่วน เพราะการเติมข้อมูลลงใน LSB ทุกตำแหน่งจะทำให้เกิดความผิดปกติทางสถิติที่เครื่องมือวิเคราะห์สเตกาโนกราฟีตรวจจับได้ง่าย

# Rough capacity at 1 bit/channel full LSB:
# width x height x channels / 8 bytes
# 1920 x 1080 x 3 / 8  =  ~777,600 bytes (~759 KB)
# In practice use a fraction to stay below detection thresholds.

ข้อสรุปสำหรับผู้ป้องกัน

จากมุมมองของผู้ป้องกัน การเข้าใจวิธีฝังข้อมูลจะช่วยให้ทราบว่าควรเฝ้าระวังสิ่งใด:

  • รูปแบบไม่สอดคล้องกัน การพบ PNG/BMP ในกรณีที่คาดว่าจะเป็น JPEG อาจบ่งชี้ว่าเลือกใช้สื่อพาหะแบบไม่สูญเสียข้อมูลเพื่อฝัง LSB
  • ความผิดปกติของขนาด แฟ้มที่มีขนาดใหญ่เกินกว่าที่เนื้อหาซึ่งมองเห็นได้ควรจะเป็น
  • การเข้ารหัสใหม่เพื่อการป้องกัน แพลตฟอร์มที่บีบอัดการอัปโหลดทั้งหมดใหม่จะทำลายข้อมูลบรรจุ LSB แบบตรงไปตรงมา ซึ่งเป็นวิธีลดความเสี่ยงที่มีต้นทุนต่ำ
  • การวิเคราะห์ทางสถิติ การฝัง LSB เต็มรูปแบบจะทำให้การกระจายตามธรรมชาติของค่าบิตแบนราบลง และตรวจจับได้ด้วยการวิเคราะห์สเตกาโนกราฟี

ลักษณะเหล่านี้เป็นสะพานไปสู่บทเรียนถัดไป: การตรวจจับข้อมูลที่ซ่อนอยู่

แบบทดสอบสั้น ๆ

ทดสอบความเข้าใจของคุณเกี่ยวกับการเลือกรูปแบบ

ทบทวน: สเตกาโนกราฟีในรูปภาพและเสียง

คุณได้เรียนรู้ว่าข้อมูลถูกฝังลงในแฟ้มสื่อจริง ๆ อย่างไร

  • การฝัง LSB แทนที่บิตต่ำสุดของตัวอย่างสัญญาณสีหรือเสียงแต่ละค่า โดยเปลี่ยนแปลงเพียง 1 ขั้นที่ไม่สามารถสังเกตได้
  • คำนำหน้าความยาวหรือตัวสิ้นสุดจะระบุตำแหน่งที่ข้อมูลบรรจุสิ้นสุด เครื่องมืออย่างสเตกไฮด์และสเตกาโนทำงานนี้โดยอัตโนมัติ พร้อมตัวเลือกการเข้ารหัส
  • รูปแบบไม่สูญเสียข้อมูล (PNG, BMP, WAV) รักษาข้อมูล LSB ไว้ ส่วน รูปแบบสูญเสียข้อมูล (JPEG, เอ็มพีสาม) ต้องใช้การฝังในโดเมนความถี่ (DCT/เสียงสะท้อน/การแผ่สเปกตรัม)
  • ความแนบเนียนเพิ่มขึ้นได้ด้วย การเลือกตำแหน่งแบบสุ่มเทียม การฝังในบริเวณที่มีสัญญาณรบกวน และอัลกอริทึมแบบปรับตามสภาพที่กำหนดโดยคีย์สเตโก
  • การเลือกใช้ โดเมนเชิงพื้นที่เทียบกับโดเมนความถี่ เป็นการแลกความจุกับความทนทาน
  • ผู้ป้องกันจะเฝ้าดูรูปแบบที่ไม่สอดคล้องกัน ความผิดปกติของขนาด และลักษณะทางสถิติ รวมทั้งใช้การเข้ารหัสใหม่เพื่อทำลายข้อมูลบรรจุที่ฝังแบบตรงไปตรงมา

ถัดไป เราจะเรียนรู้การตรวจจับข้อมูลที่ซ่อนอยู่ผ่านการวิเคราะห์สเตกาโนกราฟี

เริ่มต้นได้ฟรี

เรียนรู้ Cyber Security Academy ด้วย AI tutor — ฟรี

เขียนและเรียกใช้โค้ดจริงในเบราว์เซอร์ของคุณ รับความช่วยเหลือทันทีจาก AI tutor 24/7 และเรียนรู้ต่อจากที่คุณหยุดบนเว็บหรือในแอป

คอร์ส
76
บทเรียน
303

คำถามที่พบบ่อย

บทเรียน “สเตกาโนกราฟีในรูปภาพและเสียง” ฟรีหรือไม่

ใช่ — ข้อความเต็มของ “สเตกาโนกราฟีในรูปภาพและเสียง” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส Cyber Security Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส Cyber Security Academy มีบทเรียนทั้งหมด 4 บทเรียน

คุณจะเรียนรู้อะไรในบทเรียน “สเตกาโนกราฟีในรูปภาพและเสียง”

ฝังข้อมูลไว้ในไฟล์สื่อ คุณปฏิบัติ Cyber Security Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน

คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน Cyber Security Academy หรือไม่

ไม่จำเป็นต้องมีประสบการณ์มาก่อน Cyber Security Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 2 จากทั้งหมด 4 บทเรียน

บทเรียน “สเตกาโนกราฟีในรูปภาพและเสียง” ใช้เวลานานแค่ไหน

บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย

ฉันเขียนและรันโค้ดในบทเรียน Cyber Security Academy นี้ได้ไหม

ได้ บทเรียน Cyber Security Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ

บทเรียนทั้งหมดในหลักสูตรนี้

  1. สเตกาโนกราฟีคืออะไร
  2. สเตกาโนกราฟีในรูปภาพและเสียง
  3. การตรวจจับข้อมูลซ่อนเร้น (สเตกาโนอะนาไลซิส)
  4. ช่องทางลับและการลักลอบนำข้อมูลออก
← กลับไปที่ Cyber Security Academy