จุดอ่อนของการรักษาความปลอดภัย 3-Strike


10

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


3
คำถามนี้อาจถูกถามดีกว่าที่Securityเพื่อการอ้างอิงในอนาคต
maple_shaft

1
อย่างที่ฉันได้พบมีที่ไหนซักแห่งที่เหมาะสมกว่าที่จะถาม ขอบคุณนะฉันจะพยายามจำให้ดี
prelic

คำตอบ:


13

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

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


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

@prelic: เพื่อจัดการกับปัญหานั้นฉันจะใช้บางอย่างเช่น "ถ้าที่อยู่ IP บางอันพยายามเข้าสู่ระบบที่ไม่ถูกต้องมากเกินไปให้ปิดกั้นพวกเขา" นั่นจะหยุดสถานการณ์ที่คุณพูดถึง แต่มันจะไม่จัดการกับการแฮ็คอย่างจริงจังเช่นบ็อตเน็ต เพื่อที่คุณต้องการความปลอดภัยที่หนักกว่า
Mason Wheeler

4
วิธีการแก้ปัญหาตามปกติคือการผูกอัตราความพยายามมาสำหรับผู้ใช้ที่ได้รับจาก ip คงที่ที่จะพูด 5 ต่อนาที มันไม่สมบูรณ์แบบ แต่โดยปกติแล้วคุณจะไม่สร้างปัญหาให้กับผู้ใช้รายอื่นเว้นแต่คุณจะอยู่หลังพรอกซีเดียวกัน
Andrea

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

3

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

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

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

    • ชะลอการเรียกใช้ชื่อผู้ใช้โดยไม่แจ้งเบาะแสว่าเป็นชื่อผู้ใช้หรือรหัสผ่านที่ผิด สิ่งนี้ทำให้เกิดการโจมตีเมื่อผู้ร้ายคาดเดาชื่อผู้ใช้ที่ปรากฏต่อผู้ดูแลระบบและมีประสิทธิภาพน้อยลง
    • แทนที่จะล็อคบัญชีหลังจากความพยายามที่ล้มเหลวจำนวนคงที่เพียงล็อกโหมดการตรวจสอบสิทธิ์นั้น กล่าวอีกนัยหนึ่งคือต้องการผู้ใช้ที่บัญชีของคุณถูกโจมตีเพื่อตรวจสอบสิทธิ์โดยใช้วิธีอื่น (อาจเกี่ยวข้องมากกว่า แต่ถูกโจมตีได้ง่ายกว่า) ตัวอย่างที่ดีคือวิธีที่โทรศัพท์ Android จะต้องให้ผู้ใช้ใช้ข้อมูลเข้าสู่ระบบ Google ของพวกเขาหลังจากล้มเหลวในการตรวจสอบโดยใช้รูปแบบการปลดล็อกหน้าจอหรือ PIN ในทางทฤษฎีแล้วสิ่งนี้เป็นเหมือนต้องการให้ผู้ใช้ที่ถูกโจมตีขอให้ปลดล็อคบัญชีของตนอย่างไรก็ตามไม่จำเป็นต้องมีการแทรกแซงจากผู้ดูแลระบบในทันที
    • แทนที่จะล็อคบัญชี (หรือนอกเหนือจากการล็อคบัญชีสำหรับโหมดการตรวจสอบสิทธิ์โดยเฉพาะ - ดูด้านบน) พยายามล็อคการรับรองความถูกต้องจากตำแหน่งที่การโจมตีเริ่มต้นขึ้น ตัวอย่างเช่นหากการรับรองความถูกต้องทำผ่านชื่อผู้ใช้และรหัสผ่านผ่านเครือข่ายหลังจากพยายามตรวจสอบล้มเหลวสามครั้งคุณสามารถป้องกันความพยายามเพิ่มเติมจากผู้ใช้จาก IP หรือซับเน็ตเดียวกันจากการเข้าสู่ระบบด้วยชื่อผู้ใช้หรือรหัสผ่าน ในกรณีที่มีโอกาสดีที่ผู้ใช้หลายคน (รวมถึงผู้โจมตี) สามารถใช้ IP หรือเครือข่ายย่อยเดียวกันคุณสามารถปิดใช้งานการรับรองความถูกต้องของชื่อผู้ใช้ / รหัสผ่านสำหรับ IP หรือเครือข่ายย่อยเป็นระยะเวลาหนึ่ง ผู้ใช้ที่อยู่ใกล้กับผู้โจมตี
  • หากความกลัวของคุณเป็นการลงโทษผู้ใช้ที่ลืมโดยไม่ได้ตั้งใจราวกับว่าพวกเขาเป็นผู้โจมตีแทนที่จะควบคุมการไหลของความพยายามในการเข้าสู่ระบบที่ล้มเหลวหลังจากความพยายามที่ล้มเหลวจำนวนคงที่คุณสามารถใช้ความถี่ของความพยายามในการเข้าสู่ระบบ ตัวอย่างเช่นหากคุณเห็นการตรวจสอบสิทธิ์ 10 ครั้งภายในระยะเวลาหนึ่งวินาทีคุณสามารถใช้วิธีการใดวิธีการหนึ่งด้านบนเพื่อป้องกันการตรวจสอบสิทธิ์ที่คล้ายกันเพิ่มเติม อีกวิธีหนึ่งคุณสามารถใช้ความพยายามในการเข้าสู่ระบบที่ท่วมท้นเป็นสัญญาณในการเริ่มควบคุมการไหลของข้อมูล วิธีนี้กำลังได้รับความนิยมมากขึ้นเรื่อย ๆ ในฟอรัมในขณะที่หลังจากความพยายามในการเข้าสู่ระบบที่ล้มเหลวจาก IP เฉพาะจำนวนหนึ่ง IP นั้นจะถูกป้องกันไม่ให้ตรวจสอบสิทธิ์ในช่วงเวลาสั้น ๆ

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

อย่างไรก็ตามฉันหวังว่าการรวมกันของวิธีการเหล่านี้จะมีประโยชน์

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