Author: Sivanesh

Categories
Uncategorized

What is Static Code Analysis

Static code analysis (SCA) or Source code analysis is the process of analyzing the source code without executing or running it. Static Analysis can detect possible vulnerabilities in the source code by analyzing a set of code against a set (or multiple sets) of coding rules.

Here are some benefits of Static Code Analysis,

  1. faster project execution
  2. Better source code at check-in
  3. Less costly development cycles
  4. Shorter time-to-market

Syntax Analysis

Syntax Analysis Creates a lossless transformation of the source code by generating the “Abstract Syntax Tree”.

Syntax Analysis can be used to find Coding Style Issues and Simple Defects

  • Simple security defects (e.g. use of banned encryption API)
  • Simple coding style issues (e.g. no dynamic memory allocation)

Data Flow Analysis

Data Flow Analysis Can find program crashes across functions and files. Monitoring the lifecycle of data objects like Creation, Assignment, Usage, Deletion and Must be monitored across all paths in the Control Flow Graph such as Function calls, Compilation units, Etc.,

Complex Issue need trace back ( Sample report of Klocwork – Static Code Analyzer)

Klocwork Report with Root Cause Analysis

Symbolic Logic Analysis

  • Define functional behavior between symbols
  • Don’t necessarily know what the values will be at runtime
  • Used to infer software behavior

Complex Issue need trace back ( Sample Klocwork Report – Static Code Analyser)

Unvalidated integer value ‘size’ is received from ‘atoi’ at line 1474 and can be used to access an array through call to ‘rcs_change_text’ at line 1707.

Security vulnerabilities detection with Klocwork

Klocwork – Static Code Analyser

Klocwork is an ISO, IEC certified static source code analysis tool from Perforce and widely adopted by more than 2,200 customers worldwide, allows developers to identify code defects, at developer’s desktop, while they are coding.

Klocwork static application security testing (SAST) for C, C++, Java and C# can identify software security, quality, and reliability issues and it can help organisations to enforce compliance with industry standards. Klocwork can perform Dataflow Analysis, Syntax Analysis and Symbolic Logic Analysis to analyse the source code for vulnerabilities. Register here for Klocwork Trail, https://meteonic.com/contact-us or send a mail to support@meteonic.com

Categories
Uncategorized

Why Static Code analysis

Static code analysis (SCA) or Source code analysis is the process of analyzing the source code without executing it. Static Analysis Tools can detect possible vulnerabilities in the source code.

Apart from detecting vulnerabilities in the source code, SCA includes work with project architecture.

Static Code Analysis,

  • Can review source code methodically
  • Can follow Coding standards and RCA learning
  • Can find most common defects at desktop before you even run code
  • Help to Understand complex code
  • 100% Code coverage
  • Manual Code review effectiveness shoots up
  • Reverse Engineering code becomes easy
  • You can focus on functionality in code review

How to select a Static Code Analysis Tool

How to select a Static Code Analysis Tool

What kind of coding defects can be captured by Static Code Analysis Tool?

Being an advanced Static Code Analysis tool Klocwork can detect and help developer to fix coding vulnerabilities that includes,

  • Attempt to use Memory after Free
  • Banned recommended APIs
  • Banned required APIs
  • Buffer overflow
  • C/C++ Warnings
  • COM defects
  • Calculated values never used
  • Concurrency
  • DNS spoofing
  • Hard-coded credentials
  • Ignored return values
  • Improper memory deallocation
  • Inappropriate iterator usage
  • Invalid Arithmetic Operations
  • Localized string
  • Lowest possible privilege
  • Memory leaks
  • Mismatched return types
  • Null pointer dereference
  • Parse warning defects
  • Pipe hijacking
  • Porting issues
  • Possible DLL hijacks
  • Print functions format
  • Registry manipulation
  • Resource handling issues
  • Scan functions format
  • Speculative execution issues
  • Strong type checkers
  • Suspicious code practices
  • Unnecessary or missing includes
  • Unreachable code
  • Unused local variables
  • Unvalidated user input
  • Use of uninitialized data
  • Weak encryption

Klocwork – Static Code Analyser

Klocwork is an ISO, IEC certified static source code analysis tool from Perforce and widely adopted by more than 2,200 customers worldwide, allows developers to identify code defects, at developer’s desktop, while they are coding.

Klocwork static application security testing (SAST) for C, C++, Java and C# can identify software security, quality, and reliability issues and it can help organisations to enforce compliance with industry standards.

Klocwork can perform Dataflow Analysis, Syntax Analysis and Symbolic Logic Analysis to analyse the source code for vulnerabilities. Register here for Klocwork Trail, https://meteonic.com/contact-us or send a mail to support@meteonic.com

Categories
Uncategorized

What Does Meteonic Innovation Do

Meteonic Innovation” takes care of end to end process automation and software tools consultation. Meteonic provides automation & Integrations solutions to simplify complex software development process across SDLC, help develop quality & secure code and all of that with reduced cycle times especially for Telecom, Automotive, Defence & Aerospace, Healthcare companies. Below are some of our offerings,

  1. Klocwork – SAST for C, C++, C#, and Java
    • Klocwork is an advanced Static code analyser to find out the critical vulnerabilities like Memory leak, Array overflow, Concurrency violation, Security and Reliability vulnerabilities in the source code.
    • Klocwork can be used to verify industry standard compliance like MISRA, Autosar, CERT, CWE, OWASP, DISA-STIG, etc..,
  1. Understand – Source code visualisation and analysis
    • Understand from SciTools is a static analysis tool for maintaining, measuring and visualizing code bases in the form of Dependency graphs, Butterfly Diagram, State Diagram Etc..,
    • Understand can help you in visualising the entire project and find out the actual code flow.
  1. Squish – The GUI Test Automation Tool for all kinds of cross-platform desktop, mobile, embedded and web applications.
    • Squish is the tool of choice for several thousand companies worldwide to automate the functional regression tests and system tests of their graphical user interface (GUIs) and human machine interfaces (HMIs). The Squish GUI testing tool, a 100% cross-platform tool, features.
    • Squish can work on all desktop, mobile, web and embedded platforms with Test script recording feature includes Powerful and reliable object identification and verifications.
  1. Neuralegion – AI-powered Application Security Testing
    • NeuraLegion is a high-tech company based in Tel-Aviv, Israel. We help companies secure web applications with AI powered application security testing that quickly uncovers security and business logic flaws in application.
    • With our innovative state of the art AIAST technology, even complex vulnerabilities are detected in modern applications that no other solution is able to find.
  1. WhiteSource – Open source security and license compliance management platform.
    • WhiteSource can help You Secure Your Open Source Components. WhiteSource is the only all-­in-one security, compliance, and reporting solution for managing open source components, and the only one that operates in real-­time, by automatically and continuously scanning dozens of open source repositories, and cross-­referencing this data directly against the open source components in your build.
    • WhiteSource helps you find optimal components, automatically alerts you about known security vulnerabilities, bugs, new versions, patches, and fixes in the components you’re using. It automates the creation and enforcement of your company’s licensing policies, and centralizes inter-­departmental communications and approval processes. It keeps detailed inventories and due diligence reports.
  1. Kiuwan – Kiuwan is a software as a service (SaaS) static program analysis multi-technology software for software analytics, quality and security measurement and management.
    • As a multi-technology tool, Kiuwan supports many programming languages, such as: ABAP, C, C++, C#, Objective-C, COBOL, Java, JavaServer Pages (JSP), JavaScript, JCL, PHP, PL/SQL, Transact-SQL, SQL, Visual Basic, Visual Basic .NET, RPG, SQL*Forms, Android or Hibernate.
    • Kiuwan Automatically scans your code to identify and remediate vulnerabilities. Compliant with the most stringent security standards, such as OWASP and CWE, Kiuwan Code Security covers all important languages and integrates with leading DevOps tools.
  1. Tiobe – Measure Your Software Code Quality. TIOBE checks more than 1056 million lines of software code for its customers world-wide, real-time, each day.
    1. Based on the ISO 25010 standard about software quality
    2. Measuring 350 standardized aspects automatically
    3. Result is a score between 100 (level A) and 0 (level F)
    4. Methodology is called TIOBE Quality Indicator
  • 8. Incredibuild – Shorten development cycle time by 90% or more
    1. “IncrediBuild” that can dramatically accelerate the performance of a full range of compilation tasks and development tools, shortening development time and speeding product delivery.
    2. IncrediBuild works by providing every workstation the ability to use idle CPU’s of other machines available across your local network or in the public cloud as though they reside on your local workstation, effectively transforming every workstation to become a super computer with hundreds of cores and gigs of memory.
  • 9. Squish COCO – Coco is a multi-language code coverage tool. Automatic source code instrumentation is used to measure test coverage of statements, branches and conditions.
    • No changes to the application are necessary.
    • Executing a test suite against an instrumented application produces data that can later be analyzed.
    • This analysis can be used to understand how much of the source code has been hit by tests, which additional tests need to be written, how the test coverage changed over time and more.

You can go ahead and have a check on our Tools offering from the following link: http://meteonic.com/solution.html

Register here for Demo or trial license, https://www.meteonic.com/contact-us or send a mail to support@meteonic.com