เราสามารถพึ่งพาระบบไฟล์เพื่อความปลอดภัยได้มากแค่ไหน?


31

คำถามของฉันเกี่ยวกับสิทธิ์ระบบไฟล์ (โดยเฉพาะสิทธิ์สไตล์ Unix) และวิธีการที่เกี่ยวข้องกับความปลอดภัย

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

อย่างไรก็ตามจากมุมมอง "ศัตรู" ที่แท้จริงฉันสามารถเข้าถึงดิสก์ที่ไม่ได้เข้ารหัสนี้ได้อย่างสมบูรณ์ ฉันสามารถอิมเมจมันบันทึกไว้สำหรับภายหลังเรียกใช้ระบบปฏิบัติการอื่น ๆ เพื่ออ่านไฟล์ของ Bob โดยไม่สนใจการตั้งค่าการอนุญาตระบบไฟล์

จากนี้ฉันจะได้รับคำถาม:

  1. การตั้งค่าการอนุญาตระบบไฟล์บนดิสก์ที่ไม่ได้เข้ารหัสนั้นเป็นเพียงการตั้งค่าสถานะให้ถูกต้องหรือไม่ และสิ่งเดียวที่ทำให้ฉันหยุดอ่านไฟล์ที่ฉันไม่ได้รับอนุญาตคือความจริงที่ว่าระบบปฏิบัติการจะพูดว่า“ โอ้คุณอ่านไม่ออกคุณไม่ได้รับอนุญาต” ไฟล์นั้นยังอยู่ในดิสก์ ในรูปแบบดิบและฉันสามารถอ่านได้โดยเพียงแค่เพิกเฉยแฟล็กระบบไฟล์ (พูดผ่านระบบปฏิบัติการที่สามารถบูตได้บางอย่างที่ร่มรื่นและไม่สนใจสิทธิ์) ทั้งหมดนี้ถูกต้องหรือไม่

ตอนนี้บอกว่าฉันไม่สามารถเข้าถึงดิสก์ได้โดยตรงและฉันแค่กำลังแอบเข้าไปในเครื่อง ฉันไม่ได้รับอนุญาตให้อ่านไฟล์ใด ๆ ของ Bob มีอะไรที่ฉันสามารถทำได้เกี่ยวกับมันใช่ไหม?

  1. ด้วยสิทธิ์ที่ จำกัด ของฉันฉันไม่สามารถเข้าถึงไฟล์ของ Bob ได้ไม่ว่าจะพยายามมากแค่ไหน? ถ้าฉันใช้ช่องโหว่เพื่อเข้าถึงรูท? ตอนนี้ฉันสามารถข้ามแฟล็กการอนุญาตของระบบปฏิบัติการได้หรือไม่ นี่เป็นสิ่งที่เกิดขึ้นหรือไม่?

4
ใช่และใช่ คุณดูเหมือนจะเข้าใจแนวคิดที่เกี่ยวข้องได้อย่างถูกต้อง การเพิ่มการโจมตีแบบส่วนตัวจะต้องผ่านการอนุญาตหากคุณไม่สามารถเข้าถึงระบบได้
Frank Thomas

2
จะเป็นการดีหรือไม่ที่จะย้ายข้อมูลนี้ไปยังSecurity.SE ดูเหมือนว่าสถานที่ที่มีเหตุผลมากขึ้นสำหรับมัน
Chris Cirefice

3
@ChrisCirefice การเจาะลึกแนวคิดเรื่องความปลอดภัยจะรับประกันการย้ายข้อมูล แต่นี่เป็นคำถามพื้นฐานมากเกี่ยวกับความเข้าใจเกี่ยวกับการอนุญาตของระบบไฟล์และบทบาทเฉพาะของพวกเขาในแนวคิดของการรักษาความปลอดภัยของระบบ
JakeGould

คำตอบ:


31

คำตอบที่สั้นกว่า

หากคุณมีสิทธิ์เข้าถึงระบบคอมพิวเตอร์ - พีซีหรือระบบจัดเก็บข้อมูล - และ "การป้องกัน" เพียงอย่างเดียวคือการอนุญาตให้ใช้ไฟล์คุณจะไม่มีการป้องกัน 100%

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

และใช่อาจเป็นไปได้บางแง่มุมที่เป็นหลักฐานของการเจาะร่างกายอาจต้องมีการรวมตัวกันเพื่อเข้าถึงในระดับกายภาพ เช่นทำให้แน่ใจว่าไม่มีรอยนิ้วมือถูกทิ้งไว้และแมวน้ำ "การงัดแงะที่เห็นได้ชัด" ก็จัดการเช่นกัน แต่จริงๆแล้วระบบส่วนใหญ่ที่อยู่ในนั้นสามารถลบไดรฟ์ออกจากร่างกายเพื่อคัดลอกข้อมูลทางกายภาพโดยที่ผู้ใช้ปลายทางไม่รู้ตัวเลย หากคุณมีไดรฟ์คุณมีไดรฟ์และคุณมีข้อมูลหากไม่ได้เข้ารหัส

นี่คือเหตุผลที่การเข้ารหัสต่อผู้ใช้หรือการเข้ารหัสดิสก์เต็มรูปแบบเป็นสิ่งที่ยิ่งใหญ่ในทุกวันนี้ แล็ปท็อปอุปกรณ์คอมพิวเตอร์พกพาอื่น ๆ เป็นส่วนสำคัญของตลาดทุกวันนี้ความเสี่ยงของการสูญเสียข้อมูลจากการโจรกรรมอุปกรณ์หรือการยืมพีซีชั่วคราวนั้นสูงกว่าที่เคยเป็นมาในอดีต

หากดิสก์ไม่ได้เข้ารหัสข้อมูลจะเป็นหนังสือเปิดที่พร้อมให้อ่าน แนวคิดนี้ไม่ จำกัด เฉพาะเครื่อง Linux / Unix แต่มีระบบปฏิบัติการใดก็ได้ หากคุณมีการเข้าถึงระบบที่ไม่ได้เข้ารหัสคุณต้องมีระบบ

ที่กล่าวว่าสิทธิ์ของแฟ้มที่มีมาตรการรักษาความปลอดภัยที่มีประโยชน์สำหรับเซิร์ฟเวอร์ระยะไกลทุกชนิด

คำตอบอีกต่อไป

คำถามของฉันเกี่ยวกับสิทธิ์ระบบไฟล์ (โดยเฉพาะสิทธิ์สไตล์ Unix) และวิธีการที่เกี่ยวข้องกับความปลอดภัย

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

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

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

ปัญหาที่นี่คือบริบทของการเข้าถึง หากคุณมีสิทธิ์เข้าใช้คอมพิวเตอร์ต้องมีอะไรที่เป็นไปได้ แต่ถ้าคุณเชื่อมต่อผ่านการเชื่อมต่อระยะไกล - ผ่านเครือข่ายบางประเภท - การเป็นเจ้าของระบบไฟล์นั้นเป็นวิธีการรักษาความปลอดภัยที่มีประสิทธิภาพอย่างแน่นอน และในกรณีของเซิร์ฟเวอร์ Linux / Unix การอนุญาตและความเป็นเจ้าของเป็นรูปแบบความปลอดภัยที่มีประสิทธิภาพเพื่อป้องกันการบุกรุกจากระยะไกล

นั่นคือเหตุผลที่ในโลก Linux / Unix rootเข้าถึงระบบระยะไกลถือว่าเป็นรางวัลใหญ่ รับrootระบบระยะไกลแล้วคุณได้ทำบางสิ่งบางอย่างที่ให้การเข้าถึงมากขึ้นโดยไม่จำเป็นต้องเดินเข้าไปในศูนย์ข้อมูลและโคลนไดรฟ์

อย่างไรก็ตามจากมุมมอง "ศัตรู" ที่แท้จริงฉันสามารถเข้าถึงดิสก์ที่ไม่ได้เข้ารหัสนี้ได้อย่างสมบูรณ์ ฉันสามารถอิมเมจมันบันทึกไว้สำหรับภายหลังเรียกใช้ระบบปฏิบัติการอื่น ๆ เพื่ออ่านไฟล์ของ Bob โดยไม่สนใจการตั้งค่าการอนุญาตระบบไฟล์

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

ทุกคนที่ให้ยืมเครื่องคอมพิวเตอร์ส่วนตัวของคุณและตั้งค่าบัญชีใหม่ให้กับคุณโดยไม่คิดว่าสถานการณ์นี้จะให้ข้อมูลส่วนบุคคลใด ๆ ที่พวกเขามีในเครื่องโดยไม่รู้ตัว

สัมผัสกันเล็กน้อย แต่ฉันคิดว่านี่เป็นเหตุผลว่าทำไมผู้ใช้ทั่วไปจำนวนมากจึงบริจาคพีซีเครื่องเก่าโดยไม่ต้องใช้ความพยายามเพียงเล็กน้อยในการล้างข้อมูลบนไดรฟ์ พวกเขาตั้งค่ารหัสผ่านผู้ใช้และพวกเขาคิดว่าการรักษาความปลอดภัยข้อมูลของพวกเขาในระดับที่พวกเขาสามารถเพียงแค่โยนไดรฟ์ในถังขยะและไม่คิดสองครั้ง เมื่อความเป็นจริงไม่มีการเข้ารหัสที่แท้จริงหรือการลบข้อมูลไดรฟ์ใด ๆ ที่ถูกทิ้งในถังขยะหรือใช้แล้วสามารถอ่านได้โดยทุกคนโดยไม่มีการยกของหนักหรือใช้ความพยายามทางเทคนิค


6
ฉันคิดว่าคำตอบนี้คิดถึงบางสิ่งที่ค่อนข้างชัดเจนว่าควรพูดถึง ความปลอดภัยไม่ได้เป็นเพียงแค่ความปลอดภัยในการคำนวณ โมเดลภัยคุกคามก็มีความสำคัญเช่นกันเนื่องจากผู้โจมตีเป็นมนุษย์: ผู้โจมตีมักต้องการหลีกเลี่ยงการทิ้งร่องรอยไว้ หากคุณให้สิทธิ์การเข้าถึงอุปกรณ์แก่ใครบางคน แต่คุณทำในลักษณะที่อุปกรณ์ไม่สามารถดัดแปลงได้โดยไม่ต้องทิ้งร่องรอย (สิ่งใดจากลายนิ้วมือไปยังเครื่องหมายการงัดแงะไปจนถึงการทำลายอุปกรณ์ในระหว่างการจัดการ) ความปลอดภัยของระบบของคุณแม้ว่าข้อมูลจะสามารถเข้าถึงได้จริง
Mehrdad

@Mehrdad ความคิดเห็นนี้อาจสมเหตุสมผลในการอภิปรายเกี่ยวกับความปลอดภัยและการป้องกันการเข้าถึงที่มีขนาดใหญ่ขึ้น แต่คำถามนี้และคำตอบที่เกี่ยวข้องกับฉันจะมุ่งเน้นไปที่แนวคิดโดยรวมของการอนุญาตระบบไฟล์แบบลอจิคัล และในกรณีนี้ความกังวลเกี่ยวกับลายนิ้วมือและผู้ผลิตการงัดแงะเป็นเพียงการคาดเดาสถานการณ์แฟนตาซี หากมีการเข้าถึงข้อมูลที่ไม่ได้เข้ารหัสพวกเขาสามารถเข้าถึงข้อมูลที่ไม่ได้เข้ารหัสและ 9 ครั้งจาก 10 ไม่จำเป็นต้องเป็น "ขโมย / สายลับ" เพื่อเข้าถึงข้อมูล ณ จุดนั้น
JakeGould

15

สามคะแนนของคุณ:

  1. หากคุณเป็น SSH ในฐานะผู้ใช้ปกติคุณจะไม่สามารถเข้าถึงอุปกรณ์ดิสก์ดิบได้ โดยทั่วไปคุณต้องการrootหรือได้รับอนุญาตในการเข้าถึงอุปกรณ์ดิสก์แบบ raw และแบบลอจิคัล

  2. หากคุณได้รูทผ่านช่องโหว่คุณจะเป็นผู้ใช้ที่ทรงพลังที่สุดในระบบและสามารถเข้าถึงทุกอย่างรวมถึงอุปกรณ์ เนื่องจากคุณเป็น root คุณสามารถเข้าถึงไฟล์ของ Bob ได้โดยตรงดังนั้นไม่จำเป็นต้องเข้าถึงอุปกรณ์ดิสก์

  3. rootเต้นเข้าถึงทางกายภาพ รูตเป็นเลเยอร์แบบลอจิคัล คุณสามารถละเว้นมันด้วยการเข้าถึงดิสก์ ซึ่งรวมถึงการโหลดดิสก์ดังกล่าวในระบบปฏิบัติการแยกต่างหากที่คุณเป็นรูต

แน่นอนว่าระบบต่าง ๆ จะต้องถูกทำให้rootแข็งแกร่งต่อการหาประโยชน์ แต่การหาประโยชน์ใหม่ ๆ ออกมาทุกวัน ไม่มีระบบใดที่ปลอดภัย 100% แต่คุณสามารถสร้างระบบที่ปลอดภัยสำหรับการใช้งานจริงโดย จำกัด การเข้าถึง

การอนุญาตให้ใช้ระบบไฟล์นั้นคาดว่าจะทำงานในสถานการณ์การเข้าถึงของผู้ใช้ที่ จำกัด ซึ่งระบบปฏิบัติการไม่ได้ถูกโจมตี มันเป็นระบบ "รักษาความซื่อสัตย์ (และโดยทั่วไป) ผู้ใช้ที่ซื่อสัตย์" เช่นล็อคจักรยาน มันทำงานเพื่อป้องกัน "อาชญากรรมของโอกาส" มากกว่าการป้องกันทั้งหมดที่ล้มเหลวอย่างปลอดภัย


กฎการอนุญาตของ FS ค่อนข้างแข็งแกร่ง พวกเขาทำงานตราบใดที่ไม่มีการโจมตีมีราก POSIX ระบบแฟ้มความหมาย (และส่วนขยายของลินุกซ์ที่เฉพาะเจาะจง) open(2)ได้รับการออกแบบอย่างระมัดระวังเพื่อไม่เปิดขึ้นในการเข้าถึงมากกว่าที่คุณจะได้รับมีเพียง เช่นlinkat(2)ให้คุณสร้างรายการไดเรกทอรีสำหรับ file descriptor ที่เปิด แต่เฉพาะถ้า link-count ไม่เป็นศูนย์ดังนั้นกระบวนการที่ได้รับ FD ที่เปิดสำหรับไฟล์ที่ถูกลบจะไม่สามารถลิงค์กลับเข้าไปในระบบไฟล์ได้ เห็นได้ชัดว่าผู้โจมตีได้รับรูตหรือการเข้าถึงทางกายภาพหมายความว่าคุณขนมปังปิ้ง การเข้ารหัสช่วยด้วยทางกายภาพ แต่ไม่มากนัก
Peter Cordes
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.