RIPS
RIPS (Re-Inforce Programming Security) is a static code analysis software for the automated detection of security vulnerabilities in PHP and Java applications. The initial tool was written by Johannes Dahse and released during the Month of PHP Security[1] in May 2010 as open-source software.[2] The open-source version is released under the Lesser GNU General Public License and was maintained until 2013.
Developer(s) | RIPS Technologies |
---|---|
Operating system | Cross-platform |
Type | Static code analysis |
Website | www |
In 2016, a new and rewritten version of RIPS was released as software product by RIPS Technologies,[3] a high-tech company based in Bochum, Germany. The new RIPS product overcomes limitations of the open source tool[4] and addresses industrial needs. Its novel analysis techniques were awarded, amongst others, with the Internet Defense Prize[5] by Facebook.
Open-Source Version (PHP)
The open-source version tokenizes PHP code (lexical analysis) based on PHP's tokenizer extension and performs semantic analysis to build a program model. Based on previously analyzed variable assignments, it performs backwards-directed inter-procedural taint analysis of sensitive sinks. Its strength is the ability to scan PHP applications very fast for PHP-specific vulnerabilities. It supports the detection of 15 different vulnerability types, including Cross-Site Scripting, SQL Injection, Local File Inclusion, and others. Detected vulnerabilities are presented in a web interface with the minimum set of affected code lines as well as a vulnerability summary. For each vulnerability, an integrated code viewer can be opened in order to highlight the affected code lines in the original source code for easy remediation. Furthermore, help is offered to understand the vulnerability and exploits can be generated automatically. The interface also offers a list of scanned PHP files, user-defined functions, and detected sources. The weakness of the open-source version are false positives due to no use of an abstract syntax tree or control flow graph. The lacking support for object-oriented PHP code can lead to false negatives. The latest stable release version is 0.54.
Commercial Version (Java, PHP)
The commercial version supports the analysis of PHP and Java code. It was built from scratch and leverages new code analysis techniques which are specifically tailored to the intricacies of each programming language and its features. It uses abstract syntax trees, control flow graphs, and context-sensitive taint analysis in order to accurately identify even complex security vulnerabilities that base on second-order data flow or misplaced security mechanisms.[6] Further, it simulates each language's built-in features, libraries and frameworks to minimize false positives. It supports the automated detection of over 200 different vulnerability types, code quality issues and misconfiguration weaknesses. RIPS found critical security issues in popular open-source projects, including WordPress, Joomla, Magento, phpBB, Moodle and Roundcube.[7] Contrarily to the open-source version, the commercial version supports all versions of Java (up to 11), PHP (up to 7) and Node.js, industry standards such as OWASP Top 10, ASVS, CWE, SANS 25 and PCI-DSS, and can be integrated into the software development life cycle. RIPS is available as on-premises software and as Software-as-a-Service.
References
- "MOPS Submission 09: RIPS – A static source code analyser for vulnerabilities in PHP scripts « the Month of PHP Security". Php-security.org. 2010-05-24. Retrieved 2016-08-10.
- "RIPS open-source download". SourceForge.net. Retrieved 2016-08-10.
- "RIPS - The Technology Leader in Static Application Security Testing". ripstech.com. 2019-05-07. Retrieved 2019-05-07.
- "RIPS Feature Comparison". SourceForge.net. Retrieved 2017-03-19.
- "Internet Defense Prize". internetdefenseprize.org. Retrieved 2017-03-19.
- "RIPS - Our Static Application Security Testing Approach". ripstech.com. Retrieved 2019-05-07.
- "Vulnerabilities detected by RIPS". ripstech.com. Retrieved 2017-03-19.