하이브리드 앱의 자바스크립트 인터페이스 취약점 분석 및 시큐어 코딩 방법
- 주제(키워드) 안드로이드 , 하이브리드 앱 보안 , 하이브리드 앱 , 자바스크립트 인터페이스 , 하이브리드 앱 평가
- 발행기관 서강대학교 정보통신대학원
- 지도교수 박성용
- 발행년도 2017
- 학위수여년월 2017. 2
- 학위명 석사
- 학과 및 전공 정보통신대학원 정보보호
- 실제URI http://www.dcollection.net/handler/sogang/000000061266
- 본문언어 한국어
- 저작권 서강대학교 논문은 저작권보호를 받습니다.
초록/요약
본 논문에서는 하이브리드 앱의 보안성 향상을 위해 모바일 웹과 네이티브 간의 브릿지 역할을 하는 자바스크립트 인터페이스 보안 기법에 대해 제안하였다. 자바스크립트 인터페이스의 취약점을 보완하기 위해 안드로이드 기반 하이브리드 앱에서 발생할 수 있는 취약점들을 기존 연구를 통해 연구하였으며, 기존 연구에서 제안하는 기법들을 바탕으로 다른 연구에서 다루지 않았던 자바스크립트 인터페이스의 안정성을 높이기 위해 설계하고 구현하여 실제 앱에 적용시켜 보았다. 제안된 자바스크립트 인터페이스를 적용시킨 하이브리드 앱과 적용이 되지 않은 하이브리드 앱의 속도를 측정하여 가용성에 대해 평가 하였다. 자바스크립트 인터페이스의 문제점 중 하나였던 난독화가 적용을 할 수 없었던 문제를 앱 디컴파일을 통해 난독화 적용여부를 확인하였다. 도메인 위변조를 통해 자바스크립트 인터페이스를 이용하여 공격자는 사용자의 정보를 쉽게 얻을 수 있었지만 도메인 검증을 통해 해당 문제를 사전에 차단하였다. 하이브리드 앱에서 자바스크립트 인터페이스에 대한 무작위 공격을 실시하였을 때 앱이 강제종료 현상이 발생하는데 잘못된 요청이 계속될 경우 악의적인 공격으로 간주 앱을 자동 종료 시키도록 하였다. 하지만 본 논문에서 제안한 자바스크립트 인터페이스 보안의 경우 안드로이드 기반 시스템이 가지는 한계로 인해 설계 시 가졌던 문제점을 완전히 해결하지는 못하였다. 향후에는 자바스크립트 인터페이스를 외부 공격으로부터 사전 차단하고 자바스크립트 인터페이스에 존재하는 취약점들에 대한 의식을 더욱 높여 다양한 방어 기법에 대한 연구가 필요하다.
more초록/요약
In this thesis, we propose a JavaScript interface security method that acts as a bridge between a mobile web and a native in order to improve the security of hybrid applications. In order to compensate for the weaknesses of the JavaScript interface, we have investigated the vulnerabilities that can occur in Android based hybrid applications through previous researches. Based on the techniques proposed in previous researches, we designed to improve the stability of JavaScript interface and applied it to actual apps. We evaluated the availability of hybrid apps with and without the proposed JavaScript interface by measuring the speed of the hybrid apps. One of the problems with the JavaScript interface was obfuscation, which was not able to be applied. By using the JavaScript interface through the domain forgery, the attacker could easily obtain the user's information, but the problem was prevented in advance through the domain verification. When a hybrid application launches a random attack on the JavaScript interface, the app force terminate, and if the wrong request persists, the app is automatically terminated as a malicious attack. However, the JavaScript interface security proposed in this paper cannot completely solve the problem that was caused by the limitation of the Android based system. In the future, it is necessary to study various defense techniques by pre-blocking JavaScript interface from external attack and raising awareness about vulnerabilities in JavaScript interface.
more

