• 제목/요약/키워드: Software Birthmark

검색결과 14건 처리시간 0.027초

API 기반 동적 버스마크를 이용한 윈도우용 소프트웨어의 효율적인 유사도 측정 기법 (Efficient Similarity Measurement Technique of Windows Software using Dynamic Birthmark based on API)

  • 박대신;지현호;박영수;홍지만
    • 스마트미디어저널
    • /
    • 제4권2호
    • /
    • pp.34-45
    • /
    • 2015
  • 윈도우는 국내에서 가장 많이 사용되는 운영체제이기 때문에 윈도우용 소프트웨어를 대상으로 불법 복제가 많이 이루어지고 있고 불법 복제로 인해 소프트웨어 저작권이 침해될 수 있다. 이를 보호하기 위해서 저작권 보호 방법 중 하나인 소프트웨어 버스마크를 사용한다. 소프트웨어 버스마크는 소프트웨어로부터 특정 정보들을 추출하여 소프트웨어간 도용 여부를 판별할 수 있는 기술이며 대상 소프트웨어로 부터 특정 정보를 추출하는 방법에 따라 정적 버스마크와 동적 버스마크로 구별된다. 정적 버스마크와 동적 버스마크는 서로 장단점을 가지고 있지만 본 논문에서는 API 기반 동적 버스마크를 이용한 유사도 측정 기법을 제안하고, 동적 버스마크의 추출 과정을 설명한다. 또한 실험을 통해 제안하는 동적 버스마크의 유사도 측정 기법이 신뢰성과 강인성을 만족하는 것을 확인할 수 있었으며 기존 동적 버스마크의 유사도 측정 기법보다 제안하는 동적 버스마크의 성능이 향상 된 것을 확인할 수 있었다.

API k-gram 기반의 안드로이드 버스마크 (An Android Birthmark based on API k-gram)

  • 박희완
    • 정보처리학회논문지:컴퓨터 및 통신 시스템
    • /
    • 제2권4호
    • /
    • pp.177-180
    • /
    • 2013
  • 소프트웨어 버스마크는 프로그램을 인식하는데 사용될 수 있는 고유한 특징을 의미한다. 소프트웨어 버스마크는 단순한 프로그램 변환에 의해서 삭제되지 않기 때문에 코드 도용을 탐지하는데 사용된다. 본 논문에서는 안드로이드 앱에 대한 API k-gram 기반의 버스마크 기법을 제안한다. 안드로이드 SDK는 프로그래머가 쉽게 앱을 개발할 수 있도록 다양한 라이브러리를 제공한다. 그리고 안드로이드 SDK를 사용하기 위해서는 반드시 API 메소드 호출을 이용해야만 한다. API 메소드 호출 명령어는 다른 명령어로 바꾸거나 삭제하기 어렵기 때문에 애플리케이션의 고유한 특징으로서 사용될 수 있다. 본 논문에서 제안하는 버스마크의 효용성을 보여주기 위해서 기존의 버스마크 기법과 비교하였고 오픈소스 앱을 대상으로 평가하였다. 실험으로부터 API k-gram 버스마크가 기존 버스마크보다 신뢰도와 강인도가 높은 것을 확인하였다.

Windows 프로그램 도용 탐지를 위한 기능 단위 동적 API 버스마크 (A Functional Unit Dynamic API Birthmark for Windows Programs Code Theft Detection)

  • 최석우;조우영;한태숙
    • 한국정보과학회논문지:소프트웨어및응용
    • /
    • 제36권9호
    • /
    • pp.767-776
    • /
    • 2009
  • 소프트웨어 버스마크란 코드 도용 탐지를 위해 프로그램 자체에서 추출된 프로그램의 특징이다. 동적 API 버스마크는 실행 시간 API 호출 시퀀스로부터 추출된다. Tamada가 제안한 Windows 프로그램을 위한 동적 API 버스마크는 프로그램 실행 시작 부분의 API 시퀀스만을 추출하여 프로그램의 중요한 특성을 반영하지 못하였다. 이 논문에서는 프로그램의 핵심 기능을 실행할 때의 API 시퀀스에서 추출한 기능 단위 동적 API 버스마크를 제안한다. 기능 단위 동적 API 버스마크를 이용해 코드 도용을 탐지하기 위해서 먼저 두 프로그램을 실행하여 버스마크를 추출한다. 두 프로그램의 유사도는 프로그램에서 추출한 버스마크를 준전체 정렬 방식을 이용하여 비교하여 측정한다. 버스마크의 신뢰성을 평가하기 위하여 같은 기능을 가진 프로그램들을 대상으로 실험하였다. 강인성을 평가하기 위하여 동일한 소스 코드를 다양한 컴파일 방법으로 만들어 실험하였다. 실험 결과 본 논문에서 제안하는 기능 단위 동적 API 버스마크가 기존의 버스마크에서 탐지할 수 없었던 모듈 단위 도용을 탐지할 수 있음을 보였다.

Design and Implementation of Birthmark Technique for Unity Application

  • Heewan Park
    • 한국컴퓨터정보학회논문지
    • /
    • 제28권7호
    • /
    • pp.85-93
    • /
    • 2023
  • 소프트웨어 버스마크란 프로그램의 소스 코드가 없는 상태에서도 바이너리 파일로부터 추출 가능한 소프트웨어에 내재된 고유한 특징을 의미한다. 사람의 유전자처럼 유사도를 수치로 계산할 수 있기 때문에 소프트웨어 도용과 복제 여부를 판단하는데 사용할 수 있다. 본 논문에서는 유니티를 이용하여 개발된 안드로이드 애플리케이션에 대한 새로운 버스마크 기법을 제안한다. 유니티 기반 안드로이드 애플리케이션은 C# 언어를 이용하여 코드를 작성하며 프로그램의 핵심 로직은 DLL 모듈에 포함되기 때문에 일반적인 안드로이드 애플리케이션과는 다른 방법으로 접근해야 한다. 본 논문에서 제안한 유니티 버스마크 추출 및 비교 시스템을 구현하여 신뢰도와 강인도를 평가하였다. 평가 결과에 의해서 유니티 버스마크 기법은 유니티 기반으로 제작된 안드로이드 애플리케이션의 코드 도용이나 불법 복제를 예방하는데 효과가 있을 것으로 기대한다.

제어 흐름 그래프 매칭 기반 자바 버스마크 (A Java Birthmark based on Control Flow Graph Matching)

  • 박희완;임현일;최석우;한태숙
    • 한국정보과학회논문지:컴퓨팅의 실제 및 레터
    • /
    • 제15권11호
    • /
    • pp.871-875
    • /
    • 2009
  • 소프트웨어 버스마크는 프로그램을 식별하는데 사용될 수 있는 내재된 특징이다. 본 논문에서는 제어 흐름 그래프 매칭 기반의 새로운 자바 버스마크를 제안한다. 제어 흐름 그래프 매칭은 노드 매칭과 에지 매칭으로 이루어진다. 두 제어 흐름 그래프의 노드 유사도와 에지 유사토를 구하기 위해서 서열 정렬 알고리즘과 최단거리 알고리즘을 각각 사용하였다. 제안된 버스마크를 평가하기 위해서 다양한 알고리즘을 구현한 자바 프로그램을 대상으로 실험을 하였다. 제안된 버스마크는 이 실험에서 높은 신뢰도와 강인도 뿐만 아니라 빠른 실행 성능을 보여주었다.

정적 API 트레이스 버스마크를 이용한 자바 클래스 도용 탐지 (Detecting Java Class Theft using Static API Trace Birthmark)

  • 박희완;최석우;임현일;한태숙
    • 한국정보과학회논문지:컴퓨팅의 실제 및 레터
    • /
    • 제14권9호
    • /
    • pp.911-915
    • /
    • 2008
  • 소프트웨어 버스마크는 프로그램을 식별하는데 사용될 수 있는 프로그램의 고유한 특징을 말한다. 본 논문에서는 정적 API 트레이스 정보를 이용하여 자바 클래스 도용을 탐지하는 방법을 제안한다. 정적 API 트레이스를 생성할 때 제어 흐름을 분석하여 버스마크의 강인성을 높였고, 트레이스를 비교할 때 준전체 정렬 방법을 사용하여 서로 다른 프로그램을 구별할 수 있는 신뢰성을 높였다. XML Parser 패키지에 대한 신뢰도와 강인도 실험 결과를 통하여 본 논문에서 제안하는 정적 API 트레이스 버스마크가 자바 클래스 도용을 탐지하는데 있어서 기존의 버스마크들보다 효과적임을 보였다.

신뢰성 높은 동적 API 시퀀스를 이용한 소프트웨어 유사성 검사 (Software Similarity Detection Using Highly Credible Dynamic API Sequences)

  • 박성수;한환수
    • 정보과학회 논문지
    • /
    • 제43권10호
    • /
    • pp.1067-1072
    • /
    • 2016
  • 실행코드만으로 소프트웨어 간의 유사성을 비교하거나 표절을 검사하기 위해 소프트웨어만의 고유한 특징인 소프트웨어 버스마크를 이용한다. 일반적으로 소프트웨어 버스마크는 추출 방법에 따라 정적 버스마크와 동적 버스마크로 구분되고, 추출된 방법에 따라 장단점이 뚜렷하게 나타난다. 본 논문에서는 동적 분석을 이용하여 API 시퀀스 버스마크를 추출하고 실행코드 간의 유사성 검사에 이용하는 방법을 제안한다. 제안하는 동적 시퀀스 버스마크는 프로그램이 실행되는 과정에서 호출되는 모든 API 함수 및 시스템 호출을 포함하는 기존의 방법과는 다르게 실행코드 내에 정의되어 있는 API 함수만으로 구성된 API 시퀀스를 이용한다. 추출된 동적 버스마크는 프로그램의 시작에서 종료까지 호출되는 API 시퀀스이며 이를 효율적으로 비교하기 위해 서열정렬 알고리즘을 활용한 유사성 척도를 사용한다. 여러 오픈소스 소프트웨어를 비교하여 버스마크의 신뢰성과 강인성을 검증하였다. 제안하는 동적 API 시퀀스 버스마크는 실행코드의 유사성 검사에 용이하게 활용될 수 있을 것으로 기대된다.

난독화에 강인한 안드로이드 앱 버스마킹 기법 (Android App Birthmarking Technique Resilient to Code Obfuscation)

  • 김동진;조성제;정영기;우진운;고정욱;양수미
    • 한국통신학회논문지
    • /
    • 제40권4호
    • /
    • pp.700-708
    • /
    • 2015
  • 소프트웨어 버스마크는 한 프로그램이 보유한 고유한 특징으로 해당 프로그램을 식별하는데 사용될 수 있다. 소프트웨어 버스마크 기반으로 자바 프로그램의 도용을 탐지하는 연구들이 진행되어 왔다. 안드로이드 앱의 경우, 앱 보호를 위해 난독화 방법이 제공되고 있다. 그러나 공격자들도 자신이 도용한 프로그램을 감추기 위해 난독화를 적용하기도 한다. 특정 앱에 난독화를 적용하면 앱의 특징정보가 변경될 수 있다. 따라서 난독화를 고려한 버스마크 기반의 앱 도용 탐지 기법에 대한 연구가 필요하다. 본 논문에서는 난독화에 강인한 안드로이드 앱 버스마크 및 이에 기반한 앱 도용 탐지 기법을 제안한다. 몇몇 난독화 도구들을 분석하여 효과적인 버스마크로 메서드의 매개변수 및 반환값의 자료형을 선정하였고, 비교 대상 앱들로부터 해당 버스마크를 추출하여 이들 간의 유사도를 측정하였다. 여러 앱들을 대상으로 난독화 적용 전/후의 앱 유사성을 분석한 결과, 제안한 버스마크가 난독화가 적용된 앱에 대한 도용 탐지에도 효과적임을 확인하였다.

S.O.S : Shield of Steam API 콜 버스마크 기반의 온라인 게임 ESD DRM 보호 (S.O.S : Shield of Steam Protection Based on API Call Birthmark in Online Game ESD DRM)

  • 오동빈;김휘강
    • 정보보호학회논문지
    • /
    • 제28권6호
    • /
    • pp.1297-1307
    • /
    • 2018
  • Steam과 같은 온라인 게임 ESD(Electronic Software Distribution)이 등장하면서 게임 불법 복제 방법도 다양화되고 있다. 온라인 게임 ESD에서는 오프라인에서도 게임을 플레이할 수 있어야한다는 특징 때문에 소프트웨어 DRM을 이용하고 있다. 그러나 기본적으로 제공하는 보안 수준이 낮아 쉽게 우회되고 있는 것이 현실이다. 본 연구에서는 불법 복제된 게임의 크랙을 분석하여 Steam DRM을 우회하는 방법에 대해 알아보고 API 콜 버스마크를 이용해 DRM을 보호하는 방법을 개발하였다. 생성한 버스마크는 크랙 그룹을 나타내는 데 있어 85% 이상의 강인성을 보였고, 크랙 여부를 탐지하는 데 95%의 신뢰성을 보였다. 수행한 연구를 통해 온라인 게임 ESD의 보안 향상을 도모할 수 있고, Third Party DRM을 구매할 수 없는 영세한 인디게임 개발자들에게도 일정 수준 이상의 게임 복제 방지 기능을 제공할 수 있다는데 의의가 있다.

정적 주요 경로 API 시퀀스를 이용한 소프트웨어 유사성 검사 (Detecting Software Similarity Using API Sequences on Static Major Paths)

  • 박성수;한환수
    • 정보과학회 논문지
    • /
    • 제41권12호
    • /
    • pp.1007-1012
    • /
    • 2014
  • 소스코드가 없이 실행코드만으로 소프트웨어 간의 유사성을 비교하기위해 소프트웨어 버스마크를 이용한다. 소프트웨어 버스마크란 그 소프트웨어만의 고유한 특징으로 소프트웨어 식별에 사용된다. 본 논문에서는 정적 주요경로 상의 API 함수 시퀀스를 이용하여 소프트웨어 간의 유사성을 산정하는 방법을 제시한다. 바이너리코드에서 소프트웨어의 특성이 뚜렷하게 나타나는 API 함수만을 사용하여 소프트웨어 유사성 검사의 신뢰성을 높이고, 정적 분석 기법에 동적 분석 기법의 특징을 적용하여 강인성을 높이는 방법을 모색하였다. 정적 분석으로 바이너리코드의 주요경로를 추출하고, API 함수 시퀀스 간의 효과적인 유사성 측정을 위해 서열정렬 알고리즘인 Smith-Waterman 알고리즘을 이용한 유사성 척도를 제안한다. 버스마크의 신뢰성을 평가하기 위하여 같은 프로그램의 여러 버전을 대상으로 실험하였고, 강인성을 평가하기 위해 오픈소스 소프트웨어의 소스코드를 다양한 컴파일환경으로 바꾸어 실험하였다.