ยุคสมัยที่เทคโนโลยีก้าวเข้ามามีบทบาทต่อการใช้ชีวิตประจำวันบนโลกออนไลน์ ผู้คนส่วนมากใช้งานคอมพิวเตอร์เพื่อการสื่อสาร แลกเปลี่ยนข้อมูล รวมถึงเพื่อการทำธุรกรรมออนไลน์ ข้อมูลสำคัญถูกสร้างและเก็บอยู่บนเครื่องคอมพิวเตอร์ไม่ว่าจะเป็นชื่อ ที่อยู่ หมายเลขโทรศัพท์ รูปถ่าย หรือข้อมูลส่วนบุคคลอื่นๆ ที่อาจสร้างความเสียหายกับเจ้าของข้อมูลได้หากมีการรั่วไหลออกไป
สาเหตุของการรั่วไหลของข้อมูลส่วนบุคคลเหล่านี้ ที่เป็นที่รู้กันดีอย่างหนึ่งก็คือ การนำเครื่องคอมพิวเตอร์ไปซ่อมที่ร้าน อย่างที่จะเห็นได้จากข้อมูลตามรูปที่ 1 เป็นผลการค้นหาด้วยคีย์เวิร์ด “ภาพหลุดจากร้านซ่อมคอม” โดย Google ซึ่งจะพบคลิปหรือรูปภาพที่อ้างว่าหลุดมาจากร้านที่รับซ่อมคอมพิวเตอร์เป็นจำนวนมากกว่า 100 รายการ ถึงแม้ว่าบางส่วนอาจเป็นการแอบอ้างเท่านั้น แต่ถ้าลองพิจารณาถึงเหตุผลก็คงไม่มีใครปฏิเสธว่า ข้อมูลเหล่านี้สามารถถูกขโมยออกมาได้จากเครื่องคอมพิวเตอร์ได้อย่างไม่ยาก และเชื่อว่าส่วนหนึ่งมาจากที่ผู้ใช้งานไม่ได้สนใจที่จะลบข้อมูลสำคัญเหล่านั้นออกก่อน ซึ่งในกรณีนี้ คงต้องโทษเจ้าของข้อมูลส่วนหนึ่งที่ไม่เอาใจใส่ในการป้องกันข้อมูลของตัวเองอย่างเพียงพอ
แต่ผู้ใช้คอมพิวเตอร์จำนวนหนึ่ง ที่ทราบถึงความสำคัญของการปกป้องข้อมูลส่วนตัว ถึงขนาดลบข้อมูลออกก่อนที่จะส่งไปให้ร้านซ่อมแล้ว แต่ข้อมูลก็ยังรั่วไหลออกไปได้ จะมีคำอธิบายอย่างไร? ในกรณีนี้อาจจะไม่ใช่เรื่องใหม่ หรือแปลกหูสำหรับคนไอทีมากนัก เนื่องจากเป็นที่รู้กันดีว่า มีโปรแกรมหลายตัวที่มีความสามารถในการกู้คืนไฟล์ที่ถูกลบไปแล้ว ให้กลับมาในสภาพเดิมได้อย่างไม่ยากเย็น ดังนั้น บทความในครั้งนี้จะกล่าวถึงแนวทางการป้องกันข้อมูลสำคัญ จากการถูกกู้คืนโดยโปรแกรมดังกล่าว พร้อมตัวอย่างเพื่อให้ผู้อ่านสามารถนำไปปรับใช้ได้ด้วยตนเอง
ลบข้อมูลแล้ว กู้ได้จริงหรือ
ในความเข้าใจของผู้ใช้งานคอมพิวเตอร์โดยทั่วไปแล้ว หากต้องการทำการลบข้อมูลโดยที่ไม่ให้สามารถกู้คืนได้อีก เช่น ในระบบปฏิบัติการวินโดวส์ จะใช้คำสั่ง Delete เพื่อลบข้อมูลทิ้ง แต่ในความเป็นจริงแล้ว ข้อมูลดังกล่าวไม่ได้ถูกลบออกจากฮาร์ดดิสก์จริง ยังมีกระบวนการที่สามารถกู้คืนข้อมูลส่วนนั้นขึ้นมาใช้งานได้อยู่ ซึ่งก่อนที่เข้าใจวิธีการกู้คืนข้อมูลนั้น ผู้เขียนจะขออธิบายพื้นฐานของการจัดเก็บข้อมูลเบื้องต้น เพื่อความเข้าใจที่ชัดเจน
ในการจัดเก็บข้อมูลบนระบบปฏิบัติการส่วนมาก มีการเก็บข้อมูลเบื้องต้นอยู่ 2 ส่วน ได้แก่ Index หรือส่วนที่ใช้ชี้ตำแหน่งของข้อมูลว่าเก็บอยู่ที่ตำแหน่งใดในพื้นที่จัดเก็บข้อมูล (เช่น ฮาร์ดดิสก์) และมีข้อมูลอื่นๆ ที่เรียกว่า Metadata เช่น ชื่อไฟล์ วันที่เปลี่ยนแปลงข้อมูล เป็นต้น ในส่วนถัดมาคือตัวข้อมูลจริงๆ คือเนื้อไฟล์ที่เก็บอยู่ในฮาร์ดดิสก์ ซึ่งเมื่อผู้ใช้งานทำการลบไฟล์ด้วยคำสั่ง Delete ระบบปฏิบัติการจะทำการลบเฉพาะ Index ที่ใช้ชี้ตำแหน่งของข้อมูลทิ้งเท่านั้น โดยเนื้อไฟล์จริงๆ จะไม่ถูกแตะต้อง แต่บริเวณที่เนื้อไฟล์อยู่นั้น จะถูกมองเหมือนเป็นพื้นที่ว่าง ซึ่งหากระบบปฏิบัติการยังไม่เขียนข้อมูลอะไรทับลงไป ข้อมูลเดิมทั้งหมดก็มีโอกาสถูกกู้คืนได้
ลบข้อมูลอย่างไรให้กู้คืนไม่ได้
จะเห็นได้ว่า ถึงแม้เราจะทำการลบข้อมูลแล้ว แต่หากเนื้อไฟล์ยังไม่ถูกเขียนทับ ก็ยังไม่ถือว่าข้อมูลนั้นหายไปไหน วิธีการที่จะทำให้ข้อมูลนั้นไม่สามารถถูกนำออกมาใช้ได้อีก สามารถทำได้ด้วยการเขียนข้อมูลอื่นๆ ทับลงไป เช่น เทคนิคที่เรียกว่า Zero fill จะเป็นการเขียนตัวเลข 0 ทับลงไปบนข้อมูลที่ต้องการลบ หรือการทำ Random fill จะเป็นการเขียนทับด้วยข้อมูลที่เป็นค่าสุ่ม และสำหรับผู้ที่ต้องการความแน่นอนในการลบ ก็สามารถเขียนข้อมูลทับลงไปหลายๆ รอบได้ เพื่อลดโอกาสสำเร็จในการกู้คืนข้อมูลให้ได้มากที่สุด
ตัวอย่างเครื่องมือ และวิธีการใช้สำหรับลบไฟล์
ในหัวข้อนี้จะเป็นการกล่าวถึงการยกตัวอย่าง เครื่องมือที่ใช้ในการลบไฟล์อย่างมั่นคงปลอดภัยซึ่งจะขอแบ่งเป็นเครื่องมือที่ใช้กับระบบปฏิบัติการวินโดวส์และ ลินุกซ์ ดังนี้
ตัวอย่างเครื่องมือที่ใช้ในระบบปฏิบัติการวินโดวส์
เครื่องมือที่สามารถลบข้อมูลได้อย่างมั่นคงปลอดภัยบนวินโดวส์นั้นมีหลายตัว แต่ในที่นี้จะขอยกตัวอย่างโปรแกรมที่ี่ชื่อว่า SDelete ซึ่งเป็นซอฟต์แวร์ทีี่งานได้ฟรี และเป็นของ Microsoft เอง สามารถดาว์นโหลดได้จาก (http://technet.microsoft.com/en-us/sysinternals/bb897443) และเมื่อดาวน์โหลดเสร็จแล้ว สามารถเรียกใช้ไฟล์ sdelete.exe ได้โดยตรง ซึ่งมีตัวอย่างการใช้งานดังนี้[6]
1. คำสั่ง “sdelete.exe -h” จะแสดง Option ต่างๆ ที่ซอฟต์แวร์รองรับการใช้งานต่างๆ ดังรูปที่ 2
รูปที่ 2 แสดง Option ต่างๆของ sdelete
2. คำสั่ง “sdelete.exe -p 10 data.txt” คือการลบไฟล์ data.txt และทำการเขียนทับตำแหน่งของข้อมูลดังกล่าวซ้ำกัน 10 ครั้ง ดังรูปที่ 3
รูปที่ 3 แสดงตัวอย่างการลบไฟล์ด้วย sdelete
3. คำสั่ง “sdelete.exe -z” คือการเขียนข้อมูลทับในตำแหน่งที่ว่างทั้งหมดในไดรว์ ซึ่งการใช้คำสั่งนี้ จะทำให้ข้อมูลที่ถูกลบด้วยวิธีธรรมดาก่อนหน้านี้หายไปอย่างถาวร เช่นเดียวกับการใช้คำสั่ง sdelete กับไฟล์เหล่านั้นโดยตรง ตัวอย่างการใช้งานดังรูปที่ 4
รูปที่ 4 แสดงตัวอย่างการเขียนข้อมูลทับตำแหน่งที่ว่าง
ตัวอย่างเครื่องมือที่ใช้ในระบบปฏิบัติการลินุกซ์
สำหรับระบบปฏิบัติการลินุกซ์นั้น ผู้เขียนขอยกตัวอย่าง 2 เครื่องมือ ได้แก่ shred [7]ซึ่งใช้ในการลบไฟล์ และ sfill [8][9]ใช้ในการเขียนข้อมูลทับตำแหน่งที่ว่างอยู่ ดังแสดงในตัวอย่างต่อไปนี้
1. คำสั่ง “shred -n 10 -z -v data.txt” คือการลบไฟล์ data.txt โดยจะทำการเขียนค่าทับข้อมูลที่ต้องการลบจำนวน 10 ครั้ง (-n 10) และเขียนทับในรูปแบบ Zero fill (-z) ครั้งสุดท้าย ดังรูปที่ 5
รูปที่ 5 แสดงตัวอย่างการลบไฟล์ด้วยคำสั่ง shred
2. คำสั่ง “sfill -v /” คือการเขียนข้อมูลทับในตำแหน่งที่ว่างทั้งหมดใน Root Directory ซึ่งการใช้คำสั่งนี้ มีผลเช่นเดียวกับโปรแกรม sfill ของวินโดวส์ที่ได้กล่าวไปแล้ว แสดงตัวอย่างดังรูปที่ 6
รูปที่ 6 แสดงตัวอย่างการเขียนข้อมูลทับตำแหน่งที่ว่าง ด้วยซอฟต์แวร์ sfill
สรุป
การเก็บข้อมูลภายในเครื่องควรมีการคำนึงถึงการรักษาความลับของข้อมูลที่สำคัญ ซึ่งรวมถึงข้อมูลสำคัญที่เราไม่ต้องการใช้งานแล้ว ควรมีวิธีการในการป้องกันไม่ให้ข้อมูลเหล่านั้นรั่วไหล ซึ่งในบทความนี้ได้แสดงให้เห็นถึง ผลกระทบที่เกิดขึ้นหากข้อมูลรั่วไหล และวิธีลบข้อมูลที่ไม่ต้องการใช้งานแล้ว ไม่ให้สามารถกู้คืนได้
อ้างอิง
http://www.howtogeek.com/72130/learn-how-to-securely-delete-files-in-windows/
https://ssd.eff.org/tech/deletion
http://techthrob.com/2009/03/02/howto-delete-files-permanently-and-securely-in-linux/
http://techthrob.com/2010/03/25/howto-delete-files-permanently-and-securely-in-windows/
http://wiki.answers.com/Q/What_is_zero_filling
http://technet.microsoft.com/en-us/sysinternals/bb897443.aspx
http://linux.about.com/library/cmd/blcmdl1_shred.htm
http://manpages.ubuntu.com/manpages/lucid/man1/sfill.1.html
http://www.lylebackenroth.com/blog/2010/09/30/how-to-securely-delete-unused-drive-space-other-system-areas/
——————————————————————————————————————————————————————-
ข้อมูลโดย: ศูนย์ประสานการรักษาความมั่นคงปลอดภัยระบบคอมพิวเตอร์ประเทศไทย (ไทยเซิร์ต) สำนักงานพัฒนาธุรกรรมทางอิเล็กทรอนิกส์ (องค์การมหาชน)
ผู้เขียน: เจษฎา ช้างสีสังข์ วันที่เผยแพร่: 19 กรกฎาคม 2556
ลิงก์ : https://www.thaicert.or.th/papers/general/2013/pa2013ge006.html