แม้ว่า GNU/Linux จะเป็นระบบปฏิบัติการที่มีความปลอดภัยสูง แต่ผู้คนจำนวนมากกลับถูกล่อลวงให้เข้าใจผิดเกี่ยวกับความปลอดภัย พวกเขามีความคิดผิดๆ ที่ว่าไม่มีอะไรเกิดขึ้นได้เพราะพวกเขาทำงานจากสภาพแวดล้อมที่ปลอดภัย เป็นความจริงที่ว่ามีมัลแวร์น้อยมากสำหรับสภาพแวดล้อม Linux แต่ก็ยังเป็นไปได้มากที่การติดตั้ง Linux อาจถูกบุกรุกในที่สุด หากไม่มีอะไรอื่น การพิจารณาความเป็นไปได้ของรูทคิทและการโจมตีอื่นๆ ที่คล้ายคลึงกันถือเป็นส่วนสำคัญของการดูแลระบบ รูทคิทหมายถึงชุดเครื่องมือที่ผู้ใช้บุคคลที่สามหลังจากที่พวกเขาสามารถเข้าถึงระบบคอมพิวเตอร์ที่พวกเขาไม่สามารถเข้าถึงได้อย่างถูกต้อง ชุดนี้สามารถใช้เพื่อแก้ไขไฟล์โดยไม่ต้องมีความรู้จากผู้ใช้ที่ถูกต้อง แพ็คเกจเลิกซ่อนมอบเทคโนโลยีที่จำเป็นในการค้นหาซอฟต์แวร์ที่ถูกบุกรุกดังกล่าวอย่างรวดเร็ว
Unhide อยู่ในพื้นที่เก็บข้อมูลสำหรับลีนุกซ์รุ่นหลักๆ ส่วนใหญ่ การใช้คำสั่งตัวจัดการแพ็คเกจเช่น sudo apt-get install unhide ก็เพียงพอที่จะบังคับให้ติดตั้งบนรสชาติของ Debian และ Ubuntu เซิร์ฟเวอร์ที่มีการเข้าถึง GUI สามารถใช้ Synaptic Package Manager การแจกแจงของ Fedora และ Arch มีเวอร์ชันที่สร้างไว้ล่วงหน้าสำหรับการยกเลิกการซ่อนสำหรับระบบการจัดการแพ็คเกจของตนเอง เมื่อยกเลิกการซ่อนแล้ว ผู้ดูแลระบบควรจะสามารถใช้งานได้หลายวิธี
วิธีที่ 1:รหัสกระบวนการ Bruteforce
เทคนิคพื้นฐานที่สุดเกี่ยวข้องกับการบังคับใช้ ID กระบวนการแต่ละรายการเพื่อให้แน่ใจว่าไม่มีการซ่อนรหัสกระบวนการใด ๆ จากผู้ใช้ เว้นแต่คุณจะมีสิทธิ์เข้าถึงรูท ให้พิมพ์ sudo unhide brute -d ที่พรอมต์ CLI ตัวเลือก d จะเพิ่มการทดสอบเป็นสองเท่าเพื่อลดจำนวนผลบวกลวงที่รายงาน
เอาต์พุตเป็นพื้นฐานอย่างยิ่ง หลังจากข้อความลิขสิทธิ์ ยกเลิกการซ่อนจะอธิบายการตรวจสอบที่ดำเนินการ จะมีบรรทัดระบุว่า:
[*]การเริ่มการสแกนโดยใช้กำลังดุร้ายกับ PIDS ด้วย fork()
และอีกข้อความหนึ่งระบุว่า:
[*]การเริ่มการสแกนโดยใช้กำลังแบบเดรัจฉานกับ PIDS ด้วยฟังก์ชัน pthread
หากไม่มีผลลัพธ์อื่นใดก็ไม่มีเหตุที่ต้องกังวล หากรูทีนย่อย brute ของโปรแกรมพบสิ่งใด มันจะรายงานบางอย่างเช่น:
พบ HIDDEN PID:0000
ศูนย์สี่ตัวจะถูกแทนที่ด้วยตัวเลขที่ถูกต้อง หากเพียงอ่านได้ว่าเป็นกระบวนการชั่วคราว นี่อาจเป็นผลบวกลวง อย่าลังเลที่จะทำการทดสอบหลายๆ ครั้งจนกว่าจะได้ผลลัพธ์ที่สะอาด หากมีข้อมูลเพิ่มเติม ก็อาจรับประกันให้มีการตรวจสอบติดตามผล หากคุณต้องการบันทึก คุณสามารถใช้สวิตช์ -f เพื่อสร้างไฟล์บันทึกในไดเร็กทอรีปัจจุบัน โปรแกรมเวอร์ชันใหม่เรียกไฟล์นี้ว่า unhide-linux.log และมีคุณลักษณะเอาต์พุตข้อความธรรมดา
วิธีที่ 2:การเปรียบเทียบ /proc และ /bin/ps
คุณสามารถยกเลิกการซ่อนเพื่อเปรียบเทียบรายการกระบวนการ /bin/ps และ /proc แทนได้ เพื่อให้แน่ใจว่าทั้งสองรายการที่แยกจากกันในแผนผังไฟล์ Unix ตรงกัน หากมีสิ่งใดผิดปกติโปรแกรมจะรายงาน PID ที่ผิดปกติ กฎ Unix กำหนดว่ากระบวนการที่ทำงานอยู่จะต้องแสดงหมายเลข ID ในสองรายการนี้ พิมพ์ sudo unhide proc -v เพื่อเริ่มการทดสอบ การตรึงบน v จะทำให้โปรแกรมอยู่ในโหมดรายละเอียด
วิธีนี้จะส่งคืนข้อความแจ้งว่า:
[*] ค้นหากระบวนการที่ซ่อนอยู่ผ่าน /proc การสแกนสถิติ
หากมีสิ่งใดผิดปกติเกิดขึ้น ก็จะปรากฏขึ้นหลังบรรทัดข้อความนี้
วิธีที่ 3:การผสมผสานเทคนิค Proc และ Procfs
หากจำเป็น คุณสามารถเปรียบเทียบรายการแผนผังไฟล์ /bin/ps และ /proc Unix ในขณะเดียวกันก็เปรียบเทียบข้อมูลทั้งหมดจากรายการ /bin/ps กับรายการ procfs เสมือน วิธีนี้จะตรวจสอบทั้งกฎแผนผังไฟล์ Unix และข้อมูล procfs พิมพ์ sudo unhide procall -v เพื่อทำการทดสอบนี้ ซึ่งอาจใช้เวลาค่อนข้างนานเนื่องจากต้องสแกนสถิติ /proc ทั้งหมด รวมถึงทำการทดสอบอื่นๆ อีกหลายรายการ เป็นวิธีที่ยอดเยี่ยมในการตรวจสอบให้แน่ใจว่าทุกสิ่งบนเซิร์ฟเวอร์เป็นแบบ copasetic
ป>
วิธีที่ 4:การเปรียบเทียบผลลัพธ์ procfs ด้วย /bin/ps
การทดสอบก่อนหน้านี้เกี่ยวข้องกับแอปพลิเคชันส่วนใหญ่มากเกินไป แต่คุณสามารถรันการตรวจสอบระบบไฟล์ proc ได้อย่างอิสระเพื่อประโยชน์บางประการ พิมพ์ sudo unhide procfs -m ซึ่งจะดำเนินการตรวจสอบเหล่านี้บวกกับการตรวจสอบอื่นๆ อีกหลายรายการโดยการทำเครื่องหมายที่ -m
นี่ยังคงเป็นการทดสอบที่ค่อนข้างเกี่ยวข้อง และอาจใช้เวลาสักครู่ ส่งคืนเอาต์พุตสามบรรทัดแยกกัน:
ป>
โปรดทราบว่าคุณสามารถสร้างบันทึกแบบเต็มสำหรับการทดสอบเหล่านี้ได้โดยเพิ่ม -f ลงในคำสั่ง
วิธีที่ 5:การเรียกใช้การสแกนแบบด่วน
หากคุณเพียงต้องการเรียกใช้การสแกนอย่างรวดเร็วโดยไม่ต้องกังวลเกี่ยวกับการตรวจสอบเชิงลึก ให้พิมพ์ sudo unhide quick ซึ่งควรจะทำงานเร็วที่สุดตามชื่อที่แนะนำ เทคนิคนี้จะสแกนรายการ proc เช่นเดียวกับระบบไฟล์ proc นอกจากนี้ยังรันการตรวจสอบที่เกี่ยวข้องกับการเปรียบเทียบข้อมูลที่รวบรวมจาก /bin/ps กับข้อมูลที่ให้มาโดยการเรียกทรัพยากรระบบ นี่เป็นเอาต์พุตบรรทัดเดียว แต่น่าเสียดายที่เพิ่มความเสี่ยงของผลบวกลวง การตรวจสอบอีกครั้งหลังจากตรวจสอบผลลัพธ์ก่อนหน้านี้แล้วมีประโยชน์
ผลลัพธ์จะเป็นดังนี้:
[*] ค้นหากระบวนการที่ซ่อนอยู่ผ่านการเปรียบเทียบผลลัพธ์ของการเรียกระบบ, proc, dir และ ps
คุณอาจเห็นกระบวนการชั่วคราวหลายอย่างเกิดขึ้นหลังจากเรียกใช้การสแกนนี้
วิธีที่ 6:เรียกใช้การสแกนย้อนกลับ
เทคนิคที่ดีเยี่ยมในการดมรูทคิทคือการตรวจสอบเธรด ps ทั้งหมด หากคุณรันคำสั่ง ps ที่พร้อมท์ของ CLI คุณจะเห็นรายการคำสั่งที่รันจากเทอร์มินัล การสแกนแบบย้อนกลับจะตรวจสอบว่าเธรดตัวประมวลผลแต่ละเธรดที่อิมเมจ ps แสดงการเรียกของระบบที่ถูกต้องและสามารถค้นหาได้ในรายการ procfs นี่เป็นวิธีที่ดีเยี่ยมเพื่อให้แน่ใจว่ารูทคิทไม่ได้ฆ่าบางสิ่ง เพียงพิมพ์ sudo unhide Reverse เพื่อเรียกใช้การตรวจสอบนี้ มันควรจะทำงานเร็วมาก เมื่อทำงาน โปรแกรมควรแจ้งให้คุณทราบว่ากำลังมองหากระบวนการปลอม
วิธีที่ 7:การเปรียบเทียบ /bin/ps กับการเรียกของระบบ
ท้ายที่สุด การตรวจสอบที่ครอบคลุมที่สุดเกี่ยวข้องกับการเปรียบเทียบข้อมูลทั้งหมดจากรายการ /bin/ps กับข้อมูลที่นำมาจากการเรียกของระบบที่ถูกต้อง พิมพ์ sudo unhide sys เพื่อเริ่มการทดสอบนี้ คงจะต้องใช้เวลาในการรันนานกว่าอันอื่นๆ เนื่องจากมันมีบรรทัดเอาต์พุตที่แตกต่างกันมากมาย คุณจึงอาจต้องการใช้คำสั่ง -f log-to-file เพื่อให้ง่ายต่อการมองย้อนกลับไปดูทุกสิ่งที่พบ
เกี่ยวกับผู้เขียน
เควิน แอร์โรว์ส
Kevin Arrows เป็นผู้เชี่ยวชาญด้านเทคโนโลยีที่มีประสบการณ์สูงและมีความรู้และมีประสบการณ์ในอุตสาหกรรมมานานกว่าทศวรรษ เขาได้รับการรับรองจาก Microsoft Certified Technology Specialist (MCTS) และมีความมุ่งมั่นอย่างแรงกล้าที่จะติดตามข่าวสารเกี่ยวกับการพัฒนาเทคโนโลยีล่าสุด Kevin ได้เขียนหัวข้อที่เกี่ยวข้องกับเทคโนโลยีอย่างกว้างขวาง โดยนำเสนอความเชี่ยวชาญและความรู้ของเขาในด้านต่างๆ เช่น การพัฒนาซอฟต์แวร์ ความปลอดภัยทางไซเบอร์ และการประมวลผลแบบคลาวด์ การมีส่วนร่วมของเขาในด้านเทคโนโลยีได้รับการยอมรับและเคารพอย่างกว้างขวางจากเพื่อนร่วมงานของเขา และเขาได้รับการยกย่องอย่างสูงจากความสามารถของเขาในการอธิบายแนวคิดทางเทคนิคที่ซับซ้อนในลักษณะที่ชัดเจนและรัดกุม ป>