KR20220136439A - 안전하게 온라인 사기 악성코드 탐지 - Google Patents

안전하게 온라인 사기 악성코드 탐지 Download PDF

Info

Publication number
KR20220136439A
KR20220136439A KR1020227032013A KR20227032013A KR20220136439A KR 20220136439 A KR20220136439 A KR 20220136439A KR 1020227032013 A KR1020227032013 A KR 1020227032013A KR 20227032013 A KR20227032013 A KR 20227032013A KR 20220136439 A KR20220136439 A KR 20220136439A
Authority
KR
South Korea
Prior art keywords
browser
computing system
web
fraud
online
Prior art date
Application number
KR1020227032013A
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 구글 엘엘씨
Publication of KR20220136439A publication Critical patent/KR20220136439A/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • H04L63/1425Traffic logging, e.g. anomaly detection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic
    • H04L63/145Countermeasures against malicious traffic the attack involving the propagation of malware through the network, e.g. viruses, trojans or worms
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0227Filtering policies
    • H04L63/0236Filtering by address, protocol, port number or service, e.g. IP-address or URL
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/321Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving a third party or a trusted authority
    • H04L9/3213Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving a third party or a trusted authority using tickets or tokens, e.g. Kerberos
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/46Secure multiparty computation, e.g. millionaire problem

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Virology (AREA)
  • Bioethics (AREA)
  • Theoretical Computer Science (AREA)
  • Medical Informatics (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Between Computers (AREA)
  • Computer And Data Communications (AREA)

Abstract

온라인 사기를 안전하게 탐지하는 방법이다. 이 방법은 브라우저 활동을 나타내는 암호화된 프로필을 생성하는 단계와; 암호화된 프로필을 보안 다자간 연산 시스템으로 전송하는 단계와; 웹 브라우저가 온라인 사기에 연루되지 않았다는 결정에 기초하여 보안 다자간 연산 시스템으로부터 신뢰 토큰을 수신하는 단계와; 보안 다자간 연산 시스템으로 신뢰 토큰을 상환하라는 요청을 전송하는 단계와; 웹 컨텐츠와 관련된 웹 사이트가 차단되지 않았다는 결정에 기초하여 보안 다자간 연산 시스템으로부터 암호화된 상환 기록을 수신하는 단계와; 그리고 암호화된 상환 기록을 포함하는 요청을 제3자 컨텐츠에 대해 전송하는 단계를 포함하며, 제3자 컨텐츠는 웹 컨텐츠와 관련된다.

Description

안전하게 온라인 사기 악성코드 탐지
본 문서는 온라인 사기 악성코드(malware)를 안전하게 탐지하기 위한 방법에 관한 것이다.
일부 일반적인 온라인 사기 시나리오에서, 악의적인 게시자 및/또는 파트너는 악성코드(malware)(또는 유료)에 감염된 많은 브라우저를 조작하여 불법적인 금전적 이득을 위해 악성 게시자의 웹페이지를 클릭하도록 한다. 이러한 종류의 온라인 사기를 일반적으로 게시자 인플레이션(inflation)이라고 지칭한다. 브라우저 벤더(vendors)가 제3자 쿠키를 더 이상 사용하지 않으면, 데이터 보안을 유지하면서 다수의 웹사이트에 걸쳐 브라우저의 브라우징 또는 클릭 이력을 수집하기 위한 효과적인 방법은 현재 없다. 따라서, 사기 방지(anti-fraud) 벤더는 클라이언트 데이터의 보안을 유지하면서 제3자 쿠키를 사용하지 않고 악성코드 감염으로 인해 게시자 인플레이션에 관여하는 일련의 브라우저 또는 웹 조회(view)를 식별할 필요가 있다.
예를 들어, 사용자는 다수의 웹 사이트 및 도메인에 걸쳐 여러 게시자의 웹 컨텐츠를 브라우징할 수 있다. 사용자는 브라우징 이력, 현재 보고 있는 웹 컨텐츠, 게시자 등과 같은 여러 요인을 기반으로 컨텐츠를 제공받는다. 온라인 사기 악성코드의 영향을 받는 클라이언트는 동일한 의심스러운 웹 컨텐츠 게시자의 웹 컨텐츠를 반복적으로 요청하고 이러한 의심스러운 웹 게시자의 웹 컨텐츠에 대해 동일한 액션을 반복적으로 수행하는 경향이 있다. 이로 인해 웹 컨텐츠에 대한 사기성 액세스와 관련된 온라인 컨텐츠에 대해 이러한 의심스러운 웹 게시자에게 비용을 지불할 수 있다.
IP 주소는 웹사이트 전반에 걸쳐 클라이언트를 추적하기 위한 가장 중요한 핑거프린팅 신호 중 하나이다. 그러나, 클라이언트 보안 문제는 IP 주소 사용으로 인해 발생한다. 예를 들어, 고의적 IP 회피(Willful IP Blindness) 설명자는 남용 방지/사기 방지를 포함한 몇 가지 예외가 있는 모든 IP 주소 사용이 프라이버시 예산(Budget)에 포함된다고 규정했다. IP 주소는 개방형 인터넷을 통해 찾고 라우팅할 수 있도록 본질적으로 클라이언트에 대해 고유한 식별자를 제공한다. IP 주소는 수동적인 정보 소스이기 때문에, 프라이버시 예산 설명자는 모든 사이트에 대한 식별 정보의 소비 소스로 간주되어야 하며 예산으로부터 자동으로 차감되어야 한다고 설명한다. 클라이언트 데이터 보안에 대한 증가하는 우려에 직면하여, 프로토콜의 이 기능은 IP 주소가 일정 기간 동안 안정적인 경우(종종) 자사 웹사이트에서 클라이언트를 식별하는데 사용할 수 있다는 점에서 버그로 바뀌었다.
더구나, 어떤 목적으로든 IP 주소를 사용하여 여러 사이트에 걸쳐 사용자를 추적하는 것은 사용자 데이터 보안 문제로 인해 허용되지 않을 수 있다. 이는 이러한 시스템에서 IP 주소를 사용하면 합리적인 클라이언트 데이터 보안 버짓을 초과할 수 있기 때문에 자체적으로 정보의 큰 소스일 수 있는 API의 경우 특히 문제가 된다. IP 주소 액세스가 차감된 후 남은 것보다 프라이버시 예산에 직면하여 더 많은 API 액세스가 필요한 웹사이트의 경우, 이러한 웹 사이트는 보안에 민감한 클라이언트 식별 IP 주소에 노출되지 않도록 옵트아웃하는 방법이 필요하다.
일반적으로, 본 명세서에 기술된 주제의 한 가지 혁신적인 양태는 온라인 사기 악성코드를 안전하게 탐지하기 위한 방법으로 구현될 수 있다. HTTP 애플리케이션이 자신의 IP 주소 및 연결 풀링 동작과 같은 기타 클라이언트 식별 네트워크 정보를 블라인드하고 클라이언트가 그에 따라 동작을 변경할 수 있도록 해당 사실을 알릴 수 있는 메커니즘이 제공된다. 본 발명의 다른 혁신적인 양태는 서버가 호스트하는 서비스의 애플리케이션 계층으로부터 IP 주소 및 기타 식별 네트워크 정보를 마스킹한다는 사실을 전달하는 서명된 증명(attestation)을 제공한다. 컨텐츠 전송 네트워크(CDN)는 호스팅된 서비스가 IP 주소에서 프라이버시 예산이 소진되지 않았기 때문에 사용 가능한 것보다 더 많은 API에 액세스할 수 있도록 호스팅 서비스에 이 기능을 제공할 수 있다. 마찬가지로, 역방향 프록시는 서비스를 호스팅하는 부담 없이 동일한 서비스를 제공할 수 있다.
본 발명은 남용 방지, 스팸 방지 벤더가 클라이언트 데이터 보안을 보호하면서 항상 웹 페이지, 도메인 또는 게시자의 작은 세트에서 작동하는 IP 주소 세트, 또는 IP 주소와 사용자 에이전트의 조합을 식별하는 방법을 제공한다. 이러한 맥락에서, 사용자 에이전트는 웹 컨텐츠와의 최종 사용자의 상호 작용을 검색, 렌더링 및 촉진하는 웹 브라우저와 같이 사용자를 대신하여 작동하는 소프트웨어일 수 있다. 이 접근 방식을 통해 남용 방지, 스팸 방지 벤더는 브라우저를 일반화하여 클라이언트 데이터 보안 및 IP 주소와 같은 기타 민감한 정보를 유지할 수 있다.
본 발명은 또한 남용 방지, 스팸 방지 벤더가 클라이언트 데이터 보안을 촉진하면서 항상 작은 웹 페이지 세트, 도메인 또는 게시자를 방문하거나 전환하는 IP 주소 세트 또는 IP 주소와 사용자 에이전트의 조합을 식별할 수 있는 방법을 제공한다. 이 접근 방식은 클릭 유형의 활동을 페이지 조회 또는 전환과 같은 다른 활동 유형으로 일반화한다.
본 발명은 또한 남용 방지, 스팸 방지 벤더가 클라이언트 데이터 보안을 보호하면서 URL 세트에 대해 항상 의심스러운 활동을 하는 IP 주소 세트, 또는 IP 주소와 사용자 에이전트의 조합을 식별하는 방법을 제공한다. 이 접근 방식은 개별 URL에서 웹사이트로부터, 동일한 엔터티가 소유한 웹사이트와 같은 관련 웹사이트 그룹으로와 같이, 의심스러운 활동이 발생하는 위치를 일반화한다. 유리하게는, 본 명세서에 개시된 방법은 제3자 쿠키를 요구하지 않고도 데이터 보안을 유지하면서 온라인 사기의 식별을 가능하게 한다.
방법은 일반적인 청중 기계 학습(ML) 인프라에 의존한다. 이 방법에 따르면, 사기 탐지 벤더의 지시에 따라, 브라우저는 동일한 게시자가 소유한 웹 페이지, 도메인 또는 다수의 도메인에서 브라우저의 활동(예를 들어, 페이지 조회, 클릭 또는 전환)에 기초하여 사용자 프로필을 생성한다. 브라우저가 암호화된 사용자 프로필을 보안 다자간 연산(MPC) 클러스터로 전송한 후, MPC 클러스터는 선택적으로 브라우저의 IP 주소 및/또는 브라우저 사용자 에이전트 문자열에 기초하여 사용자 프로필을 집계할 수 있다.
이 방법은 2개의 모델, 2개의 k-NN 또는 k-평균 모델 등을 생성하는 MPC 클러스터을 포함한다. 하나의 모델에서, 각 이웃은 브라우저이거나 IP 주소 및/또는 사용자 에이전트 문자열을 통해 집계된 브라우저이다. 이 모델은 유사한 온라인 활동(예를 들어, 동일한 위치 집합에서 페이지 조회, 클릭 또는 전환)이 있는 모든 브라우저를 찾거나 IP 주소 및/또는 사용자 에이전트 문자열을 통해 집계된 브라우저를 찾는다. 위치는 웹 페이지, 도메인 또는 동일한 게시자가 소유한 다수의 도메인일 수 있다. 두 번째 모델에서, 각 이웃은 위치이다. 이 모델은 유사한 브라우저 세트(또는 IP 주소 및/또는 사용자 에이전트 문자열을 통해 집계된 브라우저)가 유사한 활동을 하는 모든 위치를 찾는다.
두 모델을 함께 사용하면 사기 탐지 벤더가 사기 엔티티, 예를 들어 브라우저 또는 동일한 IP 주소 및/또는 브라우저 사용자 에이전트 뒤에 있는 브라우저를 식별할 수 있다. 그런 다음 사기 탐지 벤더는 이러한 사기 엔터티에 대한 차단 목록을 만들 수 있다. 차단 목록에 기초하여, MPC 클러스터는 차단 목록에 없는 엔터티에 신뢰 토큰을 발행하는 신뢰 토큰 발행자가 될 수 있다.
이들 및 다른 실시예는 각각 이러한 특징 중 하나 이상을 선택적으로 포함할 수 있다.
이 양태의 다른 실시예는 컴퓨터 저장 디바이스 상에 인코딩된, 방법의 동작을 수행하도록 구성된 대응하는 시스템, 장치, 및 컴퓨터 프로그램을 포함한다.
본 문서에 설명된 주제의 특정 실시예는 다음 이점 중 하나 이상을 실현하도록 구현될 수 있다. 특정 환경에서, 이전에는 제3자 쿠키가 없는 상태에서 온라인 사기를 감지하면서 클라이언트 데이터 보안을 유지할 수 있는 방법이 없었다. 이러한 결점은 본 명세서에서 논의된 기술, 디바이스 및 시스템에 의해 해결된다. 본 문서에 설명된 기술을 통해 시스템은 다른 사용 사례 중에서도 온라인 사기를 감지하고 극복할 수 있다.
본 명세서에서 설명된 주제의 하나 이상의 실시예의 세부 사항은 첨부된 도면 및 아래의 설명에서 설명된다. 주제의 다른 특징, 양태 및 이점은 설명, 도면 및 청구범위에서 명백해질 것이다.
도 1은 클라이언트 데이터 보안을 유지하면서 온라인 사기 탐지를 위한 예시적인 환경의 블록도 및 흐름도이다.
도 2는 브라우저 활동 이력의 표현을 도시한다.
도 3은 위치에 걸친 브라우저 활동 이력의 표현을 도시한다.
도 4는 온라인 사기 악성코드를 탐지하고 완화하기 위한 예시적인 프로세스의 블록도 및 흐름도이다.
다양한 도면에서 동일한 참조 번호 및 명칭은 동일한 요소를 나타낸다.
본 문서에서는 온라인 사기 악성코드(malware)를 안전하게 탐지할 수 있는 방법, 시스템 및 디바이스에 대해 설명한다.
일부 구현에서, 방법은 클라이언트 프라이버시를 유지하고 클라이언트 IP 주소를 난독화하면서 온라인 사기 악성코드를 탐지할 수 있는 시스템을 활용한다. 이 방법에 따르면, 남용 방지 스팸 방지(anti-abuse anti-spam) 벤더는 브라우저를 IP 주소와 같은 다른 프라이버시에 민감한 정보로 일반화함으로써 클라이언트 데이터 보안을 유지하면서 항상 작은 도메인 세트를 클릭하는 IP 주소 세트, 또는 IP 주소와 사용자 에이전트의 조합을 식별한다. 또한 이 방법에 따르면, 남용 방지, 스팸 방지 벤더는 웹 컨텐츠 방문 전반에 걸쳐 클라이언트 활동을 일반화함으로써 클라이언트 데이터 보안을 유지하면서 항상 작은 도메인 세트를 방문하거나 전환하는 IP 주소 세트, 또는 IP 주소와 사용자 에이전트의 조합을 식별한다. 또한 이 방법에 따르면, 남용 방지, 스팸 방지 벤더는 의심스러운 활동이 발생하는 위치를 일반화함으로써 클라이언트 데이터 보안을 유지하면서 URL 세트에서 항상 의심스러운 활동이 있는 IP 주소 세트, 또는 IP 주소와 사용자 에이전트의 조합을 식별한다.
일 구현에서, 방법은 클라이언트에 대한 사용자 프로필을 유지하는 브라우저를 포함한다. 브라우저는 웹 컨텐츠에 대한 사용자 프로필 요청, 웹 컨텐츠와 관련하여 취해진 액션, 웹 컨텐츠의 위치, IP 주소, 브라우저 ID 및 버전 정보, 사용자 에이전트 문자열 등을 포함할 수 있다. 브라우저는 사용자 데이터 보안을 유지하면서 사기 방지 벤더 시스템과 사용자 프로필을 안전하게 공유한다. 브라우저는 지정된 빈도(예를 들어, 매일)로 사용자 프로필 정보를 전송하도록 구성할 수 있다. 사기 방지(anti-fraud) 공급업체 시스템은 사용자 프로필 정보를 수신한다. 사기 방지 벤더 시스템은 주기적으로 사용자 프로필 정보의 일부를 MPC 서버로 전송할 수 있다. 일부 구현에서, 브라우저는 사기 방지 벤더 시스템의 지시에 따라 사용자 프로필을 안전하게 MPC 서버로 직접 전송한다. MPC 서버는 사용자 프로필 간의 유사성에 기초하여 모델을 구축하기 위해 다단계 보안 계산에 참여한다. 이 모델은 사기 방지 벤더 시스템이 유사한 브라우징 동작(behavior)이 있는 IP 주소의 클러스터를 식별하도록 지원한다. MPC 서버는 사용자 프로필 집계 결과를 사기 방지 벤더로 전송한다. 사기 방지 벤더는 스팸 방지 또는 남용 방지 분석을 수행할 때 사용자 프로필 집계 결과를 활용한다. 스팸 방지 또는 남용 방지 분석에 기초하여, 사기 방지 벤더는 하나 이상의 차단 목록을 생성할 수 있다. 차단 목록에는 온라인 사기에 연루된 것으로 결정된 웹사이트 또는 웹사이트 게시자 목록이 포함될 수 있다. 차단 목록에는 온라인 사기에 연루된 것으로 결정된 클라이언트, IP 주소, 또는 IP 주소와 사용자 에이전트의 조합이 포함될 수도 있다. 사기 판정에 근거하여, MPC 서버는 사기 방지 벤더 시스템으로부터의 차단 목록에 기초하여, 클라이언트, 클라이언트 그룹, 또는 동일한 IP 주소를 가진 모든 클라이언트, IP 주소 그룹, 또는 클라이언트가 온라인 사기에 연루된 것으로 결정되었는지 여부를 나타내는 IP 주소와 사용자 에이전트의 조합에 신뢰 토큰을 발행할 수 있다. 브라우저는 게시자의 사이트를 방문할 때 MPC 서버로 신뢰 토큰을 상환(redeem)할 수 있다. 상환 프로세스가 끝날 때 브라우저에 발행된 서명된 상환 기록(SRR)에서, MPC 서버는 사기 방지 벤더 시스템으로부터의 차단 목록에 기초하여, 브라우저가 사기인지 또는 게시자 사이트가 사기인지 여부를 나타내는 추가 신호를 전달할 수 있다. 브라우저는 웹 컨텐츠에 대한 요청과 관련하여 광고 기술 제공자와 같은 디지털 컴포넌트 제공자에 대한 요청에 서명된 상환 기록(SRR)을 포함할 수 있다. 일부 구현에서, 사기 방지 벤더 시스템으로부터의 차단 목록에 기초하여, MPC 서버는 차단 목록에 있는 브라우저에 대한 신뢰 토큰 발행을 거부하거나 브라우저가 차단 목록에 있는 게시자의 웹사이트 상에 있을 때 신뢰 토큰 상환을 거부할 수 있다.
일 구현에서, 본 발명에 따라 탐지 및 방지될 사기 방지 사용 사례 세트는 방문 그래프, 즉 이분 그래프로 시각화할 수 있으며, 이 그래프의 꼭지점(vertex)은 두 개의 분리되고 독립적인 세트(U 및 V)로 분할되어 모든 에지(edge, 모서리)가 꼭지점(U)을 V의 꼭지점에 연결한다. 이러한 방문 그래프에서, U의 각 꼭지점은 쿠키, 브라우저, IP 주소, IP 주소와 사용자 에이전트의 조합, 또는 사용자와 관련된 다른 클라이언트 정보 세트를 나타낸다. 이러한 방문 그래프에서, V의 각 꼭지점은 URL(Uniform Resource Locator), 도메인, 또는 동일한 게시자와 관련된 도메인 세트와 같은 위치를 나타낸다. 이러한 방문 그래프에서, U의 꼭지점과 V의 꼭지점 사이의 각 에지는 특정 사용자(예를 들어, 쿠키, 브라우저, IP 주소, IP 주소와 사용자 에이전트의 조합, 또는 사용자와 관련된 다른 클라이언트 정보 세트)가 특정 위치에서 활동(예를 들어, 방문, 클릭, 전환)에 참여했음을 나타낸다. 온라인 사기는 U'에서 나가는 에지의 상당 부분이 V'로 이동하고 및/또는 V'로 들어오는 에지의 상당 부분이 U'에서 나오도록 U' ⊂ U 및 V' ⊂ V를 탐색함으로써 검출될 수 있다. 중요한 부분은 70% 이상일 수 있지만 휴리스틱 튜닝 또는 ML은 70%보다 크거나 작은 다른 중요한 부분을 나타낼 수 있다. 이러한 적절한 서브 세트 관계는 온라인 사기에 연루될 가능성이 있는 클라이언트 및 위치를 나타낸다. 다양한 다른 방법을 사용하여 클라이언트, 클라이언트 그룹, IP 주소, IP 주소 그룹, 또는 IP 주소와 사용자 에이전트의 조합이 온라인 사기를 당했는지 또는 온라인 사기에 연루되어 있는지 여부를 결정할 수 있으며, 위의 방법은 한 예이다.
하나의 구현에서, 방법은 일반 ML 아키텍처를 활용한다. 이 일반 ML 아키텍처에는 두 개 이상의 보안 다자간 컴퓨팅 서버 또는 MPC 서버 클러스터가 포함될 수 있다. 일반 MPC 서버는 하나 이상의 제3자 엔터티와 제휴할 수 있다. 다수의 제3자와 제휴한 일반 MPC 서버는 클라이언트 IP 데이터, 브라우저 활동 및 여러 독립 서버 간의 위치 데이터를 난독화하여 클라이언트 데이터 보안 위반의 위험을 줄이거나 제거하는 추가 이점이 있다. MPC는 다수의 당사자가 입력에 대해 공동으로 계산할 수 있게 하는 동시에 적어도 임계 수의 당사자가 정직하게 유지되는 한 데이터 누출이 없음을 보장하는 암호화로 잘 정의된 제한적인 출력만 공개할 수 있는 암호 메커니즘이다. 예를 들어, MPC는 집계된 개인 출력을 계산할 수 있도록 하면서 보조 서버 측 인프라가 최소한으로 신뢰되어야 한다는 상위 레벨 목표를 충족하기 위해 여러 헬퍼(helper, 도우미) 서버에 걸쳐 신뢰를 분산한다. MPC 프로토콜은 데이터 보안을 유지하는 이점을 제공한다. 예를 들어, 보안 제2자(2-party) 연산 설정에서, 헬퍼 서버는 두 헬퍼 서버가 공모하지 않는 한 데이터를 명확하게 볼 수 없으며, 하나의 헬퍼 서버가 제3자와 공모하더라도 데이터 보안은 계속 유지된다.
하나의 선택적인 구현에서, 디바이스 또는 애플리케이션 레벨 신호에 기초하여 신뢰 토큰을 발행하는 신뢰 토큰 발행자는 수신자 도메인이 HTTP 요청이 신뢰할 수 있는 디바이스 위에서 실행되는 브라우저의 공식 빌드(official build)에서 시작(originates)되었는지 확인할 수 있도록 한다. 이러한 구현에서, 운영 체제는 신뢰 토큰의 정의 또는 처리와 관련될 수 있다.
도 1은 클라이언트 데이터 보안을 유지하면서 온라인 사기 탐지를 위한 예시적인 환경의 블록도 및 흐름도이다. 환경은 브라우저(100), 사기 방지 벤더(110) 및 MPC(120)를 포함한다. 디바이스(100)는 사용자(130) 요청에 기초하여 웹 컨텐츠를 요청하고 디스플레이한다. 사용자(130)는 인간 사용자이거나, 애플리케이션, 프로세스, 스레드, 프로그램 등과 같은 소프트웨어 엔티티일 수 있다
디바이스(100)는 사기 방지 벤더(110)의 요청에 따라 사용자 프로필을 업데이트한다. 업데이트 빈도는 지수적 감쇄를 적용하여 사용자 프로필 데이터의 저장을 상수로 줄이는 공식에 따라 발생할 수 있다.
Figure pct00001
각 모니터링 이벤트(예를 들어, 광고 요청, 노출, 클릭, 전환, 웹 컨텐츠 요청)에 대해, 사기 방지 벤더(110)는 JavaScript API를 통해 디바이스(100)에 특징 벡터(FVi)를 제공한다. 이벤트 연령은 record_age_in_secondsi이다. 감쇠율(decay_rate_in_seconds)은 오래된 이벤트가 얼마나 빨리 가중치를 줄여 계산된 사용자 프로필에 덜 영향을 미치는지를 제어한다. 대안적으로, 디바이스(100)는 FVi의 수에 선형적으로 디바이스(100) 저장을 요구하는 사용자 프로필을 계산할 수 있다.
사기 방지 벤더 시스템이 특징 벡터(FVi)를 정의하는 다수의 방법이 있다. 한 가지 방법은 원-핫(one-hot) 인코딩이다. 도 2에 도시된 바와 같이, 원-핫 인코딩은 허용된 값(220)의 조합이 단일 high(1) 비트와 다른 모든 low(0)의 조합만 있는 비트 그룹의 특징 벡터(200)이다. 온라인 사기에 취약한 총 m개의 광고 지원 위치(210)(예를 들어, URL, 웹사이트, 도메인 또는 게시자)가 있는 경우, 특징 벡터(FV는) m 차원 희소 벡터가 될 것이다. 희소 벡터의 각 요소(element)는 하나의 위치(210)에 해당한다. 예를 들어, 희소 벡터의 모든 요소는 브라우저가 방금 액세스한 웹사이트에 해당하는 요소가 1인 것을 제외하고는 0이 된다. 대안적으로, 특징 벡터(230)는 연구 기간 동안 위치(240)에 대한 클릭 수를 나타내는 요소 값(250)을 가질 수 있다. 최소 저장 공간을 필요로 하는 희소 벡터를 나타내는데 널리 사용되는 방법은 많이 있다. 예를 들어, 희소 벡터의 0이 아닌 항목(entry)만 저장함으로써 상당한 메모리 요구 사항 감소를 실현할 수 있다. 0이 아닌 항목의 수와 분포에 따라 다른 데이터 구조가 사용될 수 있으며 기본 접근 방식과 비교할 때 메모리를 크게 절약할 수 있다. 효율적인 저장을 위한 절충안은 개별 요소에 대한 액세스가 더 복잡해지고 원래 벡터를 명확하게 복구할 수 있으려면 추가 구조가 필요하다는 것이다. 일반적으로 행렬을 구성하는데 DOK(Dictionary of keys), LIL(List of lists) 또는 COO(Coordinate list)과 같은 효율적인 수정을 지원하는 저장 포멧이 사용된다. 다른 저장 포멧으로는 CSR(Compressed Sparse Row) 또는 CSC(Compressed Sparse Column)가 있다.
일 구현에서, 사용자 프로필은 특징 벡터에 따라 계산될 수 있다. 특징 벡터 정의와 관련하여 위에서 설명한 바와 같이, 계산된 사용자 프로필(Pi)은 m 차원 희소 벡터일 수 있으며, 여기서 브라우저가 액세스한 웹사이트에 해당하는 요소가 0보다 크다는 점을 제외하고 벡터의 모든 요소는 0이 된다. 온라인 사기를 저지르는 일련의 브라우저를 감지하려면, 브라우저가 위의 공식에 따라 로컬에서 사용자 프로필을 계산하는 것으로 충분하다. MPC 클러스터(120)는 한 쌍의 사용 프로필(Pi 및 Pj) 간의 코사인 유사성에 기초하여 유사한 동작을 갖는 브라우저를 식별할 수 있다.
일 구현에서, 브라우저(100)는 사용자 프로필(Pi)을 [Pi,1] 및 [Pi,2]로 암호화적으로 분할할 수 있다. 암호화 설계는 각 셰어(share, 조각) 자체가 비밀 사용자 프로필(Pi)과 유사하지 않은 의사 난수처럼 보이도록 보장한다. Pi를 재구성하려면, 엔터티는 일반 텍스트로 [Pi,1]과 [Pi,2]를 모두 소유해야 한다. 그런 다음 브라우저(100)는 PublicKeyEncrypt([Pi,1], MPC1) 및 PublicKeyEncrypt([Pi,2], MPC2)를 사기 방지 벤더(110)로 전송한다. 일 구현에서, 사기 방지 벤더(110)는 정의 가능한 기간에 수신된 모든 PublicKeyEncrypt([Pi,1], MPC1)를 MPC1(120)에 일괄 업로드하고 동일한 기간에 수신된 모든 PublicKeyEncrypt([Pi,2], MPC2)를 MPC2에 일괄 업로드한다.
일 구현에서, MPC1과 MPC2는 사용자 프로필(Pi 및 Pj)사이의 코사인 유사성에 기초하여 k-NN 모델을 구축하기 위해 다단계 보안 계산에 관여한다. 랜덤 투영 및 해밍 거리 기반의 확률 알고리즘은 정직하지만 호기심 많은 보안 모델 하에서 사용자 데이터 보안을 유지하기 위해 암호문의 코사인 유사성(도)를 계산한다. 코사인 유사성은 내부 제품 공간의 0이 아닌 두 벡터 간의 유사도를 측정한다. 그것은 그들 사이의 각도의 코사인과 같도록 정의되며, 둘 다 길이가 1로 정규화된 동일한 벡터의 내적과 동일하다. 랜덤 투영은 두 벡터 사이의 코사인 거리를 근사화하도록 설계되었다. 예를 들어, 처음에 랜덤 초평면(일반 단위 벡터(r)로 정의됨)이 선택되어 코사인 거리에 도달하기 위해 두 입력 벡터를 해시하는데 사용된다. 두 벡터 사이의 코사인 거리는 유사성을 나타낸다. 예를 들어, 두 벡터 사이의 각도가 0°인 경우, 두 벡터는 유사하거나 동일하다. 각도가 90°인 경우, 두 벡터 간에 유사성은 없다. 그리고 각도가 180°인 경우 두 벡터는 서로 반대이다. 길이가 같은 두 벡터 사이의 해밍 거리는 해당 기호(stmbol)가 상이한 위치의 수로서 두 벡터 간의 유사성 또는 비유사성을 나타낸다. 정직하지만 호기심이 많은(HBC : honest-but-curious) 공격자는 정의된 프로토콜에서 벗어나지 않지만 합법적으로 수신된 메시지에서 가능한 모든 정보를 배우려고 시도하는 통신 프로토콜의 합법적인 참여자이다. 사용자 프로필을 인코딩하고 사용자 프로필의 인코딩된 셰어(조각)에 대해 작동하는 것은 본 발명의 목적에 따른 사용자 데이터 보안을 유지한다.
일 구현에서, 유사한 의심스러운 동작을 보이는 IP 주소 세트(또는 IP 주소와 사용자 에이전트 간의 교차)를 감지하는 경우, 위 공식으로 계산된 사용자 프로필은 충분하지 않을 수 있다. 대신, MPC 클러스터는 IP 주소(또는 IP 주소와 사용자 에이전트 간의 교차)에 걸쳐 개별 브라우저에 의해 보고된 사용자 프로필을 집계할 수 있다. MPC1을 예로 들면 다음과 같이 집계가 발생할 수 있다. MPC1은 브라우저 IP 주소, 브라우저 사용자 에이전트 문자열(선택 사항), 사용자 프로필의 비밀 셰어([Pi,1]), 사용자 프로필의 타임스탬프(ti)와 같은 정보가 포함된 암호화된 보고를 수신한다. MPC1은 HMAC(browser_ip_address || optional_user_agent_string, secret_key_for_model_version)로 사용자 프로필의 비밀 셰어에 대한 집계 키를 계산한다. 동일한 집계 키를 공유하는 사용자 프로필의 모든 비밀 셰어에 대해, MPC1은 IP 주소(또는 IP 주소와 사용자 에이전트 간의 교차)와 연관된 모든 프로필의 합계를 계산한다. IP 주소(또는 IP 주소와 사용자 에이전트 간의 교차)에 대한 결합된 프로필을 사용하면 유사한 동작이 있는 IP 주소의 클러스터를 식별하는 k-NN 모델을 구축할 수 있다. 명확히 하면, 본 문서에서 "사용자 프로필"은 하나의 브라우저에 대한 사용자 프로필, IP 주소에 대한 결합 프로필, IP 주소와 사용자 에이전트 간의 교차 프로필을 지칭한다.
일 구현에서, MPC 클러스터는 다수의 모델을 구축하여 동일한 트레이닝 데이터세트를 사용하여 사기성 브라우저 활동 및 사기성 위치를 검출한다. 예를 들어, MPC 클러스터는 소수의 웹사이트에서 온라인 사기를 저지르는 브라우저의 클러스터를 식별하려고 시도할 수 있다. 이를 위해, MPC 클러스터는 유사한 동작을 가진 브라우저를 식별하는 하나의 모델과 유사한 브라우저 세트와 상호 작용하는 웹사이트를 식별하는 다른 모델로 2가지 모델을 구축할 수 있다. 유사한 동작을 가진 브라우저를 결정하기 위해, MPC 서버는 사기 방지 벤더로부터 사용자 프로필 목록을 수신할 수 있다. 각 사용자 프로필은 m개의 웹사이트에 해당하는 m 차원의 희소 벡터이다. 각 사용자 프로필은 사용자 프로필 목록 크기가 n인 행 벡터로 표시된다. 한 쌍의 사용자 프로필 사이의 코사인 거리를 계산하고 그에 따라 k-NN 모델을 구축함으로써 MPC1과 MPC2는 유사한 동작이 있는 브라우저의 클러스터를 식별할 수 있다. 도 3을 참조하면, 유사한 브라우저 세트와 상호 작용하는 웹사이트를 식별하기 위해, MPC1은 n개의 사용자 프로필(320)을 n×m 행렬(300)로 쌓을 수 있다. 이러한 행렬(300)에서, 각 열 벡터(310)는 해당 웹사이트에서 모든 브라우저의 동작을 인코딩한다. 한 쌍의 열 벡터(310) 사이의 코사인 거리를 계산하고 그에 따라 k-NN 모델을 구축함으로써, MPC1과 MPC2는 유사한 사용자 상호작용이 있는 웹사이트의 클러스터, 예를 들어 동일한 브라우저 세트로부터 대부분의 클릭을 수신하는 웹사이트를 식별할 수 있다.
일 구현에서, MPC 클러스터는 집계 결과(예를 들어, 2개의 k-NN 모델)를 사기 방지 시스템에 반환한다. 사기 방지 시스템은 이러한 집계 결과를 사용하여 소수의 웹사이트에서 온라인 사기를 저지르는 브라우저의 클러스터를 식별한다. 사기 방지 시스템은 두 개의 k-NN 모델에 질의를 적용한다. 이러한 질의는 서로 간에 높은 코사인 유사성(본 문서에서 논의됨)을 갖는 소수의 웹사이트(예를 들어, n×m 희소 행렬의 열들)와; 소수의 브라우저, IP 주소, 또는 해당 클러스터 간에 코사인 유사성이 높은 IP 주소 교차 사용자 에이전트 문자열(예를 들어, n×m 행렬의 행들)과; 그리고 첫 번째 질의에 대한 응답으로 식별된 소수의 웹사이트에 의해 수신된 대부분의 클릭 또는 상호 작용에 기여한 소수의 브라우저 클러스터를 식별한다. 행렬 표현에서, n×m 희소 행렬 내에서, 이 소수의 웹사이트에 해당하는 열에서 0이 아닌 대부분의 요소는 브라우저에 해당하는 행에 집중되어 있다.
일 구현에서, 온라인 사기에 연루된 브라우저 및 위치를 결정하기 위해 질의 결과에 휴리스틱이 적용될 수 있다. 실제 결과에 기초하여, 이러한 휴리스틱은 대부분의 온라인 사기를 제거하면서 거짓 긍정(false positives)을 줄이기 위해 조정될 수 있다. 예를 들어, 웹사이트 페이지뷰의 90%가 1,000개의 브라우저에서 발생하고 해당 브라우저의 페이지뷰의 80%가 웹사이트 상에서 발생하는 경우 1,000개의 브라우저와 웹사이트는 온라인 사기를 의심한다.
일 구현에서, 일단 휴리스틱을 통해 집계 및 분석 결과가 드러나면, 온라인 사기를 방지하기 위한 조치가 취해질 수 있다. 예를 들어, 사기 방지 벤더 시스템이 온라인 사기에 연루된 것으로 결정한 브라우저 및 위치가 차단 목록에 포함될 수 있다. 온라인 사기에 연루된 것으로 결정된 브라우저, IP 주소 또는 IP 주소 교차 사용자 에이전트 문자열은 브라우저 차단 목록에 추가된다. 온라인 사기에 연루된 것으로 결정된 위치는 위치 차단 목록에 추가된다. 브라우저 차단 목록 상의 브라우저에는 수익 창출 컨텐츠(예를 들어, 광고)와 같은 디지털 컨텐츠가 표시되지 않는다. 위치 차단 목록 상의 위치에는 벤더로부터 수익 창출 컨텐츠와 같은 디지털 컴포넌트가 제공되지 않으므로 수익 창출 컨텐츠와 같은 디지털 컴포넌트는 차단 목록에 있는 위치에 표시되지 않는다. 유리하게는, 디지털 컴포넌트가 수익 창출 컨텐츠라는 맥락에서, 차단 목록에 있는 위치에는 수익 창출 컨텐츠가 표시되지 않는다. 보다 일반적으로 디지털 컴포넌트의 맥락에서, 이러한 컴포넌트가 차단된 위치에 표시되는 것을 방지하면 이러한 컴포넌트를 전송하거나 렌더링할 필요가 없기 때문에 네트워크 트래픽과 처리 부하가 줄어들고 악성코드에 노출될 가능성이 줄어든다. 청구된 방법이 없으면, 기존 시스템은 사기 엔티티의 차단 목록을 통한 사전 필터링 없이 모든 디지털 컴포넌트를 전송할 수 있으므로 네트워크 대역폭 및 처리 요구 사항이 크게 증가하고 악성코드에 대한 노출이 증가할 수 있다.
일 구현에서, 질의 및 휴리스틱 분석 후, 사기 방지 벤더는 온라인 사기에 연루된 n×m 희소 행렬에 있는 열의 서브 세트에 해당하는 위치(예를 들어, URL, 웹 사이트 또는 게시자) 목록을 작성할 수 있다. 따라서 디지털 컴포넌트 제공자는 해당 위치에서 디지털 컴포넌트를 수신하지 못하도록 차단할 수 있다. 예를 들어, 광고 기술 회사는 해당 위치에서 광고를 제공하지 못하도록 차단할 수 있다. 온라인 사기에 연루된 것으로 결정된 이러한 위치의 ID는 일반적으로 데이터 보안이나 프라이버시에 민감하지 않기 때문에, 광고 기술 회사와 같은 디지털 컴포넌트 제공자는 사기 방지 벤더 또는 MPC 클러스터로부터 직접 일반 텍스트로 해당 위치의 목록을 수신하고 그에 따라 차단 목록을 작성(build)할 수 있다.
데이터 보안 및 프라이버시 보호를 위해, 브라우저 목록, IP 주소, 또는 IP 주소와 사용자 에이전트의 교차 목록을 일반 텍스트로 공유하는 것은 바람직하지 않을 수 있다. 일 구현에서는, 데이터 보안 및 프라이버시 보호 문제를 해결하는데 신뢰 토큰 구현이 바람직할 수 있다.
일 구현에서, 신뢰 토큰 API는 브라우저, 특정 IP 주소와 연관된 브라우저, 또는 특정 IP 주소 및 사용자 에이전트 문자열과 연관된 브라우저가 온라인 사기에 연루된 것으로 결정되었는지 여부를 광고 기술 제공자와 같은 디지털 컴포넌트 제공자에 통지한다. 도 4는 신뢰 토큰 메커니즘을 활용하기 위한 블록도 및 흐름도를 제공한다. 사기 방지 시스템(420)은 MPC 클러스터(400)가 생성하고 소유한 2개의 k-NN 모델을 질의한다. 사기 방지 시스템(420)은 MPC 클러스터(400)로부터 수신된 집계 보고를 분석하여 온라인 사기에 연루될 가능성이 있는 브라우저의 클러스터를 식별한다. 사기 방지 시스템(420)은 차단할 브라우저의 클러스터를 MPC 클러스터(400)에 업로드한다. 각 클러스터는 비트 벡터로 표시되는 클러스터 중심까지의 최대 해밍 거리에 의해 식별될 수 있다. MPC 클러스터(400)는 브라우저에 의해 업로드된 사용자 프로필의 비트 벡터와 차단될 임의의 클러스터의 중심 사이의 해밍 거리를 계산한다. 임의의 해밍 거리가 해당 해밍 거리 임계값보다 작은 경우, 브라우저는 온라인 사기에 연루되어 있을 가능성이 있으며 차단되어야 한다. 이에 따라 MPC 클러스터(400)는 예를 들어 브라우저(430)가 은닉 비트(hidden bit)에 온라인 사기에 연루될 가능성이 있는지 여부를 인코딩한, 신뢰 토큰을 브라우저(430)에게 발행할 수 있다. 나중에 브라우저가 게시자의 사이트를 방문할 때, 브라우저(430)는 신뢰 토큰을 상환하고 광고 기술 제공자와 같은 디지털 컴포넌트 제공자(410)에 대한 요청에서 이용 가능한 서명된 상환 기록(SRR)(또는 상환 기록이라고 지칭됨)을 만든다. 신뢰 토큰은 암호화 기술을 사용하여 의도적으로 설계된 발행 및 상환 프로세스에 의존하기 때문에, 광고 기술 회사는 신뢰 토큰을 사용하여 개인, 브라우저, IP 주소 등을 추적할 수 없으므로 데이터 보안 및 프라이버시를 보장한다.
전자 문서(간단히 문서라고 함)는 반드시 파일에 해당하는 것은 아니다. 문서는 다른 문서를 포함하는 파일의 일부, 해당 문서 전용 단일 파일 또는 다수의 조정된 파일에 저장될 수 있다.
본 명세서에 기술된 주제 및 동작의 실시예는 디지털 전자 회로로 구현되거나, 본 명세서에 개시된 구조 및 그의 구조적 등가물을 포함하는 컴퓨터 소프트웨어, 펌웨어 또는 하드웨어로 구현되거나, 또는 이들 중 하나 이상의 조합으로 구현될 수 있다. 본 명세서에 설명된 주제의 실시예는 데이터 처리 장치에 의해 실행되거나 데이터 처리 장치의 동작을 제어하기 위해 컴퓨터 저장 매체(또는 미디어) 상에 인코딩된 하나 이상의 컴퓨터 프로그램, 즉, 컴퓨터 프로그램 명령의 하나 이상의 모듈로 구현될 수 있다. 대안적으로 또는 추가적으로, 프로그램 명령은 인공적으로 생성된 전파 신호, 예를 들어 데이터 처리 장치에 의한 실행을 위해 적절한 수신기 장치로 전송하기 위한 정보를 인코딩하기 위해 생성된 기계 생성 전기, 광학 또는 전자기 신호에 인코딩될 수 있다. 컴퓨터 저장 매체는 컴퓨터 판독 가능 저장 디바이스, 컴퓨터 판독 가능 저장 기판, 랜덤 또는 직렬 액세스 메모리 어레이 또는 디바이스, 또는 이들 중 하나 이상의 조합일 수 있거나 이에 포함될 수 있다. 더욱이, 컴퓨터 저장 매체는 전파 신호가 아니지만, 컴퓨터 저장 매체는 인위적으로 생성된 전파 신호로 인코딩된 컴퓨터 프로그램 명령의 소스 또는 목적지일 수 있다. 컴퓨터 저장 매체는 또한 하나 이상의 개별 물리적 컴포넌트 또는 매체(예를 들어, 다중 CD, 디스크 또는 기타 저장 디바이스)일 수 있거나 이에 포함될 수 있다.
본 명세서에서 설명되는 동작들은 하나 이상의 컴퓨터 판독 가능 저장 디바이스에 저장되거나 다른 소스로부터 수신된 데이터에 대해 데이터 처리 장치에 의해 수행되는 동작들로 구현될 수 있다.
"데이터 처리 디바이스"라는 용어는 예를 들어 프로그램 가능 프로세서, 컴퓨터, 시스템 온 칩, 또는 전술한 것들의 다수 또는 조합을 비롯하여 데이터를 처리하기 위한 모든 종류의 디바이스, 장치 및 기계를 포함한다. 장치는 예를 들어 FPGA(field programmable gate array) 또는 ASIC(application-specific integrated circuit)과 같은 특수 목적 논리 회로를 포함할 수 있다. 장치는 또한 하드웨어에 추가하여 해당 컴퓨터 프로그램에 대한 실행 환경을 생성하는 코드, 예를 들어, 프로세서 펌웨어, 프로토콜 스택, 데이터베이스 관리 시스템, 운영 체제, 플랫폼 간 런타임 환경, 가상 머신 또는 이들 중 하나 이상의 조합을 구성하는 코드를 포함할 수 있다. 장치 및 실행 환경은 웹 서비스, 분산 컴퓨팅 및 그리드 컴퓨팅 인프라와 같은 다양한 컴퓨팅 모델 인프라를 실현할 수 있다.
컴퓨터 프로그램(프로그램, 소프트웨어, 소프트웨어 애플리케이션, 스크립트 또는 코드라고도 함)은 컴파일 또는 해석된 언어, 선언적 또는 절차적 언어를 포함한 임의의 형태의 프로그래밍 언어로 작성될 수 있으며, 독립 실행형 프로그램이나 모듈, 컴포넌트, 서브루틴, 객체. 또는 컴퓨팅 환경에서 사용하기에 적합한 기타 단위를 포함하여 모든 형태로 배포될 수 있다. 컴퓨터 프로그램은 파일 시스템의 파일에 대응할 수 있지만 반드시 그런 것은 아니다. 프로그램은 다른 프로그램이나 데이터(예를 들어, 마크업 언어 문서에 저장된 하나 이상의 스크립트)를 포함하는 파일의 일부, 해당 프로그램 전용 단일 파일 또는 다수의 조정 파일(예를 들어, 하나 이상의 모듈, 서브 프로그램 또는 코드를 저장하는 파일)에 저장될 수 있다. 컴퓨터 프로그램은 하나의 컴퓨터 또는 한 사이트에 있거나 여러 사이트에 분산되어 있고 통신 네트워크로 상호 연결된 다수의 컴퓨터에서 실행되도록 배포될 수 있다.
본 명세서에 설명된 프로세스 및 논리 흐름은 입력 데이터에 대해 동작하고 출력을 생성함으로써 동작을 수행하기 위해 하나 이상의 컴퓨터 프로그램을 실행하는 하나 이상의 프로그램 가능 컴퓨터에 의해 수행될 수 있다. 프로세스 및 논리 흐름은 또한 FPGA 또는 ASIC과 같은 특수 목적 논리 회로에 의해 수행될 수 있고 장치도 이들로 구현될 수 있다.
컴퓨터 프로그램의 실행에 적합한 프로세서는 예를 들어 범용 및 특수 목적 마이크로프로세서 모두를 포함한다. 일반적으로, 프로세서는 판독 전용 메모리나 랜덤 액세스 메모리 또는 둘 다에서 명령과 데이터를 수신한다. 컴퓨터의 필수 엘리먼트는 명령에 따라 동작을 수행하기 위한 프로세서와 명령 및 데이터를 저장하기 위한 하나 이상의 메모리 디바이스이다. 일반적으로, 컴퓨터는 또한 데이터를 저장하기 위한 하나 이상의 대용량 저장 디바이스, 예를 들어 자기, 광자기 디스크 또는 광 디스크로부터 데이터를 수신하거나 이들로 데이터를 전송하거나 둘 모두를 포함하거나 작동 가능하게 연결된다. 그러나, 컴퓨터에는 그러한 디바이스가 필요하지 않다. 더욱이, 컴퓨터는 휴대 전화, 개인 휴대 정보 단말기(PDA), 모바일 오디오 또는 비디오 플레이어, 게임 콘솔, GPS 수신기 또는 휴대용 저장 디바이스(예를 들어, 범용 직렬 버스(USB) 플래시 드라이브)와 같은 다른 디바이스에 내장될 수 있다. 컴퓨터 프로그램 명령 및 데이터를 저장하기에 적합한 디바이스는 예를 들어 반도체 메모리 디바이스(예를 들어, EPROM, EEPROM 및 플래시 메모리 디바이스), 자기 디스크(예를 들어, 내부 하드 디스크 또는 이동식 디스크), 자기 광 디스크, 및 CD-ROM 및 DVD-ROM 디스크를 포함하여, 모든 형태의 비-휘발성 메모리, 매체 및 메모리 디바이스를 포함한다. 프로세서와 메모리는 특수 목적 논리 회로에 의해 보완되거나 이에 통합될 수 있다.
사용자와의 상호 작용을 제공하기 위해, 본 명세서에 기술된 주제의 실시예는 사용자에게 정보를 표시하기 위한 디스플레이 디바이스(예를 들어, CRT(음극선관) 또는 LCD(액정 디스플레이) 모니터 및 사용자가 컴퓨터에 입력을 제공할 수 있는 키보드 및 포인팅 디바이스(예를 들어, 마우스 또는 트랙볼)를 갖는 컴퓨터에서 구현될 수 있다. 다른 종류의 디바이스가 사용자와의 상호 작용을 제공하는데 사용될 수 있는데, 예를 들어, 사용자에게 제공되는 피드백은 시각적 피드백, 청각적 피드백 또는 촉각적 피드백과 같은 임의의 형태의 감각적 피드백일 수 있고, 사용자로부터의 입력은 음향, 음성 또는 촉각 입력을 포함한 모든 형태로 수신될 수 있다. 또한, 컴퓨터는 예를 들어 웹 브라우저에서 수신된 요청에 응답하여 사용자 클라이언트 디바이스의 웹 브라우저에 웹 페이지를 전송함으로써 사용자가 사용하는 디바이스로 문서를 보내고 문서를 수신하여 사용자와 상호 작용할 수 있다.
본 명세서에 설명된 주제의 실시예는 백엔드 컴포넌트(예를 들어, 데이터 서버)를 포함하거나, 미들웨어 컴포넌트(예를 들어, 애플리케이션 서버)를 포함하거나, 프런트 엔드 컴포넌트(예를 들어, 사용자가 본 명세서에 설명된 시스템 및 기술의 구현과 상호 작용할 수 있는 그래픽 사용자 인터페이스 또는 웹 브라우저가 있는 클라이언트 컴퓨터), 또는 이러한 백 엔드, 미들웨어 또는 프런트 엔드 컴포넌트의 임의의 조합을 포함하는 컴퓨팅 시스템에서 구현될 수 있다. 시스템의 컴포넌트는 통신 네트워크와 같은 디지털 데이터 통신의 모든 형태 또는 매체에 의해 상호 연결될 수 있다. 통신 네트워크의 예에는 근거리 통신망("LAN") 및 광역 통신망("WAN"), 인터 네트워크(예를 들어, 인터넷) 및 피어-투-피어 네트워크(예를 들어, 애드 혹 피어-투-피어 네트워크)가 포함된다.
컴퓨팅 시스템은 클라이언트와 서버를 포함할 수 있다. 클라이언트와 서버는 일반적으로 서로 멀리 떨어져 있으며 일반적으로 통신 네트워크를 통해 상호 작용한다. 클라이언트와 서버의 관계는 각각의 컴퓨터에서 실행되고 서로 클라이언트-서버 관계를 갖는 컴퓨터 프로그램으로 인해 발생한다. 일부 실시예에서, 서버는 (예를 들어, 클라이언트 디바이스에 데이터를 디스플레이하고 클라이언트 디바이스와 상호 작용하는 사용자로부터 사용자 입력을 수신하기 위해) 데이터(예를 들어, HTML 페이지)를 클라이언트 디바이스로 전송한다. 클라이언트 디바이스에서 생성된 데이터(예를 들어, 사용자 상호 작용의 결과)는 서버에서 클라이언트 디바이스로부터 수신될 수 있다.
본 명세서는 많은 구체적인 구현 세부 사항을 포함하고 있지만, 이것들은 임의의 발명 또는 청구될 수 있는 것의 범위에 대한 제한으로 해석되어서는 안 되며, 오히려 특정 발명의 특정 실시예에 특정된 특징에 대한 설명으로 해석되어야 한다. 별도의 실시예와 관련하여 본 명세서에 설명된 특정 특징은 단일 실시예에서 조합하여 구현될 수도 있다. 역으로, 단일 실시예의 맥락에서 설명된 다양한 특징은 또한 개별적으로 또는 임의의 적절한 서브 조합으로 다중 실시예에서 구현될 수 있다. 더욱이, 특징들이 특정 조합으로 작용하는 것으로 위에서 설명될 수 있고 심지어 초기에 그렇게 청구될 수도 있지만, 청구된 조합의 하나 이상의 특징은 일부 경우에 조합에서 제거될 수 있고 청구된 조합은 서브 조합 또는 서브 조합의 변형에 관한 것일 수 있다.
유사하게, 동작들이 도면에 특정 순서로 도시되어 있지만, 이는 바람직한 결과를 달성하기 위해 그러한 동작들이 표시된 특정 순서 또는 순차적인 순서로 수행되거나 모든 도시된 동작들이 수행되어야 함을 요구하는 것으로 이해되어서는 안 된다. 특정 상황에서는 멀티태스킹 및 병렬 처리가 유리할 수 있다. 더욱이, 위에서 설명된 실시예에서 다양한 시스템 컴포넌트의 분리는 모든 실시예에서 그러한 분리를 요구하는 것으로 이해되어서는 안 되며, 설명된 프로그램 컴포넌트 및 시스템은 일반적으로 단일 소프트웨어 제품에 함께 통합되거나 다수의 소프트웨어 제품에 패키징될 수 있음을 이해해야 한다.
따라서, 주제의 특정 실시예가 설명되었다. 다른 실시예는 다음 청구항의 범위 내에 있다. 일부 경우, 청구범위에 인용된 동작들은 다른 순서로 수행될 수 있으며 여전히 바람직한 결과를 얻을 수 있다. 또한, 첨부된 도면에 도시된 프로세스는 바람직한 결과를 달성하기 위해 도시된 특정 순서 또는 순차적인 순서를 반드시 필요로 하는 것은 아니다. 특정 구현에서는, 멀티태스킹 및 병렬 처리가 유리할 수 있다.

Claims (20)

  1. 온라인 사기 악성코드(malware)를 탐지하는 방법으로서,
    브라우저 활동을 나타내는 암호화된 프로필을 생성하는 단계와;
    암호화된 프로필을 보안 다자간 연산 시스템으로 전송하는 단계와;
    보안 다자간 연산 시스템으로부터 신뢰 토큰을 수신하는 단계와, 상기 신뢰 토큰은 웹 브라우저가 온라인 사기에 연루되었는지 여부를 나타내고;
    웹 브라우저에 의한 웹 컨텐츠 요청을 전송할 준비로, 보안 다자간 연산 시스템으로 신뢰 토큰을 상환하라는 요청을 전송하는 단계와;
    신뢰 토큰을 상환하라는 요청에 응답하여, 웹 컨텐츠와 관련된 웹 사이트가 차단되지 않았다는 결정에 기초하여 보안 다자간 연산 시스템으로부터 서명된 상환 기록을 수신하는 단계와; 그리고
    서명된 상환 기록을 포함하는 요청을 제3자 컨텐츠에 대해 전송하는 단계를 포함하고, 상기 제3자 컨텐츠는 웹 컨텐츠와 관련되는 것을 특징으로 하는 온라인 사기 악성코드를 탐지하는 방법.
  2. 제1항에 있어서,
    상기 보안 다자간 연산 시스템으로부터의 서명된 상환 기록은
    신뢰 토큰을 상환하라는 요청에 응답하여, 웹 컨텐츠와 관련된 웹 사이트가 차단되었다는 결정에 기초하여 수신되지 않는 것을 특징으로 하는 온라인 사기 악성코드를 탐지하는 방법.
  3. 제1항에 있어서,
    브라우저 활동을 나타내는 제2 암호화된 프로필을 생성하는 단계와;
    제2 신뢰 토큰을 요청하기 위해 보안 다자간 연산 시스템으로 제2 암호화된 프로필을 전송하는 단계를 더 포함하고,
    상기 웹 브라우저가 온라인 사기에 연루된 것으로 결정된 경우 보안 다자간 연산 시스템으로부터 제2 신뢰 토큰이 수신되지 않거나, 웹 브라우저가 온라인 사기에 연루된 것으로 결정된 경우 "사기"를 나타내는 은닉 비트가 있는 제2 신뢰 토큰이 수신되는 것을 특징으로 하는 온라인 사기 악성코드를 탐지하는 방법.
  4. 제1항에 있어서,
    상기 암호화된 상환 기록은,
    브라우저, IP 주소를 통해 집계된 브라우저, 또는 사용자 에이전트 문자열이 온라인 사기에 연루되었는지 여부에 대한 결정의 표시를 포함하는 것을 특징으로 하는 온라인 사기 악성코드를 탐지하는 방법.
  5. 제1항 내지 제4항 중 어느 한 항에 있어서,
    상기 암호화된 상환 기록이 브라우저, IP 주소를 통해 집계된 브라우저, 또는 사용자 에이전트 문자열이 온라인 사기에 연루되지 않은 것으로 결정되었음을 나타내는 미리 결정된 값인 경우, 상기 제3자 컨텐츠가 웹 브라우저를 통해 디스플레이되는 것을 특징으로 하는 온라인 사기 악성코드를 탐지하는 방법.
  6. 제1항 내지 제5항 중 어느 한 항에 있어서,
    상기 신뢰 토큰은,
    웹 브라우저가 온라인 사기에 연루된 것으로 결정되었음을 나타내는 인코딩된 표시자를 포함하는 것을 특징으로 하는 온라인 사기 악성코드를 탐지하는 방법.
  7. 제1항 내지 제6항 중 어느 한 항에 있어서,
    상기 암호화된 프로필은,
    웹 페이지, 도메인, 또는 동일한 게시자가 소유한 다수의 도메인에서의 브라우저 활동을 나타내는 것을 특징으로 하는 온라인 사기 악성코드를 탐지하는 방법.
  8. 제1항 내지 제7항 중 어느 한 항에 있어서,
    상기 브라우저 활동은,
    페이지 조회, 클릭, 또는 전환 활동을 포함하는 것을 특징으로 하는 온라인 사기 악성코드를 탐지하는 방법.
  9. 제1항 내지 제8항 중 어느 한 항에 있어서,
    상기 암호화된 프로필을 보안 다자간 연산 시스템으로 전송하는 단계는,
    IP 주소 또는 브라우저 사용자 에이전트 문자열에 기초하여 브라우저 이력을 나타내는 암호화된 프로필의 집계를 야기하는 것을 특징으로 하는 온라인 사기 악성코드를 탐지하는 방법.
  10. 제1항 내지 제9항 중 어느 한 항에 있어서,
    상기 암호화된 프로필을 보안 다자간 연산 시스템으로 전송하는 단계는,
    차단 목록의 생성을 야기하는 것을 특징으로 하는 온라인 사기 악성코드를 탐지하는 방법.
  11. 제10항에 있어서,
    상기 차단 목록은,
    웹 페이지, 도메인, 또는 온라인 사기와 관련이 있는 것으로 결정된 동일한 게시자가 소유한 다수의 도메인을 식별하는 것을 특징으로 하는 온라인 사기 악성코드를 탐지하는 방법.
  12. 제10항 또는 제11항에 있어서,
    상기 차단 목록은,
    브라우저, IP 주소를 통해 집계된 브라우저 또는 온라인 사기와 관련이 있는 것으로 결정된 사용자 에이전트 문자열을 식별하는 것을 특징으로 하는 온라인 사기 악성코드를 탐지하는 방법.
  13. 제1항 내지 제12항 중 어느 한 항에 있어서,
    상기 암호화된 프로필은,
    웹 페이지나 도메인을 나타내는 특징 벡터를 포함하거나, 또는 사용자가 웹 페이지 또는 도메인을 방문하거나 상호 작용한 횟수를 나타내는 특징 벡터를 포함하는 것을 특징으로 하는 온라인 사기 악성코드를 탐지하는 방법.
  14. 분산 컴퓨팅 시스템에 의해 실행될 때 분산 컴퓨팅 시스템으로 하여금 동작들을 수행하게 하는 명령들로 인코딩된 비-일시적 컴퓨터 저장 매체로서, 상기 동작들은,
    브라우저 활동을 나타내는 암호화된 프로필을 생성하는 동작과;
    암호화된 프로필을 보안 다자간 연산 시스템으로 전송하는 동작과;
    보안 다자간 연산 시스템으로부터 신뢰 토큰을 수신하는 동작과, 상기 신뢰 토큰은 웹 브라우저가 온라인 사기에 연루되었는지 여부를 나타내고;
    웹 브라우저에 의한 웹 컨텐츠 요청을 전송할 준비로, 보안 다자간 연산 시스템으로 신뢰 토큰을 상환하라는 요청을 전송하는 동작과;
    신뢰 토큰을 상환하라는 요청에 응답하여, 웹 컨텐츠와 관련된 웹 사이트가 차단되지 않았다는 결정에 기초하여 보안 다자간 연산 시스템으로부터 서명된 상환 기록을 수신하는 동작과; 그리고
    서명된 상환 기록을 포함하는 요청을 제3자 컨텐츠에 대해 전송하는 동작을 포함하고, 상기 제3자 컨텐츠는 웹 컨텐츠와 관련되는 것을 특징으로 하는 비-일시적 컴퓨터 저장 매체.
  15. 제14항에 있어서,
    상기 암호화된 프로필은,
    웹 페이지, 도메인, 또는 동일한 게시자가 소유한 다수의 도메인에서의 브라우저 활동을 나타내는 것을 특징으로 하는 비-일시적 컴퓨터 저장 매체.
  16. 제14항에 있어서,
    상기 보안 다자간 연산 시스템으로부터의 서명된 상환 기록은
    신뢰 토큰을 상환하라는 요청에 응답하여, 웹 컨텐츠와 관련된 웹 사이트가 차단되었다는 결정에 기초하여 수신되지 않는 것을 특징으로 하는 비-일시적 컴퓨터 저장 매체.
  17. 제14항에 있어서,
    상기 동작들은,
    브라우저 활동을 나타내는 제2 암호화된 프로필을 생성하는 동작과;
    제2 신뢰 토큰을 요청하기 위해 보안 다자간 연산 시스템으로 제2 암호화된 프로필을 전송하는 동작을 더 포함하고,
    상기 웹 브라우저가 온라인 사기에 연루된 것으로 결정된 경우 보안 다자간 연산 시스템으로부터 제2 신뢰 토큰이 수신되지 않거나, 웹 브라우저가 온라인 사기에 연루된 것으로 결정된 경우 "사기"를 나타내는 은닉 비트가 있는 제2 신뢰 토큰이 수신되는 것을 특징으로 하는 비-일시적 컴퓨터 저장 매체.
  18. 제14항에 있어서,
    상기 암호화된 상환 기록은,
    브라우저, IP 주소를 통해 집계된 브라우저, 또는 사용자 에이전트 문자열이 온라인 사기에 연루되었는지 여부에 대한 결정의 표시를 포함하는 것을 특징으로 하는 비-일시적 컴퓨터 저장 매체.
  19. 제14항 내지 제18항 중 어느 한 항에 있어서,
    상기 암호화된 상환 기록이 브라우저, IP 주소를 통해 집계된 브라우저, 또는 사용자 에이전트 문자열이 온라인 사기에 연루되지 않은 것으로 결정되었음을 나타내는 미리 결정된 값인 경우, 상기 제3자 컨텐츠가 웹 브라우저를 통해 디스플레이되는 것을 특징으로 하는 비-일시적 컴퓨터 저장 매체.
  20. 제14항 내지 제19항 중 어느 한 항에 있어서,
    상기 암호화된 프로필을 보안 다자간 연산 시스템으로 전송하는 동작은,
    차단 목록의 생성을 야기하는 것을 특징으로 하는 비-일시적 컴퓨터 저장 매체.
KR1020227032013A 2020-09-30 2020-09-30 안전하게 온라인 사기 악성코드 탐지 KR20220136439A (ko)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2020/053540 WO2022071941A1 (en) 2020-09-30 2020-09-30 Securely detecting online fraud malware

Publications (1)

Publication Number Publication Date
KR20220136439A true KR20220136439A (ko) 2022-10-07

Family

ID=72896155

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020227032013A KR20220136439A (ko) 2020-09-30 2020-09-30 안전하게 온라인 사기 악성코드 탐지

Country Status (6)

Country Link
US (1) US20230199021A1 (ko)
EP (1) EP4097919A1 (ko)
JP (1) JP7411111B2 (ko)
KR (1) KR20220136439A (ko)
CN (1) CN115336229A (ko)
WO (1) WO2022071941A1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115378747B (zh) * 2022-10-27 2023-01-24 北京六方云信息技术有限公司 恶意数据检测方法、终端设备以及存储介质

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090125719A1 (en) 2007-08-02 2009-05-14 William Cochran Methods of ensuring legitimate pay-per-click advertising
JP5102659B2 (ja) 2008-03-13 2012-12-19 エヌ・ティ・ティ・コミュニケーションズ株式会社 悪性Webサイト判定装置、悪性Webサイト判定システム、それらの方法、プログラム
JP5302149B2 (ja) 2009-09-18 2013-10-02 株式会社日立システムズ Webアクセスログ確認システムと方法およびプログラム
US20150039513A1 (en) * 2014-02-14 2015-02-05 Brighterion, Inc. User device profiling in transaction authentications

Also Published As

Publication number Publication date
EP4097919A1 (en) 2022-12-07
JP2023524934A (ja) 2023-06-14
WO2022071941A1 (en) 2022-04-07
JP7411111B2 (ja) 2024-01-10
CN115336229A (zh) 2022-11-11
US20230199021A1 (en) 2023-06-22

Similar Documents

Publication Publication Date Title
US20240146739A1 (en) Preventing data manipulation and protecting user privacy in determining accurate location event measurements
US11886569B2 (en) Verifying device and application integrity
US12010106B2 (en) Preventing fraud in aggregated network measurements
KR102608325B1 (ko) 클라이언트 장치에서 통신의 무결성 보호
KR20220136439A (ko) 안전하게 온라인 사기 악성코드 탐지
CN113994360A (zh) 使用众包打击虚假信息
EP4042665B1 (en) Preventing data manipulation in telecommunication network measurements
JP7279209B2 (ja) 不正行為の検出のためのクロスドメイン頻度フィルタ
US20240232322A1 (en) Verifying device and application integrity

Legal Events

Date Code Title Description
E902 Notification of reason for refusal