API સુરક્ષા

API સુરક્ષા એક રનટાઇમ સમસ્યા રહી છે. તે હોવી જરૂરી નથી.

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

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

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

દરેક pull request જે એન્ડપોઇન્ટ ઉમેરે છે અથવા બદલાય છે તે તમારા API હુમલાની સપાટીને બદલે છે. મોટાભાગના API સુરક્ષા સાધનો જ્યાં સુધી તે એન્ડપોઇન્ટ લાઇવ ન થાય અને ટ્રાફિક લઈ રહ્યો ન હોય ત્યાં સુધી ધ્યાન આપતા નથી. ત્યાં સુધીમાં, ફિક્સ હવે કોડ સમીક્ષામાં એક-લાઇન ફેરફાર નથી, તે ઘટના પ્રતિભાવ વાતચીત છે.

API સુરક્ષા એ એપ્લિકેશન તેના અંતિમ બિંદુઓને કેવી રીતે ઉજાગર કરે છે તેના જોખમોને શોધવા અને બંધ કરવાની પ્રથા છે: તેમને કોણ કૉલ કરી શકે છે, તેઓ કયો ડેટા પરત કરે છે, અને શું તેઓ દસ્તાવેજોમાં જે કહેવામાં આવ્યું છે તે કરે છે.

આ સમસ્યા માટે બનાવેલ મોટાભાગનું ટૂલિંગ રનટાઇમ પર API નું પરીક્ષણ બહારથી કરે છે, જે રીતે હુમલાખોર કરે છે. તે અભિગમ કામ કરે છે, પરંતુ તે API ને જમાવ્યા પછી જ કામ કરે છે. ઝીગેની પહેલાનો રસ્તો અપનાવે છે: એક પણ વિનંતી અંતિમ બિંદુ સુધી પહોંચે તે પહેલાં તે તમારા સ્રોત કોડ અને તમારા API સ્પષ્ટીકરણને વાંચે છે.

API નું પરીક્ષણ કરવાની ચાર રીતો, અને દરેક શું જવાબ આપે છે

મોટાભાગના પરિપક્વ કાર્યક્રમો આમાંથી એક કરતાં વધુ ચલાવે છે:

  • સ્થિર પરીક્ષણ ડિપ્લોયમેન્ટ પહેલાં સોર્સ કોડ અને API સ્પષ્ટીકરણોનું વિશ્લેષણ કરે છે. તે જવાબ આપે છે કે "આપણે હમણાં શું ખુલ્લું પાડ્યું?" આ લેખ આ અભિગમ પર ધ્યાન કેન્દ્રિત કરે છે.
  • ગતિશીલ પરીક્ષણ (DAST) ચાલી રહેલા API પર વાસ્તવિક ટ્રાફિક મોકલે છે અને તે કેવી રીતે પ્રતિક્રિયા આપે છે તેનું અવલોકન કરે છે. તે જવાબ આપે છે કે "હાલમાં ખરેખર શું પહોંચી શકાય તેવું અને શોષણ કરી શકાય તેવું છે?" 
  • ફઝિંગ સપાટી ક્રેશ અને એજ-કેસ નિષ્ફળતા માટે એન્ડપોઇન્ટ્સ પર ખોટા અથવા અણધાર્યા ઇનપુટ ફેંકે છે. તે જવાબ આપે છે કે "ઇનપુટ હેઠળ કયા વિરામો છે જેની આપણે અપેક્ષા રાખી ન હતી?"
  • મેન્યુઅલ પેનિટ્રેશન ટેસ્ટિંગ ઓટોમેટેડ ટૂલ્સમાં ખોવાયેલી તર્ક ખામીઓ શોધવા માટે માનવીય નિર્ણયશક્તિ ઉમેરે છે. તે જવાબ આપે છે કે "એક સ્માર્ટ હુમલાખોર શું સાંકળ બનાવશે?"

આમાંથી કોઈ પણ બીજા પ્રશ્નોનું સ્થાન લેતું નથી. તેઓ જીવનચક્રના વિવિધ બિંદુઓ પર જુદા જુદા પ્રશ્નોના જવાબ આપે છે, અને મોટાભાગના કાર્યક્રમોમાં જે અંતર હોય છે તે પહેલો પ્રશ્ન છે.

મોટાભાગના API સુરક્ષા સાધનો જોખમને ખૂબ મોડું કેમ જુએ છે

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

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

સ્ટેટિક API સુરક્ષા પરીક્ષણ ચેકને એન્ડપોઇન્ટ વ્યાખ્યાયિત કરેલા સ્થાન પર ખસેડીને બંને અંતરને પૂર્ણ કરે છે: ડિપ્લોયમેન્ટ પહેલાં તમારો કોડ અને તમારું API સ્પષ્ટીકરણ. સમાન. pull request જે અંતિમ બિંદુનો પરિચય કરાવે છે તે છે pull request જે તેના જોખમને સપાટી પર લાવે છે.

સ્ટેટિક API સુરક્ષાનો ખરેખર અર્થ શું છે?

Xygeni તમારી API ઇન્વેન્ટરી બે સ્ત્રોતોમાંથી બનાવે છે: તમારી એપ્લિકેશનનો સોર્સ કોડ અને તમારા API સ્પષ્ટીકરણો, જેમાં OpenAPI અને Swaggerનો સમાવેશ થાય છે.

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

તે ઇન્વેન્ટરી એ પાયો છે જેના પર બાકીની બધી વસ્તુઓ નિર્માણ પામે છે:

  • કુલ શોધાયેલ API, અને જોખમમાં રહેલી સંપત્તિઓ બેઝલાઇન સામે માપવામાં આવી
  • HTTP પદ્ધતિ દ્વારા વિભાજિત અંતિમ બિંદુઓ
  • સેવા દ્વારા જૂથબદ્ધ મુદ્દાઓ
  • દરેક અંતિમ બિંદુ તેની પદ્ધતિ, પાથ, સેવા, મોડ્યુલ, પ્રમાણીકરણ સ્થિતિ અને જોખમ સ્કોર સાથે

તમારા એન્જિનિયરિંગ લીડ્સ એક પણ ટિકિટ ખોલ્યા વિના તમારી API સપાટીનો આકાર જુએ છે.

Xygeni દ્વારા શોધાયેલ દરેક એન્ડપોઇન્ટ, તેની પદ્ધતિ, પ્રમાણીકરણ સ્થિતિ અને જોખમ સ્કોર સાથે, કોડ અને સ્પષ્ટીકરણને એકસાથે બનાવીને બનાવવામાં આવ્યું છે.

Production note કોઈપણ API સુરક્ષા સ્ક્રીનશોટમાંથી AI ટ્રાયજ પેનલ કાપો.

OWASP API સુરક્ષા ટોચના 10 માં મેપ કરેલ

તારણો તમારી સુરક્ષા ટીમો અને તમારા ઓડિટર્સ પહેલાથી જ ઉપયોગમાં લઈ રહ્યા છે તે માળખાને દર્શાવે છે. Xygeni OWASP API સુરક્ષામાં જોખમ શોધે છે. ટોચના ૧૦ (૨૦૨૩):

ઓડબ્લ્યુએસપી જોખમ વ્યવહારમાં તેનો અર્થ શું છે
API1 તૂટેલી ઑબ્જેક્ટ લેવલ અધિકૃતતા એન્ડપોઇન્ટ બીજા વપરાશકર્તા અથવા ભાડૂતનો ડેટા પરત કરે છે અથવા તેમાં ફેરફાર કરે છે.
API2 અપ્રમાણિત એન્ડપોઇન્ટ્સ કોઈ પણ પ્રમાણીકરણ વિના રૂટ પર પહોંચી શકાય છે
API3 અતિશય ડેટા એક્સપોઝર એક પ્રતિભાવ કોલરને જોઈતી અથવા જોવી જોઈએ તેના કરતાં વધુ ફીલ્ડ આપે છે.
API3 માસ સોંપણી એન્ડપોઇન્ટ તે ક્ષેત્રોને સ્વીકારે છે અને લાગુ કરે છે જે તેને ક્યારેય સ્વીકારવા માટે ન હતા
API3 / API10 પ્રતિભાવોમાં સંવેદનશીલ ડેટા PII, PCI અથવા PHI એવા અંતિમ બિંદુથી ક્લાયન્ટ સુધી પહોંચે છે જ્યાંથી તેને મોકલવો જોઈએ નહીં.
API4 દર મર્યાદા ખૂટે છે એન્ડપોઇન્ટને દુરુપયોગ અથવા ક્રૂર બળના કોલ્સ સામે કોઈ રક્ષણ નથી.
API5 તૂટેલા ફંક્શન લેવલ અધિકૃતતા કોલરને મંજૂરી છે કે નહીં તે તપાસ્યા વિના એન્ડપોઇન્ટ એક વિશેષાધિકૃત ક્રિયા કરે છે
API7 SSRF હુમલાખોર વતી વિનંતીઓ કરવા માટે API ને છેતરવામાં આવી શકે છે
API8 JWT ખોટી ગોઠવણી ટોકન માન્યતા, સહી અથવા સમાપ્તિ ખોટી રીતે સેટ કરેલ છે
API8 CORS ખોટી ગોઠવણી ક્રોસ-ઓરિજિન નિયમો શોષણ કરવા માટે પૂરતા છૂટછાટ આપે છે
API9 ઝોમ્બી અને અનાથ અંતિમ બિંદુઓ નાપસંદ થયેલા અથવા ભૂલી ગયેલા રૂટ જે હજુ પણ પહોંચી શકાય છે, અને કોઈની માલિકીના રૂટ નથી

એક શ્રેણી ઇરાદાપૂર્વક ગેરહાજર છે. API6, સંવેદનશીલ વ્યવસાય પ્રવાહોની અપ્રતિબંધિત ઍક્સેસ, માટે વ્યવસાય પ્રક્રિયા શું મંજૂરી આપે છે તે સમજવાની જરૂર છે, અને કોઈ પણ સ્થિર વિશ્લેષક તેને વિશ્વસનીય રીતે શોધી શકતું નથી. અન્યથા દાવો કરતો કોઈપણ વિક્રેતા તમને ચેકબોક્સ વેચી રહ્યો છે. તે તમારા થ્રેટ મોડેલિંગ અને તમારા પેનિટ્રેશન ટેસ્ટર્સ સાથે રહે છે.

દરેક શોધ સમાન હોતી નથી: ડેટા સંવેદનશીલતા અને ઝેરી સંયોજનો

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

Xygeni દરેક એન્ડપોઇન્ટ દ્વારા હેન્ડલ કરવામાં આવતા ડેટાનું વર્ગીકરણ કરે છે, વિનંતી પરિમાણો અને પ્રતિભાવોમાં PII, PCI અને PHI ને ચિહ્નિત કરે છે, અને તેને એન્ડપોઇન્ટની પ્રમાણીકરણ સ્થિતિ સાથે જોડે છે.

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

ઝોમ્બી અને અનાથ અંતિમ બિંદુઓ: કોડ અને સ્પેક વચ્ચેનો પ્રવાહ

કારણ કે Xygeni તમારા કોડ અને તમારા API સ્પષ્ટીકરણને બાજુ-બાજુ વાંચે છે, તે જુએ છે કે તેઓ ક્યાં અસંમત છે. તે ડ્રિફ્ટ ત્રણ ઓળખી શકાય તેવા પેટર્ન તરીકે દેખાય છે:

  • બિનદસ્તાવેજીકૃત અંતિમ બિંદુઓ. તેઓ કોડમાં રહે છે અને ક્યારેય સ્પેકમાં ઉમેરવામાં આવ્યા નથી.
  • ઝોમ્બી એન્ડપોઇન્ટ્સ. તેમને નાપસંદ અથવા નિવૃત્ત તરીકે ચિહ્નિત કરવામાં આવ્યા છે, અને તેઓ હજુ પણ પહોંચી શકાય છે.
  • અનાથ અંતિમ બિંદુઓ. વર્તમાન ટીમમાં કોઈ પણ તેમના માલિક નથી.

આમાંથી કોઈ પણ સ્પેક-ઓન્લી ઇન્વેન્ટરીમાં દેખાતું નથી, કારણ કે સ્પેક જ તે વસ્તુ છે જે તેમને ખૂટે છે.

પુરાવા જેના પર તમે કાર્યવાહી કરી શકો છો, તપાસ માટે ટિકિટ નહીં

દરેક શોધ જવાબદાર ચોક્કસ હેન્ડલર તરફ નિર્દેશ કરે છે: ફાઇલ, વર્ગ, પદ્ધતિ અને ખામી રજૂ કરનાર ચોક્કસ લાઇન, તેની સાથે વાંધાજનક કોડ રેન્ડર કરવામાં આવ્યો છે. દરેકમાં તેની ગંભીરતા, તેની OWASP API સુરક્ષા ટોચની 10 શ્રેણી, તેની CWE, અંતિમ બિંદુની પ્રમાણીકરણ સ્થિતિ અને સામેલ ડેટાની સંવેદનશીલતા વર્ગીકરણ પણ હોય છે.

એક શોધ જે ફક્ત એન્ડપોઇન્ટનું નામ આપે છે, તે ડેવલપરને કંઈપણ સુધારવાનું શરૂ કરે તે પહેલાં કોડબેઝમાં શોધખોળ કરવા મોકલે છે. એક શોધ જે લાઇનનું નામ આપે છે તે તેમને તરત જ સુધારવા પર મૂકે છે.

તારણો JSON, CSV, Markdown અને SARIF 2.1.0 તરીકે નિકાસ થાય છે, જેથી તેઓ t માં ઉતરે છેઅરે, તમારી ટીમો પહેલાથી જ કામ કરી રહી છે. 

હેન્ડલર, લાઇન અને કોડ જેણે એક્સપોઝર રજૂ કર્યું. તપાસ કરવા માટે ટિકિટ નથી.

આ એક પ્લેટફોર્મ પર કેમ રહે છે, બીજા કન્સોલમાં નહીં

Xygeni API સુરક્ષા સાથે ચલાવે છે SAST, SCA, રહસ્યો સુરક્ષા, IaC અને DAST એક જ પ્લેટફોર્મની અંદર, દ્વારા સહસંબંધિત ASPM, તેને તેના પોતાના સાધન સાથે એક અલગ સાધન તરીકે મોકલવાને બદલે login અને તેનો પોતાનો બેકલોગ.

તે મહત્વનું છે કારણ કે સ્ટેટિક તારણો અને રનટાઇમ તારણો એક જ એન્ડપોઇન્ટ વિશેના જુદા જુદા પ્રશ્નોના જવાબ આપે છે, અને તે અલગ કરતાં એકસાથે વધુ ઉપયોગી છે. સ્ટેટિક તમને કહે છે કે એન્ડપોઇન્ટ મોકલતા પહેલા તે જોખમી છે. DAST પુષ્ટિ કરે છે કે એકવાર તે ચાલી રહ્યું હોય ત્યારે ખરેખર શું પહોંચી શકાય છે અને શું વાપરી શકાય છે.

તેને બે કન્સોલ પર વિભાજીત કરો અને સહસંબંધિત જોખમ બે અસંબંધિત બેકલોગ બને છે. કોઈ તેમને સમાધાન કરતું નથી, અને અંતિમ બિંદુ જે બિનદસ્તાવેજીકૃત અને બિનપ્રમાણિત છે તે બંને કતારમાં બેસતું નથી.

તમારી વાસ્તવિક API હુમલો સપાટી જુઓ. API સુરક્ષા એક તરીકે ઉપલબ્ધ છે Enterprise Xygeni પ્લેટફોર્મ પર એડ-ઓન, અને તમારા પોતાના ઇન્ફ્રાસ્ટ્રક્ચરમાં તમારા પોતાના રિપોઝીટરીઝ સામે સ્કેન ચાલે છે.

FAQ

શું તે કહી શકે છે કે કયા એન્ડપોઇન્ટ્સ સંવેદનશીલ ડેટાને હેન્ડલ કરે છે?

હા. Xygeni એન્ડપોઇન્ટ પરિમાણો અને પ્રતિભાવોમાં PII, PCI અને PHI ને ફ્લેગ કરે છે, અને વાસ્તવિક એક્સપોઝર દ્વારા તારણોને ક્રમ આપવા માટે તે વર્ગીકરણનો ઉપયોગ કરે છે.

શું તે દરેક પર ચાલી શકે છે? pull request?

હા. ઇન્ક્રીમેન્ટલ સ્કેનિંગ ફક્ત બદલાયેલા એન્ડપોઇન્ટ્સનું વિશ્લેષણ કરે છે, અને તે જે મેનિફેસ્ટ ઉત્પન્ન કરે છે તે તે જ એન્ડપોઇન્ટ્સ પર અનુગામી DAST સ્કેનને ફોકસ કરી શકે છે, જેથી સ્ટેટિક અને રનટાઇમ પરીક્ષણ ખરેખર જે ખસેડ્યું છે તેના પર ગોઠવાયેલ રહે.

શું મારો કોડ મારા પર્યાવરણને છોડી દે છે?

ના. સ્કેન તમારા પોતાના ઇન્ફ્રાસ્ટ્રક્ચરમાં ચાલે છે. ફક્ત પરિણામો અપલોડ કરવામાં આવે છે, પરિવહન દરમિયાન અને આરામ કરતી વખતે સુરક્ષિત.

હું API સુરક્ષા કેવી રીતે મેળવી શકું?

API સુરક્ષા એક તરીકે ઉપલબ્ધ છે Enterprise એડ-ઓન. PoC ની વિનંતી કરો અને તે તમારી સાથે સ્કોપ કરવામાં આવશે.

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

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

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