ар бир pull request Акыркы чекитти кошкон же өзгөрткөн нерсе сиздин API чабуул бетиңизди өзгөртөт. Көпчүлүк API коопсуздук куралдары ал акыркы чекит иштеп баштаганга жана трафикти ээлеп алганга чейин байкашпайт. Ал кезде оңдоо кодду карап чыгуудагы бир саптык өзгөртүү эмес, окуяга жооп берүү боюнча сүйлөшүү болуп саналат.
API коопсуздугу - бул тиркеме өзүнүн акыркы чекиттерин кантип ачыкка чыгарганындагы тобокелдиктерди табуу жана жабуу практикасы: аларга ким чала алат, кандай маалыматтарды кайтарат жана алар документтерде айтылгандарды аткарабы же жокпу.
Бул көйгөй үчүн курулган куралдардын көпчүлүгү APIди иштөө учурунда, чабуулчу сыяктуу эле, сырттан текшерет. Бул ыкма иштейт, бирок ал API жайгаштырылгандан кийин гана иштейт. Ксигени мурунку жолду алат: ал бир суроо-талап акыркы чекитке жеткенге чейин баштапкы кодуңузду жана API спецификацияңызды окуйт.
APIди текшерүүнүн төрт жолу жана алардын ар бири эмнеге жооп берет
Көпчүлүк жетилген программалар төмөнкүлөрдүн бирден ашыкын иштетет:
- Статикалык сыноо жайылтуудан мурун булак кодду жана API спецификацияларын талдайт. Ал "биз жаңы эле эмнени ачыкка чыгардык?" деген суроого жооп берет. Бул макалада ушул ыкмага басым жасалат.
- Динамикалык тестирлөө (DAST) иштеп жаткан APIге чыныгы трафикти жөнөтөт жана анын кандай жооп кайтарганын байкайт. Ал "азыр эмнеге жетүүгө болот жана эмнени колдонууга болот?" деген суроого жооп берет.
- Булгануу беттик кыйроолорго жана четки абалдагы бузулууларга туура эмес же күтүлбөгөн киргизүүнү акыркы чекиттерге ыргытат. Ал "киргизүүдө биз күтпөгөн кандай үзгүлтүктөр болгон?" дегенге жооп берет.
- Кол менен кирүү сыноосу Автоматташтырылган куралдар жетишпеген логикалык кемчиликтерди табуу үчүн адамдын ой жүгүртүүсүн кошот. Ал "акылдуу чабуулчу эмнени чынжырлайт?" деген суроого жооп берет.
Булардын бири да башкаларын алмаштыра албайт. Алар жашоо циклинин ар кайсы учурларында ар кандай суроолорго жооп беришет жана көпчүлүк программалардын боштугу биринчиси.
Эмне үчүн көпчүлүк API коопсуздук куралдары тобокелчиликти өтө кеч көрүшөт
Runtime API коопсуздук тестирлөөсү трафикти тирүү тиркемеге жөнөтөт жана анын кандай жооп кайтарарын байкайт. Бул мыйзамдуу жана зарыл катмар. Ошондой эле, түзүлүшү боюнча, ал артта калуу индикатору: иштөө убактысын сканерлөөчү бул тууралуу бир нерсе айта алганга чейин, акыркы чекит болушу, жайгаштырылышы жана жеткиликтүү болушу керек. Ал тапкан нерсе сканерлөөнүн иштешине канча убакыт кеткенине карабастан, буга чейин эле ачыкка чыккан.
Убакыт маселесинин астында экинчи боштук бар. Иштөө убактысынын куралдары бар экенин билген нерселерди гана текшере алат. Эгерде акыркы чекит эч качан документтештирилбесе же OpenAPI спецификациясы кимдир бирөө жаңы маршрут жөнөткөн учурда эскирип калса, анда иштөө убактысын сканерлөөчү анын бар экенин биле албайт. Ал аймакты эмес, картаны текшерет.
Статикалык API коопсуздук тестирлөөсү текшерүүнү акыркы чекит аныкталган жерге: сиздин кодуңузга жана API спецификацияңызга жайылтуудан мурун жылдыруу менен эки боштукту тең жабат. Ошол эле pull request акыркы чекитти киргизген нерсе - бул pull request бул анын тобокелдигин ачыкка чыгарат.
Статикалык API коопсуздугу чындыгында эмнени билдирет
Xygeni сиздин API инвентаризацияңызды эки булактан түзөт: колдонмоңуздун булак коду жана OpenAPI жана Swagger сыяктуу API спецификацияларыңыз.
Атайын гана инвентаризация кимдир бирөө документтештирүүнү эстеп калган акыркы чекиттерди көрсөтөт. Код гана инвентаризация эмне бар экенин көрсөтөт, бирок ал кантип колдонулушу керек болгонун эмес. Экөөнү тең окуу сизге толук түшүнүк берет: командаларыңыз документтештирген акыркы чекиттер жана эч ким документтештирбегендер.
Бул инвентаризация башка бардык нерселердин пайдубалы болуп саналат:
- Жалпы табылган API'лер жана баштапкы деңгээлге карата өлчөнгөн тобокелдиктеги активдер
- HTTP ыкмасы боюнча бөлүнгөн акыркы чекиттер
- Кызмат боюнча топтолгон маселелер
- Ар бир акыркы чекит өзүнүн ыкмасы, жолу, кызматы, модулу, аутентификация абалы жана тобокелдик упайы менен
Инженердик жетекчилериңиз бир дагы билет ачпастан эле API бетиңиздин формасын көрүшөт.
Xygeni тапкан ар бир чекит, анын ыкмасы, аутентификация абалы жана тобокелдик упайы менен бирге код менен спецификациядан түзүлгөн.
Production note API коопсуздук скриншотунан AI Triage панелин кесип алыңыз.
OWASP API коопсуздук боюнча алдыңкы 10 тизмесине киргизилген
Жыйынтыктар сиздин коопсуздук топторуңуз жана аудиторлоруңуз мурунтан эле колдонуп келген алкакты чагылдырат. Xygeni OWASP API коопсуздук системасындагы тобокелдиктерди аныктайт Эң мыкты 10 (2023):
| OWASP | тобокел | Бул иш жүзүндө эмнени билдирет |
|---|---|---|
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 Security Top 10 категориясы, CWEси, акыркы чекиттин аутентификация абалы жана тиешелүү маалыматтардын сезгичтик классификациясы да бар.
Акыркы чекитти гана атаган ачылыш иштеп чыгуучуну бир нерсени оңдой баштаганга чейин код базасын карап чыгууга мажбурлайт. Сапты атаган ачылыш аларды дароо оңдоого түртөт.
Жыйынтыктар JSON, CSV, Markdown жана SARIF 2.1.0 форматында экспорттолот, ошондуктан алар төмөнкү бөлүмгө түшөтсиздин командаларыңыз мурунтан эле иштеп жатышат.
Иштетүүчү, линия жана экспозицияны киргизген код. Иликтөө үчүн билет эмес.
Эмне үчүн бул бир платформада жашайт, башка консолдо эмес
Xygeni API коопсуздугун бирге иштетет SAST, SCA, Жашыруун коопсуздук, IaC жана DAST бир платформанын ичинде, өз ара байланышкан ASPM, аны өзүнчө курал катары өзүнүн куралы менен жөнөтүүнүн ордуна login жана анын өзүнүн артта калган бөлүгү.
Бул маанилүү, анткени статикалык жана иштөө убактысындагы жыйынтыктар бир эле акыркы чекит жөнүндө ар кандай суроолорго жооп берет жана алар өзүнчө караганда чогуу пайдалуураак. Static сизге акыркы чекит жөнөтүлө электе кооптуу экенин айтат. DAST иштеп баштаганда эмнеге жетүүгө жана пайдаланууга болорун тастыктайт.
Муну эки консолго бөлүү жана корреляцияланган тобокелдик эки байланышпаган артта калууга айланат. Эч ким аларды элдештирбейт, ал эми документтештирилбеген жана аныктыгы тастыкталбаган акыркы чекит эки кезекте тең жок.
Чыныгы API чабуул бетиңизди көрүңүз. API коопсуздугу төмөнкүдөй жеткиликтүү Enterprise Xygeni платформасына кошумча программа орнотулуп, сканерлөө сиздин инфраструктураңыздын ичиндеги өзүңүздүн репозиторийлериңизге каршы жүргүзүлөт.
FAQ
Кайсы чекиттер купуя маалыматтарды иштетээрин айта алабы?
Ооба. Xygeni акыркы чекиттин параметрлеринде жана жоопторунда PII, PCI жана PHIди белгилейт жана ал классификацияны натыйжаларды чыныгы экспозиция боюнча рейтингдөө үчүн колдонот.
Ал ар бир жерде иштей алабы pull request?
Ооба. Инкременталдык сканерлөө өзгөргөн акыркы чекиттерди гана талдайт жана ал чыгарган манифест кийинки DAST сканерлөөнү ошол эле акыркы чекиттерге багыттай алат, ошондуктан статикалык жана иштөө убактысын текшерүү чындыгында эмне жылганына шайкеш келет.
Менин кодум чөйрөмдөн чыгып кетеби?
Жок. Сканерлер сиздин жеке инфраструктураңызда иштейт. Натыйжалар гана жүктөлүп, транзит учурунда жана эс алуу учурунда корголот.
API коопсуздугун кантип алсам болот?
API коопсуздугу төмөнкүдөй жеткиликтүү Enterprise кошумча. PoC сураңыз, ал сиз менен бирге көзөмөлдөнөт.





