KR101686144B1 - 문자 스트링들의 주파수 스펙트럼들을 이용한 스팸 검출 시스템 및 방법들 - Google Patents

문자 스트링들의 주파수 스펙트럼들을 이용한 스팸 검출 시스템 및 방법들 Download PDF

Info

Publication number
KR101686144B1
KR101686144B1 KR1020147019418A KR20147019418A KR101686144B1 KR 101686144 B1 KR101686144 B1 KR 101686144B1 KR 1020147019418 A KR1020147019418 A KR 1020147019418A KR 20147019418 A KR20147019418 A KR 20147019418A KR 101686144 B1 KR101686144 B1 KR 101686144B1
Authority
KR
South Korea
Prior art keywords
string
spam
subject
frequency spectrum
employing
Prior art date
Application number
KR1020147019418A
Other languages
English (en)
Other versions
KR20140115314A (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 KR20140115314A publication Critical patent/KR20140115314A/ko
Application granted granted Critical
Publication of KR101686144B1 publication Critical patent/KR101686144B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/21Monitoring or handling of messages
    • H04L51/212Monitoring or handling of messages using filtering or selective blocking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/93Document management systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/16Communication-related supplementary services, e.g. call-transfer or call-hold

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • Business, Economics & Management (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Information Transfer Between Computers (AREA)
  • Computer And Data Communications (AREA)

Abstract

짧게 지속되는 파동들 내에 도달하는 급변하는 스팸의 정확하고, 계산-효율적인 검출을 용이하게 하는 스트링 식별, 사전-필터링, 및 주파수 스펙트럼 및 타임스탬프 비교 단계들을 포함하는 스팸 검출 기술들이 설명된다. 일부 실시예들에서, 컴퓨터 시스템은 블로그 댓글과 같은 전자 통신으로부터 대상 문자 스트링을 추출하고, 대상 문자 스트링을 안티-스팸 서버에 전송하고, 및 각각의 전자 통신이 스팸 또는 비-스팸인지를 나타내는 지시자를 안티-스팸 서버로부터 수신한다. 안티-스팸 서버는 대상 스트링의 주파수 스펙트럼의 특징들에 따라 전자 통신이 스팸 또는 비-스팸인지 결정한다. 일부 실시예들은 또한 클러스터들로의 수신 대상 스트링들의 무감독 클러스터링을 수행하고, 클러스터의 모든 구성원들은 유사한 스펙트럼들을 갖는다.

Description

문자 스트링들의 주파수 스펙트럼들을 이용한 스팸 검출 시스템 및 방법들{SYSTEM AND METHODS FOR SPAM DETECTION USING FREQUENCY SPECTRA OF CHARACTER STRINGS}
본 발명은 전자 통신들을 분류하기 위한 방법들 및 시스템들에 관한 것으로, 보다 상세하게는 청하지 않은 상업 전자 통신들(스팸)을 필터링하기 위한 시스템들 및 방법들에 관한 것이다.
스팸으로도 알려진, 청하지 않은 상업 전자 통신들은, 세계적인 모든 통신 트래픽의 중요한 부분을 형성하고, 컴퓨터 및 전화 메시지 서비스들 둘 다에 영향을 미치고 있다. 스팸은, 청하지 않은 이메일 통신들로부터, 블로그들 및 소셜 네트워크 사이트들과 같은 다양한 인터넷 사이트들 상의 사용자 댓글들로 가장하는 스팸 메시지들에 이르기까지 많은 형식을 취할 수 있다. 스팸은 소중한 하드웨어 자원들을 차지하고, 생산성에 영향을 미치고, 및 통신 서비스들 및/또는 인터넷의 많은 사용자들에 의해 짜증나고 거슬리는 것으로 고려된다.
이메일 스팸의 경우, 사용자의 또는 이메일 서비스 제공자의 컴퓨터 시스템 상에서 실행되는 소프트웨어는 이메일 메시지들을 스팸 또는 비-스팸으로 분류하고, 및 다양한 종류의 스팸 메시지들(예를 들어, 제품 제안들, 성인 콘텐츠, 이메일 스캠들) 사이에서 식별하기 위하여도 이용될 수 있다. 스팸 메시지들은 이후 특수한 폴더들로 향하거나 또는 삭제될 수 있다.
유사하게, 콘텐츠 제공자의 컴퓨터 시스템들 상에서 실행되는 소프트웨어는 웹사이트에 포스팅된 사기적 메시지들을 가로채고 및 각각의 메시지들이 디스플레이되는 것을 방지하거나, 또는 각각의 메시지가 스팸일 수 있다는 경고를 웹사이트의 사용자들에게 디스플레이할 수 있다.
메시지들의 발신 주소를 알려진 위반 또는 신뢰된 주소들의 리스트들과 매칭하거나(각각 블랙- 및 화이트-리스팅으로 불리워지는 기술들), 특정 단어들 또는 단어 패턴들(예를 들어, 재금융, Viagra?, 주식)을 검색하거나, 및 메시지 헤더들을 분석하는 것을 포함하는, 몇몇 접근법들이 스팸 메시지들을 식별하기 위하여 제안되었다. 특징 추출/매칭 방법들은 흔히 자동화된 데이터 분류 방법들(예를 들어, 베이지안 필터링, 신경 네트워크들)과 연계하여 사용된다.
스팸은 흔히 스팸 파동들로도 알려진 유사한 메시지들의 그룹들의 빠른 연속 내에 도달한다. 스팸의 형식 및 콘텐츠는 하나의 스팸 파동으로부터 다른 스팸 파동으로 실질적으로 변화할 수 있고, 그러므로 새로운 스팸 파동들에 대하여 빠르게 인식하고 반응할 수 있는 방법들 및 시스템들로부터 성공적인 검출을 기대할 수 있다.
US2010/333200 A1 US 8001195 B1
일 양태에 따르면, 방법은: 전자 통신의 일 부분을 형성하는 대상 스트링을 수신하기 위하여 컴퓨터 시스템을 채용하는 단계; 상기 대상 스트링을 수들의 시퀀스로 구성되는 대상 신호로 처리하되, 상기 대상 스트링의 각각의 문자는 다수의 상기 수들의 시퀀스로 매핑되는 처리하는 단계; 상기 대상 스트링에 따라 스트링 자격 기준을 결정하는 단계; 및 복수의 후보 스트링들을 생산하기 위하여, 상기 스트링 자격 기준에 따라 기준 스트링들의 코퍼스(corpus)를 사전-필터링하는 단계를 포함한다. 상기 후보 스트링들을 선택하는 것에 응답하여, 상기 컴퓨터 시스템은 상기 대상 신호의 주파수 스펙트럼과 상기 복수의 후보 스트링들의 후보 스트링에 대하여 결정된 주파수 스펙트럼의 비교를 수행하고, 및 상기 비교 결과에 따라 상기 전자 통신이 스팸 또는 비-스팸인지 결정하기 위하여 더 채용된다.
다른 양태에 따르면, 컴퓨터 시스템은: 전자 통신의 일 부분을 형성하는 대상 스트링을 수신하고; 상기 대상 스트링을 수들의 시퀀스로 구성되는 대상 신호로 처리하되, 상기 대상 스트링의 각각의 문자는 다수의 상기 수들의 시퀀스로 매핑되고; 상기 대상 스트링을 수신하는 것에 응답하여, 상기 대상 스트링에 따라 스트링 자격 기준을 결정하고, 및 복수의 후보 스트링들을 생산하기 위하여, 상기 스트링 자격 기준에 따라 기준 스트링들의 코퍼스를 사전-필터링하도록 프로그램된 적어도 하나의 프로세서를 포함한다. 상기 프로세서는 상기 대상 신호의 주파수 스펙트럼과 상기 복수의 후보 스트링들의 후보 스트링에 대하여 결정된 주파수 스펙트럼의 비교를 수행하고, 및 상기 비교 결과에 따라 상기 전자 통신이 스팸 또는 비-스팸인지 결정하도록 더 프로그램된다.
또 다른 양태에 따르면, 방법은: 전자 통신을 수신하기 위하여 컴퓨터 시스템을 채용하는 단계; 상기 전자 통신으로부터 대상 스트링을 추출하는 단계; 상기 대상 스트링을 안티-스팸 서버에 전송하는 단계; 및 상기 전자 통신이 스팸 또는 비-스팸인지 나타내는 대상 라벨을 수신하되, 상기 대상 라벨은 상기 안티-스팸 서버에서 결정되도록 구성되는 대상 라벨을 수신하는 단계를 포함한다. 상기 대상 라벨을 결정하는 것은: 상기 문자들의 대상 스트링을 수들의 시퀀스로 구성되는 대상 신호로 처리하기 위하여 상기 안티-스팸 서버를 채용하되, 상기 대상 스트링의 각각의 문자는 다수의 상기 수들의 시퀀스로 매핑되는 안티-스팸 서버를 채용하는 단계; 상기 대상 스트링에 따라 스트링 자격 기준을 결정하는 단계; 복수의 후보 스트링들을 생산하기 위하여, 상기 스트링 자격 기준에 따라 기준 스트링들의 코퍼스를 사전-필터링하는 단계; 상기 후보 스트링들을 선택하는 것에 응답하여, 상기 대상 신호의 주파수 스펙트럼과 상기 복수의 후보들의 후보 스트링에 대하여 결정된 주파수 스펙트럼의 비교를 수행하는 단계; 상기 비교 결과에 따라 상기 전자 통신이 스팸 또는 비-스팸인지 결정하는 단계를 포함한다.
또 다른 양태에 따르면, 방법은: 전자 통신의 일 부분을 형성하는 대상 스트링을 수신하기 위하여 컴퓨터 시스템을 채용하는 단계; 상기 대상 스트링을 수들의 시퀀스로 구성되는 대상 신호로 처리하되, 상기 대상 스트링의 각각의 문자는 다수의 상기 수들의 시퀀스로 매핑되는 처리하는 단계; 상기 대상 스트링에 따라 스트링 자격 기준을 결정하는 단계; 및 복수의 후보 스트링들을 생산하기 위하여, 상기 스트링 자격 기준에 따라 기준 스트링들의 코퍼스를 사전-필터링하는 단계를 포함한다. 상기 후보 스트링들을 선택하는 것에 응답하여, 상기 컴퓨터 시스템은 상기 대상 스트링을 상기 복수의 후보 스트링들의 후보 스트링으로부터 분리하는 스트링-간 거리를 결정하되, 상기 스트링-간 거리는 상기 대상 신호의 주파수 스펙트럼의 제1 진폭 및 상기 후보 스트링에 대하여 결정된 주파수 스펙트럼의 제2 진폭에 따라 결정되고, 및 상기 비교 결과에 따라 상기 전자 통신이 스팸 또는 비-스팸인지 결정하기 위하여 더 채용된다.
또 다른 양태에 따르면, 방법은: 전자 통신의 일 부분을 형성하는 대상 스트링을 수신하기 위하여 컴퓨터 시스템을 채용하는 단계; 상기 대상 스트링을 수들의 시퀀스로 구성되는 대상 신호로 처리하되, 상기 대상 스트링의 각각의 문자는 다수의 상기 수들의 시퀀스로 매핑되는 처리하는 단계; 및 상기 대상 신호의 주파수 스펙트럼을 결정하는 단계를 포함한다. 상기 방법은 상기 대상 신호의 상기 주파수 스펙트럼 및 상기 기준 스트링들의 세트로부터 선택된 기준 스트링에 대하여 결정된 주파수 스펙트럼의 비교를 수행하는 단계, 및 상기 비교 결과에 따라 상기 대상 통신이 스팸 또는 비-스팸인지 결정하는 단계를 더 포함한다.
본 발명의 상술한 양태들 및 이점들은 이하의 상세한 설명을 읽고 이하의 도면들을 참조하면 보다 명확하게 이해될 것이다.
도 1은 본 발명의 일부 실시예들에 따른 예시적인 안티-스팸 시스템을 도시한다.
도 2는 본 발명의 일부 실시예들에 따른 서버 컴퓨터 시스템의 예시적인 하드웨어 구성을 도시한다.
도 3a는 본 발명의 일부 실시예들에 따른 클라이언트 컴퓨터 및 안티-스팸 서버 사이의 예시적인 스팸 검출 작업을 도시한다.
도 3b는 본 발명의 일부 실시예들에 따른 콘텐츠 서버 및 안티-스팸 서버 사이의 예시적인 스팸 검출 작업을 도시한다.
도 4는 본 발명의 일부 실시예들에 따른 대상 통신의 예시적인 대상 지시자를 도시하고, 지시자는 대상 스트링 및 추가적인 스팸-식별 데이터를 포함한다.
도 5는 본 발명의 일부 실시예들에 따른 안티-스팸 서버 상에서 수행되는 예시적인 애플리케이션들의 세트의 다이어그램을 도시한다.
도 6은 본 발명의 일부 실시예들에 따른 대상 스트링과 연관된 예시적인 대상 신호 및 예시적인 대상 스펙트럼을 도시한다.
도 7은 본 발명의 일부 실시예들에 따른 도 1의 안티-스팸 서버 상에서 동작하는 예시적인 스팸 검출기 애플리케이션을 도시한다.
도 8은 본 발명의 일부 실시예들에 따른 특징 초공간 내에서 제시되는 복수의 클러스터들을 도시하고, 각각의 클러스터는 유사한 아이템들의 무리를 포함한다.
도 9는 본 발명의 일부 실시예들에 따른 도 7의 스팸 검출기에 의해 수행되는 단계들의 예시적인 순서를 도시한다.
도 10a는 테스트 스트링들의 스트링 길이의 함수로써, 대상 스트링들을 대상 신호들로 변환하기 위하여 걸린 계산 시간을 결정하는 것을 포함하는, 컴퓨터 실험의 결과를 도시한다.
도 10b-10d는 테스트 스트링들의 스트링 길이의 함수로써, 대상 스트링들의 무리에 대하여 대상 스펙트럼들을 생성하기 위한 계산 시간을 결정하는 것을 포함하는, 컴퓨터 실험의 결과를 도시한다.
도 10e는 대상 스트링들의 별개의 문자들의 수의 함수로써, 테스트 스트링들의 무리에 대하여 클러스터 할당을 수행하기 위하여 걸린 계산 시간을 결정하는 것을 포함하는, 컴퓨터 실험의 결과를 도시한다.
도 11은 실제 블로그 댓글들의 무리에 대하여, 스트링 길이 대 스팸 및 비-스팸 둘 다를 포함하는 타임스탬프 지시자의 도표를 도시한다.
도 12는 실제 블로그 댓글들의 무리에 대하여, 별개의 문자들의 수 대 스팸 및 비-스팸 둘 다를 포함하는 타임스탬프 지시자의 도표를 도시한다.
이하의 설명에서, 구조들 사이에서 언급된 모든 연결들은 직접적인 동작 연결들 또는 매개 구조들을 통한 간접적인 동작 연결들일 수 있는 것이 이해된다. 구성요소들의 세트는 하나 이상의 구성요소들을 포함한다. 구성요소의 임의의 열거는 적어도 하나의 구성요소를 언급하는 것으로 이해된다. 복수의 구성요소들은 적어도 2개의 구성요소들을 포함한다. 달리 요구되지 않는다면, 임의의 설명된 방법 단계들은 특정한 예시되는 순서로 반드시 수행될 필요는 없다. 제2 구성요소로부터 유도되는 제1 구성요소(예를 들어, 데이터)는 제2 구성요소와 동일한 제1 구성요소뿐만 아니라, 제2 구성요소 및 선택적으로 다른 데이터를 처리하는 것에 의하여 생성되는 제1 구성요소를 포함한다. 파라미터에 따라 결정 또는 판정을 하는 것은 파라미터에 따라 및 선택적으로 다른 데이터에 따라 결정 또는 판정을 하는 것을 포함한다. 달리 특정되지 않는다면, 일부 양/데이터의 지시자는 양/데이터 그 자체, 또는 양/데이터 그 자체와 다른 지시자일 수 있다. 본 발명의 일부 실시예들에서 설명되는 컴퓨터 프로그램들은 독립형 소프트웨어 개체들 또는 다른 컴퓨터 프로그램들의 서브-개체들(예를 들어, 서브루틴들, 코드 객체들)일 수 있다. 달리 특정되지 않는다면, 스팸은 이메일 스팸에 한정되지 않을 뿐만 아니라, 특히, 블로그 댓글들, 포럼 논의들, 위키 입구들, 고객 피드백, 소셜 네트워크 사이트들 상의 포스트들, 인스턴트 메시지들뿐만 아니라, 전화 문자 및 멀티미디어 메시지들과 같은 형식의 비-합법적인 또는 청하지 않은 상업 사용자-생성 콘텐츠와 같은 전자 통신들을 포함한다. 컴퓨터 판독 가능한 매체는 자기, 광, 및 반도체 매체(예를 들어, 하드 드라이브들, 광 디스크들, 플래시 메모리, DRAM)와 같은 비-일시적 저장 매체뿐만 아니라, 전도성 케이블들 및 파이버 광 링크들과 같은 통신 링크들을 포함한다. 일부 실시예들에 따르면, 본 발명은, 그 중에서도, 본 명세서에서 설명된 방법들을 수행하기 위해 프로그램되는 하드웨어뿐만 아니라, 본 명세서에서 설명된 방법들을 수행하기 위해 명령들을 인코딩하는 컴퓨터-판독 가능한 매체를 포함하는 컴퓨터 시스템들을 제공한다.
이하의 설명은 예시적인 방법으로 그리고 반드시 제한하는 것은 아닌 방법으로 본 발명의 실시예들을 예시한다.
도 1은 본 발명의 일부 실시예들에 따른 예시적인 안티-스팸 시스템을 도시한다. 시스템(10)은 복수의 콘텐츠 서버들(12a-12b), 안티-스팸 서버(16), 및 복수의 클라이언트 시스템들(14a-14b)을 포함한다. 콘테츠 서버들(12a-12b)은 특히 개인 및 기업 웹사이트들, 블로그들, 소셜 네트워크 사이트들, 및 온라인 엔터테인먼트 사이트들과 같은 온라인 콘텐츠를 호스팅 및/또는 전달하는 웹서버들을 나타낼 수 있다. 다른 콘텐츠 서버들(12a-12b)은 클라이언트 시스템들(14a-14b)에 전자 메시지 전달을 제공하는 이메일 서버들을 나타낼 수 있다. 클라이언트 시스템들(14a-14b)은 각각이 프로세서, 메모리, 및 스토리지를 갖고, Windows?, MacOS? 또는 Linux와 같은 운영 시스템을 실행시키는 최종-사용자 컴퓨터들을 나타낼 수 있다. 일부 클라이언트 컴퓨터 시스템들(14a-14b)은 태블릿 PC들, 이동 전화기, 및 PDA(personal digital assistants)들과 같은 이동 컴퓨팅 및/또는 전화통신 디바이스들을 나타낼 수 있다. 일부 실시예들에서, 클라이언트 시스템들(14a-14b)은 개별 고객들을 나타낼 수 있고, 또는 몇몇 클라이언트 시스템들은 동일한 고객에 속할 수 있다. 안티-스팸 서버(16)는 하나 이상의 컴퓨터 시스템들을 포함할 수 있다. 네트워크(18)는 콘텐츠 서버들(12a-12b), 클라이언트 시스템들(14a-14b), 및 안티-스팸 서버(16)를 연결한다. 네트워크(18)는 인터넷과 같은 원거리 네트워크일 수 있고, 네트워크(18)의 일부들은 또한 근거리 네트워크를 포함할 수 있다.
도 2는 안티-스팸 서버(16)와 같은 서버 컴퓨터 시스템의 예시적인 하드웨어 구성을 도시한다. 일부 실시예들에서, 서버(16)는 프로세서(20), 메모리 유닛(22), 저장 디바이스들(24)의 세트, 및 통신 인터페이스 제어기(26)를 포함하고, 모두가 버스들(28)의 세트에 의해 연결된다.
일부 실시예들에서, 프로세서(20)는 신호들 및/또는 데이터의 세트로 계산 및/또는 논리 연산들을 실행하도록 구성되는 물리적 디바이스(예를 들어, 다중-코어 집적 회로)를 포함한다. 일부 실시예들에서, 그와 같은 논리 연산들은 프로세서 명령들의 시퀀스(예를 들어, 기계 코드 또는 다른 타입의 소프트웨어)의 형태로 프로세서(20)에 전달된다. 메모리 유닛(22)은 명령들을 수행하는 중에 프로세서(20)에 의해 액세스되거나 생성되는 데이터/신호들을 저장하는 컴퓨터-판독 가능 매체(예를 들어, RAM)을 포함할 수 있다. 저장 디바이스들(24)은 소프트웨어 명령들 및/또는 데이터의 비휘발성 저장, 판독, 및 기록을 가능하게 하는 컴퓨터-판독 가능 매체를 포함한다. 예시적인 저장 디바이스들(24)은 자기 및 광 디스크들 및 반도체(예를 들어, 플래쉬) 메모리 디바이스들뿐만 아니라, CD 및/또는 DVD 디스크들 및 드라이브들과 같은 소거 가능한 매체를 포함한다. 통신 인터페이스 제어기(26)는 서버 시스템(16)이 네트워크(18) 및/또는 다른 기계들/컴퓨터 시스템들에 연결되는 것을 가능하게 한다. 전형적인 통신 인터페이스 제어기들(26)은 네트워크 어댑터들을 포함한다. 버스들(28)은 서버 시스템(16)의 디바이스들(20-26)의 상호-통신을 가능하게 하는 복수의 시스템, 주변 장치, 및 칩셋 버스들, 및/또는 모든 다른 회로 소자를 집합적으로 나타낸다. 예를 들어, 특히, 버스들(28)은 프로세서(20)를 메모리(22)에 연결시키는 노스브리지 버스, 및/또는 프로세서(20)를 디바이스들(24-26)에 연결시키는 사우스브리지 버스를 포함할 수 있다.
일부 실시예들에서, 각각의 클라이언트 시스템(14a-14b)은 문서 리더 애플리케이션(예를 들어, 웹 브라우저, 이메일 리더, 미디어 플레이어)를 포함하고, 문서 리더 애플리케이션은 콘텐츠 서버들(12a-12b) 상에서 저장된 데이터에 원격으로 액세스하기 위하여 사용되는 컴퓨터 프로그램일 수 있다. 사용자가 웹페이지와 같은 온라인 문서에 액세스하거나, 또는 이메일과 같은 전자 통신을 수신할 때, 문서/통신과 연관된 데이터가 각각의 콘텐츠 서버 및 클라이언트 시스템(14) 사이 네트워크(18)의 부분들 상에서 순환한다. 일부 실시예들에서, 리더 애플리케이션은 문서 데이터를 수신하고, 문서 데이터를 시각 형식으로 번역하고, 사용자에게 디스플레이한다. 리더 애플리케이션의 일부 실시예들은 또한 사용자가 디스플레이된 콘텐츠와 상호 작용하는 것을 가능하게 할 수 있다. 이메일의 경우, 클라이언트 시스템(14a-14b)은 수신 이메일을 복수의 카테고리들(예를 들어, 스팸, 합법적인, 다양한 다른 클래스들 및 서브클래스들)의 하나로 분류하도록 구성된 전문적 소프트웨어를 포함할 수 있다.
일부 실시예들에서, 콘텐츠 서버들(12a-12b)은 복수의 사용자들로부터 사용자-생성 콘텐츠(예를 들어, 기사들, 블로그 입구들, 미디어 업로드들, 댓글들 등)를 수신하고, 및 네트워크(18) 너머 제3자들에게 그와 같은 콘텐츠를 조직하고, 만들고 및 전달하도록 구성된다. 서버들(12a-12b)에서 수신되는 사용자-생성 데이터의 일 부분은 청하지 않은 메시지들(스팸)을 포함할 수 있는 전자 통신들을 포함한다. 그와 같은 전자 통신들(이하 설명에서 대상 통신들 또는 대상 메시지들로 언급됨)의 예는 특히 이메일 메시지들, 블로그 댓글들, 소셜 네트워킹 사이트들에의 포스트들, 및 엔터테인먼트 및/또는 뉴스 웹사이트들에 전송된 댓글들이다.
일부 실시예들에서, 스팸을 검출하기 위하여, 콘텐츠 서버들(12a-12b)은 사용자들로부터 수신된 대상 통신들을 처리하도록 구성된 소프트웨어 구성요소들을 포함할 수 있다. 검출된 때, 스팸 메시지들(예를 들어, 사기적 블로그 댓글들 등)은 각각의 웹사이트 내에서 디스플레이되지 않도록 차단되거나 및/또는 방지될 수 있다. 스팸-처리 소프트웨어는 서버-측 스크립트들의 형식으로 콘텐츠 서버들(12a-12b) 상에서 실행될 수 있다. 그와 같은 스크립트들은, 예를 들어, Wordpress? 또는 Drupal? 온라인 발행 플랫폼들에 대한 안티-스팸 플러그인(들)과 같은 큰 스크립트 패키지들 내에 플러그인들로써 포함될 수 있다. 일부 실시예들에서, 스팸을 검출하기 위하여, 이하에서 상세하게 설명되는 바와 같이, 서버들(12a-12b)은 안티-스팸 서버(16)와의 공동 스팸-검출 작업에 관여하도록 구성될 수 있다.
일부 실시예들에서, 안티-스팸 서버(16)는 콘텐츠 서버들(12a-12b) 및/또는 클라이언트 시스템들(14a-14b)과의 공동 스팸-검출 작업을 수행하도록 구성된다. 도 3a는 서버(16) 및 클라이언트 시스템(14) 사이의 예시적인 데이터 교환을 도시한다. 클라이언트 시스템(14)은 네트워크(18) 너머 메일 서버로부터 이메일 메시지들을 수신할 수 있다. 이메일 메시지를 수신한 후, 클라이언트 시스템(14)은 이메일 메시지에 연관된 스팸-식별 데이터를 포함하는 대상 지시자(40)를 안티-스팸 서버(16)에 전송하고, 및 이에 응답하여 각각의 이메일 메시지가 스팸인지 나타내는 대상 라벨(50)을 수신할 수 있다. 클라이언트 시스템(14)은 그 후에 메시지를 적절한 메시지 카테고리(예를 들어, 스팸 또는 합법적 이메일) 내에 배치시킬 수 있다.
도 3b는 특히 블로그 스팸 또는 소셜 네트워크 사이트들 상에 포스팅된 스팸과 같은, 서버(12)에서 수신된 사용자-생성 스팸을 검출하도록 구성된 실시예에서, 안티-스팸 서버(16) 및 콘텐츠 서버(12) 사이의 예시적인 데이터 교환을 도시한다. 예를 들어, 서버(12) 상에 호스팅된 웹사이트 상의 댓글의 사용자 포스팅의 결과로써, 대상 통신을 수신한 후에, 서버(12)는 대상 통신으로부터 추출된 스팸-식별 데이터를 포함하는 대상 지시자(40)를 안티-스팸 서버(16)에 전송하고, 및 이에 응답하여 대상 통신이 스팸인지 나타내는 대상 라벨(50)을 수신할 수 있다.
도 4는 본 발명의 일부 실시예들에 따른 대상 통신의 예시적인 대상 지시자를 도시한다. 대상 지시자(40)는 대상 통신을 특유하게 식별하는 객체 ID(41)(예를 들어, 라벨, 해쉬), 및 블로그 댓글의 글 부분과 같이 대상 통신의 글 부분을 포함하는 대상 스트링(42)을 포함한다. 일부 실시예들에서, 대상 스트링(42)은 대상 통신의 실질적인 모든 글을 포함한다. 대상 통신이 몇몇 글 부분들을 포함하는 때에, 대상 스트링(42)은 연속적인 글 부분들을 포함할 수 있다; 대안적으로, 각각의 글 부분은 별개의 대상 스트링(42)을 수신할 수 있다. 일부 실시예들에서, 대상 스트링(42)은 대상 통신의 글 부분의 섹션을 포함하고, 섹션은 사전-설정 스트링 길이(예를 들어, 128의 연이은 문자들)를 갖는다.
대상 스트링(42)에 비하여, 대상 지시자(40)의 일부 실시예들은 대상 통신에 상응하는 다른 스팸-식별 데이터를 포함할 수 있다. 도 4의 예시에서, 대상 지시자(40)는 대상 통신의 제출자에 의하여 제공된 이름(예를 들어, 개인 이름, 가명, 스크린 이름, 로그인 이름, 아바타 이름, 핸들 등)을 나타내는 사용자이름 지시자(44), 대상 통신의 발신의 위치(예를 들어, 발신 IP 주소)를 나타내는 주소 지시자(46), 및 대상 통신이 제출된 때의 실시간 포인트(예를 들어, 날짜 및 시간)를 나타내는 타임 스탬프(48)를 포함한다.
일부 실시예들에서, 대상 라벨(50)은 ID(41)과 같은 객체 ID, 및 대상 통신의 스팸 상태의 지시자를 포함할 수 있다. 이하에서 상세하게 설명되는 바와 같이, 대상 라벨(50)은 안티-스팸 서버(16)에 의해 수행되는 평가에 따라 대상 통신이 스팸인지 효율적으로 특정한다.
도 5는 본 발명의 일부 실시예들에 따른 안티-스팸 서버(16) 상에서 수행되는 예시적인 애플리케이션들의 세트의 다이어그램을 도시한다. 애플리케이션들은 스팸 검출기(32) 및 스팸 검출기(32)에 연결된 통신 관리기(34)를 포함한다. 애플리케이션들(32 및 34)는 독립형 컴퓨터 프로그램들이거나, 또는 예를 들어, 멀웨어 검출과 같은 컴퓨터 보안 서비스들을 제공하는 큰 소프트웨어 묶음의 부분을 형성할 수 있다. 일부 실시예들에서, 안티-스팸 서버(16)는 또한 안티-스팸 데이터베이스(30)을 호스팅한다. 대안적으로, 안티-스팸 데이터베이스는 서버(16)로부터 구별되는 컴퓨터 시스템 상에서 상주하지만, 네트워크(18)를 통해 서버(16)에 연결되거나, 또는 서버(16)에 연결된 컴퓨터-판독 가능 매체 상에서 상주할 수 있다.
안티-스팸 데이터베이스(30)는 온라인 스팸에 관한 지식의 저장소를 포함한다. 일부 실시예들에서, 데이터베이스(30)는 기준 스펙트럼들의 코퍼스를 포함하고, 이하에서 더 설명된 바와 같이 각각의 스펙트럼은 전자 통신에 대하여 계산된다. 데이터베이스(30)는 블로그 댓글들, 소셜 네트워크 사이트들 상에 포스팅된 댓글들, 등과 같은 스팸 또는 비-스팸 전자 통신들 둘 다에 대한 데이터를 포함한다. 스펙트럼 데이터에 비하여, 데이터베이스(30)에 저장된 각각의 기록은 각각의 통신의 스트링(42), 타임 스탬프(48)와 같은 시간 지시자, 및 스트링 길이의 지시자들, 별개의 문자들의 수 및 스트링(42)의 스펙트럼 점수와 같은 추가적인 정보를 포함할 수 있다; 그와 같은 양들의 예시적인 사용이 이하에서 설명된다. 일부 실시예들에서, 각각의 스펙트럼에 관하여, 데이터베이스(30)는 각각의 스트링이 현재 할당된 메시지들의 클러스터를 나타내는 클러스터 할당 지시자를 저장할 수 있다. 이하에 도시된 바와 같이, 데이터베이스(30)는 또한 각각의 객체 식별자들이 전자 통신과 특유하게 연관되는, 객체 ID(41)과 같은 복수의 식별자들을 포함하는 데이터 구조, 및 각각의 스펙트럼을 각각의 스펙트럼이 계산된 전자 통신과 함께 연관시키는 매핑을 저장하고, 스팸 검출기(32)가 데이터베이스(30)로부터 기준 스펙트럼을 선택적으로 검색하는 것을 가능하게 한다.
도 6은 본 발명의 일부 실시예들에 따른 대상 스트링(42)에 대하여 계산된 예시적인 대상 신호 및 예시적인 대상 스펙트럼을 도시한다. 대상 신호(52)는 수들의 시퀀스를 포함하고, 각각의 수는 스트링(42)의 문자를 나타낸다. 대상 신호(52)를 생산하기 위하여, 문자들을 수들에 일-대-일 상응(즉, 전단사 함수) 매핑하는 것이 사용될 수 있다. 일부 실시예들에서, 스트링(42)의 각각의 문자에 대하여, 대상 신호(52)는 각각의 문자에 대한 ASCII 코드를 포함한다.
대상 스펙트럼(60)은 수들의 시퀀스를 포함하고, 시퀀스는 대상 신호(52)를 나타내는 주파수 도메인(예를 들어, 푸리에 변환)을 나타낸다. 일부 실시예들에서, 시퀀스 내의 선택된 수의 위치는 주파수 f를 나타내고, 반면에 수 그 자체 A(f)는 신호(52)의 각각의 주파수 구성요소의 진폭 또는 세기(power)를 나타낼 수 있다. 일부 실시예들에서, FFT(fast Fourier transform)과 같은 DFT(discrete Fourier transform) 알고리즘이 대상 신호(52)로부터 대상 스펙트럼(60)을 계산하기 위해 사용된다.
일부 실시예들에서, 통신 관리기(34)는 클라이언트 시스템들(14a-14b) 및/또는 콘텐츠 서버들(12a-12b)과의 통신을 관리하도록 구성된다. 예를 들어, 관리기(34)는 네트워크(18) 너머 연결들을 설립하고, 클라이언트 시스템들(14a-14b), 및 콘텐츠 서버들(12a-12b)에 대상 지시자들 및 대상 라벨들과 같은 데이터를 전송하고 클라이언트 시스템들(14a-14b), 및 콘텐츠 서버들(12a-12b)로부터 데이터를 수신할 수 있다.
도 7은 본 발명의 일부 실시예들에 따른 안티-스팸 서버(16) 상에서 동작하는 예시적인 스팸 검출기의 다이어그램을 도시한다. 스팸 검출기(32)는 스펙트럼 관리기(36) 및 스펙트럼 관리기(36)에 연결된 클러스터링 엔진(38)을 포함한다. 스팸 검출기(32)는 통신 관리기(34)로부터 대상 통신의 대상 지시자(40)를 수신하고(도 5 및 도 3a-b 참조) 안티-스팸 데이터베이스(30)로부터 기준 스펙트럼(64)을 수신하고, 및 결과적으로 각각의 스팸-검출 작업을 개시한 클라이언트 시스템(14) 또는 콘텐츠 서버(12)에 전달되도록 대상 라벨(50)을 통신 관리기(34)에 출력할 수 있다.
일부 실시예들에서, 스펙트럼 관리기(36)는 통신 관리기(34)로부터 대상 지시자(40)를 수신하고, 대상 지시자(40)의 데이터로부터 대상 스펙트럼(60)을 계산하고, 자격이 있는 기준 스펙트럼들(64)의 세트를 결정하기 위하여 사전-필터링 처리를 수행하고, 안티-스팸 데이터베이스(30)으로부터 기준 스펙트럼들(64)을 선택적으로 검색하고, 및 스펙트럼 비교 및 클러스터 할당을 위하여 스펙트럼들(60 및 64)을 클러스터링 엔진(38)에 전달하도록 구성된다. 스펙트럼 관리기(36)의 동작은 도 9와 관련하여 상세하게 설명될 것이다.
일부 실시예들에서, 대상 통신에 상응하는 특징 벡터 및 대표 벡터들의 세트 사이의 거리를 분석하는 것에 의하여, 대상 메시지 분석이 특징 초공간 내에서 수행되고, 각각의 대표 벡터는 대상 스트링들의 별개의 무리(클러스터)의 원형을 정의한다. 도 8은 d1 및 d2의 두 개의 축들을 갖는 단순한 2-D 특징 공간 내에서, 각각 특징 벡터들(74a-74c)에 의하여 형성된 세 개의 예시적인 클러스터들(70a-70c)을 도시한다. 본 발명의 일부 실시예들에서, 축 d1 및 d2는 대상 스펙트럼의 두 개의 별개의 주파수들과 같은 대상 스트링의 별개의 특징들에 상응한다. 일부 실시예들에서, 각각의 클러스터(70)는 특징 초공간의 실질적으로 작은 영역을 차지하는 대상 스트링들로 구성되고, 이는 클러스터의 모든 구성원들이 예를 들어 유사한 주파수 스펙트럼들의 유사한 특징 벡터들을 갖는 것을 의미한다.
일부 실시예들에서, 클러스터링 엔진(38)은 클러스터들(70)의 무리를 유지하도록 구성되고, 클러스터들(70)의 무리는 데이터 축적의 히스토리 동안 안티-스팸 서버(16)에서 수신된 전자 통신들의 코퍼스를 나타낸다. 통신들은 유사성에 따라 클러스터들로 그루핑(grouping)된다; 이상적으로, 클러스터는 동일한 또는 거의 동일한 메시지들로 구성된다. 일부 클러스터들(70)은 개별 스팸 파동들을 나타낼 수 있고, 개별 스팸 파동 각각은 다수의 클라이언트들에게 전송되거나 및/또는 다수의 웹사이트들 상에 포스팅된 동일한 스팸 메시지의 복제본들 또는 변종들을 포함한다. 클러스터링 엔진(38)은 대상 스펙트럼(60)을 수신하고 및 스펙트럼 유사성에 따라 스펙트럼(60)에 의해 나타내어진 대상 통신을 가장 유사한 클러스터에 할당하도록 더 구성된다. 클러스터 할당을 수행하기 위하여, 클러스터링 엔진(38)은 스펙트럼 관리기(36)로부터 기준 스펙트럼들(64)의 세트를 수신하고, 각각의 스펙트럼(64)은 클러스터를 대표하며, 및 어느 메시지 클러스터가 대상 스펙트럼(60)에 가장 매칭되는지를 결정하기 위하여 스펙트럼들(60 및 64)을 비교한다. 클러스터링 엔진(38)의 보다 상세한 동작은 도 9와 관련하여 이하에서 설명된다.
도 9는 본 발명의 일부 실시예들에 따른 스팸-검출 작업 내에서 스팸 검출기(도 7, 32)에 의해 수행되는 단계들의 예시적인 순서를 도시한다. 단계 102에서, 스팸 검출기(32)는 통신 관리기(34)를 통해 클라이언트 시스템(14) 또는 콘텐츠 서버(12)로부터 대상 지시자(40)를 수신한다. 이어서, 단계 104에서, 스팸 검출기(32)는 대상 지시자(40)에 따라 대상 스트링(42)을 추출하고, 및 예를 들어 대상 스트링(42)의 ASCII 코드를 순서화하는 것에 의하여 대상 신호(52)를 계산한다.
단계 106은 대상 신호(52)의 주파수 스펙트럼(60)을 결정한다(도 6 참조). 단계 106은 또한, 단계 108 에서 메시지 클러스터들의 무리를 사전-필터링하기 위하여 사용되는, 스트링 길이 및/또는 별개의 문자들의 수와 같은, 대상 스트링(42)의 몇몇 파라미터들의 계산을 포함한다. 일부 실시예들에서, 대상 신호(52)는 다음 2의 거듭제곱과 동일한 길이에 제로-패딩된다(예를 들어, 길이 243의 대상 스트링에 대하여, 대상 신호는 길이 256에 패딩됨). 일부 실시예들에서, 스팸 검출기(32)는 또한 대상 신호(52)에 디지털 필터를 적용한다. 예시적인 디지털 필터는 저역-통과 및/또는 고역-통과 필터를 포함한다.
일부 실시예들에서, 단계 108에서, 스팸 검출기(32)는 사전-필터링 기준의 세트에 따라, 클러스터링 엔진(38)에 의하여 유지된 완료된 무리로부터 후보 클러스터들의 서브세트를 선택하기 위하여 사전-필터링 동작을 수행한다. 스펙트럼 비교들을 수행하기 위하여 단지 (작은) 클러스터들의 서브세트를 선택하는 것에 의하여, 스팸 검출기(32)는 계산 비용들을 효율적으로 감소시킬 수 있다.
일부 실시예들에서, 스팸 검출기(32)는 후보 클러스터들을 선택하기 위하여 스트링 길이를 사전-필터링 기준으로써 사용할 수 있다. 대상 스트링(42)의 스트링 길이는 각각의 클러스터의 대표의 스트링 길이(또는 각각의 클러스터의 구성원들의 평균 스트링 길이)에 비교된다. 클러스터의 전형적인 스트링 길이가 대상 스트링(42)의 스트링 길이의 미리 정해진 문턱 내일 때에, 클러스터는 스펙트럼 비교를 위한 후보로써 선택될 수 있다.
대안적인 사전-필터링 기준은 별개의 문자들의 수(총수)이다. 예를 들어: 스트링 "Mississippi"는 4 개의 별개의 문자들을 갖는다: M, i, s, 및 p. 각각의 클러스터에 대하여, 대상 스트링(42)의 별개의 문자들의 수는 각각의 클러스터의 대표 구성원의 별개의 문자들의 수와 비교되거나, 또는 클러스터의 구성원들의 별개의 문자들의 평균 수와 비교된다; 대상 스트링(42)과 유사한 별개의 문자들의 수들을 갖는 클러스터들은 스펙트럼 비교를 위한 후보로써 선택될 수 있다.
일부 실시예들에서, 사전-필터링 기준은 다음 수학식과 같이 스펙트럼 점수를 계산하는 것을 포함한다.
[수학식 1]
Figure 112014065604392-pct00001
i는 주파수들을 색인하고, 및 Ai는 주파수 i에서 각각의 스트링의 푸리에 스펙트럼의 진폭(또는 세기)를 나타낸다. 각각의 클러스터에 대하여, 대상 스트링(42)의 스펙트럼 점수(수학식 1)가 각각의 클러스터의 대표 구성원의 스펙트럼 점수, 또는 클러스터의 평균 스트링 점수와 비교된다; 대상 스트링(42)과 유사한 스펙트럼 점수들을 갖는 클러스터들은 스펙트럼 비교를 위한 후보로써 선택된다.
일부 실시예들에서, 사전-필터링 기준은 조합된다. 예를 들어, 클러스터들의 제1 서브세트가 선택될 수 있고, 각각의 클러스터는 대상 스트링(42)에 대하여 유사한 스트링 길이를 갖는다; 이후, 클러스터들의 제1 서브세트의 밖에서, 제2 서브세트가 스펙트럼 스코어 유사성에 따라 선택된다.
각각의 선택된 클러스터에 대하여, 스펙트럼 비교를 위한 후보들의 세트를 선택하고, 스팸 검출기(32)는 각각의 클러스터의 대표 메시지에 상응하는 기준 스펙트럼(64)을 안티-스팸 데이터베이스(30)로부터 선택적으로 검색하도록 스펙트럼 관리기(36)에게 명령할 수 있다. 이후, 단계 110-118의 루프 시퀀스는 각각의 선택된 클러스터에 대하여 수행된다. 단계 110에서, 스팸 검출기(32)는 모든 선택된 클러스터들이 비교를 위하여 이미 고려되었는지 확인할 수 있다. 이미 고려되었으면, 스팸 검출기(32)는 이하에서 설명된 단계 120으로 진행한다. 고려되지 않았으면, 단계 112에서, 다음 클러스터가 평가된다. 단계 114에서, 대상 스펙트럼(60)은 각각의 클러스터를 나타내는 기준 스펙트럼(64)과 비교된다.
단계 114는 대상 스펙트럼(60)과 기준 스펙트럼(64)의 비교를 수행하는 것을 포함한다. 일부 실시예들에서, 비교는 주파수들의 선택된 세트에서 기준 스펙트럼들의 진폭들을 비교하는 것에 의해 스트링-간 거리를 계산하는 것을 포함한다. 예를 들어,
[수학식 2]
Figure 112014065604392-pct00002
i는 주파수를 색인하고, AT i는 주파수 i에서 대상 스펙트럼의 진폭을 나타내고, AR i는 주파수 i에서 기준 스펙트럼의 진폭을 나타내고, 및 α는 양의 상수(예를 들어, α-1)이다. 일부 실시예들에서, 동일한 클러스터의 구성원들에 상응하는 모든 주파수 스펙트럼들은 동일한 주파수 스케일을 갖고, 수학식 2는 동일한 주파수 i에 대하여 계산된 T 및 R의 주파수 구성요소들을 실제로 비교한다. 비교된 스트링들이 정확하게 동일한 스트링 길이를 갖지 않는 때에(다른 주파수 스케일들을 갖는 두 개의 상응하는 스펙트럼들이 됨), 일부 실시예들에서, 각각의 스트링들과 연관된 신호들은 다음 2의 거듭제곱과 동일한 스트링 길이에 제로-패딩될 수 있다.
세트 S는 스펙트럼의 주파수들의 서브세트를 나타낸다. 일부 실시예들에서, S는 단지 하나의 주파수로 구성된다. 예를 들어, S={i|f=0}인 때에, 수학식 2는 단지 영점 주파수에서 두 개의 스펙트럼들의 진폭들을 비교할 뿐이다. 다른 예를 들어, S={i|AT i=AT max}인 때에, 즉, 수학식 2는 단지 대상 스펙트럼의 최대 진폭 AT max에 상응하는 주파수 i에서 두 개의 스펙트럼의 진폭들을 비교할 뿐이다. 일부 실시예들에서, S는 스펙트럼의 모든 주파수들의 세트를 나타낸다.
단계 116(도 9)은 대상 스펙트럼(60)이 기준 스펙트럼(64)에 매칭하는지 결정한다. 일부 실시예들에서, 스펙트럼 매칭은 스트링 간 거리가 미리 정해진 문턱보다 작을 것, D(T,R)<t를 요구한다. 문턱 값들 t는 비교되는 스트링들과 독립적이거나, 또는 스트링 길이 및/또는 대상 스트링(42)의 별개의 문자들의 수에 따라 변화할 수 있다. 일부 실시예들에서, 높은 문턱 값들은 비교적 긴 스트링들에 대하여 사용되거나, 또는 별개의 문자들의 비교적 큰 수를 갖는 스트링들에 대하여 사용된다.
스펙트럼들(60 및 64)의 매칭이 발견된 때에, 스팸 검출기(32)는 각각의 메시지 클러스터가 대상 스트링(42)을 수신할 자격이 있는 것으로 마킹되는 단계 118로 진행한다. 스펙트럼들이 매칭되지 않으면, 스팸 검출기(32)는 단계 110으로 복귀한다. 단계 106에서 선택된 모든 메시지 클러스터들이 스펙트럼 비교에 의하여 평가된 때에, 단계 120은 임의의 클러스터들이 대상 스트링(42)의 수신에 대하여 자격이 있는지를 결정한다. 자격이 있다면, 단계 124에서 스팸 검출기(32)는, 각각의 자격이 있는 클러스터에 대하여, 대상 스트링(42)이 각각의 클러스터의 모든 구성원들과 얼마나 유사한지를 나타내는 스트링-투-클러스터 유사성 지시자를 계산한다. 각각의 자격이 있는 클러스터의 예시적인 스트링-투-클러스터 유사성 지시자는 대상 스펙트럼(60)을 매칭하는 기준 스펙트럼(64)을 갖는 클러스터 구성원들의 부분을 포함한다.
이어서, 단계 126은 가장 유사한 메시지 클러스터에 대상 스트링(42)의 실제 할당을 수행한다. 일부 실시예들에서, 대상 스트링(42)은 단계 124에서 결정된, 최고 스트링-투-클러스터 유사성 지시자를 갖는 클러스터에 할당된다. 클러스터링 엔진(38)은 새로운 클러스터 구성원의 추가를 반영하기 위하여 클러스터 할당 데이터를 업데이트할 수 있고, 및 대상 스트링(42)의 기록은 안티-스팸 데이터베이스(30) 내에 도입될 수 있다. 일부 실시예들에서, 단계 126은 대상 메시지를 수신하는 클러스터와 연관된 스팸-식별 파라미터들의 세트의 결정을 포함한다. 예를 들어, 일부 실시예들은 동일한 클러스터 내에서, 연속하는 타임스탬프들 사이에서 흐른 시간 간격을 계산할 수 있다. 그와 같은 파라미터들은 각각의 클러스터와 관련하여 저장될 수 있고, 및 특정한 클러스터가 스팸 또는 합법적 메시지들을 포함하는지, 또는 특정한 클러스터가 스팸 파동을 나타낼 것 같은지를 (인간 조작자의 감독 없이) 자동으로 결정하기 위하여 사용될 수 있다.
대상 스트링을 수신할 자격이 있는 클러스터들이 발견되지 않은 때에(단계 120), 대상 스트링(42)이 안티-스팸 데이터베이스 내에 이미 저장된 임의의 것으로부터 구별될 것 같음을 나타내고, 단계 122에서 클러스터링 엔진(38)은 새로운 클러스터를 대상 스트링과 함께 유일한 구성원으로써 생성할 수 있고, 및 대상 스트링의 기록을 안티-스팸 데이터베이스(30) 내에 저장할 수 있다.
단계 128에서, 스팸 검출기(32)는 대상 통신을 스팸 또는 합법적으로 식별하는 대상 라벨(50)을 결정할 수 있다. 일부 실시예들에서, 대상 통신을 스팸으로 하는 결정이 대상 스트링(42)의 클러스터 할당에 따라 이루어진다. 스트링(42)이 스팸 메시지들로 주로 구성되는 클러스터에 할당된 때에, 이 후 대상 메시지도 또한 스팸 라벨을 수신할 수 있다.
일부 실시예들에서, 라벨(50)은 대상 메시지가 할당된 클러스터의 구성원들의 특정 스팸-식별 특징에 따라 결정된다. 그와 같은 하나의 스팸-식별 특징은 타임스탬프(48)이다. 짧은 시간 간격 내의 많은 새로운 구성원들의 할당은 각각의 클러스터가 스팸 메시지들의 파동으로 구성되는 것을 나타낼 수 있다. 일부 실시예들에서, 스팸 검출기(32)는 클러스터의 구성원들과 연관된 복수의 타임스탬프들 사이에서 흐른 시간 간격, 예를 들어, 그 클러스터에 할당된 여섯 개의 구성원들 내의 최단 시간 간격을 결정할 수 있고, 및 시간 간격이 미리 정해진 문턱의 아래로 떨어지는 때에, 각각의 클러스터를 스팸으로 마킹한다.
이상에서 설명된 예시적인 시스템들 및 방법들은 안티-스팸 시스템이 블로그 댓글들, 소셜 네트워크 사이트들 상에 포스팅된 댓글들, 등의 형태의 인터넷 상의 사용자-생성 콘텐츠의 형태, 및 또한 이메일 메시지들, 인스턴트 메시지들, 및 전화 텍스트 및 멀티미디어 메시지들의 형태의 청하지 않은 통신을 검출하는 것을 가능하게 한다.
일부 실시예들에서, 컴퓨터 시스템은 블로그 댓글과 같은 전자 통신으로부터 문자들의 대상 스트링을 추출하고, 안티-스팸 서버에 대상 스트링을 전송하고, 및 각각의 전자 통신이 스팸 또는 비-스팸인지의 지시자를 안티-스팸 서버로부터 수신한다. 전자 통신이 스팸인 때에, 컴퓨터 시스템은 전자 통신의 디스플레이를 차단하거나, 격리하거나, 삭제하거나, 또는 임의의 다른 방법들로 차단할 수 있고 및/또는 사용자에게 경고를 발행할 수 있다.
안티-스팸 서버는 전자 통신으로부터 추출된 대상 문자 스트링의 주파수 표시에 따라 전자 통신이 스팸 또는 비-스팸인지 결정한다. 대상 스펙트럼에 대한 매칭을 찾기 위하여, 대상 스트링은 수들의 시퀀스와 같은 신호로 변환되고, 및 신호의 대상 스펙트럼이 계산되고 기준 스펙트럼들의 코퍼스에 대하여 비교된다. 본 발명의 일부 실시예들은 두 개의 유사한 스트링들이 항상 유사한 주파수 스펙트럼을 갖는다는 관찰을 활용한다. 그러므로, 대상 스트링의 스펙트럼 및 기준 스트링에 대하여 계산된 다른 스펙트럼 사이의 매칭을 찾는 것은 대상 스트링이 기준 스트링과 유사하다는 것을 나타낼 수 있다. 그와 같은 경우, 안티-스팸 서버는 이 후 기준 스트링이 스팸을 나타내는지, 예를 들어 기준 스트링이 스팸으로 라벨링된 전자 통신들의 클러스터에 속하는지에 따라 전자 통신이 스팸인지 결정할 수 있다.
그러나, 두 개의 별개의 스트링들이 매우 유사한 스펙트럼들을 갖는 많은 경우들이 있다. 틀린 양성 식별을 회피하기 위하여, 두 개의 스트링들이 유사한지 결정하는 때에 타임 스탬프와 같은 대상 스트링의 다른 특징들이 고려될 수 있다.
스펙트럼 비교는 스트링 길이가 특정한 문턱을 초과하는 때에 유사한 스트링들 식별의 신뢰할 수 있는 방법이 아닐 수 있다. 매우 긴 스트링들의 제한 내에서, 모든 스트링들은 화이트 노이즈 스펙트럼들을 닮은 유사한 스펙트럼들을 갖는다. 그러므로, 본 명세서에서 설명된 시스템들 및 방법들은 블로그 포스트들 및 Facebook? 및 Twitter?와 같은 소셜 네트워킹 사이트들 상의 댓글들과 같은 전자 통신 내에서 나타나는 짧은 스트링들을 분석하기 위하여 특히 적합하다.
스트링 비교에 의한 스팸 검출에 대한 추가적인 문제는, 검출을 회피하기 위하여, 스팸 전송자들이 메시지 내의 특정 문자들을 다른 문자들로 교체할 수 있는(예를 들어, Vi4gra) 난독화이다. 스트링 난독화는 대상 신호에 고역-통과 또는 저역-통과 특징들 중 어느 하나를 갖는 디지털 필터를 적용하는 것에 의해 다뤄질 수 있다. 난독화하는 문자들은 노이즈로써 여겨질 수 있다; 필터링은 동일한 스트링의 두 개의 난독화된 버전들 사이의 스트링-간 거리를 감소시킬 수 있고, 두 개의 스트링들이 보다 유사하게 나타나도록 한다.
본 발명의 일부 실시예들은 코퍼스를 복수의 클러스터들로 조직하고, 각각의 기록들의 클러스터는 유사한 스트링들로 구성된다. 모든 코퍼스의 기록들에 스펙트럼 비교들을 수행하는 것에 대신하여, 클러스터링은 본 명세서에 설명된 방법들 및 시스템들이 대상 스트링을 클러스터 별 단 하나의 대표 대상 스트링과 비교하는 것을 가능하게 하고, 이로써 계산 비용을 현저하게 감소시킨다.
클러스터링은 또한 자동화된 (무감독) 스팸 검출을 용이하게 할 수 있다. 감독 훈련의 절차를 통해서, 예를 들어, 복수의 미리 결정된 메시지 클래스들로 사전 분류된 훈련 코퍼스 상에서, 메시지 분류가 통상적으로 획득되는 종래의 클러스터링 방법들과 대조적으로, 본 발명의 일부 실시예들은 클러스터들 또는 메시지들의 스팸 상태(스팸 대 비-스팸)의 사전 지식 없이 동적 클러스터링을 수행한다. 클러스터가 짧은 시간 간격 내에서 구성원들의 특정 수를 축적한 때에, 클러스터는 스팸을 나타내는 것으로 자동적으로 식별될 수 있다.
컴퓨터 실험에서, 22,000 블로그 댓글들의 코퍼스는 본 발명의 일부 실시예들에 따라 클러스터들로 분류되었다. 계산은 3 GHz의 펜티엄 4 프로세서 및 1.5 GB의 RAM을 갖추고, 우분투 OS 10.04를 실행하는 컴퓨터 시스템 상에서 수행되었다. 분류는 대략 9:30분의 계산 시간이 걸렸고, 하나 이상의 클러스터 구성원을 포함하는 1,652 메시지 클러스터들을 생산하였다(평균 클러스터 별 4.59 댓글들). 그에 비해, 해쉬-기반 스트링 매칭 알고리즘을 채용하고, 동일한 하드웨어 플랫폼 상에서 실행한 종래의 클러스터링 시스템은 7:07 분의 계산 시간 내에, 평균 클러스터 별 4.26 댓글들과 함께, 하나 이상의 구성원을 포함하는 1,617 클러스터들을 생산하였다.
도 10a-10e는 25 내지 3000 문자들의 스트링 길이 범위의 테스트 스트링들의 무리와 함께 수행된 다른 컴퓨터 실험 결과를 도시한다. 하드웨어 구성은 앞서 설명한 바와 동일하다. 도 10a는 테스트 스트링들의 스트링 길이의 함수로써, 스트링들을 신호들로 매핑하기 위하여 걸린 시간을 도시한다. 신호 별 계산 시간은 시간 및 스트링 길이 사이의 대략적인 선형 상관을 갖고, 몇몇 마이크로초들 내지 대략 1.5 밀리초에서 변화한다.
도 10b-10d는 스트링 길이들의 범위에 대하여 테스트 스트링들의 주파수 스펙트럼들을 계산하기 위하여 걸린 시간을 도시한다. 도 10e는 테스트 스트링들의 스트링 길이의 함수로써, 스펙트럼 비교에 따라 스트링간 거리(예를 들어, 수학식 2)를 계산하기 위하여 걸린 시간을 도시한다. 계산 시간은 몇몇 마이크로초들 내지 대략 500 마이크로초들 사이이다.
도 11은 스팸 및 비-스팸 둘 다를 포함하는, 8676 실제 블로그 댓글들의 무리에 대하여, 타임스탬프 지시자에 대하여 도표화된 스트링 길이를 도시한다. 도 12는 스팸 및 비-스팸 둘 다를 포함하는, 5351 실제 블로그 댓글들의 다른 무리에 대하여, 타임스탬프 지시자에 대하여 도표화된, 별개의 문자들의 수를 도시한다. 도 11 및 도 12는 둘 다 타임스탬프에 따라 스팸 메시지들의 클러스터링을 나타내고, 앞에서 설명한 바와 같은 자동 스팸 식별을 가능하게 한다.
상술한 실시예들이 본 발명의 범위를 벗어나지 않는 범위 내에서 다양한 방법으로 변형될 수 있다는 점은 통상의 기술자에게 분명할 것이다. 따라서, 본 발명의 범위는 이하의 청구항들 및 청구항들의 법적 균등물들에 의해 결정되어야 한다.

Claims (29)

  1. 전자 통신의 일 부분을 형성하는 대상 스트링을 수신하기 위하여 컴퓨터 시스템을 채용하는 단계;
    상기 대상 스트링을 수들의 시퀀스로 구성되는 대상 신호로 처리하기 위하여 컴퓨터 시스템을 채용하되, 상기 대상 스트링의 각각의 문자는 다수의 상기 수들의 시퀀스로 매핑되는 컴퓨터 시스템을 채용하는 단계;
    상기 대상 스트링을 수신하는 것에 응답하여, 상기 대상 스트링에 따라 스트링 자격 기준을 결정하기 위하여 상기 컴퓨터 시스템을 채용하는 단계;
    복수의 후보 스트링들을 생산하기 위하여, 상기 스트링 자격 기준에 따라 기준 스트링들의 코퍼스(corpus)를 사전-필터링하기 위하여 상기 컴퓨터 시스템을 채용하는 단계;
    상기 후보 스트링들을 선택하는 것에 응답하여, 상기 대상 신호의 주파수 스펙트럼과 상기 복수의 후보 스트링들의 후보 스트링에 대하여 결정된 주파수 스펙트럼의 비교를 수행하기 위하여 상기 컴퓨터 시스템을 채용하는 단계로서 상기 대상 신호의 주파수 스펙트럼으로서 상기 수들의 시퀀스의 주파수 스펙트럼을 이용하는 단계; 및
    상기 주파수 스펙트럼들 사이의 상기 비교 결과에 따라 상기 전자 통신이 스팸 또는 비-스팸인지 결정하기 위하여 상기 컴퓨터 시스템을 채용하는 단계를 포함하는 방법.
  2. 제1항에 있어서,
    상기 대상 스트링의 타임스탬프와 상기 후보 스트링의 타임스탬프의 비교에 따라 상기 전자 통신이 스팸 또는 비-스팸인지 결정하는 것을 더 포함하는 방법.
  3. 제1항에 있어서,
    상기 기준 스트링들의 코퍼스는 복수의 클러스터들을 포함하고, 각각의 클러스터는 유사한 스트링들의 세트를 포함하고, 상기 복수의 후보 스트링들의 각각의 후보 스트링은 별개의 클러스터를 나타내고, 상기 방법은 상기 비교를 수행하는 것에 응답하여, 상기 복수의 클러스터들로부터 클러스터를 선택하고 상기 선택된 클러스터에 상기 대상 스트링을 할당하기 위하여 상기 컴퓨터 시스템을 채용하는 단계를 더 포함하는 방법.
  4. 제3항에 있어서,
    복수의 타임스탬프들에 따라 상기 대상 전자 통신(스팸 또는 비-스팸인지 결정의 대상이 되는 전자 통신을 의미함)이 스팸 또는 비-스팸인지 결정하는 단계를 더 포함하고, 상기 복수의 타임스탬프들의 각각의 타임스탬프는 상기 선택된 클러스터의 구성원(member)에 상응하는 방법.
  5. 제3항에 있어서,
    상기 선택된 클러스터에 상기 대상 스트링을 할당하는 것에 응답하여, 상기 선택된 클러스터의 클러스터 구성원들의 총수(count)를 결정하는 단계; 및
    상기 클러스터 구성원들의 총수에 따라 상기 대상 전자 통신이 스팸 또는 비-스팸인지 결정하는 단계를 더 포함하는 방법.
  6. 제3항에 있어서,
    상기 선택된 클러스터에 따라 상기 대상 전자 통신이 선택된 스팸 파동에 속하는 것으로 식별하는 단계를 더 포함하는 방법.
  7. 제1항에 있어서,
    상기 코퍼스를 사전-필터링하는 것은:
    상기 대상 스트링의 제1 스트링 길이 및 상기 코퍼스의 기준 스트링의 제2 스트링 길이를 결정하는 단계; 및
    미리 정해진 문턱보다 더 작은 양만큼 상기 제1 스트링 길이가 상기 제2 스트링 길이와 차이가 있을 때, 상기 후보 스트링들의 세트에 상기 기준 스트링을 추가하는 단계를 포함하는 방법.
  8. 제1항에 있어서,
    상기 코퍼스를 사전-필터링하는 것은:
    하기 수학식에 따라 상기 대상 스트링의 제1 스펙트럼 점수를 결정하는 단계;
    Figure 112016111328254-pct00003

    (상기 Ai는 주파수 i에서 결정된, 상기 대상 신호의 상기 주파수 스펙트럼의 진폭을 나타냄)
    상기 코퍼스의 기준 스트링의 제2 스펙트럼 점수를 결정하는 단계; 및
    미리 정해진 문턱보다 더 작은 양만큼 상기 제1 스펙트럼 점수가 상기 제2 스펙트럼 점수와 차이가 있을 때, 상기 후보 스트링들의 세트에 상기 기준 스트링을 추가하는 단계를 포함하는 방법.
  9. 제1항에 있어서,
    상기 비교를 수행하는 것은 하기 수학식에 따라 스트링-간 거리를 결정하는 것을 더 포함하는 방법.
    Figure 112014065604392-pct00004

    상기 i는 주파수들을 색인하고, 상기 S는 상기 대상 신호의 상기 주파수 스펙트럼의 주파수들의 서브세트를 나타내고, 상기 AT i는 주파수 i에서 상기 대상 신호의 상기 주파수 스펙트럼의 진폭을 나타내고, 상기 AC i는 주파수 i에서 상기 후보 스트링에 대하여 결정된 상기 주파수 스펙트럼의 진폭을 나타내고, 상기 α는 양의 상수임.
  10. 제9항에 있어서,
    상기 서브세트 S는 상기 대상 신호의 상기 주파수 스펙트럼의 영점 주파수에 상응하는 색인 i로 배타적으로 구성되는 방법.
  11. 제9항에 있어서,
    상기 서브세트 S는 상기 대상 신호의 상기 주파수 스펙트럼의 최대 진폭에 상응하는 색인 i로 배타적으로 구성되는 방법.
  12. 제1항에 있어서,
    상기 대상 스트링을 대상 신호로 처리하는 것에 응답하여, 상기 대상 신호에 디지털 저역-통과 필터를 적용하기 위하여 상기 컴퓨터 시스템을 채용하는 단계를 더 포함하고, 상기 대상 신호의 상기 주파수 스펙트럼은 상기 디지털 저역-통과 필터-필터링된 대상 신호의 주파수 스펙트럼을 포함하는 방법.
  13. 제1항에 있어서,
    상기 대상 스트링을 대상 신호로 처리하는 것에 응답하여, 상기 대상 신호에 디지털 고역-통과 필터를 적용하기 위하여 상기 컴퓨터 시스템을 채용하는 단계를 더 포함하고, 상기 대상 신호의 상기 주파수 스펙트럼은 상기 디지털 고역-통과 필터-필터링된 대상 신호의 주파수 스펙트럼을 포함하는 방법.
  14. 전자 통신의 일 부분을 형성하는 대상 스트링을 수신하고;
    상기 대상 스트링을 수들의 시퀀스로 구성되는 대상 신호로 처리하되, 상기 대상 스트링의 각각의 문자는 다수의 상기 수들의 시퀀스로 매핑되고;
    상기 대상 스트링을 수신하는 것에 응답하여, 상기 대상 스트링에 따라 스트링 자격 기준을 결정하고;
    복수의 후보 스트링들을 생산하기 위하여, 상기 스트링 자격 기준에 따라 기준 스트링들의 코퍼스를 사전-필터링하고;
    상기 후보 스트링들을 선택하는 것에 응답하여, 상기 대상 신호의 주파수 스펙트럼과 상기 복수의 후보 스트링들의 후보 스트링에 대하여 결정된 주파수 스펙트럼의 비교를 수행하고, 상기 대상 신호의 주파수 스펙트럼으로서 상기 수들의 시퀀스의 주파수 스펙트럼을 이용하며;
    상기 주파수 스펙트럼들 사이의 상기 비교 결과에 따라 상기 전자 통신이 스팸 또는 비-스팸인지 결정하도록 프로그램된 적어도 하나의 프로세서를 포함하는 컴퓨터 시스템.
  15. 제14항에 있어서,
    상기 프로세서는 상기 대상 스트링의 타임 스탬프와 상기 후보 스트링의 타임스탬프의 비교에 따라 상기 전자 통신이 스팸 또는 비-스팸인지 결정하도록 더 프로그램된 컴퓨터 시스템.
  16. 제14항에 있어서,
    상기 기준 스트링들의 코퍼스는 복수의 클러스터들을 포함하고, 각각의 클러스터는 유사한 스트링들의 세트를 포함하고, 상기 다수의 후보 스트링들의 각각의 후보 스트링은 별개의 클러스터를 나타내고, 상기 프로세서는 상기 비교를 수행하는 것에 응답하여, 상기 복수의 클러스터들로부터 클러스터를 선택하고 상기 선택된 클러스터에 상기 대상 스트링을 할당하도록 더 프로그램된 컴퓨터 시스템.
  17. 제16항에 있어서,
    복수의 타임스탬프들에 따라 상기 대상 전자 통신(스팸 또는 비-스팸인지 결정의 대상이 되는 전자 통신을 의미함)이 스팸 또는 비-스팸인지 결정하는 단계를 더 포함하고, 상기 복수의 타임스탬프들의 각각의 타임스탬프는 상기 선택된 클러스터의 구성원에 상응하는 컴퓨터 시스템.
  18. 제16항에 있어서,
    상기 프로세서는:
    상기 선택된 클러스터에 상기 대상 스트링을 할당하는 것에 응답하여, 상기 선택된 클러스터의 클러스터 구성원들의 총수를 결정하고; 및
    상기 클러스터 구성원들의 총수에 따라 상기 대상 전자 통신이 스팸 또는 비-스팸인지 결정하도록 더 프로그램된 컴퓨터 시스템.
  19. 제16항에 있어서,
    상기 프로세서는 상기 선택된 클러스터에 따라 상기 대상 전자 통신이 선택된 스팸 파동에 속하는 것으로 식별하도록 더 프로그램된 컴퓨터 시스템.
  20. 제14항에 있어서,
    상기 코퍼스를 사전-필터링하는 것은:
    상기 대상 스트링의 제1 스트링 길이 및 상기 코퍼스의 기준 스트링의 제2 스트링 길이를 결정하는 단계; 및
    미리 정해진 문턱보다 더 작은 양만큼 상기 제1 스트링 길이가 상기 제2 스트링 길이와 차이가 있을 때, 상기 후보 스트링들의 세트에 상기 기준 스트링을 추가하는 단계를 포함하는 컴퓨터 시스템.
  21. 제14항에 있어서,
    상기 코퍼스를 사전-필터링하는 것은:
    하기 수학식에 따라 상기 대상 스트링의 제1 스펙트럼 점수를 결정하는 단계;
    Figure 112016111328254-pct00005

    (상기 Ai는 주파수 i에서 결정된, 상기 대상 신호의 상기 주파수 스펙트럼의 진폭을 나타냄)
    상기 코퍼스의 기준 스트링의 제2 스펙트럼 점수를 결정하는 단계; 및
    미리 정해진 문턱보다 더 작은 양만큼 상기 제1 스펙트럼 점수가 상기 제2 스펙트럼 점수와 차이가 있을 때, 상기 후보 스트링들의 세트에 상기 기준 스트링을 추가하는 단계를 포함하는 컴퓨터 시스템.
  22. 제14항에 있어서,
    상기 비교를 수행하는 것은 하기 수학식에 따라 스트링-간 거리를 결정하는 것을 더 포함하는 컴퓨터 시스템.
    Figure 112014065604392-pct00006

    상기 i는 주파수들을 색인하고, 상기 S는 상기 대상 신호의 상기 주파수 스펙트럼의 주파수들의 서브세트를 나타내고, 상기 AT i는 주파수 i에서 상기 대상 신호의 상기 주파수 스펙트럼의 진폭을 나타내고, 상기 AC i는 주파수 i에서 상기 후보 스트링에 대하여 결정된 상기 주파수 스펙트럼의 진폭을 나타내고, 상기 α는 양의 상수임.
  23. 제22항에 있어서,
    상기 서브세트 S는 상기 대상 신호의 상기 주파수 스펙트럼의 영점 주파수에 상응하는 색인 i로 배타적으로 구성되는 컴퓨터 시스템.
  24. 제22항에 있어서,
    상기 서브세트 S는 상기 대상 신호의 상기 주파수 스펙트럼의 최대 진폭에 상응하는 색인 i로 배타적으로 구성되는 컴퓨터 시스템.
  25. 제14항에 있어서,
    상기 프로세서는 상기 대상 스트링을 대상 신호로 처리하는 것에 응답하여, 상기 대상 신호에 디지털 저역-통과 필터를 적용하도록 더 프로그램되고, 상기 대상 신호의 상기 주파수 스펙트럼은 상기 디지털 저역-통과 필터-필터링된 대상 신호의 주파수 스펙트럼을 포함하는 컴퓨터 시스템.
  26. 제14항에 있어서,
    상기 프로세서는 상기 대상 스트링을 대상 신호로 처리하는 것에 응답하여, 상기 대상 신호에 디지털 고역-통과 필터를 적용하도록 더 프로그램되고, 상기 대상 신호의 상기 주파수 스펙트럼은 상기 디지털 고역-통과 필터-필터링된 대상 신호의 주파수 스펙트럼을 포함하는 컴퓨터 시스템.
  27. 전자 통신을 수신하기 위하여 컴퓨터 시스템을 채용하는 단계;
    상기 전자 통신을 수신하는 것에 응답하여, 상기 전자 통신으로부터 대상 스트링을 추출하기 위하여 상기 컴퓨터 시스템을 채용하는 단계;
    상기 대상 스트링을 안티-스팸 서버에 전송하기 위하여 상기 컴퓨터 시스템을 채용하는 단계; 및
    상기 대상 스트링을 전송하는 것에 응답하여, 상기 전자 통신이 스팸 또는 비-스팸인지 나타내는 대상 라벨을 수신하되, 상기 대상 라벨은 상기 안티-스팸 서버에서 결정되도록 구성되는 대상 라벨을 수신하는 단계를 포함하고,
    상기 대상 라벨을 결정하는 것은:
    문자들의 대상 스트링을 수들의 시퀀스로 구성되는 대상 신호로 처리하기 위하여 상기 안티-스팸 서버를 채용하되, 상기 대상 스트링의 각각의 문자는 다수의 상기 수들의 시퀀스로 매핑되는 안티-스팸 서버를 채용하는 단계;
    상기 대상 스트링에 따라 자격 기준을 결정하기 위하여 상기 안티-스팸 서버를 채용하는 단계;
    복수의 후보 스트링들을 생산하기 위하여, 상기 자격 기준에 따라 기준 스트링들의 코퍼스를 사전-필터링하기 위하여 상기 안티-스팸 서버를 채용하는 단계;
    상기 후보 스트링들을 선택하는 것에 응답하여, 상기 대상 신호의 주파수 스펙트럼과 상기 복수의 후보 스트링들의 후보 스트링에 대하여 결정된 주파수 스펙트럼의 비교를 수행하기 위하여 상기 컴퓨터 시스템을 채용하기 위하여 상기 안티-스팸 서버를 채용하는 단계로서, 상기 대상 신호의 주파수 스펙트럼으로서 상기 수들의 시퀀스의 주파수 스펙트럼을 이용하는 단계; 및
    상기 주파수 스펙트럼들 사이의 상기 비교 결과에 따라 상기 전자 통신이 스팸 또는 비-스팸인지 결정하기 위하여 상기 안티-스팸 서버를 채용하는 단계를 포함하는 방법.
  28. 전자 통신의 일 부분을 형성하는 대상 스트링을 수신하기 위하여 컴퓨터 시스템을 채용하는 단계;
    문자들의 대상 스트링을 수들의 시퀀스로 구성되는 대상 신호로 처리하기 위하여 컴퓨터 시스템을 채용하되, 상기 대상 스트링의 각각의 문자는 다수의 상기 수들의 시퀀스로 매핑되는 컴퓨터 시스템을 채용하는 단계;
    상기 대상 스트링을 수신하는 것에 응답하여, 상기 대상 스트링에 따라 스트링 자격 기준을 결정하기 위하여 상기 컴퓨터 시스템을 채용하는 단계;
    복수의 후보 스트링들을 생산하기 위하여, 상기 스트링 자격 기준에 따라 기준 스트링들의 코퍼스를 사전-필터링하기 위하여 상기 컴퓨터 시스템을 채용하는 단계;
    상기 후보 스트링들을 선택하는 것에 응답하여, 상기 대상 스트링을 상기 복수의 후보 스트링들의 후보 스트링으로부터 분리하는 스트링-간 거리를 결정하기 위하여 상기 컴퓨터 시스템을 채용하되, 상기 스트링-간 거리는 상기 대상 신호의 주파수 스펙트럼의 제1 진폭 및 상기 후보 스트링에 대하여 결정된 주파수 스펙트럼의 제2 진폭에 따라 결정되는 컴퓨터 시스템을 채용하는 단계로서, 상기 대상 신호의 주파수 스펙트럼으로서 상기 수들의 시퀀스의 주파수 스펙트럼을 이용하는 단계; 및
    상기 스트링-간 거리에 따라 상기 대상 전자 통신(스팸 또는 비-스팸인지 결정의 대상이 되는 전자 통신을 의미함)이 스팸 또는 비-스팸인지 결정하기 위하여 상기 컴퓨터 시스템을 채용하는 단계를 포함하는 방법.
  29. 전자 통신의 일 부분을 형성하는 대상 스트링을 수신하기 위하여 컴퓨터 시스템을 채용하는 단계;
    상기 대상 스트링을 수들의 시퀀스로 구성되는 대상 신호로 처리하기 위하여 컴퓨터 시스템을 채용하되, 상기 대상 스트링의 각각의 문자는 다수의 상기 수들의 시퀀스로 매핑되는 컴퓨터 시스템을 채용하는 단계;
    상기 대상 신호의 주파수 스펙트럼을 결정하기 위하여 상기 컴퓨터 시스템을 채용하는 단계로서, 상기 대상 신호의 주파수 스펙트럼으로서 상기 수들의 시퀀스의 주파수 스펙트럼을 이용하는 단계;
    상기 대상 신호의 상기 주파수 스펙트럼 및 기준 스트링들의 세트로부터 선택된 기준 스트링에 대하여 결정된 주파수 스펙트럼의 비교를 수행하기 위하여 상기 컴퓨터 시스템을 채용하는 단계; 및
    상기 주파수 스펙트럼들 사이의 상기 비교 결과에 따라 상기 대상 전자 통신(스팸 또는 비-스팸인지 결정의 대상이 되는 전자 통신을 의미함)이 스팸 또는 비-스팸인지 결정하기 위하여 상기 컴퓨터 시스템을 채용하는 단계를 포함하는 방법.
KR1020147019418A 2012-01-25 2012-09-05 문자 스트링들의 주파수 스펙트럼들을 이용한 스팸 검출 시스템 및 방법들 KR101686144B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/358,338 US9130778B2 (en) 2012-01-25 2012-01-25 Systems and methods for spam detection using frequency spectra of character strings
US13/358,338 2012-01-25
PCT/RO2012/000022 WO2013112061A1 (en) 2012-01-25 2012-09-05 System and methods for spam detection using frequency spectra of character strings

Publications (2)

Publication Number Publication Date
KR20140115314A KR20140115314A (ko) 2014-09-30
KR101686144B1 true KR101686144B1 (ko) 2016-12-28

Family

ID=47891881

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020147019418A KR101686144B1 (ko) 2012-01-25 2012-09-05 문자 스트링들의 주파수 스펙트럼들을 이용한 스팸 검출 시스템 및 방법들

Country Status (11)

Country Link
US (2) US9130778B2 (ko)
EP (1) EP2807801A1 (ko)
JP (1) JP5941163B2 (ko)
KR (1) KR101686144B1 (ko)
CN (1) CN104040963B (ko)
AU (1) AU2012367397B2 (ko)
CA (1) CA2859135C (ko)
IL (1) IL233057B (ko)
RU (1) RU2601190C2 (ko)
SG (1) SG11201403440PA (ko)
WO (1) WO2013112061A1 (ko)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103580939B (zh) * 2012-07-30 2018-03-20 腾讯科技(深圳)有限公司 一种基于账号属性的异常消息检测方法及设备
US9251133B2 (en) * 2012-12-12 2016-02-02 International Business Machines Corporation Approximate named-entity extraction
US9026601B1 (en) * 2013-03-12 2015-05-05 Symantec Corporation Systems and methods for validating members of social networking groups
US8837835B1 (en) * 2014-01-20 2014-09-16 Array Technology, LLC Document grouping system
US10037320B2 (en) 2014-06-30 2018-07-31 Microsoft Technology Licensing, Llc Context-aware approach to detection of short irrelevant texts
WO2016070034A1 (en) * 2014-10-31 2016-05-06 Linkedin Corporation Transfer learning for bilingual content classification
CN107229608A (zh) * 2016-03-23 2017-10-03 阿里巴巴集团控股有限公司 垃圾评论识别方法和装置
CN106055664B (zh) * 2016-06-03 2019-03-08 腾讯科技(深圳)有限公司 一种基于用户评论的ugc垃圾内容过滤方法及系统
US11647046B2 (en) * 2018-09-24 2023-05-09 Microsoft Technology Licensing, Llc Fuzzy inclusion based impersonation detection
US11720718B2 (en) 2019-07-31 2023-08-08 Microsoft Technology Licensing, Llc Security certificate identity analysis
US11258741B2 (en) * 2019-08-15 2022-02-22 Rovi Guides, Inc. Systems and methods for automatically identifying spam in social media comments
US11677703B2 (en) 2019-08-15 2023-06-13 Rovi Guides, Inc. Systems and methods for automatically identifying spam in social media comments based on context
US11886586B1 (en) * 2020-03-06 2024-01-30 Trend Micro, Inc. Malware families identification based upon hierarchical clustering
CN111507400B (zh) * 2020-04-16 2023-10-31 腾讯科技(深圳)有限公司 应用分类方法、装置、电子设备以及存储介质
US11882131B1 (en) * 2020-12-31 2024-01-23 Proofpoint, Inc. Systems and methods for prioritizing URL review for sandboxing based on accelerated velocities of URL features in network traffic
CN117032726B (zh) * 2023-10-10 2023-12-22 北京海格神舟通信科技有限公司 一种用于实时绘制频谱图的方法及系统

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100011487A1 (en) 2006-07-24 2010-01-21 Mi Ri Kim Functional belt

Family Cites Families (47)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB9220404D0 (en) 1992-08-20 1992-11-11 Nat Security Agency Method of identifying,retrieving and sorting documents
US5828999A (en) 1996-05-06 1998-10-27 Apple Computer, Inc. Method and system for deriving a large-span semantic language model for large-vocabulary recognition systems
US6732149B1 (en) * 1999-04-09 2004-05-04 International Business Machines Corporation System and method for hindering undesired transmission or receipt of electronic messages
US20040073617A1 (en) * 2000-06-19 2004-04-15 Milliken Walter Clark Hash-based systems and methods for detecting and preventing transmission of unwanted e-mail
US7321922B2 (en) * 2000-08-24 2008-01-22 Yahoo! Inc. Automated solicited message detection
GB2366706B (en) 2000-08-31 2004-11-03 Content Technologies Ltd Monitoring electronic mail messages digests
AUPR033800A0 (en) 2000-09-25 2000-10-19 Telstra R & D Management Pty Ltd A document categorisation system
JP2004534324A (ja) 2001-07-04 2004-11-11 コギズム・インターメディア・アーゲー 索引付きの拡張可能な対話的文書検索システム
US7657935B2 (en) * 2001-08-16 2010-02-02 The Trustees Of Columbia University In The City Of New York System and methods for detecting malicious email transmission
US7870203B2 (en) 2002-03-08 2011-01-11 Mcafee, Inc. Methods and systems for exposing messaging reputation to an end user
US20030204569A1 (en) * 2002-04-29 2003-10-30 Michael R. Andrews Method and apparatus for filtering e-mail infected with a previously unidentified computer virus
JP2004186878A (ja) * 2002-12-02 2004-07-02 Keyware Solutions Inc 侵入検知装置及び侵入検知プログラム
US7533148B2 (en) * 2003-01-09 2009-05-12 Microsoft Corporation Framework to enable integration of anti-spam technologies
US7219148B2 (en) * 2003-03-03 2007-05-15 Microsoft Corporation Feedback loop for spam prevention
US7320020B2 (en) 2003-04-17 2008-01-15 The Go Daddy Group, Inc. Mail server probability spam filter
GB2405229B (en) 2003-08-19 2006-01-11 Sophos Plc Method and apparatus for filtering electronic mail
US7392262B1 (en) 2004-02-11 2008-06-24 Aol Llc Reliability of duplicate document detection algorithms
US8214438B2 (en) 2004-03-01 2012-07-03 Microsoft Corporation (More) advanced spam detection features
US7555523B1 (en) 2004-05-06 2009-06-30 Symantec Corporation Spam discrimination by generalized Ngram analysis of small header fields
US8731986B2 (en) 2004-07-19 2014-05-20 Steve Angelica Modulated cascading electronic messaging network
US7574409B2 (en) 2004-11-04 2009-08-11 Vericept Corporation Method, apparatus, and system for clustering and classification
US20060149820A1 (en) 2005-01-04 2006-07-06 International Business Machines Corporation Detecting spam e-mail using similarity calculations
JP2006293573A (ja) 2005-04-08 2006-10-26 Yaskawa Information Systems Co Ltd 電子メール処理装置および電子メールフィルタリング方法および電子メールフィルタリングプログラム
JP5183483B2 (ja) 2005-12-09 2013-04-17 フラウンホファー‐ゲゼルシャフト・ツア・フェルデルング・デア・アンゲヴァンテン・フォルシュング・エー・ファウ データ列の自動比較に用いられる方法およびその装置
US7529719B2 (en) 2006-03-17 2009-05-05 Microsoft Corporation Document characterization using a tensor space model
US7751620B1 (en) 2007-01-25 2010-07-06 Bitdefender IPR Management Ltd. Image spam filtering systems and methods
US7743003B1 (en) 2007-05-16 2010-06-22 Google Inc. Scaling machine learning using approximate counting that uses feature hashing
US9083556B2 (en) 2007-05-31 2015-07-14 Rpx Clearinghouse Llc System and method for detectng malicious mail from spam zombies
US8229833B2 (en) * 2007-09-28 2012-07-24 International Securities Exchange, Llc Simplified quote sharing calculation
JP5040718B2 (ja) 2008-02-21 2012-10-03 日本電気株式会社 スパム・イベント検出装置及び方法並びにプログラム
US8055078B2 (en) * 2008-02-28 2011-11-08 Yahoo! Inc. Filter for blocking image-based spam
JP2009230663A (ja) 2008-03-25 2009-10-08 Kddi Corp ウェブページの異常検知装置、プログラム、および記録媒体
KR100977180B1 (ko) 2008-04-04 2010-08-23 엔에이치엔(주) 스팸메일을 필터링하기 위한 방법, 시스템 및 컴퓨터 판독가능한 기록 매체
CN100541524C (zh) * 2008-04-17 2009-09-16 上海交通大学 基于内容的互联网动画媒体垃圾信息过滤方法
US8156063B1 (en) 2008-04-21 2012-04-10 Hewlett-Packard Development Company, L.P. Decision making based on changes input to a database
CN101262524A (zh) * 2008-04-23 2008-09-10 沈阳东软软件股份有限公司 垃圾语音过滤的方法及系统
US8001195B1 (en) 2008-08-26 2011-08-16 Kaspersky Lab, Zao Spam identification using an algorithm based on histograms and lexical vectors (one-pass algorithm)
US8295651B2 (en) 2008-09-23 2012-10-23 Microsoft Corporation Coherent phrase model for efficient image near-duplicate retrieval
US20100082749A1 (en) 2008-09-26 2010-04-01 Yahoo! Inc Retrospective spam filtering
CN101415159B (zh) 2008-12-02 2010-06-02 腾讯科技(深圳)有限公司 对垃圾邮件进行拦截的方法和装置
US8718318B2 (en) 2008-12-31 2014-05-06 Sonicwall, Inc. Fingerprint development in image based spam blocking
CN101938711B (zh) 2009-06-30 2015-09-09 国际商业机器公司 用于垃圾消息检测的方法和设备
CN102254146B (zh) * 2010-05-18 2013-04-24 山东新北洋信息技术股份有限公司 磁墨水字符的识别方法、装置及系统
CN103140889B (zh) 2010-09-29 2015-01-07 Nec卡西欧移动通信株式会社 语音转换装置、便携电话终端、语音转换方法
US9450781B2 (en) * 2010-12-09 2016-09-20 Alcatel Lucent Spam reporting and management in a communication network
EP2659363A4 (en) 2010-12-30 2016-06-29 Kyle Kleinbart SYSTEM AND METHOD FOR ONLINE COMMUNICATION MANAGEMENT
US20120215853A1 (en) 2011-02-17 2012-08-23 Microsoft Corporation Managing Unwanted Communications Using Template Generation And Fingerprint Comparison Features

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100011487A1 (en) 2006-07-24 2010-01-21 Mi Ri Kim Functional belt

Also Published As

Publication number Publication date
US10212114B2 (en) 2019-02-19
KR20140115314A (ko) 2014-09-30
SG11201403440PA (en) 2014-09-26
CA2859135C (en) 2019-10-22
IL233057B (en) 2018-01-31
CN104040963A (zh) 2014-09-10
JP2015506642A (ja) 2015-03-02
AU2012367397B2 (en) 2016-09-08
IL233057A0 (en) 2014-07-31
AU2012367397A1 (en) 2014-07-03
WO2013112061A1 (en) 2013-08-01
US20150381539A1 (en) 2015-12-31
CN104040963B (zh) 2017-08-08
US9130778B2 (en) 2015-09-08
EP2807801A1 (en) 2014-12-03
JP5941163B2 (ja) 2016-06-29
RU2601190C2 (ru) 2016-10-27
RU2014133872A (ru) 2016-03-20
US20130191468A1 (en) 2013-07-25
CA2859135A1 (en) 2013-08-01

Similar Documents

Publication Publication Date Title
KR101686144B1 (ko) 문자 스트링들의 주파수 스펙트럼들을 이용한 스팸 검출 시스템 및 방법들
KR101686147B1 (ko) 문자 히스토그램들을 이용한 스팸 검출을 위한 시스템들 및 방법들
US10721268B2 (en) Systems and user interfaces for dynamic and interactive investigation based on automatic clustering of related data in various data structures
CN110431817B (zh) 识别恶意网络设备
US20200389495A1 (en) Secure policy-controlled processing and auditing on regulated data sets
KR101702614B1 (ko) 온라인 사기 검출 동적 점수 합계 시스템 및 방법
US9118704B2 (en) Homoglyph monitoring
CN116738369A (zh) 一种流量数据的分类方法、装置、设备及存储介质
Sheikhalishahi et al. Digital waste sorting: a goal-based, self-learning approach to label spam email campaigns
Dakhare et al. Spam detection using email abstraction

Legal Events

Date Code Title Description
A201 Request for examination
A302 Request for accelerated examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20190814

Year of fee payment: 4