{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,10,31]],"date-time":"2026-10-31T19:53:00Z","timestamp":1793476380896,"version":"4.5.0"},"reference-count":22,"publisher":"Association for Computing Machinery (ACM)","issue":"6","license":[{"start":{"date-parts":[[2009,6,1]],"date-time":"2009-06-01T00:00:00Z","timestamp":1243814400000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.acm.org\/publications\/policies\/copyright_policy#Background"}],"content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":["Commun. ACM"],"published-print":{"date-parts":[[2009,6]]},"abstract":"<jats:p>Many Web sites embed third-party content in frames, relying on the browser's security policy to protect against malicious content. However, frames provide insufficient isolation in browsers that let framed content navigate other frames. We evaluate existing frame navigation policies and advocate a stricter policy, which we deploy in the open-source browsers. In addition to preventing undesirable interactions, the browser's strict isolation policy also affects communication between cooperating frames. We therefore analyze two techniques for interframe communication between isolated frames. The first method, fragment identifier messaging, initially provides confidentiality without authentication, which we repair using concepts from a well-known network protocol. The second method, &lt;code&gt;postMessage&lt;\/code&gt;, initially provides authentication, but we discover an attack that breaches confidentiality. We propose improvements in the &lt;code&gt;postMessage&lt;\/code&gt; API to provide confidentiality; our proposal has been standardized and adopted in browser implementations.<\/jats:p>","DOI":"10.1145\/1516046.1516066","type":"journal-article","created":{"date-parts":[[2009,5,19]],"date-time":"2009-05-19T16:47:42Z","timestamp":1242751662000},"page":"83-91","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":57,"title":["Securing frame communication in browsers"],"prefix":"10.1145","volume":"52","author":[{"given":"Adam","family":"Barth","sequence":"first","affiliation":[{"name":"UC Berkeley"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Collin","family":"Jackson","sequence":"additional","affiliation":[{"name":"Stanford University"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"John C.","family":"Mitchell","sequence":"additional","affiliation":[{"name":"Stanford University"}],"role":[{"vocabulary":"crossref","role":"author"}]}],"member":"320","published-online":{"date-parts":[[2009,6]]},"reference":[{"key":"e_1_2_1_1_1","unstructured":"Burke J. Cross domain frame communication with fragment identifiers. http:\/\/tagneto.blogspot.com\/2006\/06\/cross-domain-frame-communication-with.html.  Burke J. Cross domain frame communication with fragment identifiers. http:\/\/tagneto.blogspot.com\/2006\/06\/cross-domain-frame-communication-with.html."},{"key":"e_1_2_1_2_1","unstructured":"Crockford D. The &lt;module&gt; tag. http:\/\/www.json.org\/module.html.  Crockford D. The &lt;module&gt; tag. http:\/\/www.json.org\/module.html."},{"key":"e_1_2_1_3_1","volume-title":"Proceedings of the HotBots","author":"Daswani N.","year":"2007"},{"key":"e_1_2_1_4_1","doi-asserted-by":"publisher","DOI":"10.1145\/1124772.1124861"},{"key":"e_1_2_1_5_1","unstructured":"Eich B. JavaScript: Mobility and ubiquity. http:\/\/kathrin.dagstuhl.de\/files\/Materials\/07\/07091\/07091EichBrendan.Slides.pdf.  Eich B. JavaScript: Mobility and ubiquity. http:\/\/kathrin.dagstuhl.de\/files\/Materials\/07\/07091\/07091EichBrendan.Slides.pdf."},{"key":"e_1_2_1_6_1","volume-title":"Proceedings of the 20th National Information Systems Security Conference","author":"Felten E.W.","year":"1996"},{"key":"e_1_2_1_7_1","unstructured":"Guninski G. Frame spoofing using loading two frames. Mozilla Bug 13871.  Guninski G. Frame spoofing using loading two frames. Mozilla Bug 13871."},{"key":"e_1_2_1_8_1","unstructured":"Hickson I. Re: A potential slight security enhancement to postMessage Februrary 2008. http:\/\/lists.whatwg.org\/pipermail\/whatwg-whatwg.org\/2008-February\/013949.html.  Hickson I. Re: A potential slight security enhancement to postMessage Februrary 2008. http:\/\/lists.whatwg.org\/pipermail\/whatwg-whatwg.org\/2008-February\/013949.html."},{"key":"e_1_2_1_9_1","unstructured":"Hickson I. Re: HTML5 frame navigation policy April 2008. http:\/\/lists.whatwg.org\/pipermail\/whatwg-whatwg.org\/2008-April\/014597.html.  Hickson I. Re: HTML5 frame navigation policy April 2008. http:\/\/lists.whatwg.org\/pipermail\/whatwg-whatwg.org\/2008-April\/014597.html."},{"key":"e_1_2_1_10_1","unstructured":"Hickson I. et al. HTML 5 Working Draft http:\/\/www.whatwg.org\/specs\/web-apps\/current-work\/.  Hickson I. et al. HTML 5 Working Draft http:\/\/www.whatwg.org\/specs\/web-apps\/current-work\/."},{"key":"e_1_2_1_11_1","volume-title":"Proceedings of the Web 2.0 Security and Privacy (W2SP)","author":"Jackson C.","year":"2008"},{"key":"e_1_2_1_12_1","doi-asserted-by":"publisher","DOI":"10.1145\/1315245.1315298"},{"key":"e_1_2_1_13_1","doi-asserted-by":"publisher","DOI":"10.1145\/1242572.1242655"},{"key":"e_1_2_1_14_1","doi-asserted-by":"publisher","DOI":"10.1145\/1367497.1367570"},{"key":"e_1_2_1_15_1","doi-asserted-by":"publisher","DOI":"10.5555\/646480.693776"},{"key":"e_1_2_1_16_1","unstructured":"Microsoft. SECURITY attribute (FRAME IFRAME). http:\/\/msdn2.microsoft.com\/en-us\/library\/ms534622(VS.85.)aspx.  Microsoft. SECURITY attribute (FRAME IFRAME). http:\/\/msdn2.microsoft.com\/en-us\/library\/ms534622(VS.85.)aspx."},{"key":"e_1_2_1_17_1","doi-asserted-by":"publisher","DOI":"10.1145\/359657.359659"},{"key":"e_1_2_1_18_1","doi-asserted-by":"crossref","unstructured":"Ross D. January 2008. Personal communication.  Ross D. January 2008. Personal communication.","DOI":"10.2175\/193864708788734188"},{"key":"e_1_2_1_19_1","unstructured":"Ruderman J. JavaScript Security: Same Origin http:\/\/www.mozilla.org\/projects\/security\/components\/same-origin.html.  Ruderman J. JavaScript Security: Same Origin http:\/\/www.mozilla.org\/projects\/security\/components\/same-origin.html."},{"key":"e_1_2_1_20_1","volume-title":"Wiley","author":"Stuttard D.","year":"2007"},{"key":"e_1_2_1_21_1","first-page":"14","article-title":"Secure cross-domain communication in the browser","volume":"12","author":"Thorpe D","year":"2007","journal-title":"Archit. J."},{"key":"e_1_2_1_22_1","doi-asserted-by":"publisher","DOI":"10.1145\/1294261.1294263"}],"container-title":["Communications of the ACM"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/1516046.1516066","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/1516046.1516066","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,18]],"date-time":"2025-06-18T13:38:40Z","timestamp":1750253920000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/1516046.1516066"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2009,6]]},"references-count":22,"journal-issue":{"issue":"6","published-print":{"date-parts":[[2009,6]]}},"alternative-id":["10.1145\/1516046.1516066"],"URL":"https:\/\/doi.org\/10.1145\/1516046.1516066","relation":{},"ISSN":["0001-0782","1557-7317"],"issn-type":[{"value":"0001-0782","type":"print"},{"value":"1557-7317","type":"electronic"}],"subject":[],"published":{"date-parts":[[2009,6]]},"assertion":[{"value":"2009-06-01","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}