FixVibe
Covered by FixVibemedium

API Кантрольны спіс бяспекі: 12 рэчаў, якія трэба праверыць перад выхадам у жывы эфір

API з'яўляюцца асновай сучасных вэб-прыкладанняў, але ім часта не хапае строгасці бяспекі традыцыйных інтэрфейсаў. У гэтым даследчым артыкуле апісваецца асноўны кантрольны спіс для забеспячэння бяспекі API з упорам на кантроль доступу, абмежаванне хуткасці і сумеснае выкарыстанне рэсурсаў паміж крыніцамі (CORS), каб прадухіліць уцечку даных і злоўжыванне паслугамі.

CWE-285CWE-799CWE-942

Уплыў

Скампраметаваныя API дазваляюць зламыснікам абыходзіць карыстальніцкія інтэрфейсы і ўзаемадзейнічаць непасрэдна з бэкэнд-базамі дадзеных і службамі [S1]. Гэта можа прывесці да несанкцыянаванага крадзяжу даных, захопу ўліковага запісу з дапамогай грубай сілы або недаступнасці сэрвісу з-за вычарпання рэсурсаў [S3][S5].

Першапрычына

Асноўная першапрычына - уздзеянне ўнутранай логікі праз канчатковыя кропкі, якія не маюць дастатковай праверкі і абароны [S1]. Распрацоўшчыкі часта мяркуюць, што калі функцыя не бачная ў карыстальніцкім інтэрфейсе, яна бяспечная, што прыводзіць да парушэнняў кантролю доступу [S2] і дазвольных палітык CORS, якія давяраюць занадта вялікай колькасці крыніц [S4].

Асноўны кантрольны спіс бяспекі API

  • Захоўваць строгі кантроль доступу: кожная канчатковая кропка павінна правяраць, што запытальнік мае адпаведныя дазволы для канкрэтнага рэсурсу, да якога звяртаюцца [S2].
  • Укараніць абмежаванне хуткасці: Абараніце ад аўтаматызаваных злоўжыванняў і DoS-атак, абмяжоўваючы колькасць запытаў, якія кліент можа зрабіць на працягу пэўнага перыяду часу [S3].
  • Правільна наладзьце CORS: пазбягайце выкарыстання падстаноўных знакаў (*) для аўтэнтыфікаваных канчатковых кропак. Яўна вызначце дазволеныя крыніцы для прадухілення ўцечкі даных паміж сайтамі [S4].
  • Аўдыт бачнасці канчатковых кропак: рэгулярна сканіруйце «схаваныя» або незадакументаваныя канчатковыя кропкі, якія могуць раскрыць канфідэнцыйную функцыянальнасць [S1].

Як FixVibe правярае гэта

FixVibe цяпер ахоплівае гэты кантрольны спіс праз некалькі жывых праверак. Зонды з актыўным строем правяраюць абмежаванне хуткасці канчатковых кропак аўтэнтыфікацыі, CORS, CSRF, ін'екцыю SQL, недахопы патоку аўтэнтыфікацыі і іншыя праблемы, звязаныя з API, толькі пасля праверкі. Пасіўныя праверкі правяраюць загалоўкі бяспекі, публічную дакументацыю API і ўздзеянне OpenAPI, а таксама сакрэты ў кліенцкіх пакетах. Сканіраванне РЭПО дадае аналіз рызыкі на ўзроўні кода на прадмет небяспечнага CORS, неапрацаванай інтэрпаляцыі SQL, слабых сакрэтаў JWT, выкарыстання JWT толькі для дэкадавання, прабелаў у подпісах вэб-хука і праблем з залежнасцямі.