צעבראָכענע אויטענטיפיקאַציע - סעסיע פאַרוואַלטונג - OAuth זיכערהייט - אויטענטיפיקאַציע וואַלנעראַביליטיז

דער צעבראָכענער אויטענטיקאַציע נייטמער: פארוואס פּשוט Loginקען מען געהאַקטן

ווי צעבראכענע אויטענטיפֿיקאַציע פּאַסירט אין עכטע אַפּפּס

צעבראָכענע אויטענטיפיקאַציע איז נישט נאָר אַ טעאָרעטיש פּראָבלעם; עס איז קאָד-לעוועל פאַרלאָזיקייט וואָס פירט צו פאַקטישע בריטשעס. דעוועלאָפּערס אָפט איבערשפּרינגען מולטי-פאַקטאָר אויטענטיפיקאַציע (MFA), נוצן ווידער טאָקענס איבער סעסיעס, אָדער ימפּלעמענטירן login פארמען אָן קיין באַגרענעצונג אָדער ראַטע לימיטאַציע. די גאַפּס ווערן הויפּט צילן פֿאַר ברוט-פאָרס און קרעדענשאַל סטאַפינג אַטאַקעס, וואָס אַנטפּלעקן ערנסטע אָטענטיפיקאַציע וואַלנעראַביליטיז. באַטראַכטן אַ login א פלוס וואס טשעקט נאר פאר א גילטיגן באניצער נאמען און פאסווארט. אויב MFA ווערט נישט דורכגעפירט, און עס איז נישטא קיין ראטע באגרענעצונג, קענען אנפאלער ניצן קרעדענשעל דאַמפּס צו באקומען אומאויטאריזירטן צוטריט. נאך ערגער: דעוועלאפערס וואס האלטן סעסיע טאוקענס נישט זיכער אדער דרייען זיי נישט נאכדעם login לאָזן אַטאַקערס ווידער שפּילן דעם זעלבן טאָמען אָן אַ שיעור.

פּראַקטיש בייַשפּיל:

				
					// Bad practice: static session token, no expiration
res.cookie('session_token', user.token); 

				
			

⚠️ בילדונגס-ביישפּיל, נישט נוצן אין פּראָדוקציע

אָן טאָקען עקספּיראַציע אָדער פאַרנעם באַגרענעצונג, איז דאָס אַן אָפֿענע טיר פֿאַר כיידזשעקינג אויב עס ווערט אינטערסעפּטירט. שלעכטע סעסיע פאַרוואַלטונג ווי דאָס פירט גלייך צו צעבראָכענער אויטענטיפֿיקאַציע.

צעבראָכענע אויטענטיפיקאַציע = פולשטענדיק סיסטעם קאָמפּראָמיס. אַמאָל אַן אַטאַקער לאָגט זיך איין, באַהאַנדלט די אַפּ זיי ווי אַ גילטיקן באַניצער, אָן קיין פֿראַגעס.

סעסיע פאַרוואַלטונג דורכפאַלן וואָס פירן צו חשבון כיידזשאַקינג

סעסיע פאַרוואַלטונג פּראָבלעמען זענען אָפט ווו צעבראָכענע אָטענטאַקיישאַן ווערט טויטלעך. געוויינטלעכע חסרונות אַרייַננעמען:

  • שטענדיקע סעסיעס אָן קיין עקספּיראַציע
  • קיין טאָקען ראָטאַציע נאָך login/אויסלאָגירן
  • פאָרויסזאָגבארע סעסיע אידענטיפֿיקאַציעס

בייַשפּיל:

				
					// Predictable session ID pattern
token = "user-" + userId + "-token"; 
res.cookie('session_token', user.token); 

				
			

⚠️ בילדונגס-ביישפּיל, נישט נוצן אין פּראָדוקציע

דאס מוסטער מאכט עס גרינג פאר אנפאלער צו טרעפן סעסיע טאוקענס און כיידזשעק סעסיעס. שוואכע סעסיע מענעדזשמענט ברענגט אריין קריטישע אויטענטיפיקאציע שוואכקייטן.

נאך א קלאסישע טעות: פארגעסן צו שטעלן די הטטפּ בלויז or זיכער א פאן אויף קוקיז. דאס מיינט אז קליענט-זייט סקריפטן (למשל, דורך XSS) קענען צוקומען צו סעסיע טאוקענס, אדער טאוקענס קענען ווערן טראנסמיטירט איבער HTTP.

				
					// Missing security flags
res.cookie('session_token', token); // No HttpOnly, no Secure

				
			

מיט דעם, אפילו א נידעריגע מדרגה XSS וואַלנעראַביליטי ווערט אַן אַקאַונט כיידזשעקינג וועקטאָר. פֿון דאָרטן, איז פּריווילעגיע עסקאַלאַציע נאָר אַ ענין פֿון אויסנוצן אינערלעכע ראָלעס. בעסערע סעסיע פאַרוואַלטונג פּראַקטיקעס וואָלטן דאָס געקענט בלאָקירן.

פאַלש קאָנפיגורירטע OAuth זיכערהייט און צוטרוי מיסברויך

OAuth איז א שטארק געצייג, אבער עס איז אויך א מינענפעלד פאר אויטענטיפיקאציע שוואכקייטן. רוב דעוועלאפערס קאפירן-פייסטן OAuth אינטעגראציעס אן וועריפיצירן ווי אזוי טאוקען וואלידאציע אדער רידערעקט URIs ווערן געראטן.

עכטע פראבלעמען:

  • נישט זיכערע אדער וויילדקאַרד רידערעקט URIs (רידירעקט_ורי=*)
  • פעלנדיק זענען פּאַראַמעטער (CSRF וועקטאָר)
  • אָננעמען טאָקענס אָן קאָנטראָלירן אַוד (פּובליקום) אדער עקספּ (עקספּיריישאַן)

בייַשפּיל:

				
					// OAuth token without aud or exp validation
jwt.verify(token, secret); // no options passed 
jwt.verify(token, secret);  //

				
			

⚠️ נישט זיכער ביישפּיל, נישט נוצן אָן וואַלידאַציעס

דאָס ערלויבט געפעלשטע אָדער ווידערגעשפּילטע טאָקענס צו ווערן אנגענומען איבער סערוויסעס. אַטאַקירער קענען זיך אויסגעבן ווי באַנוצער אָדער נאַרן אייער באַקענד צו אָננעמען נישט-אָטערייזד אַקסעס. דאָס זענען ערנסטע אָטענטיפיקאַציע וואַלנעראַביליטיז וואָס זענען איינגעוואָרצלט אין שלעכטע OAuth זיכערהייט דע.cisייאַנז.

OAuth זיכערהייט איז נישט אפציאנאל. צעבראכענע OAuth מיינט צעבראכענע צוטרוי גרענעצן, און דאס מיינט צעבראכענע אויטענטיפיקאציע און אידענטיטעט קאמפראמיס.

CI/CD ריזיקעס: צעבראכענע אויטענטיפֿיקאַציע אין Pipelines און APIs

אויטענטיקאציע שוואכקייטן האלטן זיך נישט אפ ביים פראנט-ענד. פילע דעווסעקאָפּס pipelines ניצט אינערלעכע APIs און סערוויס אקאונטס מיט מינימאלע אויטאריזאציע טשעקס. הארד-קאודירטע קרעדענשעלס, שוואכע API שליסלען, אדער טאוקענס ווידער-געניצט איבער שטאפלען זענען אלע עכטע אטאקע אויבערפלאכן געפֿארזאַכט דורך צעבראכענע אויטאריזאציע.

בייַשפּיל:

				
					# CI/CD config with embedded credentials
steps:
- name: deploy
run: curl -X POST https://internal-api/deploy \ 
Authorization: Bearer hardcoded-token  #

				
			

⚠️ נישט זיכער ביישפּיל, נישט נוצן אין פּראָדוקציע

אויב דאָס טאָקען לעקט (למשל, דורך CI לאָגס אָדער אַ Git commit), קען יעדערער אויסלעזן דיפּלוימאַנץ אדער צוקומען צו אינערלעכע רעסורסן. אויך, פילע APIs איבערשפּרינגען סעסיע עקספּיראַציע אָדער ראָטירן נישט סערוויס טאָקענס, מאַכנדיג אַטאַקעס לאַנג-דויערנדיק און שווער צו דעטעקטירן. שלעכטע סעסיע פאַרוואַלטונג אין CI/CD גלייך צו פֿאַרהויכטע אויטענטיפיקאַציע וואַלנעראַביליטיז.

צעבראָכענע אויטענטיפֿיקאַציע אין CI/CD = פולע קאנטראל פון אינפראַסטרוקטור.

זיכערן אויטענטיפיקאציע לאגיק איבערן סטאק

זיכער מאַכן אָטענטאַקיישאַן ריקווייערז דעוועלאָפּער-ערשט היגיענע אַריבער יעדער שיכט:

  • דורכפירן MFA דורך דיפאָלט, אפילו פֿאַר אינערלעכע מכשירים
  • ניצט שטאַרקע, ראָטירנדיקע סעסיע טאָקענס
  • שטעלן הטטפּ בלויז, זיכער, און זעלביקער פּלאַץ=סטריקט אויף אַלע אויטאָריזאַציע קיכלעך
  • עקספּליציט וואַלידירן OAuth טאָקענס (אַוד, עקספּ, יסס)
  • אָפּוואַרפן ווילדקאַרד רידערעקט URIs
  • לאג און מאָניטאָר אַלץ login פלאָוז
  • אויטאמאטיזירן טעסטן פאר סעסיע פארוואלטונג און אויטאריזאציע חסרונות בעת CI

פּראַקטיש CI/CD pipeline טרעפּל:

				
					# Example: Test auth flows before deploy
steps:
- name: run auth tests
run: npm run test:auth
npm run test:auth is a demonstrative example.

				
			

צעבראָכענע אויטענטיפיקאַציע הייבט זיך אָן מיט שוואַכע הנחות אין קאָד און קאָנפיגוראַציע. שטאַרקע סעסיע פאַרוואַלטונג, שטרענגע OAuth זיכערהייט טשעקס, און פֿאַרהאַרטונג קעגן אויטענטיפיקאַציע וואַלנעראַביליטיז ביי יעדן שריט זענען וואָס האַלטן אַטאַקירער פון אַרייַנגיין אין דיין סיסטעם.

מכשירים ווי קסיגעני העלפֿן וואַלידירן אידענטיטעט לאָגיק, אָנצייכענען צעבראָכענע אויטענטיפֿיקאַציע, דורכפֿירן סעסיע פֿאַרהאַרטונג, און זיכערן DevSecOps pipelineס איידער אַטאַקערז דערגרייכן פּראָדוקציע.

צעבראָכענע אויטענטיפֿיקאַציע = פולשטענדיק סיסטעם קאָמפּראָמיס

צעבראָכענע אויטענטיפֿיקאַציע איז נישט קיין קליינער באַג. דאָס איז דער טויער צו אַ פולשטענדיקער סיסטעם קאָמפּראָמיס. איין שוואַכער login אן ענדפונקט, איין שוואכער סעסיע קוקי, אדער איין שלעכט קאנפיגורירטער OAuth רידערעקט קען איבערגעבן אייער גאנצע פלאטפארמע צו אן אטאקער.

געדענק:

  • ניין הטטפּ בלויז or זיכער פאָן? ריזיקע פון ​​סעסיע גנייווע.
  • OAuth טאָקען אָן אַוד or עקספּ טשעקס? ריזיקע פון ​​ווידער-ניצן טאָוקענס.
  • האַרטקאָדירטע טאָקענס אין pipelines? CI/CD נעם איבער.

מיני-פאַל: חשבון כיידזשעקינג

א דעוועלאָפּער מאַנשאַפֿט האָט גענוצט אַ סטאַטישע סעסיע ID פֿאַר אַדמין loginס אין א טעסט סביבה. אן אטאקירער האט געסקענט פאר סעסיע מוסטערן און זיך איינגעלאגט אלס אדמין, צוגענגליך צו קאסטומער דאטן, אנהייבנדיג טעסט דיפלויעמענטס, און עווענטועל אריבערגעגאנגען צו פראד.

דאָס איז נישט געווען אַוואַנסירטע העקינג. עס איז געווען צעבראָכענע אויטענטיפיקאַציע, שוואַכע סעסיע פאַרוואַלטונג, און שלעכטע OAuth זיכערהייט, אַלץ וואָס האָט געפֿירט צו אויטענטיפיקאַציע וואַלנעראַביליטיז וואָס זענען געווען פאַרמיידלעך.

זיכערט אייער אויטאָריזאַציע סטאַק ווי אייער אַפּ איז אָפענגיק דערפון, ווייל עס טוט דאָס. וואַרט נישט ביז עס איז צו שפּעט. לאָזט Xygeni העלפֿן דורכפירן די בעסטע פּראַקטיקעס פון אויטאָריזאַציע און באַשיצן אייער pipelineס פון רעאל-וועלט אויטענטיפֿיקאַציע וואַלנעראַביליטיז.

סקאַ-טולס-סאָפֿטווער-קאָמפּאָזיציע-אַנאַליז-טולס
פּריאָריטיזירן, פאַרריכטן און זיכערן אייערע ווייכווארג ריזיקעס
באַקומען דיין פריי חשבון.
קיין קרעדיט קאַרטל פארלאנגט.

זיכער מאַכן אייער ווייכווארג אַנטוויקלונג און עקספּרעס

מיט Xygeni פּראָדוקט סוויט