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
COVID-19: Latest Security News & Commentary
Dark Reading Staff 6/4/2020
Abandoned Apps May Pose Security Risk to Mobile Devices
Robert Lemos, Contributing Writer,  5/29/2020
How AI and Automation Can Help Bridge the Cybersecurity Talent Gap
Peter Barker, Chief Product Officer at ForgeRock,  6/1/2020
Register for Dark Reading Newsletters
White Papers
Video
Cartoon Contest
Write a Caption, Win a Starbucks Card! Click Here
Latest Comment: What? IT said I needed virus protection!
Current Issue
How Cybersecurity Incident Response Programs Work (and Why Some Don't)
This Tech Digest takes a look at the vital role cybersecurity incident response (IR) plays in managing cyber-risk within organizations. Download the Tech Digest today to find out how well-planned IR programs can detect intrusions, contain breaches, and help an organization restore normal operations.
Flash Poll
Twitter Feed
Dark Reading - Bug Report
Bug Report
Enterprise Vulnerabilities
From DHS/US-CERT's National Vulnerability Database
CVE-2020-13768
PUBLISHED: 2020-06-04
In MiniShare before 1.4.2, there is a stack-based buffer overflow via an HTTP PUT request, which allows an attacker to achieve arbitrary code execution, a similar issue to CVE-2018-19861, CVE-2018-19862, and CVE-2019-17601. NOTE: this product is discontinued.
CVE-2020-13849
PUBLISHED: 2020-06-04
The MQTT protocol 3.1.1 requires a server to set a timeout value of 1.5 times the Keep-Alive value specified by a client, which allows remote attackers to cause a denial of service (loss of the ability to establish new connections), as demonstrated by SlowITe.
CVE-2020-13848
PUBLISHED: 2020-06-04
Portable UPnP SDK (aka libupnp) 1.12.1 and earlier allows remote attackers to cause a denial of service (crash) via a crafted SSDP message due to a NULL pointer dereference in the functions FindServiceControlURLPath and FindServiceEventURLPath in genlib/service_table/service_table.c.
CVE-2020-11682
PUBLISHED: 2020-06-04
Castel NextGen DVR v1.0.0 is vulnerable to CSRF in all state-changing request. A __RequestVerificationToken is set by the web interface, and included in requests sent by web interface. However, this token is not verified by the application: the token can be removed from all requests and the request ...
CVE-2020-12847
PUBLISHED: 2020-06-04
Pydio Cells 2.0.4 web application offers an administrative console named “Cells Console� that is available to users with an administrator role. This console provides an administrator user with the possibility of changing several settings, including the applicat...