KR102365868B1 - 전자 장치 및 이의 잠재적 유해 애플리케이션 판단 방법 - Google Patents

전자 장치 및 이의 잠재적 유해 애플리케이션 판단 방법 Download PDF

Info

Publication number
KR102365868B1
KR102365868B1 KR1020200023876A KR20200023876A KR102365868B1 KR 102365868 B1 KR102365868 B1 KR 102365868B1 KR 1020200023876 A KR1020200023876 A KR 1020200023876A KR 20200023876 A KR20200023876 A KR 20200023876A KR 102365868 B1 KR102365868 B1 KR 102365868B1
Authority
KR
South Korea
Prior art keywords
traffic
application
touch event
electronic device
advertisement
Prior art date
Application number
KR1020200023876A
Other languages
English (en)
Other versions
KR20210108803A (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 아주대학교산학협력단
Priority to KR1020200023876A priority Critical patent/KR102365868B1/ko
Publication of KR20210108803A publication Critical patent/KR20210108803A/ko
Application granted granted Critical
Publication of KR102365868B1 publication Critical patent/KR102365868B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/554Detecting local intrusion or implementing counter-measures involving event detection and direct action
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/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
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

본 개시의 기술적 사상에 의한 일 양태에 따르면, 전자 장치의 잠재적 유해 애플리케이션 판단 방법에 있어서, 애플리케이션에 대한 터치 이벤트 로그와 트래픽을 수집하는 단계; 상기 터치 이벤트 로그를 기초로 터치 이벤트가 발생하였는지 판단하는 단계; 상기 수집된 트래픽이 광고 관련 트래픽인지 여부 및 백그라운드(background) 트래픽인지 여부를 판단하는 단계; 상기 전자 장치의 식별자가 변경되었는지 여부를 판단하는 단계; 및 상기 터치 이벤트의 발생 여부, 상기 수집된 트래픽이 광고 관련 트래픽인지 여부, 백그라운드 트래픽인지 여부 및 상기 전자 장치의 식별자가 변경되었는지 여부 중 적어도 하나 이상에 기초하여 상기 애플리케이션이 잠재적 유해 애플리케이션인지 여부를 판단하는 단계를 포함하는, 방법이 개시된다.

Description

전자 장치 및 이의 잠재적 유해 애플리케이션 판단 방법{ELECTRONIC DEVICE AND METHOD FOR DETERMINING POTENTIALLY HARMFUL APPLICATION THEREOF}
본 개시(disclosure)의 기술적 사상은 전자 장치 및 이의 잠재적 유해 애플리케이션 판단 방법에 관한 것으로, 보다 상세하게는, 터치 이벤트와 트래픽 분석을 기반으로 하는 전자 장치 및 이의 잠재적 유해 애플리케이션 판단 방법에 관한 것이다.
잠재적 유해 애플리케이션(Potentially Harmful Applications, PHA)은 잠재된 보안 위험을 내포한 애플리케이션으로, 잠재적 유해 애플리케이션에는 트로이 목마(trojan), 스파이웨어(spyware), 피싱(phishing) 등이 포함된다. 특히, 사용자 동의 없이 광고를 클릭하는 클릭 사기 또는 클릭 프라우드(Click-fraud) 애플리케이션도 잠재적 유해 애플리케이션에 포함된다. 이러한 클릭 프라우드 애플리케이션은 잠재적 유해 애플리케이션의 상당 부분을 차지한다.
클릭 프라우드 애플리케이션은 음악 재생, 게임 등 정상적인 기능을 하는 것처럼 보이지만, 사용자가 인지하지 못한 상황에서, 광고를 클릭하는 이벤트를 실행함으로써 검색자와 광고주 간의 접속 연결 횟수(유효 연결 횟수)를 측정하여 광고 클릭 당 단가를 적용하는 CPC(Cost Per Click) 방식, 검색자가 광고를 통해 애플리케이션(Application)을 설치하면 광고 비용을 지불하는 CPI(Cost Per Install) 방식, 검색자가 텍스트 또는 배너 등의 광고링크로 이동하여 특정 행동(예를 들면, 로그인, 회원가입, 튜토리얼 완료 등)을 수행하는 경우 광고 비용을 지불하는 CPA(Cost Per Action) 방식 등에 기반한 다양한 광고들에 대해 클릭 사기로 악용되고 있다.
이러한 PHA, 특히, 클릭 프라우드 애플리케이션은, 사용자가 의도하지 않게 광고를 클릭하는 이벤트를 실행하게 되거나, 애플리케이션을 설치하게 되거나, 회원 가입과 같은 의도하지 않은 행동을 수행하게 되는 피해를 입을 수 있게 하고, 광고주는 실제로는 광고 효과를 누리지 못하지만, 과중한 광고비용을 부담하게 할 수 있다.
이와 같이, 잠재적 유해 애플리케이션은 항상 피해를 주는 것은 아니나 잠재적인 위험을 가지고 있으므로, 이러한 잠재적 유해 애플리케이션을 검출하기 위한 방법이 필요하다.
본 개시의 기술적 사상에 따른 전자 장치 및 이의 잠재적 유해 애플리케이션 판단 방법이 이루고자 하는 기술적 과제는, 잠재적 유해 애플리케이션을 정확하게 검출할 수 있도록 하는데 있다.
본 개시의 기술적 사상에 따른 전자 장치 및 이의 잠재적 유해 애플리케이션 판단 방법이 이루고자 하는 기술적 과제는 이상에서 언급한 과제로 제한되지 않으며, 언급되지 않은 또 다른 과제는 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.
본 개시의 기술적 사상에 의한 일 양태에 따르면, 전자 장치의 잠재적 유해 애플리케이션 판단 방법에 있어서, 애플리케이션에 대한 터치 이벤트 로그와 트래픽을 수집하는 단계; 상기 터치 이벤트 로그를 기초로 터치 이벤트가 발생하였는지 판단하는 단계; 상기 수집된 트래픽이 광고 관련 트래픽인지 여부 및 백그라운드(background) 트래픽인지 여부를 판단하는 단계; 상기 전자 장치의 식별자가 변경되었는지 여부를 판단하는 단계; 및 상기 터치 이벤트의 발생 여부, 상기 수집된 트래픽이 광고 관련 트래픽인지 여부, 백그라운드 트래픽인지 여부 및 상기 전자 장치의 식별자가 변경되었는지 여부 중 적어도 하나 이상에 기초하여 상기 애플리케이션이 잠재적 유해 애플리케이션인지 여부를 판단하는 단계를 포함하는, 방법이 개시된다.
예시적인 실시예에 따르면, 상기 애플리케이션이 잠재적 유해 애플리케이션인지 여부를 판단하는 단계는, 상기 수집된 트래픽이 광고 관련 트래픽이고, 백그라운드 트래픽이며, 터치 이벤트가 발생하지 않은 경우, 상기 애플리케이션을 잠재적 유해 애플리케이션으로 판단하는 단계를 포함할 수 있다.
예시적인 실시예에 따르면, 상기 애플리케이션이 잠재적 유해 애플리케이션인지 여부를 판단하는 단계는, 상기 수집된 트래픽이 광고 관련 트래픽이고, 백그라운드 트래픽이며, 터치 이벤트가 발생하였고, 디바이스 식별자가 변경된 경우, 상기 애플리케이션을 잠재적 유해 애플리케이션으로 판단하는 단계를 포함할 수 있다.
예시적인 실시예에 따르면, 상기 애플리케이션이 잠재적 유해 애플리케이션인지 여부를 판단하는 단계는, 상기 수집된 트래픽이 광고 관련 트래픽이고, 포그라운드(foreground) 트래픽이며, 디바이스 식별자가 변경된 경우, 상기 애플리케이션을 잠재적 유해 애플리케이션으로 판단하는 단계를 포함할 수 있다.
예시적인 실시예에 따르면, 상기 애플리케이션이 잠재적 유해 애플리케이션인지 여부를 판단하는 단계는, 상기 수집된 트래픽이 광고 관련 트래픽이고, 포그라운드(foreground) 트래픽이며, 정상적인 터치 이벤트가 발생하지 않은 경우, 상기 애플리케이션을 잠재적 유해 애플리케이션으로 판단하는 단계를 포함할 수 있다.
예시적인 실시예에 따르면, 상기 애플리케이션에 대한 터치 이벤트 로그와 트래픽을 수집하는 단계는, 커널 레벨(kernel level)의 사용자의 입력 이벤트(input_event_from_user) 함수를 이용하여, 상기 터치 이벤트의 발생 시간 및 터치가 발생한 위치를 상기 터치 이벤트 로그에 기록하는 단계를 포함할 수 있다.
예시적인 실시예에 따르면, 상기 애플리케이션에 대한 터치 이벤트 로그와 트래픽을 수집하는 단계는, 상기 애플리케이션에 의해 발생되거나 수신되는 트래픽을 수집하는 단계를 포함할 수 있다.
예시적인 실시예에 따르면, 상기 터치 이벤트 로그를 기초로 터치 이벤트가 발생하였는지 판단하는 단계는, 상기 터치 이벤트 로그에 기록된 상기 터치 이벤트의 발생 시간 및 터치가 발생한 위치를 기초로, 상기 애플리케이션에 대한 상기 터치 이벤트가 발생하였는지 여부를 판단하는 단계를 포함할 수 있다.
예시적인 실시예에 따르면, 상기 수집된 트래픽이 광고 관련 트래픽인지 여부 및 백그라운드 트래픽인지 여부를 판단하는 단계는, EasyList ad-blocking 필터를 이용하여, 상기 수집한 트래픽을 필터링하는 단계; 및 상기 필터링된 트래픽을 상기 광고 관련 트래픽으로 판단하는 단계를 포함할 수 있다.
예시적인 실시예에 따르면, 상기 수집된 트래픽이 광고 관련 트래픽인지 여부 및 백그라운드 트래픽인지 여부를 판단하는 단계는, Query 파라미터가 특정 클라이언트 장치를 식별하기 위한 정보, 광고를 찾기 위한 브라우저 정보 및 국가명 중 적어도 하나 이상을 포함하고, 응답(response)가 이미지 및 자바스크립트(javascript) 중 적어도 하나 이상을 포함하는 경우, 상기 수집한 트래픽을 상기 광고 관련 트래픽으로 판단하는 단계를 포함할 수 있다.
예시적인 실시예에 따르면, 상기 전자 장치의 식별자는, IMEI(international mobile equipment identity) 및 상기 전자 장치의 ID(identification)을 중 적어도 하나 이상을 포함할 수 있다.
예시적인 실시예에 따르면, 상기 애플리케이션이 잠재적 유해 애플리케이션으로 판단되는 경우, 디스플레이, 진동, 소리 및 라이트(light) 중 적어도 하나 이상의 출력 방법을 이용하여, 상기 애플리케이션을 상기 전자 장치의 사용자에게 알림(notification)을 출력하는 단계를 더 포함할 수 있다.
예시적인 실시예에 따르면, 상기 애플리케이션이 잠재적 유해 애플리케이션으로 판단되는 경우, 디스플레이, 진동, 소리 및 라이트(light) 중 적어도 하나 이상의 출력 방법을 이용하여, 상기 애플리케이션을 상기 전자 장치의 사용자에게 알림(notification)을 출력하는 단계를 더 포함할 수 있다.
본 개시의 기술적 사상에 의한 다른 양태에 따르면, 잠재적 유해 애플리케이션을 판단하는 전자 장치에 있어서, 통신부; 상기 잠재적 유해 애플리케이션을 판단하기 위한 프로그램을 저장하는 적어도 하나 이상의 메모리; 상기 적어도 하나 이상의 메모리에 저장된 상기 잠재적 유해 애플리케이션을 판단하기 위한 프로그램을 실행함으로써, 애플리케이션에 대한 터치 이벤트 로그와 트래픽을 수집하고, 상기 터치 이벤트 로그를 기초로 터치 이벤트가 발생하였는지 판단하며, 상기 수집된 트래픽이 광고 관련 트래픽인지 여부 및 백그라운드(background) 트래픽인지 여부를 판단하고, 상기 전자 장치의 식별자가 변경되었는지 여부를 판단하고, 상기 터치 이벤트의 발생 여부, 상기 수집된 트래픽이 광고 관련 트래픽인지 여부, 백그라운드 트래픽인지 여부 및 상기 전자 장치의 식별자가 변경되었는지 여부 중 적어도 하나 이상에 기초하여 상기 애플리케이션이 잠재적 유해 애플리케이션인지 여부를 판단하는, 전자 장치가 개시된다.
본 개시의 기술적 사상에 의한 실시예들에 따른 전자 장치 및 이의 잠재적 유해 애플리케이션 판단 방법에 따르면, 높은 정확도로 잠재적 유해 애플리케이션을 검출할 수 있는 효과가 있다.
본 개시의 기술적 사상에 따른 전자 장치 및 이의 잠재적 유해 애플리케이션 판단 방법이 얻을 수 있는 효과는 이상에서 언급한 효과로 제한되지 않으며, 언급하지 않은 또 다른 효과들은 아래의 기재로부터 본 개시가 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
본 개시에서 인용되는 도면을 보다 충분히 이해하기 위하여 각 도면의 간단한 설명이 제공된다.
도 1은 클릭 프라우드(Click-fraud) 공격 시나리오를 설명하기 위한 도면이다.
도 2는 본 개시의 기술적 사상에 의한 일 실시예에 따른 전자 장치의 잠재적 유해 애플리케이션 판단 방법을 설명하기 위한 순서도이다.
도 3은 본 개시의 기술적 사상에 의한 일 실시예에 따른 이벤트 기반의 모니터링을 설명하기 위한 도면이다.
도 4는 본 개시의 기술적 사상에 의한 일 실시예에 따른 전자 장치의 내부 구성을 나타내는 블록도이다.
본 개시의 기술적 사상은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시 예들을 도면에 예시하고 이를 상세히 설명하고자 한다. 그러나, 이는 본 개시의 기술적 사상을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 개시의 기술적 사상의 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
본 개시의 기술적 사상을 설명함에 있어서, 관련된 공지 기술에 대한 구체적인 설명이 본 개시의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다. 또한, 본 개시의 설명 과정에서 이용되는 숫자(예를 들어, 제1, 제2 등)는 하나의 구성요소를 다른 구성요소와 구분하기 위한 식별기호에 불과하다.
또한, 본 개시에서, 일 구성요소가 다른 구성요소와 "연결된다" 거나 "접속된다" 등으로 언급된 때에는, 상기 일 구성요소가 상기 다른 구성요소와 직접 연결되거나 또는 직접 접속될 수도 있지만, 특별히 반대되는 기재가 존재하지 않는 이상, 중간에 또 다른 구성요소를 매개하여 연결되거나 또는 접속될 수도 있다고 이해되어야 할 것이다.
또한, 본 개시에 기재된 "~부", "~기", "~자", "~모듈" 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 프로세서(Processor), 마이크로 프로세서(Micro Processer), 마이크로 컨트롤러(Micro Controller), CPU(Central Processing Unit), GPU(Graphics Processing Unit), APU(Accelerate Processor Unit), DSP(Digital Signal Processor), ASIC(Application Specific Integrated Circuit), FPGA(Field Programmable Gate Array) 등과 같은 하드웨어나 소프트웨어 또는 하드웨어 및 소프트웨어의 결합으로 구현될 수 있다.
그리고 본 명세서에서의 구성부들에 대한 구분은 각 구성부가 담당하는 주기능 별로 구분한 것에 불과함을 명확히 하고자 한다. 즉, 이하에서 설명할 2개 이상의 구성부가 하나의 구성부로 합쳐지거나 또는 하나의 구성부가 보다 세분화된 기능별로 2개 이상으로 분화되어 구비될 수도 있다. 그리고 이하에서 설명할 구성부 각각은 자신이 담당하는 주기능 이외에도 다른 구성부가 담당하는 기능 중 일부 또는 전부의 기능을 추가적으로 수행할 수도 있으며, 구성부 각각이 담당하는 주기능 중 일부 기능이 다른 구성부에 의해 전담되어 수행될 수도 있음은 물론이다.
명세서 전체에서 코드 및 리소스 데이터는 소스 코드(Source Code), 기계어 코드, 어셈블리 코드(Assembly Code) 등을 포함할 수 있으며, 애플리케이션 내에 포함된, 애플리케이션을 구동하기 위해 특정 언어로 작성된 코드 형태의 데이터를 모두 포함할 수 있다. 물론 상기 예시에 제한되지 않는다.
명세서 전체에서 함수(Function)란 명령어(Instruction)를 포함하며, 애플리케이션과 같은 소프트웨어에서 특정 동작을 수행하는 코드 또는 코드의 집합을 의미할 수 있으며, 상기 예시에 제한되지 않는다.
명세서 전체에서, 애플리케이션(Application)이란, 애플리케이션뿐만 아니라, 프로그램(Program), 애플리케이션 패키지(Application Package) 등을 포함하며, 상기 예시에 제한되지 않는다. 즉, 애플리케이션은 코드 데이터를 포함하는 모든 소프트웨어를 포함할 수 있다.
이하, 본 개시의 기술적 사상에 따른 실시 예들을 차례로 상세히 설명한다.
도 1은 클릭 프라우드(Click-fraud) 공격 시나리오를 설명하기 위한 도면이다.
위에서 설명한 것과 같이, 클릭 프라우드 애플리케이션은, 검색자와 광고주 간의 접속 연결 횟수(유효 연결 횟수)를 측정하여 광고 클릭 당 단가를 적용하는 CPC(Cost Per Click) 방식, 검색자가 광고를 통해 애플리케이션(Application)을 설치하면 광고 비용을 지불하는 CPI(Cost Per Install) 방식, 검색자가 텍스트 또는 배너 등의 광고 링크로 이동하여 특정 행동(예를 들면, 로그인, 회원가입, 튜토리얼 완료 등)을 수행하는 경우 광고 비용을 지불하는 CPA(Cost Per Action) 방식 등으로 동작할 수 있다. 이 중, 클릭 프라우드 애플리케이션의 대표적인 방식인 CPC(Cost Per Click) 방식의 클릭 프라우드(Click-fraud) 공격 시나리오를 설명하도록 한다.
CPC(Cost-Per-Click)는 사용자가 웹 사이트 텍스트 또는 배너 등의 광고 링크를 클릭한 만큼 퍼블리셔(Publisher)가 광고주(Advertiser)로부터 수익을 얻는 방식이다. 보다 구체적으로, CPC 수익 구조를 설명하면, 다음과 같다. 광고주(Advertiser, 10)는 광고가 광고 네트워크(Ad-network, 20)에 의해 유통되도록 광고를 광고 네트워크(20)에 등록한다. 또한, 퍼블리셔(Publisher, 30)도 스스로를 광고 네트워크(20)에 등록하여, 광고주(10)가 광고 네트워크(20)에 등록한 광고를 광고 네트워크(20)에 요청하여 전자 장치(40)에게 제공하기 위하여 광고 SDK 라이브러리(ad-Software Development Kit library)를 사용하는 애플리케이션을 생성(제작)한다. 퍼블리셔(30)는 해당 애플리케이션을 이용하여, 전자 장치(40)의 사용자의 광고 클릭에 따라 광고주(10)로부터 수익을 얻는다.
도 1을 참조하여, CPC 수익 구조의 취약점을 이용한 클릭 프라우드 공격 시나리오를 보다 상세히 설명하도록 한다.
단계 1에서 광고주는 광고가 광고 네트워크(20)에 의해 유통되도록 광고를 광고 네트워크(20)에 등록한다(Add new ad).
단계 2에서 공격자는 광고 네트워크(20)에 복수의 퍼블리셔(30)로 자신을 등록한다. 즉, 공격자는 많은 수의 전자 장치(40)에게 클릭 프라우드 애플리케이션을 제공하기 위하여 자신을 많은 수의 퍼블리셔로 등록할 수 있다.
단계 3에서 공격자는 광고 네트워크(20)로부터 광고 SDK 라이브러리를 수신한다. 공격자는 광고 네트워크(20)로부터 수신한 광고 SDK 라이브러리를 사용하는 클릭 프라우드 애플리케이션을 생성(제작)한다.
단계 4에서 공격자는 생성(제작)한 광고 SDK 라이브러리를 사용하는 클릭 프라우드 애플리케이션을 사용자 디바이스들에게 배포한다. 일반적으로 클릭 프라우드 애플리케이션은 전자 장치(40)의 사용자 관점에서는 음악 재생, 카메라, 게임 등의 정상 기능을 수행하지만, 추가적으로 클릭 프라우드 동작을 수행할 수 있다.
단계 5에서 공격자는 클릭 프라우드 애플리케이션에 내장된 광고 SDK 라이브러리를 사용하여 사용자 동의 없이 광고 네트워크에 광고를 요청하거나, 광고 SDK 라이브러리를 사용하지 않고 직접 광고 네트워크에 광고 URL(Uniform Resource Locator)을 요청하기도 한다.
단계 6에서 공격자는 광고주에게서 사용자 디바이스의 클릭 사기 또는 광고 요청에 따른 수익을 얻는다.
다만, 위에서 설명한 것과 같이 이러한 시나리오는, 클릭 프라우드 공격을 설명하기 위한 CPC 수익 구조의 취약점을 이용한 클릭 프라우드 공격 시나리오의 일 예이며, 다양한 형태의 광고 형태에 따라 공격자의 공격 방법은 달라질 수 있으며, 동일한 CPC 광고라 하더라도 다양한 방식의 클릭 프라우드 공격 방법이 존재할 수 있다.
이러한 클릭 프라우드 애플리케이션과 같은 잠재적 유해 애플리케이션(Potentially Harmful Applications, PHA)은 단순히 광고를 표시하고 사용자가 클릭하기를 기다리는 대신 광고에 대한 사용자 클릭을 시뮬레이션 하여, 공격자, 즉, PHA 생성자는 광고 수익 구조의 취약점을 이용하여 부정한 방법으로 수익을 창출할 수 있다. 이에 따라 광고주는 광고가 실제 고객에게 노출되지 않았음에도 광고 예산이 소비되고, 사용자들의 제한된 데이터 자원을 소비하게 한다는 문제가 있다.
나아가, 이러한 클릭 프라우드 애플리케이션과 같은 PHA는 정상적인 기능을 하는 것처럼 보이지만, 백그라운드에서 사용자 동의 없이 가짜 클릭 이벤트를 전송한다. 만약, 클릭 프라우드 애플리케이션에 대해 전화번호부 읽기 및 쓰기, 문자 읽기 등의 위험 권한을 허용해준다면, 공격자는 사용자의 전화를 가로채거나, 개인정보 유출을 하거나 또는 다른 PHA를 다운받는 등의 위험 작업을 추가로 수행할 수 있다. 이와 같이, PHA는 사용자가 겉으로 보기에는 정상적인 기능을 수행하는 애플리케이션과 같이 동작하므로, 탐지하는 것이 쉽지 않다는 문제가 있다. 본 개시의 일 실시예에 따르면, 트래픽을 수집하여 분석하고, 터치 이벤트(touch event)가 발생하였는지 여부에 따라 클릭 프라우드 애플리케이션과 같은 PHA를 탐지할 수 있다.
도 2는 본 개시의 기술적 사상에 의한 일 실시예에 따른 전자 장치의 잠재적 유해 애플리케이션 판단 방법을 설명하기 위한 순서도이다.
먼저, 210 단계 및 220 단계에서, 전자 장치는 애플리케이션에 대한 터치 이벤트 로그와 트래픽을 수집한다. 일 실시예에서, 전자 장치는, 특정 애플리케이션에 의해 발생되거나 수신되는 트래픽을 수집할 수 있다.
일 실시예에서, 210 단계와 220 단계는 동시에 병렬적으로 수행될 수도 있고, 순차적으로 수행될 수도 있다. 순차적으로 수행되는 경우, 210 단계, 즉, 터치 이벤트 로그 수집이 먼저 수행될 수도 있고, 220 단계, 즉, 트래픽 수집이 먼저 수행될 수도 있다.
230 단계에서, 전자 장치는 수집된 트래픽이 광고 관련 트래픽인지 여부를 판단한다. 보다 구체적으로, 전자 장치는 트래픽을 수집하기 위한 트래픽 컬렉터(traffic collector)를 포함할 수 있다. 트래픽 컬렉터는 EasyList ad-blocking 필터 및/또는 HTTP 요청 및 응답(request-response) 관계를 이용하여, 수집된 트래픽이 광고 관련 트래픽인지 여부를 판단할 수 있다.
보다 구체적으로, 일 실시예에서, 전자 장치는 EasyList ad-blocking 필터를 이용하여 수집한 트래픽을 필터링하고, 필터링된 트래픽을 광고 관련 트래픽으로 판단할 수 있다. 일 예로, URL, DOM(Document Object Model) element, 써드 파티(third-party) 광고 도메인을 필터링하여, 광고 관련 트래픽 인지 여부를 결정한다. EasyList는 ad-blocker에서 많이 사용되는 광고 차단 필터로, EasyList ad-blocking 필터를 통해 해당 요청이 광고 요청인지 여부를 판단할 수 있다.
또한, 일 실시예에서, 전자 장치는 Query 파라미터가 특정 클라이언트 장치를 식별하기 위한 정보, 광고를 찾기 위한 브라우저 정보 및 국가명 중 적어도 하나 이상을 포함하고, 응답(response)가 이미지 및 자바스크립트(javascript) 중 적어도 하나 이상을 포함하는 경우, 수집한 트래픽을 광고 관련 트래픽으로 판단할 수 있다. 웹 광고와 관련된 HTTP 요청 및 응답(request-response)과 관련하여, 공통적으로 요청(request)에는 사용자 기기 식별을 위한 많은 파라미터(parameter)가 포함되어 있고, 응답(response)의 경우 광고에 해당하는 이미지 및 자바스크립트(javascript)가 포함되어 있다. 따라서. 요청에 다수의 파라미터가 포함되어 있으면서, 응답에 이미지 및 자바스크립트가 오는 경우, 이를 광고 관련 트래픽이라 판단할 수 있다.
일 실시예에서, 전자 장치는 EasyList ad-blocking 필터 및/또는 HTTP 요청 및 응답(request-response)를 이용하여 동시에 병렬적으로 또는 순차적으로 수행될 수도 있다. 다만, EasyList ad-blocking 필터를 이용하여 먼저 광고 트래픽인지 여부를 판단하고, EasyList ad-blocking 필터에 등록되어 있지 않은, 즉, 알려지지 않은 광고 도메인의 경우에 Http 요청 및 응답 모듈을 사용하여 광고 관련 트래픽인지 검사하는 것이 바람직할 것이다. 도 3을 참조하여 설명하도록 한다.
230 단계에서, 수집된 트래픽이 광고 관련 트래픽인 경우, 240 단계로 진행하고, 광고 관련 트래픽이 아닌 경우, 다시 230 단계로 돌아가 수집되는 트래픽이 광고 관련 트래픽인지 여부를 판단한다.
240 단계예서, 전자 장치는 수집된 트래픽이 백그라운드(background) 트래픽인지 여부를 판단한다. 즉, 전자 장치는 수집된 트래픽이 백그라운드(background)에서 발생한 트래픽인지 아니면 포그라운드(foreground)에서 발생한 트래픽인지 여부를 판단할 수 있다. 포그라운드에서 발생한 트래픽의 경우, 사용자 입력 또는 사용자가 현재 사용 중인 애플리케이션에 의해 발생한 트래픽일 가능성이 높고, 백그라운드에서 발생한 트래픽인 경우, 사용자의 의도와 관계없이 발생한 트래픽일 가능성이 높다.
240 단계에서, 수집된 트래픽이 백그라운드 트래픽인 경우, 즉, 수집된 트래픽이 광고 관련 트래픽이고, 백그라운드 트래픽인 경우, 전자 장치는 250 단계로 진행하여, 터치 이벤트 로그를 기초로 터치 이벤트가 발생하였는지 판단한다. 일 실시예에서, 전자 장치는 커널 레벨(kernel level)의 사용자의 입력 이벤트(input_event_from_user) 함수를 이용하여, 터치 이벤트의 발생 시간 및 터치가 발생한 위치를 터치 이벤트 로그에 기록할 수 있다.
일 실시예에서, 전자 장치는 터치 이벤트를 수집하기 위한 터치 이벤트 컬렉터(touch event collector)를 포함할 수 있다. 터치 이벤트 컬렉터는 커널 레벨에 있는 사용자의 입력 이벤트(input_event_from_user) 함수에 의해 터치 이벤트 로그(touch_events.log) 파일에 기록된 터치 이벤트의 발생 시간 및 터치가 발생한 좌표 위치를 수집할 수 있다. 공격자가 임의로 광고 클릭 신호를 생성한 경우, 실제로 사용자로부터 터치 입력이 있었던 것이 아니므로, 사용자의 입력 이벤트 함수에 의해 터치 이벤트 로그 파일에 터치 이벤트가 기록되지 않는다. 따라서, 전자 장치는 터치 이벤트 로그를 기초로 실제 터치 이벤트가 발생하였는지 여부를 판단할 수 있다.
250 단계에서, 터치 이벤트가 발생하지 않은 경우, 전자 장치는 280 단계로 진행하여 해당 애플리케이션을 위험한 애플리케이션으로 판단할 수 있다. 즉, 수집된 트래픽이 광고 관련 트래픽이고, 백그라운드 트래픽이며, 터치 이벤트가 발생하지 않은 경우, 해당 애플리케이션을 잠재적 유해 애플리케이션으로 판단할 수 있다. 터치 이벤트 로그 파일에 기록된 터치 이벤트, 즉, 클릭 기록이 없지만 백그라운드(background)에서 광고 트래픽이 발생한 경우, 이러한 트래픽은 사용자의 동의 없이 발생한 광고 트래픽에 해당하므로, 전자 장치는 이러한 트래픽을 발생시키는 애플리케이션을 잠재적 유해 애플리케이션으로 판단할 수 있다.
250 단계에서, 터치 이벤트가 발생한 경우, 전자 장치는 260 단계 또는 270 단계로 진행한다.
240 단계에서 수집된 트래픽이 백그라운드 트래픽이 아닌 경우, 즉, 수집된 트래픽이 광고 관련 트래픽이고, 포그라운드 트래픽인 경우, 전자 장치는 260 단계 또는 270 단계로 진행한다.
애플리케이션이 포그라운드에 있는 경우, 사용자의 애플리케이션 사용, 예를 들어, 사용자의 터치 입력 등으로 인해 터치 이벤트와 클릭 프라우드 트래픽이 동시에 발생할 수 있다. 따라서, 포그라운드에서 광고 트래픽이 발생한 경우, 악성 행위와 관련된 검사를 추가적으로 수행하여 클릭 프라우드 동작에 의해 발생된 트래픽인지 여부를 확인할 필요가 있다.
260 단계에서, 전자 장치는 전자 장치의 식별자가 변경되었는지 여부를 판단한다. 일 실시예에서, 전자 장치의 식별자는 IMEI(international mobile equipment identity), 전자 다바이스의 ID(identification) 등을 포함할 수 있다. 광고 네트워크(예를 들어, Cauly Ads)에서는 특정 기간 동안 IMEI 또는 전자 장치 ID 당 최대 광고 요청 수에 제한을 두고 있다. 이에 따라, 공격자들은 단기간에 많은 광고 수익을 얻기 위해 전자 장치의 식별자를 수정하여 이를 우회하고 단기간에 많은 광고 요청을 한다. 따라서, 사용자 기기의 settings.db 파일 내 전자 장치 ID의 수정 여부를 검사하여, 공격자가 클릭 프라우드를 위해 이러한 제한을 우회하였는지 검사한다. 만약 IMEI 또는 전자 장치 ID가 수정되었다면, 공격자가 우회하기 위한 작업을 수행하여 클릭 프라우드가 일어났음을 추정할 수 있다.
따라서, 260 단계에서, 전자 장치의 식별자가 변경된 경우, 전자 장치는 280 단계로 진행하여, 해당 애플리케이션을 잠재적 유해 애플리케이션으로 판단할 수 있다. 즉, 수집된 트래픽이 광고 관련 트래픽이고, 백그라운드 트래픽이며, 터치 이벤트가 발생하였고, 디바이스 식별자가 변경된 경우, 전자 장치는 이러한 트래픽을 발생시키는 애플리케이션을 잠재적 유해 애플리케이션으로 판단할 수 있다. 또한, 수집된 트래픽이 광고 관련 트래픽이고, 포그라운드(foreground) 트래픽이며, 디바이스 식별자가 변경된 경우, 전자 장치는 이러한 트래픽을 발생시키는 애플리케이션을 잠재적 유해 애플리케이션으로 판단할 수 있다.
260 단계에서, 전자 장치의 식별자가 변경되지 않은 경우, 전자 장치는 270 단계로 진행한다.
270 단계에서, 전자 장치는 정상적인 터치 이벤트가 발생하였는지 여부를 판단한다. 즉, 수집된 트래픽이 광고 관련 트래픽이고, 백그라운드 트래픽이며, 터치 이벤트가 발생한 경우에, 터치 이벤트가 정상적인 터치 이벤트인지 여부를 판단할 수 있다. 일 실시예에서, 정상적인 터치 이벤트는 터치 입력이 이루어진 좌표에서 해당 트래픽이 발생한 경우, 정상적인 터치 이벤트로 판단할 수 있다. 백그라운드 트래픽이라 하더라도 정상적인 터치 이벤트, 예를 들어, 사용자 입력에 의해 광고 관련 트래픽이 발생한 경우, 이러한 동작은 정상적인 애플리케이션의 동작이라고 판단할 수 있다. 하지만, 백그라운드 트래픽과 전혀 관련이 없이 터치 이벤트가 발생한 경우, 이러한 터치 이벤트는 백그라운드 트래픽과 관련이 없는 터치 이벤트이므로, 전자 장치는 이러한 트래픽을 발생시키는 애플리케이션을 잠재적 유해 애플리케이션으로 판단할 수 있다.
따라서, 270 단계에서, 전자 장치가 터치 이벤트가 정상적인 터치 이벤트가 아니라고 판단하는 경우, 전자 장치는 280 단계로 진행하여 해당 애플리케이션을 잠재적 유해 애플리케이션으로 판단할 수 있다. 즉, 수집된 트래픽이 광고 관련 트래픽이고, 백그라운드 트래픽이며, 터치 이벤트가 발생하였고, 터치 이벤트가 정상적인 터치 이벤트가 아닌 경우, 이러한 트래픽을 발생시키는 애플리케이션을 잠재적 유해 애플리케이션으로 판단할 수 있다. 또한, 수집된 트래픽이 광고 관련 트래픽이고, 포그라운드(foreground) 트래픽이며, 정상적인 터치 이벤트가 발생하지 않은 경우, 이러한 트래픽을 발생시키는 애플리케이션을 잠재적 유해 애플리케이션으로 판단할 수 있다.
270 단계에서, 정상적인 터치 이벤트가 발생한 경우, 전자 장치는 다시 230 단계로 돌아가 수집되는 트래픽이 광고 관련 트래픽인지 여부를 판단한다. 터치 이벤트가 정상적인 터치 이벤트인 경우, 이러한 트래픽을 발생시키는 애플리케이션을 잠재적 유해 애플리케이션으로 판단할 수 있다. 따라서, 전자 장치는 다시 트래픽 수집 동작을 시작할 있다.
도 2에 도시하지는 않았으나, 일 실시예에서, 전자 장치는 애플리케이션이 잠재적 유해 애플리케이션으로 판단되는 경우, 디스플레이, 진동, 소리 및 라이트(light) 중 적어도 하나 이상의 출력 방법을 이용하여, 전자 장치의 사용자에게 알림(notification)을 출력할 수 있다. 즉, 전자 장치는 사용자에게 잠재적 유해 애플리케이션이 설치되어 있음을 알려줄 수 있다.
또한, 일 실시예에서, 전자 장치는 애플리케이션이 잠재적 유해 애플리케이션으로 판단되는 경우, 해당 애플리케이션을 격리 또는 삭제할 수 있다. 즉, 전자 장치는 잠재적 유해 애플리케이션으로 인한 피해를 방지하기 위한 동작을 수행할 수 있다.
도 3은 본 개시의 기술적 사상에 의한 일 실시예에 따른 이벤트 기반의 모니터링을 설명하기 위한 도면이다.
도 3을 참조하면, 전자 장치는 트래픽을 수집하기 위한 트래픽 컬렉터(traffic collector, 310)와 터치 이벤트를 수집하기 위한 터치 이벤트 컬렉터(touch event collector, 320)를 포함할 수 있다.
일 실시예에서, 트래픽 컬렉터(310)는 애플리케이션에 의해 발생되는 트래픽을 수집하여, 먼저, EasyList ad-blocking 필터를 이용하여 필터링을 수행하고, EasyList ad-blocking 필터에 등록되어 있지 않은, 즉, 알려지지 않은 광고 도메인의 경우에 Http 요청 및 응답 모듈을 사용하여 광고 관련 트래픽인지 검사하여, 해당 트래픽이 광고 트래픽인지 여부를 판단할 수 있다.
일 실시예에서, 터치 이벤트 컬렉터(320)는 커널 레벨에 있는 사용자의 입력 이벤트(input_event_from_user) 함수에 의해 터치 이벤트 로그(touch_events.log) 파일에 기록된 터치 이벤트의 발생 시간 및 터치가 발생한 좌표 위치를 수집할 수 있다.
전자 장치는 이와 같이 수집한 트래픽과 터치 이벤트를 기초로, 해당 애플리케이션이 잠재적 유해 애플리케이션인지 여부를 판단할 수 있다.
도 4는 본 개시의 기술적 사상에 의한 일 실시예에 따른 전자 장치의 내부 구성을 나타내는 블록도이다.
도 4를 참조하면, 본 개시의 일 실시예에 따른 전자 장치(400)는 그 하드웨어 구성에 따라 통신부(410), 프로세서(420) 및 메모리(430)를 포함할 수 있다. 이는 일 예에 불과하며, 전자 장치(400)의 구성이 이에 한정되는 것은 아니다. 예를 들어, 전자 장치(400)는 다른 구성을 더 포함하거나, 도 4에 개시된 구성 중 일부를 포함하지 않을 수도 있다.
일 실시예에서, 통신부(410)는 프로세서(420)의 제어에 의해 외부 장치 또는 외부 서버와 데이터 또는 신호를 송수신할 수 있다.
통신부(410)는 유무선 통신부를 포함할 수 있다. 통신부(410)가 유선 통신부를 포함하는 경우, 통신부(410)는 근거리 통신망(Local Area Network; LAN), 광역 통신망(Wide Area Network; WAN), 부가가치 통신망(Value Added Network; VAN), 이동 통신망(mobile radio communication network), 위성 통신망 및 이들의 상호 조합을 통하여 통신을 하게 하는 하나 이상의 구성요소를 포함할 수 있다. 또한, 통신부(410)가 무선 통신부를 포함하는 경우, 통신부(410)는 셀룰러 통신, 무선랜(예를 들어, 와이-파이(Wi-Fi)) 등을 이용하여 무선으로 데이터 또는 신호를 송수신할 수 있다.
일 실시예에서, 프로세서(420)는 전자 장치(400)의 전반적인 동작을 제어할 수 있다. 프로세서(420)는 메모리(430)에 저장되는 하나 이상의 프로그램들을 실행할 수 있다. 프로세서(420)는 메모리(430)에 저장된 프로그램을 실행함으로써, 애플리케이션에 대한 터치 이벤트 로그와 트래픽을 수집하고, 터치 이벤트 로그를 기초로 터치 이벤트가 발생하였는지 판단하며, 수집된 트래픽이 광고 관련 트래픽인지 여부 및 백그라운드(background) 트래픽인지 여부를 판단하고, 전자 장치(400)의 식별자가 변경되었는지 여부를 판단하고, 터치 이벤트의 발생 여부, 수집된 트래픽이 광고 관련 트래픽인지 여부, 백그라운드 트래픽인지 여부 및 전자 장치(400)의 식별자가 변경되었는지 여부 중 적어도 하나 이상에 기초하여 애플리케이션이 잠재적 유해 애플리케이션인지 여부를 판단할 수 있다.
메모리(430)는 전자 장치(400)를 구동하고 제어하기 위한 다양한 데이터, 프로그램 또는 애플리케이션을 저장할 수 있다. 메모리(430)에 저장되는 프로그램은 하나 이상의 인스트럭션들을 포함할 수 있다. 메모리(430)에 저장된 프로그램(하나 이상의 인스트럭션들) 또는 애플리케이션은 프로세서(320)에 의해 실행될 수 있다.
또한, 도 4에는 도시하지 않았으나, 전자 장치(400)는 출력부, 디스플레이부, 사용자 입력부 등을 더 포함할 수 있다.
출력부는 시각, 청각, 진동 등과 관련된 출력을 발생시키기 위한 것으로, 디스플레이부, 음향 출력부, 모터 등을 포함할 수 있다.
디스플레이부는 디스플레이 모듈을 포함할 수 있다. 디스플레이 모듈은 디스플레이 패널, 디스플레이 구동부 및 터치 패널을 포함할 수 있다.
사용자 입력부는 사용자가 장치의 동작을 위한 입력 데이터를 발생시킨다. 사용자 입력부는 키 패드(key pad) 돔 스위치 (dome switch), 터치 패드(정압/정전), 조그 휠, 조그 스위치 등으로 구성될 수 있다.
일 실시예에 따른 잠재적 유해 애플리케이션 판단 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 개시를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다.
또한, 개시된 실시예들에 따른 서비스형 함수를 제공하는 시스템 또는 시스템의 동작방법은 컴퓨터 프로그램 제품(computer program product)에 포함되어 제공될 수 있다. 컴퓨터 프로그램 제품은 상품으로서 판매자 및 구매자 간에 거래될 수 있다.
컴퓨터 프로그램 제품은 S/W 프로그램, S/W 프로그램이 저장된 컴퓨터로 읽을 수 있는 저장 매체를 포함할 수 있다. 예를 들어, 컴퓨터 프로그램 제품은 전자 장치의 제조사 또는 전자 마켓(예, 구글 플레이 스토어, 앱 스토어)을 통해 전자적으로 배포되는 S/W 프로그램 형태의 상품(예, 다운로더블 앱)을 포함할 수 있다. 전자적 배포를 위하여, S/W 프로그램의 적어도 일부는 저장 매체에 저장되거나, 임시적으로 생성될 수 있다. 이 경우, 저장 매체는 제조사의 서버, 전자 마켓의 서버, 또는 SW 프로그램을 임시적으로 저장하는 중계 서버의 저장매체가 될 수 있다.
컴퓨터 프로그램 제품은, 서버 및 클라이언트 장치로 구성되는 시스템에서, 서버의 저장매체 또는 클라이언트 장치의 저장매체를 포함할 수 있다. 또는, 서버 또는 클라이언트 장치와 통신 연결되는 제3 장치(예, 스마트폰)가 존재하는 경우, 컴퓨터 프로그램 제품은 제3 장치의 저장매체를 포함할 수 있다. 또는, 컴퓨터 프로그램 제품은 서버로부터 클라이언트 장치 또는 제3 장치로 전송되거나, 제3 장치로부터 클라이언트 장치로 전송되는 S/W 프로그램 자체를 포함할 수 있다.
이 경우, 서버, 클라이언트 장치 및 제3 장치 중 하나가 컴퓨터 프로그램 제품을 실행하여 개시된 실시예들에 따른 방법을 수행할 수 있다. 또는, 서버, 클라이언트 장치 및 제3 장치 중 둘 이상이 컴퓨터 프로그램 제품을 실행하여 개시된 실시예들에 따른 방법을 분산하여 실시할 수 있다.
예를 들면, 서버(예로, 클라우드 서버 또는 인공 지능 서버 등)가 서버에 저장된 컴퓨터 프로그램 제품을 실행하여, 서버와 통신 연결된 클라이언트 장치가 개시된 실시예들에 따른 방법을 수행하도록 제어할 수 있다.
이상에서 다양한 실시예들에 대하여 상세하게 설명하였지만 본 개시의 권리범위는 이에 한정되는 것은 아니고 다음의 청구범위에서 정의하고 있는 본 개시의 기본 개념을 이용한 당업자의 여러 변형 및 개량 형태 또한 본 개시의 권리범위에 속한다.
400: 전자 장치
410: 통신부
420: 프로세서
430: 메모리

Claims (14)

  1. 전자 장치의 잠재적 유해 애플리케이션 판단 방법에 있어서,
    애플리케이션에 대한 터치 이벤트 로그와 트래픽을 수집하는 단계;
    상기 터치 이벤트 로그를 기초로 터치 이벤트가 발생하였는지 판단하는 단계;
    상기 수집된 트래픽이 광고 관련 트래픽인지 여부 및 백그라운드(background) 트래픽인지 여부를 판단하는 단계;
    IMEI(international mobile equipment identity) 및 상기 전자 장치의 ID 중 적어도 하나를 포함하는 상기 전자 장치의 식별자가 변경되었는지 여부를 판단하는 단계; 및
    상기 터치 이벤트의 발생 여부, 상기 수집된 트래픽이 광고 관련 트래픽인지 여부, 백그라운드 트래픽인지 여부 및 상기 전자 장치의 식별자가 변경되었는지 여부 중 적어도 하나 이상에 기초하여 상기 애플리케이션이 잠재적 유해 애플리케이션인지 여부를 판단하는 단계를 포함하고,
    상기 전자 장치의 식별자가 변경되었는지 여부를 판단하는 단계는,
    상기 전자 장치의 식별자를 변경하여 IMEI 또는 전자 장치 ID 당 미리 설정된 최대 광고 요청 수 제한을 우회하였는지 여부를 검사하는 단계를 포함하는, 방법.
  2. 제1항에 있어서,
    상기 애플리케이션이 잠재적 유해 애플리케이션인지 여부를 판단하는 단계는,
    상기 수집된 트래픽이 광고 관련 트래픽이고, 백그라운드 트래픽이며, 터치 이벤트가 발생하지 않은 경우, 상기 애플리케이션을 잠재적 유해 애플리케이션으로 판단하는 단계를 포함하는, 방법.
  3. 제1항에 있어서,
    상기 애플리케이션이 잠재적 유해 애플리케이션인지 여부를 판단하는 단계는,
    상기 수집된 트래픽이 광고 관련 트래픽이고, 백그라운드 트래픽이며, 터치 이벤트가 발생하였고, 디바이스 식별자가 변경된 경우, 상기 애플리케이션을 잠재적 유해 애플리케이션으로 판단하는 단계를 포함하는, 방법.
  4. 제1항에 있어서,
    상기 애플리케이션이 잠재적 유해 애플리케이션인지 여부를 판단하는 단계는,
    상기 수집된 트래픽이 광고 관련 트래픽이고, 포그라운드(foreground) 트래픽이며, 디바이스 식별자가 변경된 경우, 상기 애플리케이션을 잠재적 유해 애플리케이션으로 판단하는 단계를 포함하는, 방법.
  5. 제1항에 있어서,
    상기 애플리케이션이 잠재적 유해 애플리케이션인지 여부를 판단하는 단계는,
    상기 수집된 트래픽이 광고 관련 트래픽이고, 포그라운드(foreground) 트래픽이며, 정상적인 터치 이벤트가 발생하지 않은 경우, 상기 애플리케이션을 잠재적 유해 애플리케이션으로 판단하는 단계를 포함하는, 방법.
  6. 제1항에 있어서,
    상기 애플리케이션에 대한 터치 이벤트 로그와 트래픽을 수집하는 단계는,
    커널 레벨(kernel level)의 사용자의 입력 이벤트(input_event_from_user) 함수를 이용하여, 상기 터치 이벤트의 발생 시간 및 터치가 발생한 위치를 상기 터치 이벤트 로그에 기록하는 단계를 포함하는, 방법.
  7. 제1항에 있어서,
    상기 애플리케이션에 대한 터치 이벤트 로그와 트래픽을 수집하는 단계는,
    상기 애플리케이션에 의해 발생되거나 수신되는 트래픽을 수집하는 단계를 포함하는, 방법.
  8. 제1항에 있어서,
    상기 터치 이벤트 로그를 기초로 터치 이벤트가 발생하였는지 판단하는 단계는,
    상기 터치 이벤트 로그에 기록된 상기 터치 이벤트의 발생 시간 및 터치가 발생한 위치를 기초로, 상기 애플리케이션에 대한 상기 터치 이벤트가 발생하였는지 여부를 판단하는 단계를 포함하는, 방법.
  9. 제1항에 있어서,
    상기 수집된 트래픽이 광고 관련 트래픽인지 여부 및 백그라운드 트래픽인지 여부를 판단하는 단계는,
    EasyList ad-blocking 필터를 이용하여, 상기 수집한 트래픽을 필터링하는 단계; 및
    상기 필터링된 트래픽을 상기 광고 관련 트래픽으로 판단하는 단계를 포함하는, 방법.
  10. 제1항에 있어서,
    상기 수집된 트래픽이 광고 관련 트래픽인지 여부 및 백그라운드 트래픽인지 여부를 판단하는 단계는,
    Query 파라미터가 특정 클라이언트 장치를 식별하기 위한 정보, 광고를 찾기 위한 브라우저 정보 및 국가명 중 적어도 하나 이상을 포함하고, 응답(response)가 이미지 및 자바스크립트(javascript) 중 적어도 하나 이상을 포함하는 경우, 상기 수집한 트래픽을 상기 광고 관련 트래픽으로 판단하는 단계를 포함하는, 방법.
  11. 삭제
  12. 제1항에 있어서,
    상기 애플리케이션이 잠재적 유해 애플리케이션으로 판단되는 경우, 디스플레이, 진동, 소리 및 라이트(light) 중 적어도 하나 이상의 출력 방법을 이용하여, 상기 전자 장치의 사용자에게 알림(notification)을 출력하는 단계를 더 포함하는, 방법.
  13. 제1항에 있어서,
    상기 애플리케이션이 잠재적 유해 애플리케이션으로 판단되는 경우, 상기 애플리케이션을 격리 또는 삭제하는 단계를 더 포함하는, 방법.
  14. 잠재적 유해 애플리케이션을 판단하는 전자 장치에 있어서,
    통신부;
    상기 잠재적 유해 애플리케이션을 판단하기 위한 프로그램을 저장하는 적어도 하나 이상의 메모리;
    상기 적어도 하나 이상의 메모리에 저장된 상기 잠재적 유해 애플리케이션을 판단하기 위한 프로그램을 실행함으로써,
    애플리케이션에 대한 터치 이벤트 로그와 트래픽을 수집하고,
    상기 터치 이벤트 로그를 기초로 터치 이벤트가 발생하였는지 판단하며,
    상기 수집된 트래픽이 광고 관련 트래픽인지 여부 및 백그라운드(background) 트래픽인지 여부를 판단하고,
    IMEI(international mobile equipment identity) 및 상기 전자 장치의 ID 중 적어도 하나를 포함하는 상기 전자 장치의 식별자가 변경되었는지 여부를 판단하고,
    상기 터치 이벤트의 발생 여부, 상기 수집된 트래픽이 광고 관련 트래픽인지 여부, 백그라운드 트래픽인지 여부 및 상기 전자 장치의 식별자가 변경되었는지 여부 중 적어도 하나 이상에 기초하여 상기 애플리케이션이 잠재적 유해 애플리케이션인지 여부를 판단하고
    상기 전자 장치의 식별자가 변경되었는지 여부를 판단하는 과정은,
    상기 전자 장치의 식별자를 변경하여 IMEI 또는 전자 장치 ID 당 미리 설정된 최대 광고 요청 수 제한을 우회하였는지 여부를 검사하는 과정을 포함하는, 전자 장치.
KR1020200023876A 2020-02-26 2020-02-26 전자 장치 및 이의 잠재적 유해 애플리케이션 판단 방법 KR102365868B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020200023876A KR102365868B1 (ko) 2020-02-26 2020-02-26 전자 장치 및 이의 잠재적 유해 애플리케이션 판단 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200023876A KR102365868B1 (ko) 2020-02-26 2020-02-26 전자 장치 및 이의 잠재적 유해 애플리케이션 판단 방법

Publications (2)

Publication Number Publication Date
KR20210108803A KR20210108803A (ko) 2021-09-03
KR102365868B1 true KR102365868B1 (ko) 2022-02-21

Family

ID=77785124

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200023876A KR102365868B1 (ko) 2020-02-26 2020-02-26 전자 장치 및 이의 잠재적 유해 애플리케이션 판단 방법

Country Status (1)

Country Link
KR (1) KR102365868B1 (ko)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018536956A (ja) * 2016-05-24 2018-12-13 テンセント・テクノロジー・(シェンジェン)・カンパニー・リミテッド 広告に関する不正行為を防止するための方法及びデバイス並びに記憶媒体

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018536956A (ja) * 2016-05-24 2018-12-13 テンセント・テクノロジー・(シェンジェン)・カンパニー・リミテッド 広告に関する不正行為を防止するための方法及びデバイス並びに記憶媒体

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
Feng Dong et al, "FraudDroid: Automated Ad Fraud Detection for Android Apps"(2018.06.) 1부.*
Jonathan Crussell et al, "MAdFraud: Investigating Ad Fraud in Android Applications"(2014.06.) 1부.*
Md Shahrear Iqbal et al, "Protecting Internet users from becoming victimized attackers of click-fraud"(2017.04.) 1부.*

Also Published As

Publication number Publication date
KR20210108803A (ko) 2021-09-03

Similar Documents

Publication Publication Date Title
US11687653B2 (en) Methods and apparatus for identifying and removing malicious applications
US10701030B2 (en) Real-time monitoring of web page code
Rastogi et al. Are these Ads Safe: Detecting Hidden Attacks through the Mobile App-Web Interfaces.
Grace et al. Unsafe exposure analysis of mobile in-app advertisements
US20190363893A1 (en) Evaluating authenticity of applications based on assessing user device context for increased security
US8826427B2 (en) Detecting surreptitious spyware
Rosen et al. Appprofiler: a flexible method of exposing privacy-related behavior in android applications to end users
US9349134B1 (en) Detecting illegitimate network traffic
EP2323091A1 (en) System and method for tracking and scoring user activities
KR101720686B1 (ko) 시각화 유사도 기반 악성 어플리케이션 감지 장치 및 감지 방법
US9449042B1 (en) Recommending improvements to and detecting defects within applications
US8910284B1 (en) Detecting malware
Cho et al. An empirical study of click fraud in mobile advertising networks
EP3039841A1 (en) Dynamic application security verification
CN109062667B (zh) 一种模拟器识别方法、识别设备及计算机可读介质
Cho et al. Combating online fraud attacks in mobile-based advertising
Andow et al. A study of grayware on google play
Shao et al. Understanding in-app ads and detecting hidden attacks through the mobile app-web interface
Moonsamy et al. Towards an understanding of the impact of advertising on data leaks
WO2017054319A1 (zh) 投放数据处理方法、装置及存储介质
He et al. An investigation into android in-app ad practice: Implications for app developers
Papadopoulos et al. Truth in web mining: Measuring the profitability and the imposed overheads of cryptojacking
Kim et al. The Abuser Inside Apps: Finding the Culprit Committing Mobile Ad Fraud.
Shaari et al. An extensive study on online and mobile ad fraud
US20190333100A1 (en) Method and system for click to install behavior based detection of fraud

Legal Events

Date Code Title Description
AMND Amendment
E601 Decision to refuse application
X091 Application refused [patent]
AMND Amendment
X701 Decision to grant (after re-examination)
GRNT Written decision to grant