Reconstructing web pages from browser cache Iwan Hoogendoorn & - - PowerPoint PPT Presentation

reconstructing web pages from browser cache
SMART_READER_LITE
LIVE PREVIEW

Reconstructing web pages from browser cache Iwan Hoogendoorn & - - PowerPoint PPT Presentation

Reconstructing web pages from browser cache Iwan Hoogendoorn & Edwin Schaap University of Amsterdam July 4, 2013 1 Demo I Open Safari Clear Safaris cache Visit www.tweakers.net 2 Criminal research planning a crime committing the


slide-1
SLIDE 1

Reconstructing web pages from browser cache

Iwan Hoogendoorn & Edwin Schaap

University of Amsterdam

July 4, 2013

1

slide-2
SLIDE 2

Demo I

Open Safari Clear Safari’s cache Visit www.tweakers.net

2

slide-3
SLIDE 3

Criminal research

planning a crime committing the perfect crime Internet used as a resource

3

slide-4
SLIDE 4

Evidence by a witness

looking at content that is against the law content is removed by a suspect in a later stage Internet used as a resource

4

slide-5
SLIDE 5

Forensic crime investigation

computer forensics browser forensics web cache data forensics

5

slide-6
SLIDE 6

Research question

In what ways can one visually reconstruct websites with information retrieved from normalized browser caches that can be use for computer forensic examiners to build a case? Raw caching data Reconstruction methods Reliability after reconstruction

6

slide-7
SLIDE 7

Current forensic web cache tools

Nirsoft Web Cache View Digital Detective Siquest Foxten Software

7

slide-8
SLIDE 8

Netherlands Forensic Institute Tools

XIRAF HANSKEN Traces

8

slide-9
SLIDE 9

Popular web browsers

Figure 1 : Browser popularity - Worldwide

9

slide-10
SLIDE 10

Web cache data structure - Google Chrome

Header hash table … … … … index data_0 data_1 data_2 Cache (meta) data data_3 block files data_4

Figure 2 : Chrome web cache structure

10

slide-11
SLIDE 11

Web cache data structure - Mozilla Firefox

Header 32 buckets 256 records … … … … _CACHE_MAP_ _CACHE_001_ _CACHE_002_ _CACHE_003_ Cache (meta) data

Figure 3 : Firefox web cache structure

11

slide-12
SLIDE 12

Web cache data structure - Apple Safari

cfurl_cache_response PK entry_ID version hash_value storage_policy request_key time_stamp cfurl_cache_blob_data PK,FK1 entry_ID response_object request_object proto_props user_info cfurl_cache_receiver_data PK,FK1 entry_ID receiver_data

Figure 4 : Safari web cache structure

12

slide-13
SLIDE 13

Web cache data - before sanitazion

Chrome Firefox Safari Unique identification

  • Eviction
  • X

URL request string

  • Time/Date (first request)
  • Time/Date (last request)

X

  • X

Time/Date (expire) X

  • X

Fetch count X

  • X

Client request headers X X

  • Server response header
  • Server response body
  • Table 1 :

Firefox, Chrome and Safari web cache comparison table

13

slide-14
SLIDE 14

Traces - normalised cache data

Unique identification URL request string Time/Date (first request) Server response body

14

slide-15
SLIDE 15

Web page reconstruction methods - I

pre-processing post-processing

15

slide-16
SLIDE 16

Web page reconstruction methods - II

Pre-processing Advantages:

1

Requires no configuration of the rendering browser.

2

Can even run in the browser of the user enabling interaction.

Disadvantages:

1

Tampering the evidence.

2

Hard to parse all resource identifiers, especially if JavaScript is used.

3

Non-parsed resource identifiers are circumventing the application.

16

slide-17
SLIDE 17

Web page reconstruction methods - III

Post-processing Advantages:

1

All resource identifiers are captured by the proxy.

Disadvantages:

1

Requires proxy configuration of rendering browser.

2

SSL traffic is hard to deal with.

17

slide-18
SLIDE 18

Proof of Concept

Proof of Concept

18

slide-19
SLIDE 19

Application design

Application Cache Proxy Rendering browser User's Browser Frontend Traces

Figure 5 : Web page reconstruction application

19

slide-20
SLIDE 20

Demo II

Reconstruct web page visited at the beginning of this presentation Compare before and after

20

slide-21
SLIDE 21

Result - Simple websites I

Original Reconstructed

21

slide-22
SLIDE 22

Result - Simple websites II

Original NetAnalysis

22

slide-23
SLIDE 23

Result - complex websites I

Original Reconstructed

23

slide-24
SLIDE 24

Result - complex websites II

Original NetAnalysis

24

slide-25
SLIDE 25

Analysis - Dynamic resources

A B time W1 W2 R resources

1 Browser S displays website

W1 on time A.

2 Website W1 contains

resource R.

3 Browser S displays website

W2 on time B.

25

slide-26
SLIDE 26

Analysis - Runtime dependencies

1 Browser S visits website W. 2 Website W contains a dynamic time T. 3 Time T is taken from the local system time.

26

slide-27
SLIDE 27

Conclusion

Prefer post-processing Normalized data is sufficient Reliability depends on cache data

27

slide-28
SLIDE 28

Thank you

?

28