KR20170056556A - 파일 평판 평가 기법 - Google Patents

파일 평판 평가 기법 Download PDF

Info

Publication number
KR20170056556A
KR20170056556A KR1020177007321A KR20177007321A KR20170056556A KR 20170056556 A KR20170056556 A KR 20170056556A KR 1020177007321 A KR1020177007321 A KR 1020177007321A KR 20177007321 A KR20177007321 A KR 20177007321A KR 20170056556 A KR20170056556 A KR 20170056556A
Authority
KR
South Korea
Prior art keywords
file
chunk
reputation
client
evaluation
Prior art date
Application number
KR1020177007321A
Other languages
English (en)
Other versions
KR102351948B1 (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 KR20170056556A publication Critical patent/KR20170056556A/ko
Application granted granted Critical
Publication of KR102351948B1 publication Critical patent/KR102351948B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • 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/1416Event detection, e.g. attack signature detection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/182Distributed file systems
    • G06F17/30194
    • 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/51Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems at application loading time, e.g. accepting, rejecting, starting or inhibiting executable software based on integrity or source reliability
    • 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/56Computer malware detection or handling, e.g. anti-virus arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Virology (AREA)
  • Computing Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Information Transfer Between Computers (AREA)
  • Storage Device Security (AREA)
  • Debugging And Monitoring (AREA)

Abstract

평판 평가를 위한 파일 수집을 위한 하나 이상의 기법 및/또는 시스템이 제공된다. 평판 서비스는 파일을 평가하고 그러한 파일의 평판(예를 들어, 파일이 안전한지 악성인지 여부에 관한 표시)을 클라이언트에게 제공하도록 구성될 수 있다. 평판 서비스가 평판 서비스에 알려지지 않은 파일에 대한 평판 요청을 수신하는 경우(예를 들어, 파일이 평판 서비스에 의해 아직 완전히 수집되지 않은 경우), 그 이후 평판 서비스는 파일이 분할될 수 있는 청크 세트를 식별할 수 있다. 평판 서비스는 다양한 클라이언트로부터 청크들을 획득할 수 있는데, 예컨대, 제 1 클라이언트로부터 제 1 청크를 제 2 클라이언트로부터 제 2 청크를 획득한다. 이러한 청크들은 평가되어 평판을 파일에 할당할 수 있다. 이러한 방식으로, 평판 서비스는 평판 평가를 위해 분산된 방식으로 파일의 부분들을 검색할 수 있다.

Description

파일 평판 평가 기법{FILE REPUTATION EVALUATION}
많은 애플리케이션 및 서비스가 컴퓨팅 장치에 대한 보안을 제공한다. 일 예에서, 안티바이러스 서비스와 같은 보안 서비스는 컴퓨터를 스캐닝하여 바이러스, 멀웨어, 악성 코드 등을 가진 '감염된(infected)' 파일을 식별할 수 있다. 보안 서비스는 그러한 파일을 식별(identify), 분리(isolate), 및/또는 제거(remove)할 수 있다. 그러한 파일로부터 다른 컴퓨팅 장치를 보호하기 위한 노력으로 보안 서비스는 그러한 파일에 관한 정보를 보급(disseminate)할 수도 있다.
본 요약은 아래의 상세한 설명에서 더 설명되는 개념들 중 일부를 간략화된 형태로 소개하고자 제공된다. 본 요약은 특허청구되는 대상의 중요한 요인 및 필수적인 특징을 식별하고자 하는 것도 아니고, 특허청구되는 대상의 범위를 제한하는데 사용되고자 하는 것도 아니다.
무엇보다도, 본원에서는 평판 평가(reputation evaluation)를 위한 파일 수집(acquisition)을 위한 하나 이상의 시스템 및/또는 기법이 제공된다. 평판 서비스는, 클라이언트들로부터 평판 요청을 수신하도록 구성될 수 있고, 그러한 클라이언트들에게 알려진 파일에 관한 평판을 반환할 수 있다. 클라이언트가 파일이 평판 서비스에 알려지지 않은 평판을 요청하는 경우, 평판 서비스는 파일이 수집되고 평판 서비스에 의해 평가될 때까지 평판을 반환할 수 없을 것이다. 파일이 상대적으로 클 때, 단일 클라이언트로부터 전체 파일을 획득하는 것은 리소스(예를 들어, 대역폭)에 부담을 줄 수 있고/있거나 아니면 비효율성을 발생시킬 수도 있다. 따라서, 본원에 제공되는 바와 같이, 평판 서비스는 분산 방식으로 복수의 클라이언트(예를 들어, 정해진 사용자 동의)로부터 파일의 부분들을 획득할 수 있다. 일 예에서, 사용자는 그러한 파일들에 관한 평판 평가의 목적으로, 클라이언트 장치와 연관된 파일들 및/또는 파일들의 청크들을 수집하도록(acquisition) 허용하는 사전 동의(opt-in consent)를 제공하는 긍정 동작(예를 들어, 사용자는 그러한 파일 관련 데이터의 수집 및/또는 사용에 대한 프롬프트에 응답함)을 행할 수 있다.
일 예에서, 평판 요청이 제 1 사용자로부터 수신될 수 있다. 평판 요청은 파일의 제 1 파일 식별자(예를 들어, 태블릿 장치 클라이언트와 같은 제 1 클라이언트에 의해 다운로드된 비디오게임 애플리케이션과 연관된 비디오게임 파일의 해시)를 포함할 수 있다. 제 1 파일 식별자가 파일의 평판에 대응한다는 것에 응답하여, 평판은 제 1 클라이언트에게 제공될 수 있다. 파일이 알려지지 않았다는 판정에 응답하여(예를 들어, 파일 식별자가 파일 평판 데이터 구조 내의 평판과 매칭되지 않음), 파일이 분할될 수 있는 청크 세트가 식별될 수 있다(예를 들어, 평판 서비스는 아직 클라이언트들로부터 그러한 청크들을 획득하지 않았을 수 있기 때문에 청크 세트가 처음에는 청크들에 대해 청크 식별자와 같은 플레이스홀더(placeholder)를 포함할 수 있다). 파일의 제 1 청크는 제 1 클라이언트로부터 검색될 수 있다. 파일의 하나 이상의 추가 청크는 다른 클라이언트들로부터 검색될 수 있는데, 예컨대, (예를 들어, 제 2 클라이언트가 파일의 평판을 요청한 것에 응답하여) 제 2 청크가 제 2 클라이언트로부터 검색된다. 제 1 청크, 제 2 청크, 및/또는 다른 청크들은 평가되어 파일에 평판(예를 들어, 파일의 악성 또는 비-악성의 정도)을 할당할 수 있다. 평판 서비스는 제 1 클라이언트 및/또는 다른 클라이언트들에게 평판을 제공할 수도 있다. 이러한 방법에서, 평판 서비스는 복수의 클라이언트로부터 분산된 방식으로 파일의 청크를 수집할 수 있고, 파일을 평가하고 평판을 제공하기 위해 청크들로부터 그러한 파일을 재구성할 수 있다.
전술된 목적 및 관련 목적을 달성하기 위해, 이어지는 설명 및 첨부 도면은 특정 예시적인 양태 및 구현예를 개시한다. 이들은 하나 이상의 양태들이 이용될 수 있는 다양한 방식 중 몇 개의 방식을 나타낸다. 본 개시물에 관한 다른 양태, 이점, 및 발명적 특징이 첨부된 도면과 함께 고려될 때 다음의 상세한 설명으로부터 명백해질 것이다.
도 1은 평판 평가를 위한 파일 수집에 관한 예시적인 방법을 도시하는 흐름도이다.
도 2a는 평판 요청이 수신되는 평판 평가를 위한 파일 수집을 위한 예시적인 시스템을 도시하는 컴포넌트 블록도이다.
도 2b는 파일의 청크가 수신되는 평판 평가를 위한 파일 수집을 위한 예시적인 시스템을 도시하는 컴포넌트 블록도이다.
도 2c는 평판 요청이 수신되는 평판 평가를 위한 파일 수집을 위한 예시적인 시스템을 도시하는 컴포넌트 블록도이다.
도 2d는 파일의 청크가 수신되는 평판 평가를 위한 파일 수집을 위한 예시적인 시스템을 도시하는 컴포넌트 블록도이다.
도 2e는 하나 이상의 추후 수집 요청이 하나 이상의 클라이언트에게 송신되는 평판 평가를 위한 파일 수집을 위한 예시적인 시스템을 도시하는 컴포넌트 블록도이다.
도 2f는 하나 이상의 전송 개시가 수신되는 평판 평가를 위한 파일 수집을 위한 예시적인 시스템을 도시하는 컴포넌트 블록도이다.
도 2g는 전송 개시가 수신되는 평판 평가를 위한 파일 수집을 위한 예시적인 시스템을 도시하는 컴포넌트 블록도이다.
도 2h는 파일의 평판이 하나 이상의 클라이언트에 제공되는 평판 평가를 위한 파일 수집을 위한 예시적인 시스템을 도시하는 컴포넌트 블록도이다.
도 3은 평판 평가를 가능하게 하는 예시적인 방법을 도시하는 흐름도이다.
도 4는 데이터 수집에 관한 예시적인 방법을 도시하는 흐름도이다.
도 5는 본원에 개시된 조항 중 하나 이상의 조항을 구현하도록 구성된 프로세서 실행가능 명령어가 포함될 수 있는 예시적인 컴퓨터 판독가능 매체를 도시한다.
도 6은 본원에 개시된 조항 중 하나 이상의 조항이 구현될 수 있는 예시적인 컴퓨팅 환경을 도시한다.
특허청구되는 대상이 이제 도면을 참조하여 설명되며, 유사한 참조 부호는 전체적으로 유사한 요소를 지칭하는데 일반적으로 사용된다. 이어지는 설명에서, 여러 특정 세부사항은 특허청구되는 대상에 관한 이해를 제공하기 위해 설명된다. 그러나, 특허청구되는 대상이 이러한 특정 세부사항 없이도 행해질 수 있다는 것이 명백할 것이다. 다른 예들에서, 구조 및 장치는 특허청구되는 대상에 관한 설명을 용이하게 하기 위해 블록도 형태로 예시된다.
본원에서 평판 평가를 위한 파일 수집을 위한 하나 이상의 기법 및/또는 시스템이 제공된다. 평판 서비스는 파일의 평판(예를 들어, 애플리케이션, 문서, 비디오게임, 비디오, 사진 등에 관한 평판), 예컨대, 악성(maliciousness) 또는 비-악성의 정도를 클라이언트에게 제공하도록 구성될 수 있다. 평판 서비스는 인터넷 소스로부터 파일을 발견하고 획득함으로써 평판 평가를 위한 새로운 파일을 발견할 수 있다. 그러나, 일부 파일들은 평판 서비스에 알려지지 않은 인증 크리덴셜 뒤에 저장되기 때문에 및/또는 평판 서비스에 알려지지 않은 URL을 갖는 소스에 의해 호스팅(예를 들어, 개인 랩톱 상의 파일)되기 때문에 이용가능하지 않을 수도 있다. 따라서, 평판 서비스는 새로운 파일에 대한 평판 요청을 수신하는 것에 기초하여(예를 들어, 평판 서버가 이전에 마주쳤던 파일의 파일 식별자, 예컨대, SHA256 해시를 포함하는 파일 평한 요청을 수신하는 것에 기초하여) 평판 서비스에 알려지지 않은 새로운 파일을 식별할 수 있다. 평판 서비스는 새로운 파일이 분할될 수 있는 청크 세트를 식별할 수 있다(예를 들어, 새로운 파일이 비교적 커서 단일 클라이언트로부터 획득하기 어려울 수 있음). 평판 서비스는 분산 방식으로(예를 들어, 평판 서비스와 같은 단일 소스에 복수의 클라이언트가 파일의 부분들을 제공하는 분산형 업로드 구성에 따라) 복수의 클라이언트로부터(예를 들어, 정해진 사용자 동의를 고려하여) 새로운 파일의 청크들을 획득할 수 있다. 일 예에서, 사용자는 그러한 파일들에 관한 평판 평가의 목적으로, 클라이언트 장치와 연관된 파일들 및/또는 파일들의 청크들을 수집하도록(acquisition) 허용하는 사전 동의(opt-in consent)를 제공하는 긍정 동작(예를 들어, 사용자는 그러한 파일 관련 데이터의 수집 및/또는 사용에 대한 프롬프트에 응답함)을 행할 수 있다. 평판 서비스는 청크들로부터 새로운 파일을 재구성하고, 새로운 파일에 평판을 할당할 수 있다(예를 들어, 새로운 파일의 식별자를 검증한(예를 들어, 새로운 파일의 SHA256 해시를 검증) 이후). 이러한 방식으로, 평판 서비스는 분산 방식으로 복수의 클라이언트로부터 파일들을 획득할 수 있다.
평판 평가를 위한 파일 수집에 관한 실시예가 도 1의 예시적인 방법(100)으로 예시된다. 이 방법은 102에서 시작한다. 104에서, 평판 요청이 제 1 클라이언트로부터 수신될 수 있다. 평판 요청은 파일의 파일 식별자를 포함할 수 있다. 예를 들어, 사용자 Dave와 연관된, 비디오게임 콘솔 클라이언트는 인터넷 소스로부터 레이싱 비디오게임을 다운로드할 수 있다. 레이싱 비디오게임과 연관된 레이싱 비디오게임 파일의 해시는 파일 식별자로서 생성될 수 있다. 레이싱 비디오게임 파일이 안전한지 악성인지 여부를 판정하고자 시도할 때, 평판 요청은 비디오게임 콘솔 클라이언트로부터 평판 서비스로 송신될 수 있다.
평판 서비스는 파일에 대한 평판이 존재하는지 여부를 판정하기 위해 파일 식별자를 사용하여 파일 평판 데이터 구조를 질의(query)할 수 있다. 일반적으로 임의의 파일은 고유 식별자, 예컨대, 임의의 컴퓨팅 장치 상에서 보편적으로 계산가능한 간편 식별자(compact identifier)(예를 들어, SHA256 해시)에 의해 식별될 수 있다는 것이 이해되어야 한다. 106에서, 파일 식별자가 파일에 대한 평판에 대응한다는 것에 응답하여, 평판이 제 1 클라이언트에게 제공될 수 있다(예를 들어, 파일 식별자에 대응하는 파일 평판 데이터 구조 내의 엔트리가 있음). 108에서, 파일이 알려지지 않은 것이라고 판정하는 것에 응답하여, 분할된 파일의 청크 세트가 110에서 식별될 수 있다(예를 들어, 평판 서비스는 아직 클라이언트들로부터 그러한 청크들을 획득하지 않았을 수 있기 때문에 청크 세트가 처음에는 청크들에 대해 청크 식별자와 같은 플레이스홀더(placeholder)를 포함할 수 있다). 일 예에서, 레이싱 비디오게임 파일은 4GB의 데이터를 포함할 수 있고, 이에 따라 레이싱 비디오 게임 파일이 분할될 수 있는 청크 세트로서 100개의 4MB 청크가 식별될 수 있다(예를 들어, 청크 크기는, 파일을 포함할 수 있는 클라이언트들의 잠재적 개수, 그러한 클라이언트들의 대역폭, 클라이언트의 데이터 계획 유형, 클라이언트가 wifi에 접속되는지 여부, 및/또는 다양한 기타 고려사항과 같은 다양한 기준에 기초하여 설정될 수 있음). 다른 예에서, 청크 세트는 하나 이상의 중첩 청크들을 나타낼 수 있다(예를 들어, 제 1 청크는 제 2 청크에 대한 중첩 파일 데이터를 포함할 수 있음). 청크 세트를 식별하는 일 예에서, 분포 곡선이 청크 세트에 기초하여 생성될 수 있다. 분포 곡선은 클라이언트들로부터 검색될 청크들의 분포를 나타낼 수 있다. 예를 들어, 분포는 무작위 분포(a random distribution), 순차 분포(a sequential distribution), 순서화된 분포(an ordered distribution), 중첩 분포(an overlapping distribution), 순서화된 중첩 분포(an ordered overlapping distribution), 우선순위 분포(a prioritization distribution)(예를 들어, 코드 세그먼트와 같은 청크들의 우선순위화 및/또는 그러한 청크들을 획득하기 위한 순서), 또는 임의의 타입의 분포를 포함할 수 있다.
일 예에서, 검색 우선순위가 청크 세트 내의 각각의 청크들에 할당될 수 있다. 예를 들어, 제 1 검색 우선순위는 제 1 청크에 할당될 수 있고 제 2 검색 우선순위는 제 2 청크에 할당될 수 있다. 제 1 검색 우선순위는, 제 1 청크가 제 2 청크보다 큰 평판 평가 적합성(relevancy)을 갖는다는 판정에 기초하여 제 2 검색 우선순위보다 높을 수 있다(예를 들어, 제 1 청크는 악성을 표시하는 실행가능 파일의 데이터 또는 코드 세그먼트에 대응하는 반면 제 2 청크는 악성 파일 및 양성(benign) 파일 모두에 걸쳐 공통인 데이터 또는 코드 세그먼트를 포함할 수 있음). 일 예에서, 표시자(indicators)가 청크 세트 내의 각각의 청크들에 할당될 수 있다. 청크가 클라이언트로부터 평판 서비스에 의해 수신된 경우, 그 이후 수신된 청크에 대한 표시자는 획득된 상태로 설정될 수 있다. 청크의 복수의 복사본이 상이한 클라이언트들로부터 검색되는 경우, 그 이후 표시자는 청크의 사본이 수신되었음을 표시하도록 증가되거나, 감소되거나, 수정될 수 있다. 일 예에서, 청크 식별자(예를 들어, 해시)는 청크 세트 내의 각각의 청크에 대해 생성될 수도 있다. 일 예에서, 복수의 파일은 단일 청크와 연관될 수 있고(예를 들어, I/O 라이브러리와 같은 빌트인 라이브러리가 복수의 파일에 걸쳐 공유될 수 있음), 이에 따라 청크 식별자는 그러한 파일들에 걸쳐 청크를 추적하도록(예를 들어, 청크를 공유하는 것으로 알려진 파일의 위치로부터 청크가 효율적으로 식별되고/되거나 획득될 수 있도록) 사용될 수 있다.
112에서, 파일의 제 1 청크는 제 1 클라이언트로부터 검색될 수 있다. 일 예에서, 제 1 클라이언트의 동작 상황(operating context)(예를 들어, 이동 장치 클라이언트가 와이파이 네트워크에 접속되어 있거나, 충전중이거나, 휴지 상태(idel state) 등일 수 있음)이 식별될 수 있다. 제 1 클라이언트로부터의 제 1 청크의 수집은 업로드 정책에 대응하는 동작 상황에 기초하여 스케줄링될(예를 들어, 트리거됨) 수 있다(예를 들어, 제 1 클라이언트가 네트워크에 접속하지만 동작 활동이 거의 또는 전혀 실행되지 않는 경우, 예컨대, 와이파이 네트워크 접속 업로드 정책에 기초하여 제 1 청크가 제 1 클라이언트로부터 수집될 수 있다). 일 예에서, 제 1 청크는 제 1 청크에 대한 중복 검색(redundant retrieval)을 나타내는 중첩 분포에 기초하여 하나 이상의 추가 클라이언트로부터 검색될 수 있다. 일 예에서, 제 1 클라이언트로부터의 제 1 청크는 다른 클라이언트로부터의 제 1 청크의 제 2 인스턴스와 비교되어, 제 1 클라이언트로부터의 제 1 청크가 비-조작 상태(non-tampered state)에서 수신되는지를 검증할 수 있다. 114에서, 파일의 제 2 청크는 제 2 클라이언트로부터 검색될 수 있다(예를 들어, 사용자 Mary와 연관된 랩톱 장치가 레이싱 비디오게임 파일 또는 제 2 청크에 대한 청크 식별자와 연관될 수 있는 임의의 다른 파일에 대한 파일 식별자를 포함하는 평판 요청을 송신할 수 있고, 평판 요청은 랩톱 장치로부터의 제 2 청크에 대한 요청을 야기할 수 있다).
일 예에서, 청크 세트 내의 하나 이상의 추가 청크가 다양한 클라이언트로부터 수집될 수 있다. 일 예에서, 파일의 파일 레이아웃이 결정될 수 있다. 분포 및 우선순위 알고리즘은 (예를 들어, 긴급성, 다수의 비교기, 완전성을 위한 "최선의 노력", 페치할 다수의 클라이언트 등에 기초하여) 클라이언트로부터 획득할 코드 세그먼트와 같은 청크들을 우선순위화하는데 사용될 수 있다. 일 예에서, 파일의 제 3 청크의 추후 수집은 제 1 클라이언트, 제 2 클라이언트, 및/또는 다른 클라이언트(예를 들어, 수집 임계치를 초과하는 제 3 청크를 소유할 확률을 가진 클라이언트)로부터 스케줄링될 수 있다. 일 예에서, 파일의 청크의 전송 개시는 클라이언트로부터 수신될 수 있다(예를 들어, 클라이언트는 전송 개시를 무작위로 송신할 수 있다). 청크가 평판 서비스에 의해 이전에 검색되었다는 것에 응답하여(예를 들어, 임계 개수의 청크 사본이 평판 서비스에 의해 수집되었을 수 있음), 청크의 전송이 취소될 수 있으며, 이는 불필요한 대역폭 이용을 완화한다. 청크 또는 임계 개수의 청크 사본이 아직 검색되지 않았다는 판정에 응답하여, 청크의 전송이 수락될 수 있다. 일 예에서, 청크는 평가되어 파일의 평판을 결정 및/또는 업데이트할 수 있다.
제 1 클라이언트로부터의 평판 요청을 프로세싱하는 일 예에서, 파일은 알려진 것으로 판정될 수 있지만 파일의 모든 청크보다 적은 청크가 평판 서비스에 이용가능하다. 평판 서비스에 이용가능하지 않은 청크가 제 1 클라이언트로부터 검색될 수 있다. 이러한 방식으로, 파일의 하나 이상의 청크가 분산된 방식에 따라 다양한 클라이언트로부터 검색될 수 있다. 116에서, 제 1 청크, 제 2 청크, 및/또는 다른 청크들이 평가되어 평판을 파일에 할당할 수 있다. 평판은 제 1 클라이언트 및/또는 평판이 결정가능하게 된 이후에(예를 들어, 임계 개수의 청크가 평가를 위해 이용가능할 때) 평판 서비스에 액세스하는 후속 클라이언트와 같은 다른 클라이언트들에게 제공될 수 있다. 일 예에서, 평판은 사전 계산가능할 수도 있고 또는 파일에 대한 다양한 평판 정보에 기초하여 즉시 동적으로 생성될 수도 있다. 118에서 방법이 종료된다.
도 2a 내지 도 2h는 평판 평가를 위한 파일 수집을 위한 시스템(201)에 관한 예를 도시한다. 도 2a는 평판 서비스(202)를 포함하는 시스템(201)에 관한 일 예(200)이다. 평판 서비스(202)는 제 1 클라이언트(210), 제 2 클라이언트(212), 제 3 클라이언트(214)와 같은 클라이언트들, 및/또는 클라이언트(216)와 같은 다른 클라이언트에게 파일에 대한 평판을 제공하도록 구성될 수 있다. 평판은, 예를 들어, 파일의 악성 또는 비-악성의 정도를 표시한다. 일 예에서, 평판 요청(206)이 제 1 클라이언트(210)(예를 들어, 사용자 Dave가 소유한 스마트폰과 같은 제 1 클라이언트(210)는 앱 다운로드 소스로부터 다운로드된 레스토랑 앱에 대응하는 파일(X)을 포함할 수 있음)로부터 수신될 수 있다. 평판 요청(206)은 파일(X)에 대한 파일 식별자(208)를 포함할 수 있다. 평판 서비스(202)는 파일(X)에 대한 평판이 알려져있는지 판정하기 위해 제 1 식별자(208)를 사용하여 파일 평판 데이터 구조(204)를 질의하도록 구성될 수 있다. 파일(X)이 평판 서비스(202)에 알려져 있지 않고 평판을 갖지 않을 수도 있기 때문에, 파일(X)이 분할될 수 있는 청크 세트(218)가 식별될 수도 있다(예를 들어, 청크 세트(218)는 평판 서비스(202)가 아직 클라이언트들로부터 청크들을 획득하지 않았기 때문에 그러한 청크들에 대해 플레이스홀더, 예컨대, 청크 식별자를 초기에 포함할 수도 있다). 예를 들어, 청크 세트(218)는 청크(A)에 대한 청크(A) 식별자, 청크(B)에 대한 청크(B) 식별자, 청크(C)에 대한 청크(C) 식별자, 청크(D)에 대한 청크(D) 식별자, 청크(E)에 대한 청크(E) 식별자, 청크(F)에 대한 청크(F) 식별자, 및/또는 청크에 관한 다른 청크 식별자(예를 들어, 해시)를 포함할 수 있다.
도 2b는 분포 곡선(221)을 생성하고 및/또는 청크 세트(218)를 정렬하여 순서화된 청크 세트(218a)를 생성하는 일 예(220)를 도시한다. 일 예에서, 평판 서비스(202)는 청크 세트(218)에 기초하여 분포 곡선(221)(예를 들어, 다양한 클라이언트로부터 청크를 획득하기 위한 스킴)을 생성할 수 있다. 분포 곡선(221)은 클라이언트들로부터 검색될 청크들의 분포를 나타낼 수 있다. 일 예에서, 분포 곡선(221)은 청크들을 획득하는 순서를 나타낼 수 있다(예를 들어, 상대적으로 더 높은 평판 평가 적합성을 갖는 청크는 다른 청크들보다 높게 순서화/랭킹될 수 있다). 예를 들어, 청크(C)는 첫 번째 검색으로 순서화되고, 청크(F)는 두 번째 검색으로 순서화되고, 청크(E)는 세 번째 검색으로 순서화될 수 있다. 일 예에서, 청크(C)(222)는 제 1 클라이언트(210)로부터 검색될 수 있다. 청크(C) 표시자(224)는 평판 서비스(202)가 청크(C)(222)를 수집하는 것에 기초하여 수집된 상태로 설정될 수 있다.
도 2c는 평판 서비스(202)가 제 3 클라이언트(214)로부터 평판 요청(232)을 수신하는 일 예(230)를 도시한다. 평판 서비스(232)는 파일(X)에 대한 파일 식별자(208)를 포함할 수 있다(예를 들어, Jill이 소유한 태블릿 장치와 같은 제 3 클라이언트(214)는 앱 다운로드 소스로부터 다운로드된 레스토랑 앱에 대응하는 파일(X)를 포함할 수 있음). 평판 서비스(202)는 파일(X)에 대한 평판이 알려져 있는지 여부를 판정하기 위해 파일 식별자(208)를 사용하여 파일 평판 데이터 구조(204)를 질의하도록 구성될 수 있다. 평판 서비스(202)는 파일(X)이 알려져 있는지, 아직 평판을 갖지 않는지, 그리고 파일(X)에 대한 모든 청크보다 적은 청크가 이용가능한지 판정할 수 있다. 따라서, 도 2d의 예(240)에 도시된 바와 같이, 평판 서비스(202)는 제 3 클라이언트(214)로부터 청크(F)(242)를 획득할 수 있다. 일 예에서, 제 3 클라이언트(214)는 낮은 활동 상태 동안(예를 들어, 테이블 장치가 와이파이에 접속되는 동안, 충전 중인 동안, 및/또는 청크(F)(242)를 평판 서비스(202)에 전송하도록 이용가능한 컴퓨팅 리소스를 갖는 동안) 청크(F)(242)를 송신할 수 있다. 청크(F) 표시자(244)는 평판 서비스(202)가 청크(F)(242)를 수집한 것에 기초하여 수집된 상태로 설정될 수 있다.
도 2e는 파일(X)의 청크들의 추후 수집을 스케줄링하는 것에 관한 일 예(250)를 도시한다. 평판 서비스(202)는 순서화된 청크 세트(218a)를 평가하여 파일(X)의 하나 이상의 이용가능하지 않은 청크들, 예컨대, 청크(E), 청크(D), 청크(B), 청크(A) 등(예를 들어, 평판 서비스(202)에 의해 아직 수집되지 않은 청크들)을 식별할 수 있다. 평판 서비스(202)는 하나 이상의 이용가능하지 않은 청크에 대해 제 1 클라이언트(210)와의 추후 수집(252) 및 제 2 클라이언트(212)와의 추후 수집(254)을 스케줄링할 수 있다.
도 2f는 평판 서비스(202)가 클라이언트들로부터 하나 이상의 전송 개시를 수신하는 것에 관한 일 예(260)를 도시한다. 제 1 클라이언트(210)는 청크(F)에 관한 제 1 전송 개시(262)를 평판 서비스(202)에 송신할 수 있다. 평판 서비스(202)가 청크(F)는 이전에 검색되었다고 판정하는 것(예를 들어, 평판 서비스(202)는 청크(F) 표시자(244)를 수집 상태로 설정하도록 결정할 수 있음)에 응답하여, 평판 서비스(202)는 청크(F)의 전송을 취소(266)할 수 있다. 제 2 클라이언트(212)는 청크(E)에 관한 전송 개시를 평판 서비스(202)에 송신할 수 있다. 평판 서비스(202)가 청크(E)는 아직 검색되지 않았다고 판정하는 것에 응답하여, 평판 서비스(202)는 청크(E)의 전송을 수락할 수 있다. 청크(E) 표시자(268)는 평판 서비스(202)가 청크(E)를 수집하는 것에 기초하여 수집된 상태로 설정될 수 있다. 예를 들어, 수집된 상태는 청크(E)의 2개의 인스턴스 중 1개가 획득되었다고 표시할 수도 있다(예를 들어, 분포 곡선(221)이 청크(E)의 2개의 인스턴스가 2개의 상이한 클라이언트로부터 획득된 것이라고 나타낼 수 있다).
도 2g는 평판 서비스(202)가 청크(E)의 제 2 인스턴스의 전송(272)을 수락하는 것에 관한 일 예(270)를 도시한다. 예를 들어, 분포 곡선(221)은, 예컨대, 검증 목적을 위해, 청크(E)에 대한 중복 검색을 나타내는 중첩 분포를 포함할 수도 있다. 따라서, 평판 서비스(202)는 순서화된 청크 세트(218a)를 평가하여 청크(E)의 2개의 인스턴스 중 1개가 검색되었다는 것을 판정(예를 들어, 도 2f의 예(260))할 수 있다. 이러한 방법에서, 평판 서비스(202)는 청크(E)의 제 2 인스턴스의 전송(272)을 수락할 수 있다. 청크(E) 표시자(268)는 업데이트되어 수집된 상태가 청크(E)의 2개의 인스턴스 중 2개가 획득되었다고 표시할 수 있다.
도 2h는 평판 서비스(202)가 파일(X)의 청크들을 표시하는 임계 개수의 평판을 수집하는 것에 관한 일 예(280)를 도시한다. 예를 들어, 청크(C), 청크(F), 청크(E)의 2개의 인스턴스, 및 청크(D)는 다양한 클라이언트들로부터 획득되었을 수 있다. 평판 서비스(202)는 청크(B) 및 청크(A)를 아직 검색하지 않았을 수 있다. 그러나, 청크(B) 및 청크(A)는 파일(X)의 평판에 관한 상대적으로 낮은 표시를 제공할 수도 있다. 따라서, 평판 서비스(202)는 파일(X)의 청크를 표시하는 임계 개수의 평판이 수집되었다고 판정할 수 있고(예를 들어, 청크(C), 청크(F), 청크(E)의 2개의 인스턴스, 및 청크(D)), 따라서 그러한 청크들을 평가하여 파일(X)에 83% 안전인 평판(282)을 할당할 수 있다. 평판(282)은 제 1 클라이언트(210) 및/또는 다른 클라이언트에 제공(284)될 수 있다.
도 3의 예시적인 방법에 의해 평판 평가를 가능하게 하는 일 실시예가 도시된다. 302에서, 방법이 시작된다. 304에서, 클라이언트와 연관된 파일에 대한 파일 식별자가 생성된다. 예를 들어, 클라이언트 장치는 소셜 네트워크 애플리케이션과 연관된 소셜 네트워크 파일을 획득할 수 있다. 클라이언트 장치는 소셜 네트워크 파일에 대해 해시와 같은 소셜 네트워크 파일 식별자를 생성할 수 있다. 306에서, 평판 요청이 (예를 들어, 클라이언트 장치로부터) 평판 서비스로 송신될 수 있다. 평판 요청은 파일 식별자를 포함할 수 있다. 파일에 대한 평판이 알려지지 않은 것이라는 표시가 평판 서비스로부터 수신될 수 있다. 308에서, 파일의 제 1 청크에 대한 요청이 평판 서비스로부터 수신될 수 있다(예를 들어, 소셜 네트워크 파일의 4mb 청크). 310에서, 평판 평가를 위한 제 1 청크가 평판 서비스에 제공될 수 있다.
일 예에서, 제 2 청크는 클라이언트의 낮은 활동 기간(예를 들어, 클라이언트 장치가 와이파이 네트워크에 접속될 수 있고 소셜 네트워크 파일의 4mb의 제 2 청크를 송신하기 위한 이용가능 대역폭을 가질 수 있음)에 기초하여 평판 평가를 위해 평판 서비스에 제공될 수 있다. 다른 예에서, 추후 수집 요청이 평판 서비스로부터 수신될 수 있다. 추후 수집 요청은 수집 기간(time span) 내에 클라이언트로부터 파일의 제 3 청크를 요청할 수 있다(예를 들어, 추후 수집 요청은 5일 내에 만료될 수 있음). 제 3 청크는 수집 기간 내에 평판 서비스에 제공될 수 있다.
파일에 대한 평판은 평판 서비스로부터 수신될 수 있다. 평판은 제 1 클라이언트로부터의 제 1 청크 및 다른 클라이언트들로부터 평판 서비스에 의해 획득된 하나 이상의 청크의 평가에 기초할 수 있다. 312에서, 방법은 종료된다.
데이터 수집에 관한 일 실시예가 도 4의 예시적인 방법(400)으로 도시된다. 방법은 402에서 시작한다. 데이터는, 예컨대, 분산형 업로드 프로세스에 따라 복수의 클라이언트로부터 분산 방식으로 수집될 수 있다. 404에서, 데이터(예를 들어, 진단 목적을 위해 사용된 이벤트 로그 집합, 복수의 클라이언트 사이에서 공통일 수 있는 크래시(crash) 정보를 평가하는데 사용된 크래시 덤프 데이터 등)가 분할될 수 있는 청크 세트가 식별될 수 있다. 406에서, 데이터의 제 1 청크는 제 1 클라이언트로부터 수신된다(예를 들어, 제 1 클라이언트는 크래시가 발생했음을 표시할 수 있고, 이에 따라 크래시와 관련된 크래시 덤프 정보의 제 1 부분을 업로드할 수 있다). 408에서, 데이터의 제 2 청크가 제 2 클라이언트로부터 검색될 수 있다(예를 들어, 제 2 클라이언트는 제 1 클라이언트의 크래시와 유사한 크래시가 발생했음을 표시할 수 있고, 이에 따라 크래시와 관련된 크래시 덤프 정보의 제 2 부분을 업로드할 수 있다). 410에서, 제 1 청크, 제 2 청크, 및/또는 하나 이상의 다른 클라이언트로부터 획득된 다른 청크들이 평가되어 해당 데이터를 평가할 수 있다(예를 들어, 크래시 덤프 정보의 청크는 조합될 수 있고 평가되어 제 1 클라이언트 및 제 2 클라이언트의 크래시의 원인을 식별할 수 있다). 412에서, 방법은 종료된다.
또 다른 실시예는 본원에 제시된 기법들 중 하나 이상의 기법을 구현하도록 구성된 프로세서 실행가능 명령어를 포함하는 컴퓨터 판독가능 매체를 포함한다. 컴퓨터 판독가능 매체 또는 컴퓨터 판독가능 장치에 관한 예시적인 실시예가 도 5에 도시되며, 여기서 구현예(500)는 컴퓨터 판독가능 데이터(506)가 인코딩되는 컴퓨터 판독가능 매체(508), 예컨대, CD-R, DVD-R, 플래시 드라이브, 하드 디스크 드라이브의 플래터(platter) 등을 포함한다. 0 또는 1 중 적어도 하나를 포함하는 이진 데이터와 같은 이러한 컴퓨터 판독가능 데이터(506)는 본원에 개시된 원리들 중 하나 이상에 따라 동작하도록 구성된 컴퓨터 명령어 세트(504)를 결과적으로 포함한다. 일부 실시예들에서, 프로세서 실행가능 컴퓨터 명령어(504)는, 예를 들어, 도 1의 예시적인 방법(100)의 적어도 일부, 도 3의 예시적인 방법(300)의 적어도 일부, 및/또는 도 4의 예시적인 방법(400)의 적어도 일부와 같은 방법(502)을 수행하도록 구성된다. 일부 실시예들에서, 프로세서 실행가능 명령어(504)는, 예를 들어, 도 2a 내지 도 2h의 예시적인 시스템(201)의 적어도 일부와 같은 시스템을 구현하도록 구성된다. 본원에 나타낸 기법들에 따라 동작하도록 구성되는 많은 그러한 컴퓨터 판독가능 매체는 본 기술분야의 당업자에 의해 고안된다.
특허청구항의 대상이 구조적 특징 및/또는 방법적 동작에 특정한 언어로 설명되었지만, 첨부된 특허청구범위 내에 정의된 대상은 전술된 특정한 특징 또는 동작으로 반드시 제한되는 것이 아님이 이해되어야 한다. 오히려, 전술된 특정한 특징 또는 동작은 특허청구범위의 적어도 일부를 구현하는 예시적인 형태로 개시된다.
본 출원서에 사용된 바와 같이, 용어 "컴포넌트", "모듈", "시스템", "인터페이스" 등은 컴퓨터 관련 엔티티, 즉 하드웨어, 하드웨어와 소프트웨어의 조합, 소프트웨어, 또는 실행시의 소프트웨어를 일반적으로 지칭하고자 한다. 예를 들어, 컴포넌트는, 프로세서 상에서 작동하는 프로세스, 프로세서, 객체, 실행어, 실행 스레드, 프로그램, 및/또는 컴퓨터일 수 있으나 이로 제한되지는 않는다. 예로써, 컨트롤러에 상에서 작동하는 애플리케이션 및 컨트롤러 둘 모두가 컴포넌트일 수도 있다. 하나 이상의 컴포넌트는 프로세스 및/또는 실행 스레드 내에 상주할 수 있고 컴포넌트는 하나의 컴퓨터 상에서 국부적이고/이거나 2개 이상의 컴퓨터 사이에 분산될 수도 있다.
더욱이, 특허청구되는 대상은 컴퓨터를 컨트롤하여 개시된 특허청구대상을 구현하기 위한 소프트웨어, 펌웨어, 하드웨어, 또는 이들의 임의의 조합을 생산하는 표준 프로그래밍 및/또는 엔지니어링 기법을 사용하여 방법, 장치 및/또는 제조 물품으로 구현될 수 있다. 본원에서 사용되는 바와 같은 용어 "제조 물품"은 임의의 컴퓨터 판독가능 장치, 반송파, 또는 매체로부터 액세스 가능한 컴퓨터 프로그램을 포함하고자 한다. 물론, 많은 수정이 특허청구되는 대상의 범위 또는 정신을 벗어나지 않으면서 그러한 구성에 행해질 수도 있다.
도 6 및 이어지는 설명은 본원에 개시된 조항들 중 하나 이상에 관한 실시예들을 구현하기에 적합한 컴퓨팅 환경에 관한 간략하고 일반적인 설명을 제공한다. 도 6의 동작 환경은, 단지 적합한 동작 환경에 관한 예일 뿐이며 동작 환경의 사용 또는 기능의 범주에 관한 임의의 제한을 제공하고자 하는 것이 아니다. 예의 컴퓨팅 장치는, 퍼스널 컴퓨터, 서버, 컴퓨터, 핸드헬드 또는 랩톱 장치, 모바일 장치(예컨대, 모바일 폰, 개인 휴대 정보 단말기(PDA), 미디어 플레이어 등), 마이크로프로세서 시스템, 가전제품, 미니 컴퓨터, 미니프레임 컴퓨터, 전술된 시스템 또는 장치 중 임의의 것을 포함하는 분산 컴퓨팅 환경 등을 포함하나 이로 제한되지 않는다.
반드시 요구되는 것은 아니지만, 실시예들은 하나 이상의 컴퓨팅 장치에 의해 실행되는 "컴퓨터 판독가능 명령어"에 관한 일반적 맥락으로 설명된다. 컴퓨터 판독가능 명령어는 컴퓨터 판독가능 매체를 통해 분산될 수도 있다(아래에서 설명됨). 특정 작업을 수행하거나 특정 추상 데이터 타입을 구현하는, 컴퓨터 판독가능 명령어는 함수와 같은 프로그램 모듈, 객체, 애플리케이션 프로그램 인터페이스(API), 데이터 구조 등으로 구현될 수도 있다. 전형적으로, 컴퓨터 판독가능 명령어의 기능들은 다양한 실시예들에서 원하는 바와 같이 조합되거나 분산될 수 있다.
도 6은 본원에 제공된 하나 이상의 실시예들을 구현하도록 구성된 컴퓨팅 장치(612)를 포함하는 시스템(600)에 관한 예를 도시한다. 하나의 구성에서, 컴퓨팅 장치(612)는 적어도 하나의 프로세싱 유닛(616) 및 메모리(618)를 포함한다. 정확한 구성 및 컴퓨팅 장치의 타입에 따라, 메모리는 휘발성(예컨대, RAM), 비휘발성(예컨대, ROM, 플래시 메모리 등) 또는 이 둘의 일부 조합일 수 있다. 이러한 구성은 도 6에서 점선(614)으로 도시된다.
다른 실시예들에서, 장치(612)는 추가적인 특징 및/또는 기능을 포함할 수 있다. 예를 들어, 장치(612)는 또한 자기 저장소, 광학 저장소를 포함하나 이로 제한되지 않는 추가 저장소(예를 들어, 착탈식 및/또는 비착탈식)를 포함할 수도 있다. 그러한 추가 저장소는 도 6에서 저장소(620)로 도시된다. 일 실시예에서, 본원에 제공된 하나 이상의 실시예들을 구현하는 컴퓨터 판독가능 명령어는 저장소(620)에 존재할 수도 있다. 저장소(620)는 또한 오퍼레이팅 시스템, 애플리케이션 프로그램 등을 구현하는 다른 컴퓨터 판독가능 명령어를 저장할 수도 있다. 컴퓨터 판독가능 명령어는 예를 들어, 프로세싱 유닛(616)에 의한 실행을 위해 메모리(618)에서 로딩될 수 있다.
본원에서 사용되는 용어 "컴퓨터 판독가능 매체"는 컴퓨터 저장 매체를 포함한다. 컴퓨터 저장 매체는, 컴퓨터 판독가능 명령어와 같은 정보 또는 다른 데이터를 저장하기 위한 임의의 방법 또는 기법으로 구현되는 휘발성 및 비휘발성, 착탈식 및 비착탈식 매체를 포함한다. 메모리(618) 및 저장소(620)는 컴퓨터 저장 매체에 관한 예들이다. 컴퓨터 저장 매체는, RAM, ROM, EEPROM, 플래시 메모리 또는 다른 메모리 기법, CD-ROM, 디지털 다목적 디스크(DVD) 또는 다른 광학 저장소 자기 카세트, 자기 테이프, 자기 디스크 저장소 또는 다른 자기 저장 장치, 또는 원하는 정보를 저장하는데 사용될 수 있고 장치(612)에 의해 액세스될 수 있는 임의의 다른 매체를 포함하나 이로 제한되지는 않는다. 그러나, 컴퓨터 저장 매체는 전파 신호를 포함하지 않는다. 오히려, 컴퓨터 저장 매체는 전하 신호를 제외한다. 임의의 그러한 컴퓨터 저장 매체는 장치(612)의 일부일 수 있다.
장치(612)는 장치(612)가 다른 장치들과 통신할 수 있게 하는 통신 접속부(들)(626)를 또한 포함한다. 통신 접속부(들)(626)는 모뎀, 네트워크 인터페이스 카드(NIC), 통합 네트워크 인터페이스, 무선 주파수 전송기/수신기, 적외선 포트, USB 접속부, 또는 컴퓨팅 장치(612)를 다른 컴퓨팅 장치들에 접속시키기 위한 다른 인터페이스를 포함할 수 있으나 이로 제한되지 않는다. 통신 접속부(들)(626)는 유선 접속 및 무선 접속을 포함할 수 있다. 통신 접속부(들)(626)는 통신 매체를 전송 및/또는 수신할 수 있다.
용어 "컴퓨터 판독가능 매체"는 통신 매체를 포함할 수 있다. 통신 매체는 전형적으로 반송파 또는 다른 전달 메커니즘과 같은 "변조된 데이터 신호" 내의 다른 데이터를 구체화하고 임의의 정보 전달 매체를 포함한다. 용어 "변조된 데이터 신호"는 자신의 특성 세트 중 하나 이상을 갖고 신호 내에 정보를 인코딩하는 것과 같은 방식으로 변경된 신호를 포함할 수 있다.
장치(612)는 키보드, 마우스, 펜, 음성 입력 장치, 터치 입력 장치, 적외선 카메라, 비디오 입력 장치 및/또는 임의의 다른 입력 장치와 같은 입력 장치들(624)을 포함할 수 있다. 하나 이상의 디스플레이, 스피커, 프린터, 및/또는 임의의 다른 출력 장치와 같은 출력 장치(들)(622)가 장치(612) 내에 포함될 수도 있다. 입력 장치(들)(624) 및 출력 장치(들)(622)는 유선 접속, 무선 접속, 또는 이들의 임의의 조합을 통해 장치(612)에 접속될 수 있다. 하나의 실시예에서, 다른 컴퓨팅 장치로부터의 입력 장치 또는 출력 장치가 컴퓨팅 장치(612)를 위한 입력 장치(들)(624) 또는 출력 장치(들)(622)로서 사용될 수도 있다.
컴퓨팅 장치(612)의 컴포넌트들은 버스와 같은 다양한 상호접속부에 의해 접속될 수 있다. 그러한 상호접속부는 PCI 익스프레스와 같은 주변 컴포넌트 상호접속부(PCI), 범용 직렬 버스(USB), 파이어와이어(IEEE 1394), 광학 버스 구조 등을 포함할 수 있다. 다른 실시예에서, 컴퓨팅 장치(612)의 컴포넌트들은 네트워크에 의해 상호접속될 수 있다. 예를 들어, 메모리(618)는 네트워크에 의해 상호접속된 상이한 물리적 위치들에 위치된 복수의 물리적 메모리 유닛들로 구성될 수도 있다.
본 기술분야의 당업자는 컴퓨터 판독가능 명령어를 저장하는데 이용된 저장 장치가 네트워크에 걸쳐 분산될 수 있음을 인식할 것이다. 예를 들어, 네트워크(628)를 통해 액세스 가능한 컴퓨팅 장치(630)는, 본원에 제공된 하나 이상의 실시예들을 구현하기 위한 컴퓨터 판독가능 명령어를 저장할 수도 있다. 컴퓨팅 장치(612)는 컴퓨팅 장치(630)에 액세스할 수 있고 실행을 위해 컴퓨터 판독가능 명령어 중 일부 또는 모두를 다운로드할 수 있다. 이와 달리, 컴퓨팅 장치(612)는 필요할 때 컴퓨터 판독가능 명령어의 조각을 다운로드할 수 있고, 또는 일부 명령어는 컴퓨팅 장치(612)에서 실행되고 일부는 컴퓨팅 장치(630)에서 실행될 수도 있다.
실시예들의 다양한 동작들이 본원에 설명된다. 일 실시예에서, 설명된 동작들 중 하나 이상은, 컴퓨팅 장치에 의해 실행되는 경우 컴퓨팅 장치로 하여금 설명된 동작들을 수행하게 하는 하나 이상의 컴퓨터 판독가능 매체 상에 저장된 컴퓨터 판독가능 명령어를 구성할 수 있다. 동작들 중 일부 또는 모두가 설명된 순서는 이러한 동작들이 반드시 순서에 따르는 것임을 암시하는 것으로 여겨져서는 안 된다. 대안적인 순서가 본 설명의 이익을 갖는 본 기술분야의 당업자에 의해 고려될 것이다. 또한, 모든 동작들이 본원에 제공된 각각의 실시예들에 반드시 존재하지는 않는다는 것이 이해될 것이다. 또한, 모든 동작들이 일부 실시예들에 반드시 존재하지는 않는다는 것이 이해될 것이다.
추가로, 달리 명시되지 않는 한, "제 1", "제 2" 등은 시간적 양태, 공간적 양태, 순서 등을 암시하고자 하는 것이 아니다. 오히려, 그러한 용어들은 단지 특징, 요소, 아이템 등에 대한 식별자, 이름 등으로 사용되는 것이다. 예를 들어, 제 1 객체 및 제 2 객체는 일반적으로 객체 A 및 객체 B 또는 2개의 상이한 객체들 또는 2개의 동일한 객체들 또는 동일 객체에 대응한다.
더욱이, 본원에서 "예시적인(exemplary)"은 반드시 이점으로서는 아닌, 하나의 예, 경우, 예증 등의 역할을 하는 것을 의미하는데 사용된다. 본원에서 사용되는 바와 같이, "또는"은 배타적 "또는"이 아닌 포함적 "또는"을 의미한다. 또한, 본 출원에서 사용되는 단수형은 달리 명시되거나 단일 형태로 지시되는 문맥에서 볼 때 분명하지 않은 한 일반적으로 "하나 이상"을 의미하는 것으로 이해되어야 한다. 또한, A 및 B 및/또는 이와 유사한 것 중 적어도 하나는 일반적으로 A 또는 B 및/또는 A와 B 모두를 의미한다. 더욱이, "포함하다(includes)", "구비하는(having)", "구비하다(has)", "갖는(with)", 및/또는 이들의 변형들이 상세한 설명 또는 특허청구범위 중 하나에서 사용되는 한, 그러한 용어들은 용어 "포함하는(comprising)"과 유사한 방식으로 포괄적인 것으로 의도된다.
또한, 본 개시물은 하나 이상의 구현예들에 대하여 도시되고 설명되었지만, 균등한 대안 및 수정이 본 명세서 및 첨부된 도면에 관한 검토 및 이해에 기초하여 본 기술분야의 다른 당업자에게 발생할 것이다. 본 개시물은 모든 그러한 수정 및 대안을 포함하며 첨부된 특허청구범위의 범주에 의해서만 제한된다. 특히, 전술된 컴포넌트들(예를 들어, 요소, 리소스 등)에 의해 수행되는 다양한 기능과 관련하여, 개시된 구조와 구조적으로 같지 않더라도, 그러한 컴포넌트를 설명하는데 사용되는 용어들은 달리 표시되지 않은 한 설명된 컴포넌트의 명시된 기능(예를 들어, 기능적으로 균등한)을 수행하는 임의의 컴포넌트에 대응하는 것으로 의도된다. 또한, 본 개시물의 특정한 특징이 여러 구현예들 중 단지 하나에 대하여 개시될 수 있지만, 그러한 특징은 임의의 정해진 또는 특정한 응용을 위해 원하거나 이로울 수 있을 때 다른 구현예들의 하나 이상의 다른 특징들과 조합될 수도 있다.

Claims (10)

  1. 평판 평가(reputation evaluation)를 위한 파일 수집(acquisition) 방법으로서,
    제 1 클라이언트로부터 평판 요청을 수신하는 단계 - 상기 평판 요청은 파일의 파일 식별자를 포함함 - 와,
    상기 파일 식별자가 상기 파일에 대한 평판에 대응하는 것에 응답하여, 상기 제 1 클라이언트에게 상기 평판을 제공하는 단계와,
    상기 파일이 알려지지 않은 것이라는 판정에 응답하여,
    상기 파일의 청크 세트(a set of chunks) - 상기 파일이 상기 청크 세트로 분할될 수 있음 - 를 식별하는 단계와,
    상기 제 1 클라이언트로부터 상기 파일의 제 1 청크를 검색하는(retrieving) 단계와,
    제 2 클라이언트로부터 상기 파일의 제 2 청크를 검색하는 단계와,
    상기 제 1 청크 및 상기 제 2 청크를 평가하여 평판 기반 보안 평가를 위해 상기 파일에 상기 평판을 할당하는 단계
    를 포함하는,
    평판 평가를 위한 파일 수집 방법.

  2. 제 1 항에 있어서,
    상기 파일이 알려진 것이고 상기 파일의 모든 청크보다 적은 청크가 평판 서비스에 이용가능하다는 판정에 응답하여, 상기 제 1 클라이언트로부터 이용가능하지 않은 청크를 선택적으로 검색하는 단계를 포함하는,
    평판 평가를 위한 파일 수집 방법.
  3. 제 1 항에 있어서,
    상기 청크 세트에 기초하여 분포 곡선(distribution curve)을 생성하는 단계를 포함하되,
    상기 분포 곡선은 클라이언트들로부터 검색될 상기 청크 세트 내의 청크들의 분포를 나타내는,
    평판 평가를 위한 파일 수집 방법.
  4. 제 3 항에 있어서,
    상기 분포는 무작위 분포(a random distribution), 순차 분포(a sequential distribution), 순서화된 분포(an ordered distribution), 중첩 분포(an overlapping distribution), 우선순위 분포(a prioritization distribution), 또는 순서화된 중첩 분포(an ordered overlapping distribution)를 포함하는,
    평판 평가를 위한 파일 수집 방법.
  5. 제 1 항에 있어서,
    중첩 분포가 상기 제 1 청크에 대한 중복 검색(redundant retrieval)을 나타내는 것에 기초하여 제 3 클라이언트로부터 상기 제 1 청크를 검색하는 단계를 포함하는,
    평판 평가를 위한 파일 수집 방법.
  6. 제 1 항에 있어서,
    상기 제 1 청크는 상기 제 2 청크와 관련하여 중첩하는 파일 데이터를 포함하는,
    평판 평가를 위한 파일 수집 방법.
  7. 제 1 항에 있어서,
    상기 청크 세트를 식별하는 단계는,
    상기 청크 세트 내의 각각의 청크에 검색 우선순위를 할당하는 단계를 포함하는,
    평판 평가를 위한 파일 수집 방법.
  8. 제 7 항에 있어서,
    상기 검색 우선순위를 할당하는 단계는,
    상기 제 1 청크가 상기 제 2 청크의 제 2 평판 평가 적합성(relevancy)보다 큰 제 1 평판 평가 적합성을 갖는다는 판정에 기초하여, 상기 제 2 청크에 할당된 제 2 검색 우선순위보다 높은 제 1 검색 우선순위를 상기 제 1 청크에 할당하는 단계를 포함하는,
    평판 평가를 위한 파일 수집 방법.
  9. 제 1 항에 있어서,
    제 3 클라이언트로부터 상기 파일의 제 3 청크의 전송 개시를 수신하는 단계와,
    상기 제 3 청크가 이전에 검색되었다는 것에 응답하여, 상기 제 3 청크의 전송을 취소하는 단계와,
    상기 제 3 청크가 아직 검색되지 않았다는 판정에 응답하여, 상기 제 3 청크의 전송을 수락하는 단계 - 상기 평가는 상기 파일에 상기 평판을 할당하기 위해 상기 제 3 청크를 평가하는 것을 포함함 - 를 포함하는
    평판 평가를 위한 파일 수집 방법.
  10. 평판 평가를 위한 파일 수집을 위한 시스템으로서,
    평판 서비스를 포함하되,
    상기 평판 서비스는,
    파일의 파일 식별자를 포함하는 평판 요청을 제 1 클라이언트로부터 수신하고,
    상기 파일 식별자가 상기 파일에 대한 평판에 대응하는 것에 응답하여, 상기 제 1 클라이언트에 상기 평판을 제공하고,
    상기 파일이 알려지지 않았다는 판정에 응답하여,
    상기 파일의 청크 세트 - 상기 파일이 상기 청크 세트로 분할될 수 있음 - 를 식별하고,
    상기 제 1 클라이언트로부터 상기 파일의 제 1 청크를 검색하고,
    제 2 클라이언트로부터 상기 파일의 제 2 청크를 검색하고,
    상기 제 1 청크 및 상기 제 2 청크를 평가하여 평판 기반 보안 평가를 위해 상기 파일에 상기 평판을 할당하도록 구성된,
    평판 평가를 위한 파일 수집 시스템.
KR1020177007321A 2014-09-17 2015-09-16 파일 평판 평가 기법 KR102351948B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/488,719 2014-09-17
US14/488,719 US9398036B2 (en) 2014-09-17 2014-09-17 Chunk-based file acquisition and file reputation evaluation
PCT/US2015/050307 WO2016044354A1 (en) 2014-09-17 2015-09-16 File reputation evaluation

Publications (2)

Publication Number Publication Date
KR20170056556A true KR20170056556A (ko) 2017-05-23
KR102351948B1 KR102351948B1 (ko) 2022-01-14

Family

ID=54251733

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020177007321A KR102351948B1 (ko) 2014-09-17 2015-09-16 파일 평판 평가 기법

Country Status (10)

Country Link
US (1) US9398036B2 (ko)
EP (1) EP3195573B1 (ko)
JP (1) JP6633059B2 (ko)
KR (1) KR102351948B1 (ko)
CN (1) CN107079041B (ko)
AU (1) AU2015317916B2 (ko)
CA (1) CA2959754C (ko)
MX (1) MX370212B (ko)
RU (1) RU2690759C2 (ko)
WO (1) WO2016044354A1 (ko)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10169584B1 (en) * 2015-06-25 2019-01-01 Symantec Corporation Systems and methods for identifying non-malicious files on computing devices within organizations
US10055586B1 (en) 2015-06-29 2018-08-21 Symantec Corporation Systems and methods for determining the trustworthiness of files within organizations
US9838405B1 (en) 2015-11-20 2017-12-05 Symantec Corporation Systems and methods for determining types of malware infections on computing devices
US10003606B2 (en) 2016-03-30 2018-06-19 Symantec Corporation Systems and methods for detecting security threats
US10178122B1 (en) * 2016-08-12 2019-01-08 Symantec Corporation Systems and methods for disseminating location-based reputations for link-layer wireless attacks
US11086822B1 (en) * 2016-09-13 2021-08-10 Amazon Technologies, Inc. Application-based compression
US10091231B1 (en) 2016-09-15 2018-10-02 Symantec Corporation Systems and methods for detecting security blind spots
US10542017B1 (en) 2016-10-13 2020-01-21 Symantec Corporation Systems and methods for personalizing security incident reports
US11711380B2 (en) * 2019-10-21 2023-07-25 Acronis International Gmbh Systems and methods for parallel virus and malware scan between agents in a cloud environment
US20220129417A1 (en) * 2020-10-22 2022-04-28 Google Llc Code Similarity Search
CN113282922B (zh) * 2021-06-29 2024-08-20 北京安天网络安全技术有限公司 对移动存储设备进行防护控制的方法、装置、设备及介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100318759A1 (en) * 2009-06-15 2010-12-16 Microsoft Corporation Distributed rdc chunk store
US20130097661A1 (en) * 2011-10-18 2013-04-18 Mcafee, Inc. System and method for detecting a file embedded in an arbitrary location and determining the reputation of the file
US20140161006A1 (en) * 2012-12-12 2014-06-12 At&T Intellectual Property I, Lp Geocast-Based File Transfer

Family Cites Families (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020046041A1 (en) 2000-06-23 2002-04-18 Ken Lang Automated reputation/trust service
WO2002005193A2 (en) * 2000-07-12 2002-01-17 Cachestream Corporation Credit system
US8635690B2 (en) 2004-11-05 2014-01-21 Mcafee, Inc. Reputation based message processing
US7991902B2 (en) * 2006-12-08 2011-08-02 Microsoft Corporation Reputation-based authorization decisions
US8250657B1 (en) * 2006-12-29 2012-08-21 Symantec Corporation Web site hygiene-based computer security
US8312536B2 (en) * 2006-12-29 2012-11-13 Symantec Corporation Hygiene-based computer security
US8214497B2 (en) 2007-01-24 2012-07-03 Mcafee, Inc. Multi-dimensional reputation scoring
US8769702B2 (en) 2008-04-16 2014-07-01 Micosoft Corporation Application reputation service
US8595282B2 (en) * 2008-06-30 2013-11-26 Symantec Corporation Simplified communication of a reputation score for an entity
US8710757B2 (en) * 2008-07-11 2014-04-29 Eldolab Holding B.V. Power converter for an LED assembly and lighting application
US9135433B2 (en) 2008-08-29 2015-09-15 Adobe Systems Incorporated Identifying reputation and trust information for software
US20100169972A1 (en) * 2008-12-31 2010-07-01 Microsoft Corporation Shared repository of malware data
US8281403B1 (en) * 2009-06-02 2012-10-02 Symantec Corporation Methods and systems for evaluating the health of computing systems based on when operating-system changes occur
CN101576947B (zh) * 2009-06-05 2012-08-08 成都市华为赛门铁克科技有限公司 文件防护处理方法、装置及系统
US8719939B2 (en) 2009-12-31 2014-05-06 Mcafee, Inc. Malware detection via reputation system
JP2012008847A (ja) * 2010-06-25 2012-01-12 Brother Ind Ltd 配信システム、ノード装置、ノード処理プログラム、及びコンテンツ取得方法
JP5135389B2 (ja) * 2010-06-30 2013-02-06 株式会社日立情報システムズ 情報漏えいファイル検知装置、及びその方法とプログラム
BR112013004345B1 (pt) * 2010-08-25 2020-12-08 Lookout, Inc. sistema e método para evitar malware acoplado a um servidor
US8413235B1 (en) * 2010-09-10 2013-04-02 Symantec Corporation Malware detection using file heritage data
US9235586B2 (en) * 2010-09-13 2016-01-12 Microsoft Technology Licensing, Llc Reputation checking obtained files
US8572007B1 (en) 2010-10-29 2013-10-29 Symantec Corporation Systems and methods for classifying unknown files/spam based on a user actions, a file's prevalence within a user community, and a predetermined prevalence threshold
US8671449B1 (en) 2010-11-10 2014-03-11 Symantec Corporation Systems and methods for identifying potential malware
US8863291B2 (en) * 2011-01-20 2014-10-14 Microsoft Corporation Reputation checking of executable programs
US8769691B1 (en) * 2011-02-14 2014-07-01 Trend Micro, Inc. Network traffic reduction
US8732587B2 (en) 2011-03-21 2014-05-20 Symantec Corporation Systems and methods for displaying trustworthiness classifications for files as visually overlaid icons
EP2710510A4 (en) * 2011-05-14 2015-05-06 Bitcasa Inc CLOUD FILE SYSTEM WITH SERVER DEPLOYMENT OF USER UNKNOWN ENCRYPTED FILES
US8516592B1 (en) * 2011-06-13 2013-08-20 Trend Micro Incorporated Wireless hotspot with lightweight anti-malware
US8799190B2 (en) * 2011-06-17 2014-08-05 Microsoft Corporation Graph-based malware classification based on file relationships
US9065826B2 (en) 2011-08-08 2015-06-23 Microsoft Technology Licensing, Llc Identifying application reputation based on resource accesses
US8635700B2 (en) * 2011-12-06 2014-01-21 Raytheon Company Detecting malware using stored patterns
US8627469B1 (en) * 2012-03-14 2014-01-07 Symantec Corporation Systems and methods for using acquisitional contexts to prevent false-positive malware classifications
US20130254880A1 (en) 2012-03-21 2013-09-26 Mcafee, Inc. System and method for crowdsourcing of mobile application reputations
CN102752290B (zh) * 2012-06-13 2016-06-01 深圳市腾讯计算机系统有限公司 一种云安全系统中的未知文件安全信息确定方法和装置
CN103685150B (zh) * 2012-09-03 2015-08-12 腾讯科技(深圳)有限公司 上传文件的方法和装置
US9143519B2 (en) * 2013-03-15 2015-09-22 Mcafee, Inc. Remote malware remediation
WO2014143000A1 (en) * 2013-03-15 2014-09-18 Mcafee, Inc. Server-assisted anti-malware
CN103220367A (zh) * 2013-05-13 2013-07-24 深圳市中博科创信息技术有限公司 数据复制方法及数据存储系统

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100318759A1 (en) * 2009-06-15 2010-12-16 Microsoft Corporation Distributed rdc chunk store
US20130097661A1 (en) * 2011-10-18 2013-04-18 Mcafee, Inc. System and method for detecting a file embedded in an arbitrary location and determining the reputation of the file
US20140161006A1 (en) * 2012-12-12 2014-06-12 At&T Intellectual Property I, Lp Geocast-Based File Transfer

Also Published As

Publication number Publication date
MX2017003416A (es) 2017-06-19
KR102351948B1 (ko) 2022-01-14
EP3195573A1 (en) 2017-07-26
US20160080400A1 (en) 2016-03-17
AU2015317916B2 (en) 2019-01-24
CA2959754A1 (en) 2016-03-24
BR112017003782A2 (pt) 2017-12-12
JP6633059B2 (ja) 2020-01-22
RU2017108769A3 (ko) 2019-04-01
JP2017538181A (ja) 2017-12-21
RU2690759C2 (ru) 2019-06-05
WO2016044354A1 (en) 2016-03-24
RU2017108769A (ru) 2018-09-17
US9398036B2 (en) 2016-07-19
AU2015317916A1 (en) 2017-03-09
CN107079041B (zh) 2020-10-20
CN107079041A (zh) 2017-08-18
CA2959754C (en) 2022-05-03
MX370212B (es) 2019-12-05
EP3195573B1 (en) 2018-06-27

Similar Documents

Publication Publication Date Title
KR102351948B1 (ko) 파일 평판 평가 기법
RU2551820C2 (ru) Способ и устройство для проверки файловой системы на наличие вирусов
US20170206353A1 (en) Method and system for preventing malicious alteration of data in computer system
RU2581560C2 (ru) Способ сканирования файлов, клиентский компьютер и сервер
JP6348937B2 (ja) オブジェクト記憶システムにおけるオブジェクトデータの更新方法及び更新装置
CN103036597B (zh) 近距离设备间的资源分享方法和设备
US20210021633A1 (en) Software release tracking and logging
US10791109B2 (en) Certificate based expiration of file system objects
CN105518619A (zh) 在同步期间针对不适宜内容扫描文件
US10218817B2 (en) Digital rights list for device groups
US8949599B2 (en) Device management apparatus, method for device management, and computer program product
US10545912B2 (en) Format management for a content repository
JP5999185B2 (ja) 認証方法及び認証プログラム
JP6667511B2 (ja) 被参照コンテンツの索引付け
JP6343983B2 (ja) 仮想記憶ゲート・システム
JP6631091B2 (ja) 情報処理装置及び情報処理プログラム
RU2700185C1 (ru) Способ обнаружения скрытого программного обеспечения в вычислительной системе, работающей под управлением POSIX-совместимой операционной системы
BR112017003782B1 (pt) Método e sistema para aquisição de arquivo para avaliação de reputação
CN116961993A (zh) 服务配置方法、系统、设备及介质

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant