250 likes | 385 Views
Detective Browsers: A Software Technique to Improve Web Access Performance and Security. Songqing Chen * and Xiaodong Zhang *^ * College of William and Mary ^ National Science Foundation. Proxy Services. Proxy is designed for buffering static contents (and/or building a firewall).
E N D
Detective Browsers: A Software Technique to Improve Web Access Performance and Security Songqing Chen* and Xiaodong Zhang*^ *College of William and Mary ^National Science Foundation HPCS Lab, William and Mary WCW 2002, Boulder, Colorado 8/15//2002
Proxy Services • Proxy is designed for • buffering static contents (and/or building a firewall). • Dynamic contents not cached but unnecessarily • make connections to servers, and • temporarily store documents. • Up to more than 40% dynamic Web contents. • Secured transactions not cached but unecessarily • tunneled through. HPCS Lab, William and Mary WCW 2002, Boulder, Colorado 8/15//2002
Proxy Overhead for Dynamic Content 4 3 2 1 5 6 http://www.../cgi-bin/a forwarding missing parsing 7 8 Internet 9 11 receiving 10 & delivering store/ delete Client Client Side Proxy Server HPCS Lab, William and Mary WCW 2002, Boulder, Colorado 8/15//2002
Proxy Overhead http://www.example/cgi-bin/a Parsing Fetching/failing Forwarding executing Receiving & delivering Storing/deleting Proxy HPCS Lab, William and Mary WCW 2002, Boulder, Colorado 8/15//2002
Proxy Overhead for Secured Transactions HPCS Lab, William and Mary WCW 2002, Boulder, Colorado 8/15//2002
Proxy Overhead Parsing Forwarding https://USAcreditcard.com Executing Receiving/ Forwarding Proxy HPCS Lab, William and Mary WCW 2002, Boulder, Colorado 8/15//2002
Questions • How large is the proxy overhead for processing dynamic and secured transactions? • What are the performance effects and security concerns? • What are alternatives to eliminate the overhead and other concerns? HPCS Lab, William and Mary WCW 2002, Boulder, Colorado 8/15//2002
Outline • Examination of the proxy structure • Technical difficulties in the proxy • Proxy overheads • Detective borwser • Implementation and performance • Conclusion HPCS Lab, William and Mary WCW 2002, Boulder, Colorado 8/15//2002
Basic Functions of Proxy Receive a client request Send a request to server No Content available? Yes Send IMS to server No Valid? Receive the content Yes Either receive a confirmed message or a new content Deliver the content to the client HPCS Lab, William and Mary WCW 2002, Boulder, Colorado 8/15//2002
Processing Dynamic Contents in Proxy • Upon a client request, the proxy checks if the content is available and valid. • This is a miss. Forwarding the request to the server and get it. • Store it, but later find it as non-cacheable. Put it in LRU list for replacement. HPCS Lab, William and Mary WCW 2002, Boulder, Colorado 8/15//2002
Eliminating the Overhead • Proxy asks server to directly deliver • the client must have multiple ports. • Proxy asks client directlycontact server • processing request and declination • Proxy does not cache the content • processing overhead remains. HPCS Lab, William and Mary WCW 2002, Boulder, Colorado 8/15//2002
Processing Secured Transactions in Proxy • SSL provides encrypted data transmission. • Upon receiving an SSL session request, the proxy starts to ``tunnel” (or ``connect”). • Buffer the request in proxy, and then send it to the server. • Upon receiving reply from server, send it to the client. HPCS Lab, William and Mary WCW 2002, Boulder, Colorado 8/15//2002
Potential Security Concerns in Proxy • Bogus transactions • proxy can be used to relay bogus transactions • Ircache proxy was used as an anonimizer to make fraudulent credit card purchases. Ircache was blamed for this! • Ircache group has denied all SSL requests. HPCS Lab, William and Mary WCW 2002, Boulder, Colorado 8/15//2002
Quantifying Proxy Overhead Client Server Proxy Client HPCS Lab, William and Mary WCW 2002, Boulder, Colorado 8/15//2002
Measurement Environment • The client is text-based, excluding displays and other functions on Pentium 3 (1 GHz) • Squid proxy (2.3-STABLE4) on Pentium 3. • 10 popular sites with diverse locations and service natures (.com, .org, .edu, and .gov) • Client sends requests every hour, 24 times a day. • Repeated measurements 100 times in each site. HPCS Lab, William and Mary WCW 2002, Boulder, Colorado 8/15//2002
Measurement Results • Proxy overhead is independent of static or dynamic contents. • Average overhead is 20% of the access time. • The overhead is reduced little by a using a faster proxy host machine (Pentinum 4, 1.7 GHz). • We believe our measurements also reflects the tunneling overhead. HPCS Lab, William and Mary WCW 2002, Boulder, Colorado 8/15//2002
Detective Browser • A browser with detective functions: • upon a request, the browser checks if it is for a dynamic content or secured transactions. • If so, the browser will bypass the proxy, and directly connect to the server. • Otherwise, the request is treated routinely. HPCS Lab, William and Mary WCW 2002, Boulder, Colorado 8/15//2002
Bypassing the Proxy (dynamic) http://www.example/cgi-bin/a Executing HPCS Lab, William and Mary WCW 2002, Boulder, Colorado 8/15//2002
Bypassing the Proxy (secured) http://USAcreditcard.com Executing HPCS Lab, William and Mary WCW 2002, Boulder, Colorado 8/15//2002
The Types of Detected Contents • Script (cgi, asp, PHP) • Queries (``?”, search engines) • SSI (Server Side Includes) • Secure ports HTTP requests (443, 563) • HTTPS requests • Method and Auth HPCS Lab, William and Mary WCW 2002, Boulder, Colorado 8/15//2002
Detector’s Software Structure • A user demean with detecting function is attached to an unmodified browser. • Parses each request to search specific symbols in URL/header. (StringSearch). • Use ConnectionRedirect to bypass proxy. • Implemented with Mozilla 0.9.7. HPCS Lab, William and Mary WCW 2002, Boulder, Colorado 8/15//2002
Detector Overhead Measurements • Browser detecting time for each request. • The measured time is 5 to 6 microsecond. • Insignificant to a client. HPCS Lab, William and Mary WCW 2002, Boulder, Colorado 8/15//2002
Effectiveness of Detective Browser Proxy trace analysis of NLANR (2/25/02 to 3/4/02) • pb.us.ircache.net (east coast): • 11-23% of queries, SSI, and scripts. • bo.us.ircache.net (Rocky mountain area) • 15-98% of queries, SSI, and scripts. • sj.us.ircache.net (San Jose area) • 10-24% of queries, SSI, and scripts. • Secured transactions are not recored because the proxy stopped accepting them since 1998. HPCS Lab, William and Mary WCW 2002, Boulder, Colorado 8/15//2002
What are Not Able to Detect Servers determine the dynamic natures of following rare requests: • Pragma • cache-control • Response-status • Push-content • Vary HPCS Lab, William and Mary WCW 2002, Boulder, Colorado 8/15//2002
Conclusion • Quantify unnecessary proxy overheads and securityconcerns for dynamic and secured transactions. • Overhead and security concerns are rooted from the proxy structure itself. • Detective browser detects commonly used dynamic and secured transactions, and bypass proxy, with little overhead. HPCS Lab, William and Mary WCW 2002, Boulder, Colorado 8/15//2002