ฉันสามารถตัดอักขระตัวสุดท้ายของรหัสผ่านของฉันใน Ubuntu 14.04 ได้


27

เรามี Ubuntu 14.04.3 LTS ในแล็บพีซีในวิทยาลัยของฉัน ฉันได้สังเกตเห็นข้อผิดพลาดร้ายแรงในวันนี้

ฉันสามารถข้ามตัวอักษรไม่กี่ตัวสุดท้ายของรหัสผ่านของฉันและยังคงเข้าสู่ระบบได้อย่างราบรื่น ตัวอย่างเช่นหากรหัสผ่านของฉันคือa1b2c3d4e5f6g7h8ฉันสามารถพิมพ์a1b2c3d4eและยังคงเข้าสู่ระบบคนอื่น ๆ หลายคนก็สังเกตเห็นข้อผิดพลาดนี้

โปรดทราบว่ารหัสผ่านไม่สามารถข้ามได้ทั้งหมด - จำนวนสูงสุดที่ฉันสามารถข้ามได้คือ 7 ตัวอักษร หากฉันพยายามข้ามไปอีกข้อความ " รหัสผ่านไม่ถูกต้องโปรดลองอีกครั้ง " ปรากฏขึ้น นอกจากนี้โปรดทราบว่าการเปลี่ยนลำดับแบบสุ่มใด ๆ ของสตริงย่อยของรหัสผ่านไม่ทำงาน

สิ่งนี้จะเกิดขึ้นถ้าฉันล็อคหน้าจอด้วยตนเองและป้อนรหัสผ่านอีกครั้ง ข้อผิดพลาดเดียวกันนี้มีอยู่ในขณะที่ใช้งานsshและดี googling และการค้นหา Stack Overflow ไม่ได้ช่วย

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

สำคัญ: โปรดทราบว่าไม่มีบัญชีของนักเรียนที่อยู่ในรายการ sudoers sysadm เท่านั้นที่มีสิทธิ์เข้าถึงระดับรูท และสิ่งต่อไปนี้จะปรากฏขึ้นเมื่อฉันsshเข้าสู่บัญชีของฉัน

Welcome to Ubuntu 14.04.3 LTS (GNU/Linux 3.13.0-65-generic i686)

* Documentation:  https://help.ubuntu.com/

543 packages can be updated.
350 updates are security updates.

New release '16.04.1 LTS' available.
Run 'do-release-upgrade' to upgrade to it.

UPDATE: ดูเหมือนว่าปัญหาสำคัญไม่ใช่จำนวนอักขระที่ถูกตัดออกไปในตอนท้าย แต่ข้อเท็จจริงที่ว่ามันเป็นไปได้ที่จะเข้าสู่ระบบด้วยอักขระแปดตัวแรกหรือมากกว่าของรหัสผ่าน


2
ฉันสงสัยว่าการตรวจสอบภายนอกบางอย่าง (LDAP, Active Directory และอื่น ๆ ) เป็นความผิดพลาดและไม่ได้ตรวจสอบรหัสผ่านอย่างถูกต้อง พูดคุยกับผู้ดูแลระบบของคุณ
André Borie

8
มีการปรับปรุงความปลอดภัย 350 รายการ หนึ่งในนั้นอาจแก้ไขปัญหา Heartbleed ด้วย
AnthumChris

4
ดูแลระบบของคุณไม่ปรากฏว่ามีมาหลายเดือนแล้ว ...
Michael Hampton

คำตอบ:


28

หากคุณไม่มีสิทธิ์การเข้าถึงระดับผู้ดูแลระบบคุณไม่สามารถทำอะไรได้มากมาย

ที่กล่าวว่าน่าจะเป็นเพราะความสามารถของผู้ดูแลระบบ ฟังดูคล้ายกับการเข้ารหัสรหัสผ่านด้วยcrypt(3)ฟังก์ชั่นคลาสสิค จากman 3 crypt:

crypt () เป็นฟังก์ชันการเข้ารหัสรหัสผ่าน มันขึ้นอยู่กับข้อมูล
อัลกอริธึมการเข้ารหัสแบบมาตรฐานพร้อมการเปลี่ยนแปลงที่ตั้งใจไว้
สิ่งต่าง ๆ ) เพื่อกีดกันการใช้งานการใช้งานฮาร์ดแวร์ของการค้นหาคีย์

key คือรหัสผ่านที่พิมพ์ของผู้ใช้

salt เป็นสตริงอักขระสองตัวที่เลือกจากชุด [a-zA-Z0-9./] นี้
string ถูกใช้เพื่อรบกวนขั้นตอนวิธีหนึ่งใน 4096 วิธีที่แตกต่างกัน

โดยรับบิตต่ำสุด 7 บิตของแต่ละอักขระแปดตัวแรกของ
ได้รับคีย์แล้วจะได้คีย์ 56 บิต   คีย์ 56- บิตนี้ใช้เพื่อเข้ารหัส
สตริงคงที่ซ้ำ ๆ (โดยปกติจะเป็นสตริงที่ประกอบด้วยทั้งหมด
ศูนย์) ค่าที่ส่งคืนจะชี้ไปยังรหัสผ่านที่เข้ารหัสซึ่งเป็นชุดข้อมูล
อักขระ ASCII ที่พิมพ์ได้ 13 ตัว (อักขระสองตัวแรกแทน
เกลือเอง) ค่าที่ส่งคืนจะชี้ไปยังข้อมูลสแตติกที่มีเนื้อหา
ถูกเขียนทับโดยการโทรแต่ละครั้ง

เสียงที่คุ้นเคยหรือไม่

ไม่มีระบบ Ubuntu ล่าสุดที่ใช้สิ่งนี้ตามค่าเริ่มต้น ผู้ดูแลระบบของคุณต้องกำหนดค่าการตั้งค่ารหัสผ่านด้วยตนเองเพื่อใช้งานนี้ หรืออาจใช้การรับรองความถูกต้องภายนอก (LDAP หรือที่คล้ายกัน) และไม่ได้หรือไม่สามารถกำหนดค่านั้นอย่างปลอดภัย

ดูเพิ่มเติม: รหัสผ่านสำหรับระบบ Unix / Linux ที่ทันสมัยยัง จำกัด อยู่ที่ 8 อักขระหรือไม่


4
จากนั้นผู้ดูแลระบบอาจใช้ LDAP ..... ฉันจะพยายามติดต่อกับเขา ขอบคุณ!
Dimitri Markovich

1
OP สามารถยืนยันสิ่งนี้เพิ่มเติมได้โดยดูว่าการพลิกบิตที่ 8 ของอักขระ 8 ตัวแรกนั้นสร้างความแตกต่างหรือไม่ อาจเป็นเรื่องยากที่จะทำในสภาพแวดล้อม UTF-8
Jonas Schäfer

@JonasWielicki - เปิดบิตที่ 8 ของอักขระแปดตัวแรกใด ๆ ที่สร้างความแตกต่าง - รหัสผ่านแสดงว่าไม่ถูกต้อง ดังนั้นฉันสามารถใช้อักขระแปดตัวแรกขึ้นไปของรหัสผ่านเดิมของฉันได้
Dimitri Markovich

@ die-policy137 ตามที่กล่าวมาฉันคิดว่ามันยากที่จะพลิกเพียงแปดบิต - ด้วย UTF-8 นี่จะส่งผลให้มีการใช้สองไบต์แทนหนึ่งเพื่อเข้ารหัส codepoint ดังนั้นนี่ไม่ใช่การทดสอบที่แน่นอนโชคไม่ดีเว้นแต่จะมีการควบคุมการเข้ารหัสที่ใช้โดยเทอร์มินัลและ / หรือข้อมูลที่ส่งเพื่อการตรวจสอบสิทธิ์อย่างเข้มงวด
Jonas Schäfer

7

ในช่วงเวลาหนึ่งพันปีก่อนหน้านี้เมื่อ Unixen ทุกคนเข้ารหัสรหัสผ่านด้วยวิธีนี้ ทิ้งทุกอย่างที่เกินอักขระตัวที่แปดใส่เกลือเติมฟังก์ชันแฮชแล้วทำ

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

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

ซักพักหนึ่งหากคุณต้องการให้เครื่องหลายเครื่องที่มี Unix หลากหลายรุ่นใช้รหัสผ่านเดียวกันคุณต้องใช้การเข้ารหัสแบบเก่า

มีความเป็นไปได้ค่อนข้างมากที่ห้องปฏิบัติการคอมพิวเตอร์เหล่านี้ถูกตั้งค่าเป็นครั้งแรก และการตั้งค่าประเภทนี้มีความเฉื่อย มีการตั้งค่าไคลเอนต์ใหม่เพื่อให้ตรงกับเซิร์ฟเวอร์ เซิร์ฟเวอร์ใหม่ถูกตั้งค่าให้ตรงกับลูกค้า

วันนี้ทุกสิ่งดีขึ้น มีการใช้งาน Unix น้อยกว่าและพวกเขาให้ความร่วมมือดีกว่า

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


ตกลงแล้ว .... ฉันหวังว่าฉันจะทำอะไรบางอย่างได้
Dimitri Markovich

"Unixen" มากกว่า "Unicies" หรือไม่ ไม่เคยได้ยินเรื่องนี้มาก่อนสัมผัสดี
แมว

1
@cat มันเห็นได้ชัดว่าเป็นกระเป๋าหิ้วของ Unix และboxen
Michael Hampton

2
ในฐานะที่เป็น Unix เป็นคำที่ทำขึ้นพหูพจน์สามารถทำขึ้นเช่นกัน :)
Thorbjørn Ravn Andersen

Eight characters passwords has a lot of possibilities.สำหรับเอนโทรปีของรหัสผ่านคุณถือว่าผู้โจมตีรู้วิธีสร้างรหัสผ่าน ถ้าคุณใช้คำแบบสุ่มส่วนใหญ่คุณจะได้ 2 คำหรือ 22 บิตของเอนโทรปี
NonlinearFruit
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.