본문 바로가기
KERD
논문KCI 등재

유니티 애플리케이션을 위한 버스마크 기법의 설계 및 구현

Design and Implementation of Birthmark Technique for Unity Application

0

조회

0

다운로드

0

인용

0

참고문헌

키워드

주제분류컴퓨터학

초록

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

Abstract

Software birthmark refers to a unique feature inherent in software that can be extracted from program binaries even in the absence of the original source code of the program. Like human genetic information, the similarity between programs can be calculated numerically, so it can be used to determine whether software is stolen or copied. In this paper, we propose a new birthmark technique for Android applications developed using Unity. The source codes of Unity-based Android applications use C# language, and since the core logic of the program is included in the DLL module, it must be approached in a different way from normal Android applications. In this paper, a Unity birthmark extraction and comparison system was implemented, and reliability and resilience were evaluated. The use of the Unity birthmark technique proposed in this paper is expected to be effective in preventing illegal copy or code theft of the Unity-based Android applications.

참고문헌 (18)

  1. "Unity"[URL]
  2. "Microsoft .NET Document"[URL]
  3. "ILdasm: IL Disassembler"[URL]
  4. "ILSpy: .NET Decompiler with support for PDB generation, ReadyToRun, Metadata"[URL]
  5. "dnSpy: .NET debugger and assembly editor"[URL]
  6. Nazir, S., "Lecture Notes in Networks and Systems, Vol 614", pp.323~330 (2023), Springer
  7. Keqing Guan, "Software Birthmark Usability for Source Code Transformation Using Machine Learning Algorithms", Scientific Programming, 2021, pp.1~7 (2021), Hindawi Limited[DOI]
  8. Chih-Ko Chung, "Version-Wide Software Birthmark via Machine Learning", IEEE Access, 9, pp.110811~110825 (2021), Institute of Electrical and Electronics Engineers (IEEE)[DOI]
  9. H. TAMADA, "Java Birthmarks --Detecting the Software Theft--", IEICE Transactions on Information and Systems, E88-D(9), pp.2148~2158 (2005), Institute of Electronics, Information and Communications Engineers (IEICE)[DOI]
  10. Ginger Myles, "k-gram Based Software Birthmarks", Pro. of the 2005 ACM Symposium on Applied Computing, pp.314~318 (2005)
  11. 박희완, "API k-gram 기반의 안드로이드 버스마크", 정보처리학회논문지. 컴퓨터 및 통신시스템, 2(4), pp.177~180 (2013), 한국정보처리학회[DOI]
  12. 김동진, "난독화에 강인한 안드로이드 앱 버스마킹 기법", 한국통신학회논문지, 40(4), pp.700~708 (2015), 한국통신학회
  13. "Moss - A System for Detecting Software Similarity"[URL]
  14. "JPlag - Detecting Software Plagiarism"[URL]
  15. "Unity textbook 5th edition sample files"[URL]
  16. "Dotfuscator - .Net obfuscator"[URL]
  17. H. Park, "Detecting Common Modules in Java Packages Based on Static Object Trace Birthmark", The Computer Journal, 54(1), pp.108~124 (2011), Oxford University Press (OUP)[DOI]
  18. "IL2CPP Overview"[URL]

이 간행물의 다른 논문 (19건)