JavaScript Malware
Наблюдаемые тенденции коммерциализации кибер-преступности на сегодняшний день вылились в две бизнес-модели получения выгоды от распространения вредоносного кода: Crimeware-as-a-Service (CaaS) и Pay-per-Install (PPI).
В модели CaaS злоумышленники сами поддерживают инфраструктуру, необходимую для осуществления нелегальной активности (DDoS, накликивание, рассылка спама, и т.п.), предоставляя доступ к ней в качестве сервиса. Такая инфраструктура обычно представляется ботнетом. Прибыль владельцев ботнетов зависит от количества узлов в ботнете и от времени его жизни. Таким образом, актуальными задачами для них являются обеспечение отказоустойчивых каналов управления ботнетом и добавление в него новых хостов. Из актуальности второй задачи родилась вспомогательная модель монетизации вредоносной активности – PPI.
Согласно модели PPI, владельцы ботнетов платят владельцам ресурсов, после посещения которых рабочая станция пользователя окажется добавлена в соответствующий ботнет. Следовательно, злоумышленники, работающие по схеме PPI, должны решить следующие задачи:
- Обеспечить поток посетителей на вредоносный сайт.
- Реализовать внедрение вредоносного кода на хосты посетителей.
Первая задача решается через использование уязвимостей в веб-приложениях. Основная идея – внедрить в страницы веб-приложения либо перенаправление на вредоносный сайт, либо IFRAME с контентом вредоносного сайта.
Вторая задача решается либо через использование методов социальной инженерии (примером могут служить страницы с фальшивыми антивирусами или с информацией об устаревшем кодеке) либо через эксплуатацию уязвимостей в браузерах и их надстройках (такие атаки называются Drive-by-Download). Соответственно, актуальной задачей является исследование и разработка методов обнаружения вредоносного JS, реализующего атаки Drive-by-Download.
Область исследования огромна, поэтому имеет смысл немного ограничить задачу. Во-первых, мы будем рассматривать только обфусцированный вредоносный JS. Потому что с необфусцированным кодом хорошо справляются методы статического анализа (см. антивирусы). Во-вторых, предположим, что payload, загружаемый при эксплуатации уязвимостей, не может быть обнаружен используемыми средствами защиты (т.е. злоумышленник использует 0day-уязвимость или проверил свою атаку на virustotal). При таких ограничениях, становятся неприменимы следующие распространенные методы обнаружения вредоносного JS:
- методы статического анализа JS;
- использование антивирусов для обнаружения бинарного вредоносного кода (заключительной фазы атаки Drive-by-Download);
- использование honey-pot-клиентов с последующим анализом изменений в системе (неприменим к 0day – т.к. honey-pot должен содержать ПО всех возможных производителей и версий, а не только известно-уязвимых).
Таким образом, остается направление, связанное с анализом динамических свойств кода. Более того, за последние два года завершились несколько интересных исследований, в которых были получены хорошие результаты (см. например http://wepawet.iseclab.org/).
На данной странице я буду публиковать ссылки на работы зарубежных коллег и наши результаты по исследованиям в этой области.
Как всегда, feedback приветствуется.
References
Общая информация по Cyber Crime (модели CaaS и PPI, атаки drive-by-download, распространение фальшивых антивирусов и т.п.):
- The Business of Cybercrime. A Complex Business Model. Trend Micro, 2010.
- Web Security Trends Report Q1 2008 & Q2 2008
- Kevin Stevens. The Underground Economy of the Pay-Per-Install (PPI) Business.
- Provos, N., Mavrommatis, P., Abu Rajab, M., Monrose, F. All Your iFRAMEs Point to Us. Google Technical Report. Google, Inc., 2008.
- Dmitry Samosseiko. The partnerka – what is it, and why should you care?
- M86 Security Labs Report
- Fraser Howard. Modern web attacks.
- M. Johns. On javascript malware and related threats. Journal in Computer Virology, Jan 2008.
- Marco Cova, Corrado Leita, Olivier Thonnard, Angelos D. Keromytis, Marc Dacier. An Analysis of Rogue AV Campaigns.
- Rajab, M. A., Ballard, L., Mavrommatis, P., Provos, N., and Zhao, X. 2010. The nocebo effect on the web: an analysis of fake anti-virus distribution. In Proceedings of the 3rd USENIX Conference on Large-Scale Exploits and Emergent Threats: Botnets, Spyware, Worms, and More (San Jose, California).
Анатомия атак Drive-By-Download и их примеры:
- http://www.cs.ucsb.edu/~marco/blog/2008/04/anatomy-of-a-drive-by-download.html
- http://www.bjou.de/blog/2008/07/forensics-anatomy-of-a-drive-by-download-attack/
- http://blog.dasient.com/2010/03/anatomy-of-bablodos-drive-by-download.html
- Manuel Egele, Engin Kirda, and Christopher Kruegel, Mitigating Drive-by Download Attacks: Challenges and Open Problems, Open Research Problems in Network Security Workshop (iNetSec 2009), Zurich, April 2009.
- Provos, N., McNamee, D., Mavrommatis, P., Wang, K., and Modadugu, N. The ghost in the browser analysis of web-based malware. In Proceedings of the First Conference on First Workshop on Hot Topics in Understanding Botnets (Cambridge, MA), 2007.
- Aikaterinaki Niki. Drive-by download attacks: effects and detection methods. IT Security Conference for the Next Generation, MSc Information Security, 2008-2009.
Методы обнаружения вредоносного JS на основе динамического анализа:
- M. Cova, C. Kruegel, and G. Vigna. Detection and analysis of drive-by-download attacks and malicious JavaScript code. In Proc. of the International World Wide Web Conference (WWW), 2010.
- K. Rieck, T. Krueger, A. Dewald, Cujo: Efficient Detection and Prevention of Drive-by-Download Attacks, Berlin Institute of Technology, 2010
- F. Kamron, L. Benson, and R. Eyal, Intelligent Detection of Malicious Script Code.
Другие методы обнаружения или предотвращения атак Drive-By-Download:
- L. Lu, V. Yegneswaran, P.A. Porras, W. Lee, “BLADE: An Attack-Agnostic Approach for Preventing Drive-By Malware Infections,” in Proceedings of the 17th ACM Conference on Computer and Communiations Security (CCS 2010), Chicago, IL, October 2010.
- Choi, Y., Kim, T., Choi, S., and Lee, C. Automatic Detection for JavaScript Obfuscation Attacks in Web Pages through String Pattern Analysis. In Proceedings of the 1st international Conference on Future Generation information Technology (Jeju Island, Korea, December 10 – 12, 2009).
- P. Likarish, E. Jung, and I. Jo, Obfuscated malicious javascript detection using classification techniques. In Malware 2009 (Montreal, 2009).
- A. Moshchuk, T. Bragin, D. Deville, S. D. Gribble, and H. M. Levy, Spyproxy: Execution-based detection of malicious web content, in Proceedings
- Barbara Endicott-Popovsky, Julia Narvaez, Christian Seifert, Deborah A. Frincke, Lori Ross O’Neil and Chiraag Aval. Use of Deception to Improve Client Honeypot Detection of Drive-by-Download Attacks.
- C. Seifert, P. Komisarczuk, and I. Welch, Identification of Malicious Web Pages with Static Heuristics, in Austalasian Telecommunication Networks and Applications Conference, Adelaide, 2008.
- Feinstein, Ben. Caffeine Monkey: Automated Collection, Detection and Analysis of JavaScript. BlackHat USA. Las Vegas, 2007.
Просто интересные ресурсы по JavaScript Malware:
- Daniel Reynaud. Dynamic Instrumentation: An Application to JavaScript Deobfuscation. Hack in the Box Online Magazine, vol. 2, 2010.
- Блог ZScaler. Особенно, посты про эвристики: http://research.zscaler.com/search/label/heuristics
Свежие комментарии