$\require{mediawiki-texvc}$

연합인증

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

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

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

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

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

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

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

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

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

초록이 없습니다.

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

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

문제 정의

  • 자바스크립트의 극단적으로 동적인 성질과 웹앱에 포함되어 사용된다는 특성 때문에, 아직 만족할 만한 도구가 존재하지는 않지만, 최근 연구 결과는 궁극적인 목표를 향해 많은 진전을 보이고 있다. 본 논문에서는 2절에서 자바스크립트 언어의 대표적인 특성을 설명하고, 3절에서 자바스크립트 코드를 정적으로 분석하고 결함을 검출하는 도구인 SAFE를 소개한다. 4절에서는 SAFE를 확장하여 자바스크립트와 HTML/DOM 사이의 상호작용을 분석하고 그로 인한 결함도 검출할 수 있는 SAFEwapp를 소개하고, 5절에서는 SAFEwapp을 확장하여 다양한 플랫폼에서 제공하는 함수 흐름도 분석하고 결함도 검출할 수 있는 SAFEwapi를 소개한다.
  • 본 논문은 세계에서 7번째로 가장 널리 사용되는 프로그래밍 언어인 자바스크립트로 작성한 웹 앱을 분석하는 것이 왜 어려운지 간단히 살펴보고, 이러한 자바스크립트 웹 앱을 분석하고 결함을 검출하고자 진행되어온 연구를 정리하였다. 순수 자바스크립트프로그램을 분석하는 SAFE에서부터 HTML/DOM을 분석하는 SAFEWapp, 플랫폼 코드와의 상호작용을 분석하는 SAFEwapi, 정적인 정보에 더해 동적인 정보를 활용하는 SAFEHybrid까지 공개 소스 분석 도구인 SAFE를 기반으로 하여 자바스크립트 웹앱 연구 동향을 살펴보았다.
본문요약 정보가 도움이 되었나요?

참고문헌 (28)

  1. TIOBE Software. 2015. TIOBE Index for November 2015. www.tiobe.com/index-php/content/paperinfo/tpci/index.html 

  2. G. Richards et al. "An Analysis of the Dynamic Behavior of JavaScript Programs", Proceedings of Conference on Programming Language Design and Implementation, pp. 1-12, 2010. 

  3. M. Pradel et al. "TypeDevil: Dynamic Type Inconsistency Analysis for JavaScript", Proceedings of the International Conference on Software Engineering, pp. 314-324, 2015. 

  4. C. Yue and H. Wang, "Characterizing Insecure JavaScript Practices on the Web", Proceedings of the International Conference on World Wide Web, pp. 960-970, 2009. 

  5. D. Jang et al. "An Empirical Study of Privacy-violating Information Flows in JavaScript Web Applications", Proceedings of the Conference on Computer and Communications Security, pp. 270-283, 2010. 

  6. N. Nikiforakis et al. "You Are What You Include: Large-scale Evaluation of Remote JavaScript Inclusions", Proceedings of the Conference on Computer and Communications Security, pp. 736-747, 2012. 

  7. ECMA. ECMA-262: ECMAScript 2015 Language Specification, 6th Edition. 2015. 

  8. M. Pradel and K. Sen. "The Good, the Bad, and the Ugly: An Empirical Study of Implicit Type Conversions in JavaScript", Proceedings of the European Conference on Object-Oriented Programming, pp. 519-541, 2015. 

  9. Jensen et al. "Remedying the Eval That Men Do. In Proc. of International Symposium on Software Testing and Analysis", pp. 34-44, 2012. 

  10. Mozilla Developer Network. "About JavaScript", 2005. 

  11. C. Anderson et al. "Towards Type Inference for JavaScript", Proceedings of the European Conference on Object-Oriented Programming, pp. 428-452. 2005. 

  12. P. Thiemann. "Towards a Type System for Analyzing JavaScript Programs", Proceedings of European Symposium on Programming, pp. 408-422, 2005. 

  13. Jensen et al. "Type Analysis for JavaScript", Proceedings of the International Symposium on Static Analysis, pp. 238-255, 2009. 

  14. S. Guarnieri et al. "Saving the World Wide Web from Vulnerable JavaScript", Proceedings of the International Symposium on Software Testing and Analysis, pp. 177-187, 2011. 

  15. R. Chugh et al. "Staged Information Flow for JavaScript", Proceedings of the Conference on Programming Language Design and Implementation, pp. 50-62, 2009. 

  16. S. Bandhakavi et al. "VEX: Vetting Browser Extensions for Security Vulnerabilities", Proceedings of the USENIX Conference on Security. pp. 22-22, 2010. 

  17. O. Tripp et al. "Hybrid Security Analysis of Web JavaScript Code via Dynamic Partial Evaluation", Proceedings of the International Symposium on Software Testing and Analysis, pp. 49-59, 2014. 

  18. H. Lee et al. "SAFE: Formal Specification and Implementation of a Scalable Analysis Framework for ECMAScript", Proceedings of the International Workshop on Foundations of Object-Oriented Languages, 2012. 

  19. PLRG@KAIST. "SAFE: JavaScript Analysis Framework", http://safe.kaist.ac.kr, 2013. 

  20. P. Cousot and R. Cousot. "Abstract Interpretation: A Unified Lattice Model for Static Analysis of Programs by Construction or Approximation of Fixpoints", Proceedings of the Symposium on Principles of Programming Languages, pp. 238-252, 1977. 

  21. S. Kang and S. Ryu. "Formal Specification of a JavaScript Module System", Proceedings of the Conference on Object-Oriented Programming, Systems, Languages, and Applications, pp. 621-638, 2012. 

  22. C. Park et al. "All About the with Statement in JavaScript: Re-moving with Statements in JavaScript Applications", Proceedings of the Symposium on Dynamic Languages, pp. 73-84. 2013. 

  23. W. Cheung et al. "Development Nature Matters: An Empirical Study of Code Clones in JavaScript Applications", Empirical Software Engineering, pp. 1-48, 2015. 

  24. C. Park and S. Ryu. "Scalable and Precise Static Analysis of JavaScript Applications via Loop-Sensitivity", Proceedings of the European Conference on Object-Oriented Programming, pp. 735-756, 2015. 

  25. C. Park et al. "Static Analysis of JavaScript Web Applications in the Wild via Practical DOM Modeling", Proceedings of the International Conference on Automated Software Engineering, pp. 552-562, 2015. 

  26. S. Bae et al. "SAFE_WAPI: Web API Misuse Detector for Web Applications", Proceedings of the International Symposium on Foundations of Software Engineering, pp. 507-517, 2014. 

  27. Y. Ko et al. "Practically Tunable Static Analysis Framework for Large-Scale JavaScript Applications", Proceedings of the International Conference on Automated Software Engineering, pp. 541-551, 2015. 

  28. J. Park et al. "Battles with False Positives in Static Analysis of JavaScript Web Applications in the Wild", Proceedings of the International Conference on Software Engineering, 2016. 

저자의 다른 논문 :

섹션별 컨텐츠 바로가기

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

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

선택된 텍스트

맨위로