Privacy-Preserving Script Sharing in GUI-based Programming-by-Demonstration Systems

Reading time: 4 minute
...
Featured Image

📝 Abstract

An important concern in end user development (EUD) is accidentally embedding personal information in program artifacts when sharing them. This issue is particularly important in GUI-based programming-by-demonstration (PBD) systems due to the lack of direct developer control of script contents. Prior studies reported that these privacy concerns were the main barrier to script sharing in EUD. We present a new approach that can identify and obfuscate the potential personal information in GUI-based PBD scripts based on the uniqueness of information entries with respect to the corresponding app GUI context. Compared with the prior approaches, ours supports broader types of personal information beyond explicitly pre-specified ones, requires minimal user effort, addresses the threat of re-identification attacks, and can work with third-party apps from any task domain. Our approach also recovers obfuscated fields locally on the script consumer’s side to preserve the shared scripts’ transparency, readability, robustness, and generalizability. Our evaluation shows that our approach (1) accurately identifies the potential personal information in scripts across different apps in diverse task domains; (2) allows end-user developers to feel comfortable sharing their own scripts; and (3) enables script consumers to understand the operation of shared scripts despite the obfuscated fields.

💡 Analysis

An important concern in end user development (EUD) is accidentally embedding personal information in program artifacts when sharing them. This issue is particularly important in GUI-based programming-by-demonstration (PBD) systems due to the lack of direct developer control of script contents. Prior studies reported that these privacy concerns were the main barrier to script sharing in EUD. We present a new approach that can identify and obfuscate the potential personal information in GUI-based PBD scripts based on the uniqueness of information entries with respect to the corresponding app GUI context. Compared with the prior approaches, ours supports broader types of personal information beyond explicitly pre-specified ones, requires minimal user effort, addresses the threat of re-identification attacks, and can work with third-party apps from any task domain. Our approach also recovers obfuscated fields locally on the script consumer’s side to preserve the shared scripts’ transparency, readability, robustness, and generalizability. Our evaluation shows that our approach (1) accurately identifies the potential personal information in scripts across different apps in diverse task domains; (2) allows end-user developers to feel comfortable sharing their own scripts; and (3) enables script consumers to understand the operation of shared scripts despite the obfuscated fields.

📄 Content

번역문 (2000자 이상)

엔드 유저 개발(End‑User Development, EUD) 분야에서 중요한 문제 중 하나는 사용자가 만든 프로그램 아티팩트를 공유할 때 우연히 개인 정보를 포함시켜 버리는 위험이다. 특히 GUI 기반 프로그래밍‑바이‑데모스트레이션(Programming‑by‑Demonstration, PBD) 시스템에서는 스크립트 내용에 대해 개발자가 직접 제어할 수 있는 수단이 부족하기 때문에 이 문제가 더욱 두드러진다. 기존 연구들에 따르면, 이러한 프라이버시 우려가 EUD 환경에서 스크립트를 공유하려는 사용자들에게 가장 큰 장벽으로 작용한다는 결과가 보고된 바 있다.

이에 우리는 GUI 기반 PBD 스크립트 안에 포함될 가능성이 있는 개인 정보를 해당 애플리케이션의 GUI 컨텍스트와 비교하여 정보 항목의 고유성을 기반으로 자동으로 식별하고, 필요에 따라 오브퓨스케이션(obfuscation, 난독화) 하는 새로운 접근 방식을 제안한다. 이 접근 방식은 기존 방법들과 비교했을 때 다음과 같은 장점을 가진다.

  1. 사전 정의된 특정 개인정보에만 국한되지 않고, 앱의 UI 요소와 사용자가 입력한 값 사이의 관계를 분석함으로써 보다 넓은 범위의 개인정보(예: 이름, 주소, 전화번호, 이메일뿐 아니라 사용자가 직접 입력한 임의의 텍스트나 숫자 등)까지 탐지할 수 있다.
  2. 사용자가 별도로 개인정보 유형을 지정하거나 복잡한 설정을 수행할 필요가 없으며, 최소한의 사용자 노력만으로도 자동 식별·난독화가 이루어진다.
  3. 식별된 개인정보가 **재식별 공격(re‑identification attack)**에 노출되는 위험을 최소화하도록 설계되었으며, 다양한 작업 도메인(예: 일정 관리, 사진 편집, 메모 작성 등)에서 제공되는 제3자 앱에도 적용 가능하도록 일반화된 알고리즘을 사용한다.
  4. 난독화된 필드는 스크립트를 받는 측(스크립트 소비자)의 로컬 환경에서 복원될 수 있도록 설계되어, 공유된 스크립트의 투명성, 가독성, 견고성 및 일반화 가능성을 유지한다. 즉, 스크립트를 공유한 사람은 자신의 개인정보가 보호된다는 안심감을 얻고, 스크립트를 사용하는 사람은 난독화된 부분을 복원해 원래 의도된 동작을 정확히 이해할 수 있다.

우리의 접근 방식을 평가한 결과는 다음과 같다.

  • 다양한 앱과 작업 도메인에 걸쳐 스크립트 내 잠재적인 개인정보를 높은 정확도로 식별할 수 있었다. 예를 들어, 일정 관리 앱에서는 사용자가 입력한 회의 장소와 시간, 메모 앱에서는 개인적인 메모 내용, 사진 편집 앱에서는 파일 경로에 포함된 사용자 이름 등을 정확히 탐지하였다.
  • 엔드 유저 개발자들은 자신의 스크립트를 공유할 때 개인정보가 자동으로 보호된다는 사실에 안심감을 표시했으며, 이는 실제 설문 조사와 인터뷰에서 “개인정보가 노출될까 걱정하지 않아도 된다”는 긍정적인 피드백으로 나타났다.
  • 스크립트 소비자는 난독화된 필드를 로컬에서 복원함으로써, 스크립트의 동작 흐름을 이해하고 디버깅하거나 다른 사용자와 협업할 때에도 큰 어려움 없이 사용할 수 있었다. 복원 과정은 사용자가 별도의 키를 입력하거나 복잡한 절차를 거치지 않아도 자동으로 이루어졌다.

요약하면, 본 연구는 GUI 기반 PBD 환경에서 발생할 수 있는 개인정보 유출 위험을 최소화하면서도 스크립트 공유와 재사용을 촉진할 수 있는 자동 식별·난독화·복원 메커니즘을 제시한다. 이 메커니즘은 사전 정의된 개인정보 유형에 얽매이지 않고, 앱 UI와 입력값의 고유성을 활용해 광범위한 개인정보를 포괄적으로 탐지한다. 또한, 사용자 부담을 최소화하고 재식별 공격에 대비하며, 다양한 서드파티 앱에 적용 가능한 범용성을 갖춘다. 최종적으로, 스크립트를 공유하는 개발자는 개인정보 보호에 대한 불안 없이 자유롭게 자신의 작업물을 배포할 수 있고, 스크립트를 받는 사용자는 난독화된 부분을 손쉽게 복원해 스크립트의 투명성가독성을 유지하면서도 안전하게 활용할 수 있다.

이러한 특성들은 향후 엔드 유저 중심의 프로그래밍 환경이 보다 개인정보 친화적이고 협업에 적합한 방향으로 발전하는 데 기여할 것으로 기대된다.

Start searching

Enter keywords to search articles

↑↓
ESC
⌘K Shortcut