KR20240082070A - 생성 모델을 대상으로 멤버십 추론 공격을 수행하는 방법 및 이를 위한 장치 - Google Patents

생성 모델을 대상으로 멤버십 추론 공격을 수행하는 방법 및 이를 위한 장치 Download PDF

Info

Publication number
KR20240082070A
KR20240082070A KR1020220166026A KR20220166026A KR20240082070A KR 20240082070 A KR20240082070 A KR 20240082070A KR 1020220166026 A KR1020220166026 A KR 1020220166026A KR 20220166026 A KR20220166026 A KR 20220166026A KR 20240082070 A KR20240082070 A KR 20240082070A
Authority
KR
South Korea
Prior art keywords
xreal
output data
model
generation model
data
Prior art date
Application number
KR1020220166026A
Other languages
English (en)
Inventor
허준범
오원준
양보성
임경섭
Original Assignee
고려대학교 산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 고려대학교 산학협력단 filed Critical 고려대학교 산학협력단
Priority to KR1020220166026A priority Critical patent/KR20240082070A/ko
Priority to US18/524,113 priority patent/US20240185068A1/en
Publication of KR20240082070A publication Critical patent/KR20240082070A/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6245Protecting personal data, e.g. for financial or medical purposes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/047Probabilistic or stochastic networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/088Non-supervised learning, e.g. competitive learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/094Adversarial learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/04Inference or reasoning models

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Data Mining & Analysis (AREA)
  • Computational Linguistics (AREA)
  • Mathematical Physics (AREA)
  • Molecular Biology (AREA)
  • Biophysics (AREA)
  • Biomedical Technology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Computer Security & Cryptography (AREA)
  • Bioethics (AREA)
  • Computer Hardware Design (AREA)
  • Medical Informatics (AREA)
  • Databases & Information Systems (AREA)
  • Probability & Statistics with Applications (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

본 발명의 일 실시 예에 따른 프로세서 및 메모리를 포함하는 장치가 생성 모델을 대상으로 멤버십 추론 공격을 수행하는 방법은 (a) 공격 대상인 타겟(Target) 모델로서 상기 생성 모델의 출력 데이터(Xreal)를 무작위로 수집하는 단계, (b) 상기 수집한 생성 모델의 출력 데이터(Xreal)를 K(K는 2 이상의 자연수)개로 분리하여(Partitioning) K개의 개별 출력 데이터(Xreal, 1 ~ Xreal, K)를 생성하는 단계, (c) 상기 생성 모델의 출력 데이터(Xreal)를 모방한 모방 출력 데이터(Xfake)를 생성하는 단계, (d) 상기 생성한 K개의 개별 출력 데이터(Xreal, 1 ~ Xreal, K) 각각과 상기 생성한 모방 출력 데이터(Xfake)를 1:1로 매칭하여, 이들 매칭한 데이터 중에서 상기 K개의 개별 출력 데이터(Xreal, 1 ~ Xreal, K)를 각각 판별한 결과인 예측값을 출력하는 단계, (e) 상기 K개의 개별 출력 데이터(Xreal, 1 ~ Xreal, K)를 각각 판별한 결과인 예측값을 이용하여 상기 출력 데이터(Xreal)가 상기 생성 모델의 학습에 사용된 데이터인지 여부에 대한 예측값을 산출하여 출력하는 단계를 포함한다.

Description

생성 모델을 대상으로 멤버십 추론 공격을 수행하는 방법 및 이를 위한 장치{METHOD FOR PERFORMING MEMBERSHIP INFERENCE ATTACK AGAINST GENERATIVE MODELS AND APPARATUS FOR SAME}
본 발명은 생성 모델을 대상으로 멤버십 추론 공격을 수행하는 방법 및 이를 위한 장치에 관한 것이다. 보다 자세하게는 생성 모델의 대표적인 단점인 조기 수렴 현상 발생을 원천적으로 방지함으로써 공격 모델의 학습 성능을 향상시킬 수 있는 방법 및 이를 위한 장치에 관한 것이다.
최근의 기계학습은 다양한 서비스에 널리 활용되어 삶의 편리함을 제공하고 있으며, 스마트폰, IoT, SNS의 대중화로 민감한 개인 정보를 포함한 데이터가 기하급수적으로 증가하고 있다. 기계학습은 위와 같은 많은 양의 데이터를 활용하는 학습인바, 민감한 개인 정보가 모종의 이유로 인해 유출되는 경우 이 역시 기계학습의 대상이 될 수 있다.
그러나 다양한 정보의 홍수 속에서 살고 있는 개인들은 자신의 개인 정보가 일부 유출되어도 그 즉시 이러한 사실을 인지하지 못함이 대부분이며, 한번 유출된 개인 정보는 다시 회수되지 못하고 더욱 퍼져나갈 수밖에 없는바, 그 피해는 걷잡을 수 없을 만큼 커져 갈 것이다.
한편, 정보 유출 여부를 확인할 수 있는 기술로서 멤버십 추론 공격(MEMBERSHIP INFERENCE ATTACK)을 들 수 있는바, 멤버십 추론 공격이란 특정 데이터가 기계학습 알고리즘의 학습에 사용한 데이터인지 아닌지 추론하는 공격이다.
이와 같은 멤버십 추론 공격은 도 1에 예시적으로 도시된 바와 같이 생성자(Generator)와 판별자(Discriminator)를 포함하는 GAN(Generative Adversarial Network) 모델을 통해 공격 모델로 구현하는 것이 일반적인바, 학습 과정에서 판별자의 학습 속도가 생성자의 학습 속도보다 빠를 수밖에 없기 때문에 생성자의 학습이 완료되기 이전에 판별자의 학습이 완료되어 버리는 조기 수렴(Early Convergence) 현상이 필연적으로 발생하게 되며, 이로인해 공격 모델은 학습 데이터를 충분하게 반영하지 못하게 되어 학습 성능이 저하되고, 공격 모델 자체의 성능 저하까지 야기한다는 문제점이 있다.
그럼에도 불구하고 멤버십 추론 공격을 통해 정보 유출 여부를 확인하는 것은 매우 빠르고 간편하게 그 결과를 알 수 있는 효과적인 수단이 될 수 있는바, 공격 모델인 GAN 모델의 구조적인 특징으로 인한 조기 수렴 현상의 발생을 방지함으로써 공격 모델의 학습 성능을 향상시키고, 이를 통해 전체 공격 모델의 성능까지 향상시킬 수 있는 새롭고 진보적인 기술이 요구된다. 본 발명은 이에 관한 것이다.
대한민국 공개특허공보 제 10-2022-0072541호(2022.06.02)
본 발명이 해결하고자 하는 기술적 과제는 멤버쉽 추론 공격을 구현한 공격 모델이 GAN 모델의 구조적인 특징을 갖는다 할지라도 조기 수렴 현상이 발생하지 않아 학습 성능을 향상시킬 수 있는 생성 모델을 대상으로 멤버십 추론 공격을 수행하는 방법 및 이를 위한 장치를 제공하는 것이다.
본 발명이 해결하고자 하는 또 다른 기술적 과제는 학습 과정에서 조기 수렴 현상이 발행하지 않아 학습 성능을 향상시킴으로써 전체 공격 모델 자체의 성능까지 향상시킬 수 있는 생성 모델을 대상으로 멤버십 추론 공격을 수행하는 방법 및 이를 위한 장치를 제공하는 것이다.
본 발명의 기술적 과제들은 이상에서 언급한 기술적 과제들로 제한되지 않으며, 언급되지 않은 또 다른 기술적 과제들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.
상기 기술적 과제를 달성하기 위한 본 발명의 일 실시 예에 따른 프로세서 및 메모리를 포함하는 장치가 생성 모델을 대상으로 멤버십 추론 공격을 수행하는 방법은 (a) 공격 대상인 타겟(Target) 모델로서 상기 생성 모델의 출력 데이터(Xreal)를 무작위로 수집하는 단계, (b) 상기 수집한 생성 모델의 출력 데이터(Xreal)를 K(K는 2 이상의 자연수)개로 분리하여(Partitioning) K개의 개별 출력 데이터(Xreal, 1 ~ Xreal, K)를 생성하는 단계, (c) 상기 생성 모델의 출력 데이터(Xreal)를 모방한 모방 출력 데이터(Xfake)를 생성하는 단계, (d) 상기 생성한 K개의 개별 출력 데이터(Xreal, 1 ~ Xreal, K) 각각과 상기 생성한 모방 출력 데이터(Xfake)를 1:1로 매칭하여, 이들 매칭한 데이터 중에서 상기 K개의 개별 출력 데이터(Xreal, 1 ~ Xreal, K)를 각각 판별한 결과인 예측값을 출력하는 단계, (e) 상기 K개의 개별 출력 데이터(Xreal, 1 ~ Xreal, K)를 각각 판별한 결과인 예측값을 이용하여 상기 출력 데이터(Xreal)가 상기 생성 모델의 학습에 사용된 데이터인지 여부에 대한 예측값을 산출하여 출력하는 단계를 포함한다.
일 실시 예에 따르면, 상기 생성 모델은, GAN(Generative Adversarial Network) 모델일 수 있다.
일 실시 예에 따르면, 상기 (a) 단계에서의 생성 모델은, 블랙박스(Black-box) 환경에 놓인 생성 모델일 수 있다.
일 실시 예에 따르면, 상기 프로세서 및 메모리를 포함하는 장치는, 1개의 생성자(Generator)와 상기 K개의 판별자(Discriminator)의 구조로 이루어진 GAN 모델을 포함할 수 있다.
일 실시 예에 따르면, 상기 (d) 단계 및 (e) 단계 사이에, (d´) 상기 K개의 개별 출력 데이터(Xreal, 1 ~ Xreal, K)를 각각 판별한 결과를 상기 1개의 생성자와 K개의 판별자 각각이 학습하는 단계를 더 포함할 수 있다.
일 실시 예에 따르면, 상기 (e) 단계는, (e-1) 상기 K개의 개별 출력 데이터(Xreal, 1 ~ Xreal, K)를 각각 판별한 결과인 예측값을 모두 합산하는 단계 및 (e-2) 상기 합산한 예측값을 K로 나누어 상기 출력 데이터(Xreal)가 상기 생성 모델의 학습에 사용된 데이터인지 여부에 대한 예측값을 산출하여 출력하는 단계를 포함할 수 있다.
일 실시 예에 따르면, 상기 출력 데이터(Xreal)가 상기 생성 모델의 학습에 사용된 데이터인지 여부에 대한 예측값은, 1에 가까울수록 상기 출력 데이터(Xreal)가 상기 생성 모델의 학습에 사용된 데이터일 가능성이 높아질 수 있다.
일 실시 예에 따르면, 상기 (e) 단계 이후에, (f) 상기 (a) 단계로 회귀하여 (e) 단계까지 수행하는 단계, (g) 상기 (f) 단계를 N(N은 2 이상의 자연수)회 반복 수행하는 단계, (h) 상기 N회 반복에 따라 상기 (a) 단계에서 무작위로 수집한 상기 생성 모델의 출력 데이터(Xreal)가 상기 생성 모델의 학습에 사용된 데이터인지 여부에 대하여 산출한 예측값 N개를 내림차순 정렬하는 단계 및 (j) 상기 내림차순 정렬한 예측값 N개 중, 상위n(n은 자연수, n≤N) 번째 까지의 예측값을 나타내는 출력 데이터를 상기 생성 모델의 학습에 사용된 데이터로 판별하는 단계를 더 포함할 수 있다.
상기 기술적 과제를 달성하기 위한 본 발명의 또 다른 실시 예에 따른 생성 모델을 대상으로 멤버십 추론 공격을 수행하는 장치는 하나 이상의 프로세서, 네트워크 인터페이스, 상기 프로세서에 의해 수행되는 컴퓨터 프로그램을 로드(Load)하는 메모리 및 대용량 네트워크 데이터 및 상기 컴퓨터 프로그램을 저장하는 스토리지를 포함하되, 상기 컴퓨터 프로그램은 상기 하나 이상의 프로세서에 의해, (A) 공격 대상인 타겟(Target) 모델로서 상기 생성 모델의 출력 데이터(Xreal)를 무작위로 수집하는 오퍼레이션, (B) 상기 수집한 생성 모델의 출력 데이터(Xreal)를 K(K는 2 이상의 자연수)개로 분리하여(Partitioning) K개의 개별 출력 데이터(Xreal, 1 ~ Xreal, K)를 생성하는 오퍼레이션, (C) 상기 생성 모델의 출력 데이터(Xreal)를 모방한 모방 출력 데이터(Xfake)를 생성하는 오퍼레이션, (D) 상기 생성한 K개의 개별 출력 데이터(Xreal, 1 ~ Xreal, K) 각각과 상기 생성한 모방 출력 데이터(Xfake)를 1:1로 매칭하여, 이들 매칭한 데이터 중에서 상기 K개의 개별 출력 데이터(Xreal, 1 ~ Xreal, K)를 각각 판별한 결과인 예측값을 출력하는 오퍼레이션, (E) 상기 K개의 개별 출력 데이터(Xreal, 1 ~ Xreal, K)를 각각 판별한 결과인 예측값을 이용하여 상기 출력 데이터(Xreal)가 상기 생성 모델의 학습에 사용된 데이터인지 여부에 대한 예측값을 산출하여 출력하는 오퍼레이션을 실행한다.
상기 기술적 과제를 달성하기 위한 본 발명의 또 다른 실시 예에 따른 매체에 저장된 컴퓨터 프로그램은 컴퓨팅 장치와 결합하여, (AA) 공격 대상인 타겟(Target) 모델로서 상기 생성 모델의 출력 데이터(Xreal)를 무작위로 수집하는 단계, (BB) 상기 수집한 생성 모델의 출력 데이터(Xreal)를 K(K는 2 이상의 자연수)개로 분리하여(Partitioning) K개의 개별 출력 데이터(Xreal, 1 ~ Xreal, K)를 생성하는 단계, (CC) 상기 생성 모델의 출력 데이터(Xreal)를 모방한 모방 출력 데이터(Xfake)를 생성하는 단계, (DD) 상기 생성한 K개의 개별 출력 데이터(Xreal, 1 ~ Xreal, K) 각각과 상기 생성한 모방 출력 데이터(Xfake)를 1:1로 매칭하여, 이들 매칭한 데이터 중에서 상기 K개의 개별 출력 데이터(Xreal, 1 ~ Xreal, K)를 각각 판별한 결과인 예측값을 출력하는 단계, (EE) 상기 K개의 개별 출력 데이터(Xreal, 1 ~ Xreal, K)를 각각 판별한 결과인 예측값을 이용하여 상기 출력 데이터(Xreal)가 상기 생성 모델의 학습에 사용된 데이터인지 여부에 대한 예측값을 산출하여 출력하는 단계를 실행한다.
상기와 같은 본 발명에 따르면, 공격 대상인 타겟 모델로서 생성 모델의 출력 데이터(Xreal)를 장치가 포함하는 GAN 모델의 판별자의 개수인 K개로 분리하여 개별 출력 데이터(Xreal, 1 ~ Xreal, K)를 생성하고, 각각의 판별자가 이를 학습하고 다른 데이터를 학습할 수 없는바, 판별자의 학습 속도가 생성자의 학습 속도보다 빠름으로 인해 발생하는 조기 수렴 현상의 발생 가능성 자체를 차단함으로써 장치의 학습 성능 향상을 이룰 수 있다는 효과가 있다.
또한, 장치의 학습 성능 향상이 이루어지는 만큼, 장치 자체의 성능 향상이 이루어지기에 멤버십 추론 공격 성공률까지 향상시킬 수 있다는 효과가 있다.
본 발명의 효과들은 이상에서 언급한 효과들로 제한되지 않으며, 언급되지 않은 또 다른 효과들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해 될 수 있을 것이다.
도 1은 보편적인 GAN 모델의 구조를 예시적으로 도시한 도면이다.
도 2는 본 발명의 제1 실시 예에 따른 생성 모델을 대상으로 멤버십 추론 공격을 수행하는 장치가 포함하는 전체 구성을 예시적으로 도시한 도면이다.
도 3은 도 2에 도시된 본 발명의 제1 실시 예에 따른 생성 모델을 대상으로 멤버십 추론 공격을 수행하는 장치를 기능적인 구성을 포함하는 형태로 예시적으로 도시한 도면이다.
도 4는 본 발명의 제2 실시 예에 따른 생성 모델을 대상으로 멤버십 추론 공격을 수행하는 방법의 대표적인 단계를 나타낸 순서도이다.
도 5는 도 3에 도시된 본 발명의 제1 실시 예에 따른 생성 모델을 대상으로 멤버십 추론 공격을 수행하는 장치를 기능적인 구성을 포함하는 형태로 도시한 도면에서, 각 기능적인 구성의 내부가 보이도록 예시적으로 도시한 도면이다.
도 6은 본 발명의 제2 실시 예에 따른 생성 모델을 대상으로 멤버십 추론 공격을 수행하는 방법에 대하여 판별자의 개수 K를 2, 5, 10, 20으로 설정한 경우에 종래 기술과의 멤버십 추론 공격 성공률을 나타낸 시뮬레이션 결과이다.
본 발명의 목적과 기술적 구성 및 그에 따른 작용 효과에 관한 자세한 사항은 본 발명의 명세서에 첨부된 도면에 의거한 이하의 상세한 설명에 의해 보다 명확하게 이해될 것이다. 첨부된 도면을 참조하여 본 발명에 따른 실시 예를 상세하게 설명한다.
본 명세서에서 개시되는 실시 예들은 본 발명의 범위를 한정하는 것으로 해석되거나 이용되지 않아야 할 것이다. 이 분야의 통상의 기술자에게 본 명세서의 실시 예를 포함한 설명은 다양한 응용을 갖는다는 것이 당연하다. 따라서, 본 발명의 상세한 설명에 기재된 임의의 실시 예들은 본 발명을 보다 잘 설명하기 위한 예시적인 것이며 본 발명의 범위가 실시 예들로 한정되는 것을 의도하지 않는다.
도면에 표시되고 아래에 설명되는 기능 블록들은 가능한 구현의 예들일 뿐이다. 다른 구현들에서는 상세한 설명의 사상 및 범위를 벗어나지 않는 범위에서 다른 기능 블록들이 사용될 수 있다. 또한, 본 발명의 하나 이상의 기능 블록이 개별 블록들로 표시되지만, 본 발명의 기능 블록들 중 하나 이상은 동일 기능을 실행하는 다양한 하드웨어 및 소프트웨어 구성들의 조합일 수 있다.
또한, 어떤 구성요소들을 포함한다는 표현은 "개방형"의 표현으로서 해당 구성요소들이 존재하는 것을 단순히 지칭할 뿐이며, 추가적인 구성요소들을 배제하는 것으로 이해되어서는 안 된다.
나아가 어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급될 때에는, 그 다른 구성요소에 직접적으로 연결 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 한다.
이하에서는 도면들을 참조하여 본 발명의 세부적인 실시 예들에 대해 살펴보도록 한다.
도 2는 본 발명의 제1 실시 예에 따른 생성 모델을 대상으로 멤버십 추론 공격을 수행하는 장치(100)가 포함하는 전체 구성을 예시적으로 도시한 도면이다.
그러나 이는 본 발명의 목적을 달성하기 위한 바람직한 실시 예일 뿐이며, 필요에 따라 일부 구성이 추가되거나 삭제될 수 있고, 어느 한 구성이 수행하는 역할을 다른 구성이 함께 수행할 수도 있음은 물론이다.
본 발명의 제1 실시 예에 따른 생성 모델을 대상으로 멤버십 추론 공격을 수행하는 장치(100)는 프로세서(10), 네트워크 인터페이스(20), 메모리(30), 스토리지(40) 및 이들을 연결하는 데이터 버스(50)를 포함할 수 있으며, 기타 본 발명의 목적을 달성함에 있어 요구되는 부가적인 구성들을 더 포함할 수 있음은 물론이라 할 것이다.
프로세서(10)는 각 구성의 전반적인 동작을 제어한다. 프로세서(10)는 CPU(Central Processing Unit), MPU(Micro Processer Unit), MCU(Micro Controller Unit) 또는 본 발명이 속하는 기술 분야에서 널리 알려져 있는 형태의 프로세서 중 어느 하나일 수 있다. 아울러, 프로세서(10)는 본 발명의 제2 실시 예에 따른 생성 모델을 대상으로 멤버십 추론 공격을 수행하는 방법을 수행하기 위한 적어도 하나의 애플리케이션 또는 프로그램에 대한 연산을 수행할 수 있다.
네트워크 인터페이스(20)는 본 발명의 제1 실시 예에 따른 생성 모델을 대상으로 멤버십 추론 공격을 수행하는 장치(100)의 유무선 인터넷 통신을 지원하며, 그 밖의 공지의 통신 방식을 지원할 수도 있다. 따라서 네트워크 인터페이스(20)는 그에 따른 통신 모듈을 포함하여 구성될 수 있다.
메모리(30)는 각종 정보, 명령 및/또는 정보를 저장하며, 본 발명의 제2 실시 예에 따른 생성 모델을 대상으로 멤버십 추론 공격을 수행하는 방법을 수행하기 위해 스토리지(40)로부터 하나 이상의 컴퓨터 프로그램(41)을 로드할 수 있다. 도 2에서는 메모리(30)의 하나로 RAM을 도시하였으나 이와 더불어 다양한 저장 매체를 메모리(30)로 이용할 수 있음은 물론이다.
스토리지(40)는 하나 이상의 컴퓨터 프로그램(41) 및 대용량 네트워크 정보(42)를 비임시적으로 저장할 수 있다. 이러한 스토리지(40)는 ROM(Read Only Memory), EPROM(Erasable Programmable ROM), EEPROM(Electrically Erasable Programmable ROM), 플래시 메모리 등과 같은 비휘발성 메모리, 하드 디스크, 착탈형 디스크, 또는 본 발명이 속하는 기술 분야에서 널리 알려져 있는 임의의 형태의 컴퓨터로 읽을 수 있는 기록 매체 중 어느 하나일 수 있다.
컴퓨터 프로그램(41)은 메모리(30)에 로드되어, 하나 이상의 프로세서(10)에 의해, (A) 공격 대상인 타겟(Target) 모델로서 상기 생성 모델의 출력 데이터(Xreal)를 무작위로 수집하는 오퍼레이션, (B) 상기 수집한 생성 모델의 출력 데이터(Xreal)를 K(K는 2 이상의 자연수)개로 분리하여(Partitioning) K개의 개별 출력 데이터(Xreal, 1 ~ Xreal, K)를 생성하는 오퍼레이션, (C) 상기 생성 모델의 출력 데이터(Xreal)를 모방한 모방 출력 데이터(Xfake)를 생성하는 오퍼레이션, (D) 상기 생성한 K개의 개별 출력 데이터(Xreal, 1 ~ Xreal, K) 각각과 상기 생성한 모방 출력 데이터(Xfake)를 1:1로 매칭하여, 이들 매칭한 데이터 중에서 상기 K개의 개별 출력 데이터(Xreal, 1 ~ Xreal, K)를 각각 판별한 결과인 예측값을 출력하는 오퍼레이션, (E) 상기 K개의 개별 출력 데이터(Xreal, 1 ~ Xreal, K)를 각각 판별한 결과인 예측값을 이용하여 상기 출력 데이터(Xreal)가 상기 생성 모델의 학습에 사용된 데이터인지 여부에 대한 예측값을 산출하여 출력하는 오퍼레이션을 실행할 수 있다.
이상 간단하게 언급한 컴퓨터 프로그램(41)이 수행하는 오퍼레이션은 컴퓨터 프로그램(41)의 일 기능으로 볼 수 있으며, 보다 자세한 설명은 본 발명의 제2 실시 예에 따른 생성 모델을 대상으로 멤버십 추론 공격을 수행하는 방법에 대한 설명에서 후술하도록 한다.
데이터 버스(50)는 이상 설명한 프로세서(10), 네트워크 인터페이스(20), 메모리(30) 및 스토리지(40) 사이의 명령 및/또는 정보의 이동 경로가 된다.
이상 설명한 본 발명의 제1 실시 예에 따른 생성 모델을 대상으로 멤버십 추론 공격을 수행하는 장치(100)는 독립된 디바이스의 형태, 예를 들어 전자 기기나 서버(클라우드 포함)의 형태일 수 있으며, 후자의 경우 전용 애플리케이션의 형태로 사용자 단말에 다운로드되어 설치될 수 있을 것이다.
아울러, 여기서 전자 기기는 스마트폰, 태블릿 PC, 노트북 PC, PDA, PMP 등과 같이 휴대가 용이한 포터블 기기 뿐만 아니라 한 장소에 고정 설치되어 사용하는 데스크톱 PC 등이라도 무방하며, 네트워크 기능만 보유하고 있다면 전자 기기는 어떠한 것이라도 무방하다 할 것이다.
한편, 도 3은 이상 설명한 본 발명의 제1 실시 예에 따른 생성 모델을 대상으로 멤버십 추론 공격을 수행하는 장치(100)를 기능적인 구성을 포함하는 형태로 도시한 도면이다.
도 3을 참조하면, 본 발명의 제1 실시 예에 따른 생성 모델을 대상으로 멤버십 추론 공격을 수행하는 장치(100)는 데이터 수집부(110), 데이터 파티셔닝부(120), 학습부(130), 예측부(140) 및 모방 데이터 생성부(150)를 포함하고 있음을 확인할 수 있으며, 여기서 예측부(140)가 GAN 모델의 판별자에, 모방 데이터 생성부(150)가 생성자에 해당한다 할 것이다. 이에 대해서는 뒤에서 자세히 설명하도록 한다.
이하, 본 발명의 제1 실시 예에 따른 생성 모델을 대상으로 멤버십 추론 공격을 수행하는 장치(100)가 독립된 디바이스 형태임을 전제로 본 발명의 제2 실시 예에 따른 생성 모델을 대상으로 멤버십 추론 공격을 수행하는 방법에 대하여 도 4내지 도 6을 참조하여 설명하도록 한다.
도 4는 본 발명의 제2 실시 예에 따른 생성 모델을 대상으로 멤버십 추론 공격을 수행하는 방법의 대표적인 단계를 나타낸 순서도이다.
그러나 이는 본 발명의 목적을 달성함에 있어서 바람직한 실시 예일 뿐이며, 필요에 따라 일부 단계가 추가 또는 삭제될 수 있음은 물론이고, 어느 한 단계가 다른 단계에 포함되어 수행될 수도 있다.
한편, 각 단계는 본 발명의 제1 실시 예에 따른 생성 모델을 대상으로 멤버십 추론 공격을 수행하는 장치(100)를 통해 이루어지는 것을 전제로 하며, 설명의 편의를 위해 "장치(100)"로 명명하도록 함을 미리 밝혀두는 바이다.
우선, 장치(100)가 공격 대상인 타겟(Target) 모델로서 생성 모델의 출력 데이터(Xreal)를 무작위로 수집한다(S410).
여기서 공격 대상인 타겟 모델로서의 생성 모델은 생성자와 판별자 구조로 이루어진 GAN(Generative Adversarial Network) 모델일 수 있으며, 그에 따라 S410 단계에서 수집하는 생성 모델의 출력 데이터(Xreal)는 해당 생성 모델의 생성자가 생성하는 모방 데이터일 것이다.
한편, S410 단계에서 공격 대상인 생성 모델은 블랙박스(Black-box) 환경에 놓인 생성 모델일 수 있는바, 그에 따라 장치(100)는 생성 모델의 출력 데이터(Xreal)만 수집할 수 있을 뿐, 기타 다른 정보에 대해서는 전혀 알 수가 없다 할 것이다.
생성 모델의 출력 데이터(Xreal)의 수집은 무작위로 이루어지는바, 여기서 무작위는 시간적인 개념과 양적인 개념 모두를 포함하는 광의의 개념이다. 예를 들어, 전자의 경우 일정한 데이터 수집 시간을 설정해두고 해당 시간 내에 생성 모델이 출력하는 출력 데이터(Xreal)를 전부 수집하거나 또는 일부를 수집할 수도 있으며, 후자의 경우 목표로 하는 수집 데이터의 크기를 설정해두고 시간과 무관하게 생성 모델이 출력하는 출력 데이터(Xreal)의 크기가 목표로하는 데이터의 크기가 될 때까지 계속 수집할 수 있을 것이나, 이는 하나의 실시 예에 불과하며 이에 반드시 한정되는 것은 아니라 할 것이다.
생성 모델의 출력 데이터(Xreal)를 무작위로 수집했다면, 장치(100)가 수집한 생성 모델의 출력 데이터(Xreal)를 K(K는 2 이상의 자연수)개로 분리하여(Partitioning) K개의 개별 출력 데이터(Xreal, 1 ~ Xreal, K)를 생성한다(S420).
S420 단계는 쉽게 이야기하면 앞서 S420 단계에서 수집한 공격 대상인 생성 모델의 출력 데이터(Xreal)를 쪼개는 단계인바, 본 발명의 제2 실시 예에 따른 생성 모델을 대상으로 멤버십 추론 공격을 수행하는 방법에 있어서 핵심적인 단계로 볼 수 있는바, 이로 인해 조기 수렴 현상의 발생을 방지할 수 있기 때문이다.
보다 구체적으로, 장치(100)는 S410 단계에서 수집한 생성 모델의 출력 데이터(Xreal)를 K 개로 분리하며, 여기서 출력 데이터(Xreal) 분리의 기준이 되는 K개는 장치(100)가 포함하는 GAN 모델의 판별자의 개수이다.
통상적인 GAN 모델은 앞서 도 1에 예시적으로 도시된 바와 같이 하나의 생성자와 하나의 판별자를 포함하는 것이 일반적이겠으나, 본 발명의 제2 실시 예에 따른 생성 모델을 대상으로 멤버십 추론 공격을 수행하는 방법에서는 장치(100)가 포함하는 GAN 모델이 K개라는 복수 개의 판별자를 포함하도록 구성하는 것이다. 이를 통한 조기 수렴 현상의 발생 방지 효과는 후술하도록 한다.
K개의 개별 출력 데이터(Xreal, 1 ~ Xreal, K)를 생성했다면, 장치(100)가 생성 모델의 출력 데이터(Xreal)를 모방한 모방 출력 데이터(Xfake)를 생성한다(S430).
보다 구체적으로, 모방 출력 데이터(Xfake)의 생성은 장치(100)가 포함하는 GAN 모델의 생성자가 학습 정도에 대응되는 모방 출력 데이터(Xfake)를 생성해낼 것이며, 장치(100)가 포함하는 GAN 모델은 복수 개의 판별자를 가지나, 생성자는 한 개이기 때문에 생성하는 모방 출력 데이터(Xfake)의 개수 역시 한 개라 할 것이다.
이를 제외하고 GAN 모델에서 모방 출력 데이터(Xfake)의 생성은 일반적인 공지기술이므로 자세한 설명은 생략하도록 한다.
모방 출력 데이터(Xfake)까지 생성했다면, 장치(100)가 생성한 K개의 개별 출력 데이터(Xreal, 1 ~ Xreal, K) 각각과 생성한 모방 출력 데이터(Xfake)를 1:1로 매칭하여, 이들 매칭한 데이터 중에서 K개의 개별 출력 데이터(Xreal, 1 ~ Xreal, K)를 각각 판별한 결과인 예측값을 출력한다(S440).
통상적인 GAN 모델은 하나의 생성자와 하나의 판별자를 포함하는 구조를 가지며, 판별자는 입력된 학습 데이터와 생성자가 생성한 모방 데이터 중 어느 데이터가 학습 데이터에 해당하는지를 판별하게 되며, 판별 결과에 대하여 판별자와 생성자 모두 학습을 진행하게 된다. 본 발명의 제2 실시 예에 따른 생성 모델을 대상으로 멤버십 추론 공격을 수행하는 방법 역시 이러한 방향에서 벗어나지 않으나, 차이점은 장치(100)가 포함하는 GAN 모델이 K개의 판별자를 가진다는 점이다.
도 5는 도 3에 도시된 본 발명의 제1 실시 예에 따른 생성 모델을 대상으로 멤버십 추론 공격을 수행하는 장치(100)를 기능적인 구성을 포함하는 형태로 도시한 도면에서, 각 기능적인 구성의 내부가 보이도록 예시적으로 도시한 도면이다.
도 5를 참조하면, 데이터 수집부(110)가 수집한 생성 모델의 출력 데이터(Xreal)가 데이터 파티셔닝부(120)로 인해 K개의 개별 출력 데이터(Xreal, 1 ~ Xreal, K)로 분리된 것을 확인할 수 있으며, 학습부(130)는 K개의 판별자를 포함하고 있음을 확인할 수 있다.
여기서 1개의 판별자를 기준으로 설명하면, 판별자는 S430 단꼐에서 생성한 모방 출력 데이터(Xfake), 보다 구체적으로 모방 데이터 생성부(150)가 생성한 모방 출력 데이터(Xfake)와 데이터 파티셔닝부(120)가 K개로 분리한 출력 데이터(XReal)인 개별 출력 데이터(Xreal, 1 ~ Xreal, K) 중 어느 하나를 1:1로 매칭하여 두 개의 데이터 중 어느 데이터가 개별 출력 데이터((Xreal, 1 ~ Xreal, K)에 해당하는지 판별하는 것이다. 즉, K개의 판별자 각각은 생성 모델의 출력 데이터(Xreal) 전체와 모방 출력 데이터(Xfake)를 1:1로 매칭하여 두 개의 데이터 중 어느 데이터가 생성 모델의 출력 데이터(Xreal)에 해당하는지 판별할 필요가 없으며, 생성 모델의 출력 데이터(Xreal)를 K개로 분리한 K개의 개별 출력 데이터(Xreal, 1 ~ Xreal, K) 중 어느 하나와 모방 출력 데이터(Xfake)를 1:1로 매칭하면 충분하다는 것이다.
다시 도 5를 참조하면, 학습부(130)가 포함하는 복수 개의 판별자 중, 제일 위에 위치한 판별자인 Dattack, 1은 데이터 파이셔닝부(120)로부터 Xreal, 1라는 개별 출력 데이터를 제공 받고, 모방 데이터 생성부(150)로부터는 모방 출력 데이터(Xfake)를 제공 받는 것을 확인할 수 있으며, 그 바로 아래 위치한 판별자인 Dattack, 2는 데이터 파이셔닝부(120)로부터 Xreal, 2라는 개별 출력 데이터를 제공 받고, 모방 데이터 생성부(150)로부터는 모방 출력 데이터(Xfake)를 제공 받는 것을 확인할 수 있고, 그 아래 위치한 Dattack, 3은 데이터 파이셔닝부(120)로부터 Xreal, 3이라는 개별 출력 데이터를 제공 받고, 모방 데이터 생성부(150)로부터는 모방 출력 데이터(Xfake)를 제공 받는 것을 확인할 수 있으며, 가장 아래 위치한 Dattack, K는 데이터 파이셔닝부(120)로부터 Xreal, K라는 개별 출력 데이터를 제공 받고, 모방 데이터 생성부(150)로부터는 모방 출력 데이터(Xfake)를 제공 받는 것을 확인할 수 있다.
K개의 개별 출력 데이터(Xreal, 1 ~ Xreal, K) 중 어느 하나와 모방 출력 데이터(Xfake)를 1:1로 매칭하여 각각 판별한 결과는 1개의 생성자와 K개의 판별자 각각이 학습할 수 있으며(S445), 이를 통해 각각의 판별자는 생성 모델의 전체 출력 데이터(Xreal)에 대함이 아닌 K개로 분리된 개별 출력 데이터(Xreal, 1 ~ Xreal, K) 각각에 대해서만 학습이 진행되며, 그에 반하여 생성자는 한 개이기 때문에 모든 판별자들과 상보적으로 학습될 수 있다.
이것이 앞서 설명을 보류한 조기 수렴 현상의 발생을 방지할 수 있는 핵심에 해당하는바, 판별자의 학습 속도가 생성자의 학습 속도 보다 빠르기에 발생하는 현상이 조기 수렴 현상임에 반하여, 본 발명의 제2 실시 예에 따른 생성 모델을 대상으로 멤버십 추론 공격을 수행하는 방법에서는 학습 속도가 빠른 판별자에 대하여 전체 출력 데이터(Xreal)가 아니라 K개로 분리한 개별 출력 데이터(Xreal, 1 ~ Xreal, K)에 대해서만 학습이 진행될 수 있으므로 조기에 학습이 수렴될 가능성 자체를 제거했기 때문이다.
마지막으로, K개의 개별 출력 데이터(Xreal, 1 ~ Xreal, K)를 각각 판별한 결과인 예측값을 이용하여 출력 데이터(Xreal)가 생성 모델의 학습에 사용된 데이터인지 여부에 대한 예측값을 산출하여 출력한다(S450).
앞서 S440 단계에서 출력한 예측값은 생성 모델의 출력 데이터(Xreal)를 K개로 분리한 K개의 개별 출력 데이터(Xreal, 1 ~ Xreal, K) 각각과 모방 출력 데이터(Xfake)의 판별 결과이기에, K개로 분리하기 이전의 출력 데이터(Xreal)와 모방 출력 데이터(Xfake)의 판별 결과로 변환해야 하며, 이것이 S450 단계에 해당한다. 쉽게 이야기하면 K개의 판별자들의 판별 결과를 하나로 모으는 것이며, 본 발명의 제2 실시 예에 따른 생성 모델을 대상으로 멤버십 추론 공격을 수행하는 방법에서는 이를 위해 Soft-Voting 전략을 적용하였다.
보다 구체적으로, K개의 판별자들의 판별 결과를 하나로 모으기 위해 장치(100)는 K개의 개별 출력 데이터(Xreal, 1 ~ Xreal, K)를 각각 판별한 결과인 예측값을 모두 합산하며(S450-1), 합산한 예측값을 K로 나누어 출력 데이터(Xreal)가 생성 모델의 학습에 사용된 데이터인지 여부에 대한 예측값을 산출하여 출력할 수 있다(S450-2). 즉, 평균을 산출하는 것인바, K개로 분리하기는 했지만 K개의 개별 출력 데이터(Xreal, 1 ~ Xreal, K) 모두 1개의 출력 데이터(Xreal)로부터 분리되어 파생된 것이기 때문에 K개의 개별 출력 데이터(Xreal, 1 ~ Xreal, K) 각각에 대한 예측값의 평균을 구함으로써 1개의 출력 데이터(Xreal)에 대한 예측값으로 간주할 수 있다는 것이며, 여기서 예측값은 1에 가까울수록 출력 데이터(Xreal)가 생성 모델의 학습에 사용된 데이터일 가능성이 높아지는 것으로 볼 수 있다 할 것이다.
이상 설명한 S410 단계 내지 S450 단계가 1회 수행된 것 만으로 학습이 완료되었다고는 볼 수 없는바, S450 단계 이후에, S410 단계로 회귀하여 S450 단계까지 수행하는 단계(S460), S460 단계를 N(N은 2 이상의 자연수)회 반복 수행하는 단계(S470), N회 반복에 따라 S460 단계에서 무작위로 수집한 생성 모델의 출력 데이터(Xreal)가 생성 모델의 학습에 사용된 데이터인지 여부에 대하여 산출한 예측값 N개를 내림차순 정렬하는 단계(S480) 및 내림차순 정렬한 예측값 N개 중, 상위n(n은 자연수, n≤N) 번째 까지의 예측값을 나타내는 출력 데이터를 생성 모델의 학습에 사용된 데이터로 판별하는 단계(S490)가 더 수행될 수 있으며, N이 커지면 커질수록 S410 단계 내지 S450 단계의 반복 수행 횟수가 늘어날 것인바, 학습의 완성도가 향상될 것이며, 이는 결국 생성 모델의 학습에 사용된 데이터 판별 결과의 정확도 향상에 이바지할 수 있을 것이다.
지금까지 본 발명의 제2 실시 예에 따른 생성 모델을 대상으로 멤버십 추론 공격을 수행하는 방법에 대하여 설명하였다. 본 발명에 따르면, 공격 대상인 타겟 모델로서 생성 모델의 출력 데이터(Xreal)를 장치(100)가 포함하는 GAN 모델의 판별자의 개수인 K개로 분리하여 개별 출력 데이터(Xreal, 1 ~ Xreal, K)를 생성하고, 각각의 판별자가 이를 학습하고 다른 데이터를 학습할 수 없는바, 판별자의 학습 속도가 생성자의 학습 속도보다 빠름으로 인해 발생하는 조기 수렴 현상의 발생 가능성 자체를 차단함으로써 장치(100)의 학습 성능 향상을 이룰 수 있다.
도 6은 본 발명의 제2 실시 예에 따른 생성 모델을 대상으로 멤버십 추론 공격을 수행하는 방법에 대하여 판별자의 개수 K를 2, 5, 10, 20으로 설정한 경우에 종래 기술과의 멤버십 추론 공격 성공률을 나타낸 시뮬레이션 결과이다. 도 6을 참조하면 K가 2, 5, 10,20 어느 경우에서나 종래 기술의 성공률보다 성공률이 높음을 확인할 수 있는바, 학습 성능의 향상 더 나아가 전체 장치(100)의 성능 향상까지 이루어냈음을 확인할 수 있다 할 것이다.
한편, 본 발명의 제1 실시 예에 따른 생성 모델을 대상으로 멤버십 추론 공격을 수행하는 장치(100)와 본 발명의 제2 실시 예에 따른 생성 모델을 대상으로 멤버십 추론 공격을 수행하는 방법은 모든 기술적 특징을 동일하게 포함하는 본 발명의 제3 실시 예에 따른 컴퓨터로 판독 가능한 매체에 저장된 컴퓨터 프로그램으로 구현할 수도 있는바, 이 경우 컴퓨팅 장치와 결합하여, (AA) 공격 대상인 타겟(Target) 모델로서 상기 생성 모델의 출력 데이터(Xreal)를 무작위로 수집하는 단계, (BB) 상기 수집한 생성 모델의 출력 데이터(Xreal)를 K(K는 2 이상의 자연수)개로 분리하여(Partitioning) K개의 개별 출력 데이터(Xreal, 1 ~ Xreal, K)를 생성하는 단계, (CC) 상기 생성 모델의 출력 데이터(Xreal)를 모방한 모방 출력 데이터(Xfake)를 생성하는 단계, (DD) 상기 생성한 K개의 개별 출력 데이터(Xreal, 1 ~ Xreal, K) 각각과 상기 생성한 모방 출력 데이터(Xfake)를 1:1로 매칭하여, 이들 매칭한 데이터 중에서 상기 K개의 개별 출력 데이터(Xreal, 1 ~ Xreal, K)를 각각 판별한 결과인 예측값을 출력하는 단계, (EE) 상기 K개의 개별 출력 데이터(Xreal, 1 ~ Xreal, K)를 각각 판별한 결과인 예측값을 이용하여 상기 출력 데이터(Xreal)가 상기 생성 모델의 학습에 사용된 데이터인지 여부에 대한 예측값을 산출하여 출력하는 단계를 실행할 수 있을 것이며, 중복 서술을 위해 자세히 기재하지는 않았지만 본 발명의 제1 실시 예에 따른 생성 모델을 대상으로 멤버십 추론 공격을 수행하는 장치(100) 및 본 발명의 제2 실시 예에 따른 생성 모델을 대상으로 멤버십 추론 공격을 수행하는 방법 에 적용된 모든 기술적 특징은 본 발명의 제3 실시 예에 따른 컴퓨터로 판독 가능한 매체에 저장된 컴퓨터 프로그램에 모두 동일하게 적용될 수 있음은 물론이라 할 것이다.
이상 첨부된 도면을 참조하여 본 발명의 실시 예들을 설명하였지만, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명이 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시 예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다.
10: 프로세서
20: 네트워크 인터페이스
30: 메모리
40: 스토리지
41: 컴퓨터 프로그램
50: 정보 버스
100: 생성 모델을 대상으로 멤버십 추론 공격을 수행하는 장치
110: 데이터 수집부
120: 데이터 파티셔닝부
130: 학습부
140: 예측부
150: 모방 데이터 생성부

Claims (10)

  1. 프로세서 및 메모리를 포함하는 장치가 생성 모델(Generative Model)을 대상으로 멤버십 추론 공격을 수행하는 방법에 있어서,
    (a) 공격 대상인 타겟(Target) 모델로서 상기 생성 모델의 출력 데이터(Xreal)를 무작위로 수집하는 단계;
    (b) 상기 수집한 생성 모델의 출력 데이터(Xreal)를 K(K는 2 이상의 자연수)개로 분리하여(Partitioning) K개의 개별 출력 데이터(Xreal, 1 ~ Xreal, K)를 생성하는 단계;
    (c) 상기 생성 모델의 출력 데이터(Xreal)를 모방한 모방 출력 데이터(Xfake)를 생성하는 단계;
    (d) 상기 생성한 K개의 개별 출력 데이터(Xreal, 1 ~ Xreal, K) 각각과 상기 생성한 모방 출력 데이터(Xfake)를 1:1로 매칭하여, 이들 매칭한 데이터 중에서 상기 K개의 개별 출력 데이터(Xreal, 1 ~ Xreal, K)를 각각 판별한 결과인 예측값을 출력하는 단계;
    (e) 상기 K개의 개별 출력 데이터(Xreal, 1 ~ Xreal, K)를 각각 판별한 결과인 예측값을 이용하여 상기 출력 데이터(Xreal)가 상기 생성 모델의 학습에 사용된 데이터인지 여부에 대한 예측값을 산출하여 출력하는 단계;
    를 포함하는 생성 모델을 대상으로 멤버십 추론 공격을 수행하는 방법.
  2. 제1항에 있어서,
    상기 생성 모델은,
    GAN(Generative Adversarial Network) 모델인,
    생성 모델을 대상으로 멤버십 추론 공격을 수행하는 방법.
  3. 제1항에 있어서,
    상기 (a) 단계에서의 생성 모델은,
    블랙박스(Black-box) 환경에 놓인 생성 모델인,
    생성 모델을 대상으로 멤버십 추론 공격을 수행하는 방법.
  4. 제1항에 있어서,
    상기 프로세서 및 메모리를 포함하는 장치는,
    1개의 생성자(Generator)와 K개의 판별자(Discriminator)의 구조로 이루어진 GAN 모델을 포함하는,
    생성 모델을 대상으로 멤버십 추론 공격을 수행하는 방법.
  5. 제4항에 있어서,
    상기 (d) 단계 및 (e) 단계 사이에,
    (d´) 상기 K개의 개별 출력 데이터(Xreal, 1 ~ Xreal, K)를 각각 판별한 결과를 상기 1개의 생성자와 K개의 판별자 각각이 학습하는 단계;
    를 더 포함하는 생성 모델을 대상으로 멤버십 추론 공격을 수행하는 방법.
  6. 제1항에 있어서,
    상기 (e) 단계는,
    (e-1) 상기 K개의 개별 출력 데이터(Xreal, 1 ~ Xreal, K)를 각각 판별한 결과인 예측값을 모두 합산하는 단계; 및
    (e-2) 상기 합산한 예측값을 K로 나누어 상기 출력 데이터(Xreal)가 상기 생성 모델의 학습에 사용된 데이터인지 여부에 대한 예측값을 산출하여 출력하는 단계;
    를 포함하는 생성 모델을 대상으로 멤버십 추론 공격을 수행하는 방법.
  7. 제1항에 있어서,
    상기 출력 데이터(Xreal)가 상기 생성 모델의 학습에 사용된 데이터인지 여부에 대한 예측값은,
    1에 가까울수록 상기 출력 데이터(Xreal)가 상기 생성 모델의 학습에 사용된 데이터일 가능성이 높아지는,
    생성 모델을 대상으로 멤버십 추론 공격을 수행하는 방법.
  8. 제1항에 있어서,
    상기 (e) 단계 이후에,
    (f) 상기 (a) 단계로 회귀하여 (e) 단계까지 수행하는 단계;
    (g) 상기 (f) 단계를 N(N은 2 이상의 자연수)회 반복 수행하는 단계;
    (h) 상기 N회 반복에 따라 상기 (a) 단계에서 무작위로 수집한 상기 생성 모델의 출력 데이터(Xreal)가 상기 생성 모델의 학습에 사용된 데이터인지 여부에 대하여 산출한 예측값 N개를 내림차순 정렬하는 단계; 및
    (j) 상기 내림차순 정렬한 예측값 N개 중, 상위n(n은 자연수, n≤N) 번째 까지의 예측값을 나타내는 출력 데이터를 상기 생성 모델의 학습에 사용된 데이터로 판별하는 단계;
    를 더 포함하는 생성 모델을 대상으로 멤버십 추론 공격을 수행하는 방법.
  9. 하나 이상의 프로세서;
    네트워크 인터페이스;
    상기 프로세서에 의해 수행되는 컴퓨터 프로그램을 로드(Load)하는 메모리; 및
    대용량 네트워크 데이터 및 상기 컴퓨터 프로그램을 저장하는 스토리지를 포함하되,
    상기 컴퓨터 프로그램은 상기 하나 이상의 프로세서에 의해,
    (A) 공격 대상인 타겟(Target) 모델로서 상기 생성 모델의 출력 데이터(Xreal)를 무작위로 수집하는 오퍼레이션;
    (B) 상기 수집한 생성 모델의 출력 데이터(Xreal)를 K(K는 2 이상의 자연수)개로 분리하여(Partitioning) K개의 개별 출력 데이터(Xreal, 1 ~ Xreal, K)를 생성하는 오퍼레이션;
    (C) 상기 생성 모델의 출력 데이터(Xreal)를 모방한 모방 출력 데이터(Xfake)를 생성하는 오퍼레이션;
    (D) 상기 생성한 K개의 개별 출력 데이터(Xreal, 1 ~ Xreal, K) 각각과 상기 생성한 모방 출력 데이터(Xfake)를 1:1로 매칭하여, 이들 매칭한 데이터 중에서 상기 K개의 개별 출력 데이터(Xreal, 1 ~ Xreal, K)를 각각 판별한 결과인 예측값을 출력하는 오퍼레이션;
    (E) 상기 K개의 개별 출력 데이터(Xreal, 1 ~ Xreal, K)를 각각 판별한 결과인 예측값을 이용하여 상기 출력 데이터(Xreal)가 상기 생성 모델의 학습에 사용된 데이터인지 여부에 대한 예측값을 산출하여 출력하는 오퍼레이션;
    를 실행하는 생성 모델을 대상으로 멤버십 추론 공격을 수행하는 장치.
  10. 컴퓨팅 장치와 결합하여,
    (AA) 공격 대상인 타겟(Target) 모델로서 상기 생성 모델의 출력 데이터(Xreal)를 무작위로 수집하는 단계;
    (BB) 상기 수집한 생성 모델의 출력 데이터(Xreal)를 K(K는 2 이상의 자연수)개로 분리하여(Partitioning) K개의 개별 출력 데이터(Xreal, 1 ~ Xreal, K)를 생성하는 단계;
    (CC) 상기 생성 모델의 출력 데이터(Xreal)를 모방한 모방 출력 데이터(Xfake)를 생성하는 단계;
    (DD) 상기 생성한 K개의 개별 출력 데이터(Xreal, 1 ~ Xreal, K) 각각과 상기 생성한 모방 출력 데이터(Xfake)를 1:1로 매칭하여, 이들 매칭한 데이터 중에서 상기 K개의 개별 출력 데이터(Xreal, 1 ~ Xreal, K)를 각각 판별한 결과인 예측값을 출력하는 단계;
    (EE) 상기 K개의 개별 출력 데이터(Xreal, 1 ~ Xreal, K)를 각각 판별한 결과인 예측값을 이용하여 상기 출력 데이터(Xreal)가 상기 생성 모델의 학습에 사용된 데이터인지 여부에 대한 예측값을 산출하여 출력하는 단계;
    를 실행하는 컴퓨터로 판독 가능한 매체에 저장된 컴퓨터 프로그램.
KR1020220166026A 2022-12-01 2022-12-01 생성 모델을 대상으로 멤버십 추론 공격을 수행하는 방법 및 이를 위한 장치 KR20240082070A (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020220166026A KR20240082070A (ko) 2022-12-01 2022-12-01 생성 모델을 대상으로 멤버십 추론 공격을 수행하는 방법 및 이를 위한 장치
US18/524,113 US20240185068A1 (en) 2022-12-01 2023-11-30 Method for performing membership inference attack against generative models and apparatus for the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020220166026A KR20240082070A (ko) 2022-12-01 2022-12-01 생성 모델을 대상으로 멤버십 추론 공격을 수행하는 방법 및 이를 위한 장치

Publications (1)

Publication Number Publication Date
KR20240082070A true KR20240082070A (ko) 2024-06-10

Family

ID=91279833

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020220166026A KR20240082070A (ko) 2022-12-01 2022-12-01 생성 모델을 대상으로 멤버십 추론 공격을 수행하는 방법 및 이를 위한 장치

Country Status (2)

Country Link
US (1) US20240185068A1 (ko)
KR (1) KR20240082070A (ko)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220072541A (ko) 2020-11-25 2022-06-02 한전케이디엔주식회사 핵심기술 정보 유출 차단을 위한 통합 보안시스템

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220072541A (ko) 2020-11-25 2022-06-02 한전케이디엔주식회사 핵심기술 정보 유출 차단을 위한 통합 보안시스템

Also Published As

Publication number Publication date
US20240185068A1 (en) 2024-06-06

Similar Documents

Publication Publication Date Title
EP3651043B1 (en) Url attack detection method and apparatus, and electronic device
Jian et al. A novel framework for image-based malware detection with a deep neural network
CN110266647B (zh) 一种命令和控制通信检测方法及系统
WO2021096649A1 (en) Detecting unknown malicious content in computer systems
KR102189295B1 (ko) 컴퓨터 보안 어플리케이션들을 위한 연속형 분류자들
US20160063396A1 (en) Method and apparatus for classification
JP2017508210A5 (ko)
JP2019057268A (ja) マルウェア検出モデルの機械学習のシステムおよび方法
EP3812929A1 (en) Utilizing a neural network model to determine risk associated with an application programming interface of a web application
Iliou et al. Towards a framework for detecting advanced web bots
US11106801B1 (en) Utilizing orchestration and augmented vulnerability triage for software security testing
RU2587429C2 (ru) Система и способ оценки надежности правила категоризации
Sanz et al. Anomaly detection using string analysis for android malware detection
JP7115207B2 (ja) 学習プログラム、学習方法および学習装置
Abawajy et al. Hybrid consensus pruning of ensemble classifiers for big data malware detection
Agarkar et al. Malware detection & classification using machine learning
Mas' ud et al. A Comparative Study on Feature Selection Method for N-gram Mobile Malware Detection.
More et al. Trust-based voting method for efficient malware detection
Liu et al. FewM-HGCL: Few-shot malware variants detection via heterogeneous graph contrastive learning
KR102437278B1 (ko) 머신러닝과 시그니처 매칭을 결합한 문서형 악성코드 탐지 장치 및 방법
CN112001424B (zh) 基于对抗训练的恶意软件开放集家族分类方法和装置
Yuan et al. Android applications categorization using bayesian classification
KR20240082070A (ko) 생성 모델을 대상으로 멤버십 추론 공격을 수행하는 방법 및 이를 위한 장치
CN116962009A (zh) 一种网络攻击检测方法及装置
CN114201199B (zh) 基于信息安全大数据的防护升级方法及信息安全系统