แม้ GNU/Linux จะเป็นระบบปฏิบัติการที่ปลอดภัยมาก หลายคนถูกหลงล่อเข้าสู่ false sense of security พวกเขามีความคิดผิดว่าไม่มีอะไรจะเกิดขึ้น เพราะพวกเขาทำงานจาก secure environment จริงที่ว่า malware น้อยมากสำหรับ Linux environment แต่ยังเป็นไปได้มากที่ Linux installation อาจถูก compromise ที่สุด หากไม่ใช่ การพิจารณาความเป็นไปได้ของ rootkits และการโจมตีคล้ายๆ เป็นส่วนสำคัญของ system administration Rootkit หมายถึงชุดเครื่องมือที่ third party ใช้หลังจากได้ access เข้าสู่ computer system ที่พวกเขาไม่มีสิทธิ์ ชุดนี้สามารถใช้ modify files ได้โดยไม่ให้ผู้ใช้ที่ถูกต้องรู้ แพ็กเกจ unhide 提供เทคโนโลยีที่จำเป็นในการค้นหา compromised software อย่างรวดเร็ว
Unhide อยู่ใน repositories สำหรับ major Linux distributions การใช้คำสั่ง package manager เช่น sudo apt-get install unhide พอที่จะบังคับติดตั้งบน flavors ของ Debian และ Ubuntu เซิร์ฟเวอร์ที่มี GUI access สามารถใช้ Synaptic Package Manager Fedora และ Arch distributions มี pre-built versions ของ unhide สำหรับ package management systems ของพวกเขา เมื่อ unhide ติดตั้งแล้ว system administrators ควรสามารถใช้ได้หลายวิธี
วิธีที่ 1: Bruteforcing Process IDs
เทคนิคพื้นฐานที่สุดเกี่ยวข้องกับการ bruteforce แต่ละ process ID เพื่อให้แน่ใจว่าไม่มีอะไรถูกซ่อนจากผู้ใช้ เว้นแต่คุณมี root access ให้พิมพ์ sudo unhide brute -d ที่ CLI prompt ออปชัน d ทำให้ test สองเท่าเพื่อลด false positives ที่รายงาน
Output เป็นพื้นฐานมาก หลังข้อความ copyright unhide จะอธิบาย checks ที่มันทำ จะมีบรรทัดระบุ:
[*]Starting scanning using brute force against PIDS with fork()
และอีกบรรทัด:
[*]Starting scanning using brute force against PIDS with pthread functions
หากไม่มี output อื่น คุณไม่มีสาเหตุกังวล หากโปรแกรม brute subroutine พบอะไร มันจะรายงานอย่าง:
Found HIDDEN PID: 0000
สี่ศูนย์จะถูกแทนที่ด้วยหมายเลขที่ถูกต้อง หากมันอ่านเพียงว่าเป็น transitory process นี่อาจเป็น false positive โปรดรัน test หลายครั้งจนกว่าจะได้ผลสะอาด หากมีข้อมูลเพิ่มเติม อาจต้องการ follow-up check หากคุณต้องการ log คุณสามารถใช้สวิตช์ -f สร้าง log file ใน current directory เวอร์ชันใหม่ของโปรแกรมเรียกไฟล์นี้ว่า unhide-linux.log และมี plain text output
วิธีที่ 2: เปรียบเทียบ /proc และ /bin/ps
คุณสามารถสั่ง unhide ให้เปรียบเทียบ process lists /bin/ps และ /proc เพื่อให้แน่ใจว่าสองรายการแยกกันใน Unix file tree ตรงกัน หากมีบางอย่างผิด โปรแกรมจะรายงาน PID ที่ผิดปกติ Unix rules กำหนดว่า running processes ต้อง present ID numbers ในสองรายการนี้ พิมพ์ sudo unhide proc -v เพื่อเริ่ม test การเพิ่ม v จะทำให้โปรแกรมอยู่ใน verbose mode
วิธีนี้จะคืน prompt ระบุว่า:
[*]Searching for Hidden processes through /proc stat scanning
หากมีอะไรผิดปกติ จะปรากฏหลังบรรทัดข้อความนี้
วิธีที่ 3: รวมเทคนิค Proc และ Procfs
หากจำเป็น คุณสามารถเปรียบเทียบ /bin/ps และ /proc Unix file tree lists ขณะที่ยังเปรียบเทียบข้อมูลทั้งหมดจาก /bin/ps list กับ virtual procfs entries นี่ตรวจสอบทั้ง Unix file tree rules และ procfs data พิมพ์ sudo unhide procall -v เพื่อทำ test นี้ ซึ่งอาจใช้เวลานานมาก เพราะต้องสแกน all /proc stats และทำ test อื่นๆ หลายอย่าง นี่เป็นวิธีดีเยี่ยมเพื่อให้แน่ใจว่าทุกอย่างบนเซิร์ฟเวอร์ copasetic
วิธีที่ 4: เปรียบเทียบ procfs Results กับ /bin/ps
การทดสอบก่อนหน้านี้ซับซ้อนเกินไปสำหรับแอปพลิเคชันส่วนใหญ่ แต่คุณสามารถรัน proc file system checks แบบอิสระเพื่อความรวดเร็วได้ พิมพ์ sudo unhide procfs -m ซึ่งจะทำ checks เหล่านี้รวมถึง checks อื่นๆ เพิ่มเติมจากการเพิ่ม -m
นี่ยังเป็น test ที่ค่อนข้าง involved และอาจใช้เวลาสักครู่ มันคืนสามบรรทัด output แยกกัน:
จำไว้ว่าคุณสามารถสร้าง full log ด้วย test ใดๆ โดยเพิ่ม -f เข้าไปในคำสั่ง
วิธีที่ 5: รัน Quick Scan
หากคุณเพียงต้องการรัน quick scan โดยไม่กังวลกับ in-depth checks ให้พิมพ์ sudo unhide quick ซึ่งควรรันเร็วเท่าชื่อ แทรก scan proc lists และ proc file system มันยังรัน check ที่เกี่ยวข้องกับการเปรียบเทียบข้อมูลจาก /bin/ps กับข้อมูลจาก calls ไป system resources นี่ให้ single line output แต่เพิ่มความเสี่ยง false positives มีประโยชน์สำหรับ double-check หลัง review ผลลัพธ์ก่อนหน้า
Output ดังนี้:
[*]Searching for Hidden processes through comparison of results of system calls, proc, dir and ps
คุณอาจเห็น transitory processes หลายตัวขึ้นหลังรัน scan นี้
วิธีที่ 6: รัน Reverse Scan
เทคนิคยอดเยี่ยมสำหรับจับ rootkits เกี่ยวข้องกับ verification ของ all ps threads หากคุณรันคำสั่ง ps ที่ CLI prompt คุณจะเห็นรายการคำสั่งที่รันจากเทอร์มินัล Reverse scanning ยืนยันว่าแต่ละ processor threads ที่ ps images แสดง มี valid system calls และสามารถ lookup ได้ใน procfs listing นี่เป็นวิธีดีเยี่ยมเพื่อให้แน่ใจว่า rootkit ไม่ได้ kill off อะไรไป พิมพ์ sudo unhide reverse เพื่อรัน check นี้ มันควรรันเร็วมาก เมื่อมันรัน โปรแกรมควรแจ้งว่ามันกำลังหา fake processes
วิธีที่ 7: เปรียบเทียบ /bin/ps กับ System Calls
สุดท้าย comprehensive check ที่สุดเกี่ยวข้องกับการเปรียบเทียบข้อมูลทั้งหมดจาก /bin/ps listing กับข้อมูลที่มาจาก valid system calls พิมพ์ sudo unhide sys เพื่อเริ่ม test นี้ มันน่าจะใช้เวลานานกว่าอื่นๆ เนื่องจากมันให้หลายบรรทัดของ output คุณอาจต้องการใช้ -f log-to-file command เพื่อทำให้มองย้อนกลับดูทุกอย่างที่มันพบง่ายขึ้น
ABOUT THE AUTHOR

Kevin Arrows
Kevin Arrows เป็นผู้เชี่ยวชาญด้านเทคโนโลยีที่มีประสบการณ์มากกว่าหนึ่งทศวรรษ เขาถือใบรับรอง Microsoft Certified Technology Specialist (MCTS) และมีความหลงใหลในการติดตามข่าวสารเทคโนโลยีล่าสุด Kevin เขียนบทความมากมายเกี่ยวกับหัวข้อเทคโนโลยีหลากหลาย แสดงให้เห็นถึงความเชี่ยวชาญในด้านการพัฒนาซอฟต์แวร์ ความปลอดภัยไซเบอร์ และการคอมพิวติ้งบนคลาวด์ ผลงานของเขาได้รับการยอมรับและเคารพจากเพื่อนร่วมงาน และเขาได้รับการขนานนามว่าสามารถอธิบายแนวคิดทางเทคนิคที่ซับซ้อนได้อย่างชัดเจนและกระชับ