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
Edge-DRsplash-10-edge-articles
I Smell a RAT! New Cybersecurity Threats for the Crypto Industry
David Trepp, Partner, IT Assurance with accounting and advisory firm BPM LLP,  7/9/2021
News
Attacks on Kaseya Servers Led to Ransomware in Less Than 2 Hours
Robert Lemos, Contributing Writer,  7/7/2021
Commentary
It's in the Game (but It Shouldn't Be)
Tal Memran, Cybersecurity Expert, CYE,  7/9/2021
Register for Dark Reading Newsletters
White Papers
Video
Cartoon
Current Issue
How Enterprises are Attacking the Cybersecurity Problem
Concerns over supply chain vulnerabilities and attack visibility drove some significant changes in enterprise cybersecurity strategies over the past year. Dark Reading's 2021 Strategic Security Survey showed that many organizations are staying the course regarding the use of a mix of attack prevention and threat detection technologies and practices for dealing with cyber threats.
Flash Poll
Twitter Feed
Dark Reading - Bug Report
Bug Report
Enterprise Vulnerabilities
From DHS/US-CERT's National Vulnerability Database
CVE-2021-0652
PUBLISHED: 2021-10-22
In VectorDrawable::VectorDrawable of VectorDrawable.java, there is a possible way to introduce a memory corruption due to sharing of not thread-safe objects. This could lead to local escalation of privilege with no additional execution privileges needed. User interaction is not needed for exploitati...
CVE-2021-0702
PUBLISHED: 2021-10-22
In RevertActiveSessions of apexd.cpp, there is a possible way to share the wrong file due to an unintentional MediaStore downgrade. This could lead to local information disclosure with no additional execution privileges needed. User interaction is needed for exploitation.Product: AndroidVersions: An...
CVE-2021-0703
PUBLISHED: 2021-10-22
In SecondStageMain of init.cpp, there is a possible use after free due to incorrect shared_ptr usage. This could lead to local escalation of privilege if the attacker has physical access to the device, with no additional execution privileges needed. User interaction is not needed for exploitation.Pr...
CVE-2021-0705
PUBLISHED: 2021-10-22
In sanitizeSbn of NotificationManagerService.java, there is a possible way to keep service running in foreground and keep granted permissions due to Bypass of Background Service Restrictions. This could lead to local escalation of privilege with no additional execution privileges needed. User intera...
CVE-2021-0706
PUBLISHED: 2021-10-22
In startListening of PluginManagerImpl.java, there is a possible way to disable arbitrary app components due to a missing permission check. This could lead to local denial of service with no additional execution privileges needed. User interaction is not needed for exploitation.Product: AndroidVersi...