Enforcing Secure Object Initialization in Java']Java

被引:0
|
作者
Hubert, Laurent [1 ]
Jensen, Thomas [2 ]
Monfort, Vincent [2 ]
Pichardie, David [2 ]
机构
[1] CNRS, IRISA, F-75700 Paris, France
[2] INRIA, IRISA, Paris, France
来源
关键词
D O I
暂无
中图分类号
TP301 [理论、方法];
学科分类号
081202 ;
摘要
Sun and the CERT recommend for secure Java development to not allow partially initialized objects to be accessed. The CERT considers the severity of the risks taken by not following this recommendation as high. The solution currently used to enforce object initialization is to implement a coding pattern proposed by Sun, which is not formally checked. We propose a modular type system to formally specify the initialization policy of libraries or programs and a type checker to statically check at load time that all loaded classes respect the policy. This allows to prove the absence of bugs which have allowed some famous privilege escalations in Java. Our experimental results show that our safe default policy allows to prove 91% of classes of java. lang, java. security and javax. security safe without any annotation and by adding 57 simple annotations we proved all classes but four safe. The type system. and its soundness theorem have been formalized and machine checked using Coq.
引用
收藏
页码:101 / +
页数:2
相关论文
共 50 条
  • [41] JToe:: a Java']Java* API for object exchange
    Chaumette, S
    Grange, P
    Métrot, B
    Vignéras, P
    PARALLEL COMPUTING: SOFTWARE TECHNOLOGY, ALGORITHMS, ARCHITECTURES AND APPLICATIONS, 2004, 13 : 135 - 141
  • [42] Experience with secure multi-processing in Java']Java
    Balfanz, D
    Gong, L
    18TH INTERNATIONAL CONFERENCE ON DISTRIBUTED COMPUTING SYSTEMS, PROCEEDINGS, 1998, : 398 - 405
  • [43] Java']Java bytecode verification for secure information flow
    Avvenuti, M
    Bernardeschi, C
    De Francesco, N
    ACM SIGPLAN NOTICES, 2003, 38 (12) : 20 - 27
  • [44] Secure self-certified code for Java']Java
    Debbabi, M
    Desharnais, J
    Fourati, M
    Menif, E
    Painchaud, F
    Tawbi, N
    FORMAL ASPECTS OF SECURITY, 2003, 2629 : 133 - 151
  • [45] Java']Java parallel secure stream for grid computing
    Chen, J
    Akers, W
    Chen, Y
    Watson, W
    PROCEEDINGS OF CHEP 2001, 2001, : 668 - 671
  • [46] Secure Coding Practices in Java']Java: Challenges and Vulnerabilities
    Meng, Na
    Nagy, Stefan
    Yao, Danfeng
    Zhuang, Wenjie
    Argoty, Gustavo Arango
    PROCEEDINGS 2018 IEEE/ACM 40TH INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING (ICSE), 2018, : 372 - 383
  • [47] Enforcing Java']Java run-time properties using bytecode rewriting
    Rudys, A
    Wallach, DS
    SOFTWARE SECURITY - THEORIES AND SYSTEMS, 2003, 2609 : 185 - 200
  • [48] Secure JAVA']JAVA applets and applications: Guidelines and lessons learnt from the JAVA']JAVA security model
    Bichindaritz, I
    Siadak, MF
    Jocom, J
    Moinpour, C
    Donaldson, G
    Bush, N
    Chapko, M
    Sullivan, KM
    JOURNAL OF THE AMERICAN MEDICAL INFORMATICS ASSOCIATION, 1999, : 1028 - 1028
  • [49] Java']Java RMI performance and object model interoperability: experiments with Java']Java/HPC++
    Breg, F
    Diwan, S
    Villacis, J
    Balasubramanian, J
    Akman, E
    Gannon, D
    CONCURRENCY-PRACTICE AND EXPERIENCE, 1998, 10 (11-13): : 941 - 955
  • [50] Improving Static Initialization Block Handling in Java']Java Symbolic Execution Engine
    Pengo, Edit
    Siket, Istvan
    COMPUTATIONAL SCIENCE AND ITS APPLICATIONS - ICCSA 2017, PT V, 2017, 10408 : 561 - 574