การเข้าถึงหน่วยความจำแบบดิบมีประโยชน์ในขณะที่ดำเนินการตรวจสอบข้อมูลหรือในขณะที่แฮ็กอุปกรณ์ บางครั้งคุณจำเป็นต้องมีสแน็ปช็อตของหน่วยความจำเพื่อให้สามารถวิเคราะห์สิ่งที่เกิดขึ้นกับบูตโหลดเดอร์ที่ถูกล็อคได้ สแน็ปช็อตของตำแหน่งหน่วยความจำเพื่อติดตามจุดบกพร่อง หรือเพียงเพื่อค้นหาตำแหน่งหน่วยความจำที่เหมาะสมของ Angry ของคุณ คะแนนนก นี่คือที่ที่ Linux Memory Extractor หรือที่รู้จักในชื่อ นิติวิทยาศาสตร์ LiME, เข้ามา. LiME เป็นโมดูลเคอร์เนลที่โหลดได้ซึ่งช่วยให้คุณเข้าถึงหน่วยความจำอุปกรณ์ได้อย่างเต็มรูปแบบ ทันทีที่โหลดโมดูลเคอร์เนลลงในหน่วยความจำ โดยทั่วไปแล้วจะถ่ายภาพสแน็ปช็อต เพื่อให้สามารถแก้ไขจุดบกพร่องได้อย่างมีประสิทธิภาพมาก
ฉันขอให้ Joe Sylve ผู้เขียน LiME Forensics อธิบายประโยชน์ของ LiME เหนือเครื่องมือแบบดั้งเดิม เช่น viewmem:
เพื่อตอบคำถามของคุณ เครื่องมือเหล่านี้ได้รับการออกแบบโดยมีวัตถุประสงค์การใช้งานที่แตกต่างกัน LiME ได้รับการออกแบบมาเพื่อรับการถ่ายโอนข้อมูลเต็มรูปแบบของโครงร่างหน่วยความจำกายภาพของ RAM สำหรับการวิเคราะห์ทางนิติวิทยาศาสตร์หรือการวิจัยด้านความปลอดภัย มันทำทุกอย่างในพื้นที่เคอร์เนลและสามารถถ่ายโอนข้อมูลรูปภาพไปยังระบบไฟล์ในเครื่องหรือผ่าน TCP ได้รับการออกแบบมาเพื่อให้คุณมีสำเนาของหน่วยความจำกายภาพใกล้เคียงที่สุดเท่าที่จะเป็นไปได้ ในขณะเดียวกันก็ลดการโต้ตอบกับระบบให้เหลือน้อยที่สุด
ดูเหมือนว่า viewmem เป็นโปรแกรม userland ที่อ่านช่วงของที่อยู่หน่วยความจำเสมือนจากอุปกรณ์หน่วยความจำ เช่น /dev/mem หรือ /dev/kmem และพิมพ์เนื้อหาไปยัง stdout ฉันไม่แน่ใจว่ามันทำได้มากกว่าการใช้ dd บนอุปกรณ์เหล่านั้น
สิ่งนี้เป็นที่ยอมรับน้อยกว่าในนิติเวชด้วยเหตุผลหลายประการ ก่อนอื่น /dev/mem และ /dev/kmem กำลังจะถูกยกเลิก และอุปกรณ์จำนวนมากขึ้นเรื่อยๆ ที่ไม่ได้จัดส่งพร้อมกับอุปกรณ์เหล่านั้น ประการที่สอง /dev/mem และ /dev/kmem จำกัดให้คุณอ่านได้จาก RAM ขนาด 896MB แรก นอกจากนี้ เครื่องมือนี้ยังทำให้เกิดการสลับบริบทหลายอย่างระหว่างพื้นที่ผู้ใช้และเคอร์เนลแลนด์สำหรับบล็อกหน่วยความจำทุกบล็อกที่อ่าน และเขียนทับ RAM ด้วยบัฟเฟอร์ของมัน
ฉันว่าแต่ละเครื่องมือมีประโยชน์ของพวกเขา หากคุณเพียงต้องการทราบเนื้อหาของที่อยู่ที่อยู่ภายใน RAM 896MB แรกและอุปกรณ์ของคุณมี /dev/mem และ /dev/kmem และคุณไม่สนใจที่จะจับภาพเสียงทางนิติเวช ดังนั้น viewmem (หรือ dd) จะเป็น มีประโยชน์. อย่างไรก็ตาม LiME ไม่ได้ได้รับการออกแบบมาโดยเฉพาะสำหรับกรณีการใช้งานนั้น
สิ่งที่สำคัญที่สุดสำหรับแฮกเกอร์ด้านหน่วยความจำของคุณก็คือ viewmem นั้นอาศัย /dev/mem และ /dev/kmem อุปกรณ์ ตั้งแต่วันที่ /dev/mem และ /dev/kmem อุปกรณ์อนุญาตให้เข้าถึงหน่วยความจำอุปกรณ์โดยตรงซึ่งเป็นช่องโหว่ อุปกรณ์ลีนุกซ์เหล่านี้กำลังถูกยุติการใช้งาน เนื่องจากอุปกรณ์เหล่านี้ตกเป็นเป้าหมายของการโจมตีหลายครั้งในช่วงที่ผ่านมา LiME ไม่เพียงแต่มาแทนที่ยูทิลิตี้ viewmem เท่านั้น แต่ยังทำได้ดีกว่าอีกด้วย
ผู้ผลิตควรทราบ: การล็อคฟีเจอร์ที่นักพัฒนาต้องการจะถือเป็นการส่งเสริมการพัฒนาเครื่องมือที่ดีกว่า
แหล่งที่มา: นิติวิทยาศาสตร์ LiME & บทสัมภาษณ์กับผู้เขียน โจ ซิลฟ์
[เครดิตภาพ: การนำเสนอของ LiME โดย โจ ซิลฟ์]