KR102500778B1 - 데이터 유출 위험 평가 - Google Patents

데이터 유출 위험 평가 Download PDF

Info

Publication number
KR102500778B1
KR102500778B1 KR1020207035162A KR20207035162A KR102500778B1 KR 102500778 B1 KR102500778 B1 KR 102500778B1 KR 1020207035162 A KR1020207035162 A KR 1020207035162A KR 20207035162 A KR20207035162 A KR 20207035162A KR 102500778 B1 KR102500778 B1 KR 102500778B1
Authority
KR
South Korea
Prior art keywords
query
party
data
interaction
dimension
Prior art date
Application number
KR1020207035162A
Other languages
English (en)
Other versions
KR20210006435A (ko
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 구글 엘엘씨
Publication of KR20210006435A publication Critical patent/KR20210006435A/ko
Application granted granted Critical
Publication of KR102500778B1 publication Critical patent/KR102500778B1/ko

Links

Images

Classifications

    • 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/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/577Assessing vulnerabilities and evaluating computer system security
    • 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/6227Protecting 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 where protection concerns the structure of data, e.g. records, types, queries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/283Multi-dimensional databases or data warehouses, e.g. MOLAP or ROLAP
    • 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
    • G06F21/552Detecting local intrusion or implementing counter-measures involving long-term monitoring or reporting
    • 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
    • G06F21/554Detecting local intrusion or implementing counter-measures involving event detection and direct action
    • 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
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Data Mining & Analysis (AREA)
  • Medical Informatics (AREA)
  • Computational Linguistics (AREA)
  • Computing Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

컴퓨팅 환경에서 데이터 유출 위험을 평가하기 위한 시스템, 디바이스, 방법 및 기타 기술이 제공된다. 컴퓨팅 시스템은 상호작용 데이터 및 당사자에 대한 질의 데이터를 수신한다. 시스템은 상호작용 데이터에 표시된 디멘전 조합을 결정하고 질의 데이터에 설명된 각 질의에 대해 질의 결과에 나타나는 각 디멘전 조합을 식별한다. 시스템은 각 디멘전 조합에 대해, 디멘전 조합이 질의 결과에 나타나는 각 질의를 식별하는 질의 멤버쉽 태그를 생성한다. 시스템은 각각의 고유한 질의 멤버쉽 태그에 대해, 상호작용 데이터에서 질의 멤버쉽 태그에 해당하는 디멘전 조합을 갖는 상호작용과 연관되는 엔티티들의 개수에 대한 카운트를 결정한다. 시스템은 하나 이상의 고유한 질의 멤버쉽 태그 수를 기반으로 당사자의 데이터 유출 위험을 평가한다.

Description

데이터 유출 위험 평가
일반적으로, 본 발명은 컴퓨팅 환경에서 데이터 유출의 위험을 평가하기 위한 기술에 관한 것이다.
데이터 시스템은 질의를 수신하고 그리고 결과 데이터에 기재된 개인들에 대한 구체적인 정보가 공개되지 않은 집계된 질의 결과를 제공할 수 있다. 하지만, 차등(differential) 질의 공격들이 시도될 수 있는바, 이러한 공격에서 공격자는 상이한 질의 파라미터들을 갖는 다수의 질의들을 발행하고 그리고 결과 데이터에 대한 분석을 통해 특정 개인들에 정보를 유추한다. 일부 시스템들은 차등 질의 공격을 차단하고자 결과 데이터에 통계적 노이즈를 추가한다.
일반적으로, 본 문서는 컴퓨팅 환경에서 데이터 유출 위험을 평가하기 위한 컴퓨터 기반 기술(예를 들면, 시스템, 디바이스, 방법 및 다른 기술들)을 서술한다. 본 명세서에 설명된 시스템, 디바이스 및 기술은 정보 요청자에 의한 차등 질의 공격에 포함될 수 있는 질의들의 서브세트를 식별하기 위해 정보 요청자에 의해 발행된 질의들의 초기 필터링을 수행하는 효율적인 프로세스를 사용하는 것을 포함한다. 초기 필터링 프로세스를 수행한 이후, 예를 들어, 비교적 포괄적인 프로세스(relatively comprehensive process)가 이용되어, 상기 질의들의 서브세트가 실제 데이터 유출을 초래했는지의 여부룰 확인할 수 있다. 정보 요청자가 제출한 질의들에 적절한 제어를 적용하기 위하여 추가적인 기술이 이용될 수 있으며, 따라서 사용자 데이터 프라이버시를 보호할 수 있다.
본 명세서에 서술된 본 발명의 일부 실시예는 컴퓨터로 구현되는 방법을 포함한다. 상기 방법은, 컴퓨팅 시스템에 의해서, 당사자에 대한 상호작용 데이터를 수신하는 단계를 포함한다. 상기 상호작용 데이터는 당사자와 다수의 엔티티들 사이에 발생한 상호작용들의 세트를 서술할 수 있다. 상기 상호작용 데이터는 또한, 각각의 상호작용에 대해, (i) 상호작용의 하나 이상의 디멘전들(dimensions)에 대한 값들 및 (ii) 당사자와의 상호작용에 참여한 복수의 엔티티들 중 하나에 대한 엔티티 식별자를 식별한다. 상기 시스템은 당사자에 대한 질의 데이터를 수신한다. 질의 데이터는 당사자와 복수의 엔티티 사이에서 발생한 상호작용들의 세트에 대하여 상기 당사자에 의해 발행된 복수의 질의들을 서술한다. 상기 시스템은 복수의 디멘전 조합들을 결정하고, 각각의 디멘전 조합은 상호작용 데이터에 표현된 하나 이상의 디멘전들에 대한 값들의 상이한 조합에 대응한다. 상기 시스템은 질의 데이터에 서술된 복수의 질의들의 각각의 질의에 대해, 상기 질의에 대한 결과에 나타나는 각각의 디멘전 조합을 복수의 디멘전 조합들로부터 식별한다. 상기 시스템은 복수의 디멘전 조합들의 각 디멘전 조합에 대해, 질의에 대한 결과에 디멘전 조합이 나타나는 복수의 질의들로부터 각각의 질의를 식별하는 질의 멤버쉽 태그를 생성한다. 상기 시스템은 각각의 고유한 질의 멤버쉽 태그에 대해, 상호작용 데이터에서 질의 멤버쉽 태그에 대응하는 디멘전 조합을 갖는 임의의 상호작용과 연관되는 엔티티들의 개수에 대한 카운트를 결정한다. 상기 시스템은 하나 이상의 고유한 질의 멤버쉽 태그에 대한 카운트들에 기초하여 당사자에 대한 데이터 유출 위험을 평가한다.
이들 및 다른 구현예들은 하나 이상의 다음의 기능들을 포함할 수 있다.
당사자에 대한 상호작용 데이터를 수신하는 단계는, 당사자에게 알려진 전환 상호작용 데이터(conversion interaction data)를 수신하는 단계를 포함하고, 상기 상호작용들의 세트는 당사자의 하나 이상의 웹 속성들과 복수의 엔티티들 사이에 발생한 전환 상호작용들을 포함한다. 전환 상호작용 데이터는 당사자로부터 수신될 수 있다.
상기 당사자에 대한 상호작용 데이터를 수신하는 단계는, 당사자에게 알려지지 않은 비전환(non-conversion) 상호작용 데이터를 수신하는 단계를 포함하고, 상기 상호작용들의 세트는 하나 이상의 제3자 웹 속성들과 복수의 엔티티들 사이에 발생한 비전환 상호작용들을 포함한다. 상기 비전환 상호작용 데이터는 통지 항목 제공 시스템으로부터 수신될 수 있다.
상기 컴퓨팅 시스템에 의해 결정된 복수의 디멘전 조합들은 당사자에게 알려진 전환 상호작용 값들만을 포함한다.
질의에 대한 동일한 결과에 나타나는 2 이상의 상이한 디멘전 조합들은 동일한 질의 멤버쉽 태그를 가질 수 있다.
상기 당사자에 대한 데이터 유출 위험을 평가하는 단계는, 고유한 질의 멤버쉽 태그들 중 임의의 것에 대한 엔티티들의 개수에 대한 카운트가 식별가능한 임계값 아래인지를 결정하는 단계를 포함할 수 있다.
상기 당사자에 대한 데이터 유출 위험을 평가하는 것에 기초하여 소정의 질의 멤버쉽 태그에 대응하는 잠재적인 데이터 유출을 식별한 이후에, 실제 데이터 유출이 발생했는지를 결정하기 위해 상기 소정의 질의 멤버쉽 태그에서 식별된 질의들의 조합들에 대한 차등 질의 분석이 수행될 수 있다.
실제 데이터 유출이 발생했다고 결정함에 응답하여, 하나 이상의 보안 동작들이 수행될 수 있다. 상기 하나 이상의 보안 동작들은, 추가 질의들이 상기 당사자에 의해서 발행되는 것을 금지하는 것을 포함할 수 있다. 상기 하나 이상의 보안 동작들은, 상기 컴퓨팅 시스템에 의해서 자동으로 수행될 수 있다. 상기 하나 이상의 보안 동작들은, 상기 컴퓨팅 시스템의 관리자로부터 입력을 수신한 이후에 수행될 수 있다.
본 명세서에 서술된 일부 구현예들은 명령들이 저장된 하나 이상의 비일시적인 컴퓨터 판독가능 매체를 포함할 수 있으며, 상기 명령들은 하나 이상의 프로세서들에 의해 실행될 때 상기 하나 이상의 프로세서들로 하여금, 전술한 방법들 중 임의의 방법을 수행하게 한다. 일부 구현예에서, 컴퓨팅 디바이스는 하나 이상의 프로세서들 및 하나 이상의 컴퓨터 판독가능 매체를 포함한다.
본 문서에서 설명된 시스템, 디바이스, 프로그램 제품 및 프로세스는 몇몇 경우에, 하나 이상의 다음과 같은 장점들을 제공할 수 있다. 결과들을 부정확하게 만드는 통계적 노이즈를 질의 결과들에 추가함이 없이, 차등 질의 공격을 탐지할 수 있다. 차등 질의 공격에 포함될 수 있는 발행된 질의들의 서브세트를 식별하기 위하여 경량 프로세스가 사용될 수 있으며, 그리고 이후 포괄적인 프로세스를 사용하여 질의 서브세트가 실제 데이터 유출을 유발했는지 여부를 확인할 수 있으며, 따라서 고속의 질의 분석을 수행하면서도 컴퓨팅 리소스를 절약할 수 있다. 잠재적으로 악의적인 정보 요청자들이 식별될 수 있으며 그리고 적절한 제어가 적용될 수 있으므로, 사용자 데이터 프라이버시를 보호할 수 있다.
하나 이상의 실시예들의 세부 사항들이 첨부 도면들 및 이하의 설명에서 설명된다. 다른 특징 및 이점은 발명의 상세한 설명 및 도면들, 그리고 청구 범위로부터 명백해질 것이다.
도 1은 컴퓨팅 환경에서 데이터 유출 위험을 평가하기 위한 예시적인 시스템의 블록 다이어그램이다.
도 2는 컴퓨팅 환경에서 데이터 유출 위험을 평가하기 위한 예시적인 기술의 흐름도이다.
도 3은 예시적인 질의 결과를 도시한다.
도 4는 상호작용 데이터의 일례를 도시한다.
도 5a-b는 상호작용 데이터의 예시적인 질의 뷰를 도시한다.
도 6은 디멘전 조합 데이터의 일례를 도시한다.
도 7은 일치된 디멘전 조합 데이터의 일례를 도시한다.
도 8은 질의 멤버쉽 태그 데이터의 일례를 도시한다.
도 9는 질의 멤버쉽 태그에 대한 엔티티 연관 데이터의 일례를 도시한다.
도 10은 이 문서에 설명된 시스템 및 방법을 구현하는데 사용될 수 있는 예시적인 컴퓨팅 디바이스의 블록도이다.
여러 도면들에서 유사한 참조 번호는 동일한 요소들을 나타낸다.
일반적으로, 본 문서는 컴퓨팅 환경에서 데이터 유출의 위험을 평가하기 위한 시스템, 디바이스 및 기술을 설명한다. 예를 들어, 정보 요청자는 컴퓨터 네트워크(예: 로컬 네트워크, 인터넷 또는 다른 종류의 네트워크)를 통해 이용가능한 다양한 디지털 리소스들(예컨대, 웹 페이지, 문서, 웹 페이지, 미디어 콘텐츠, 또는 기타 종류의 리소스)에 대해 수행된 상호작용들(예컨대, 보기, 클릭 또는 기타 종류의 상호작용들)에 대한 정보를 획득하기 위해 리소스 상호작용 추적 시스템에 질의를 제출할 수 있다. 질의에 응답하여 시스템은 상호작용을 수행한 개인의 프라이버시를 보호하기 위해 상호작용에 대한 집계된 정보를 제공할 수 있다. 가령, 정보 요청자에 의해 관리되는 리소스에 액세스하는 것을 수반하는 상호작용과 같은, 일부 상호작용은 정보 요청자에게 이미 알려져있을 수 있다. 가령, 정보 요청자에 의해 관리되지 않는 리소스에 액세스하는 것을 수반하는 상호작용들과 같은 일부 상호작용은 정보 요청자에게 알려지지 않을 수 있다. 예를 들어, 이러한 알려지지 않은 상호작용 정보를 얻으려는 시도에서, 정보 요청자는 차등 질의 공격을 수행할 수 있으며, 이러한 차등 질의 공격은 개인들의 소규모 그룹들을 분리하는 여러 개의 상이한 질의들을 제출하는 것, 질의 결과들 간의 차이점을 분석하는 것 및 분석에 기초하여 개인들(또는 특정 개인들)의 소규모 그룹들에 대한 정보를 추론하는 것을 포함할 수 있다.
일반적으로, 차등 질의 공격들에 의해 야기되는 데이터 유출 위험을 평가하는 것은, 다양한 디지털 리소스들과 다양한 상호작용들을 수행하는 다양한 개인들에 대한 정보를 취합하는 수 많은 로우들(rows)을 질의 결과들이 반환할 가능성이 많기 때문에, 막대한 컴퓨팅 리소스들(예를 들어, 메모리, 저장 공간)을 수반할 수 있으며 그리고 상당한 분량의 시간을 필요로 할 수도 있다. 따라서, 잠재적인 차동 질의 공격을 발견하기 위하여, 질의 차이들을 비교하는 것은 일반적으로 계산 비용이 많이 소요된다. 본 명세서에 설명된 시스템, 디바이스 및 기술들은 정보 요청자에 의해 발행된 질의들의 초기 필터링을 수행하기 위해 비교적 가벼운 프로세스를 사용하여 차등 질의 공격에 포함될 수도 있는 질의들의 서브세트를 식별하는 것을 포함한다. 초기 필터링 프로세스를 수행한 후, 비교적 포괄적인 프로세스를 사용하여 질의들의 서브세트가 실제로 데이터 유출을 유발했는지를 확인한다. 따라서, 고속의 질의 분석을 수행하면서도 컴퓨팅 리소스를 절약할 수 있다. 잠재적으로 악의적인 정보 요청자들이 식별될 수 있으며, 정보 요청자들이 제출한 질의들에 적절한 제어를 적용하여 사용자 데이터 프라이버시를 보호할 수 있다.
도 1은 컴퓨팅 환경에서 데이터 유출 위험을 평가하기 위한 예시적인 시스템(100)의 블록도이다. 예를 들어, 시스템(100)은 리소스 상호작용 추적 시스템(미도시)과 연관될 수 있다(또는 그 일부일 수 있다). 간단히 말해서, 시스템(100)은 예를 들어, 당사자(예를 들어, 조직)와 다양한 엔티티들(예를 들어, 인터넷 사용자들) 간의 상호작용을 설명하는 당사자에 대한 상호작용 데이터(120)를 수신 및 저장하는 상호작용 정보 데이터 저장소(102)를 포함한다. 시스템(100)은 또한 질의 정보 데이터 저장소(106)를 포함하며 이는 예를 들어 상호작용을 위해 당사자에 의해 발행된 질의와 관련된 질의 데이터(122)를 수신 및 저장한다. 일반적으로, 시스템(100)은 잠재적인 데이터 유출(128)을 식별하기 위한 비교적 가벼운 프로세스를 수행하기 위해 차등 질의 분석기(필터)(108)를 사용할 수 있으며 그리고 확인된 데이터 유출(130)이 발생했는지 여부를 결정하기 위해 포괄적 차등 질의 분석기(110)를 사용할 수 있다. 확인된 데이터 유출 정보는 데이터 유출 경고 제공, 질의 제한 적용 및 기타 적절한 조치와 같은 다양한 보안 조치를 수행하기 위해 데이터 유출 정보 데이터 저장소에 저장될 수 있다. 시스템(100)에 의해 수행되는 동작들은 본 명세서의 추가 도면 및 설명과 관련하여 더 상세히 설명된다.
도 2는 컴퓨팅 환경에서 데이터 유출 위험을 평가하기 위한 예시적인 기술(200)의 흐름도이다. 예시적인 기술은 시스템(100)(도 1에 도시됨)과 같은 다양한 적절한 시스템 중 임의의 것에 의해 수행될 수 있다.
당사자에 대한 상호작용 데이터가 수신된다(202). 도 1을 참조하면, 예를 들어, 상호작용 데이터(120)는 상호작용 정보 데이터 저장소(102)에 의한 저장을 위해 시스템(100)에 의해 수신된다. 상호작용 데이터(120)는 예를 들어, 당사자와 복수의 엔티티들 사이에서 발생한 상호작용들의 세트를 기술할 수 있다.
일부 구현예에서, 당사자와 복수의 엔티티들 사이에서 발생한 상호작용들의 세트는 엔티티들과 당사자의 하나 이상의 웹 속성들(예컨대, 웹사이트들) 사이에서 발생한 상호작용들을 포함할 수 있다. 예를 들어, 복수의 엔티티는 인터넷 사용자를 포함할 수 있고, 당사자는 웹 사이트와 같은 인터넷 상의 존재를 구비한 조직일 수 있다. 사용자들은 상기 조직의 웹 사이트를 방문할 수 있으며 그리고 몇몇 일례로서 웹 사이트에 포함된 다양한 페이지, 콘텐츠 및/또는 제품과의 상호작용들과 같은 다양한 상호작용들을 수행할 수 있다. 일반적으로, 당사자와 복수의 엔티티 간의 이러한 종류의 사용자 상호작용은 당사자에게 알려져 있으며 전환(conversion) 상호작용이라 지칭될 수 있다. 일부 구현에서, 상호작용 데이터(120)에 포함된 전환 상호작용 데이터는 당사자에 의해 시스템(100)에 제공될 수 있다.
일부 구현예에서, 당사자와 다수의 엔티티들 사이에서 발생한 상호작용들의 세트는, 당사자에 의해 관리되지 않는 하나 이상의 제3자 웹 속성들(예를 들어, 웹 사이트)과 엔티티들 사이에서 발생한 상호작용들을 포함할 수 있다. 당사자와 복수의 엔티티들 사이의 이러한 종류의 사용자 상호작용은 예를 들어, 당사자에게 알려지지 않을 수 있으며, 비전환(non-conversion)(예를 들어, 사적인) 상호작용으로 지칭될 수 있다. 예를 들어, 통지 항목(notification item)(예컨대, 정보 위젯, 웹 사이트 링크, 광고 또는 당사자의 웹 사이트에서 사용할 수 있는 콘텐츠를 사용자에게 알리는 기타 항목)은 다양한 제3자 웹 사이트에서 제시하기 위하여 당사자에 의해 제공될 수 있으며, 그리고 사용자가 당사자의 웹 사이트에서 전환 상호작용을 수행하게 하도록 유도하는 정보를 포함할 수 있다. 사용자가 통지 항목과 상호작용할 때(예컨대, 사용자가 정보 위젯을 보거나, 웹 사이트 링크를 클릭하거나, 다른 종류의 상호작용을 수행하는 경우), 예를 들어 비전환(예컨대, 사적인) 사용자 상호작용 데이터와 관련된 정보는, 제3자 웹 사이트(미도시)에 의한 프리젠테이션을 위해 통지 항목을 제공한 통지 항목 제공 시스템에 의해서 추적될 수 있으며 그리고 사용자는 전환 상호작용(예컨대, 당사자에게 알려진 상호작용)이 발생할 수 있는 당사자의 웹사이트를 찾아가거나 및/또는 안내될 수 있다. 그러나, 전환 상호작용을 시작한 비전환(예를 들어, 사적인) 상호작용과 관련된 개별 정보는 사용자 프라이버시를 유지하기 위해, 통지 항목 제공 시스템에 의해 당사자에게 제공되지 않을 수 있다. 예를 들어, 특정 제3자 웹 사이트 상의 활동을 특정 사용자들에게 링크시키는 정보를 당사자에게 제공하는 것은 적절하지 않을 수 있다. 일부 구현에서, 상호작용 데이터(120)에 표현된 비전환(예를 들어, 사적인) 데이터는 통지 항목 제공 시스템에 의해 시스템(100)에 제공될 수 있다.
각각의 상호작용에 대하여, 상호작용 데이터는 상호작용의 하나 이상의 디멘전들(dimensions)에 대한 값들을 식별할 수 있으며 그리고 당사자와의 상호작용에 참여한 복수의 엔티티들 중 하나에 대한 엔티티 식별자를 포함할 수 있다. 예를 들어, 상호작용 데이터(120)는 당사자에게 알려진 사용자 액션(예컨대, 전환 상호작용)과 관련된 데이터 및 당사자에게 알려지지 않은 사용자 액션(예컨대, 비전환 또는 사적인 상호작용)과 관련된 데이터를 포함할 수 있다. 예를 들어, 각각의 전환(예컨대, 알려진) 상호작용에 대해, 상호작용 데이터(120)는 상호작용 디멘전들에 대한 값들을 포함할 수 있는바, 가령, 상호작용 유형(예컨대, 보기, 댓글, 전달, 구매 또는 다른 상호작용 유형), 상호작용이 발생한 날짜/시간, 상호작용이 발생했을 때 사용자가 있었던 위치(예컨대, 국가, 주, 도시 또는 다른 위치), 상호작용을 수행하는데 사용된 디바이스 유형(예: 모바일, 데스크톱 또는 다른 디바이스 유형), 상호작용을 수행한 사용자의 식별자 및/또는 상호작용과 관련된 기타 적절한 유형의 정보를 포함할 수 있다. 예를 들어, 각각의 비전환(예를 들어, 사적인) 상호작용에 대해, 상호작용 데이터(120)는 상호작용 디멘전들에 대한 값들을 포함할 수 있는바, 가령, 통지 항목을 포함하는 제3자 웹 사이트, 통지 항목과의 사용자 상호작용이 발생한 날짜/시간, 상호작용이 발생했을 때 사용자가 있었던 위치(예: 국가, 주, 도시 또는 다른 위치), 상호작용을 수행하는데 사용된 디바이스 유형(예: 모바일, 데스크톱 또는 다른 디바이스 유형), 상호작용을 수행한 사용자의 식별자 및/또는 상호작용과 관련된 기타 적절한 유형의 정보를 포함할 수 있다.
당사자에 대한 질의 데이터가 수신된다(204). 다시 도 1을 참조하면, 예를 들어, 질의 데이터(122)는 시스템(100)의 질의 멤버쉽 생성기(104)에 의해 수신되고, 후속 분석을 위해 질의 정보 데이터 저장소(106)에 의해 저장된다. 예를 들어, 질의 데이터(122)는 당사자와 복수의 엔티티간에 발생한 상호작용의 세트에 대해 당사자에 의해 발행된 복수의 질의를 기술할 수 있다. 예를 들어, 복수의 질의는 어떤 유형의 전환 상호작용(예를 들어, 당사자에게 알려진 상호작용)이 일반적으로 어떤 유형의 비전환 상호작용(예를 들어, 당사자 및/또는 개인에게 알려지지 않은 상호작용)에 기인할 수 있는지를 결정하기 위하여 당사자에 의해 발행된 질의들을 포함할 수 있다. 예를 들어, 당사자는 시간이 지남에 따라, 각각 질의에 대한 시간 범위, 하나 이상의 상호작용(예컨대, 전환 상호작용 및/또는 비전환 상호작용)과 관련된 주요 디멘전들의 세트, 및 질의 결과에 포함할 하나 이상의 집계된 디멘전들을 각각 지정하는 다양한 질의들을 발행할 수 있다. 일부 구현에서,(예를 들어, 질의 디멘전들 및 질의 결과들을 포함하는) 저장된 질의 데이터의 양은 유한한 개수의 이전에 발행된 질의들과 연관된 질의 데이터로 제한될 수 있다. 예를 들어, 질의 정보 데이터 저장소(106)는 시스템(100)의 데이터 저장 능력 또는 정책에 따라 당사자에 의해 가장 최근에 발행된 질의들의 적절한 개수(예컨대, 10, 100, 1000 또는 다른 수)와 연관된 질의 데이터를 저장할 수 있다.
이제 도 3을 참조하면, 예시적인 질의 결과(300)가 도시된다. 예를 들어, 질의 결과(300)는 지정된 시간 범위(예: 2018년 1월 1일 - 2018년 1월 31일의 전환 기간)에 대하여, 주요 비전환 디멘전(302)(예컨대, 특정 통지 항목을 포함하는 제3자 웹 사이트), 주요 비전환 디멘전(304)(예컨대, 통지 항목과 상호작용하기 위해 사용자가 사용한 디바이스), 전환 디멘전(306)(예를 들어, 통지 항목과 상호작용으로부터 기인한 전환 상호작용을 수행하기 위해 사용자가 사용한 디바이스), 전환 디멘전(308)(예컨대, 전환 상호작용을 수행하는데 사용된 디바이스의 위치) 및 집계된 디멘전(aggregated dimension)(310)(예컨대, 주요 디멘전들 302-308의 각각의 고유 조합에 대한 전환 상호작용들의 집계된 수)를 포함한다. 예를 들어, 충분히 집계된 디멘전 값들을 제공함으로써, 질의 결과(300)는 전환(예컨대, 알려진) 디멘전 값들을 비전환(예컨대, 알려지지 않은 또는 사적인) 디멘전 값들로 속성화하는 일반적인 정보를 당사자에게 제공할 수 있다(당사자가 비전환 디멘전 값들을 임의의 특정 사용자 식별자에 연결하는 것을 허용함이 없이). 하지만, 일부 당사자들은 예를 들어, 그들의 웹 사이트 사용자들과 관련된 비전환(예컨대, 알려지지 않은 또는 사적인) 상호작용 정보를 알고싶어할 수도 있으며, 그리고 이러한 알려지지 않은 또는 사적인 정보를 발견하려는 시도에서, 전환(예컨대, 알려진) 상호작용 정보를 활용하는 다양한 기술들(예컨대, 차등 질의 공격)을 사용할 수 있다. 차등 질의 공격의 일례가 도 4 및 도 5A-B와 관련하여 아래에서 설명된다.
이제 도 4를 참조하면, 상호작용 데이터(400)의 일례가 도시된다. 예를 들어, 도 1에 도시된 상호작용 데이터(120)와 유사한 상호작용 데이터(400)는 당사자에게 알려진 상호작용 및 당사자에게 알려지지 않은 상호작용을 포함하여, 특정 기간(예컨대, 3 일) 동안, 당사자(예를 들어, 웹 사이트를 유지하는 조직)와 복수의 엔티티들(예컨대, 사용자 1-5) 사이에서 발생한 상호작용들의 세트를 기술한다. 본 일례에서, 상호작용 데이터(400)는 다양한 엔티티들(예를 들어, 사용자들)과 당사자 사이에 발생한 각각의 전환 상호작용에 대해, 당사자에게 알려진 전환 식별자(402), 전환일(404) 및 사용자 식별자(406)를 포함한다. 일부 구현에서, 사용자 식별자(406)는 식별 데이터가 비공개로 유지되도록 서명 값을 사용하여 저장될 수 있다. 본 예에서 상호작용 데이터(400)는 또한 각각의 전환 상호작용을 유도한 비전환(예를 들어, 비공개) 상호작용을 참조하는 데이터, 특히 당사자의 웹 사이트에 대한 통지 항목을 사용자에게 제공한 제3자 웹 사이트의 제3자 웹 사이트 식별자(408)를 포함하며, 제3자 웹 사이트는 당사자에게 알려지지 않았다.
본 일례에 도시된 바와 같이, 전환 C1(conversion C1)은 제 1 일(Day 1)에 User1에 의한 전환 상호작용(SiteA 와의 비전환 상호작용이 선행됨)을 나타내고, 전환 C2는 제 1 일에 User2에 의한 전환 상호작용(SiteB와의 비전환 상호작용이 선행됨)을 나타내고, 전환 C3은 제 2 일에 User3의 전환 상호작용(SiteA와의 비전환 상호작용이 선행됨)을 나타내고, 전환 C4는 제 3 일에 User4의 전환 상호작용(SiteA와의 비전환 상호작용이 선행됨)을 나타내고, 전환 C5는 제 3 일에 User5의 전환 상호작용(SiteB와의 비전환 상호작용이 선행됨)을 나타낸다. 본 일례에서 당사자는 각 사용자에 대한 다양한 전환 상호작용들에 대한 지식을 가지고 있지만, 당사자는 가령, 사용자가 상호작용했을 수도 있는 제3자 웹 사이트들, 상호작용이 발생한 날짜/시간, 상호작용이 발생했을 때 사용자가 있었던 위치, 상호작용을 수행하는 데 사용된 디바이스 유형 등과 같은, 전환 상호작용들로 이어질 수 있는 비전환(예컨대, 비공개) 상호작용들에 대한 직접적인 지식은 가지고 있지 않다. 이러한 알려지지 않은 또는 사적인 정보를 발견하기 위하여, 당사자는 예를 들어, 최소 세트의 상호작용들을 식별하기 위하여 상이한 질의 파라미터들을 갖는 2 이상의 질의들을 발행할 수 있으며, 따라서 최소 세트의 상호작용들과 관련된 사용자들의 수는 식별가능한 임계값(예컨대, 사용자 2 명, 사용자 10 명, 사용자 50 명 또는 다른 적절한 값) 미만이다.
이제 도 5a-b를 참조하면, 각각 시스템(100)의 관점 및 당사자의 관점에서 상호작용 데이터(400)(도 4에 도시됨)의 질의 뷰(query views)(500 및 550)가 도시된다. 예를 들어, 질의 뷰(500 및 550)(예를 들어, 도 1에 도시된 질의 데이터 122와 유사하거나 이에 기초함)는 발행된 다양한 질의들에 대한 전환 상호작용 데이터(예를 들어, 알려진 데이터) 및 비전환 상호작용 데이터(예를 들어, 알 수 없는 또는 프라이빗 데이터)의 뷰들을 포함할 수 있다. 본 일례에서, 질의 F는 제 1 일 및 제 2 일 동안 발생한 전환들과 관련된 상호작용 데이터를 반환하고, 질의 G는 제 2 일과 제 3 일 동안 발생한 전환과 관련된 상호작용 데이터를 반환하고, 질의 H는 제1, 2, 3 일 동안 발생한 전환과 관련된 상호작용 데이터를 반환한다.
도 5a에 도시된 바와 같이, 예를 들어, 시스템(100)은 각각의 발행된 질의에 대하여, 전환 및 비전환 상호작용 디멘전들에 대한 데이터 값들을 포함하는 상호작용 데이터(400)의 비교적 포괄적인 질의 뷰(500)를 제공받을 수 있다. 예를 들어, 질의 F는 전환일 제 1 일 및 제 2 일을 지정하고, 지정된 날짜들 동안 발생한 전환 C1 및 C3이 제3자 사이트 A와 관련된 비전환 상호작용에 기인할 수 있으며, 전환 C2가 제3자 사이트 B와 관련된 비전환 상호작용에 기인할 수 있음을 나타내는 상호작용 데이터를 반환한다. 예를 들어, 질의 G는 전환일 제 2 일 및 제 3 일을 지정하고, 지정된 날짜들 동안 발생한 전환 C3 및 C4가 제3자 사이트 A와 관련된 비전환 상호작용에 기인할 수 있으며, 전환 C5가 제3자 사이트 B와 관련된 비전환 상호작용에 기인할 수 있음을 나타내는 상호작용 데이터를 반환한다. 예를 들어, 질의 H는 전환일 제 1일, 제 2 일, 및 제 3 일을 지정하고, 지정된 날짜들 동안 발생한 전환 C1, C3, 및 C4가 제3자 사이트 A와 관련된 비전환 상호작용에 기인할 수 있으며, 전환 C2 및 C5가 제3자 사이트 B와 관련된 비전환 상호작용에 기인할 수 있음을 나타내는 상호작용 데이터를 반환한다.
예를 들어, 도 5b에 도시된 바와 같이, 당사자는 각각의 발행된 질의에 대해, 전환 상호작용 디멘전들에 대한 데이터 값들 및 비전환 상호작용 디멘전들에 대응하는 집계된 데이터 값들을 포함하는 상호작용 데이터(400)의 상대적으로 제한된 질의 뷰(550)를 제공받을 수 있다. 예를 들어, 질의 F는 전환일 제 1 일 및 제 2 일을 지정하고, 전환 C1, C2, 및 C3이 지정된 날짜들 동안 발생하였으며, 전환들의 전체 개수들 중 2개의 전환들이 제3자 사이트 A와 관련된 비전환 상호작용에 기인할 수 있으며, 전환들 중 하나가 제3자 사이트 B와 관련된 비전환 상호작용에 기인할 수 있음을 나타내는 상호작용 데이터를 반환한다. 예를 들어, 질의 G는 전환일 제 2 일 및 제 3 일을 지정하고, 전환 C3, C4, 및 C5가 지정된 날짜들 동안 발생하였으며, 전환들의 전체 개수들 중 2개의 전환들이 제3자 사이트 A와 관련된 비전환 상호작용에 기인할 수 있으며, 전환들 중 하나가 제3자 사이트 B와 관련된 비전환 상호작용에 기인할 수 있음을 나타내는 상호작용 데이터를 반환한다. 예를 들어, 질의 H는 전환일 제 1일, 제 2 일, 및 제 3 일을 지정하고, 전환 C1, C2, C3, C4, 및 C5가 지정된 날짜들 동안 발생하였으며, 전환들의 전체 개수들 중 3개의 전환들이 제3자 사이트 A와 관련된 비전환 상호작용에 기인할 수 있으며, 전환들 중 2개가 제3자 사이트 B와 관련된 비전환 상호작용에 기인할 수 있음을 나타내는 상호작용 데이터를 반환한다.
비전환 상호작용 디멘전들에 해당하는 집계된 카운트 값들이 질의 F, G 및 H를 통해 당사자에게 제공되었지만, 당사자는 특정 사용자들에 대한 개별 비전환 상호작용 디멘전 값들을 발견하기 위한 시도에서, 전환 상호작용과 관련하여 이미 가지고 있는 정보를 아마도 활용할 수 있다. 도 4 및 도 5에 도시된 바와 같이, 예를 들어, 당사자는 전환 C1이 제 1 일에 User1에 의해 수행되었고, 전환 C2가 제 1 일에 User2에 의해 수행되었으며, 전환 C3이 제 2 일에 User3에 의해 수행되었으며, 전환 C4가 제 3 일에 User4에 수행되었으며, 전환 C5가 제 3 일에 User5에 의해 수행되었음을 나타내는 전환 상호작용 데이터를 가질 수 있지만, 상기 당사자는, 어떤 특정 사용자들이, 전환 상호작용들로 유도될 수 있는 어떤 특정한 비전환 상호작용들(예컨대, 제3자 사이트 A 및 제3자 사이트 B와의 상호작용들)을 수행했는지에 관한 개별 정보를 갖지 못한다. 예를 들어, 개별 비전환 상호작용 데이터를 발견하기 위한 시도에서, 당사자는 질의 F 및 질의 G 결과들을 합산한 다음 질의 H 결과들이 감산되는 차등 질의 공격을 수행할 수 있다. 본 실시예에서, 당사자는 질의 F 및 질의 G의 합산된 결과들에 따라, 전부 4개의 비전환 상호작용들이 사이트 A와 관련하여 발생했으며, 전부 2개의 비전환 상호작용들이 사이트 B와 관련하여 발생했음을 알 수 있다. 질의 H의 결과들에 따라(이것은 질의 F 및 G에 걸친 시간 범위를 기반으로 함), 사이트 A와 관련하여 3개의 비전환 상호작용들이 발생하였고, 사이트 B와 관련하여 2개의 비전환 상호작용이 발생하였다. ((질의 F + 질의 G) - 질의 H)를 수행함으로써, 예를 들어, 당사자는 제 2 일에, 하나의 비전환 상호작용(4 빼기 3)이 사이트 A에서 발생하였고, 0 개의 비전환 상호작용(2 빼기 2)이 사이트 B에서 발생하였다라고 결정할 수 있다. 당사자는 또한, User3에 의해서 전환 C3가 제 2 일에 발생했음을 나타내는 전환 상호작용 데이터를 가지고 있다. 따라서, 본 일례에서, 당사자는 User3가 사이트 B와의 비전환 상호작용을 수행했다고 추론할 수 있다. 이러한 추론은 데이터 유출 위험을 나타낸다.
당사자에게 제공되는 질의 결과들에 대한 데이터 유출 위험을 평가하기 위하여, 예를 들어, 상기 시스템(100)(도 1에 도시된)은 차동 질의 공격이 발생했을 수 있는지 여부를 결정할 수 있다. 일반적으로, 당사자가 발행한 모든 질의들에 대해 무차별 대입 분석(brute force analysis)을 수행하는 것은 계산 비용이 많이 들고 막대한 저장 공간을 소비할 수 있다. 시스템 프로세싱 리소스 및 저장 리소스를 보존하고, 고속의 데이터 분석을 수행하기 위해, 예를 들어, 상기 시스템(100)은 잠재적인 데이터 유출을 식별하기 위한 상대적으로 저렴한 기술을 수행할 수 있으며(예를 들어, 단일 사용자 또는 소규모 사용자들을 식별하는 당사자에 의해 발행된 질의들의 서브세트를 결정함으로써), 그리고 이후 무차별 대입 분석을 수행하여 데이터 유출이 실제 데이터 공격의 일부였는지를 확인할 수 있다. 또한, 상기 시스템(100)은 아래에서 더 상세히 설명되는 바와 같이 추가 공격을 방지하기 위한 조치를 수행할 수도 있다.
다시 도 2를 참조하면, 복수의 디멘전 조합들이 결정된다(206). 일반적으로, 디멘전 조합은 당사자가 전환 상호작용들의 세트를 식별할 수 있는 가장 작은 단위를 나타낸다. 예를 들어, 각각의 디멘전 조합은 상호작용 데이터(120)(도 1에 도시됨)에 표현된 하나 이상의 전환 디멘전들(예를 들어, 당사자에게 알려진 디멘전들)에 대한 값들의 상이한 조합에 대응할 수 있다. 예를 들어, 상호작용 데이터(120)가 전환 디멘전들의 세트에 대한 값들을 포함하고 있었다면(예컨대, 전환일, 전환 유형, 전환 디바이스 유형 및 전환 위치를 포함), 각각의 디멘전 조합은 전환 디멘전들에 대한 상호작용 데이터에서 발생하는 전환 상호작용 값들의 상이한 조합들을 특정하는 투플(tuple)(예컨대, 쿼드러플)이 될 것이다.
이제 도 6을 참조하면, 디멘전 조합 데이터(600)의 일례가 도시된다. 예를 들어, 디멘전 조합 데이터(600)는 상호작용 데이터(400)(도 4에 도시됨)에 기초할 수 있고, 그리고 다양한 엔티티들과 당사자간에 발생한 각각의 전환 상호작용에 대해, 상호작용 데이터의 하나 이상의 전환 상호작용 값들을 포함하는 디멘전 조합(602) 및 전환 상호작용을 수행한 엔티티(예를 들어, 사용자)에 해당하는 사용자 ID(604)를 포함할 수 있다. 본 일례에서, 상호작용 데이터(400)에 표시된 전환 상호작용들의 세트(예컨대, 전환 상호작용 C1, C2, C3, C4 및 C5)가 주어지면, 전환일 제 1 일의 전환 상호작용 값을 포함하는 디멘전 조합은 User1 및 User2를 포함하는 사용자 세트와 관련되고, 전환일 제 2 일의 전환 상호작용 값을 포함하는 디멘전 조합은 User3을 포함하는 사용자 세트와 관련되고, 전환일 제 3 일의 전환 상호작용 값을 포함하는 디멘전 조합은 User4 및 User5를 포함하는 사용자 세트와 관련된다. 본 일례에서, 각각의 디멘전 조합(602)은 단일 변환 디멘전(예를 들어, 전환 일)을 포함하지만, 디멘전 조합의 다른 예는 다중 변환 디멘전들을 포함할 수 있다.
다시 도 2를 참조하면, 질의 데이터에 기술된 복수의 질의들의 각 질의에 대해, 질의에 대한 결과에 나타나는 각각의 디멘전 조합이 복수의 디멘전 조합들로부터 식별된다(208). 예를 들어, 시스템(100)(도 1에 도시됨)은 질의 데이터(122)에 따라 질의 F, 질의 G 및 질의 H(도 5b에 도시됨) 중 하나 이상에 대해 당사자에게 이전에 제공된 질의 결과(예를 들어, 하나 이상의 결과 로우들)에 나타나는 각각의 디멘전 조합을 복수의 디멘전 조합들(602)(도 6에 도시됨) 중에서 식별할 수 있다. 도 1에 도시된 바와 같이, 예를 들어, 질의 데이터(122)에 포함된 각각의 질의 결과 로우에 대해 식별된 디멘전 조합 매치들은, 상호작용 정보 데이터 저장소(102)로부터 질의 멤버쉽 생성기(104)에 의해서 매칭된 디멘전 조합 데이터(124)로서 수신될 수 있다.
이제 도 7을 참조하면, 매칭된 디멘전 조합 데이터(700)의 일례가 도시된다. 예를 들어, 매칭된 디멘전 조합 데이터(700)(예를 들어, 도 1에 도시된 매칭된 디멘전 조합 데이터(124)와 유사함)는, 당사자에 의해 이전에 발행된 각 질의(702)(예를 들어, 도 5b에 도시된 질의 F, 질의 G, 및 질의 H)에 대해, 질의에 의해 반환된 하나 이상의 질의 결과 로우들(704), 및 질의 결과 로우들에 포함된 하나 이상의 매칭 디멘전 조합들(706)을 특정할 수 있다. 본 일례에서, 질의 F는 질의 결과 로우들 1 및 2를 반환하였으며(예컨대, 사이트 A와의 비전환 상호작용들의 집계를 포함하는 제 1 로우 및 사이트 B와의 비전환 상호작용들의 집계를 포함하는 제 2 로우), 그리고 디멘전 조합 제 1 일 및 제 2 일을 질의 결과들에 포함하였다. 예를 들어, 질의 G는 질의 결과 로우들 1 및 2를 반환하였으며, 그리고 디멘전 조합 제 2 일 및 제 3 일을 질의 결과들에 포함하였다. 예를 들어, 질의 H는 질의 결과 로우들 1 및 2를 반환하였으며, 그리고 디멘전 조합 제 1 일, 제 2 일 및 제 3 일을 질의 결과들에 포함하였다.
복수의 디멘전 조합들 중의 각각의 디멘전 조합에 대해, 질의 멤버쉽 태그(210)가 생성된다. 예를 들어, 질의 멤버쉽 생성기(104)(도 1에 도시됨)는 수신된 매칭된 디멘전 조합 데이터(124)에 포함된 각 디멘전 조합에 대한 질의 멤버쉽 데이터(126)를 결정할 수 있다. 디멘전 조합에 대한 질의 멤버쉽 태그는 복수의 질의들 중에서, 디멘전 조합이 질의에 대한 결과에 나타나는 각각의 질의를 식별할 수 있다. 예를 들어, 당사자에 의해 이전에 발행된 질의들 F, G 및 H(도 5b에 도시됨) 중 하나 이상에 대한 결과에 나타나는 각 디멘전 조합에 대해, 질의 멤버쉽 생성기(104)는 디멘전 조합과 하나 이상의 발행된 질의들 간의 관련성들을 지정하는 태그를 생성할 수 있다. 일부 구현에서, 질의 멤버쉽 태그 데이터는 후속 프로세싱 및 분석을 위해 저장될 수 있다. 예를 들어, 질의 멤버쉽 데이터(126)는 상호작용 정보 데이터 저장소(102) 및/또는 질의 정보 데이터 저장소(106)에 의해 저장될 수 있고 그리고 앞으로 발행될 질의들에 대한 분석을 위해 액세스될 수 있다.
이제 도 8을 참조하면, 질의 멤버쉽 태그 데이터(800)의 일례가 도시된다. 예를 들어, 질의 멤버쉽 태그 데이터(800)는 질의들 F, G 및 H(도 5b에 도시됨) 중 하나 이상에 대한 결과에 나타나는 각 디멘전 조합(802)에 대해, 질의 멤버쉽 태그(804)를 지정할 수 있으며 질의 멤버쉽 태그(804)는 질의 결과 값들에서 디멘전 조합을 반환한 특정 질의들을 지정한다. 일부 구현예에서, 질의 멤버쉽 태그는 질의 세트의 각 결과 로우에서 디멘전 조합의 존재를 나타내는 일련의 값들(예를 들어, 0들 및 1들)을 포함할 수 있다. 예를 들어, 1 이라는 값은 디멘전 조합이 특정 질의 결과 로우에 의해 매칭됨(예컨대, 존재함)을 나타낼 수 있으며, 0 이라는 값은 디멘전 조합이 특정 질의 결과 로우에 의해 매칭되지 않음(예컨대, 존재하지 않음)을 나타낼 수 있다. 본 일례에서, 질의 멤버쉽 태그(1, 0, 1)로 지정된 바와 같이, 제 1 일이라는 디멘전 값은 질의 F에 대한 질의 결과에 등장하였고(예컨대, 제 1 로우 및 제 2 로우에), 질의 G에 대한 질의 결과에는 등장하지 않았으며, 질의 H에 대한 질의 결과에도 등장하였다(예컨대, 제 1 로우 및 제 2 로우에). 예를 들어, 제 2 일이라는 디멘전 값은 질의 멤버쉽 태그(1, 1, 1)로 지정된 바와 같이, 질의 F에 대한 질의 결과에 등장하였고(예컨대, 제 1 로우 및 제 2 로우에), 질의 G에 대한 질의 결과에 등장하였고(예컨대, 제 1 로우 및 제 2 로우에), 질의 H에 대한 질의 결과에도 등장하였다(예컨대, 제 1 로우 및 제 2 로우에). 예를 들어, 제 3 일이라는 디멘전 값은 질의 멤버쉽 태그(0, 1, 1)로 지정된 바와 같이, 질의 F에 대한 질의 결과에 등장하지 않았지만, 질의 G에 대한 질의 결과에 등장하였고(예컨대, 제 1 로우 및 제 2 로우에), 질의 H에 대한 질의 결과에도 등장하였다(예컨대, 제 1 로우 및 제 2 로우에). 다른 일례들에서, 디멘전 조합들이 동일한 질의들 및 동일한 질의 로우들에서 매칭되는 경우, 상이한 디멘전 조합들은 동일한 질의 멤버쉽 태그를 가질 수 있다.
각각의 고유한 질의 멤버쉽 태그에 대하여, 엔티티들의 개수의 카운트가 결정되고, 상기 엔티티들은 상호작용 데이터에서 질의 멤버쉽 태그에 대응하는 디멘전 조합을 갖는 임의의 상호작용과 관련된다(212). 도 1에 도시된 바와 같이. 예를 들어, 질의 멤버쉽 생성기(104)는 상호작용 정보 데이터 저장소(102)에 질의 멤버쉽 데이터(126)를 제공할 수 있고, 그리고 시스템(100)은 상호작용 정보 데이터 저장소(102)에 의해 저장된 상호작용 데이터(120) 및 질의 정보 데이터 저장소(106)에 의해 저장된 질의 데이터(122)를 고려하여 질의 멤버쉽 데이터(126)를 분석할 수 있는 차등 질의 분석기(필터)(108)를 사용할 수 있다. 예를 들어, 차등 질의 분석기(필터)(108)는 동일한 멤버쉽 태그(804)(도 8에 도시됨)를 공유하는 질의 멤버쉽 태그 데이터(800) 내의 임의의 디멘전 조합들(802)을 그룹화할 수 있고, 각 멤버쉽 태그에 대해, 상호작용 데이터(400)(도 4에 도시됨) 내의 대응하는 디멘전 조합들과 관련된 엔티티 식별자들(예를 들어, 사용자 ID들)의 세트를 결정할 수 있다.
이제 도 9를 참조하면, 질의 멤버쉽 태그에 대한 엔티티 연관 데이터(900)의 예가 도시된다. 예를 들어, 엔티티 연관 데이터(900)는 각각의 질의 멤버쉽 태그(902)(예를 들어,도 8에 도시된 질의 멤버쉽 태그(804)와 유사함)에 대해, 멤버쉽 태그에 대응하는 하나 이상의 디멘전 조합들(904) 및 상호작용 데이터(400)(도 4에 도시됨)에서 하나 이상의 디멘전 조합들에 대응하는 상호작용 값들을 포함하는 상호작용과 연관된 사용자 ID(906)들의 세트를 지정한다. 본 일례에서, (1, 0, 1)의 질의 멤버쉽 태그는 상호작용 데이터(400)에서 User1 및 User2를 포함하는 일련의 사용자 식별자들과 연관되는 디멘전 조합 제 1 일에 대응한다. 예를 들어,(1, 1, 1)의 질의 멤버쉽 태그는 User3을 포함하는 사용자 식별자 세트와 상호작용 데이터(400)에서 연관되는 디멘전 조합 제 2 일에 대응한다. 예를 들어, (0, 1, 1)의 질의 멤버쉽 태그는 상호작용 데이터에서 User4 및 User5를 포함한 일련의 사용자 식별자들과 연관되는 디멘전 조합 제 3일에 대응한다.
이제 도 2를 다시 참조하면, 하나 이상의 고유한 질의 멤버쉽 태그들(214)에 대한 카운트들에 기초하여 당사자에 대한 데이터 유출 위험이 평가된다. 예를 들어, 차동 질의 분석기(필터)(108)(도 1에 도시됨)는 각각의 질의 멤버쉽 태그(902)(도 9에 도시됨)에 대하여, 질의 멤버쉽 태그와 관련된 엔티티들의 세트(예컨대, 사용자 식별자들)의 카운트를 결정하고 그리고 임의의 질의 멤버쉽 태그들이 식별가능한 임계값(예를 들어, 2 엔티티, 10 엔티티, 50 엔티티 또는 다른 적절한 값) 미만의 엔티티 카운트들과 연관되는지의 여부를 결정한다. 예를 들어, 데이터 유출 위험을 평가할 때, 전환 상호작용 카운트보다 엔티티 카운트들이 결정될 수 있는데, 이는 각각의 전환이 하나 이상의 비전환 상호작용과 연관될 수 있기 때문이다. 본 일례에서, 질의 멤버쉽 태그(1, 0, 1)는 엔티티 카운트 2(예컨대, User1 및 User2를 포함함)와 연관되고, 질의 멤버쉽 태그(1, 1, 1)는 엔티티 카운트 1(예를 들어, User3 포함)와 연관되고, 질의 멤버쉽 태그(0, 1, 1)는 엔티티 카운트 2(예를 들어, User4 및 User5 포함)와 연관된다. 만일, 모든 질의 멤버쉽 태그(902)들이 임계 엔티티 카운트 값 이상과 연관되었다면, 예를 들어, 차등 질의 분석기(필터)(108)는 질의 공격이 발생하지 않았음을 결정할 수 있다. 하지만, 예를 들어, 2 개의 엔티티들이라는 임계값을 가정하면, 차등 질의 분석기(필터)(108)는 오직 하나의 엔티티에만(따라서, 임계 엔티티 카운트 값 미만인)관련되는 질의 멤버쉽 태그(1, 1, 1)에 대한 잠재적 데이터 유출(128)을 식별할 수 있다.
예를 들어, 잠재적인 데이터 유출이 발생한 것으로 판단한 이후, 시스템(100)(도 1)은 포괄적인 차동 질의 분석기(110)를 사용하여, 잠재적인 데이터(128)를 유출과 관련된 질의 멤버쉽 태그에 의해 표시되는 하나 이상의 질의에 대한 추가적인 분석을 수행할 수 있다. 예를 들어, 포괄적인 차동 질의 분석기(110)는 잠재적인 데이터 유출(128)을 식별함에 응답하여, 비교적 포괄적인 분석 프로세스를 하나 이상의 질의들에 자동으로 적용할 수 있으며, 또는 잠재적인 데이터 유출(128)에 관한 정보를 시스템 관리자에게 제공하고, 시스템 관리자로부터 입력을 수신함에 응답하여 포괄적인 분석 프로세스를 적용할 수 있다. 본 일례에서, 질의 멤버쉽 태그(1, 1, 1)는 잠재적인 데이터 유출(128)이 당사자에 의해 발행된 태그에 표시된 질의들(예를 들어, 도 5b에 도시된 질의 F, 질의 G 및 질의 H)의 하나 이상의 조합들에 기인할 수 있음을 나타낸다. 따라서, 본 일례에서, 포괄적 차등 질의 분석기(110)는 당사자에 의해서 이전에 발행되었고 질의 정보 데이터 저장소(106)에 저장된 질의들의 관련 서브세트의 다양한 XOR 조합들을 계산하는 선택된 무차별 대입 분석(brute force analysis)을 수행할 수 있다. 예를 들어, 확인된 데이터 유출(130)을 나타내는 질의 조합이 발견될 때까지, 질의들의 관련 서브세트에 대한 2-질의 XOR 조합들이 계산될 수 있고, 다음으로 3-질의 XOR 조합들이 계산될 수 있으며, 기타 등등이 계산될 수 있다.
본 일례에서, 질의 F, 질의 G, 질의 H는 무차별 대입 분석을 위해 포괄적인 차등 질의 분석기(110)에 의해 선택되며, 이는 다음의 일례에 따라 수행될 수 있다.
1. QF
Figure 112020132246969-pct00001
QG = ID {Tag(1,0,0), Tag(1,0,1), Tag(0,0,1), Tag(0,1,1)}
= ID({Day1, Day3}) = {User1, User2 , User4, User5}
⇒ |QF
Figure 112020132246969-pct00002
QG| > 임계값 ⇒ QF
Figure 112020132246969-pct00003
QG는 안전;
2. QF
Figure 112020132246969-pct00004
QH = ID {Tag(1,0,0), Tag(1,1,0), Tag(0,0,1), Tag(0,1, 1)}
= ID({Day3}) = {User4, User5}
⇒|QF
Figure 112020132246969-pct00005
QH| > 임계값 ⇒QF
Figure 112020132246969-pct00006
QH 안전;
3. QG
Figure 112020132246969-pct00007
QH = ID {Tag(0,1,0), Tag(1,1,0), Tag(0,0,1), Tag(1,0,1)}
= ID({Day1 }) = {User1, User2}
⇒ |QG
Figure 112020132246969-pct00008
QH| > 임 값 ⇒ QG
Figure 112020132246969-pct00009
QH는 안전;
4. QF
Figure 112020132246969-pct00010
QG
Figure 112020132246969-pct00011
QH = ID({Tag(0,0,1), Tag(0,1,0), Tag(1,0,0), Tag(1,1,1)})
= ID({Day2}) = {User 3} < 임계값
⇒ QF
Figure 112020132246969-pct00012
QG
Figure 112020132246969-pct00013
QH는 확인된 데이터 유출이다.
실제 데이터 유출이 발생한 것을 확인한 이후, 예를 들어, 포괄적인 차동 질의 분석기(110)(도 1에 도시됨)는 확인된 데이터 유출과(130) 관련된 정보를 저장을 위해 데이터 유출 정보 데이터 저장소(112)에 제공할 수 있다. 예를 들어, 확인된 데이터 유출(130)과 관련된 정보는 확인된 데이터 유출(130)을 초래한 질의 세트를 발행한 당사자의 식별자, 발행된 질의들의 세트에 있는 각 질의와 연관된 타임 스탬프, 데이터가 유출된 엔티티들의 목록, 및 유출된 비전환(예컨대, 프라이빗) 상호작용 디멘전들의 목록을 포함할 수 있다. 예를 들어, 유출된 비전환 상호작용 디멘전들을 결정하기 위해, 포괄적인 차등 질의 분석기(130)는 발행된 질의들에 대한 비전환 상호작용 디멘전들의 교집합(intersection)을 찾을 수 있다. 본 일례에서, 데이터 유출 정보 데이터 저장소(112)는 질의 F, 질의 G 및 질의 H를 발행 한 당사자, 질의들 각각에 대한 타임스탬프 및 User3에 대해 유출되었던 비전환 상호작용 데이터(예컨대, 방문된 제3자 웹사이트 A)를 포함하는 정보를 저장할 수 있다.
일부 구현예에서, 데이터 유출이 발생했음을 확인함에 응답하여 상기 시스템(100)에 의해서 하나 이상의 보안 동작들이 수행될 수 있다. 예를 들어, 보안 동작들은 자동으로 수행되거나 시스템 관리자로부터 입력을받은 후 수행될 수 있다. 예를 들어, 데이터 유출 보고 시스템(미도시)은 데이터 유출 정보 데이터 저장소(112)를 참조할 수 있으며 그리고 확인된 데이터 유출(130)과 관련된 정보를 제공하는 경보를 생성할 수 있다. 다른 일례로서, 데이터 유출 방지 시스템(미도시)은 악의적일 가능성이 있는 당사자들(예컨대, 데이터 공격을 나타내는 질의들을 발행한 당사자들)을 식별할 수 있으며 그리고 당사자가 추가로 질의들을 발행하는 것을 제한할 수 있다. 예를 들어, 데이터 유출 방지 시스템은 보고 목적으로 당사자에 의해 선택될 수 있는 디멘전들을 제한하거나, 보고 목적으로 당사자에 의해 선택되는 시간 범위를 제한하거나, 미래의 차등 질의 공격들이 당사자에 의해 수행되지 않도록 또 다른 적절한 질의 파라미터 제한을 강제할 수 있다. 당사자에 의한 반복적인 데이터 공격을 식별함에 응답하여 시스템(100)에 의해 수행될 수 있는 또 다른 가능한 동작은, 당사자가 추가 질의를 발행하는 것을 방지하는 것이다.
도 10은 클라이언트로서 또는 서버로서 또는 복수의 서버로서 본 문서에 설명된 시스템 및 방법을 구현하는데 사용될 수 있는 컴퓨팅 디바이스(1000, 1050)의 블록도이다. 컴퓨팅 디바이스(1000)는 랩톱, 데스크탑, 워크 스테이션, 개인용 디지털 보조 디바이스, 서버, 블레이드 서버, 메인 프레임 및 기타 적절한 컴퓨터와 같은 다양한 형태의 디지털 컴퓨터를 나타내도록 의도된다. 컴퓨팅 디바이스(1050)는 개인 휴대 정보 단말기, 셀룰러 전화, 스마트폰 및 기타 유사한 컴퓨팅 디바이스와 같은 다양한 형태의 모바일 디바이스를 나타내도록 의도된다. 추가로, 컴퓨팅 디바이스(1000 또는 1050)는 범용 직렬 버스(USB) 플래시 드라이브를 포함할 수 있다. USB 플래시 드라이브는 운영 체제 및 기타 어플리케이션을 저장할 수 있다. USB 플래시 드라이브는 다른 컴퓨팅 디바이스의 USB 포트에 삽입될 수 있는 무선 송신기 또는 USB 커넥터와 같은 입력/출력 구성 요소를 포함할 수 있다. 여기에 표시된 구성요소들, 이들의 연결들 및 관련성들 및 이들의 기능은 예시일 뿐이며 이 문서에서 설명 및/또는 청구된 구현예들을 제한하지 않는다.
컴퓨팅 디바이스(1000)는 프로세서(1002), 메모리(1004), 저장 디바이스(1006), 메모리(1004) 및 고속 확장 포트(1010)에 연결되는 고속 인터페이스(1008), 저속 버스(1012) 및 저장 디바이스(1006)에 연결되는 저속 인터페이스(1012)를 포함할 수 있다. 이들 구성요소들(1002, 1004, 1006, 1008, 1010, 1012) 각각은 다양한 버스를 사용하여 상호접속되고, 공통 마더 보드 또는 다른 적절한 방법으로 마운팅될 수 있다. 프로세서(1002)는, 고속 인터페이스(1008)에 결합된 디스플레이(1016)와 같은 외부 입력/출력 디바이스 상에 GUI를 위한 그래픽 정보를 디스플레이하기 위해서, 컴퓨팅 디바이스(1000) 내에서의 실행을 위한 명령들(여기에는 메모리(1004) 내에 저장된 명령들 혹은 저장 디바이스(1006) 상에 저장된 명령들이 포함됨)을 프로세싱할 수 있다. 다른 구현예들에서, 다수의 프로세서들 및/또는 다수의 버스들이 다수의 메모리들 및 다수 유형의 메모리들과 함께 적절하게 사용될 수 있다. 또한, 다수의 컴퓨팅 디바이스들(1000)은 필요한 동작들의 일부들을 제공하는 각각의 디바이스에 연결될 수 있다(예컨대, 서버 뱅크, 블레이드 서버 그룹, 또는 다중 프로세서 시스템으로서).
메모리(1004)는 컴퓨팅 디바이스(1000) 내에 정보를 저장한다. 일 구현에서, 메모리(1004)는 휘발성 메모리 유닛(들)이다. 다른 구현에서, 메모리(1004)는 비휘발성 메모리 유닛(들)이다. 다른 구현에서, 메모리(1004)는 자기 디스크 또는 광 디스크와 같은 다른 형태의 컴퓨터-판독가능 매체일 수 있다.
저장 디바이스(1006)는 컴퓨팅 디바이스(1000)를 위한 대용량 저장소를 제공할 수 있다. 일 구현에서, 저장 디바이스(1006)는 컴퓨터-판독가능 매체이다. 다양한 구현들에서, 저장 디바이스(1006)는 플로피 디스크 디바이스, 하드 디스크 디바이스, 광학 디스크 디바이스 혹은 테이프 디바이스, 플래시 메모리 혹은 다른 유사한 솔리드 스테이트 메모리 디바이스, 또는 디바이스들의 어레이(여기에는 저장 영역 네트워크 혹은 다른 구성들 내의 디바이스들이 포함됨)일 수 있다. 일 구현에서, 컴퓨터 프로그램 제품은 정보 캐리어에 실체적으로(tangibly) 구현될 수 있다. 컴퓨터 프로그램 제품은 또한 명령들을 포함할 수 있는데, 여기서 명령들은 그 실행시 앞서 설명된 것들과 같은 하나 이상의 방법들을 수행한다. 정보 캐리어는 메모리(1004), 저장 디바이스(1006), 혹은 프로세서(1002) 상의 메모리와 같은 컴퓨터-판독가능 매체 또는 머신-판독가능 매체이다.
고속 콘트롤러(1008)는 컴퓨팅 디바이스(1000)에 대한 대역폭 집약적 동작을 관리하는 반면, 저속 콘트롤러(1012)는 보다 낮은 대역폭 집약적 동작을 관리한다. 임무들의 이러한 할당은 단지 예시일뿐이다. 일 구현에서, 고속 콘트롤러(1008)는 메모리(1004), 디스플레이(1016)(예를 들어, 그래픽 프로세서 또는 가속기를 통해) 및 다양한 확장 카드(도시되지 않음)를 수용할 수 있는 고속 확장 포트(1010)에 연결된다. 일 구현에서, 저속 콘트롤러(1012)는 저장 디바이스(1006) 및 저속 확장 포트(1014)에 연결된다. 다양한 통신 포트(예를 들어, USB, 블루투스, 이더넷, Wi-Fi)를 포함할 수 있는 저속 확장 포트는 키보드, 포인팅 디바이스, 스캐너와 같은 하나 이상의 입력/출력 디바이스에 연결될 수 있다. 다양한 통신 포트들(예를 들어, USB, 블루투스, 이더넷, Wi-Fi)을 포함할 수 있는 저속 확장 포트는 하나 이상의 입력/출력 디바이스들에 결합될 수 있는데, 예를 들어, 키보드, 포인팅 디바이스, 스캐너, 또는 (예를 들어, 네트워크 어댑터를 통해) 스위치 혹은 라우터와 같은 네트워킹 디바이스에 결합될 수 있다.
컴퓨팅 디바이스(1000)는 도면에서 제시되는 바와 같이 여러 가지 다양한 형태들로 구현될 수 있다. 예를 들어, 컴퓨팅 디바이스(1000)는 표준 서버(1020)로서 구현될 수 있거나, 또는 이러한 서버들의 그룹으로 여러 번 구현될 수 있다. 컴퓨팅 디바이스(1000)는 또한 랙 서버 시스템(1024)의 일부로서 구현될 수 있다. 추가적으로, 컴퓨팅 디바이스(1000)는 랩탑 컴퓨터(1022)와 같은 개인용 컴퓨터 내에 구현될 수 있다. 대안적으로, 컴퓨팅 디바이스(1000)로부터의 컴포넌트들은 디바이스(1050)와 같은 모바일 디바이스(미도시) 내의 다른 컴포넌트들과 결합될 수 있다. 이러한 디바이스들 각각은 컴퓨팅 디바이스(1000, 1050) 중 하나 이상을 포함할 수 있고, 전체 시스템은 서로 통신하는 복수의 컴퓨팅 디바이스들(1000, 1050)로 구성될 수 있다.
컴퓨팅 디바이스(1050)는 다른 컴포넌트들 중에서도, 프로세서(1052), 메모리(1064), 디스플레이(1054)와 같은 입력/출력 디바이스, 통신 인터페이스(1066), 및 송수신기(1068)를 포함한다. 디바이스(1050)에는 또한, 추가적인 저장소를 제공하기 위해 마이크로드라이브 혹은 다른 디바이스와 같은 저장 디바이스가 제공될 수 있다. 컴포넌트들(1050, 1052, 1064, 1054, 1066, 및 1068) 각각은 다양한 버스들을 사용하여 상호연결되고, 그리고 컴포넌트들 중 수개의 컴포넌트들은 공통 마더보드 상에 장착될 수 있거나, 또는 적절하게 다른 방식으로 장착될 수 있다.
프로세서(1052)는 메모리(1064)에 저장되는 명령들을 포함하여 컴퓨팅 디바이스(1050) 내의 명령들을 실행할 수 있다. 프로세서는 별개 및 다수의 아날로그 및 디지털 프로세서들을 포함하는 칩들의 칩셋으로 구현될 수 있다. 추가적으로, 프로세서는 임의의 다양한 아키텍처를 이용하여 구현될 수 있다. 예를 들어, 프로세서(1010)는 CISC(Complex Instruction Set Computers) 프로세서, RISC(Reduced Instruction Set Computer) 프로세서 또는 MISC(Minimal Instruction Set Computer) 프로세서일 수 있다. 프로세서는 예를 들어, 사용자 인터페이스의 제어, 디바이스(1050)에 의해 실행되는 어플리케이션 및 디바이스(1050)에 의한 무선 통신과 같은 디바이스(1050)의 다른 구성 요소의 조정을 위해 제공될 수 있다.
프로세서(1052)는 제어 인터페이스(1058) 및 디스플레이(1054)에 연결된 디스플레이 인터페이스(1056)를 통해 사용자와 통신할 수 있다. 디스플레이(1054)는, 예를 들어 TFT LCD(박막 트랜지스터 액정 디스플레이) 또는 OLED(유기 발광 다이오드) 디스플레이 또는 다른 적절한 디스플레이일 수 있다. 디스플레이 인터페이스(1056)는 그래픽 및 다른 정보를 사용자에게 제시하기 위해 디스플레이(1054)를 구동하기 위한 적절한 회로를 포함할 수 있다. 제어 인터페이스(1058)는 사용자로부터 커맨드들을 수신할 수 있고, 이들을 프로세서(1052)에 제출하기 위해 변환할 수 있다. 추가적으로, 디바이스(1050)가 다른 디바이스들과 근거리 통신을 할 수 있도록, 프로세서(1052)와 통신하는 외부 인터페이스(1062)가 제공될 수 있다. 외부 인터페이스(1062)는 예를 들어, 유선 통신을 제공할 수 있고, 또는 블루투스 혹은 다른 이러한 기술들을 통해 무선 통신을 제공할 수도 있다.
메모리(1064)는 컴퓨팅 디바이스(1050) 내에 정보를 저장한다. 일 구현에서, 메모리(1064)는 컴퓨터-판독가능 매체, 휘발성 메모리 유닛(들), 비-휘발성 메모리 유닛(들) 중 하나 이상의 것으로서 구현될 수 있다. 확장 메모리(1074)가 또한 확장 인터페이스(1072)를 통해 디바이스(1050)에 제공 및 연결될 수 있고, 이는 예를 들어, SIMM(Single In Line Memory Module; 단일 인라인 메모리 모듈) 카드 인터페이스를 포함할 수 있다. 이러한 확장 메모리(1074)는 디바이스(1050)를 위한 추가 저장 공간을 제공할 수 있고, 또는 디바이스(1050)를 위한 어플리케이션들 혹은 다른 정보를 또한 저장할 수 있다. 구체적으로, 확장 메모리(1074)는 앞서 설명된 프로세스들을 달성 혹은 보충하기 위한 명령들을 포함할 수 있고, 보안 정보를 또한 포함할 수 있다. 따라서, 예를 들어, 확장 메모리(1074)는 디바이스(1050)를 위한 보안 모듈로서 제공될 수 있고, 디바이스(1050)의 보안 사용을 허용하는 명령들로 프로그래밍될 수 있다. 추가적으로, 보안 어플리케이션들은 예를 들어, 해킹가능하지 않는 방식으로 SIMM 카드 상에 식별 정보를 위치시키는 것과 같이, 추가적인 정보와 함께 SIMM 카드들을 통해 제공될 수 있다.
메모리는 아래에서 논의되는 바와 같이, 예를 들어, 플래시 메모리 및/또는 MRAM 메모리를 포함할 수 있다. 일 구현예에서, 컴퓨터 프로그램 제품은 정보 캐리어에 실체적으로 구현될 수 있다. 컴퓨터 프로그램 제품은 명령들을 포함하며, 여기서 명령들은 그 실행시 앞서 설명된 것들과 같은 하나 이상의 방법들을 수행한다. 정보 캐리어는 예를 들어, 메모리(1064), 확장 메모리(1074), 혹은 프로세서(1052) 상의 메모리와 같은 컴퓨터-판독가능 매체 또는 머신-판독가능 매체이다.
디바이스(1050)는 통신 인터페이스(1066)를 통해 무선으로 통신할 수 있으며, 통신 인터페이스(1066)는 필요한 경우 디지털 신호처리 회로를 포함할 수 있다. 통신 인터페이스(1066)는 다양한 모드들 또는 프로토콜들 하에서 통신을 제공할 수 있는바 가령, GSM 음성 호출, SMS, EMS 또는 MMS 메시징, CDMA, TDMA, PDC, WCDMA, CDMA2000, 또는 GPRS 등에서 통신을 제공할 수 있다. 이러한 통신은 예를 들어 무선 주파수 송수신기(1068)를 통해 수행될 수 있다. 또한, Bluetooth, Wi-Fi 또는 다른 그러한 송수신기(도시되지 않음)를 사용하는 것과 같이 단거리 통신이 수행될 수 있다. 또한, GPS(Global Positioning System) 수신기 모듈(1070)은 추가 무선 데이터를 디바이스(1050)에 제공할 수 있으며, 이는 디바이스(1050) 상에서 실행되는 어플리케이션에 의해 적절히 사용될 수 있다.
디바이스(1050)는 또한 사용자로부터 음성 정보를 수신하고 그것을 이용가능한 디지털 정보로 변환할 수 있는 오디오 코덱(1060)을 사용하여 청각적으로 통신 할 수 있다. 오디오 코덱(1060)은 마찬가지로, 예를 들어 디바이스(1050)의 핸드 세트의 스피커를 통하는 것과 같이, 사용자를 위한 가청 사운드를 생성할 수 있다. 이러한 사운드는 음성 전화 호출로부터의 사운드를 포함할 수 있고, 녹음된 사운드(예컨대, 음성 메시지, 음악 파일들 등)을 포함할 수 있고 그리고 또한 디바이스(1050) 상에서 동작하는 어플리케이션에 의해 생성된 사운드를 포함할 수 있다.
컴퓨팅 디바이스(1050)는 도면에 도시된 바와 같이 다수의 상이한 형태로 구현될 수 있다. 예를 들어, 그것은 셀룰러 전화(1080)로서 구현될 수 있다. 또한 스마트 폰(1082), 개인 휴대 정보 단말기(personal digital assistant), 또는 다른 유사한 모바일 디바이스의 일부로서 구현될 수 있다.
여기에 설명된 시스템 및 기술의 다양한 구현예는 디지털 전자 회로, 집적 회로, 특별히 설계된 ASIC(주문형 집적 회로), 컴퓨터 하드웨어, 펌웨어, 소프트웨어 및/또는 이들의 조합으로 실현될 수 있다. 이러한 다양한 구현들은 하나 이상의 컴퓨터 프로그램들에서의 구현을 포함할 수 있는데, 이들 컴퓨터 프로그램들은, 특수 또는 범용일 수 있으며 데이터와 명령들을 송수신하기 위하여 저장 시스템, 적어도 하나의 입력 디바이스, 및 적어도 하나의 출력 디바이스에 접속되는 적어도 하나의 프로그램가능 프로세서를 포함하는 프로그램가능 시스템 상에서 실행가능하고 및/또는 해석가능하다.
이들 컴퓨터 프로그램들(프로그램, 소프트웨어, 소프트웨어 어플리케이션 또는 코드로도 알려짐)은 프로그램가능 프로세서에 대한 머신 명령어를 포함하고, 하이 레벨 절차적 프로그래밍 언어 및/또는 객체 지향 프로그래밍 언어 및/또는 어셈블리/머신 언어로 구현될 수 있다.
본 명세서에 사용된 바와 같이, "컴퓨터 판독가능 매체"는 프로그램 가능 프로세서에 머신 명령들 및/또는 데이터를 제공하는데 사용되는 임의의 컴퓨터 프로그램 제품, 장치 및/또는 디바이스(예컨대, 자기 디스크, 광 디스크, 메모리, 프로그램 가능 논리 디바이스(PLD))을 지칭하며, 머신 판독가능 신호로서 머신 명령을 수신하는 머신 판독가능한 매체를 포함한다. "머신 판독가능 신호"라는 용어는 머신 명령 및/또는 데이터를 프로그램가능 프로세서에 제공하는데 사용되는 임의의 신호를 지칭한다.
사용자와의 상호작용을 제공하기 위해, 여기에 설명된 시스템 및 기술은 컴퓨터 상에서 구현될 수 있으며, 상기 컴퓨터는 사용자에게 정보를 제공하기 위한 디스플레이 디바이스(예를 들면, CRT 또는 LCD 모니터) 및 사용자가 컴퓨터에 입력을 제공할 수 있는 키보드 및 포인팅 디바이스(예를 들어, 마우스 또는 트랙볼)를 갖는다. 사용자와의 상호작용을 제공하기 위해 다른 종류의 디바이스가 사용될 수도 있다. 예를 들어, 사용자에게 제공되는 피드백은 임의의 형태의 감각 피드백(예를 들어, 시각적 피드백, 청각 피드백 또는 촉각 피드백)일 수 있으며; 사용자로부터의 입력은 음향, 음성 또는 촉각 입력을 포함하는 임의의 형태로 수신될 수 있다.
여기에 설명된 시스템 및 기술은 백 엔드 컴포넌트(예: 데이터 서버)를 포함하거나 미들웨어 컴포넌트(예: 어플리케이션 서버)를 포함하거나, 프런트 엔드 컴포넌트(예컨대, 그래픽 사용자 인터페이스를 갖는 클라이언트 컴퓨터 또는 웹 브라우저, 이를 통해 사용자는 여기에 설명된 시스템 및 기술의 구현예와 상호작용할 수 있음)를 포함하거나 또는 그러한 백 엔드, 미들웨어 또는 프런트 엔드 컴포넌트의 조합을 포함할 수 있다. 시스템의 컴포넌트들은, 임의 포맷 혹은 매체의 디지털 데이터 통신(예: 통신 네트워크)에 의해서 상호연결될 수 있다. 통신 네트워크의 예는 근거리 통신망( "LAN"), 광역 통신망( "WAN") 및 인터넷을 포함한다.
컴퓨팅 시스템은 클라이언트 및 서버를 포함할 수 있다. 클라이언트와 서버는 일반적으로 서로 멀리 떨어져 있으며 일반적으로 통신 네트워크를 통해 상호작용한다. 클라이언트와 서버의 관계는 각각의 컴퓨터에서 실행되고 서로 클라이언트-서버 관계를 갖는 컴퓨터 프로그램의 덕택으로 발생한다.
몇몇 구현예들이 상술되었지만, 다른 변형예들도 가능하다. 또한, 본 문서에 설명된 시스템 및 방법을 수행하는 다른 메커니즘을 사용할 수 있다. 또한, 도면에 도시된 논리 흐름은 원하는 결과를 얻기 위해 도시된 특정 순서 또는 순차적 순서를 필요로하지 않는다. 설명된 흐름으로부터 다른 단계가 제공되거나 단계가 제거될 수 있으며, 설명된 시스템에 다른 구성 요소가 추가되거나 제거될 수 있다. 따라서, 다른 구현예들은 다음의 청구항들의 범위 내에 있다.

Claims (16)

  1. 컴퓨터로 구현되는 방법으로서,
    컴퓨팅 시스템에 의해서, 당사자에 대한 상호작용 데이터를 수신하는 단계, 상기 상호작용 데이터는 당사자와 다수의 엔티티들 사이에 발생한 상호작용들의 세트를 서술하고 그리고 상기 상호작용 데이터는 각각의 상호작용에 대해, (i) 상호작용의 하나 이상의 디멘전들(dimensions)에 대한 값들 및 (ii) 당사자와의 상호작용에 참여한 복수의 엔티티들 중 하나에 대한 엔티티 식별자를 식별하며;
    상기 컴퓨팅 시스템에 의해서, 당사자에 대한 질의 데이터를 수신하는 단계, 상기 질의 데이터는 당사자와 복수의 엔티티 사이에서 발생한 상호작용들의 세트에 대하여 상기 당사자에 의해 발행된 복수의 질의들을 서술하고;
    상기 컴퓨팅 시스템에 의해서, 복수의 디멘전 조합들을 결정하는 단계, 각각의 디멘전 조합은 상호작용 데이터에 표현된 하나 이상의 디멘전들에 대한 값들의 상이한 조합에 대응하며;
    상기 컴퓨팅 시스템에 의해서 그리고 질의 데이터에 서술된 복수의 질의들의 각각의 질의에 대해, 상기 질의에 대한 결과에 나타나는 각각의 디멘전 조합을 복수의 디멘전 조합들로부터 식별하는 단계;
    상기 컴퓨팅 시스템에 의해서 그리고 복수의 디멘전 조합들의 각 디멘전 조합에 대해, 질의에 대한 결과에 디멘전 조합이 나타나는 복수의 질의들로부터 각각의 질의를 식별하는 질의 멤버쉽 태그를 생성하는 단계;
    상기 컴퓨팅 시스템에 의해서 그리고 각각의 고유한 질의 멤버쉽 태그에 대해, 상호작용 데이터에서 질의 멤버쉽 태그에 대응하는 디멘전 조합을 갖는 임의의 상호작용과 연관되는 엔티티들의 개수에 대한 카운트를 결정하는 단계; 및
    하나 이상의 고유한 질의 멤버쉽 태그에 대한 카운트들에 기초하여 당사자에 대한 데이터 유출 위험을 평가하는 단계
    를 포함하는 것을 특징으로 하는 컴퓨터로 구현되는 방법.
  2. 제1항에 있어서,
    상기 당사자에 대한 상호작용 데이터를 수신하는 단계는, 당사자에게 알려진 전환 상호작용 데이터(conversion interaction data)를 수신하는 단계를 포함하고, 상기 상호작용들의 세트는 당사자의 하나 이상의 웹 속성들과 복수의 엔티티들 사이에 발생한 전환 상호작용들을 포함하는 것을 특징으로 하는 컴퓨터로 구현되는 방법.
  3. 제2항에 있어서,
    상기 전환 상호작용 데이터는 상기 당사자로부터 수신되는 것을 특징으로 하는 컴퓨터로 구현되는 방법.
  4. 제1항에 있어서,
    상기 당사자에 대한 상호작용 데이터를 수신하는 단계는, 당사자에게 알려지지 않은 비전환(non-conversion) 상호작용 데이터를 수신하는 단계를 포함하고, 상기 상호작용들의 세트는 하나 이상의 제3자 웹 속성들과 복수의 엔티티들 사이에 발생한 비전환 상호작용들을 포함하는 것을 특징으로 하는 컴퓨터로 구현되는 방법.
  5. 제4항에 있어서,
    상기 비전환 상호작용 데이터는 통지 항목 제공 시스템으로부터 수신되는 것을 특징으로 하는 컴퓨터로 구현되는 방법.
  6. 제1항에 있어서,
    상기 컴퓨팅 시스템에 의해 결정된 복수의 디멘전 조합들은 당사자에게 알려진 전환 상호작용 값들만을 포함하는 것을 특징으로 하는 컴퓨터로 구현되는 방법.
  7. 제1항에 있어서,
    질의에 대한 동일한 결과에 나타나는 2 이상의 상이한 디멘전 조합들은 동일한 질의 멤버쉽 태그를 갖는 것을 특징으로 하는 컴퓨터로 구현되는 방법.
  8. 제1항에 있어서,
    상기 당사자에 대한 데이터 유출 위험을 평가하는 단계는,
    고유한 질의 멤버쉽 태그들 중 임의의 고유한 질의 멤버쉽 태그에 대한 엔티티들의 개수에 대한 카운트가 식별가능한 임계값 아래인지를 결정하는 단계를 포함하는 것을 특징으로 하는 컴퓨터로 구현되는 방법.
  9. 제1항에 있어서,
    상기 당사자에 대한 데이터 유출 위험을 평가하는 것에 기초하여 소정의 질의 멤버쉽 태그에 대응하는 잠재적인 데이터 유출을 식별한 이후에, 데이터 유출이 발생했는지를 결정하기 위해 상기 소정의 질의 멤버쉽 태그에서 식별된 질의들의 조합들에 대한 차등 질의 분석을 수행하는 단계
    를 더 포함하는 것을 특징으로 하는 컴퓨터로 구현되는 방법.
  10. 제9항에 있어서,
    데이터 유출이 발생했다고 결정함에 응답하여, 하나 이상의 보안 동작들을 수행하는 단계를 더 포함하는 것을 특징으로 하는 컴퓨터로 구현되는 방법.
  11. 제10항에 있어서,
    상기 하나 이상의 보안 동작들은, 추가 질의들이 상기 당사자에 의해서 발행되는 것을 금지하는 것을 포함하는 컴퓨터로 구현되는 방법.
  12. 제10항 또는 제11항에 있어서,
    상기 하나 이상의 보안 동작들은, 상기 컴퓨팅 시스템에 의해서 자동으로 수행되는 것을 특징으로 하는 컴퓨터로 구현되는 방법.
  13. 제10항 또는 제11항에 있어서,
    상기 하나 이상의 보안 동작들은, 상기 컴퓨팅 시스템의 관리자로부터 입력을 수신한 이후에 수행되는 것을 특징으로 하는 컴퓨터로 구현되는 방법.
  14. 명령들이 저장된 하나 이상의 비일시적인 컴퓨터 판독가능 매체로서, 상기 명령들은 컴퓨팅 디바이스의 하나 이상의 프로세서들에 의해 실행될 때 상기 하나 이상의 프로세서들로 하여금,
    컴퓨팅 시스템에 의해서, 당사자에 대한 상호작용 데이터를 수신하는 동작, 상기 상호작용 데이터는 당사자와 다수의 엔티티들 사이에 발생한 상호작용들의 세트를 서술하고 그리고 상기 상호작용 데이터는 각각의 상호작용에 대해, (i) 상호작용의 하나 이상의 디멘전들(dimensions)에 대한 값들 및 (ii) 당사자와의 상호작용에 참여한 복수의 엔티티들 중 하나에 대한 엔티티 식별자를 식별하며;
    상기 컴퓨팅 시스템에 의해서, 당사자에 대한 질의 데이터를 수신하는 동작, 상기 질의 데이터는 당사자와 복수의 엔티티 사이에서 발생한 상호작용들의 세트에 대하여 상기 당사자에 의해 발행된 복수의 질의들을 서술하고;
    상기 컴퓨팅 시스템에 의해서, 복수의 디멘전 조합들을 결정하는 동작, 각각의 디멘전 조합은 상호작용 데이터에 표현된 하나 이상의 디멘전들에 대한 값들의 상이한 조합에 대응하며;
    상기 컴퓨팅 시스템에 의해서 그리고 질의 데이터에 서술된 복수의 질의들의 각각의 질의에 대해, 상기 질의에 대한 결과에 나타나는 복수의 디멘전 조합들로부터 각각의 디멘전 조합을 식별하는 동작;
    상기 컴퓨팅 시스템에 의해서 그리고 복수의 디멘전 조합들의 각 디멘전 조합에 대해, 질의에 대한 결과에 디멘전 조합이 나타나는 복수의 질의들로부터 각각의 질의를 식별하는 질의 멤버쉽 태그를 생성하는 동작;
    상기 컴퓨팅 시스템에 의해서 그리고 각각의 고유한 질의 멤버쉽 태그에 대해, 상호작용 데이터에서 질의 멤버쉽 태그에 대응하는 디멘전 조합을 갖는 임의의 상호작용과 연관되는 엔티티들의 개수에 대한 카운트를 결정하는 동작; 및
    하나 이상의 고유한 질의 멤버쉽 태그에 대한 카운트들에 기초하여 당사자에 대한 데이터 유출 위험을 평가하는 동작
    을 포함하는 동작들을 수행하게 하는 것을 특징으로 하는 비일시적 컴퓨터 판독가능 매체.
  15. 머신-판독가능 명령들을 포함하는 기록 매체에 저장된 컴퓨터 프로그램으로서, 상기 머신-판독가능 명령들은 컴퓨팅 장치에 의해 실행될 때 상기 컴퓨팅 장치로 하여금 제1항의 방법을 수행하게 하는 것을 특징으로 하는 컴퓨터 프로그램.
  16. 제1항의 방법을 수행하도록 구성된 장치.
KR1020207035162A 2018-06-05 2018-06-05 데이터 유출 위험 평가 KR102500778B1 (ko)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2018/036001 WO2019236060A1 (en) 2018-06-05 2018-06-05 Assessing data leakage risks

Publications (2)

Publication Number Publication Date
KR20210006435A KR20210006435A (ko) 2021-01-18
KR102500778B1 true KR102500778B1 (ko) 2023-02-16

Family

ID=62817065

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020207035162A KR102500778B1 (ko) 2018-06-05 2018-06-05 데이터 유출 위험 평가

Country Status (6)

Country Link
US (1) US11308232B2 (ko)
EP (1) EP3596648B1 (ko)
JP (1) JP6845344B2 (ko)
KR (1) KR102500778B1 (ko)
CN (1) CN110809764B (ko)
WO (1) WO2019236060A1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115618085B (zh) * 2022-10-21 2024-04-05 华信咨询设计研究院有限公司 一种基于动态标签的接口数据暴露探测方法

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8683322B1 (en) * 2010-02-10 2014-03-25 Socialware, Inc. Method, system and computer program product for structuring unstructured data originating from uncontrolled web application
US8145682B2 (en) 2010-02-25 2012-03-27 Microsoft Corporation Differentially private data release
US8639649B2 (en) * 2010-03-23 2014-01-28 Microsoft Corporation Probabilistic inference in differentially private systems
US8661047B2 (en) 2010-05-17 2014-02-25 Microsoft Corporation Geometric mechanism for privacy-preserving answers
US8375030B2 (en) 2010-12-03 2013-02-12 Mitsubishi Electric Research Laboratories, Inc. Differentially private aggregate classifier for multiple databases
US20150286827A1 (en) 2012-12-03 2015-10-08 Nadia Fawaz Method and apparatus for nearly optimal private convolution
US9672364B2 (en) * 2013-03-15 2017-06-06 Microsoft Technology Licensing, Llc Differentially private linear queries on histograms
US9158809B2 (en) * 2013-06-04 2015-10-13 Microsoft Technology Licensing, Llc Grid queries
US10108918B2 (en) * 2013-09-19 2018-10-23 Acxiom Corporation Method and system for inferring risk of data leakage from third-party tags
CA3128629A1 (en) * 2015-06-05 2016-07-28 C3.Ai, Inc. Systems and methods for data processing and enterprise ai applications
US20170068720A1 (en) * 2015-09-04 2017-03-09 Google Inc. Systems and methods for classifying data queries based on responsive data sets
US10108818B2 (en) 2015-12-10 2018-10-23 Neustar, Inc. Privacy-aware query management system
US10776838B2 (en) * 2016-03-01 2020-09-15 Mx Technologies, Inc. Item level data aggregation
US9977920B2 (en) * 2016-03-22 2018-05-22 Ca, Inc. Providing data privacy in computer networks using personally identifiable information by inference control
US11194864B2 (en) 2016-05-10 2021-12-07 Aircloak Gmbh Systems and methods for anonymized statistical database queries
US10452975B2 (en) * 2016-06-19 2019-10-22 Data.World, Inc. Platform management of integrated access of public and privately-accessible datasets utilizing federated query generation and query schema rewriting optimization
US10079935B1 (en) * 2017-03-24 2018-09-18 International Business Machines Corporation Managing sensitive information transfer between parties in a telephone conversation
WO2018212769A1 (en) * 2017-05-17 2018-11-22 Google Llc Preventing data leakage
US11113413B2 (en) * 2017-08-25 2021-09-07 Immuta, Inc. Calculating differentially private queries using local sensitivity on time variant databases
US10558823B2 (en) * 2018-06-11 2020-02-11 Grey Market Labs, PBC Systems and methods for controlling data exposure using artificial-intelligence-based modeling
WO2020043610A1 (en) * 2018-08-28 2020-03-05 Koninklijke Philips N.V. De-identification of protected information

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
HINKE T H et al, ‘protecting databases from inference attacks’, COMPUTERS & SECURITY, ELSEVIER SCIENCE, Vol.16,no.8, 1997.01.01. pp.687-708
MICHAEL HYLKEMA, ‘A Survey of database inference attack prevention methods’, 2009.12.01. pp.1-8

Also Published As

Publication number Publication date
JP6845344B2 (ja) 2021-03-17
CN110809764A (zh) 2020-02-18
US20210117564A1 (en) 2021-04-22
CN110809764B (zh) 2023-10-13
US11308232B2 (en) 2022-04-19
WO2019236060A1 (en) 2019-12-12
EP3596648B1 (en) 2020-08-05
JP2020525870A (ja) 2020-08-27
EP3596648A1 (en) 2020-01-22
KR20210006435A (ko) 2021-01-18

Similar Documents

Publication Publication Date Title
US11888863B2 (en) Maintaining user privacy via a distributed framework for security analytics
US11310261B2 (en) Assessing security risks of users in a computing network
US11567983B2 (en) Detecting, classifying, and enforcing policies on social networking activity
US9928381B2 (en) Data privacy management
US8141127B1 (en) High granularity reactive measures for selective pruning of information
US20160117517A1 (en) Providing policy tips for data loss prevention in collaborative environments
US10410304B2 (en) Provisioning in digital asset management
US10579814B2 (en) Monitoring and preventing unauthorized data access
WO2018160438A1 (en) Security and compliance alerts based on content, activities, and metadata in cloud
US11625469B2 (en) Prevention of organizational data leakage across platforms based on device status
US11625682B2 (en) Persona-based application platform
CN108763972A (zh) 一种基于网页的自绘随机键盘系统
KR102500778B1 (ko) 데이터 유출 위험 평가
WO2017100010A1 (en) Organization and discovery of communication based on crowd sourcing
JPWO2015155888A1 (ja) 情報漏洩検知装置、情報漏洩検知方法、および情報漏洩検知プログラム
Brannock Cybersecurity Risk Associated with Endpoint and IoT Devices: An Examination of Endpoint Print Device Security
US20240244071A1 (en) System and method for automated incident generation
US11750574B1 (en) End-to-end encrypted interactive messaging using message templates
US11537736B2 (en) System for detecting anomalous access to tables
Hasan et al. Security framework for adopting mobile applications in small and medium enterprises
US20230297721A1 (en) Systems and methods for creating rules based on security policies
US20220191030A1 (en) Mitigating risk in business networks in a privacy preserving manner
US20180358011A1 (en) Providing event based activity service for conversational environment

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant