Seminar: Finding Malware at Web Scale

Speaker: Dr. Ben Livshits

Date/Time: 09-Mar-2016, 14:00 UTC




Over the last several years, JavaScript malware has emerged as one of the most insidious ways to attack unsuspecting users through their web browsers. This talk covers a series of projects that use ideas from program analysis, both static and runtime, to find --- and fight --- JavaScript malware. It will focus on the complex interplay between static and runtime analyses and outline some of the lessons learned in migrating research ideas to real-world products. 
A number of these projects have been successfully deployed within Bing and have been used daily to find and block malicious web sites, constituting one of the largest-scale deployments of static and runtime analysis techniques to date.
I will present key ideas and insights behind four of the systems, with increasingly dazzling names we have created over the past several years: Nozzle, Zozzle, Rozzle, and Kizzle. Nozzle is a runtime malware detector that focuses on finding heap spraying attacks; Zozzle is a mostly-static detector that finds heap sprays and other types of JavaScript malware; Rozzle leverages a novel technique we call “multi-execution” to address the problem of client-side cloaking, an avoidance tactic used by malware to escape detection; lastly, Kizzle is a system that finds exploit kits, the most sophisticated form of JavaScript malware to date.
These systems all share two characteristics that are key to their deployability: they are fast and extremely precise. For example, Zozzle's false positive rate is about one in a million, while Nozzle's is nearly one in a billion. 


Dr. Benjamin Livshits is a Senior Researcher at Microsoft Research and an affiliate professor at the University of Washington. He received a bachelor's degree in Computer Science and Math from Cornell University in 1999, and M.S. and Ph.D. degrees in Computer Science from Stanford University in 2002 and 2006, respectively. His research interests include application of sophisticated static and dynamic analysis techniques to finding errors in programs. 
Dr. Livshits has published over 100 papers at venues such as PLDI, POPL, Oakland Security, Usenix Security, CCS, SOSP, CHI, ICSE, FSE, and many others. He is known for his work in software reliability, especially tools to improve software security and privacy. As part of his dissertation at Stanford, he worked on issues, ranging from preventing buffer overruns in C programs to detecting security vulnerabilities (cross-site scripting, SQL injections, etc.) in Web-based applications. He is the author of several dozen patents. Lately, he has been focusing on topics ranging from security and privacy, to static and runtime analysis, to crowd-sourcing, and augmented reality. Ben generally does not speak of himself in the third person.

This page was last modified on 27 Mar 2014.