are text only data formats safe
play

Are Text-Only Data Formats Safe? Stephen Checkoway, Hovav Shacham, - PowerPoint PPT Presentation

Are Text-Only Data Formats Safe? Stephen Checkoway, Hovav Shacham, Eric Rescorla Tuesday, April 27, 2010 1 Intuitive data-safety scale Unsafe Safe ASCII Text Executables Media Web Applications Documents Tuesday, April 27, 2010 2 T EX


  1. Are Text-Only Data Formats Safe? Stephen Checkoway, Hovav Shacham, Eric Rescorla Tuesday, April 27, 2010 1

  2. Intuitive data-safety scale Unsafe Safe ASCII Text Executables Media Web Applications Documents Tuesday, April 27, 2010 2

  3. T EX ‣ Document preparation language ‣ 7-bit ASCII text ‣ Understands boxes and glue boxes and glue ‣ Makes pretty equations H ( x, y ) log H ( x, y ) � D ( H � R ) = R ( x, y ) x,y ∈X Tuesday, April 27, 2010 3

  4. How we use T X E T EX Tuesday, April 27, 2010 4

  5. Intuitive data-safety scale Unsafe Safe ASCII Text Executables Media T X Web Applications Documents E Tuesday, April 27, 2010 5

  6. More T X E ‣ Turing-complete, macro language: \def ‣ Read/write files: \read , \write ‣ Extremely malleable syntax: \catcode Tuesday, April 27, 2010 6

  7. Taking control with T X E Operating Distribution How System Write to Startup Write to web T EX Live directory Tuesday, April 27, 2010 7

  8. A T L X virus lifecycle E ‣ Compile sploit.tex ‣ C:\DOCUME~1\ADMINI~1\STARTM~1 \PROGRAMS\STARTUP\sploit.js ‣ Restart computer ‣ sploit.js finds .tex files; inserts the virus Tuesday, April 27, 2010 8

  9. Data exfiltration ‣ Read sensitive files ‣ \input , \include ‣ \read , \readline ‣ Typeset data in output PDF Tuesday, April 27, 2010 9

  10. Input filtering ‣ Filter out dangerous control sequences ‣ Math mode Tuesday, April 27, 2010 10

  11. T EXniques to bypass filters ‣ Macros like \input ‣ \@input , \@iinput , \@input@ , \@@input ‣ \lstinputlisting , \verbatiminput ‣ Bypass filters ‣ \csname , \begin , ^^xy , \catcode ‣ Escape math mode ‣ \end{eqnarray} , \end{align} Tuesday, April 27, 2010 11

  12. Tuesday, April 27, 2010 12

  13. T X’s malleability E ‣ Category codes control functionality ‣ Can be changed by \catcode \catcode`Z=0 ZTeX Tuesday, April 27, 2010 13

  14. An example: xii.tex By David Carlisle \let~\catcode~`76~`A13~`F1~`j00~`P2jdefA71F~`7113jdefPALLF PA''FwPA;;FPAZZFLaLPA//71F71iPAHHFLPAzzFenPASSFthP;A$$FevP A@@FfPARR717273F737271P;ADDFRgniPAWW71FPATTFvePA**FstRsamP AGGFRruoPAqq71.72.F717271PAYY7172F727171PA??Fi*LmPA&&71jfi Fjfi71PAVVFjbigskipRPWGAUU71727374 75,76Fjpar71727375Djifx :76jelse&U76jfiPLAKK7172F71l7271PAXX71FVLnOSeL71SLRyadR@oL RrhC?yLRurtKFeLPFovPgaTLtReRomL;PABB71 72,73:Fjif.73.jelse B73:jfiXF71PU71 72,73:PWs;AMM71F71diPAJJFRdriPAQQFRsreLPAI I71Fo71dPA!!FRgiePBt'el@ lTLqdrYmu.Q.,Ke;vz vzLqpip.Q.,tz; ;Lql.IrsZ.eap,qn.i. i.eLlMaesLdRcna,;!;h htLqm.MRasZ.ilk,% s$;z zLqs'.ansZ.Ymi,/sx ;LYegseZRyal,@i;@ TLRlogdLrDsW,@;G LcYlaDLbJsW,SWXJW ree @rzchLhzsW,;WERcesInW qt.'oL.Rtrul;e doTsW,Wk;Rri@stW aHAHHFndZPpqar.tridgeLinZpe.LtYer.W,:jbye Tuesday, April 27, 2010 14

  15. Conclusions ‣ Binary/text distinction not a good classifier ‣ Arbitrary code execution ‣ Exfiltrate sensitive data Tuesday, April 27, 2010 15

  16. Questions? Owning people through a typesetting language; it seems unsporting, somehow. – Keaton Mowery Tuesday, April 27, 2010 16

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend