Kutumia AI Kutafuta Hitilafu za Uidhinishaji

Programu za bug bounty zinabadilika. Baadhi ya programu zimeacha kulipa zawadi. Nyingine zimepunguza malipo kwa 80%. Sababu si kwamba AI inapata hitilafu nyingi sana. Sababu ni kwamba AI inapata hitilafu nyingi zisizo sahihi. Timu za triage zinazama katika ripoti za ubora wa chini.

Katika mazingira haya, ujuzi muhimu zaidi si kutafuta hitilafu. Ni kuthibitisha kwamba hitilafu haipo. Lazima upate matokeo sahihi ya hasi (negatives).

Ninatumia mbinu ya hatua mbili kwa malengo yanayopatikana (source-available targets).

Hatua ya 1: Fan-out Tumia mifano ya AI ya bei rahisi kusoma kodi. Gawanya lengo katika vipande vidogo. Iombe modeli itafute invariants zilizovunjika. Tafuta sehemu ambapo kitu kinapakia bila ukaguzi wa mmiliki au sehemu ambapo lango la usalama linapitiwa. Lenga kuwa na recall kubwa. Tarajia makosa mengi.

Hatua ya 2: Adversarial Verification Tumia modeli ya gharama kubwa yenye uwezo mkubwa wa kufikiri ili kuondoa washiriki (candidates). Chukulia kuwa kila mshiriki amekanushwa. Mshiriki anabaki tu ikiwa unaweza kunukuu mistari mahususi ya kodi. Lazima uthibitishe kuwa njia hiyo inafikika na hakuna ukaguzi mwingine unaoizuia.

Matokeo yenye thamani zaidi ni orodha ya kanusho (refutations). Orodha hii inajenga imani na watatuzi (triagers).

Nilijaribu Ory Kratos, seva ya utambulisho ya chanzo huru (open-source identity server). Nilichunguza mtiririko wa mipangilio (settings flow). Eneo hili linashughulikia mabadiliko ya nywila na sasisho za barua pepe. Kosa moja hapa husababisha kuchukuliwa kwa akaunti (account takeover).

Hatua ya kwanza ilipata hitilafu inayovutia. Katika mkakati wa OIDC, kontena maalum hukosa uhusiano wa utambulisho (identity binding). Ikiwa unatafuta tu ukosefu wa ukaguzi, ungalitoa ripoti hii kama hitilafu yenye ukali wa juu (high-severity bug).

Hilo lingekuwa kosa.

Uhusiano uliokosekana hauwezi kutumiwa vibaya (not exploitable). Mfumo unapata utambulisho wa lengo kutoka kwa kuki ya kikao hai (live session cookie) au tokeni iliyotiwa saini. Sifa za kontena (container traits) hazitumiki kamwe kwenye lengo halisi la uandishi. Muundo unashikilia.

Kutoa ripoti hii kungepoteza muda na kuharibu uaminifu wako. Thamani niliyotoa ilikuwa ujasiri wa kutotoa ripoti.

Nilipotumia mbinu hii hiyo kwenye lengo tofauti, nilipata hitilafu halisi. Njia mbadala ya kuingilia ilikosa ukaguzi wa uidhinishaji ambao njia kuu uliutekeleza. Mtumiaji aliyefutwa bado angeweza kuingia kupitia mlango wa pembeni. Hitilafu hii ilikuwa na athari kubwa na haikuonekana kwa skana za kawaida.

Walinda mlango (Gatekeepers) wanajenga kuta dhidi ya wingi wa ripoti. Ili kufanikiwa, kazi yako ya AI lazima iwe ya kina na madhubuti. Tumia AI kusoma kodi nyingi zaidi kuliko binadamu anavyoweza. Kisha tumia AI kujithibitishia kuwa uko makosa kabla ya kutuma.

Lenga kwenye ishara (signal), si kwenye wingi (volume).

Chanzo: https://dev.to/fdjedkdlsspec/using-ai-to-find-authorization-bugs-and-to-prove-the-ones-that-arent-real-3m7d