• Title/Summary/Keyword: 타입스크립트

Search Result 25, Processing Time 0.038 seconds

JavaScript-to-c++ Type Inferencing Transcompiler Using Cartesian Product Algorithm (Cartesian Product Algorithm을 사용한 JavaScript-to-C++ 타입 추론 컴파일러)

  • Kim, Jaeju;Han, Hwansoo
    • Proceedings of the Korea Information Processing Society Conference
    • /
    • 2015.10a
    • /
    • pp.910-913
    • /
    • 2015
  • 자바스크립트는 웹 페이지를 제어하기 위한 표준적인 스크립트 언어로 오랫동안 사용되어 왔다. 최근 웹 앱이나 서버사이드 응용 프로그램을 자바스크립트로 작성하게 되면서, 자바스크립트 프로그램을 더욱 빠르게 동작하도록 만드는 것이 중요한 이슈가 되었다. 본 논문에서는 암시적인 동적 타입 시스템을 사용하는 자바스크립트 언어에 Cartesian Product Algorithm을 적용하여 타입을 추론하고, 이 정보를 바탕으로 정적 타입 시스템인 C++ 코드로 변환하는 컴파일러의 구조와 알고리즘을 제시한다.

Plagiarism Detection Using Dependency Graph Analysis Specialized for JavaScript (자바스크립트에 특화된 프로그램 종속성 그래프를 이용한 표절 탐지)

  • Kim, Shin-Hyong;Han, Tai-Sook
    • Journal of KIISE:Software and Applications
    • /
    • v.37 no.5
    • /
    • pp.394-402
    • /
    • 2010
  • JavaScript is one of the most popular languages to develope web sites and web applications. Since applicationss written in JavaScript are sent to clients as the original source code, they are easily exposed to plagiarists. Therefore, a method to detect plagiarized JavaScript programs is necessary. The conventional program dependency graph(PDG) based approaches are not suitable to analyze JavaScript programs because they do not reflect dynamic features of JavaScript. They also generate false positives in some cases and show inefficiency with large scale search space. We devise a JavaScript specific PDG(JS PDG) that captures dynamic features of JavaScript and propose a JavaScript plagiarism detection method for precise and fast detection. We evaluate the proposed plagiarism detection method with experiment. Our experiments show that our approach can detect false-positives generated by conventional PDG and can prune the plagiarism search space.

Detecting Security Vulnerabilities in TypeScript Code with Static Taint Analysis (정적 오염 분석을 활용한 타입스크립트 코드의 보안 취약점 탐지)

  • Moon, Taegeun;Kim, Hyoungshick
    • Journal of the Korea Institute of Information Security & Cryptology
    • /
    • v.31 no.2
    • /
    • pp.263-277
    • /
    • 2021
  • Taint analysis techniques are popularly used to detect web vulnerabilities originating from unverified user input data, such as Cross-Site Scripting (XSS) and SQL Injection, in web applications written in JavaScript. To detect such vulnerabilities, it would be necessary to trace variables affected by user-submitted inputs. However, because of the dynamic nature of JavaScript, it has been a challenging issue to identify those variables without running the web application code. Therefore, most existing taint analysis tools have been developed based on dynamic taint analysis, which requires the overhead of running the target application. In this paper, we propose a novel static taint analysis technique using symbol information obtained from the TypeScript (a superset of JavaScript) compiler to accurately track data flow and detect security vulnerabilities in TypeScript code. Our proposed technique allows developers to annotate variables that can contain unverified user input data, and uses the annotation information to trace variables and data affected by user input data. Since our proposed technique can seamlessly be incorporated into the TypeScript compiler, developers can find vulnerabilities during the development process, unlike existing analysis tools performed as a separate tool. To show the feasibility of the proposed method, we implemented a prototype and evaluated its performance with 8 web applications with known security vulnerabilities. We found that our prototype implementation could detect all known security vulnerabilities correctly.

A Study on the Suitability of Scripting Language in Metaverse Development (메타버스 개발과 스크립팅 언어 적합성에 관한 연구)

  • Hwa-Seon Choi
    • Proceedings of the Korean Society of Computer Information Conference
    • /
    • 2023.01a
    • /
    • pp.299-300
    • /
    • 2023
  • 최근 인공지능의 현실화와 더불어 프로그래밍 언어인 Python의 독주가 한창이다. 그렇다면 과연 메타버스 시대가 현실화 된다면 어떤 프로그래밍 언어가 대세가 될 것인가. 현재 메타버스 플랫폼인 로블록스에서 사용되고 있는 루아스크립트, 제페토 월드에서 사용되고 있는 Typescript에서 착안해서 미래의 메타버스 개발에 공용으로 사용될 효율적인 언어를 살펴보았다.

  • PDF

Optimization of the Execution of the Loop for the TraceMonkey Interpreter (TraceMonkey 자바스크립트 엔진의 인터프리터에서 루프 수행 최적화 방안)

  • Park, Hyuk-Woo;Moon, Soo-Mook
    • Proceedings of the Korean Information Science Society Conference
    • /
    • 2011.06b
    • /
    • pp.398-400
    • /
    • 2011
  • 자바스크립트는 현재 웹 사이트에서 클라이언트 사이드 프로그래밍의 언어로 널리 쓰이고 있다. 최근 들어 RIA(Rich Internet Application)의 등장과 함께 모바일 환경에서의 인터넷 접속이 증가하면서 자바스크립트 언어의 수행 성능이 중요한 이슈가 되고 있다. 본 논문에서는 자바스크립트 엔진 중 하나인 TraceMonkey에서 인터프리터로 루프(Loop) 수행 시 타입 체크 오버헤드 제거와 슈퍼바이트 코드 최적화를 적용하여 성능 향상을 꾀하고 이를 평가하고자 한다.

Automatic Javascript de-obfuscation and Detection of Malicious WebSite using Hooking Method (후킹 기법을 이용한 난독화 자바 스크립트 자동 해독 및 악성 웹 사이트 탐지 기술)

  • Oh, JooHyung;Im, Chaetae;Jung, HyunCheol
    • Proceedings of the Korea Information Processing Society Conference
    • /
    • 2010.11a
    • /
    • pp.1202-1205
    • /
    • 2010
  • 무작위 SQL 삽입 공격 등을 통해 웹서버 해킹 사례가 꾸준히 증가하고 있으며, 대부분의 해킹된 웹서버는 난독화된 자바 스크립트 코드가 웹페이지에 삽입되어 악성코드 경유/유포지로 악용되고 있다. 본 논문에서는 난독화된 자바 스크립트 복원 및 취약한 ActiveX 생성에 사용되는 주요 함수에 대해 후킹 기술을 적용한 브라우저를 이용해서 난독화된 스크립트를 자동으로 해독하고, 악성코드 경유/유포지로 악용되는 웹 서버를 탐지할 수 있는 기술을 제안한다. 또한 제안 기술을 프로토타입 시스템으로 구현하고, 악성 URL 공유 사이트를 통해 수집한 난독화된 자바 스크립트 샘플 분석을 통해 제안한 기술이 높은 악성코드 경유/유포지 탐지율을 보이는 것을 증명한다.

A Malware Detection Method using Analysis of Malicious Script Patterns (악성 스크립트 패턴 분석을 통한 악성코드 탐지 기법)

  • Lee, Yong-Joon;Lee, Chang-Beom
    • Journal of the Korea Academia-Industrial cooperation Society
    • /
    • v.20 no.7
    • /
    • pp.613-621
    • /
    • 2019
  • Recently, with the development of the Internet of Things (IoT) and cloud computing technologies, security threats have increased as malicious codes infect IoT devices, and new malware spreads ransomware to cloud servers. In this study, we propose a threat-detection technique that checks obfuscated script patterns to compensate for the shortcomings of conventional signature-based and behavior-based detection methods. Proposed is a malicious code-detection technique that is based on malicious script-pattern analysis that can detect zero-day attacks while maintaining the existing detection rate by registering and checking derived distribution patterns after analyzing the types of malicious scripts distributed through websites. To verify the performance of the proposed technique, a prototype system was developed to collect a total of 390 malicious websites and experiment with 10 major malicious script-distribution patterns derived from analysis. The technique showed an average detection rate of about 86% of all items, while maintaining the existing detection speed based on the detection rule and also detecting zero-day attacks.

Effects of Menu Arrangement and User Script on Task Using Smartphone Applications (메뉴의 배열과 사용자 스크립트가 스마트폰 애플리케이션 과제 수행에 미치는 효과)

  • Min, Sungki;Park, Soo-Young;Lee, Sangil
    • The Journal of the Korea Contents Association
    • /
    • v.21 no.4
    • /
    • pp.67-76
    • /
    • 2021
  • Three research hypotheses expected when working with a mobile app were verified. As follows: (1) Usability varies depending on the external structure of the tree-view menu. (2) If the menu arrangement is different from the script expected by users, the usability is poor. And (3) the effects of each of these two hypotheses vary depending on the complexity of the task. To this end, a script for booking accommodations expected by undergraduate students was written, and an experiment was designed with the task completion time and error rate as dependent variables. The experiment was conducted by implementing a prototype for reservation system on a smartphone As a result, while the overall performance was unfavorable when the task was complicated, the superiority of sectional menu was prominent when the task was complicated, and positive responses were observed when the menu arrangement in a complicated task matched user expectations. By discussing these results, it was found that when designing a procedural menu on a mobile screen, we come up with measures to minimize the burden of working memory, consider what tree-views are for the task, and that in complex tasks, menus should be arranged according to the scripts expected by users.

Definition of Context-based Script for Avatar-Object Behavior Control (컨텍스트 기반의 아바타-객체 행위제어 스크립트의 정의)

  • Kim Jae-Kyung;Choi Seung-Hyuk;Lim Soon-Bum;Choy Yoon-Chul
    • Proceedings of the Korean Information Science Society Conference
    • /
    • 2005.07b
    • /
    • pp.568-570
    • /
    • 2005
  • 아바타는 최근 각광 받고 있는 기술로서 다양한 분야에서 많은 활용 및 발전이 기대된다. 현재 아바타 행위 표현 및 제어를 위해 다양한 기법들이 연구되고 있으나, 대부분 객체와의 상호작용이 결여된 아바타 자체의 동작을 대상으로 하고 있다. 그러나 가상환경에서 아바타를 활용하기 위해서는 여러 객체와의 상호작용을 통한 행위가 필수적으로 요구되며, 이에 대한 아바타-객체간의 행위 모델 및 스크립트에 대한 연구가 이루어져야 한다. 본 논문에서는 3D 가상환경에서 아바타의 제어를 보다 용이하게 하기 위해서 아바타-객체 행위 표현을 위해 객체기반 아바타 행위 표현 및 제어 스크립트를 정의하였다. 제안 모델에서 는 단순히 객체가 모든 행위를 사용자에게 나열하는 것이 아니라, 객체 상태에 따라 사용가능한 적합한 행위를 사용자에게 제공하기 위해서 컨텍스트에 기반한 객체-아바타 행위 모델을 제안하고 있다. 제안 기법을 실제 3D 환경와 프로토타입 시스템으로 구현해본 결과, 사용자는 제안 객체 모델의 컨텍스트에 따라 변화하는 객체의 행위 인터페이스를 통하여 보다 용이하게 아바타-객체간의 행위를 제어할 수 있었다.

  • PDF

Node.js Module Vulnerability Analysis: Based on AST and CFG (AST 와 CFG 에 기반한 Node.js 모듈 취약점 분석)

  • Kim, Hee Yeon;Oh, Ho Kyun;Kim, Ji Hoon;You, Jaewook;Shin, Jeong Hoon;Kim, Kyounggon
    • Proceedings of the Korea Information Processing Society Conference
    • /
    • 2019.10a
    • /
    • pp.475-478
    • /
    • 2019
  • 웹어플리케이션의 발전에 따라 자바스크립트 런타임 플랫폼인 Node.js 의 사용도 증가하고 있다. 개발자들은 Node.js 의 다양한 모듈을 활용하여 프로그래밍을 하게 되는데, Node.js 모듈 보안의 중요성에 비하여 모듈 취약점 분석은 충분히 이루어지지 않고 있다. 본 논문에서는 소스코드의 구조를 트리 형태로 표현하는 Abstract Syntax Tree 와 소스코드의 실행 흐름 및 변수의 흐름을 그래프로 나타내는 Control Flow Graph/Data Flow Graph 가 Node.js 모듈 취약점 분석에 효율적으로 활용될 수 있음을 서술하고자 한다. Node.js 모듈은 여러 스크립트 파일로 나누어져 있다는 점과 사용자의 입력이 분명하다는 특징이 있다. 또한 자바스크립트 언어를 사용하므로 선언된 변수들의 타입에 따라 적용되는 범위인 scope 가 다르게 적용된다는 특징이 있다. 본 논문에서는 이러한 Node.js 모듈의 특징을 고려하여 Abstract Syntax Tree 및 Control Flow Graph/Data Flow Graph 을 어떻게 생성하고 취약점 분석에 활용할 것인지에 대한 방법론을 제안하고, 실제 분석에 활용할 수 있는 코드 구현을 통하여 구체화시키고자 한다.