การตรวจสอบสิทธิ์ล่วงหน้าของ Kerberos ช่วยเพิ่มความปลอดภัยได้อย่างไร


11

รายการคำถามที่พบบ่อยนี้ (และRFCเอง) ระบุว่าการรับรองความถูกต้องล่วงหน้าจะระบุถึงจุดอ่อนในการใช้งานครั้งแรกของ Kerberos ซึ่งทำให้มีความเสี่ยงต่อการถูกโจมตีด้วยพจนานุกรมออฟไลน์

สถานะคำถามที่พบบ่อย:

รูปแบบการตรวจสอบล่วงหน้าที่ง่ายที่สุดเรียกว่า PA-ENC-TIMESTAMP นี่เป็นเพียงการประทับเวลาปัจจุบันที่เข้ารหัสด้วยคีย์ของผู้ใช้

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


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

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

คำตอบ:


16

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

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

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

การบรรเทาปัญหานี้รวมถึงการใช้รหัสผ่านที่ยาวและนโยบายการหมุนรหัสผ่านที่ดีเพื่อทำให้การบังคับใช้เดรัจฉานแบบออฟไลน์เป็นไปไม่ได้หรือใช้ PKINIT ( http://www.ietf.org/rfc/rfc4556.txt )


+1 ขอบคุณสำหรับการชี้ให้เห็นความแตกต่างระหว่างผู้โจมตีที่ใช้งานและผู้โจมตีที่แฝง
Harvey Kwok

หมายเหตุบทความเต็มรูปแบบที่มีรายละเอียดนี้จะปรากฏขึ้นในปี 2014 ที่นี่: social.technet.microsoft.com/wiki/contents/articles/ …
Martin Serrano

5

ฉันพบกระดาษ (การแยกรหัสผ่าน Kerberos ผ่านการวิเคราะห์ประเภทการเข้ารหัส RC4-HMAC ) บน IEEE Xplore ที่ค่อนข้างเกี่ยวข้องกับสิ่งนี้ พวกเขาดูเหมือนจะบอกเป็นนัยว่าหากจับแพ็คเก็ตการรับรองความถูกต้องล่วงหน้าจะไม่แตกต่างกัน

หากผู้โจมตีสามารถดักจับแพ็คเก็ตการตรวจสอบสิทธิ์ล่วงหน้าและต้องการใช้ข้อมูลประจำตัวของผู้ใช้ที่ถูกต้องผู้โจมตีจะต้องดำเนินการตามขั้นตอนที่ KDC ดำเนินการ ผู้โจมตีจะต้องใช้ขั้นตอนการถอดรหัสในประเภทการเข้ารหัสที่ตกลงกันไว้และลองใช้รหัสผ่านที่แตกต่างจากข้อมูลที่จับได้ หากสำเร็จผู้โจมตีจะมีรหัสผ่านของผู้ใช้

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