4 Open Source Tools to Add to Your Security Arsenalhttps://www.darkreading.com/application-security/4-open-source-tools-to-add-to-your-security-arsenal/a/d-id/1340487?_mc=rss_x_drr_edt_aud_dr_x_x-rss-simple Open source solutions can offer an accessible and powerful way to enhance your security-testing capabilities.Security research often requires a wide variety of tools and approaches. Open source tools can offer an accessible and powerful way to enhance security-testing capabilities. If you work in the security space, here are several open source tools that might be worth adding to your security tool arsenal. Doxygen Documentation Generator Doxygen is a documentation generator for a variety of popular programming languages. It allows users to extract the code structure from source files and highlight relationships between the code elements. This tool essentially provides a visual representation of your code, and it can help provide a deeper, more comprehensive understanding of particularly complex code bases. Doxygen allows users to analyze the flow of the code and can, for example, help visually inspect whether assets flow through input validation functions at expected execution stages. Being able to visually examine large or complex code bases can supplement existing manual code reviews and fuzzing, and it can help pinpoint issues that you might have otherwise overlooked. Z3 Constraint Solver Next is Z3, a constraint solver tool that can complement software analysis, verification, and fuzzing tools. It provides bindings for several programming languages, including C/C++ and Python. Z3 tries to find solutions that satisfy a specific set of defined constraints. This can become useful, for example, to cross-check input validation constraints to find potential escapes that could result in unwanted states. While manual code review and fuzzing can help identify problematic states, Z3 adds comprehensive mathematical and logical verification into the mix, which provides an extra level of review for the code. You can use this tool to model a feature or a particular block of code to test out the constraints and discover potential hidden issues like buffer overflow, integer wraparounds, improper access to memory, and more. For example, Trail of Bits published a blog post describing how it used Z3 to find the Heartbleed vulnerability. The post walks through turning real code into functions and those functions into Z3 constraints, which results in a combination of values that overflows a CPU register and successfully calls a memory allocation routine with an invalid value. LibFuzzer Fuzzing Engine The third tool is an open source fuzzer called libFuzzer. (It's worth noting that American fuzzy lop, or AFL, has been a prevalent choice for years, and libFuzzer is growing in popularity.) These types of tools are valuable to security research and assurance efforts in order to complement existing input-validation testing efforts. LibFuzzer typically looks for inputs that will cause a system to crash or hang. The fuzzing engine can take initial inputs and enable additional permutations to progressively explore the program. LibFuzzer makes it relatively straightforward to create a harness through which it can interact with and run fuzzed inputs against your program. Another great benefit is libFuzzer's ability to intercept compare operations to determine which values would allow reaching a broader set of coverage. This avoids the need to hard-code code constants or magic numbers to get past conditional checks, and simplifies the work of the fuzz tester. Gcov Code Coverage Tool The final tool, Gcov, is part of a tool category called code coverage, which goes hand-in-hand with fuzzers. Since fuzzers can run continuously for days or weeks at a time, it can be challenging for users to understand just how much of the code base they've covered, including which lines of code have been accessed (and which haven't). Code coverage tools provide a detailed view of a fuzzer's progress over time, allowing fuzzer adjustments that maximize the fuzzer's code coverage to help ensure that most aspects of the code flow/code base are verified. This helps increase confidence in the results. Overall, CISA has published more than a dozen tools and hundreds of scripts that its administrators and security teams frequently use. In addition to Sparrow and CHIRP, the federal agency has released a network traffic analysis tool named Malcolm, a domain scanning tool to detect issues with HTTPS and utility for scanning domains for compliance with e-mail best practices. A list sorted by popularity of the tools can be found on Github. https://github.com/search?q=user%3Acisagov+&s=stars&type=Repositories |
Author: <see article>
These links serve as tributes to those who have written them. Please find contributor details in the links provided Archives
April 2024
Categories |