• 제목/요약/키워드: 소프트웨어 버스마크

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

연산자 요약을 이용한 k그램 소프트웨어 버스마크 (Software Birthmark Based on k-gram Using Operator Abstraction)

  • 이기화;우균
    • 한국정보처리학회:학술대회논문집
    • /
    • 한국정보처리학회 2013년도 춘계학술발표대회
    • /
    • pp.687-690
    • /
    • 2013
  • 소프트웨어 버스마크 기법은 도용이 의심되는 소프트웨어의 소스 코드를 얻을 수 없을 때 사용할 수 있는 소프트웨어 도용 탐지 기법이다. 이 기법은 프로그램의 바이너리나 자바 클래스 파일에서 프로그램 고유의 특징인 버스마크를 추출한 다음 프로그램간 버스마크 유사도 측정을 통해 도용을 탐지한다. 이 논문에서는 선행 연구된 k그램 버스마크 기법에 연산자 요약이라는 아이디어를 접목한 연산자 요약 k그램 버스마크 기법을 제안한다. 연산자 요약이란 연산자 우선순위가 같은 연산자의 JVM 명령어를 묶어 요약번호로 나타내는 것이다. 연산자 요약 k그램 버스마크 기법은 연산자 요약과 제어 흐름을 고려하여 생성한 연속된 k개의 요약번호 시퀀스 집합을 버스마크로 정의한다. 버스마크를 평가하기 위해 선택 정렬 메소드와 버블 정렬 메소드를 대상으로 신뢰도 실험과 강인도 실험을 하였다. 실험 결과 연산자 요약 k그램 버스마크 기법이 선행 연구된 Tamada 버스마크 기법과 k그램 버스마크 기법보다 높은 신뢰도와 강인도를 보였다.

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

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

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

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

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

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

제어 흐름을 고려한 API k-gram 소프트웨어 버스마크 (A Flow-sensitive API k-gram Based Software Birthmark)

  • 박희완;최석우;임현일;한태숙
    • 한국정보처리학회:학술대회논문집
    • /
    • 한국정보처리학회 2008년도 추계학술발표대회
    • /
    • pp.523-526
    • /
    • 2008
  • 소프트웨어 버스마크는 클래스나 바이너리를 대상으로 고유한 특징을 추출하여 유사도를 비교하는 방법이다. 본 논문에서는 자바의 제어 흐름을 고려한 API k-gram 버스마크 기법을 제안한다. 이 기법은 다른 것으로 대체하기 어려운 자바 표준 API 호출에 대한 시퀀스를 k-gram으로 사용했기 때문에 신뢰도가 높고, 제어 흐름을 반영하여 시퀀스를 추출하기 때문에 난독화에 강하다는 장점이 있다. 본 논문에서 제안하는 버스마크를 기법을 평가하기 위해서 신뢰도와 강인도에 대한 실험을 한 결과 기존의 버스마크보다 신뢰도와 강인도가 우수한 버스마크임을 확인하였다.

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

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

안드로이드 앱 도용 탐지를 위한 유사도 비교 연구 (A Study on Similarity Comparison for Detecting Theft of Android Application)

  • 박세익;박희광;최성하;박희완
    • 한국정보처리학회:학술대회논문집
    • /
    • 한국정보처리학회 2011년도 추계학술발표대회
    • /
    • pp.868-871
    • /
    • 2011
  • 소프트웨어 버스마크는 모든 프로그램에 이미 포함되어 있으며 서로 다른 프로그램을 식별하는데 사용될 수 있는 프로그램의 고유한 특징을 말한다. 본 논문에서는 소프트웨어 버스마크를 이용하여 안드로이드 앱 사이의 유사도를 측정하고 코드 도용 탐지에 활용하는 방법을 제안하였고, 다양한 카테고리의 안드로이드 앱에 대한 유사도 비교 실험을 하였다. 먼저, 같은 개발사에서 만든 유사한 프로그램을 대상으로 버스마크 유사도를 측정한 결과 유사도가 매우 높다는 것을 확인하였다. 또한, 서로 다른 개발사에서 만든 유사한 카테고리의 프로그램을 비교하였고 비슷한 프로그램이라도 서로 다른 개발사에서 만든 앱이기 때문에 유사도가 낮다는 것을 확인하였다. 마지막으로, 서로 다른 개발사의 유사한 프로그램들 중에서 유사도가 높게 측정된 경우를 탐지한 실험 결과를 제시하였다. 이러한 유사 앱들은 실제로 공통 클래스를 함께 포함하고 있었다. 실험 결과들을 바탕으로 소프트웨어 버스마크가 안드로이드 앱 사이의 공통 클래스를 탐지하는데 활용될 수 있음을 확인하였고, 더 나아가 안드로이드 앱에서의 코드 도용을 탐지하는 목적으로도 활용될 수 있음을 보여주었다.

정적 트레이스 기반의 자바 버스마킹 기법 (Static Trace based Java Birthmarking Technique)

  • 박희완;임현일;최석우;한태숙
    • 한국정보처리학회:학술대회논문집
    • /
    • 한국정보처리학회 2008년도 춘계학술발표대회
    • /
    • pp.281-284
    • /
    • 2008
  • 소프트웨어 버스마크는 프로그램을 식별하는데 사용될 수 있는 프로그램의 고유한 특징을 말한다. 본 논문에서는 자바 메소드의 정적 트레이스 정보에 기반한 자바 버스마킹 기법을 제안한다. 정적 트레이스는 런타임 실행 절차를 반영한다는 점에서 동적 버스마크의 장점이 있고, 정적 분석으로 추출하기 때문에 라이브러리나 함수 단위에 적용가능하다는 정적 버스마크의 장점도 있다. 본 논문에서 제안한 버스마킹 기법을 평가하기 위해서 서로 다른 프로그램을 구별할 수 있는 신뢰도와 프로그램 최적화나 난독화에 견딜 수 있는 강인도에 대한 실험을 하였다. 실험 결과로부터 본 논문에서 제안하는 버스마크가 신뢰도를 유지하면서 기존 방법보다 강인한 버스마크임을 확인할 수 있다.