Table Of Links Tafel links Abstractie 1 Introduction 1 Inleiding 2 Background 2 Achtergrond 3 Privacy-Relevant Methods 3 Privacy-relevante methoden 4 Identifying API Privacy-relevant Methods 4 API-methoden die relevant zijn voor privacy identificeren 5 Labels for Personal Data Processing 5 etiketten voor de verwerking van persoonsgegevens 6 Process of Identifying Personal Data 6 Proces van het identificeren van persoonsgegevens 7 Data-based Ranking of Privacy-relevant Methods 7 Data-based ranking van privacy-relevante methoden 8 Application to Privacy Code Review 8 Toepassing van de Privacy Code Review 9 Related Work 9 Gerelateerde werkzaamheden Conclusion, Future Work, Acknowledgement And References Conclusie, toekomstige werkzaamheden, erkenning en referenties Procedure voor het identificeren van persoonsgegevens Voordat we in de aanpak duiken, is het cruciaal om te onderscheiden tussen persoonsgegevens en persoonlijk identificeerbare informatie (PII). Hoewel beide subset van informatie zijn die betrekking hebben op een individu, is PII een categorie gegevens die een persoon rechtstreeks identificeert. Voorbeelden zijn accountinformatie, contactgegevens, persoonlijke ID's en nationale ID's. Niet alle 10 categorieën van persoonsgegevens die we hieronder beschouwen vallen onder PII. De blootstelling aan PII is vooral van belang omdat het kan leiden tot persoonlijke of psychologische schade, zoals identiteitsdiefstal. Om dit te bereiken, gebruiken we een pattern-matching techniek geïnspireerd door Tang et al. [?]. Deze techniek identificeert effectief gegevens uit 10 categorieën, waaronder Account, Contact, Personal ID, Location en National ID. We gebruiken Semgrep, een tool op maat gemaakt voor pattern-matching in code, om dit proces te vergemakkelijken. 6.1 Statische analyse voor de identificatie van persoonsgegevens De eerste fase van onze aanpak omvat het gebruik van statische analyse om codefragmenten te lokaliseren die persoonlijke gegevens bevatten.We gebruiken Semgrep voor deze taak, gezien de efficiëntie en flexibiliteit bij het analyseren van grote codebasen.We vertrouwen op de ondersteuning van Semgrep voor meerdere talen en zijn mogelijkheden voor lokale data flow analyse. 6.2 Defining Sources of Personal Data In het kader van onze analyse verwijzen bronnen naar voorbeelden waarin persoonsgegevens worden weergegeven.We identificeren persoonsgegevens op twee manieren: 1) als letterlijke tekst aanwezig in de broncode en 2) als variabelen, op basis van hun naamidentificatoren.Onze identificatieregels zijn ontworpen om Java, JavaScript en TypeScript te ondersteunen, maar kunnen worden uitgebreid naar andere talen die door Semgrep worden ondersteund. 6.3 Rule Crafting for Identification Om letterlijke persoonsgegevens te identificeren, gebruiken we regelmatige expressie (regex) matching. Dit komt bijvoorbeeld in aanmerking bij het identificeren van het formaat van nationale ID-nummers. Voor variabele bronnen houden we een standaardlijst met identificatoren bij die overeenkomen met de 10 categorieën persoonsgegevens. Deze identificatoren helpen ons de Semgrep-regels te formuleren. Om valse positieven te verminderen, leggen we specifieke voorwaarden op aan deze regex-regels. Om bijvoorbeeld alle menselijke namen in de code vast te leggen, gebruiken we een regex-patroon dat variaties bevat zoals eerste, laatste en volledige namen: (?i).(?:firstстаўgiven fagfulllastlast ). De auteurs: Feiyang Tang Bjarte M. Østvold Authors: Feiyang Tang Bjarte M. Østvold Dit document is beschikbaar op archiv onder CC BY-NC-SA 4.0 licentie. Dit papier is Onder de CC BY-NC-SA 4.0 licentie. available on arxiv Beschikbaar in het archief