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 మీ అప్లికేషన్ సోర్స్ కోడ్ మరియు OpenAPI, Swaggerతో సహా మీ API స్పెసిఫికేషన్‌లు అనే రెండు మూలాల నుండి మీ API ఇన్వెంటరీని నిర్మిస్తుంది.

కేవలం స్పెసిఫికేషన్లతో కూడిన ఇన్వెంటరీ, ఎవరో ఒకరు డాక్యుమెంట్ చేయడం గుర్తుంచుకున్న ఎండ్‌పాయింట్‌లను చూపిస్తుంది. కేవలం కోడ్‌తో కూడిన ఇన్వెంటరీ, ప్రస్తుతం ఉన్నవాటిని చూపిస్తుంది కానీ వాటిని తప్పనిసరిగా ఎలా ఉపయోగించాలో తెలియజేయదు. ఈ రెండింటినీ చదవడం మీకు పూర్తి చిత్రాన్ని అందిస్తుంది: మీ బృందాలు డాక్యుమెంట్ చేసిన ఎండ్‌పాయింట్‌లు, మరియు ఎవరూ చేయనివి.

ఆ సరుకులే మిగతా అన్నింటికీ పునాది:

  • కనుగొనబడిన మొత్తం APIలు, మరియు బేస్‌లైన్‌కు వ్యతిరేకంగా కొలవబడిన ప్రమాదంలో ఉన్న ఆస్తులు
  • HTTP పద్ధతి ద్వారా విభజించబడిన ఎండ్‌పాయింట్‌లు
  • సేవ వారీగా వర్గీకరించబడిన సమస్యలు
  • ప్రతి ఎండ్‌పాయింట్ దాని మెథడ్, పాత్, సర్వీస్, మాడ్యూల్, అథెంటికేషన్ స్టేట్ మరియు రిస్క్ స్కోర్‌తో సహా

మీ ఇంజనీరింగ్ లీడ్‌లు ఒక్క టికెట్ కూడా తెరవకుండానే మీ API సర్ఫేస్ స్వరూపాన్ని చూడగలరు.

కోడ్ మరియు స్పెసిఫికేషన్ రెండింటినీ కలిపి రూపొందించిన, Xygeni కనుగొన్న ప్రతి ఎండ్‌పాయింట్, దాని పద్ధతి, ప్రమాణీకరణ స్థితి మరియు రిస్క్ స్కోర్‌తో సహా.

Production note ఏదైనా API సెక్యూరిటీ స్క్రీన్‌షాట్ నుండి AI ట్రయేజ్ ప్యానెల్‌ను కత్తిరించండి.

OWASP API సెక్యూరిటీ టాప్ 10కి మ్యాప్ చేయబడింది

మీ భద్రతా బృందాలు మరియు ఆడిటర్లు ఇప్పటికే ఉపయోగిస్తున్న ఫ్రేమ్‌వర్క్‌ను ఈ ఫలితాలు తెలియజేస్తున్నాయి. Xygeni, OWASP API సెక్యూరిటీ అంతటా ప్రమాదాన్ని గుర్తిస్తుంది. టాప్ 10 (2023):

OWASP ప్రమాదం ఆచరణలో దీని అర్థం ఏమిటి
API1 విరిగిన వస్తువు స్థాయి అధికారం ఒక ఎండ్‌పాయింట్ మరొక వినియోగదారునికి లేదా టెనెంట్‌కు చెందిన డేటాను తిరిగి ఇస్తుంది లేదా సవరిస్తుంది
API2 ప్రామాణీకరించబడని ఎండ్‌పాయింట్లు ఎలాంటి ప్రమాణీకరణ లేకుండానే ఒక మార్గాన్ని చేరుకోవచ్చు
API3 అధిక డేటా బహిర్గతం ఒక ప్రతిస్పందన, కాల్ చేసేవారికి అవసరమైన దానికంటే లేదా వారు చూడకూడని దానికంటే ఎక్కువ ఫీల్డ్‌లను తిరిగి ఇస్తుంది.
API3 సామూహిక కేటాయింపు ఒక ఎండ్‌పాయింట్, తాను అసలు స్వీకరించకూడని ఫీల్డ్‌లను స్వీకరించి, వర్తింపజేస్తుంది.
API3 / API10 ప్రతిస్పందనలలో సున్నితమైన డేటా PII, PCI లేదా PHI దానిని పంపకూడని ఎండ్‌పాయింట్ నుండి క్లయింట్‌కు చేరుతుంది
API4 తప్పిపోయిన రేటు పరిమితులు ఒక ఎండ్‌పాయింట్‌కు దుర్వినియోగం లేదా బలవంతపు కాల్స్ నుండి ఎలాంటి రక్షణ ఉండదు.
API5 విరిగిన ఫంక్షన్ స్థాయి అధికారం కాల్ చేసేవారికి అనుమతి ఉందో లేదో తనిఖీ చేయకుండానే ఒక ఎండ్‌పాయింట్ ఒక ప్రత్యేక అధికార చర్యను నిర్వహిస్తుంది
API7 ఎస్.ఎస్.ఆర్.ఎఫ్. దాడి చేసేవారి తరపున అభ్యర్థనలు చేసేలా 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 కోసం అభ్యర్థించండి మరియు అది మీతో కలిసి స్కోప్ చేయబడుతుంది.

sca-tools-software-composition-analysis-tools
మీ సాఫ్ట్‌వేర్ ప్రమాదాలకు ప్రాధాన్యత ఇవ్వండి, వాటిని పరిష్కరించండి మరియు సురక్షితం చేయండి.
మీ ఉచిత ఖాతాను పొందండి.
క్రెడిట్ కార్డ్ అవసరం లేదు.

మీ సాఫ్ట్‌వేర్ అభివృద్ధి మరియు డెలివరీని సురక్షితం చేసుకోండి

Xygeni ఉత్పత్తి శ్రేణితో