Методика тестування та захисту веб-додатків на TypeScript
Loading...
Date
Authors
Journal Title
Journal ISSN
Volume Title
Publisher
Тернопіль, ЗУНУ
Abstract
У ході дослідження встановлено, що сучасні підходи до тестування вебдодатків ґрунтуються на поєднанні автоматизованих інструментів, методів статичного та динамічного аналізу, а також інтеграції тестування у весь життєвий цикл розробки, що дозволяє своєчасно виявляти помилки та зменшувати ризики експлуатації вразливостей. Встановлено, що TypeScript підвищує надійність коду завдяки статичній типізації, проте сам по собі не усуває загрози, характерні для JavaScript-екосистеми, зокрема проблеми з прототипним наслідуванням, залежностями та unsafe-конструкціями. Проведений аналіз підтвердив, що причина вразливості в dot-diver полягає у неконтрольованій обробці ключів шляху у функції setByPath, що дозволяло атакувальнику вносити зміни у глобальний об’єкт Object.prototype, використовуючи шкідливі поля на зразок __proto__.
Запропонована комплексна методика тестування та захисту веб-додатків, розроблених на основі технології TypeScript, яка поєднує сучасні підходи до статичного та динамічного аналізу, оцінювання залежностей і дослідження специфічних для JavaScript/TypeScript уразливостей.
The study found that modern approaches to testing web applications are based on a combination of automated tools, static and dynamic analysis methods, as well as the integration of testing into the entire development life cycle, which allows for timely detection of errors and reducing the risks of exploiting vulnerabilities. It was found that TypeScript increases the reliability of the code due to static typing, but by itself it does not eliminate the threats characteristic of the JavaScript ecosystem, in particular problems with prototypical inheritance, dependencies and unsafe constructions. The analysis confirmed that the cause of the vulnerability in dot-diver is uncontrolled processing of path keys in the setByPath function, which allowed the attacker to make changes to the global Object.prototype object using malicious fields such as __proto__.
A comprehensive methodology for testing and protecting web applications developed based on TypeScript technology is proposed, which combines modern approaches to static and dynamic analysis, dependency assessment and research of vulnerabilities specific to JavaScript/TypeScript.
Description
Keywords
TypeScript, веб-додатки, інформаційна безпека, тестування безпеки, Prototype Pollution, вразливості, залежності, supply-chain, статичний аналіз коду, динамічний аналіз, SCA, npm audit, dot-diver, web applications, information security, ecurity testing, vulnerabilities, dependencies, static code analysis, dynamic analysis
Citation
Рущак, В. М. Методика тестування та захисту веб-додатків на TypeScript = Methodology for Testing and Securing Web Applications Using TypeScript : кваліфікаційна робота : спец. 125 – кібербезпека та захист інформації ; освітньо-професійна програма – кібербезпека / Владислав Михайлович Рущак ; науковий керівник к.т.н., доц. С. В. Івасьєв. Тернопіль : ЗУНУ, 2025. 75 с.