170 likes | 283 Vues
This document outlines a robust framework developed for the interception and analysis of malicious Win32 scripts. It examines the background and preliminary characterization of threats posed by active scripting languages such as JScript and VBScript. The framework enables effective policy development and enforcement, balancing legitimate use with malicious activities. The architecture supports extensive logging of script behavior to a remote server, allowing for improved monitoring and control of script-based threats on Microsoft Windows platforms, addressing gaps in existing commercial defenses.
E N D
Tim Hollebeek, Ph.D. tim@cigital.com Interception and Analysis Framework for Win32 Scripts www.cigital.com (not for public release)
Overview • Background • Preliminary characterization of attacks/threats • What we’ve built • Coverage of threats • Tech Transfer successes • Integration
Background: ActiveScripting • Microsoft architecture for integrating scripts with applications in a language-neutral way. • Scripting is often used as “Turing glue” to connect and drive disparate software components. Active Scripting Languages • Perl • Jscript • VBscript/VBA (macros) • Rexx • Python Active Scripting Applications/Hosts • Web browsers • Mail readers • Embedded HTML viewers • MS Office 2000 applications • Windows Scripting Host
Technical Objectives • Address the threat of a significant class of mobile malicious code: • ActiveScripting (JScript, VBscript) • Provide interception and logging framework that allows policies to be developed and enforced • Constrain active scripting capability effectively to balance: • legitimate uses vs. malicious uses
Scope • Malicious Scripts on Microsoft Windows based platforms • Script-based viruses, trojans • malicious web pages • malicious HTML embedded in various files • Especially: scripts that use one of about 30 vulnerabilities that allow compromise of the machine from scripts (most recent … 9 days ago)
Attacker Objectives • Traditional “malware” activities • Viruses, trojan horses • Fully compromising host computers • Accessing sensitive data/manipulating sensitive functionality • Compromising script-aware applications • Compromising script-dependent applications
Why is this easy? • MS Windows contains lots of bad code and very few boundaries • Microsoft architecture is script-friendly • “big bag of components” • Much of this infrastructure built to support distributed applications
Defenses • Must be at the correct level (or multi-level) • Most existing defenses aren’t: • Secure sessions • Filtering • Signature schemes • Kernel/filesystem level defenses • Commercial world focused on today’s attacks
Categories of Malicious Scripts Easy • Malicious scripts distributed as attachments • Embedded scripts that exploit flaws in components or host applications • Malicious scripts that manipulate legitimate functionality Hard • Malicious scripts injected into dynamic web pages • Scripts that exploit the distributed nature of web applications Very Hard!
Malicious Script Capability Matrix Web based Attach Flaw Legitimate Inject ILOVEYOU Kak Malicious web site E*TRADE hack E-bayla Web bugs E-mail wiretapping Future threats
Intercepting ActiveScripting • What works well: • Blocking access to flawed components/methods • Feasible: • Correlating script activity with lower level information • Reducing exposure of script-aware applications • Restricting script actions to safer subset • Still difficult: • Script-dependent and script-based applications
Tech Transfer • Produced: • Robust prototype • Capable of extensive logging of script behavior on a number of machines to a remote server • Ability to block malicious script actions • Stable, efficient • Developing prototype into a tool to be used by Air Force community • Extensive logs (14,000 distinct scripts, gigabytes of information about their execution) • JustBeFriends (~4000 downloads)
Integration • We can provide: • Information on all page views • Script contents and URLs • Information on script behavior • During script execution: • Accesses to all members and methods (with parameters) of Automation objects the scripting engine interacts with • All actions of the scripting engine • Other related COM methods (possibly) user level correlation information
Logs • 3 Cigital Labs researchers • 6-12 months of browsing • Work-related and “other” sites • Also some “random” browsing (uses Yahoo!)
Architecture Centralized Logging Server XML Policy Script Actions Event Manager Scripting Engine Events Browser Architecture
Conclusions • Architecture provides a very successful and flexible way to monitor and control scripts on Windows systems • Can address commonly exploited risks from malicious scripts, which are unaddressed by current generation of commercial tools • Work still needed to get a handle on more complex attacks
END • The End