Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.1145/1554339.1554342acmconferencesArticle/Chapter ViewAbstractPublication PagespldiConference Proceedingsconference-collections
research-article

ActionScript bytecode verification with co-logic programming

Published: 15 June 2009 Publication History

Abstract

A prototype security policy verification system for Action-Script binaries is presented, whose implementation leverages recent advances in co-logic programming. Our experience with co-logic programming indicates that it is an extremely useful paradigm for elegantly expressing algorithms that lie at the heart of model-checking technologies. This results in an unusually small trusted computing base, making the verification system well-suited to frameworks like certifying in-lined reference monitoring systems, which require small, light-weight verifiers. Preliminary experiments and progress are discussed.

References

[1]
Actionscript virtual machine 2 overview, 2007. http://www.adobe.com/devnet/actionscript/articles/avm2overview.pdf.
[2]
I. Aktug and K. Naliuka. ConSpec - A Formal Language for Policy Specification. Science of Computer Prog., 74:2--12, 2008.
[3]
C. Baier and J.-P. Katoen. Principles of Model Checking (Representation and Mind Series). The MIT Press, 2008.
[4]
A. Bansal. Next Generation Logic Programming Systems. PhD thesis, The University of Texas at Dallas, Dallas, Texas, 2007.
[5]
S. Basu and S. A. Smolka. Model checking the Java metalocking algorithm. ACM Trans. Softw. Eng. Methodol., 16(3):12, 2007.
[6]
F. Chen. Java-MOP: A monitoring oriented programming environment for Java. In In Proc. of the Eleventh International Conf. on Tools and Algorithms for the Construction and Analysis of Systems (TACAS), pages 546--550. Springer, 2005.
[7]
W. Chen and D. S. Warren. Tabled Evaluation with Delaying for General Logic Programs. Journal of the ACM, 43:43--1, 1996.
[8]
N. Daniele, F. Guinchiglia, and M. Y. Vardi. Improved automata generation for linear temporal logic. In Computer Aided Verification, Proc. 11th International Conf., volume 1633 of LNCS, pages 249--260. Springer-Verlag, 1999.
[9]
B. W. DeVries. Developing an optimized LTL model checker in coinductive prolog, forthcoming. Master's thesis, University of Texas at Dallas, June 2009.
[10]
L. K. Dillon and Y. S. Ramakrishna. Generating oracles from your favorite temporal logic specifications. SIGSOFT Softw. Eng. Notes, 21(6):106--117, 1996.
[11]
U. Erlingsson and F. B. Schneider. SASI Enforcement of Security Policies: A Retrospective. In Proc. of the New Security Paradigms Workshop, 1999.
[12]
K. Etessami and G. J. Holzmann. Optimizing büchi automata. In CONCUR '00: Proc. of the 11th International Conf. on Concurrency Theory, pages 153--167. Springer, 2000.
[13]
G. Gupta, A. Bansal, R. Min, L. Simon, and A. Mallya. Coinductive Logic Programming and Its Applications. In Proc. of the International Conf. on Logic Prog., 2007.
[14]
K. W. Hamlen. Security Policy Enforcement by Automated Program-rewriting. PhD thesis, Cornell University, Ithaca, New York, 2006.
[15]
K. W. Hamlen and M. Jones. Aspect-Oriented In-lined Reference Monitors. In Proc. of the ACM SIGPLAN Workshop on Prog. Languages and Analysis for Security (PLAS), 2008.
[16]
K. W. Hamlen, G. Morrisett, and F. B. Schneider. Certified In-Lined Reference Monitoring on .NET. In Proc. of the ACM SIGPLAN Workshop on Prog. Languages and Analysis for Security (PLAS), 2006.
[17]
K. W. Hamlen, G. Morrisett, and F. B. Schneider. Computability Classes for Enforcement Mechanisms. In ACM Trans. on Prog. Languages and Systems, 2006.
[18]
M. Jones and K. Hamlen. Enforcing IRM security policies: Two case studies. In Proc. of IEEE Intelligence and Security Informatics (ISI) Conference (to appear), June 2009.
[19]
E. M. C. Jr., O. Grumberg, and D. A. Peled. Model Checking. The MIT Press, Cambridge, Massachusetts, 1999.
[20]
W. Kisser, K. Havelund, G. Brat, S. Park, and F. Lerda. Model Checking Programs. Automated Software Engineering Journal, 10(2), April 2003.
[21]
R. Milner. Communicating and Mobile Systems: the PiCalculus. Cambridge University Press, June 1999.
[22]
G. C. Necula and P. Lee. Safe kernel extensions without run-time checking. In X. Useni, editor, 2nd Symposium on Operating Systems Design and Implementation (OSDI '96), October 28--31, 1996. Seattle, WA, pages 229--243. USENIX, 1996.
[23]
A. Pnueli. The temporal logic of programs. In Proc. of the 18th Annual Symposium on Foundations of Computer Science (FOCS'77), pages 46--57. IEEE Comp. Soc. Press, Oct.-Nov. 1977.
[24]
Y. S. Ramakrishna, C. R. Ramakrishnan, I. V. Ramakrishnan, S. A. Smolka, T. Swift, and D. S. Warren. Efficient Model Checking Using Tabled Resolution. In Computer Aided Verification (CAV '97). Springer-Verlag, 1997.
[25]
K. Y. Rozier and M. Y. Vardi. LTL satisfiability checking. In In 14th International SPIN Workshop, volume 4595 of LNCS, pages 149--167. Springer, 2007.
[26]
T. C. Ruys and N. H. M. A. de Brugh. MMC: the Mono Model Checker. Electron. Notes Theor. Comput. Sci., 190(1):149--160, 2007.
[27]
F. B. Schneider. Enforceable Security Policies. ACM Trans. on Information and System Security, 3:30--50, 2000.
[28]
R. Sebastiani, R. Sebastiani, S. Tonetta, and S. Tonetta. More deterministic vs. smaller bchi automata for efficient LTL model checking. In In CHARME03, volume 2860 of LNCS, pages 126--140. Springer, 2003.
[29]
L. Shapiro and E. Y. Sterling. The Art of PROLOG: Advanced Programming Techniques. The MIT Press, 1994.
[30]
L. Simon, A. Mallya, A. Bansal, and G. Gupta. Coinductive Logic Programming. In Proc. of the International Conf. on Logic Prog., 2006.
[31]
H. Tamaki and T. Sato. OLD resolution with tabulation. In E. Y. Shapiro, editor, ICLP, volume 225 of LNCS, pages 84--98. Springer, 1986.
[32]
Yap prolog, 2009. http://www.dcc.fc.up.pt/~vsc/Yap/.

Cited By

View all

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
PLAS '09: Proceedings of the ACM SIGPLAN Fourth Workshop on Programming Languages and Analysis for Security
June 2009
130 pages
ISBN:9781605586458
DOI:10.1145/1554339
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 15 June 2009

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. ActionScript
  2. coinductive logic programming
  3. in-lined reference monitoring
  4. model checking
  5. verification

Qualifiers

  • Research-article

Funding Sources

Conference

PLDI '09
Sponsor:

Acceptance Rates

PLAS '09 Paper Acceptance Rate 8 of 19 submissions, 42%;
Overall Acceptance Rate 43 of 77 submissions, 56%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)10
  • Downloads (Last 6 weeks)1
Reflects downloads up to 09 Nov 2024

Other Metrics

Citations

Cited By

View all
  • (2014)Extending Co-logic Programs for Branching-Time Model CheckingLogic-Based Program Synthesis and Transformation10.1007/978-3-319-14125-1_8(127-144)Online publication date: 11-Dec-2014
  • (2013)An Infrastructure for a Secure CloudDeveloping and Securing the Cloud10.1201/b15433-50(543-561)Online publication date: 10-Oct-2013
  • (2012)Types and Access Controls for Cross-Domain Security in FlashProgramming Languages and Systems10.1007/978-3-642-35182-2_7(82-97)Online publication date: 2012
  • (2012)Aspect-Oriented runtime monitor certificationProceedings of the 18th international conference on Tools and Algorithms for the Construction and Analysis of Systems10.1007/978-3-642-28756-5_10(126-140)Online publication date: 24-Mar-2012
  • (2011)Flexible in-lined reference monitor certificationProceedings of the 5th ACM workshop on Programming languages meets program verification10.1145/1929529.1929537(55-60)Online publication date: 29-Jan-2011
  • (2010)Security Issues for Cloud ComputingInternational Journal of Information Security and Privacy10.4018/jisp.20100401034:2(36-48)Online publication date: 1-Apr-2010
  • (2010)ActionScript in-lined reference monitoring in prologProceedings of the 12th international conference on Practical Aspects of Declarative Languages10.1007/978-3-642-11503-5_13(149-151)Online publication date: 18-Jan-2010
  • (2010)Model-checking in-lined reference monitorsProceedings of the 11th international conference on Verification, Model Checking, and Abstract Interpretation10.1007/978-3-642-11319-2_23(312-327)Online publication date: 17-Jan-2010

View Options

Get Access

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media