소수의 입출력 예시(input-output examples)를 통해 프로그램을 자동 생성하는 PBE(Programming-by-Example) 시스템의 새로운 취약점이 발견되었습니다. 기존의 PBE 견고성(robustness) 연구는 주로 무작위적인 노이즈나 오타로 인한 예시 오류를 가정했지만, 이번 연구는 공격자가 신시사이저(synthesizer)의 작동 방식을 파악하고 가장 큰 손상을 줄 수 있는 예시를 의도적으로 조작할 때 발생하는 문제에 집중했습니다. 이는 PBE 시스템이 실제 환경에서 직면할 수 있는 새로운 형태의 보안 위협을 제시합니다.
위안 시(Yuan Si)와 지아루 장(Jialu Zhang) 연구팀은 유한한 PBE 버전 공간(version spaces)에서 최악의 경우를 상정하는 고정 세트(fixed-set) 공격을 형식화했습니다. 이들은 문자열 변환 DSL(Domain-Specific Language)에 대해 정확한(exact) 및 휴리스틱(heuristic) 방식의 공격 검색을 구현했으며, '의미론적 파티션 집계(Version-space Partition Aggregation, VPA)'라는 방어 기법을 도입했습니다. VPA는 서로 다른 예시 그룹에서 프로그램을 합성한 후 의미론적 서명(semantic signatures)을 통해 투표하여 최종 프로그램을 결정하는 방식입니다. 하지만 연구 결과는 이러한 방어 기법이 '클린(clean)한 의미론이 파티션 투표 마진(vote margin)을 유지할 때만' 효과적이며, 현실적인 작업에서는 종종 실패한다는 점을 보여주었습니다. 예를 들어, 특정 조작된 예시 하나로 8개의 스파이크(spike) 작업을 모두 실패시킬 수 있었던 반면, 무작위 오타 공격은 10% 정도만 실패시켰습니다.
이번 연구는 PBE 시스템이 무작위 오류뿐만 아니라 악의적인 공격에도 취약할 수 있음을 명확히 보여줍니다. 특히, 낮은 마진(low-margin)을 가진 PBE 작업들은 기존의 무작위 오타나 노이즈 기반 평가에서는 놓쳤던 적대적 견고성(adversarial robustness) 차원을 가지고 있음을 강조합니다. 이는 PBE 시스템을 활용하는 다양한 자동화 도구, 특히 보안이 중요한 영역에서 사용될 때 심각한 문제를 야기할 수 있습니다. 개발자들은 PBE 시스템 설계 시 이러한 악의적 공격 시나리오를 고려하여 더욱 견고한 시스템을 구축해야 할 필요가 있으며, VPA와 같은 방어 기법의 한계를 극복할 새로운 접근 방식에 대한 연구가 요구됩니다.
