Compression Bombs *Description*

Slides:



Advertisements
Similar presentations
JKlustor clustering chemical libraries presented by … maintained by Miklós Vargyas Last update: 25 March 2010.
Advertisements

WEB DESIGN TABLES, PAGE LAYOUT AND FORMS. Page Layout Page Layout is an important part of web design Why do you think your page layout is important?
A Toolbox for Blackboard Tim Roberts
Applet Security Gunjan Vohra. What is Applet Security? One of the most important features of Java is its security model. It allows untrusted code, such.
Engineering Secure Software. Uses of Risk Thus Far  Start with the functionality Use cases  abuse/misuse cases p(exploit), p(vulnerability)  Start.
A Beginners Guide to Web Site Design. What we will cover…. Planning your site. Creating a template. Images and Fonts. Absolute vs. Relative Links.
1 CS6320 – Why Servlets? L. Grewe 2 What is a Servlet? Servlets are Java programs that can be run dynamically from a Web Server Servlets are Java programs.
assumes basic arithmetic
PMI Inventory Tracker™
F5 Application Designer Extensions F5 Management Pack
SharePoint document libraries I: Introduction to sharing files How to add and edit files Wondering how to actually work with a document library? You’re.
ONLINE DATA STORAGE & DOCUMENTS Lesson 3. Lesson 3 – Online documents In this lesson we will be covering:  Online documents  Compression and expansion.
© 2006, Cognizant Technology Solutions. All Rights Reserved. The information contained herein is subject to change without notice. Automation – How to.
Best and Worst Practices Building RIA from Adobe and Microsoft.
13 C H A P T E R © 2001 The McGraw-Hill Companies, Inc. All Rights Reserved1 Downloading from the Internet The graphical user interface has made it so.
March 25, 2003NY/NJ MQ Family Users’ GroupToo Deep & Too Wide - 1 Too Deep & Too Wide Using Soft Limits To Avoid Hard Crashes NY/NJ Websphere MQ Family.
FALL 2005CSI 4118 – UNIVERSITY OF OTTAWA1 Part 4 Web technologies: HTTP, CGI, PHP,Java applets)
Map Reduce: Simplified Data Processing On Large Clusters Jeffery Dean and Sanjay Ghemawat (Google Inc.) OSDI 2004 (Operating Systems Design and Implementation)
Outcome 2 – Computer Software The Range of Software Available The Different Categories of Software System Software Programming Languages Applications Software.
Computer & Information Tech BANGKOK CHRISTIAN COLLEGE English Immersion Program Mathayom Department Computer & Information Technology Class Teacher David.
Store, sync, and share your files
Installing and Configuring IIS. Reliable IIS 6.0 uses a new request-processing architecture and application-isolation environment that enables individual.
Bonrix SMPP Client. Index Introduction Software and Hardware Requirements Architecture Set Up Installation HTTP API Features Screen-shots.
1 Chap 10 Virus. 2 Viruses and ”Malicious Programs ” Computer “Viruses” and related programs have the ability to replicate themselves on an ever increasing.
By Mark Kleersnyder II. Appropriate Use of Image Sizes Deciding which image size is appropriate depends on the application of the image. You need to weigh.
Chapter 3 Servlet Basics. 1.Recall the Servlet Role 2.Basic Servlet Structure 3.A simple servlet that generates plain text 4.A servlet that generates.
Block1 Wrapping Your Nugget Around Distributed Processing.
Google Apps in Education Workshop Presentation August 2010.
1 AGRIDES Walk-through. 2 AGRIDES - File Content AGRIDES allows to upload one file per transaction:  File –Message 1 Document A –Message 2 Document B.
_______________________________________________________________________________________________________________ PHP Bible, 2 nd Edition1  Wiley and the.
Team’s name. Preselection file You have just downloaded the preselection file: it’s the first step for you to win the challenge! In this file, you are.
Chapter 4 – Threads (Pgs 153 – 174). Threads  A "Basic Unit of CPU Utilization"  A technique that assists in performing parallel computation by setting.
HTML part 2. HTML File Formats HTML 3.2 HTML 5.0 HTML Transitional HTML Frameset HTML Strict XHTML 1.0 Transitional XHTML 1.0 Frameset.
M. Alexander Helen J. Wang Yunxin Liu Microsoft Research 1 Presented by Zhaoliang Duan.
Alfresco Daeja Integration Yong Qu Chief Solutions Architect
Web Design and Development. World Wide Web  World Wide Web (WWW or W3), collection of globally distributed text and multimedia documents and files 
Internet Applications (Cont’d) Basic Internet Applications – World Wide Web (WWW) Browser Architecture Static Documents Dynamic Documents Active Documents.
HTML A brief introduction HTML1. HTML, what is? HTML is a markup language for describing web documents (web pages). HTML stands for Hyper Text Markup.
Your team’s name. Selection file You have just downloaded the file for the prototyping/deepening phase. In this file, you are invited to specify some.
Your team’s name. Preselection file You have just downloaded the preselection file: it’s the first step for you to win the challenge! In this file, you.
Reading ROOT files in (almost) any browser.  Use XMLHttpRequest JavaScript class to perform the HTTP HEAD and GET requests  This class is highly browser.
Overview on Web Caching COSC 513 Class Presentation Instructor: Prof. M. Anvari Student name: Wei Wei ID:
File and File Systems Compiled by IITG Team Need to be reorganized and reworded.
Berliner Elektronenspeicherringgesellschaft für Synchrotronstrahlung mbH (BESSY) CA Gateway Update Ralph Lange, BESSY Ken Evans Jr., APS Jeff Hill, LANL.
Net-centric Computing Web Services. Lecture Outline  What is Web Service  Web Service Architecture  Creating and using Java Web Services  Apache Axis.
Exploring Cross-Application Cellular Traffic Optimization with Baidu TrafficGuard Zhenhua Li, Weiwei Wang, Tianyin Xu, Xin Zhong, Xiang-Yang Li, Yunhao.
Text2PTO: Modernizing Patent Application Filing A Proposal for Submitting Text Applications to the USPTO.
Training Deck Microsoft Corporation Store, sync, and share your work files.
BY. Secured Data Transmission through Network handles hiding a secret message with in an image in such a way that others cannot discern the presence or.
Modularization of Geant4 Dynamic loading of modules Configurable build using CMake Pere Mato Witek Pokorski
Core ELN Training: Office Web Apps (OWA)
File Formats Different applications (programs) store data in different formats. Applications support some file formats and not others. Open…, Save…, Save.
How to get the best results from your website and images.
SMTP SMTP stands for Simple Mail Transfer Protocol. SMTP is used when is delivered from an client, such as Outlook Express, to an server.
SMTP SMTP stands for Simple Mail Transfer Protocol. SMTP is used when is delivered from an client, such as Outlook Express, to an server.
Data Virtualization Tutorial: XSLT and Streaming Transformations
BIF713 Managing Disk Space.
Consistent URIs For Compliance Checking (1)
Utilization of Azure CDN for the large file distribution
Skill Based Assessment
SharePoint-Hosted Apps and JavaScript
Your team’s name Please indicate your selected themes.
Chapter 4.
Deepak Shenoy Agni Software
Utility Software compression; defragmentation; backing up; encryption Revision YouTube clip:
Research Institute for Future Media Computing
Your team’s name.
INFO 344 Web Tools And Development
CS5123 Software Validation and Quality Assurance
Zip file is also known as “Archive File ”. Transportation and storage are the purpose to use the Zip file. It compress the data. It saves the file With.
Presentation transcript:

Compression Bombs *Description* See [CWE 409](http://cwe.mitre.org/data/definitions/409.html). Also libpng has a [great discussion](http://libpng.sourceforge.net/decompression_bombs.html) Similar to an XML bomb, compression bombs are primarily used for denial of service attacks by filling up RAM or hard disk space. Minimally, this crashes the process and causes denial of service. Crashes, if handled poorly, however, can also cause other integrity problems (e.g. data corruption), or confidentiality problems (e.g. core dumps). What is more challenging about compression bombs is how ubiquitous compression is, and how hard this is to validate. If you are doing input validation, then you probably need to decompress first, so your decompression library is on the front lines of your attack surface.

Further details & Example How does it work? A zip or compression/ de-compression bomb is usually a small file for ease of transport and to avoid suspicion. However, when the file is unpacked, its contents are more than the system can handle. Infamous example: 42.zip Click here to download 42.zip(42.374 bytes zipped) The file contains 16 zipped files, which again contains 16 zipped files, which again contains 16 zipped files, which again contains 16 zipped, which again contains 16 zipped files, which contain 1 file, with the size of 4.3GB. So, if you extract all files, you will most likely run out of space :-) 16 x 4294967295 = 68.719.476.720 (68GB) 16 x 68719476720 = 1.099.511.627.520 (1TB) 16 x 1099511627520 = 17.592.186.040.320 (17TB) 16 x 17592186040320 = 281.474.976.645.120 (281TB) 16 x 281474976645120 = 4.503.599.626.321.920 (4,5PB)

What to do? *Mitigations* *Notes* Technically, a decompression library can mitigate this problem by keeping count of how many bytes have been decompressed and throwing an exception when it exceeds that limit (as is the mitigation with XML bombs). In practice, this feature often does not exist in decompression libraries (sadly). Look for such limits in the libraries that you use. Avoid inputs where an arbitrary number of rounds of compression are allowed (e.g. this is possible with HTTP Headers) Distrustful decomposition + strict system resource limits can mitigate this too. For example, a PNG file that gets server-side processing might want to do that processing in a separate process with tight memory consumption constraints. This adds complexity to your design too, and introduces concurrency complexities. *Notes* Compression is everywhere. HTTP Response headers can be compressed at the web server-to- browser level (unbeknownst to wep app developers). PNG and JPEG files are susceptible to bombing. MS Office documents are simply zip files of XML. Testing for this is very easy - just create a bomb with blank data and compress it heavily. Some compression tools might prevent you from over- compressing, so look up the maximum ratios of your compression algorithms instead of just trusting the compression tool Due to the super-high ratios achieved by modern compression bombing, it is NOT a feasible approach to simply limit the the compressed input size.