A Case Study on using GPT-4o for Broken Role-Based Access Control Vulnerability Detection
Abstract
Sårbarheter knyttet til feil i adgangskontrollen (BAC) er for øyeblikket på toppen av OWASP Top 10-listen over de mest kritiske sikkerhetsrisikoene for applikasjoner. Adgangskontrollpolitikker som Rollebasert adgangskontroll (RBAC) er en mye brukt adgangskontrollmekanisme, som begrenser systemtilgang til autoriserte brukere, og sikrer trygg håndtering av tillatelser i ulike applikasjoner. Det er imidlertid vanlig at disse mekanismene har feil, noe som resulterer i BAC. Tidligere studier har hovedsakelig fokusert på tradisjonelle automatiserte verktøy for sårbarhetsdeteksjon. Noen har brukt dynamiske tilnærminger ved bruk av store språkmodeller (SSM) for å oppdage sårbarheter fra forespørsler. I tillegg finnes det studier som utforsker forskjellige ledeketsteknikker på andre typer sårbarheter.Med den nylige suksessen til SSM er det en mulighet for at disse modellene kan bidra med ny kunnskap til dette forskningsfeltet ved bruk av riktige promptteknikker. Denne studien har som mål å evaluere effektiviteten av å bruke SSM, spesifikt den toppmoderne modellen GPT-4 Omni (GPT-4o), for å oppdage sårbarheter i webapplikasjoner med rollebasert adgangskontroll. Dette gjøres ved å teste fire forskjellige prompt-teknikker på 12 webapplikasjoner skrevet i PHP og JSP.Studien søker å besvare følgende forskningsspørsmål: RQ1: Hvor effektive er forskjellige prompt-teknikker når det gjelder å lokalisere BAC-sårbarheter? RQ2: Hvor effektiv er GPT-4o i å oppdage BAC-sårbarheter sammenlignet med tradisjonelle metoder? RQ3: Kan anvendelsen av GPT-4o redusere tiden og ressursene som kreves for sårbarhetsdeteksjon relatert til BAC?Resultatene indikerer at Nullskudd-prompting-teknikken er mest effektiv, og viser bedre ytelse sammenlignet med de andre testede teknikkene. I-Kontekstprompting med tilfeldige eksempler kan også være et godt alternativ. Imidlertid er GPT-4s generelle nøyaktighet på BAC deteksjon lavere enn tradisjonelle metoder, noe som krever betydelig og kostbar manuell validering.Selv om GPT-4 gir verdifulle innsikter som kan forbedre nåværende deteksjonsmetoder, må nøyaktighetsutfordringene adresseres før SSM-er kan brukes fullt ut for sårbarhetsdeteksjon i RBAC. De potensielle fordelene antyder imidlertid at videre forskning og utvikling kan gjøre SSM-er til et levedyktig verktøy på dette området. Broken Access Control (BAC) vulnerabilities is currently at the top of the OWASP Top 10 list of the most critical application security risks. Access Control policies like Role-Based Access Control (RBAC) is a widely adopted access control mechanism used to restrict system access to authorized users, ensuring secure management of permissions in various applications. However, it is common that these mechanisms have flaws, resulting in BAC.Previous studies have predominantly focused on traditional automated tools for vulnerability detection. Some have employed dynamic approaches using Large Language Models (LLMs) to detect vulnerabilities from requests. Additionally, there are studies exploring different prompt techniques on other types of vulnerabilities. With the recent success of LLMs, there is potential for these models to con tribute new insights to this field using appropriate prompt engineering techniques. This study aims to evaluate the effectiveness of utilizing LLMs, specifically the state-of-the-art model GPT-4 Omni (GPT-4o), to detect vulnerabilities in web applications with RBAC. The evaluation involves testing four different prompt engineering techniques on 12 web applications written in PHP and JSP.This study seeks to answer the following research questions: RQ1: How effective is different prompting techniques when locating BAC vulnerabilities? RQ2: How effective is GPT-4o in detecting BAC vulnerabilities compared to traditional methods? RQ3: Can the application of GPT-4o reduce the time and resources required for vulnerability detection related to BAC.Results indicate that the Zero-Shot prompting technique is the most effective, demonstrating superior performance compared to other techniques tested. In-Context prompting with Random examples also shows promise. However, GPT-4o’s overall accuracy in BAC detection is lower than traditional methods, necessitating significant and costly manual validation.While GPT-4o offers valuable insights that can enhance current detection methods, its accuracy challenges must be addressed before LLMs can be fully utilized for vulnerability detection in RBAC. Nonetheless, the potential benefits suggest that further research and development could make LLMs a viable tool in this domain.