Algorithms and tool support for dynamic information flow analysis

A new approach to dynamic information flow analysis ( DIFA) is presented, and its applications to intrusion detection, software testing and program debugging are discussed. The approach is based on a new forward-computing algorithm that enables online analysis when fast response is not critical. A n...

Ausführliche Beschreibung

Gespeichert in:
Bibliographische Detailangaben
Veröffentlicht in:Information and software technology 2009-02, Vol.51 (2), p.385-404
Hauptverfasser: Masri, Wes, Podgurski, Andy
Format: Artikel
Sprache:eng
Schlagworte:
Online-Zugang:Volltext
Tags: Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
container_end_page 404
container_issue 2
container_start_page 385
container_title Information and software technology
container_volume 51
creator Masri, Wes
Podgurski, Andy
description A new approach to dynamic information flow analysis ( DIFA) is presented, and its applications to intrusion detection, software testing and program debugging are discussed. The approach is based on a new forward-computing algorithm that enables online analysis when fast response is not critical. A new forward-computing algorithm for dynamic slicing is also presented, which is more precise than previous forward-computing algorithms and is not restricted to programs with structured control flow. The DIFA and slicing algorithms both rely on a new, precise direct dynamic control dependence algorithm, which requires only constant time per program action. The correctness of this algorithm depends on special, graph-theoretic properties of control dependence, which are established here. A tool called DynFlow is described that implements the proposed approach in order to support analysis of Java byte code programs, and two case studies are presented to illustrate how DynFlow can be used to detect and debug insecure flows. Finally, since dynamic analysis alone is inherently unable to detect implicit information flows, an extension to our approach is described that enables it to detect most implicit information flows at runtime.
doi_str_mv 10.1016/j.infsof.2008.05.008
format Article
fullrecord <record><control><sourceid>proquest_cross</sourceid><recordid>TN_cdi_proquest_miscellaneous_1221900219</recordid><sourceformat>XML</sourceformat><sourcesystem>PC</sourcesystem><els_id>S0950584908000815</els_id><sourcerecordid>1221900219</sourcerecordid><originalsourceid>FETCH-LOGICAL-c366t-af1d3e870c64707981b1567a844bf6c7977339afe53b647c1a45cde3a63402df3</originalsourceid><addsrcrecordid>eNp9kDtPxDAQhC0EEsfjH1BEVDQJ6_iVNEinEy_pJBqoLZ9jg6MkDnYCun-PT6GioNlpvpndHYSuMBQYML9tCzfY6G1RAlQFsCLJEVrhSpCcQ8mO0QpqBjmraH2KzmJsAbAAAiu0XnfvPrjpo4-ZGpps8r7L4jyOPkyZ9SFr9oPqnc7SBh96NTk_ZLbz34lW3T66eIFOrOqiufzVc_T2cP-6ecq3L4_Pm_U214TzKVcWN8RUAjSnAkRd4R1mXKiK0p3lWtRCEFIraxjZJUJjRZluDFGcUCgbS87RzZI7Bv85mzjJ3kVtuk4Nxs9R4rLENUAaCb3-g7Z-DuneRNWclpQzSBBdIB18jMFYOQbXq7CXGOShVtnKpVZ5qFUCk0mS7W6xmfTrlzNBRu3MoE3jgtGTbLz7P-AHyKiB9A</addsrcrecordid><sourcetype>Aggregation Database</sourcetype><iscdi>true</iscdi><recordtype>article</recordtype><pqid>196424650</pqid></control><display><type>article</type><title>Algorithms and tool support for dynamic information flow analysis</title><source>Elsevier ScienceDirect Journals</source><creator>Masri, Wes ; Podgurski, Andy</creator><creatorcontrib>Masri, Wes ; Podgurski, Andy</creatorcontrib><description>A new approach to dynamic information flow analysis ( DIFA) is presented, and its applications to intrusion detection, software testing and program debugging are discussed. The approach is based on a new forward-computing algorithm that enables online analysis when fast response is not critical. A new forward-computing algorithm for dynamic slicing is also presented, which is more precise than previous forward-computing algorithms and is not restricted to programs with structured control flow. The DIFA and slicing algorithms both rely on a new, precise direct dynamic control dependence algorithm, which requires only constant time per program action. The correctness of this algorithm depends on special, graph-theoretic properties of control dependence, which are established here. A tool called DynFlow is described that implements the proposed approach in order to support analysis of Java byte code programs, and two case studies are presented to illustrate how DynFlow can be used to detect and debug insecure flows. Finally, since dynamic analysis alone is inherently unable to detect implicit information flows, an extension to our approach is described that enables it to detect most implicit information flows at runtime.</description><identifier>ISSN: 0950-5849</identifier><identifier>EISSN: 1873-6025</identifier><identifier>DOI: 10.1016/j.infsof.2008.05.008</identifier><language>eng</language><publisher>Amsterdam: Elsevier B.V</publisher><subject>Algorithms ; Computer programs ; Debugging ; Direct dynamic control dependence ; Dynamic information flow analysis ; Dynamic slicing ; Dynamic tests ; Dynamics ; Forward computation ; Graph theory ; Information flow ; Insecure flows ; Intrusion detection systems ; Java ; Program debugging ; Slicing ; Software ; Studies</subject><ispartof>Information and software technology, 2009-02, Vol.51 (2), p.385-404</ispartof><rights>2008 Elsevier B.V.</rights><rights>Copyright Elsevier Science Ltd. Feb 2009</rights><lds50>peer_reviewed</lds50><woscitedreferencessubscribed>false</woscitedreferencessubscribed><citedby>FETCH-LOGICAL-c366t-af1d3e870c64707981b1567a844bf6c7977339afe53b647c1a45cde3a63402df3</citedby><cites>FETCH-LOGICAL-c366t-af1d3e870c64707981b1567a844bf6c7977339afe53b647c1a45cde3a63402df3</cites></display><links><openurl>$$Topenurl_article</openurl><openurlfulltext>$$Topenurlfull_article</openurlfulltext><thumbnail>$$Tsyndetics_thumb_exl</thumbnail><linktohtml>$$Uhttps://www.sciencedirect.com/science/article/pii/S0950584908000815$$EHTML$$P50$$Gelsevier$$H</linktohtml><link.rule.ids>314,776,780,3537,27901,27902,65306</link.rule.ids></links><search><creatorcontrib>Masri, Wes</creatorcontrib><creatorcontrib>Podgurski, Andy</creatorcontrib><title>Algorithms and tool support for dynamic information flow analysis</title><title>Information and software technology</title><description>A new approach to dynamic information flow analysis ( DIFA) is presented, and its applications to intrusion detection, software testing and program debugging are discussed. The approach is based on a new forward-computing algorithm that enables online analysis when fast response is not critical. A new forward-computing algorithm for dynamic slicing is also presented, which is more precise than previous forward-computing algorithms and is not restricted to programs with structured control flow. The DIFA and slicing algorithms both rely on a new, precise direct dynamic control dependence algorithm, which requires only constant time per program action. The correctness of this algorithm depends on special, graph-theoretic properties of control dependence, which are established here. A tool called DynFlow is described that implements the proposed approach in order to support analysis of Java byte code programs, and two case studies are presented to illustrate how DynFlow can be used to detect and debug insecure flows. Finally, since dynamic analysis alone is inherently unable to detect implicit information flows, an extension to our approach is described that enables it to detect most implicit information flows at runtime.</description><subject>Algorithms</subject><subject>Computer programs</subject><subject>Debugging</subject><subject>Direct dynamic control dependence</subject><subject>Dynamic information flow analysis</subject><subject>Dynamic slicing</subject><subject>Dynamic tests</subject><subject>Dynamics</subject><subject>Forward computation</subject><subject>Graph theory</subject><subject>Information flow</subject><subject>Insecure flows</subject><subject>Intrusion detection systems</subject><subject>Java</subject><subject>Program debugging</subject><subject>Slicing</subject><subject>Software</subject><subject>Studies</subject><issn>0950-5849</issn><issn>1873-6025</issn><fulltext>true</fulltext><rsrctype>article</rsrctype><creationdate>2009</creationdate><recordtype>article</recordtype><recordid>eNp9kDtPxDAQhC0EEsfjH1BEVDQJ6_iVNEinEy_pJBqoLZ9jg6MkDnYCun-PT6GioNlpvpndHYSuMBQYML9tCzfY6G1RAlQFsCLJEVrhSpCcQ8mO0QpqBjmraH2KzmJsAbAAAiu0XnfvPrjpo4-ZGpps8r7L4jyOPkyZ9SFr9oPqnc7SBh96NTk_ZLbz34lW3T66eIFOrOqiufzVc_T2cP-6ecq3L4_Pm_U214TzKVcWN8RUAjSnAkRd4R1mXKiK0p3lWtRCEFIraxjZJUJjRZluDFGcUCgbS87RzZI7Bv85mzjJ3kVtuk4Nxs9R4rLENUAaCb3-g7Z-DuneRNWclpQzSBBdIB18jMFYOQbXq7CXGOShVtnKpVZ5qFUCk0mS7W6xmfTrlzNBRu3MoE3jgtGTbLz7P-AHyKiB9A</recordid><startdate>20090201</startdate><enddate>20090201</enddate><creator>Masri, Wes</creator><creator>Podgurski, Andy</creator><general>Elsevier B.V</general><general>Elsevier Science Ltd</general><scope>AAYXX</scope><scope>CITATION</scope><scope>7SC</scope><scope>8FD</scope><scope>JQ2</scope><scope>L7M</scope><scope>L~C</scope><scope>L~D</scope></search><sort><creationdate>20090201</creationdate><title>Algorithms and tool support for dynamic information flow analysis</title><author>Masri, Wes ; Podgurski, Andy</author></sort><facets><frbrtype>5</frbrtype><frbrgroupid>cdi_FETCH-LOGICAL-c366t-af1d3e870c64707981b1567a844bf6c7977339afe53b647c1a45cde3a63402df3</frbrgroupid><rsrctype>articles</rsrctype><prefilter>articles</prefilter><language>eng</language><creationdate>2009</creationdate><topic>Algorithms</topic><topic>Computer programs</topic><topic>Debugging</topic><topic>Direct dynamic control dependence</topic><topic>Dynamic information flow analysis</topic><topic>Dynamic slicing</topic><topic>Dynamic tests</topic><topic>Dynamics</topic><topic>Forward computation</topic><topic>Graph theory</topic><topic>Information flow</topic><topic>Insecure flows</topic><topic>Intrusion detection systems</topic><topic>Java</topic><topic>Program debugging</topic><topic>Slicing</topic><topic>Software</topic><topic>Studies</topic><toplevel>peer_reviewed</toplevel><toplevel>online_resources</toplevel><creatorcontrib>Masri, Wes</creatorcontrib><creatorcontrib>Podgurski, Andy</creatorcontrib><collection>CrossRef</collection><collection>Computer and Information Systems Abstracts</collection><collection>Technology Research Database</collection><collection>ProQuest Computer Science Collection</collection><collection>Advanced Technologies Database with Aerospace</collection><collection>Computer and Information Systems Abstracts – Academic</collection><collection>Computer and Information Systems Abstracts Professional</collection><jtitle>Information and software technology</jtitle></facets><delivery><delcategory>Remote Search Resource</delcategory><fulltext>fulltext</fulltext></delivery><addata><au>Masri, Wes</au><au>Podgurski, Andy</au><format>journal</format><genre>article</genre><ristype>JOUR</ristype><atitle>Algorithms and tool support for dynamic information flow analysis</atitle><jtitle>Information and software technology</jtitle><date>2009-02-01</date><risdate>2009</risdate><volume>51</volume><issue>2</issue><spage>385</spage><epage>404</epage><pages>385-404</pages><issn>0950-5849</issn><eissn>1873-6025</eissn><abstract>A new approach to dynamic information flow analysis ( DIFA) is presented, and its applications to intrusion detection, software testing and program debugging are discussed. The approach is based on a new forward-computing algorithm that enables online analysis when fast response is not critical. A new forward-computing algorithm for dynamic slicing is also presented, which is more precise than previous forward-computing algorithms and is not restricted to programs with structured control flow. The DIFA and slicing algorithms both rely on a new, precise direct dynamic control dependence algorithm, which requires only constant time per program action. The correctness of this algorithm depends on special, graph-theoretic properties of control dependence, which are established here. A tool called DynFlow is described that implements the proposed approach in order to support analysis of Java byte code programs, and two case studies are presented to illustrate how DynFlow can be used to detect and debug insecure flows. Finally, since dynamic analysis alone is inherently unable to detect implicit information flows, an extension to our approach is described that enables it to detect most implicit information flows at runtime.</abstract><cop>Amsterdam</cop><pub>Elsevier B.V</pub><doi>10.1016/j.infsof.2008.05.008</doi><tpages>20</tpages></addata></record>
fulltext fulltext
identifier ISSN: 0950-5849
ispartof Information and software technology, 2009-02, Vol.51 (2), p.385-404
issn 0950-5849
1873-6025
language eng
recordid cdi_proquest_miscellaneous_1221900219
source Elsevier ScienceDirect Journals
subjects Algorithms
Computer programs
Debugging
Direct dynamic control dependence
Dynamic information flow analysis
Dynamic slicing
Dynamic tests
Dynamics
Forward computation
Graph theory
Information flow
Insecure flows
Intrusion detection systems
Java
Program debugging
Slicing
Software
Studies
title Algorithms and tool support for dynamic information flow analysis
url https://sfx.bib-bvb.de/sfx_tum?ctx_ver=Z39.88-2004&ctx_enc=info:ofi/enc:UTF-8&ctx_tim=2025-02-06T12%3A58%3A17IST&url_ver=Z39.88-2004&url_ctx_fmt=infofi/fmt:kev:mtx:ctx&rfr_id=info:sid/primo.exlibrisgroup.com:primo3-Article-proquest_cross&rft_val_fmt=info:ofi/fmt:kev:mtx:journal&rft.genre=article&rft.atitle=Algorithms%20and%20tool%20support%20for%20dynamic%20information%20flow%20analysis&rft.jtitle=Information%20and%20software%20technology&rft.au=Masri,%20Wes&rft.date=2009-02-01&rft.volume=51&rft.issue=2&rft.spage=385&rft.epage=404&rft.pages=385-404&rft.issn=0950-5849&rft.eissn=1873-6025&rft_id=info:doi/10.1016/j.infsof.2008.05.008&rft_dat=%3Cproquest_cross%3E1221900219%3C/proquest_cross%3E%3Curl%3E%3C/url%3E&disable_directlink=true&sfx.directlink=off&sfx.report_link=0&rft_id=info:oai/&rft_pqid=196424650&rft_id=info:pmid/&rft_els_id=S0950584908000815&rfr_iscdi=true