การโจมตีเฉพาะที่คุณแสดงความกังวลคือ:
บ่อยครั้งที่ผู้โจมตีมักจะหลอกผู้ใช้ที่ใจง่ายให้เรียกใช้ไฟล์ปฏิบัติการโดยการดาวน์โหลดและคลิก
อย่างน้อยในกรณีทั่วไปที่ไฟล์นั้นถูกดาวน์โหลดในเว็บเบราเซอร์อย่างนี้แล้วควรจะป้องกันในอูบุนตูโดยยึดมั่นในเบราว์เซอร์ที่จะดำเนินการขออนุญาต-Bit ต้องใช้นโยบาย ส่วนที่เกี่ยวข้องโดยตรงที่สุดของนโยบายนั้นคือ:
- ไฟล์ที่ดาวน์โหลดจากเว็บเบราว์เซอร์ไคลเอนต์เมล ฯลฯ จะต้องไม่ถูกบันทึกเป็นไฟล์ที่เรียกใช้งานได้
ดังนั้นหากผู้ใช้ได้รับแจ้งให้ดาวน์โหลดโปรแกรมในเว็บเบราว์เซอร์ให้ทำเช่นนั้นและพยายามเรียกใช้ไฟล์ด้วยการดับเบิลคลิกที่ไฟล์ดังกล่าวมันจะไม่ทำงาน สิ่งนี้ใช้ได้แม้ว่าไฟล์ที่ดาวน์โหลดมาเป็นเชลล์สคริปต์หรือแม้แต่ไฟล์ .desktop (หากคุณเคยสงสัยว่าเหตุใดไฟล์. เดสก์ท็อปในโฮมไดเร็กตอรี่ของคุณจะต้องถูกทำเครื่องหมายว่าสามารถใช้งานได้แม้ว่าจะไม่ใช่โปรแกรมจริงๆ
เป็นไปได้สำหรับผู้ใช้ที่จะแก้ไขพฤติกรรมนี้ผ่านการเปลี่ยนแปลงการกำหนดค่า ส่วนใหญ่จะไม่และในขณะที่ผู้ที่ไม่ควรทำนั่นไม่ใช่สิ่งที่คุณต้องกังวล ความกังวลที่ใหญ่กว่าคือการโจมตีที่ซับซ้อนมากขึ้นที่ฉันคิดว่าคุณอยู่แล้วกังวลเกี่ยวกับในการที่บุคคลที่เป็นอันตราย (หรือ ธ ปท) สั่งให้ผู้ใช้สามารถดาวน์โหลดไฟล์เฉพาะทำเครื่องหมายว่าปฏิบัติการของตัวเอง (ผ่านเบราเซอร์ไฟล์ของพวกเขาหรือchmod
) และ จากนั้นเรียกใช้
น่าเสียดายที่การจำกัดความสามารถของผู้ใช้ในการตั้งค่าบิตเรียกใช้งานบนไฟล์หรือเรียกใช้ไฟล์อื่นนอกเหนือจากที่อยู่ในรายการที่อนุญาตบางรายการจะไม่ช่วยบรรเทาปัญหาได้อย่างเห็นได้ชัด การโจมตีบางอย่างจะใช้งานได้แล้วและการโจมตีที่ไม่สามารถแก้ไขได้เล็กน้อยเพื่อให้สามารถทำได้ ปัญหาพื้นฐานคือผลกระทบของการเรียกใช้ไฟล์สามารถทำได้แม้ว่าไฟล์นั้นจะไม่ได้รับอนุญาตให้ใช้งานได้ก็ตาม
นี่คือตัวอย่างที่ดีที่สุด สมมติว่าevil
เป็นไฟล์ในไดเรกทอรีปัจจุบันที่หากได้รับสิทธิ์ปฏิบัติการ ( chmod +x evil
) และเรียกใช้ ( ./evil
) จะทำสิ่งที่ชั่วร้าย ขึ้นอยู่กับชนิดของโปรแกรมมันเอฟเฟกต์เดียวกันอาจทำได้โดยหนึ่งในสิ่งต่อไปนี้
. ./evil
หรือsource ./evil
รันคำสั่งในในเปลือกที่กำลังทำงานอยู่evil
bash ./evil
วิ่งในevil
bash
python3 evil
วิ่งในevil
python3
perl evil
วิ่งในevil
perl
- ... และโดยทั่วไป
interpreter evil
จะทำงานevil
ในล่าม interpreter
- ในระบบส่วนใหญ่
/lib64/ld-linux-x86-64.so.2 ./evil
รันไบนารีที่ปฏิบัติการ evil
ได้
ไม่ว่าจะเป็นไฟล์สุดท้ายหรือไม่ก็ตามต้องการให้ไฟล์นั้นมีสิทธิ์ในการเรียกทำงานหรือแม้แต่ผู้ใช้จะสามารถให้สิทธิ์ในการเรียกใช้ไฟล์ได้
แต่คำแนะนำที่เป็นอันตรายไม่จำเป็นต้องซับซ้อนขนาดนั้น พิจารณาคำสั่งที่ไม่เป็นอันตรายซึ่งเป็นหนึ่งในวิธีที่แนะนำอย่างเป็นทางการในการติดตั้งหรืออัปเดต NVM :
wget -qO- https://raw.githubusercontent.com/nvm-sh/nvm/v0.34.0/install.sh | bash
เหตุผลที่ไม่เป็นอันตรายคือ NVM ไม่ใช่มัลแวร์ แต่ถ้า URL นั้นเป็นสคริปต์ของใครบางคนที่ทำชั่วเมื่อทำงานคำสั่งนั้นจะดาวน์โหลดและเรียกใช้สคริปต์ ไฟล์ใด ๆ จะต้องได้รับสิทธิ์ในการปฏิบัติการ การดาวน์โหลดและเรียกใช้รหัสที่อยู่ในไฟล์ที่เป็นอันตรายด้วยคำสั่งเดียวเช่นนี้คือผมเชื่อว่าเป็นการกระทำที่ค่อนข้างธรรมดาที่ผู้โจมตีหลอกผู้ใช้
คุณอาจนึกถึงการพยายาม จำกัด ล่ามที่ผู้ใช้สามารถเรียกใช้ได้ แต่ไม่มีวิธีการทำเช่นนี้จริงๆที่ไม่ส่งผลกระทบอย่างมีนัยสำคัญต่องานทั่วไปที่คุณต้องการให้ผู้ใช้สามารถทำได้ หากคุณกำลังตั้งค่าสภาพแวดล้อมที่ จำกัดอย่างมากซึ่งเกือบทุกสิ่งที่ผู้ใช้คิดว่าจะทำบนคอมพิวเตอร์ไม่ได้รับอนุญาตเช่นตู้ที่ใช้โปรแกรมสองโปรแกรมเท่านั้นสิ่งนี้อาจให้การป้องกันที่มีความหมาย แต่มันฟังดูไม่เหมือนกรณีใช้งานของคุณ
ดังนั้นคำตอบโดยประมาณสำหรับคำถามของคุณคือ "ไม่" คำตอบฟูลเลอร์คือการที่คุณสามารถอาจจัดการเพื่อป้องกันผู้ใช้จากการดำเนินการใด ๆ ยกเว้นไฟล์เหล่านั้นที่คุณจัดหาในรายการที่อนุญาต แต่นั่นเป็นความรู้สึกทางเทคนิคที่เข้มงวดของ "execute" ซึ่งไม่จำเป็นต้องใช้เพื่อให้ได้ผลเต็มที่ในการใช้งานโปรแกรมหรือสคริปต์ส่วนใหญ่ เพื่อป้องกันสิ่งนั้นคุณสามารถทำให้รายการที่อนุญาตเล็กมากดังนั้นจึงไม่แสดงรายการล่ามยกเว้นว่าอาจถูก จำกัด อย่างมาก แต่แม้ว่าคุณจะจัดการสิ่งนั้นผู้ใช้ก็ไม่สามารถทำอะไรได้มากและถ้าคุณทำให้มันเล็กจนไม่สามารถทำร้ายตัวเองได้พวกเขาอาจทำอะไรไม่ได้เลย (ดูความคิดเห็นของโทมัสวอร์ด )
หากผู้ใช้ของคุณสามารถทำร้ายตัวเองพวกเขาสามารถถูกหลอกทำร้ายตัวเองได้
คุณอาจสามารถ จำกัด โปรแกรมเฉพาะจากการใช้งานหรือพฤติกรรมในลักษณะที่อาจเป็นอันตรายและหากคุณดูที่รูปแบบเฉพาะที่ ransomware มีแนวโน้มที่จะปฏิบัติตามคุณอาจป้องกันกรณีทั่วไปบางอย่างได้ (ดูที่AppArmor ) ซึ่งอาจมีค่าบางอย่าง แต่มันจะไม่ให้อะไรใกล้เคียงกับโซลูชันที่ครอบคลุมที่คุณหวังไว้
ไม่ว่าคุณจะใช้มาตรการทางเทคนิคใด (ถ้ามี) การเลือกที่ดีที่สุดคือการให้ความรู้แก่ผู้ใช้ ซึ่งรวมถึงการบอกให้พวกเขาไม่เรียกใช้คำสั่งที่พวกเขาไม่เข้าใจและไม่ใช้ไฟล์ที่ดาวน์โหลดในสถานการณ์ที่พวกเขาไม่สามารถอธิบายได้ว่าเหตุใดจึงปลอดภัยที่จะทำเช่นนั้น แต่มันยังรวมถึงสิ่งต่าง ๆ เช่นการสำรองข้อมูลเพื่อที่ว่าหากมีสิ่งใดผิดพลาด (เนื่องจากมัลแวร์หรืออย่างอื่น) อันตรายที่เกิดขึ้นจะน้อยที่สุดเท่าที่จะทำได้