RoleCast: Finding Missing Security Checks When You Do Not Know What Checks Are

被引:16
|
作者
Son, Sooel [1 ]
McKinley, Kathryn S. [1 ]
Shmatikov, Vitaly [1 ]
机构
[1] Univ Texas Austin, Austin, TX 78712 USA
关键词
Algorithm; Languages; Security; static analysis; interprocedural analysis; security checks; access control; user roles; PHP; !text type='JS']JS[!/text]P;
D O I
10.1145/2076021.2048146
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Web applications written in languages such as PHP and JSP are notoriously vulnerable to accidentally omitted authorization checks and other security bugs. Existing techniques that find missing security checks in library and system code assume that (1) security checks can be recognized syntactically and (2) the same pattern of checks applies universally to all programs. These assumptions do not hold for Web applications. EachWeb application uses different variables and logic to check the user's permissions. Even within the application, security logic varies based on the user's role, e. g., regular users versus administrators. This paper describes ROLECAST, the first system capable of statically identifying security logic that mediates security-sensitive events (such as database writes) in Web applications, rather than taking a specification of this logic as input. We observe a consistent software engineering pattern-the code that implements distinct user role functionality and its security logic resides in distinct methods and files-and develop a novel algorithm for discovering this pattern in Web applications. Our algorithm partitions the set of file contexts (a coarsening of calling contexts) on which security-sensitive events are control dependent into roles. Roles are based on common functionality and security logic. ROLECAST identifies security-critical variables and applies role-specific variable consistency analysis to find missing security checks. ROLECAST discovered 13 previously unreported, remotely exploitable vulnerabilities in 11 substantial PHP and JSP applications, with only 3 false positives. This paper demonstrates that (1) accurate inference of application-and role-specific security logic improves the security of Web applications without specifications, and (2) static analysis can discover security logic automatically by exploiting distinctive software engineering features.
引用
收藏
页码:1069 / 1083
页数:15
相关论文
共 7 条
  • [1] RoleCast: Finding Missing Security Checks When You Do Not Know What Checks Are
    Son, Sooel
    McKinley, Kathryn S.
    Shmatikov, Vitaly
    OOPSLA 11: PROCEEDINGS OF THE 2011 ACM INTERNATIONAL CONFERENCE ON OBJECT ORIENTED PROGRAMMING SYSTEMS LANGUAGES AND APPLICATIONS, 2011, : 1069 - 1083
  • [2] Applications of Big Data in Real World It's not what you know. It's what you do with what you know.
    Khanduja, Vidhi
    Arora, Abhishek
    Garg, Sameer
    2017 IEEE INTERNATIONAL CONFERENCE ON COMPUTING, COMMUNICATION AND AUTOMATION (ICCCA), 2017, : 159 - 163
  • [3] I Know What You Will Do Next Summer
    Krishnamurthy, Balachander
    ACM SIGCOMM COMPUTER COMMUNICATION REVIEW, 2010, 40 (05) : 65 - 70
  • [4] I know what you streamed last night: On the security and privacy of streaming
    Nikas, Alexios
    Alepis, Efthimios
    Patsakis, Constantinos
    DIGITAL INVESTIGATION, 2018, 25 : 78 - 89
  • [5] Cybersecurity in radiology: Cautionary Tales, Proactive Prevention, and What to do When You Get Hacked
    Nguyen, Xuan V.
    Petscavage-Thomas, Jonelle M.
    Straus, Christopher M.
    Ikuta, Ichiro
    CURRENT PROBLEMS IN DIAGNOSTIC RADIOLOGY, 2025, 54 (02) : 245 - 250
  • [6] What Do You Mean, 'Is It Secure?' Redesigning Language to be Fit for the Task of Assessing the Security of Domestic and Personal Electronic Goods
    Ekblom, Paul
    Sidebottom, Aiden
    EUROPEAN JOURNAL ON CRIMINAL POLICY AND RESEARCH, 2008, 14 (01) : 61 - 87
  • [7] What Do You Mean, ‘Is It Secure?’ Redesigning Language to be Fit for the Task of Assessing the Security of Domestic and Personal Electronic Goods
    Paul Ekblom
    Aiden Sidebottom
    European Journal on Criminal Policy and Research, 2008, 14 : 61 - 87