Table Of Links стіл ліворуч абстрактні 1 Introduction 1 Введення 2 Background 2 Фундамент 3 Privacy-Relevant Methods 3 Приватні методи 4 Identifying API Privacy-relevant Methods 4 Визначення методів API, що стосуються конфіденційності 5 Labels for Personal Data Processing 5 Етикетки для обробки персональних даних 6 Process of Identifying Personal Data 6 Процес ідентифікації персональних даних 7 Data-based Ranking of Privacy-relevant Methods 7 Рейтинг методів, що стосуються конфіденційності на основі даних 8 Application to Privacy Code Review 8 Застосування Кодексу конфіденційності 9 Related Work 9 Зв'язана робота Conclusion, Future Work, Acknowledgement And References Висновок, майбутня робота, визнання та посилання Процес ідентифікації персональних даних Перш ніж зануритися в підхід, важливо диференціювати між персональними даними та персональними даними (PII). Хоча обидва є піднаборами інформації, що стосуються особистості, PII є категорією даних, які безпосередньо ідентифікують людину. Приклади включають інформацію про обліковий запис, контактні дані, особисті ідентифікатори та національні ідентифікатори. Не всі 10 категорій персональних даних, які ми розглядаємо нижче, потрапляють під PII. Експозиція PII особливо стосується, оскільки це може призвести до особистої або психологічної шкоди, наприклад, крадіжки особи. Наша основна мета полягає в тому, щоб визначити потік персональних даних в кодовій базі, зосереджуючись на його важливих наслідках для конфіденційності. Для цього ми використовуємо техніку відповідності зразків, натхненну Tang et al. [?]. Ця техніка ефективно ідентифікує дані з 10 категорій, включаючи обліковий запис, контакт, особистий ідентифікатор, місцезнаходження та національний ідентифікатор. Ми використовуємо Semgrep, інструмент, пристосований для відповідності зразків в коді, щоб полегшити цей процес. 6.1 Статичний аналіз для ідентифікації персональних даних Початкова фаза нашого підходу передбачає використання статичного аналізу для виявлення фрагментів коду, що містять персональні дані.Ми використовуємо Semgrep для цього завдання, враховуючи його ефективність та гнучкість у аналізі великих кодових баз. Ми покладаємося на підтримку Semgrep для декількох мов та його можливості для локального аналізу потоків даних. 6.2 Defining Sources of Personal Data У контексті нашого аналізу джерела посилаються на випадки, де з'являються персональні дані. Ми визначаємо персональні дані двома способами: 1) як буквальний текст, присутній у вихідному коді, і 2) як змінні, на основі іменних ідентифікаторів.Наші правила ідентифікації призначені для підтримки Java, JavaScript та TypeScript, але можуть бути розширені на інші мови, які підтримує Semgrep. 6.3 Rule Crafting for Identification Для визначення буквальних персональних даних ми використовуємо регулярне вираження (regex) відповідності. Це відбувається, наприклад, при визначенні формату національних номерів ідентифікації. Для змінних джерел ми підтримуємо за замовчуванням список ідентифікаторів, що відповідають 10 категоріям персональних даних. Ці ідентифікатори допомагають нам сформулювати правила Semgrep. Щоб зменшити помилкові позитиви, ми накладаємо конкретні умови на ці правила regex. Наприклад, для захоплення всіх людських імен у коді, ми використовуємо шаблон regex, який вміщує варіації, такі як перші, останні та повні імена: (?i).(?:firstстаўgiven echinistfulllast Автори : Feiyang Tang Bjarte M. Østvold Закарпаття Authors: Фейянг Тан Bjarte M. Østvold Закарпаття Цей документ доступний на архіві під ліцензією CC BY-NC-SA 4.0. Цей документ є Відповідно до ліцензії CC BY-NC-SA 4.0. available on arxiv Доступно в архіві