Just-in-Time Detection of Protection-Impacting Changes on Wordpress and Mediawiki
Bibliographic record
Abstract
Les mecanismes de controle d’acces bases sur les roles accordes et les privileges predefinis limitent l’acces des utilisateurs aux ressources sensibles a la securite dans un systeme logiciel multi-utilisateurs. Des modifications non intentionnelles des privileges proteges peuvent survenir lors de l’evolution d’un systeme, ce qui peut entrainer des vulnerabilites de securite et par la suite menacer les donnees confidentielles des utilisateurs et causer d’autres graves problemes. Dans ce memoire, nous avons utilise la technique “Pattern Traversal Flow Analysis” pour identifier les differences de protection introduite dans les systemes WordPress et MediaWiki. Nous avons analyse l’evolution des privileges proteges dans 211 et 193 versions respectivement de WordPress et Mediawiki, et nous avons constate qu’environ 60% des commits affectent les privileges proteges dans les deux projets etudies. Nous nous referons au commits causant un changement protege comme commits (PIC). Pour aider les developpeurs a identifier les commits PIC en temps reel, c’est a dire des leur soumission dans le repertoire de code, nous extrayons une serie de metriques a partir des logs de commits et du code source, ensuite, nous construisons des modeles statistiques. L’evaluation de ces modeles a revele qu’ils pouvaient atteindre une precision allant jusqu’a 73,8 % et un rappel de 98,8 % dans WordPress, et pour MediaWiki, une precision de 77,2 % et un rappel allant jusqu’a 97,8 %. Parmi les metriques examines, changement de lignes de code, correction de bogues, experience des auteurs, et complexite du code entre deux versions sont les facteurs predictifs les plus importants de ces modeles. Nous avons effectue une analyse qualitative des faux positifs et des faux negatifs et avons observe que le detecteur des commits PIC doit ignorer les commits de documentation uniquement et les modifications de code non accompagnees de commentaires. Les entreprises de developpement logiciel peuvent utiliser notre approche et les modeles proposes dans ce memoire, pour identifier les modifications non intentionnelles des privileges proteges des leur apparition, afin d’empecher l’introduction de vulnerabilites dans leurs systemes. ----------ABSTRACT: Access control mechanisms based on roles and privileges restrict the access of users to security sensitive resources in a multi-user software system. Unintentional privilege protection changes may occur during the evolution of a system, which may introduce security vulnerabilities, threatening user’s confidential data, and causing other severe problems. In this thesis, we use the Pattern Traversal Flow Analysis technique to identify definite protection differences in WordPress and MediaWiki systems. We analyse the evolution of privilege protections across 211 and 193 releases from respectively WordPress and Mediawiki, and observe that around 60% of commits affect privileges protections in both projects. We refer to these commits as protection-impacting change (PIC) commits. To help developers identify PIC commits justin-time, i.e., as soon as they are introduced in the code base, we extract a series of metrics from commit logs and source code, and build statistical models. The evaluation of these models revealed that they can achieve a precision up to 73.8% and a recall up to 98.8% in WordPress and for MediaWiki, a precision up to 77.2% and recall up to 97.8%. Among the metrics examined, commit churn, bug fixing, author experiences and code complexity between two releases are the most important predictors in the models. We performed a qualitative analysis of false positives and false negatives and observe that PIC commits detectors should ignore documentation-only commits and process code changes without the comments. Software organizations can use our proposed approach and models, to identify unintentional privilege protection changes as soon as they are introduced, in order to prevent the introduction of vulnerabilities in their systems.
Fetched live from OpenAlex and de-inverted. Abstracts are not stored in this database: the inverted indexes are 8.6 GB of the frame’s 9.3 GB of text, and the host has 13 GB free.
How this classification was reachedexpand
Full frame machine prediction
Teacher imitationNot calibrated prevalence, not ground truth. Human validation pending. The Gemma side is a direct model label for every work in the frame, read from the title-only record. The Codex side is a classifier learned from the 10,348 direct Codex labels and calibrated to design-weighted sample rates; fields without enough sample support carry no Codex call. Candidate is the union of the two sides; consensus is their intersection. These outputs are machine_predicted_unvalidated and are not human labels.
Distilled classifier scores by category (both heads)
| Category | Codex | Gemma |
|---|---|---|
| Metaresearch | 0.002 | 0.016 |
| Meta-epidemiology (narrow) | 0.001 | 0.001 |
| Meta-epidemiology (broad) | 0.001 | 0.000 |
| Bibliometrics | 0.002 | 0.002 |
| Science and technology studies | 0.001 | 0.001 |
| Scholarly communication | 0.001 | 0.003 |
| Open science | 0.001 | 0.001 |
| Research integrity | 0.001 | 0.001 |
| Insufficient payload (model declined to judge) | 0.001 | 0.001 |
Machine scores (provisional)
The two teacher heads of the student model, read on this work. A score orders the frame for review; it never asserts a category, and the validation status ships verbatim with every row.
Baseline scores from an immature model (maturity gate not passed, 7 training rounds). Scores rank; they never assert a category.
score_only:v0-immature-baseline · verbatim from the scoring run: score_only means the number may rank works, and no category label ships from itClassification
machine, unvalidatedMachine predicted; a candidate call from one source (direct Gemma or distilled Codex), not a consensus.
How this classification was reached, model by model and score by score, is at the end of the page under "How this classification was reached".