שְׁאֵלָה:
האם אכפת לך מהתקפות DoS אם השרת שלך משתמש ב- bcrypt?
Cedric Martin
2012-09-27 21:28:17 UTC
view on stackexchange narkive permalink

(שאלתי רק שאלה זו בנושא "הצפנת SE" והוצע לי לשאול אותה כאן במקום זאת)

ערוך פשוט הבנתי את שאלתי הוא בעיקר מרמה של: למנוע התקפות של מניעת שירות כנגד פונקציות גיבוב איטיות?

אם מישהו בוחר ב- bcrypt האם השרתים לא נחשפים במיוחד להתקפת DoS שהייתה נסה למקסם את המעבד?

אם ניקח, נניח, שרת אינטרנט: גם אם יש לו רוחב פס ענקי, זה נראה כמו פטיש מרחוק על השרת עם בקשות כניסה של HTTP POST יכול לתת למעבד קשה .

אם השרת אינו מדרג מגביל שום דבר הוא נראה אפילו ממכונה / IP אחת, לא יהיה קשה מדי להכריח את השירות לבצע הרבה חישובים.

האם זה משהו שצריך לדאוג לו (למשל האם אתה צריך להוסיף איזשהו חומת אש מגבילה תעריפים ספציפית שלוקחת בחשבון "התקפות bcrypt מרוחקות") או שאני פשוט פרנואידית כאן?

כל שרת פגיע ל- DoS, בין אם הוא משתמש ב- bcrypt ובין אם לאו. האם אתה מתכוון לשאול אם שרת פגיע במיוחד ל- DoS אם הוא משתמש ב- bcrypt? כניסות להגבלת קצב יכולות ליצור מצב של DoS עצמי שבו כניסות חוקיות חדשות חסומות לפני שהן בדרך כלל בגלל שהגדרת את הסף נמוך באופן מלאכותי.
@schroeder: התכוונתי לשאול אם שרת פגיע במיוחד להתקפות DoS שמנסה למקסם את המעבד * ראיתי ש- bcrypt הוא אינטנסיבי במיוחד למעבד *. אני מודאג מכיוון שהתקפות DoS המנסות למקסם את המעבד (במקום רוחב הפס) קיימות בהחלט: בסוף 2011 היה ה- hashap המפורסם של PHP / Java SNAFU שהיו כמה כתובות GET ארוכות עם פרמטרים מעוצבים יכולים להוריד את רוב ה- PHP וה- Java. שרתים. אני לא מסכים שכל שרת פגיע ל- DoS: כל שרת פגיע ל- DDoS, לא DoS פשוט. אם מישהו עם IP יכול לעשות את DoS לשרת שלך אתה בבעיה גדולה.
שְׁלוֹשָׁה תשובות:
Brendan Long
2012-09-27 22:05:29 UTC
view on stackexchange narkive permalink

bcrypt איטי, מה שמגדיל בהחלט את הסיכון להתקף DoS קל, אך ישנן מספר דרכים בהן תוכל לדרג לקוחות לפני שהם מגיעים לשלב bcrypt:

  • שמור עקוב אחר כתובות IP והתעלם ממי שמנסה להתחבר מהר מדי (אולי התחל על ידי השהייה למשך זמן מסוים לפני אימות, ואז עבוד בדרך שלך אל כתובות IP ברשימה שחורה).
  • שים ניסיונות כניסה בתוך תור עדיפות והגדר עדיפות בהתבסס על מספר ניסיונות הכניסה שנכשלו כתובת IP מסוימת כפי שנעשתה לאחרונה. פעולה זו תשאיר את השרת שלך בעומס כבד, אך משתמשים לגיטימיים אמורים להיות מסוגלים להיכנס.
  • הוסף CAPTCHA. CAPTCHA מעצבנים, אז דרוש זאת רק אם אתה מזהה התקפה בעיצומה או שאתה מקבל יותר מדי ניסיונות מכתובת IP אחת.
  • גרום למכונה של הלקוח לעשות משהו יקר כחלק מתהליך הכניסה., כמו לפצח חשיש קצר או למצוא את הגורמים העיקריים למספר קטן. היתרון בכך ששימוש ב- IP אחר לא יעזור, אך פירוש הדבר ש- JavaScript נדרש בכניסה.
  • זיהוי כאשר משתמש מנסה להתחבר ממיקום חדש ולשלוח לו דוא"ל. . אל תטרח אפילו לנסות לבדוק את הסיסמה עד לאימות כתובת ה- IP. יש בכך את החיסרון שתוקפים יכולים לעצבן (ולהפחיד) את המשתמשים שלך אם יש להם מספר גדול מספיק של כתובות IP לעבוד איתם.
נקודה 4 נקראת בדרך כלל מערכת הוכחה לעבודה (http://en.wikipedia.org/wiki/Proof-of-work_system). גם דרישה לתסריט JavaScript / צד הלקוח מהווה תועלת.
@drjimbob תודה, ניסיתי להיזכר איך קוראים לזה.
בעוד ש- PoW היא דרך מעניינת למנוע DoS, שים לב שהזמן הנדרש לפתרונה עשוי להשתנות בהתאם למשאבי המחשוב של המשתמשים.תחשוב על משתמש שמנסה להיכנס באמצעות Raspberry Pi Zero.
Jeff Ferland
2012-09-27 21:51:40 UTC
view on stackexchange narkive permalink

אם השרת לא מדרג מגביל שום דבר זה נראה אפילו ממכונה / IP אחת, לא יהיה קשה מדי להכריח את השרת לבצע הרבה חישובים.

DoS מהווה סיכון בכל שירות שהוא. ככל שזה דורש עיבוד רב יותר, הגבלת קצב חשובה יותר היא אם אנחנו מדברים על גיבוש סיסמאות או ביצוע שאילתות בסיס נתונים. זמין. ראה תשובה נוספת שלי המתייחסת לקביעת מספר סיבובי ה- bcrypt לשימוש.

Bradley Kreider
2012-09-28 05:37:07 UTC
view on stackexchange narkive permalink

מעל לראש ראשי, הייתי מאמין שנגמר לך השקעים או היציאות לפני שתשתמש בכל המעבדים במכונה מודרנית. אם לא כיוונת את המכונה שלך לערך נמוך בזמן_המתנה, היציאות היו מותשות.



שאלה ותשובה זו תורגמה אוטומטית מהשפה האנגלית.התוכן המקורי זמין ב- stackexchange, ואנו מודים לו על רישיון cc by-sa 3.0 עליו הוא מופץ.
Loading...