KR20150140227A - 데이터 오염 추적을 위한 장치 및 방법 - Google Patents

데이터 오염 추적을 위한 장치 및 방법 Download PDF

Info

Publication number
KR20150140227A
KR20150140227A KR1020150078069A KR20150078069A KR20150140227A KR 20150140227 A KR20150140227 A KR 20150140227A KR 1020150078069 A KR1020150078069 A KR 1020150078069A KR 20150078069 A KR20150078069 A KR 20150078069A KR 20150140227 A KR20150140227 A KR 20150140227A
Authority
KR
South Korea
Prior art keywords
data item
data
contamination
tracking
name
Prior art date
Application number
KR1020150078069A
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 KR20150140227A publication Critical patent/KR20150140227A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/16Program or content traceability, e.g. by watermarking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/552Detecting local intrusion or implementing counter-measures involving long-term monitoring or reporting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/25Integrating or interfacing systems involving database management systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/03Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
    • G06F2221/034Test or assess a computer or a system
    • G06F2221/0737
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2101Auditing as a secondary aspect

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Technology Law (AREA)
  • Multimedia (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Storage Device Security (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

제어된 시스템(110, 120)은 데이터 아이템들의 내부 오염 추적을 수행한다. 데이터 아이템이 생성될 때, 제어된 시스템은 데이터 아이템에 대한 이름 및 오염을 연산하고(202) 초기화 함수를 수행하고(204), 그에 따라 데이터 아이템의 이름 및 오염을 추적 개체(130)에 알린다. 오염은 추가 데이터 아이템들에 전파되고, 반면 이름은 변경될 수 있으며, 데이터 아이템을 추가 디바이스로 내보내거나(210) 또는 추가 디바이스로부터 불러오는 경우에, 제어된 시스템은 내보낸 또는 불러온 데이터 아이템의 이름 및 오염을 그것의 소스 및 목적지와 함께 추적 개체(130)에 알린다(216, 224, 232). 제어된 시스템(110, 120)은 추적 개체(130)로부터 전파 히스토리를 요청할 수 있다(236). 추적 개체(130)가 하나를 초과하는 제어된 시스템(110, 120)에 의해 공유되기 때문에, 동일한 오염 추적 프레임워크를 이용하지 않더라도, 제어된 시스템들에 걸쳐 오염 추적을 수행하는 것이 가능하다.

Description

데이터 오염 추적을 위한 장치 및 방법{APPARATUS AND METHOD FOR DATA TAINT TRACKING}
본 개시는 일반적으로 컴퓨터 시스템들에 관한 것으로, 특히 그러한 시스템들에서의 데이터 오염 추적에 관한 것이다.
이 섹션은 이하에 설명되고 및/또는 청구되는 본 개시의 다양한 양태들에 관한 것일 수 있는 당업의 다양한 양태들을 독자에게 소개할 목적으로 의도된다. 이 논의는 본 개시의 다양한 양태들의 더 나은 이해를 용이하게 하는 배경 정보를 독자에게 제공하는 데 유용할 것으로 이해된다. 그에 따라, 이러한 서술은 종래 기술의 인정으로서 아니라 이러한 견지에서 읽혀져야 한다는 것이 이해되어야 한다.
디지털 데이터는 상이한 이유들로 민감할 수 있다고 알려져 있는데, 예를 들어, 보안이 유지되어야 하는 개인용 데이터 또는 회사 기밀들일 수 있다. 기초적인 예는 다음과 같다. 앨리스는 텍스트 파일(△)을 작성했다. 그녀는 그것을 드롭 박스를 통해 밥에게 송신하고, △는 어느 누구에게도 누설되어서는 안된다는 것을 명시한다. 이후에, 앨리스는 파일(△)이 누설되었다고 의심한다. 그녀는 파일 (△)이 그녀의 기계로부터 또는 밥의 기계로부터, 또는 드롭박스로부터 또는 아마존 EC2 기계(현재 드롭박스 구현에 이용됨)로부터 유출되었는지를 알기 원한다.
그러한 데이터의 유출을 방지하기 위해 다양한 해결책들이 발견되었다. 이러한 해결책들은 대략 2개의 그룹으로 나뉘어진다: 데이터 유출 방지 및 데이터 유출 검출.
데이터 유출 방지는 미승인 데이터 출력들을 차단하는 것을 목표로 한다. SELinux(Security-Enhanced Linux)에서 구현되는 예시적인 시스템(Role Base Access Control)은, 다수의 사용자 액션들을 금지하고 그에 따라 홈 네트워크에서의 사용자들과 같은 모든 타입의 사용자들에 적용하지 않는다. 또한, 공격자들은 데이터 유출 방지에도 불구하고 끊임없이 데이터를 빼내는 방법을 찾는다.
데이터 유출 검출은 데이터가 유출될 것이라고 가정한다. 아이디어는 데이터 유출이 발생할 때마다 검출하고 보고하는 것이다. 데이터 유출 검출은 데이터 마킹에서부터 오염 추적까지, 대규모 세트의 기술들을 포함하는데, 일부는 이하에 설명될 것이다.
데이터 마킹은 데이터에 특성들을 추가하거나 데이터를 워터마킹하여 추적될 데이터의 수정에 기초한다. 수정이 가시적이거나 또는 비가시적일 수 있다는 것이 인식될 것이다. 수정은 강한 워터마크에서는 공격자에 의해 제거하기 어려울 수 있고, 또는 취약한 워터마크 또는 무기명(unsigned) 서류 특성들에서는 제거하기 쉬울 수 있다. 전형적인 예는 앨리스가 프라이버시 화상을 밥과 캐롤에게 송신하기를 원하는 것이다. 앨리스는 약간 수정된 버전의 화상을 밥에게 송신하고, 상이하게 수정된 버전의 화상을 캐롤에게 송신한다. 나중에, 앨리스가 유출된 버전의 화상을 찾았을 때, 그녀는 유출된 버전이 밥의 버전인지 또는 캐롤의 버전인지를 확인할 수 있다.
그러한 기술들이 오랜 시간동안 알려졌음에도 불구하고 상대적으로 적은 경우들에서만 사용되게 하는, 그러한 기술들에 대한 다수의 제한들이 있다. 제1 제한은 추척된 데이터 및 수신자들이 사전에 미리 알려져야 한다는 것인데, 그렇지 않다면 데이터는 각각의 의도된 수신자에 대하여 수정될 수 없기 때문이다. 제2 제한은 수정이 데이터의 의미를 변화시켜서는 안된다는 것인데, 이것은 2진 미가공 데이터의 경우에서 항상 가능한 것은 아니다(예를 들어, 압축된 또는 암호화된 데이터).
오염 추적(또는 오염 확인으로 지칭됨)은 임의의 데이터 유출이 프로그램의 코드 실행 동안 검출된다는 점에서 동적인 기술이다. 오염 추적은 프로그램에 의해 조작된 데이터, 예를 들어, 입력 데이터와 오염을 연관시킨다. 그 후, 오염은 오염된 데이터에 어떻게든 의존하는 임의의 데이터로 전파되는데, 즉, 데이터가 오염된 데이터로부터 생성되었다면, 동일한 방식으로 오염되게 된다. 그에 따라, 일부 출력 데이터가 오염된 경우에, 이것은 이 출력 데이터가 동일한 오염을 갖는 입력 데이터에 어떻게든 의존한다는 것을 의미한다.
분석된 프로그램을 동작시키는 시스템은 오염 추척을 위하여 계장화되어야 한다: 그것은 오염을 오브젝트에 연관시키는 "오염 맵"을 포함한다. PIN(PIN - A Dynamic Binary Instrumentation Tool, Intel Developer Zone)에 장착될 수 있는, TaintEraser(D. (Yu) Zhu, J. Jung, D. Song, T. Kohno, and D. Wetherall, "TaintEraser: Protecting Sensitive Data Leaks Using Application-Level Taint Tracking,” ACM Oper. Syst. Rev., 2011.)라고 또한 지칭되는 PrivacyScope 및 libdft(V. P. Kemerlis, G. Portokalidis, K. Jee, 및 A. D. Keromytis, "libdft: Practical Dynamic Data Flow Tracking for Commodity Systems," in VEE '12, 2012)와 같은 소위 정밀-그레인 오염 추적 시스템들(fine-grained taint tracking systems)은 바이트 레벨에서 오염을 허용하는데, 이것은 오염 맵이 오염을 메모리의 각각의 바이트에 연관시키는 것을 의미한다. PHP 및 Ruby 프로그래밍 언어들에 포함되는 것들과 같은 다른 오염 추적 시스템은 변수들과 같은 더 높은 레벨 오브젝트들에서 동작한다. 테인트드로이드(TaintDroid) 및 블레어(Blare)와 같은 코어스-그레인 오염 추적 시스템들(Coarse-grained taint tracking systems)은 더 큰 오브젝트들에서 동작한다: 메모리 페이지들, 방법들, 메시지들, 파일들, 등.
오염 맵에 대한 2개의 중대한 제약들이 있다. 첫째로, 오염 맵은 공격자로부터 안전해야 하는데, 그렇지 않다면 오염들을 수정하고 데이터 유출 검출을 방지할 수 있다. 둘째로, 오염 맵은 의미상 정상적(sound)이어야 하는데, 오염들(전형적으로 비트들의 시퀀스들)이 모든 실행에 따라 동일한 의미를 갖는다는 것을 의미한다.
최신의 오염 추적 해결책들은 제어된 시스템들에서 이러한 2개의 제한들을 만족시킨다: 실행 모니터링, 계장화 커널(instrumented kernel) 및 더 최근에는 보안 네트워크. 그러나, 데이터가 비-계장화 시스템들에 의해 조작되는 비제어된 시스템들에서의 해결책은 존재하지 않는다.
추가 기술은 정보 흐름 추적인데, 이것은 프로그램 분석에 대한 정적(static) 기술들 - 흐름 추론, 정적 분석 및 기호 실행을 포함 - 의 세트이고, '정적'은 프로그램이 실행 전에 데이터 유출들에 대하여 분석되는 것을 의미한다. 정보 흐름 추적의 목표는 유출이 실행될 어느 기회를 갖기 전에 프로그램에서 유출의 가능성을 검출하는 것이다. 유출 가능성이 검출되지 않는다면, 프로그램은 추가 예방책 없이 동작할 것이다. 그렇지 않다면, 사용자는 그 프로그램을 금지시킬 수 있고, 또는 그 프로그램은 특별히 보호된 모드 하에 동작할 수 있다. 정보 흐름 추적이 홀로 이용되는 경우에는 데이터 유출 방지를 위한 것이지만, 오염 추척과 결합하여 이용되는 경우에는, 설명될 바와 같이, 데이터 유출 검출을 향상시킬 수 있다.
추가 해결책은 블레어에서 구현되는 것인데, 이것은 오염들이 어떤 파일들/컨테이너들(후자는 네트워크 인터페이스들일 수 있음)로 흐르게 될지를 특정하는 보안 방침들의 세트와 결합된 오염 추적을 이용한다. 블레어는 코어스-그레인되고 커널 레벨에서 동작한다. 2012년에, 블레어는 부분적으로 보안 네트워크들로 연장되었고, 그에 따라 CIPSO(Commercial Internet Protocol Security Option)를 이용하여 호스트들 간에 오염들을 전이시킨다.
최신 기술들은 예시적인 경우에서의 앨리스를 돕지 못한다. 예를 들어, 워터마킹은 앨리스가 밥에게 보냈던 사본이 유출되었는지를 결정하는 것이 가능하지만, 그녀는 유출의 소스를 결정할 수 없다. 그리고 데이터 추적 기술들은 앨리스에 의해 제어되는 시스템들 내에서만 데이터 추적을 허용하지만, 데이터가 그녀의 제어된 시스템을 떠날 때마다, 어떤 추가 정보도 생성되지 않을 것이다. 밥이 그의 시스템에 오염 추적 프레임워크를 놓는 것에 동의하더라도, 최신 기술들은 앨리와 밥의 프레임워크들 간에 협력을 허용하지 않는다. 앨리스가 바랄 수 있는 최선은 파일(△)이 그녀의 시스템에서의 기계로부터 유출되었다는 정보이다.
따라서, 현재 오염 추적 시스템들을 향상시킬 수 있는 해결책에 대한 요구가 있다는 것이 인식될 것이다. 본 개시는 그러한 해결책을 제공한다.
제1 양태에서, 본 개시는 적어도 추가 오염 추적 장치를 이용하여 오염 추적에 관여하기 위한 장치에 관한 것이다. 장치는, 데이터 아이템들에 대한 내부 오염들을 생성하고, 데이터 아이템들에 대한 오염 추적을 수행하고 - 데이터 아이템에 대한 오염 추적은 내부 오염을 적어도 하나의 추가 데이터 아이템에 전파하는 것을 포함함 -, 데이터 아이템들을 추가 디바이스에 송신하고, 추가 디바이스에 송신된 각각의 데이터 아이템에 대하여 데이터 아이템에 대한 이름 및 오염을 오염 추적 개체로 송신하도록 구성되는 프로세서를 포함한다.
제1 실시예에서, 프로세서는 또한 추가 디바이스에 송신되는 각각의 아이템에 대하여, 장치의 식별자 및 추가 디바이스의 식별자를 추적 개체로 송신하도록 구성된다.
제2 실시예에서, 프로세서는 또한 추가 디바이스로부터 데이터 아이템들을 수신하고, 추가 디바이스로부터 수신되는 각각의 데이터 아이템들에 대하여, 데이터 아이템에 대한 이름 및 오염을 오염 추적 개체로 송신하도록 구성된다. 프로세서가 또한 추가 디바이스로부터 수신된 각각의 데이터 아이템에 대하여, 장치의 식별자 및 추가 디바이스의 식별자를 추적 개체로 송신하도록 구성된다는 것은 바람직하다.
제3 실시예에서, 데이터 아이템에 대한 이름은 데이터 아이템에 대한 초기 내부 오염이다.
제4 실시예에서, 오염은 핑거프린팅 함수를 이용하여 획득된다. 핑거프린팅 함수가 해시 함수, 특히 SHA-3인 것은 바람직하다.
제2 양태에서, 본 개시는, 장치의 프로세서에서, 데이터 아이템에 대한 이름 및 오염을 생성하고, 데이터 아이템을 추가 디바이스로 송신하고, 데이터 아이템에 대하여, 데이터 아이템에 대한 이름 및 오염을 오염 추적 개체로 송신하는 것을 포함하는 오염 추적을 위한 방법에 관한 것이다.
제1 실시예에서, 방법은 데이터 아이템에 대하여 장치의 식별자 및 추가 디바이스의 식별자를 추적 개체로 송신하는 것을 더 포함한다.
제2 실시예에서, 데이터 아이템에 대한 이름은 데이터 아이템에 대한 초기 내부 오염이다.
제3 실시예에서, 오염은 핑거프린팅 함수를 이용하여 획득된다. 핑거프린팅 함수가 해시 함수, 특히 SHA-3인 것은 바람직하다.
본 개시의 바람직한 특징은 이제 첨부 도면들을 참조하여 비-제한적인 예의 방식으로 설명될 것이다.
도 1은 본 개시의 예시적인 실시예의 시스템 및 방법을 도시한다.
도 1은 본 개시의 예시적인 실시예의 예시적인 시스템 및 방법을 도시한다. 시스템은 데이터 아이템들을 수신하고 송신하도록 구성되는 3개의 시스템들(N1, N2, N3)을 포함한다. 3개의 시스템들 중, N1 및 N2가 제어되는데, 즉, 그들은 오염 추적 프레임워크를 구현하고, 이하에 더 설명될 바와 같이 추적 개체 BTM를 이용하여 특정 데이터 아이템들의 오염들을 전달하도록 구성된다. 실제로 추적 개체(BTM)와 같이 제어된 시스템들(N1, N2)은 표준 PC(Personal Computer) 또는 워크스테이션과 같은, 계산을 수행할 수 있는 임의의 종류의 적절한 디바이스 또는 컴퓨터일 수 있는 하나 이상의 물리적 디바이스들로서 구현될 수 있다. 제어된 시스템들(N1, N2) 및 추적 개체(BTM) 각각은 바람직하게, 적어도 하나의 하드웨어 프로세서(111, 121, 131), 내부 또는 외부 메모리(112, 122, 132), 사용자와 상호작용하기 위한 사용자 인터페이스(113, 123, 133), 및 다른 디바이스들과 상호작용하기 위한 통신 인터페이스(114, 124, 134)를 포함한다. 당업자는, 도시된 디바이스들이 명료성을 위해 매우 간략화되는 것을 인식할 것이고, 실제 디바이스들은 또한 지속성 스토리지 및 내부 연결들과 같은 특징들을 포함할 수 있다는 것을 인식할 것이다.
데이터 추적 기술들이, 데이터가 비제어된 시스템들을 통해 통과할 수 있는 경우로 연장한다는 것은 바람직할 것으로 인식될 것이다. 데이터 유출의 경우에서 극히 부분적인 연장만으로도 추가 정보를 가져올 수 있다. 비제어된 시스템들(개방 네트워크들, 클라우드 시스템들, 등)에 의해 분리되는 상이한 제어된 시스템들 간의 의미의 손실은 큰 장애이다. 특히, 제어된 시스템에서의 오염은 또 다른 제어된 시스템에서 상이한 의미를 가질 수 있다.
시스템은 데이터 추적 프레임워크를 동작시키는 경우에 제어된다. 예시적인 경우에서 논의된 바와 같이, 데이터 파일(△)은 앨리스의 호스트(제어됨)로부터 드롭박스를 구현하는 호스트들의 세트(비제어됨)를 통해 밥의 호스트(제어됨)로 흐르게 된다. 각각의 예시에서, 다음은 참이라고 가정한다.
● 각각의 제어된 시스템은 블레어(Blare), 페디그리(Pedigree), 프라이버시 스코프(Privacy Scope), 테인트드로이드(TaintDroid) 등과 같은 일부 데이터 추적 프레임워크를 구현한다. 모든 제어된 시스템들이 동일한 프레임워크를 구현할 필요는 없다.
● 추적되어야 하는 데이터는 제어된 시스템으로부터 발생한다.
● 제어된 시스템들은 데이터 입력 및 데이터 출력을 보고하는 것에 동의한다. 입력 또는 출력을 보고하는 것의 프라이버시 양태는 고려되지 않는다는 것을 주목하자.
● 사용되는 핑거프린팅 함수(fp)는 데이터의 2개의 아이템들(△ 및 △')이 iff가 동일한 것(fp(△)=fp(△'))으로 간주된다. 핑거프린팅 함수(fp)는 예를 들어, 디지털 화상에 있어서 SIFT(Scale-Invariant Feature Transform; Lowe, David G. "Distinctive Image Features from Scale-Invariant Keypoints", International Journal of Computer Vision, 60.2 (2004): 91-110)와 같은 추적 데이터와 관련된 식별 함수, 암호화 해시 함수(cryptographic hash function) 또는 적절한 핑거프린팅일 수 있다. 핑거프린팅 함수(fp)는 바람직하게 암호화 주입 및 위조불능의 특징을 갖는다.
본 시스템이 사용하는 새로운 오염 맵 디바이스(BTM)는,
● 복수의 제어된 시스템들에 진입하거나 떠나는 데이터에 대한 오염 맵 정보를 추적하고,
● 복수의 제어된 시스템들에 대한 동질의(homogenous) 오염 의미를 전달하고,
● 복수의 제어된 시스템들에서 디바이스들로부터의 요청들에 대응한다.
BTM 및 데이터 아이템(△)을 고려하면, 제어된 시스템(E)(에서의 디바이스)은 적어도 다음 액션들을 수행할 수 있다.
init(BTM,△,E) 이 액션은 데이터 아이템(△)이 제어된 시스템(E)에 의해 이제 추적된다는 것을 BTM에 알린다.
out(BTM,△,E,T) 이 액션은 데이터 아이템(△)이, 제어될 수 있는 또는 제어되지 않을 수 있는 타겟 시스템(T)으로 (의도적으로 또는 유출되어) 송신되었다는 것을 제어된 시스템(E)이 감지했다는 것을 BTM에 알린다.
in(BTM,△,S,E) 이 액션은 제어된 시스템(E)이, 제어될 수 있는 또는 제어되지 않을 수 있는 소스 시스템(S)으로부터 데이터 아이템(△)을 수신(또는 판독)했다는 것을 BTM에 알린다.
hist(BTM,△,E) 이 액션은 시스템 E와 관련된 데이터 아이템(△)의 히스토리를 요청한다. 반환된 히스토리는 상기 init(BTM,△,E) 액션이 없는 경우에 비어있게 된다. 그렇지 않다면, 반환된 히스토리는 바람직하게 적어도, init(BTM,△,E) 이후에 데이터 아이템(△)에 대하여, BTM에 의해 수신되는 액션들의 전체 히스토리의 서브세트를 포함한다.
구현을 위하여, 바람직한 실시예에서,
● 핑거프린팅 함수(fp)는 SHA-3이다.
● 데이터 아이템(△)의 이름은 데이터 아이템(△)의 핑거프린팅 fp(△)이다.
● 데이터 아이템(△)의 초기 오염은 핑거프린팅 fp(△)이다.
● 제어된 시스템들은 오염 추적 프레임워크들로서 블레어 또는 페디그리를 이용한다.
또한, 레디스(redis) 키-값 스토어는 BTM 데이터를 저장하는 데 이용되고 BTM 함수들은 바람직하게 다음과 같이 구현된다.
init(BTM,△,E) 이 액션은 E의 오염 추적 프레임워크에서 오염 fp(△)을 데이터 아이템(△)에 대한 결과로 보고, 파라미터들 - 시스템=E, 이름=fp(△), 오염=fp(△), 상태=init, 소스=없음 - 을 이용하여 메시지를 BTM으로 송신한다.
out(BTM,△,E,T) E의 오염 추적 프레임워크에서 {t1 ... tk}가 데이터 아이템(△)의 k개의 현재 오염들이라면, 이 액션은 다음 파라미터들 - 시스템=E, 이름=fp(△), 오염=ti, 상태=out, 데스트=T - 을 이용하여 k개의 메시지들(즉, 현재 오염 당 하나의 메시지)을 BTM으로 송신한다.
in(BTM,△,S,E) 제어된 시스템(E)에서 데이터 아이템(△)을 수신할 때, 이 액션은 E의 오염 추적 프레임워크에서 오염 fp(△)를 △에 대한 결과로 보고, 파라미터들 - 시스템=E, 이름=fp(△), 오염=fp(△), 상태=init, 소스=S - 을 이용하여 메시지를 BTM으로 송신한다. init와 비교하여 차이점은, 소스가 없음 대신에 S로 설정된다는 것이 주목될 것이다.
hist(BTM,△,E) 이 액션은 먼저 BTM에 대한 요청을 송신한다. BTM은 시스템=E, 이름=fp(△), 오염=fp(△), 상태=init(소스는 특정되지 않고 남아있음)를 이용하여 저장된 이전의 메시지들을 검색한다. 그러한 메시지들이 발견되지 않았다면, 응답은 빈 세트이다. 적어도 하나의 메시지가 발견되었다면, (바람직한 실시예에서) BTM은 가장 오래된 메시지를 선택하고, 재귀적으로 이후의 메시지들을 (상태=out 및 오염=fp(△)) 또는 (상태=init 및 이름=fp(△))을 이용하여 검색한다. 새로운 이름 및 새로운 오염이 발견되지 않을 때까지, 임의의 발견된 이름들 및 오염들은 이후의 재귀적 검색들에 이용된다. 그 결과는 BTM에서의 링크들에 대응하는 오염들 및 이름들 간의 링크를 갖는 모든 수집된 값들의 서브트리이다.
시스템=E, 이름=fp(△), 오염=fp(△), 상태=init를 갖는 메시지가 존재하는 상태 하에, 당업자는 hist(BTM,△,E)의 구현이 BTM에 의해 야기되는 2개의 관계들 오염->이름 및 이름->오염의 전이 폐쇄(transitive closure)로서 또한 표현될 수 있다는 것을 인식할 것이다.
도 1은 본 개시의 예시적인 사용을, 화상(△)을 저장하는 제1 공동 노드(N1)가 수정된 화상 G(△)를 또 다른 공동 노드(N2)로 송신하고, 동일한 수정된 화상 G(△)를 비-공동 노드(N3)로 송신하게 되는 것으로 도시한다.
N1은 화상(△)의 이름=fp(△) 및 대응 오염 t(△)=fp(△)을 연산한다(단계 202). N1은 적절한 파라미터들을 갖는 init: init(BTM, 이름(△), t(△))를 수행하는데(단계 204), 이것은 화상(△)에 저장된 오염 데이터를 갱신하는(단계 208) BTM으로 메시지가 송신되도록 야기한다(단계 206). 이름 및 오염이 동일하기 때문에, Init는 이러한 변수들 중 단 하나를 이용하여 수행된다. 오염 데이터는 다음과 같게 된다:
Figure pat00001
N1은 수정된 화상 G(△)를 생성한다(단계 210)(즉, 흑백 또는 원본 화상(△)의 크롭된 버전). N1의 로컬 데이터 추적 프레임워크는 원본 화상(△)과 동일한 오염을 수정된 화상 G(△)으로 제공하는데, 후자의 오염은 전자로 전파되기 때문이다. 그 후, N1은 수정된 화상 G(△)를 N2로 송신한다(단계 212). 그 후, N1은 out(BTM, 이름(G(△), t(△), N1, N2)를 수행하는데(단계 214), 이것은 화상(△)에 저장된 오염 데이터를 갱신하는(단계 218) BTM으로 메시지가 송신되도록 야기한다(단계 216). 그 후, 오염 데이터는 다음과 같게 된다:
Figure pat00002
N2는 수정된 화상 G(△)을 갖는 메시지를 수신하고, 이름 및 오염 t(G(△))를 연산하고(단계 220), in(BTM, 이름(G(△)), t(△), N1, N2)를 수행하는데(단계 222), 이것은 저장된 오염 데이터를 갱신하는(단계 226) BTM으로 메시지가 송신되도록(단계 224) 야기한다. 그 후, 오염 데이터는 다음과 같게 된다:
Figure pat00003
N2는 수정된 화상 G(△)를 N3로 송신하게 되고(단계 228), out(BTM, 이름(G(△)), t(G(△)), N2, N3)을 수행하는데(단계 230), 이것은 화상(△)에 저장된 오염 데이터를 갱신하는(단계 234) BTM으로 메시지가 송신되도록(단계 232) 야기한다. 그 후, 오염 데이터는 다음과 같게 된다:
Figure pat00004
N1은 액션 hist(BTM, 이름(△))를 수행하는데(단계 236), 이것은 이름이 이름(△)인 화상에 대한 추적 히스토리를 획득하는(단계 240) BTM으로 요청 메시지가 송신되도록(단계 238) 야기하고, 메시지를 N1으로 송신한다(단계242). 그 결과는 "N1->N2; N2->N3"이고, 다시 말해, 화상이 N1에서 N2로 송신되었고 그 후 N2에서 N3로 송신되었다는 것이다.
유사한 방식으로, N2는 요청 hist(BTM, 이름(G(△))을 송신하여 히스토리 N2->N3를 얻을 수 있다. 그러나, 이름(△)의 지식 없이, N2는 N1으로부터 시작하는 히스토리를 얻을 수 없다.
동일한 값 fp(△)이 데이터 아이템(△)의 초기 오염과 이름 모두에 이용된다는 것이 인식될 것이다. 이 선택은 더 많은 히스토리 정보를 검색하기 위해 오염들에 대한 이름들의 링킹(linking) 및 이름들에 대한 오염들의 링킹을 허용할 수 있다.
최상의 기존 오염 추적 프레임워크들은 오염들에 256 비트를 제공하지 않기 때문에, SHA-3 해시 값의 크기는 적응을 요구할 수 있는 256 비트일 수 있다는 것이 또한 인식 될 것이다. 바람직한 적응은 오염들이 충분히 많은 비트를 갖게 하기 위해 프레임워크를 패치(patch)하는 것이다. 대안 적응은 수정되지 않은 오염 시스템에서 허용되는 비트의 최대수(페디그리는 64비트, 블레어는 26.6비트)에 대한 SHA-3 해시 값을 단축시키고, 그에 따라 핑거프린팅 일치 확인을 단축시키는 것이다.
바람직한 실시예에서, 제어된 시스템들은 스스로 BTM에 대하여 인증하도록 요구되지 않는다는 것이 또한 인식될 것이다. 제어된 시스템(E)은 동일한 것으로서 가칭을 이용한다: IP 주소, FQDN(Fully Qualified Domain Name) 또는 임의의 가명. 유일한 요구는 제어된 시스템(E)이 일관된 히스토리들을 원한다면 그 가칭이 시간이 지남에 따라 변해서는 안된다는 것이다. 그렇지 않다면, 제어된 시스템(E)은 그 새로운 가칭을 갖는 새로운 히스토리를 시작할 것이다.
또한, fp(△)는 초기 이름 및 초기 오염 모두로서 이용되기 때문에, fp(△)의 지식은 BTM에 대한 히스토리 요청을 만들기 위해 요구된다. 데이터 아이템(△)을 얻는 제어된 시스템은 용이하게 fp(△)를 연산할 수 있지만, 데이터 아이템(△)에 대한 액세스가 없는 시스템들 - 제어됨 또는 제어되지 않음 - 은 fp(△)를 연산할 수 없다.
한편, 오염 추적을 이용할 때 알려진 문제점은 오버트레이닝(overtraining)이다: 오염들의 충분한 전파 이후에 시스템의 각각의 단일 파일이 오염되는 리스크가 있는데, 이것은 오염 분석을 의미없게 만들 수 있다. 예를 들어, 오염된 화상(P)에 GIMP(Gnu Image Manipulation Program)를 이용한 이후에, 각각의 단일 화상이 오염되는데, 화상(P)의 오염이 GIMP 프로세스로 전파되기 때문이다; P의 "스토리" 내에 이러한 다른 화상들을 포함하는 것은 일반적으로 소용이 없다.
그에 따라, 특정 파일들에 대한 불필요한 전파를 방지하기 위해, 파일들을 해제하는 것, 즉, 고려되는 파일의 오염을 제거하는 것이 요구된다. 바람직한 로컬 해제 함수는 사용자에게, 불필요한 것으로 간주되는 특정 오염된 파일들을 제거하는 권한을 주고, 이것은 재귀 함수로서 표현될 수 있다.
Figure pat00005
함수 해제0(d,t)는 하루에 오염된 데이터 t(t≡오염≡데이터의 이름)를 수신했던 각각의 디바이스의 이름, 및 파생 파일들의 이름들, 즉, t로 오염되었지만 t는 아닌 파일들을 반환한다. 로컬 해제 함수를 n-레벨까지 동작시키는 것이 가능하다: 고려되는 오염들이 삭제되어야하는지를 사용자에게 묻는 각각의 시간.
본 개시는 홈 네트워크들 및 개인의 데이터 프라이버시에서의 직접적인 적용을 발견할 수 있다.
본 개시는 전형적인 핑거프린팅/워터마킹 접근법과 상이한 트레이터 추적(traitor tracing)을 허용할 수 있다. 특히, 본 개시는 워터마킹하기 어려운 데이터 상의 트레이터 추적을 허용할 수 있다: 암호화된 또는 압축된 데이터, 웹 애플리케이션 트래픽을 포함하는 비트 인코딩 데이터, 미가공 네트워크 패킷들, 소스 코드를 포함하는 텍스트 문서들, 등.
본 개시는 또한 미디어측정(mediametry)의 형태(즉, 시청률 측정)를 허용할 수 있다. 제어된 시스템(E)은 데이터 아이템(△)을 오염시킬 수 있고, 다수의 수신자들에게 데이터 아이템(△)을 자발적으로 유출(즉, 송신)할 수 있다. 이 파일을 수신할 때, 비제어된 시스템은 아무것도 보고하지 않을 것이지만, 제어된 시스템들은 액션 in(BTM,△,E,)를 이용하여 BTM에 보고할 것이다. 충분히 정직한 제어된 시스템이 사용된다면, 이것은 미디어측정 소스를 제공하게 된다.
본 개시는 상이한 제어된 시스템들 간에 오염 추적을 제공할 수 있다는 것이 인식될 것이다.
본 설명에서 개시된 각각의 특징 및 (적절한 곳에서) 청구항들 및 도면들은 독립적으로 또는 어느 적절한 상호결합으로 제공될 수 있다. 하드웨어에서 구현되는 것으로 설명된 특징들은 또한 소프트웨어에서 구현될 수 있고, 소프트웨어에서 구현되는 것으로 설명된 특징들은 또한 하드웨어에서 구현될 수 있다. 청구항들에서 나타나는 참조 번호들은 단지 도시의 방식에 의한 것이고 본 청구항들의 범위를 제한해서는 아니 된다.

Claims (14)

  1. 적어도 하나의 추가 오염 추적 장치(120)를 이용하여 오염 추적에 참여하기 위한 장치(110)로서,
    상기 장치는(110),
    데이터 아이템들에 대한 내부 오염들을 생성하고;
    데이터 아이템들에 대한 오염 추적을 수행하고 - 상기 데이터 아이템에 대한 오염 추적은 내부 오염을 적어도 하나의 추가 데이터 아이템에 전파하는 것을 포함함 -;
    데이터 아이템들을 추가 디바이스에 송신하고;
    상기 추가 디바이스에 송신된 각각의 데이터 아이템에 대하여, 상기 데이터 아이템에 대한 이름 및 오염을 오염 추적 개체(130)에 송신하도록
    구성되는 프로세서(111)
    를 포함하는 오염 추적 참여 장치.
  2. 제1항에 있어서,
    상기 프로세서는 또한, 상기 추가 디바이스로 송신된 각각의 데이터 아이템에 대하여, 상기 장치(110)의 식별자 및 상기 추가 디바이스(120)의 식별자를 상기 추적 개체에 송신하도록 구성되는, 오염 추적 참여 장치.
  3. 제1항에 있어서,
    상기 프로세서는 또한, 상기 추가 디바이스로부터 데이터 아이템들을 수신하고, 상기 추가 디바이스로부터 수신되는 각각의 데이터 아이템에 대하여, 상기 데이터 아이템에 대한 이름 및 오염을 오염 추적 개체(130)에 송신하도록 구성되는, 오염 추적 참여 장치.
  4. 제3항에 있어서,
    상기 프로세서는 또한, 상기 추가 디바이스로부터 수신되는 각각의 데이터 아이템에 대하여, 상기 장치(110)의 식별자 및 상기 추가 디바이스(120)의 식별자를 상기 추적 개체에 송신하도록 구성되는, 오염 추적 참여 장치.
  5. 제1항에 있어서,
    상기 데이터 아이템에 대한 이름은 상기 데이터 아이템에 대한 초기 내부 오염인, 오염 추적 참여 장치.
  6. 제1항에 있어서,
    상기 오염은 핑거프린팅 함수를 이용하여 획득되는, 오염 추적 참여 장치.
  7. 제6항에 있어서,
    상기 핑거프린팅 함수는 해시 함수인, 오염 추적 참여 장치.
  8. 제7항에 있어서,
    상기 해시 함수는 SHA-3인, 오염 추적 참여 장치.
  9. 오염 추적을 위한 방법으로서,
    장치(110)의 프로세서(111)에서,
    데이터 아이템에 대한 이름 및 오염을 생성하는 단계;
    상기 데이터 아이템을 추가 디바이스에 송신하는 단계; 및
    상기 데이터 아이템에 대하여, 상기 데이터 아이템에 대한 이름 및 오염을 오염 추적 개체(130)에 송신하는 단계
    를 포함하는 오염 추적 방법.
  10. 제9항에 있어서,
    상기 데이터 아이템에 대하여, 상기 장치(110)의 식별자 및 상기 추가 디바이스(120)의 식별자를 상기 추적 개체에 송신하는 단계를 더 포함하는 오염 추적 방법.
  11. 제9항에 있어서,
    상기 데이터 아이템에 대한 이름은 상기 데이터 아이템에 대한 초기 내부 오염인, 오염 추적 방법.
  12. 제9항에 있어서,
    상기 오염은 핑거프린팅 함수를 이용하여 획득되는, 오염 추적 방법.
  13. 제12항에 있어서,
    상기 핑거프린팅 함수는 해시 함수인, 오염 추적 방법.
  14. 제13항에 있어서,
    상기 해시 함수는 SHA-3인, 오염 추적 방법.
KR1020150078069A 2014-06-05 2015-06-02 데이터 오염 추적을 위한 장치 및 방법 KR20150140227A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP14305853.5 2014-06-05
EP14305853.5A EP2953045A1 (en) 2014-06-05 2014-06-05 Apparatus and method for data taint tracking

Publications (1)

Publication Number Publication Date
KR20150140227A true KR20150140227A (ko) 2015-12-15

Family

ID=50979713

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020150078069A KR20150140227A (ko) 2014-06-05 2015-06-02 데이터 오염 추적을 위한 장치 및 방법

Country Status (5)

Country Link
US (1) US20150356282A1 (ko)
EP (2) EP2953045A1 (ko)
JP (1) JP2016015128A (ko)
KR (1) KR20150140227A (ko)
CN (1) CN105183740A (ko)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9940479B2 (en) * 2015-10-20 2018-04-10 International Business Machines Corporation Identifying and tracking sensitive data
JP6095839B1 (ja) 2016-09-27 2017-03-15 株式会社野村総合研究所 セキュリティ対策プログラム、ファイル追跡方法、情報処理装置、配信装置、及び管理装置
US11354433B1 (en) 2019-03-25 2022-06-07 Trend Micro Incorporated Dynamic taint tracking on mobile devices

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6898707B1 (en) * 1999-11-30 2005-05-24 Accela, Inc. Integrating a digital signature service into a database
US20080021936A1 (en) * 2000-10-26 2008-01-24 Reynolds Mark L Tools and techniques for original digital files
US7895224B2 (en) * 2002-12-10 2011-02-22 Caringo, Inc. Navigation of the content space of a document set
US20040162918A1 (en) * 2003-02-17 2004-08-19 Richard Freidman System and method for invoking WebDAV methods via non-WebDAV communication protocols
US20050163151A1 (en) * 2003-08-12 2005-07-28 Omnitek Partners Llc Projectile having a casing and/or interior acting as a communication bus between electronic components
US20060203278A1 (en) * 2005-03-10 2006-09-14 Kabushiki Kaisha Toshiba Multi-function terminal device, document data management method and document data management program
US8806634B2 (en) * 2005-04-05 2014-08-12 Donald N. Cohen System for finding potential origins of spoofed internet protocol attack traffic
US20070220260A1 (en) * 2006-03-14 2007-09-20 Adobe Systems Incorporated Protecting the integrity of electronically derivative works
JP2008305035A (ja) * 2007-06-06 2008-12-18 Hitachi Ltd 装置、更新方法、および制御ソフト。
JP5471444B2 (ja) * 2007-08-29 2014-04-16 日本電気株式会社 コンテンツの公開システム及び該システムにおける公開コンテンツの保証方法
US8074281B2 (en) * 2008-01-14 2011-12-06 Microsoft Corporation Malware detection with taint tracking
JP5319133B2 (ja) * 2008-02-07 2013-10-16 キヤノン株式会社 文書管理システム、文書管理方法およびプログラム
US20090328210A1 (en) * 2008-06-30 2009-12-31 Microsoft Corporation Chain of events tracking with data tainting for automated security feedback
US20100153732A1 (en) * 2008-12-15 2010-06-17 Stmicroelectronics Rousset Sas cache-based method of hash-tree management for protecting data integrity
US20110060627A1 (en) * 2009-09-08 2011-03-10 Piersol Kurt W Multi-provider forms processing system with quality of service
JP5387282B2 (ja) * 2009-09-25 2014-01-15 富士通株式会社 コンテンツ処理装置、コンテンツの部分完全性保証のためのプログラム
JP5505044B2 (ja) * 2010-03-31 2014-05-28 富士通株式会社 静止画検証装置、静止画検証方法、および静止画検証プログラム
US8751795B2 (en) * 2010-09-14 2014-06-10 Mo-Dv, Inc. Secure transfer and tracking of data using removable non-volatile memory devices
US8893300B2 (en) * 2010-09-20 2014-11-18 Georgia Tech Research Corporation Security systems and methods to reduce data leaks in enterprise networks
US9367707B2 (en) * 2012-02-23 2016-06-14 Tenable Network Security, Inc. System and method for using file hashes to track data leakage and document propagation in a network
TWI461953B (zh) * 2012-07-12 2014-11-21 Ind Tech Res Inst 運算環境安全方法和電子運算系統
US20140130153A1 (en) * 2012-11-08 2014-05-08 International Business Machines Corporation Sound and effective data-flow analysis in the presence of aliasing
US9521001B2 (en) * 2014-04-28 2016-12-13 Adobe Systems Incorporated Privacy preserving electronic document signature service

Also Published As

Publication number Publication date
EP2953045A1 (en) 2015-12-09
CN105183740A (zh) 2015-12-23
EP2953046A1 (en) 2015-12-09
US20150356282A1 (en) 2015-12-10
JP2016015128A (ja) 2016-01-28

Similar Documents

Publication Publication Date Title
US11044097B2 (en) Blockchain recordation of device usage
US10592639B2 (en) Blockchain-based shadow images to facilitate copyright protection of digital content
US11868509B2 (en) Method and arrangement for detecting digital content tampering
US9735962B1 (en) Three layer key wrapping for securing encryption keys in a data storage system
CN112637166B (zh) 一种数据传输方法、装置、终端及存储介质
CN103189872B (zh) 联网环境中的安全和有效内容筛选的方法和装置
US10235539B2 (en) Server device, recording medium, and concealed search system
US8621237B1 (en) Protecting against cryptographic key exposure in source code
Van Rompay et al. A leakage-abuse attack against multi-user searchable encryption
US9515827B2 (en) Key management device, communication device, communication system, and computer program product
US8161296B2 (en) Method and apparatus for managing digital content
Accorsi A secure log architecture to support remote auditing
CN105490997B (zh) 安全校验方法、装置、终端及服务器
KR20130133243A (ko) 온라인 저장을 위한 장치 및 방법, 송신 장치 및 방법, 및 수신 장치 및 방법
CN109583218B (zh) 机密文件保护、定位方法、装置、设备及可读存储介质
KR20150140227A (ko) 데이터 오염 추적을 위한 장치 및 방법
US10592682B2 (en) Data storage apparatus, data processing method, and computer readable medium adding a user attribute of a revoked user to an embedded decryption condition while encrypted data remains in an encrypted state
JP4607023B2 (ja) ログ収集システム及びログ収集方法
Jacobino et al. TrustVault: A privacy-first data wallet for the European Blockchain Services Infrastructure
Ulybyshev Data Protection in Transit and at Rest with Leakage Detection
WO2024109575A1 (en) Method to validate ownership and authentication of a digital asset
US10902141B2 (en) Method, software program product, device, and system for managing data flow from a cloud storage device
JP6371255B2 (ja) 端末装置、サーバ、コンテンツ操作監視システム、コンテンツ操作監視方法およびプログラム
GB2607448A (en) Improvements in or relating to data transmission
JP2019060920A (ja) 情報処理装置及び情報処理プログラム