<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>User Input Security - Advanced configuration and usage instructions on Documentation - V2</title><link>https://doc.castsoftware.com/export-v2/aipconsole/aip-console-user-interface/aip-console-application-management/application-security-dataflow/user-input-security-advanced-configuration-and-usage-instructions/</link><description>Recent content in User Input Security - Advanced configuration and usage instructions on Documentation - V2</description><generator>Hugo</generator><language>en</language><atom:link href="https://doc.castsoftware.com/export-v2/aipconsole/aip-console-user-interface/aip-console-application-management/application-security-dataflow/user-input-security-advanced-configuration-and-usage-instructions/index.xml" rel="self" type="application/rss+xml"/><item><title>User Input Security - Advanced configuration to improve performance</title><link>https://doc.castsoftware.com/export-v2/aipconsole/aip-console-user-interface/aip-console-application-management/application-security-dataflow/user-input-security-advanced-configuration-and-usage-instructions/user-input-security-advanced-configuration-to-improve-performance/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://doc.castsoftware.com/export-v2/aipconsole/aip-console-user-interface/aip-console-application-management/application-security-dataflow/user-input-security-advanced-configuration-and-usage-instructions/user-input-security-advanced-configuration-to-improve-performance/</guid><description>&lt;h3 id="introduction"&gt;Introduction&lt;/h3&gt;
&lt;p&gt;Enabling User Input Security checks &lt;strong&gt;will impact overall analysis performance&lt;/strong&gt; - i.e. the analysis of a given Application will take longer to complete if you enable User Input Security checks. This is due to the additional checks and metrics that need to be processed during this type of analysis. However, the impact on performance will vary according to various different aspects related to the Applications you are analyzing:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Number of lines of code (LOC)&lt;/li&gt;
&lt;li&gt;Number of objects after analysis&lt;/li&gt;
&lt;li&gt;Number of violations after analysis&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;In other words, the impact will be less noticeable on small/simple Applications, whereas the impact will be more significant for larger/complex Applications. If you need to use the User Input Security with a large or complex Application and you need to try and limit the performance hit that this will have, then there are &lt;strong&gt;some advanced configuration settings&lt;/strong&gt; that can be set to do this. This page explains these settings.&lt;/p&gt;</description></item><item><title>User Input Security - Detailed onboarding process instructions</title><link>https://doc.castsoftware.com/export-v2/aipconsole/aip-console-user-interface/aip-console-application-management/application-security-dataflow/user-input-security-advanced-configuration-and-usage-instructions/user-input-security-detailed-onboarding-process-instructions/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://doc.castsoftware.com/export-v2/aipconsole/aip-console-user-interface/aip-console-application-management/application-security-dataflow/user-input-security-advanced-configuration-and-usage-instructions/user-input-security-detailed-onboarding-process-instructions/</guid><description>&lt;div class="alert alert-info" role="alert"&gt;&lt;div class="h4 alert-heading" role="heading"&gt;Info&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;Summary&lt;/strong&gt;: Detailed instructions for onboarding an Application specifically to run User Input Security checks&lt;/p&gt;
&lt;/div&gt;
&lt;h2 id="introduction"&gt;Introduction&lt;/h2&gt;
&lt;p&gt;Previous versions of the &lt;strong&gt;Dataflow onboarding process&lt;/strong&gt; used to put the &lt;strong&gt;focus on tooling&lt;/strong&gt; (linq, Excel) for blackbox definitions production. Since AIP Core 8.3.3, the process has been simplified thanks to:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;pass-through mode&lt;/strong&gt;: since 8.3.0, when the engine encounters an unknown external method, it is considered as a collection (continue the flow), instead of stopping the current search.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;automatic blackboxing&lt;/strong&gt;: since 8.3.3, the DataflowRunner engine will decide &amp;ldquo;on-the-fly&amp;rdquo; the method&amp;rsquo;s semantic, based on internal rules (signatures and advanced patterns). This does complement with a few (10 to couple of dozens definition) the predefined methods.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;However, in case of &lt;strong&gt;unsupported presentation layer or SOA layer&lt;/strong&gt;, the flow is stopped and cannot reach the input layer, and thus the definition of &lt;strong&gt;alternate input methods&lt;/strong&gt; is still required. As a consequence, the process is &amp;ldquo;lighter&amp;rdquo;, and has two main branches, depending on the presentation layer in the source code:&lt;/p&gt;</description></item><item><title>User Input Security - Architecture review</title><link>https://doc.castsoftware.com/export-v2/aipconsole/aip-console-user-interface/aip-console-application-management/application-security-dataflow/user-input-security-advanced-configuration-and-usage-instructions/user-input-security-architecture-review/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://doc.castsoftware.com/export-v2/aipconsole/aip-console-user-interface/aip-console-application-management/application-security-dataflow/user-input-security-advanced-configuration-and-usage-instructions/user-input-security-architecture-review/</guid><description>&lt;div class="alert alert-info" role="alert"&gt;&lt;div class="h4 alert-heading" role="heading"&gt;Info&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;Summary&lt;/strong&gt;: Detailed instructions for performing an architecture review for a User Input Security analysis.&lt;/p&gt;
&lt;/div&gt;
&lt;h2 id="introduction"&gt;Introduction&lt;/h2&gt;
&lt;p&gt;The architecture review is a critical task, whose objectives are:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;qualify&lt;/strong&gt; application for User Input Security analysis&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;adapt&lt;/strong&gt; User Input Security configuration to application&amp;rsquo;s architecture, in order to ensure reliable analysis results&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="alert alert-danger" role="alert"&gt;&lt;div class="h4 alert-heading" role="heading"&gt;Warning&lt;/div&gt;
&lt;p&gt;If you bypass the architecture review, it means you are &lt;strong&gt;shooting in the dark&lt;/strong&gt;, and is an assurance of false results.&lt;/p&gt;</description></item><item><title>User Input Security - Checklist for User Input Security analysis</title><link>https://doc.castsoftware.com/export-v2/aipconsole/aip-console-user-interface/aip-console-application-management/application-security-dataflow/user-input-security-advanced-configuration-and-usage-instructions/user-input-security-checklist-for-user-input-security-analysis/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://doc.castsoftware.com/export-v2/aipconsole/aip-console-user-interface/aip-console-application-management/application-security-dataflow/user-input-security-advanced-configuration-and-usage-instructions/user-input-security-checklist-for-user-input-security-analysis/</guid><description>&lt;p&gt;This checklist answers the following questions:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;When is the User Input Security analysis configuration finished?&lt;/li&gt;
&lt;li&gt;As an AIA, when can I hand over to the FO or customer?&lt;/li&gt;
&lt;li&gt;What should I document as part of the implementation process?&lt;/li&gt;
&lt;li&gt;As a reviewer, what is the proof that demonstrates the User Input Security configuration has been performed correctly?&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="alert alert-info" role="alert"&gt;&lt;div class="h4 alert-heading" role="heading"&gt;Info&lt;/div&gt;
&lt;p&gt;Ensure you &lt;strong&gt;duplicate&lt;/strong&gt; this page, and &lt;strong&gt;fill in&lt;/strong&gt; the last column with the result of the check for each checked item. Upon completion, the AIA can assess whether they executed the process from end to end, and ensure the analysis results are in line with the analyzer&amp;rsquo;s current capacity.&lt;/p&gt;</description></item><item><title>User Input Security - How to read the SecurityAnalyzer log in one go</title><link>https://doc.castsoftware.com/export-v2/aipconsole/aip-console-user-interface/aip-console-application-management/application-security-dataflow/user-input-security-advanced-configuration-and-usage-instructions/user-input-security-how-to-read-the-securityanalyzer-log-in-one-go/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://doc.castsoftware.com/export-v2/aipconsole/aip-console-user-interface/aip-console-application-management/application-security-dataflow/user-input-security-advanced-configuration-and-usage-instructions/user-input-security-how-to-read-the-securityanalyzer-log-in-one-go/</guid><description>&lt;h2 id="introduction"&gt;Introduction&lt;/h2&gt;
&lt;p&gt;The SecurityAnalyzer log reports the inner behavior of the User Input Security analysis. It must be read by the AIA in order to figure out what happened on several topics listed in the table below.&lt;/p&gt;
&lt;h2 id="main-steps-and-checks-to-perform"&gt;Main steps and checks to perform&lt;/h2&gt;
&lt;p&gt;The table below lists the main phases of the User Input Security analysis. Each phase is reported in the SecurityAnalyzer.log, through a number of log records. The success of each step must be controlled, in order to ensure correct execution. Some types of error do not stop the User Input Security analysis, so a proper examination must take place. Global numbers (number of entrypoints for each flaw, total number of flaws found, etc.) must the controlled too (see the &lt;strong&gt;&lt;a href="https://doc.castsoftware.com/export-v2/aipconsole/aip-console-user-interface/aip-console-application-management/application-security-dataflow/user-input-security-advanced-configuration-and-usage-instructions/user-input-security-checklist-for-user-input-security-analysis/"&gt;checklist&lt;/a&gt;&lt;/strong&gt; for this control).&lt;/p&gt;</description></item><item><title>User Input Security - When do you need to create blackbox</title><link>https://doc.castsoftware.com/export-v2/aipconsole/aip-console-user-interface/aip-console-application-management/application-security-dataflow/user-input-security-advanced-configuration-and-usage-instructions/user-input-security-when-do-you-need-to-create-blackbox/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://doc.castsoftware.com/export-v2/aipconsole/aip-console-user-interface/aip-console-application-management/application-security-dataflow/user-input-security-advanced-configuration-and-usage-instructions/user-input-security-when-do-you-need-to-create-blackbox/</guid><description>&lt;h2 id="blackbox-definition"&gt;Blackbox definition&lt;/h2&gt;
&lt;p&gt;Blackbox is the means by which an AIA can drive the User Inout Security engine, giving semantics to methods. The four main actions you can give a method are the following:&lt;/p&gt;
&lt;table class="relative-table wrapped confluenceTable" style="width: 99.9305%;"&gt;&lt;colgroup&gt;&lt;col style="width: 6.34656%;"/&gt;&lt;col style="width: 28.4482%;"/&gt;&lt;col style="width: 65.1357%;"/&gt;&lt;/colgroup&gt;&lt;tbody&gt;&lt;tr&gt;&lt;th class="confluenceTh"&gt;Action&lt;/th&gt;&lt;th class="confluenceTh"&gt;Meaning&lt;/th&gt;&lt;th class="confluenceTh"&gt;Comment&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class="confluenceTd"&gt;input&lt;/td&gt;&lt;td class="confluenceTd"&gt;&lt;p&gt;&lt;strong&gt;data acquisition&lt;/strong&gt;, from the user input in a form or page.&lt;/p&gt;&lt;p&gt;Exposed REST API, message queues and other middlewares are also considered as insecure data acquisition.&lt;/p&gt;&lt;/td&gt;&lt;td class="confluenceTd"&gt;&lt;ul&gt;&lt;li&gt;Sample for JEE : serveltRequest.&lt;strong&gt;getParameter&lt;/strong&gt;()&lt;/li&gt;&lt;li&gt;Sample for .NET : winForm.control.&lt;strong&gt;getText&lt;/strong&gt;()&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;For full list of methods, see &lt;strong&gt;&lt;a href="https://doc.castsoftware.com/export-v2/aipconsole/aip-console-user-interface/aip-console-application-management/application-security-dataflow/user-input-security-predefined-methods/"&gt;Predefined methods&lt;/a&gt;&lt;/strong&gt;.&lt;/p&gt;</description></item><item><title>User Input Security - Sanitization and co - how to protect from injection flaws and how to define them in AIP</title><link>https://doc.castsoftware.com/export-v2/aipconsole/aip-console-user-interface/aip-console-application-management/application-security-dataflow/user-input-security-advanced-configuration-and-usage-instructions/user-input-security-sanitization-and-co-how-to-protect-from-injection-flaws-and-how-to-define-them-in-aip/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://doc.castsoftware.com/export-v2/aipconsole/aip-console-user-interface/aip-console-application-management/application-security-dataflow/user-input-security-advanced-configuration-and-usage-instructions/user-input-security-sanitization-and-co-how-to-protect-from-injection-flaws-and-how-to-define-them-in-aip/</guid><description>&lt;h2 id="introduction"&gt;Introduction&lt;/h2&gt;
&lt;h3 id="objectives"&gt;Objectives&lt;/h3&gt;
&lt;p&gt;To protect against injection vulnerabilities, the software developer has several means at his disposal. In order to get accurate analysis results, the AIA needs to discover if any of these mechanisms have been used in the application, and how to configure AIP Core to take them into account, when required.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Collect usage of protection mecanism(s) used by ACME organization, in an interview.
&lt;ol&gt;
&lt;li&gt;usage of &lt;strong&gt;presentation layer validator&lt;/strong&gt;, standard or custom&lt;/li&gt;
&lt;li&gt;the names of the &lt;strong&gt;sanitization&lt;/strong&gt; vetted libraries, standard or custom&lt;/li&gt;
&lt;li&gt;for SQL injection prevention, usage of &lt;strong&gt;parameter binding, aka&lt;/strong&gt;SQL Bind Variables/Parameters&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;If the collection of information is not possible or incomplete upfront, the AIA must use his knowledge to detect the presence of the mechanism(s) in the source code itself and/or in the SecurityAnalyzer.log.
&lt;ol&gt;
&lt;li&gt;Presence of JAR or assemblies could be a first sign&lt;/li&gt;
&lt;li&gt;Dependency inside Maven pom.xml is a better sign&lt;/li&gt;
&lt;li&gt;Presence of a protection mechanism is not a proof the application is 100% covered.&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id="methodology-presentation"&gt;Methodology presentation&lt;/h3&gt;
&lt;p&gt;The default configuration will cover 90% of the cases for public sanitization library (with AIP Core &amp;gt;= 8.3.15). Then, once flaws are found and validation or any interview / observation reveals some specific configuration should be done, add a custom blackbox file to define the specific methods as sanitization (mode=clear). Then the invalid violations (protected by a sanitization method) will be removed from list of violations, and the remaining violations are deemed true positives.&lt;/p&gt;</description></item></channel></rss>