การกู้ข้อมูล....(กู้ทุกอย่างยกเว้นระเบิด)
เห็นถามกันในโลกโซเชียล...ที่พบมากๆ คือ ... จะกู้ข้อมูลคืนมาได้อย่างไร? และอีกคำถามที่คู่ขนานกันคือ การทำอย่างไรให้ข้อมูลที่มีไม่สามารถกู้คืนได้... จะเข้าใจหลักการมันได้ต้องย้อนยุคไปถึงยุคน้ำแข็ง อย่าง DOS ส่วนการทำให้ข้อมูลหายไปอย่างไม่ต้องกู้...ตอนแรก...ก็คิดว่ามันน่าจะเป็นประโยชน์...แต่ดูๆ แล้ว...มันไม่ค่อยเห็นประโยชน์ในวงกว้าง...จะมีแต่โทษเสียมากกว่า...และคิดว่า...มันง่ายอยู่แล้ว...แค่มีค้อน..และทุบมันลงไปแรงๆ กลับอุปกรณ์เก็บข้อมูล...มันน่าจะเพียงพอแล้ว...สำหรับ...ผู้ที่มีความลับระดับพันล้าน...จับโยนลงคล้อง...ฆ่าปิดปากเหมือนหนังฆาตกรรม...เหอะๆ ดูมันจะดราม่า แต่ถ้าจะเป็นวิธีคลาสสิค แบบมีคำสั่ง...มีหลักการ...ดูมันจะเกินขอบเขตของการศึกษาเกินไป...เดียวจะกลายเป็นว่า...สอนวิธีปฐมพยาบาลจากปืน...พร้อมกับสอนการใช้ปืน...ไม่เข้าท่าเลยแฮะ
โครงสร้างพื้นฐานของข้อมูล ในระบบพึ่งพา Interrupt หมายเลข 21H
ก่อนอื่นต้องเข้าใจก่อนว่า...โครงสร้างการเก็บข้อมูลของระบบปฏิบัติการวินโดวส์ และ ลีนุกซ์ (I OS ไม่เกี่ยว) มีพื้นฐานที่เหมือนกันคือ DOS Interrupt ซึ่งระบบปฏิบัติการเหล่านี้...จะเรียกคำสั่ง BIOS และ ระบบปฏิบัติการจะสร้าง Interrupt ขึ้นเพื่อเป็นคำสั่งแบบพิเศษที่สามารถเรียกใช้งานได้ตลอด แม้ว่าจะทำงานอื่นๆ อยู่ก็ตาม...จะสามารถแทรกคำสั่งพิเศษนี้...ทำงานแบบขัดจังหวะได้ ซึ่ง Interrupt ที่สำคัญ คือ 21H (สองหนึ่งฐานสิบหก) ซึ่งใน Interrupt หมายเลขนี้...จะมีคำสั่งจัดการการเข้าถึงข้อมูลในฮาร์ดดิสก์ แบบมีรูปแบบ หรือที่เราเรียกว่า Format เราจึงสามารถแยกข้อมูล ใน Harddisk เป็น 2 จำพวกคือ
1. ฮาร์ดดิสก์เปล่าที่ไม่ผ่านการฟอร์แมท (มีแต่ MBR ; Master Boot Record) รูปแบบข้อมูลประเภทนี้...Interrupt 21H เข้าไม่ถึง ต้องผ่าน BIOS Interrupt 13H (PC Computer เครื่อง Mac ไม่เกี่ยว)
2. ฮาร์ดดิสก์ที่ผ่านการฟอร์แมทหรือแบ่งพาทิชั่นแล้ว (เรื่องของพาทิชั่น...คงไม่เจาะลึกขนาดนั้น) รู้แค่ว่า ข้อมูลประเภทนี้...ประกอบไปด้วย MBR, ตารางพาทิชั่น, และ FAT (File Allocation Table) และข้อมูลจะถูกแบ่ง Trace (แทร็ก) เป็น Sector (เซกเตอร์) สำหรับ Hard disk จะมี Cylinder (ไซลินเดอร์) เพื่อกำหนดมิติของเซกเตอร์ กับหัวอ่าน เรียกภาษาชาวบ้านก็คือ ด้านหน้าด้านหลัง ของ ดิสก์ แต่ละแพลตเตอร์ ของฮาร์ดดิสก์
ส่วนมิติที่มี แทร็ก ตัดกับ เซกเตอร์ เหล่าเรียกว่า Custer หรือหน่วยย่อยเล็กสุดในการอ่านเขียนข้อมูลของระบบปฏิบัติการ
ด้นมาซะยาว...แล้วมันเกี่ยวอะไรกับ ข้อมูล
1. คุณรู้หรือไม่...ทุกๆ สื่อบันทึกข้อมูล จะมี FAT (File Allocation Table) สองชุดเสมอ (สำหรับวินโดวส์)
2. คุณรู้หรือไม่...การฟอร์มแมทแบบ Quick จะเป็นเพียงการแก้ไขข้อมูลใน FAT ชุดแรกเพื่อบงบอกว่า...ทำการลบแฟ้มเหล่านั้นไปแล้ว...จึงทำให้กู้คืนด้วย FAT ชุดสำรองได้ด้วยโปรแกรมอัตถประโยชน์ (มิน่าเร็วจริงๆ) จึงสามารถกู้คืนได้ตั้งแต่ยุค DOS แล้ว (UnDelete.EXE)
3. คุณรู้หรือไม่ว่า...การฟอร์แมทบนวินโดวส์ทั่วๆ ไป...จะเป็นการทวนซ้ำการอ่านข้อมูลแต่ละเซกเตอร์ด้วยการเขียน FFH (255 ฐานสิบหก) เพื่อดูว่ามีบิทเสียหรือไม่ และเขียนข้อมูลเดิมกลับเข้าไปใหม่ เพื่อดูว่ายังเขียนได้หรือไม่ถ้าไม่ได้...จะกำหนด Custer ส่วนนั้น Bad Sector จากนั้น Interrupt 21H จะลบตาราง FAT ชุดแรกทิ้ง และก็สามารถกู้คืนได้ตั้งแต่ยุค DOS เช่นกัน (UnFormat.EXE)
4. คุณรู้หรือไม่ว่า...คำสั่ง Attrib บางคนเรียกว่าคำสั่งกู้ข้อมูล แต่จริงๆ แล้ว...มันไม่ใช่เลยมันเป็นแค่คำสั่งแก้ไข Attribute (คุณลักษณะของแฟ้มบน FAT) ซึ่งรูปแบบของ Attribute File นั้นสมัย DOS มี
4.1. Archive คือ แฟ้มที่ผ่านการบีบอัดหรือเรียบเรียงไว้แล้วด้วยการดีแฟกต์เตอร์
4.2. Directory คือ แฟ้มที่มีหน้าที่เป็น Folder
4.3. Read Only คือ แฟ้มที่มีการอนุญาตให้อ่านอย่างเดียว
4.4. Hidden คือแฟ้มที่มีการซ่อนจากสายตาหรือผู้ใช้ทั่วไป
4.5. System คือ แฟ้มระบบ ห้ามยุ่งเกียว...หรือแก้ไขโดยผู้ใช้งาน
4.6. Volume คือ แฟ้มที่บงบอกชื่อของไดร์ฟหรือพาร์ทิชั่นนั้นๆ
4.7. ส่วนไว้สำหรับการแชร์และควบคุมสำหรับระบบปฏิบัติการวินโดวส์ขึ้นไป
5. การกู้ข้อมูลในพื้นฐานขั้นตน...สามารถกระทำได้ถ้า
5.1. FAT ไม่เสียไปทั้งสอง ด้าน
5.2. ไม่มีการเขียนทับข้อมูลเดิม
5.3. แฟ้ม Directory หรือ Folder สมบรูณ์พอ
5.4. ถูกซ่อนแค่ Attribute
5.5. ไม่เกิด Bad Sector ณ บริเวณแฟ้มที่จะกู้หรือ ตารางพาร์ทิชั่น หรือ FAT หรือ ข้อมูลในส่วนของ Folder
5.6. ไม่ถูกเข้ารหัสโดย Ransomware
ข้อควรปฏิบัติในการกู้ข้อมูล
1. อย่าลงโปรแกรมกู้ข้อมูลในดิสก์ที่กำลังมีการกู้ (เพราะมันจะทับข้อมูลในส่วนที่กำลังจะกู้ไป “บางส่วน” จะทำให้การกู้ไม่เกิดประสิทธิผล)
2. อย่าได้แบ็กอัปข้อมูลที่มีการกู้...ในไดร์ฟที่กู้หรือทับข้อมูลตัวเดิม (สาเหตุเหมือนข้อแรก)
3. ใช้โปรแกรมกู้ที่มีประสิทธิภาพ...และศึกษาให้ดี...เพราะการกู้ข้อมูล...คุณจะได้ทั้งไฟล์ที่ดีและเสีย...และขยะที่เคยลบ...รวมถึงแฟ้มที่ต้องการเต็มไปหมด ควรมีฟิวเตอร์ในการคัดกรองข้อมูลที่จะกู้ให้ดีและเลือกเฉพาะที่สำคัญจริงๆ (เพราะสิ่งสำคัญไม่ใช่การเรียกมันมาจากขยะแต่ต้องเก็บมันให้ห้างกองขยะ สำรองข้อมูลให้เป็นระบบดีที่สุด)
4. หากข้อมูลมีความสำคัญจริงๆ เป็นความสำคัญทางการค้า...ทางธุรกิจ...หรือประวัติเก่าๆ สำคัญต่อชีวิต แนะนำว่า...”ส่งเข้าแลป ดีที่สุด...อย่าได้ผ่านมือนักเล่นแร่แปรธาตุลองวิชา” เพราะข้อมูลเหล่านั้น...คุณมีโอกาศกระทำมันกลับมาอาจจะมีโอกาสแค่ครั้งเดียว
5. ถ้าโดนมัลแวร์เรียกค่าไถ่ หรือ Ransomware แนะนำว่า...สำรองข้อมูลเหล่านั้นไว้ก่อน...แล้วรอให้มีนักวิเคราะห์รหัสถอดรหัสเหล่านั้นสำเร็จ...(ในมัลแวร์หรือไวรัสแต่ละรุ่น) ลองติดตามข่าวสารว่า...มัลแวร์ตัวใดที่สามารถถอดรหัสได้แล้ว...ค่อยนำข้อมูลเหล่านั้นกลับมากู้โดยผ่านนักวิเคราะห์รหัสหรือแลปกู้ข้อมูลชั้นนำ อย่างน้อยข้อมูลที่คิดว่ามันจากไปแล้ว...อาจคืนชีพขึ้นมาอีกครั้ง...
การกู้ข้อมูล...(กู้ทุกอย่างยกเว้นระเบิด)
การกู้ข้อมูล....(กู้ทุกอย่างยกเว้นระเบิด)
เห็นถามกันในโลกโซเชียล...ที่พบมากๆ คือ ... จะกู้ข้อมูลคืนมาได้อย่างไร? และอีกคำถามที่คู่ขนานกันคือ การทำอย่างไรให้ข้อมูลที่มีไม่สามารถกู้คืนได้... จะเข้าใจหลักการมันได้ต้องย้อนยุคไปถึงยุคน้ำแข็ง อย่าง DOS ส่วนการทำให้ข้อมูลหายไปอย่างไม่ต้องกู้...ตอนแรก...ก็คิดว่ามันน่าจะเป็นประโยชน์...แต่ดูๆ แล้ว...มันไม่ค่อยเห็นประโยชน์ในวงกว้าง...จะมีแต่โทษเสียมากกว่า...และคิดว่า...มันง่ายอยู่แล้ว...แค่มีค้อน..และทุบมันลงไปแรงๆ กลับอุปกรณ์เก็บข้อมูล...มันน่าจะเพียงพอแล้ว...สำหรับ...ผู้ที่มีความลับระดับพันล้าน...จับโยนลงคล้อง...ฆ่าปิดปากเหมือนหนังฆาตกรรม...เหอะๆ ดูมันจะดราม่า แต่ถ้าจะเป็นวิธีคลาสสิค แบบมีคำสั่ง...มีหลักการ...ดูมันจะเกินขอบเขตของการศึกษาเกินไป...เดียวจะกลายเป็นว่า...สอนวิธีปฐมพยาบาลจากปืน...พร้อมกับสอนการใช้ปืน...ไม่เข้าท่าเลยแฮะ
โครงสร้างพื้นฐานของข้อมูล ในระบบพึ่งพา Interrupt หมายเลข 21H
ก่อนอื่นต้องเข้าใจก่อนว่า...โครงสร้างการเก็บข้อมูลของระบบปฏิบัติการวินโดวส์ และ ลีนุกซ์ (I OS ไม่เกี่ยว) มีพื้นฐานที่เหมือนกันคือ DOS Interrupt ซึ่งระบบปฏิบัติการเหล่านี้...จะเรียกคำสั่ง BIOS และ ระบบปฏิบัติการจะสร้าง Interrupt ขึ้นเพื่อเป็นคำสั่งแบบพิเศษที่สามารถเรียกใช้งานได้ตลอด แม้ว่าจะทำงานอื่นๆ อยู่ก็ตาม...จะสามารถแทรกคำสั่งพิเศษนี้...ทำงานแบบขัดจังหวะได้ ซึ่ง Interrupt ที่สำคัญ คือ 21H (สองหนึ่งฐานสิบหก) ซึ่งใน Interrupt หมายเลขนี้...จะมีคำสั่งจัดการการเข้าถึงข้อมูลในฮาร์ดดิสก์ แบบมีรูปแบบ หรือที่เราเรียกว่า Format เราจึงสามารถแยกข้อมูล ใน Harddisk เป็น 2 จำพวกคือ
1. ฮาร์ดดิสก์เปล่าที่ไม่ผ่านการฟอร์แมท (มีแต่ MBR ; Master Boot Record) รูปแบบข้อมูลประเภทนี้...Interrupt 21H เข้าไม่ถึง ต้องผ่าน BIOS Interrupt 13H (PC Computer เครื่อง Mac ไม่เกี่ยว)
2. ฮาร์ดดิสก์ที่ผ่านการฟอร์แมทหรือแบ่งพาทิชั่นแล้ว (เรื่องของพาทิชั่น...คงไม่เจาะลึกขนาดนั้น) รู้แค่ว่า ข้อมูลประเภทนี้...ประกอบไปด้วย MBR, ตารางพาทิชั่น, และ FAT (File Allocation Table) และข้อมูลจะถูกแบ่ง Trace (แทร็ก) เป็น Sector (เซกเตอร์) สำหรับ Hard disk จะมี Cylinder (ไซลินเดอร์) เพื่อกำหนดมิติของเซกเตอร์ กับหัวอ่าน เรียกภาษาชาวบ้านก็คือ ด้านหน้าด้านหลัง ของ ดิสก์ แต่ละแพลตเตอร์ ของฮาร์ดดิสก์
ส่วนมิติที่มี แทร็ก ตัดกับ เซกเตอร์ เหล่าเรียกว่า Custer หรือหน่วยย่อยเล็กสุดในการอ่านเขียนข้อมูลของระบบปฏิบัติการ
ด้นมาซะยาว...แล้วมันเกี่ยวอะไรกับ ข้อมูล
1. คุณรู้หรือไม่...ทุกๆ สื่อบันทึกข้อมูล จะมี FAT (File Allocation Table) สองชุดเสมอ (สำหรับวินโดวส์)
2. คุณรู้หรือไม่...การฟอร์มแมทแบบ Quick จะเป็นเพียงการแก้ไขข้อมูลใน FAT ชุดแรกเพื่อบงบอกว่า...ทำการลบแฟ้มเหล่านั้นไปแล้ว...จึงทำให้กู้คืนด้วย FAT ชุดสำรองได้ด้วยโปรแกรมอัตถประโยชน์ (มิน่าเร็วจริงๆ) จึงสามารถกู้คืนได้ตั้งแต่ยุค DOS แล้ว (UnDelete.EXE)
3. คุณรู้หรือไม่ว่า...การฟอร์แมทบนวินโดวส์ทั่วๆ ไป...จะเป็นการทวนซ้ำการอ่านข้อมูลแต่ละเซกเตอร์ด้วยการเขียน FFH (255 ฐานสิบหก) เพื่อดูว่ามีบิทเสียหรือไม่ และเขียนข้อมูลเดิมกลับเข้าไปใหม่ เพื่อดูว่ายังเขียนได้หรือไม่ถ้าไม่ได้...จะกำหนด Custer ส่วนนั้น Bad Sector จากนั้น Interrupt 21H จะลบตาราง FAT ชุดแรกทิ้ง และก็สามารถกู้คืนได้ตั้งแต่ยุค DOS เช่นกัน (UnFormat.EXE)
4. คุณรู้หรือไม่ว่า...คำสั่ง Attrib บางคนเรียกว่าคำสั่งกู้ข้อมูล แต่จริงๆ แล้ว...มันไม่ใช่เลยมันเป็นแค่คำสั่งแก้ไข Attribute (คุณลักษณะของแฟ้มบน FAT) ซึ่งรูปแบบของ Attribute File นั้นสมัย DOS มี
4.1. Archive คือ แฟ้มที่ผ่านการบีบอัดหรือเรียบเรียงไว้แล้วด้วยการดีแฟกต์เตอร์
4.2. Directory คือ แฟ้มที่มีหน้าที่เป็น Folder
4.3. Read Only คือ แฟ้มที่มีการอนุญาตให้อ่านอย่างเดียว
4.4. Hidden คือแฟ้มที่มีการซ่อนจากสายตาหรือผู้ใช้ทั่วไป
4.5. System คือ แฟ้มระบบ ห้ามยุ่งเกียว...หรือแก้ไขโดยผู้ใช้งาน
4.6. Volume คือ แฟ้มที่บงบอกชื่อของไดร์ฟหรือพาร์ทิชั่นนั้นๆ
4.7. ส่วนไว้สำหรับการแชร์และควบคุมสำหรับระบบปฏิบัติการวินโดวส์ขึ้นไป
5. การกู้ข้อมูลในพื้นฐานขั้นตน...สามารถกระทำได้ถ้า
5.1. FAT ไม่เสียไปทั้งสอง ด้าน
5.2. ไม่มีการเขียนทับข้อมูลเดิม
5.3. แฟ้ม Directory หรือ Folder สมบรูณ์พอ
5.4. ถูกซ่อนแค่ Attribute
5.5. ไม่เกิด Bad Sector ณ บริเวณแฟ้มที่จะกู้หรือ ตารางพาร์ทิชั่น หรือ FAT หรือ ข้อมูลในส่วนของ Folder
5.6. ไม่ถูกเข้ารหัสโดย Ransomware
ข้อควรปฏิบัติในการกู้ข้อมูล
1. อย่าลงโปรแกรมกู้ข้อมูลในดิสก์ที่กำลังมีการกู้ (เพราะมันจะทับข้อมูลในส่วนที่กำลังจะกู้ไป “บางส่วน” จะทำให้การกู้ไม่เกิดประสิทธิผล)
2. อย่าได้แบ็กอัปข้อมูลที่มีการกู้...ในไดร์ฟที่กู้หรือทับข้อมูลตัวเดิม (สาเหตุเหมือนข้อแรก)
3. ใช้โปรแกรมกู้ที่มีประสิทธิภาพ...และศึกษาให้ดี...เพราะการกู้ข้อมูล...คุณจะได้ทั้งไฟล์ที่ดีและเสีย...และขยะที่เคยลบ...รวมถึงแฟ้มที่ต้องการเต็มไปหมด ควรมีฟิวเตอร์ในการคัดกรองข้อมูลที่จะกู้ให้ดีและเลือกเฉพาะที่สำคัญจริงๆ (เพราะสิ่งสำคัญไม่ใช่การเรียกมันมาจากขยะแต่ต้องเก็บมันให้ห้างกองขยะ สำรองข้อมูลให้เป็นระบบดีที่สุด)
4. หากข้อมูลมีความสำคัญจริงๆ เป็นความสำคัญทางการค้า...ทางธุรกิจ...หรือประวัติเก่าๆ สำคัญต่อชีวิต แนะนำว่า...”ส่งเข้าแลป ดีที่สุด...อย่าได้ผ่านมือนักเล่นแร่แปรธาตุลองวิชา” เพราะข้อมูลเหล่านั้น...คุณมีโอกาศกระทำมันกลับมาอาจจะมีโอกาสแค่ครั้งเดียว
5. ถ้าโดนมัลแวร์เรียกค่าไถ่ หรือ Ransomware แนะนำว่า...สำรองข้อมูลเหล่านั้นไว้ก่อน...แล้วรอให้มีนักวิเคราะห์รหัสถอดรหัสเหล่านั้นสำเร็จ...(ในมัลแวร์หรือไวรัสแต่ละรุ่น) ลองติดตามข่าวสารว่า...มัลแวร์ตัวใดที่สามารถถอดรหัสได้แล้ว...ค่อยนำข้อมูลเหล่านั้นกลับมากู้โดยผ่านนักวิเคราะห์รหัสหรือแลปกู้ข้อมูลชั้นนำ อย่างน้อยข้อมูลที่คิดว่ามันจากไปแล้ว...อาจคืนชีพขึ้นมาอีกครั้ง...