Dark Reading is part of the Informa Tech Division of Informa PLC

This site is operated by a business or businesses owned by Informa PLC and all copyright resides with them.Informa PLC's registered office is 5 Howick Place, London SW1P 1WG. Registered in England and Wales. Number 8860726.

Application Security

1/21/2020
10:10 AM
Larry Loeb
Larry Loeb
Larry Loeb
50%
50%

Reusing Code? Inspect It First

Microsoft is doing something concrete about container security with the release of the Microsoft Application Inspector, a cross-platform tool whose primary objective is to identify source code features in a systematic and scalable way.

Microsoft is doing something concrete about container security with the release of the Microsoft Application Inspector, a cross-platform tool whose "primary objective is to identify source code features in a systematic and scalable way not found elsewhere in typical static analyzers" as the creators said in the Wiki.

The idea behind it is to open up the third-party open-source software components that are found in many software packages. The tool's goal is to help developers evaluate the potential security risks that a reused component may pose.

The application is a client .NET Core based tool. This means it will run on Windows, Linux or macOS and does not require elevated privileges. Also, there is no local database or network communications or telemetry required in the tool's operation.

Application Inspector can help identify "interesting" characteristics of an application by examining its source code. This will save significant time compared to performing this kind of effort manually.

Microsoft says that the tool includes hundreds of default identifying patterns for detecting general features like frameworks used, file I/O, OS APIs as well as the ability to detect key security and privacy features of a component.

By default, the Application Inspector will generate an output that is browser based for illustrating the features, project summary and meta-data that is detected for a component. It also has the ability to support JSON and TEXT output format options.

The developers think that Application Inspector is judgement-free, focusing on informing security teams of flagged details that might otherwise go unnoticed in the code review process. The tool looks at the context of code at a feature level, which may be far more important to security efforts than just finding some poorly written code.

Some of the features that the tool examines includes Control Flow (Dynamic Code Execution, Process Management), Cryptography (Encryption, Hashing, Secrets, Randomization), OS Operations (File System, Environment Variables, Network Operations, User Accounts, Windows Registry), Data (JSON/XML, Secrets/Access Keys, Sensitive Personal Data, SQL/ORM), Data Handling (Object Serialization (XML/JSON), Flash, PDF, Silverlight, Audio/Video Media Use or Parsing, Bluetooth, Cellular, RPC), Frameworks (Development, Testing, Dependencies), and Service Providers including Cloud Services (Data Storage, Applications, Social Media).

Reports can be customized. This customization involves specifying either custom rules (feature pattern to scan for e.g. regex, language) or a custom report (filter what features to display in the report output).

Operation is fairly simple. Starting the tool involves the standard dotnet command line invocation; i.e. dotnet ApplicationInspector.dll if you are on a Linux or macOS system. AppInspector.exe is used on Windows.

Application Inspector use is also simple. A component can be downloaded to the local testbed in compressed or uncompressed formats. Application Inspector is then run, pointing it at the component source code while specifying the command, report format and other options.

While the tool is not meant to replace security static analyzers or security code reviews, it has a definite place alongside them.

— Larry Loeb has written for many of the last century's major "dead tree" computer magazines, having been, among other things, a consulting editor for BYTE magazine and senior editor for the launch of WebWeek.

Comment  | 
Print  | 
More Insights
Comments
Newest First  |  Oldest First  |  Threaded View
Commentary
Ransomware Is Not the Problem
Adam Shostack, Consultant, Entrepreneur, Technologist, Game Designer,  6/9/2021
Edge-DRsplash-11-edge-ask-the-experts
How Can I Test the Security of My Home-Office Employees' Routers?
John Bock, Senior Research Scientist,  6/7/2021
News
New Ransomware Group Claiming Connection to REvil Gang Surfaces
Jai Vijayan, Contributing Writer,  6/10/2021
Register for Dark Reading Newsletters
White Papers
Video
Cartoon Contest
Write a Caption, Win an Amazon Gift Card! Click Here
Latest Comment: Google's new See No Evil policy......
Current Issue
The State of Cybersecurity Incident Response
In this report learn how enterprises are building their incident response teams and processes, how they research potential compromises, how they respond to new breaches, and what tools and processes they use to remediate problems and improve their cyber defenses for the future.
Flash Poll
Twitter Feed
Dark Reading - Bug Report
Bug Report
Enterprise Vulnerabilities
From DHS/US-CERT's National Vulnerability Database
CVE-2021-24368
PUBLISHED: 2021-06-20
The Quiz And Survey Master – Best Quiz, Exam and Survey Plugin WordPress plugin before 7.1.18 did not sanitise or escape its result_id parameter when displaying an existing quiz result page, leading to a reflected Cross-Site Scripting issue. This c...
CVE-2021-31664
PUBLISHED: 2021-06-18
RIOT-OS 2021.01 before commit 44741ff99f7a71df45420635b238b9c22093647a contains a buffer overflow which could allow attackers to obtain sensitive information.
CVE-2021-33185
PUBLISHED: 2021-06-18
SerenityOS contains a buffer overflow in the set_range test in TestBitmap which could allow attackers to obtain sensitive information.
CVE-2021-33186
PUBLISHED: 2021-06-18
SerenityOS in test-crypto.cpp contains a stack buffer overflow which could allow attackers to obtain sensitive information.
CVE-2021-31272
PUBLISHED: 2021-06-18
SerenityOS before commit 3844e8569689dd476064a0759d704bc64fb3ca2c contains a directory traversal vulnerability in tar/unzip that may lead to command execution or privilege escalation.