CTF ટોકન - અમાન્ય csrf ટોકન - google ctf

CTF ટોકન્સ, CSRF ભૂલો અને લીક થયેલા રહસ્યો

સામગ્રીનું કોષ્ટક

અવશ્ય વાંચવા જેવી પોસ્ટ્સ

રસપ્રદ નવીનતમ પોસ્ટ્સ

ડેવલપર્સે લાઇવ થતાં પહેલાં શું જાણવું જોઈએ

AppSec ભૂલો હજુ પણ ઉત્પાદન દરમિયાન થાય છે, ખાસ કરીને જ્યારે તે સ્પષ્ટ દૃષ્ટિથી છુપાયેલી હોય છે. પછી ભલે તે બચેલું CTF ટોકન હોય, અમાન્ય CSRF ટોકન હોય, અથવા ઓપન-સોર્સ પેકેજોમાં છુપાયેલા રહસ્યો હોય, જોખમો વાસ્તવિક છે. ડેવલપર્સ ઘણીવાર ધારે છે કે ડેવલપમેન્ટ વાતાવરણમાં આ સમસ્યાઓ હાનિકારક નથી, પરંતુ હુમલાખોરોને ઓછા-લટકતા ફળ ગમે છે. લાઇવ થતાં પહેલાં તમારે શું જાણવાની જરૂર છે તે અહીં છે.

શિપિંગ બંધ કરવાના રહસ્યો: શા માટે CTF ટોકન પણ સુરક્ષા જોખમ છે

જો તમે ક્યારેય કોઈ રેપોમાં Google CTF ટોકન અથવા ડમી સિક્રેટ છોડી દીધું હોય અને વિચાર્યું હોય કે "તે ફક્ત પરીક્ષણ માટે છે," તો તમે એકલા નથી. પરંતુ તે સલામત નથી. જાહેર ઉદાહરણો દર્શાવે છે કે કેવી રીતે ખુલ્લા ટોકન્સ, સુરક્ષા પડકારો હોવા છતાં, વાસ્તવિક દુનિયાના ભંગમાં ઉપયોગમાં લેવાય છે.

કોડમાં રહેલ રહસ્યો ખતરનાક છે:

  • તેઓ ઘણીવાર બિલ્ડ લોગ અથવા ડોકર ઈમેજીસમાં સમાપ્ત થાય છે.
  • તમે વિચારો છો તેના કરતાં વધુ વખત તેઓ પર્યાવરણમાં ફરીથી ઉપયોગમાં લેવાય છે.
  • રેપો વિઝિબિલિટી અથવા CI આર્ટિફેક્ટ્સ સાથે જોડી બનાવીને CTF ટોકનનો પણ ઉપયોગ કરી શકાય છે.

ઉદાહરણ તરીકે: GitHub Action એ વર્બોઝ આઉટપુટને કારણે પબ્લિક લોગમાં ટેસ્ટ ઓળખપત્રો લીક કર્યા. તે કોઈ પ્રોડક્શન સિક્રેટ નહોતું, પરંતુ તેનાથી હુમલાખોરોને બ્લુપ્રિન્ટ મળ્યું.

અમાન્ય CSRF ટોકન: એક સાયલન્ટ એપ બ્રેકર

ક્રોસ-સાઇટ રિક્વેસ્ટ ફોર્જરી (CSRF) એ એક એવો હુમલો છે જે વપરાશકર્તાના બ્રાઉઝરને વેબ એપ્લિકેશન પર અનિચ્છનીય વિનંતીઓ કરવા માટે છેતરે છે જ્યાં તેઓ પ્રમાણિત હોય છે. CSRF સુરક્ષા સામાન્ય રીતે એક ટોકન જનરેટ કરીને કાર્ય કરે છે જે કોઈપણ સ્થિતિ-બદલતી વિનંતી (જેમ કે ફોર્મ સબમિશન અથવા API કૉલ્સ) સાથે મોકલવી આવશ્યક છે. જો ટોકન ખૂટે છે અથવા અમાન્ય છે, તો વિનંતી અવરોધિત થાય છે.

આધુનિક એપ્લિકેશન્સમાં, ખાસ કરીને સિંગલ-પેજ એપ્લિકેશન્સ (SPA) અથવા API-ફર્સ્ટ બેકએન્ડ્સમાં, આ સેટઅપ શાંતિથી નિષ્ફળ થઈ શકે છે અથવા જો યોગ્ય રીતે અમલમાં ન મૂકવામાં આવે તો તે બિનઅસરકારક બની શકે છે.

આજે CSRF સુરક્ષા શું તોડે છે:

  • ખોટી રીતે ગોઠવેલ SameSite કૂકી વિશેષતાઓ.
  • ઓથ ફ્લોને ડોમેન્સ અથવા માઇક્રોસર્વિસિસ વચ્ચે વિભાજિત કરવામાં આવે છે.
  • પછી ટોકન રિન્યુઅલનો અભાવ login રાજ્ય ફેરફારો.

CSRF તોડવા માટે તમારે દૂષિત સ્ક્રિપ્ટની જરૂર નથી. ફક્ત ખરાબ સત્ર સંચાલનની જરૂર છે. એક એપ્લિકેશન તેની SameSite કૂકીને ફરીથી પ્રમાણિત કરવામાં નિષ્ફળ ગઈ login, જ્યાં સુધી વપરાશકર્તા સુરક્ષિત રૂટ પર ન પહોંચે ત્યાં સુધી ટોકન મિસમેચને કોઈના ધ્યાન બહાર જવા દે છે.

મહત્વપૂર્ણ રીતે, અમાન્ય CSRF ટોકન સંદેશનો દેખાવ ફક્ત એક નાની ફ્રન્ટએન્ડ સમસ્યા નથી; તે સત્ર પ્રવાહ અથવા ટોકન મેનેજમેન્ટમાં વાસ્તવિક નબળાઈ સૂચવી શકે છે. તે ઉત્પાદન સિસ્ટમોમાં એક વ્યાપક સમસ્યા છે, ફક્ત CTF વાતાવરણ અથવા ડેવલપમેન્ટ પરીક્ષણમાં દેખાતી વસ્તુ નથી.

ગુપ્ત માહિતી લીક્સ ઇન Pipelines: શા માટે CI/CD શું તમારી પહેલી એટેક સરફેસ છે - CTF ટોકન

તમારા સી.આઈ. pipeline બધું જ પ્રોસેસ કરે છે: કોડ, રૂપરેખાંકનો, પરીક્ષણો અને લોગ. તે જ જગ્યાએ રહસ્યો મોટાભાગે ખુલ્લા પડે છે.

સામાન્ય લીક પોઈન્ટ:

  • હાર્ડકોડેડ રહસ્યો in .env ફાઈલો.
  • વર્બોઝ ઇન્સ્ટોલ સ્ક્રિપ્ટો (દા.ત., npm સ્થાપિત કરો) ઇન્જેક્ટેડ ટોકન્સ લોગિંગ.
  • ખોટી રીતે ગોઠવેલા રનર્સ અથવા ઓળખપત્રોને ઍક્સેસ કરતી તૃતીય-પક્ષ ક્રિયાઓ.

એક ડેવલપરે એકવાર ઇન્જેક્ટ કર્યું કે CTF ટોકન ડિબગીંગ માટે. તે ત્રણ મર્જમાં બચી ગયું, લોગમાં સમાપ્ત થયું, અને સર્ચ એન્જિન દ્વારા ઇન્ડેક્સ કર્યા પછી ઓટોમેટેડ સ્કેનરો દ્વારા તેને જોવામાં આવ્યું.

ભલામણ કરેલ નિયંત્રણો:

  • માટે નિષ્ફળ નીતિઓ .env રહસ્યો commits.
  • લોગ સેનિટાઇઝેશન ડિફોલ્ટ રૂપે સક્ષમ છે.
  • ગિટલેક્સ, ટ્રફલહોગ અથવા નેટિવ ગિટહબ સિક્રેટ ડિટેક્શન જેવા રીઅલ-ટાઇમ સ્કેનર્સ.

ડિપેન્ડન્સીઝ પણ લીક થઈ શકે છે: ઓપન સોર્સ અને થર્ડ-પાર્ટી પેકેજ જોખમો

ઓપન સોર્સ પેકેજો રહસ્યોથી મુક્ત નથી. કેટલાકમાં ભૂલથી જડેલી વાસ્તવિક ચાવીઓ પણ હોય છે. તાજેતરનું એક ગુગલ સીટીએફ ચેલેન્જે આ ચોક્કસ વેક્ટરનું અનુકરણ કર્યું, જે દર્શાવે છે કે સારા હેતુવાળા પેકેજો પણ જોખમ કેવી રીતે રજૂ કરી શકે છે.

જંગલીમાં ઉદાહરણો:

  • નોડ_મોડ્યુલ્સ/ઉદાહરણ-ક્રેડ્સ.જેસન જેમાં ઉત્પાદન ફોર્મેટ સાથે મેળ ખાતા OAuth ટેસ્ટ ટોકન્સ છે.
  • .env.ડિબગ સ્થાનિક વિકાસ દરમિયાન API કી સાથે આકસ્મિક રીતે પ્રકાશિત થયેલી ફાઇલો.
  • યુનિટ ટેસ્ટ ફિક્સર, જેમાં આંતરિક વાતાવરણ માટે બનાવાયેલ JWT અથવા ક્લાઉડ ઓળખપત્રોનો સમાવેશ થાય છે.
  • સરળ ટેસ્ટ ઓર્કેસ્ટ્રેશન માટે વાસ્તવિક ટોકન્સ અથવા રહસ્યો એમ્બેડ કરતા બચેલા ટેસ્ટ હાર્નેસ.

આ દુર્લભ અપવાદો નથી; તે ઘણી વાર બને છે જેથી તેમને પ્રણાલીગત ગણવામાં આવે. જાહેર પેકેજોમાં રહસ્યો નિયમિતપણે સ્કેનિંગ ટૂલ્સ દ્વારા ચિહ્નિત કરવામાં આવે છે અને ઘણીવાર મેન્યુઅલ કોડ સમીક્ષાઓમાં ચૂકી જાય છે.

સતત સ્કેનિંગ શા માટે મહત્વનું છે:

  • તૃતીય-પક્ષ પેકેજો સૂચના વિના બદલી શકાય છે. એક નાનો વર્ઝન બમ્પ પણ સંવેદનશીલ ડેટા સાથે નવી ફાઇલ રજૂ કરી શકે છે.
  • મેન્યુઅલ નિરીક્ષણ સ્કેલેબલ નથી; ઓટોમેટેડ ટૂલ્સ એ સ્કેલ પર એમ્બેડેડ રહસ્યો પકડવાનો એકમાત્ર રસ્તો છે.
  • સ્વચાલિત નીતિઓનો ઉપયોગ કરો જે રહસ્યો માટે વારંવાર ડિપેન્ડન્સી સ્કેન કરોપણ અંદર નોડ_મોડ્યુલ્સ, પરીક્ષણ ડેટા, અથવા .env કલાકૃતિઓ.

બિલ્ડ પોલિસીઓએ જાહેર પેકેજોને આંતરિક કોડની જેમ જ ચકાસણી સાથે ગણવા જોઈએ, કારણ કે એક એમ્બેડેડ CTF ટોકન અથવા બાકી રહેલું .env ફાઇલ જ જરૂરી છે.

DevOps પ્રતિરક્ષા: સુરક્ષિત CI/CD ડિફોલ્ટ્સ ધેટ સ્કેલ

સુરક્ષિત તમારા pipeline તે ફક્ત સાધનો વિશે નથી; તે સ્વચાલિત નીતિઓ સેટ કરવા વિશે છે અને guardrails જે ઉત્પાદનમાં આવે તે પહેલાં જોખમી પેટર્ન પકડી લે છે. વાસ્તવિક દુનિયા CI/CD સ્વચ્છતા નિવારણને પ્રાથમિકતા આપતા સતત અમલીકરણ અને સ્પષ્ટ ભૂલોની જરૂર છે.

સુરક્ષિતતા માટે વિસ્તૃત પ્રથાઓ pipelines:

  • ગુપ્ત સ્કેનિંગ at commit સમય: બધા તપાસો commitઓ અને pull requests ખાસ કરીને રહસ્યો માટે .env ફાઇલો, config.js, YAML ફાઇલો, અને ટોકન પેટર્ન જે a જેવા હોય છે CTF ટોકન. ઉલ્લંઘનો શોધવામાં આવે ત્યારે બ્લોક આપમેળે મર્જ થાય છે.
  • નીતિ અમલીકરણમાં નિષ્ફળતા: બિલ્ડ નિષ્ફળ થાય ત્યાં સુધી CI જોબના અંત સુધી રાહ ન જુઓ. એવી નીતિઓ સેટ કરો જે રહસ્યો અથવા ખોટી ગોઠવણીઓ મળી આવે ત્યારે વહેલા સમાપ્ત થાય. આ સમય બચાવે છે અને ખરાબ કોડને આગળ વધતા અટકાવે છે. pipeline.
  • લોગ નિરીક્ષણ અને સંપાદન: લોગ લીક થયેલા રહસ્યોનો એક સામાન્ય સ્ત્રોત છે. સંવેદનશીલ મૂલ્યો માટે લોગ સ્ક્રબિંગ અથવા માસ્કિંગ લાગુ કરો જેમ કે અધિકૃતતા: હેડર્સ, કૂકીઝ અને API ટોકન્સ. સમાન પેટર્ન માટે ઓડિટ લોગ ગુગલ સીટીએફ ઓળખકર્તાઓ અથવા આંતરિક ટોકન્સ.
  • CSRF સુરક્ષા કવરેજ: સત્ર પ્રવાહોને માન્ય કરતા સ્વચાલિત પરીક્ષણોને એકીકૃત કરો અને ખાતરી કરો કે કૂકીઝ અને CSRF ટોકન્સ SameSite અને ક્રોસ-ઓરિજિન શરતો હેઠળ સુસંગત રીતે વર્તે છે. સિસ્ટમ જ્યાં જનરેટ કરી શકે છે અથવા સ્વીકારી શકે છે ત્યાં સમસ્યાઓને ચિહ્નિત કરો અમાન્ય CSRF ટોકન.
  • ફરજિયાત ગુપ્ત પરિભ્રમણ: જ્યારે PR મર્જ કરવામાં આવે અથવા જ્યારે લીક થાય ત્યારે સિક્રેટ્સ અને ટોકન્સ ફેરવવા આવશ્યક છે. ઉત્પાદન અથવા CI વાતાવરણમાં જૂના રહસ્યોને લંબાતા અટકાવવા માટે કી રોટેશન વર્કફ્લોને સ્વચાલિત કરો.
  • ડેવલપમેન્ટમાં રેડ-ટીમ સિમ્યુલેશન ટાળો: ડેવ અથવા CI ફ્લોમાં કોંક્રિટ એટેક કમાન્ડ્સ અથવા પેલોડ્સ દાખલ કરવાનું ટાળો, ભલે પરીક્ષણ હેતુઓ માટે હોય. જો શોધ તર્ક દર્શાવતા હોવ, તો સ્યુડોકોડનો ઉપયોગ કરો (દા.ત., // ઉદાહરણ ટોકન=ABC123) અને તેને બિન-કાર્યકારી પ્લેસહોલ્ડર તરીકે ચિહ્નિત કરો. વાસ્તવિક શોષણ વાક્યરચનાનો દુરુપયોગ, પરીક્ષણોમાં પણ, જાહેર લોગમાં અથવા ઓડિટ દરમિયાન વિપરીત અસર કરી શકે છે.

વાસ્તવિક પરિસ્થિતિઓમાં સ્વચ્છતા લાગુ કરવા પર સુરક્ષા જાગૃતિ કેન્દ્રિત હોવી જોઈએ: commit-સમય સ્કેનિંગ, ગુપ્ત અવરોધ અને સત્ર માન્યતા, કૃત્રિમ હુમલાના સિમ્યુલેશન નહીં. ધ્યેય એ છે કે સુરક્ષાને તમારી ટીમ કેવી રીતે બનાવે છે તેનો ભાગ બનાવવો, કોડ સમીક્ષા પછીનું પગલું નહીં. ટોકન સ્કેનિંગથી લઈને CSRF માન્યતા સુધીની દરેક વસ્તુ સમાન હોવી જોઈએ pipelineજે તમારા કોડનું નિર્માણ અને પરીક્ષણ કરે છે.

સ્કેલ પર જોખમો શોધવા: Xygeni DevSecOps ને લાગુ કરવામાં કેવી રીતે મદદ કરે છે

સુરક્ષિત DevSecOps ના ભાગ રૂપે pipeline, ઝીગેની એક અમલીકરણ સ્તર તરીકે કાર્ય કરે છે જે સમગ્રમાં આવશ્યક સુરક્ષા તપાસને સ્વચાલિત કરે છે CI/CD જીવનચક્ર. તેની ભૂમિકા સારી પ્રથાઓને બદલવાની નથી, પરંતુ વિવિધ વાતાવરણમાં, પાયા પર, તેનો સતત ઉપયોગ થાય છે તેની ખાતરી કરવાની છે.

ઝાયજેની સમગ્ર કી નિયંત્રણોને સ્વચાલિત કરે છે pipeline, જેમ કે:

  • સ્કેનિંગ pull requests અને બનાવે છે ખુલ્લા રહસ્યો માટે, જેમાં ટોકન્સ જેવા દેખાતા રહસ્યોનો સમાવેશ થાય છે CTF ટોકન અથવા પરીક્ષણ કલાકૃતિઓમાં છુપાયેલા ઓળખપત્રો.
  • ડિપ્લોયમેન્ટ્સને અવરોધિત કરી રહ્યા છીએ if .env ફાઇલો અથવા જાણીતા સંવેદનશીલ પેટર્ન જોવા મળે છે commits, બિલ્ડ્સ, અથવા ડિપેન્ડન્સી.
  • ફરજિયાત ગુપ્ત પરિભ્રમણ લાગુ કરવું મર્જ કરતી વખતે જ્યારે કોઈ ગુપ્ત માહિતી મળી આવે છે, ત્યારે ખાતરી કરો કે જૂના અથવા ચેડા થયેલા ટોકન્સ લાંબા સમય સુધી બાકી ન રહે.
  • CSRF ખોટી ગોઠવણીઓ ઓળખવી, જેમાં એવા દાખલાઓનો સમાવેશ થાય છે જેના પરિણામે અમાન્ય CSRF ટોકન ભૂલ, સત્ર ખોટી ગોઠવણીને ચિહ્નિત કરવી, અથવા SameSite સમસ્યાઓ.
  • CI-નેટિવ ઇન્ટિગ્રેશન પ્લેટફોર્મ્સ પર (GitHub, GitLab, Jenkins, Bitbucket), સુરક્ષા નીતિઓને વિકાસકર્તાઓને ધીમું કર્યા વિના હાલના વર્કફ્લોમાં ચલાવવાની મંજૂરી આપે છે.

આ નિયંત્રણો ફક્ત રાખવા માટે જ સારા નથી; તેઓ મેન્યુઅલ સમીક્ષાઓ અને ઉત્પાદન સલામતી વચ્ચેના અંતરને ભરે છે. સુરક્ષા નિયમોને સીધા CI p માં એમ્બેડ કરીનેઆઈપલાઈન, ટીમો તેમના સાધનો કે આદતો બદલ્યા વિના બ્લાઈન્ડ સ્પોટ્સ ઘટાડે છે.

અંતિમ ચેકલિસ્ટ: તમે લાઇવ જાઓ તે પહેલાં

પ્રી-લોન્ચ સુરક્ષા તપાસ શું માન્ય કરવું
કોઈ હાર્ડકોડેડ રહસ્યો કે બાકી રહેલા CTF ટોકન નથી ખાતરી કરો કે બધા કોડ અને ઇતિહાસ કોઈપણ ટેસ્ટ ટોકન્સ, CTF ટોકન્સ અથવા ઓળખપત્રોથી મુક્ત છે.
CSRF સુરક્ષા સંપૂર્ણપણે માન્ય છે ટેસ્ટ loginઅમાન્ય CSRF ટોકન ભૂલો અથવા SameSite સમસ્યાઓ જેવી સમસ્યાઓ માટે /session ફ્લો.
CI/CD pipeline સેનિટાઇઝ્ડ .env ફાઇલને બ્લોક કરો commits, લોગ સ્કેન કરો અને બિલ્ડ સ્ટેપ્સમાં ગુપ્ત એક્સપોઝરને અટકાવો.
બધી ડિપેન્ડન્સી સ્કેન કરી એમ્બેડેડ સિક્રેટ્સ અથવા ટેસ્ટ ડેટા માટે તૃતીય-પક્ષ પેકેજો અને નોડ_મોડ્યુલ્સનું નિરીક્ષણ કરો.
જમાવટ પછીનું નિરીક્ષણ સક્રિય છે ટોકન દુરુપયોગ, ખાસ કરીને બદમાશ ઓથોરાઇઝેશન હેડર્સ અથવા ટોકન પુનઃઉપયોગ માટે દેખરેખ રાખો.
CI નીતિઓ દ્વારા અમલીકરણ (Google CTF સ્વચ્છતા) જો રહસ્યો મળી આવે તો PR ને અવરોધિત કરવા અને પરિભ્રમણ માટે દબાણ કરવા માટે સ્વચાલિત નિયમો લાગુ કરો.

વાસ્તવિક એપસેક જોખમ ફક્ત શોષણ વિશે નથી. તે રોજિંદા ભૂલો વિશે છે જેને આપણે પકડવાનું બંધ કરી દઈએ છીએ. જ્યાંથી મહત્વનું હોય ત્યાંથી શરૂઆત કરો: તમારો કોડ અને તમારો pipeline.

સ્કા-ટૂલ્સ-સોફ્ટવેર-રચના-વિશ્લેષણ-ટૂલ્સ
તમારા સોફ્ટવેર જોખમોને પ્રાથમિકતા આપો, સુધારણા કરો અને સુરક્ષિત કરો
તમારું મફત ખાતું મેળવો.
કોઈ ક્રેડિટ કાર્ડ જરૂરી નથી.

તમારા સોફ્ટવેર ડેવલપમેન્ટ અને ડિલિવરી સુરક્ષિત કરો

ઝાયજેની પ્રોડક્ટ સ્યુટ સાથે