$\require{mediawiki-texvc}$

연합인증

연합인증 가입 기관의 연구자들은 소속기관의 인증정보(ID와 암호)를 이용해 다른 대학, 연구기관, 서비스 공급자의 다양한 온라인 자원과 연구 데이터를 이용할 수 있습니다.

이는 여행자가 자국에서 발행 받은 여권으로 세계 각국을 자유롭게 여행할 수 있는 것과 같습니다.

연합인증으로 이용이 가능한 서비스는 NTIS, DataON, Edison, Kafe, Webinar 등이 있습니다.

한번의 인증절차만으로 연합인증 가입 서비스에 추가 로그인 없이 이용이 가능합니다.

다만, 연합인증을 위해서는 최초 1회만 인증 절차가 필요합니다. (회원이 아닐 경우 회원 가입이 필요합니다.)

연합인증 절차는 다음과 같습니다.

최초이용시에는
ScienceON에 로그인 → 연합인증 서비스 접속 → 로그인 (본인 확인 또는 회원가입) → 서비스 이용

그 이후에는
ScienceON 로그인 → 연합인증 서비스 접속 → 서비스 이용

연합인증을 활용하시면 KISTI가 제공하는 다양한 서비스를 편리하게 이용하실 수 있습니다.

자마린으로 개발된 안드로이드 앱의 정적 분석 연구
A Static Analysis Technique for Android Apps Written with Xamarin 원문보기

情報保護學會論文誌 = Journal of the Korea Institute of Information Security and Cryptology, v.28 no.3, 2018년, pp.643 - 653  

임경환 (단국대학교 컴퓨터학과) ,  김규식 (단국대학교 컴퓨터학과) ,  심재우 (단국대학교 컴퓨터학과) ,  조성제 (단국대학교 컴퓨터학과)

초록
AI-Helper 아이콘AI-Helper

자마린은 대표적인 크로스 플랫폼 개발 프레임워크로, 안드로이드, iOS, 또는 Windows Phone등의 여러 플랫폼을 위한 모바일 앱을 C#으로 작성하게 해준다. 모바일 앱 개발자들은 기존의 C# 코드를 재사용하고 여러 플랫폼간에 상당한 코드를 공유할 수 있어 개발 시간과 유지보수 비용을 줄일 수 있다. 한편, 멀웨어 작성자들 또한 자마린을 이용하여 악성 앱 제작 시간과 비용을 최소화하면서 더 많은 플랫폼에 악성 앱을 전파할 수 있다. 이에 대응하기 위해서 자마린으로 작성된 멀웨어를 분석하고 탐지하는 방안이 필요하다. 그러나 현재 자마린으로 작성된 앱에 대한 분석 방법에 대한 연구가 많이 이루어지고 있지 않다. 이에 본 논문에서는 자마린으로 개발된 안드로이드 앱의 구조를 파악하고 앱 코드를 정적으로 분석하는 기법을 제안한다. 또한, 코드 난독화가 적용된 앱에 대해서도 정적으로 역공학하는 방법을 보인다. 자마린으로 개발된 앱은 자바 바이트코드, C# 기반의 DLL 라이브러리, C/C++ 기반의 네이티브 라이브러리로 구성되어 있으며, 이들 서로 다른 유형의 코드들에 대한 정적 역공학 기법에 대해서 연구하였다.

Abstract AI-Helper 아이콘AI-Helper

Xamarin is a representative cross-platform development framework that allows developers to write mobile apps in C# for multiple mobile platforms, such as Android, iOS, or Windows Phone. Using Xamarin, mobile app developers can reuse existing C# code and share significant code across multiple platfor...

주제어

AI 본문요약
AI-Helper 아이콘 AI-Helper

* AI 자동 식별 결과로 적합하지 않은 문장이 있을 수 있으니, 이용에 유의하시기 바랍니다.

문제 정의

  • SuppressIldasmAttribute 속성이 존재하는 DLL 파일을 역어셈블하기 위하여, 본 논문에서 SuppressIldasmAttribute를 무시하고, ildasm이 수행되도록 하는 두 가지 방법을 찾았다.
  • 본 논문에서는 “자마린 프레임워크에서 C#으로 개발된 안드로이드 앱”(자마린 앱)의 구조를 분석하고 C# 코드를 실행하기 위한 모노 런타임 환경 동작 원리를 분석하였다. 또한 자마린으로 개발된 안드로이드 앱을 체계적으로 정적 분석하는 기법에 대해 제안하였다. 제안 기법은 소스코드가 제공되지 않는 경우에도 적용할 수 있는 기법으로 악성 자마린 앱을 분석하는데 활용될 수 있다.
  • 또한, 실행 오버헤드도 발생하지 않는다. 본 논문에서는 난독화가 적용된 앱에 대해서도 코드를 정적으로 분석하는 실험을 수행하였다. 단점으로는 패킹되었거나 암호화된 코드를 분석하기 어렵다는 점이다.
  • 이처럼 C# 코드 기반의 악성 앱들이 도입되고 있지만, C# 코드로 제작된 악성 앱에 대한 효과적 분석 기법은 연구된 바가 없다. 이에 본 논문에서는 자마린으로 개발된 안드로이드 앱을 정적으로 역공학하는 방법을 제안한다. 또한 실험에서는, 난독화 기법을 포함시켜 C# 앱을 재패키징한 후, 이를 역공학해 보임으로써 제안 방법의 실효성을 보인다.
본문요약 정보가 도움이 되었나요?

질의응답

핵심어 질문 논문에서 추출한 답변
자마린이란? 자마린은 대표적인 크로스 플랫폼 개발 프레임워크로, 안드로이드, iOS, 또는 Windows Phone등의 여러 플랫폼을 위한 모바일 앱을 C#으로 작성하게 해준다. 모바일 앱 개발자들은 기존의 C# 코드를 재사용하고 여러 플랫폼간에 상당한 코드를 공유할 수 있어 개발 시간과 유지보수 비용을 줄일 수 있다.
C# 프로그래머들은 자마린을 이용할 경우 어떠한 장점이 있는가? 자마린(Xamarin)은 대표적인 모바일 크로스 플랫폼 프레임워크로, 안드로이드, iOS, 또는 윈도우폰 등의 여러 플랫폼을 위한 모바일 앱을 C#으로 작성하게 해준다[1-4]. 자마린을 이용할 경우, C# 프로그래머들은 특정 플랫폼용 프로그래밍 언어를 익힐 필요 없이 모바일 앱을 즉시 개발할 수 있으며, 기존의 C# 코드를 재사용하고 다른 플랫폼 간에 상당한 코드를 공유할 수 있다. 2015년 기준 자마린 웹 사이트에 의하면, 90만 명의 개발자들이 크로스 플랫폼 앱들을 개발하기 위해 자마린 도구를 사용하고 있다[1].
공격자들이 자마린을 이용해 공격을 하는 이유는 무엇인가? 한편, 공격자들도 멀웨어 제작시간을 최소화하면서 최대의 공격 효과를 내려고 자마린을 악용한다고 알려져 있다[5]. C#으로 악성 앱들을 더 빨리 제작하거나 기존의 악성 코드를 재활용하여 더 많은 플랫폼에 효과적으로 전파할 수 있기 때문이다. 백신 우회용 악성 실행파일을 제작하는 공격도구들의 집합인 Veil-Framework에서는, 악성 페이로드를 C#으로 개발하였다.
질의응답 정보가 도움이 되었나요?

참고문헌 (14)

  1. M. Willocx, J. Vossaert, and V. Naessens, "A quantitative assessment of performance in mobile app development tools," Mobile Services (MS), 2015 IEEE International Conference on. IEEE, 2015. 

  2. N. Boushehrinejadmoradi, V. Ganapathy, S. Nagarakatte, and L. Iftode, "Testing cross-platform mobile app development frameworks (t)," In Automated Software Engineering (ASE), 2015 30th IEEE/ACM International Conference on IEEE, pp. 441-451, 2015. 

  3. M. Martinez, and S. Lecomte, "Towards the quality improvement of crossplatform mobile applications," In Mobile Software Engineering and Systems (MOBILESoft), 2017 IEEE/ACM 4th International Conference on IEEE, pp. 184-188, 2017. 

  4. P. Marius, "Considerations Regarding the Cross-Platform Mobile Application Development Process," Academy of Economic Studies. Economy Informatics Vol. 13, no. 1, 2013. 

  5. S. M. Pontiroli and F. R. Martinez, "The Tao of .NET and PowerShell Malware Analysis," Virus Bulletin Conference, 2015. 

  6. A. Mylonas, S. Dritsas, B. Tsoumas and D. Gritzalis, "On the feasibility of malware attacks in smartphone platforms," International Conference on E-Business and Telecommunications, 2011. 

  7. A. Mylonas, S. Dritsas, B. Tsoumas and D. Gritzalis, "Smartphone security evaluation The malware attack case," Security and Cryptography (SECRYPT), 2011 Proceedings of the International Conference on. IEEE, 2011. 

  8. R. Mark. Xamarin mobile application development for Android. Packt Publishing Ltd, 2014. 

  9. jadx, https://github.com/skylot/jadx 

  10. JEB, https://www.pnfsoftware.com/ 

  11. ILspy, https://sourceforge.net/projects/ilspyportable/ 

  12. .NET Reflector, https://www.red-gate.com/products/dotnet-development/reflector/ 

  13. IDA Pro, https://www.hex-rays.com/products/ida/ 

  14. de4dot, https://github.com/0xd4d/de4dot 

저자의 다른 논문 :

LOADING...
섹션별 컨텐츠 바로가기

AI-Helper ※ AI-Helper는 오픈소스 모델을 사용합니다.

AI-Helper 아이콘
AI-Helper
안녕하세요, AI-Helper입니다. 좌측 "선택된 텍스트"에서 텍스트를 선택하여 요약, 번역, 용어설명을 실행하세요.
※ AI-Helper는 부적절한 답변을 할 수 있습니다.

선택된 텍스트

맨위로