<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>https://wiki.owasp.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Ruiwangwarm</id>
		<title>OWASP - User contributions [en]</title>
		<link rel="self" type="application/atom+xml" href="https://wiki.owasp.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Ruiwangwarm"/>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php/Special:Contributions/Ruiwangwarm"/>
		<updated>2026-05-23T05:53:24Z</updated>
		<subtitle>User contributions</subtitle>
		<generator>MediaWiki 1.27.2</generator>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=Mobile_Top_10_2014-M3&amp;diff=186377</id>
		<title>Mobile Top 10 2014-M3</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=Mobile_Top_10_2014-M3&amp;diff=186377"/>
				<updated>2014-12-02T18:23:52Z</updated>
		
		<summary type="html">&lt;p&gt;Ruiwangwarm: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;center&amp;gt;[https://www.owasp.org/index.php/Projects/OWASP_Mobile_Security_Project_-_Top_Ten_Mobile_Risks Back To The Mobile Top Ten Main Page]&amp;lt;/center&amp;gt;&lt;br /&gt;
{{Top_10_2010:SubsectionColoredTemplate|&amp;lt;center&amp;gt;Insufficient Transport Layer Protection&amp;lt;/center&amp;gt;||year=2014}}&lt;br /&gt;
{{Top_10_2010:SummaryTableHeaderBeginTemplate}}&lt;br /&gt;
{{Top_10_2010:SummaryTableValue-3-Template|Exploitability|DIFFICULT}}&lt;br /&gt;
{{Top_10_2010:SummaryTableValue-2-Template|Prevalence|COMMON}}&lt;br /&gt;
{{Top_10_2010:SummaryTableValue-1-Template|Detectability|EASY}}&lt;br /&gt;
{{Top_10_2010:SummaryTableValue-2-Template|Impact|MODERATE}}&lt;br /&gt;
{{Top_10_2010:SummaryTableHeaderEndTemplate}}&lt;br /&gt;
     &amp;lt;td {{Template:Top 10 2010:SummaryTableRowStyleTemplate}}&amp;gt;When designing a mobile application, data is commonly exchanged in a client-server fashion. When the solution transmits its data, it must traverse the mobile device's carrier network and the internet. Threat agents might exploit vulnerabilities to intercept sensitive data while it's traveling across the wire. The following threat agents exist:&lt;br /&gt;
&lt;br /&gt;
* An adversary that shares your local network (compromised or monitored Wi-Fi);&lt;br /&gt;
* Carrier or network devices (routers, cell towers, proxy's, etc); or&lt;br /&gt;
* Malware on your mobile device.&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
     &amp;lt;td {{Template:Top 10 2010:SummaryTableRowStyleTemplate}}&amp;gt; The exploitabilty factor of monitoring a network for insecure communications ranges. Monitoring traffic over a carrier's network is harder than that of monitoring a local coffee shop's traffic. In general, targeted attacks are easier to perform.  &amp;lt;/td&amp;gt;&lt;br /&gt;
     &amp;lt;td colspan=2  {{Template:Top 10 2010:SummaryTableRowStyleTemplate}}&amp;gt;Mobile applications frequently do not protect network traffic. They may use SSL/TLS during authentication but not elsewhere.  This inconsistency leads to the risk of exposing data and session IDs to interception.&lt;br /&gt;
&lt;br /&gt;
The use of transport security does not mean the app has implemented it correctly.&lt;br /&gt;
&lt;br /&gt;
To detect basic flaws, observe the phone's network traffic. More subtle flaws require inspecting the design of the application and the applications configuration. &amp;lt;/td&amp;gt;&lt;br /&gt;
     &amp;lt;td {{Template:Top 10 2010:SummaryTableRowStyleTemplate}}&amp;gt;This flaw exposes an individual user's data and can lead to account theft. If the adversary intercepts an admin account, the entire site could be exposed. Poor SSL setup can also facilitate phishing and MITM attacks.&amp;lt;/td&amp;gt;&lt;br /&gt;
     &amp;lt;td {{Template:Top 10 2010:SummaryTableRowStyleTemplate}}&amp;gt;At a minimum, interception of sensitive data through a communication channel will result in a privacy violation.&lt;br /&gt;
&lt;br /&gt;
The violation of a user's confidentiality may result in:&lt;br /&gt;
&lt;br /&gt;
* Identity theft;&lt;br /&gt;
* Fraud, or&lt;br /&gt;
* Reputational Damage.&amp;lt;/td&amp;gt;&lt;br /&gt;
{{Top_10_2010:SummaryTableEndTemplate}}&lt;br /&gt;
&lt;br /&gt;
{{Mobile_Top_10_2012:SubsectionAdvancedTemplate|type={{Mobile_Top_10_2012:StyleTemplate}}|number=1|risk=3}}&lt;br /&gt;
To find out if an application has sufficient transport layer protection, look at the application traffic through a proxy. Answer the following questions:&lt;br /&gt;
&lt;br /&gt;
# Are all connections, not just ones to servers you own, properly encrypted? &lt;br /&gt;
# Are the SSL certificates in date?&lt;br /&gt;
# Are the SSL certificates self signed?&lt;br /&gt;
# Does the SSL use high enough cipher strengths?&lt;br /&gt;
# Will your application accept user accepted certificates as authorities?&lt;br /&gt;
{{Mobile_Top_10_2012:SubsectionAdvancedTemplate|type={{Mobile_Top_10_2012:StyleTemplate}}|number=2|risk=3}}&lt;br /&gt;
'''General Best Practices:'''&lt;br /&gt;
&lt;br /&gt;
* Assume that the network layer is not secure and is susceptible to eavesdropping. &lt;br /&gt;
* Apply SSL/TLS to transport channels that the mobile app will use to transmit sensitive information, session tokens, or other sensitive data to a backend API or web service.&lt;br /&gt;
* Account for outside entities like third-party analytics companies, social networks, etc. by using their SSL versions when an application runs a routine via the browser/webkit. Avoid mixed SSL sessions as they may expose the user’s session ID.&lt;br /&gt;
* Use strong, industry standard cipher suites with appropriate key lengths.&lt;br /&gt;
* Use certificates signed by a trusted CA provider. &lt;br /&gt;
* Never allow self-signed certificates, and consider certificate pinning for security conscious applications.&lt;br /&gt;
* Always require SSL chain verification.&lt;br /&gt;
* Only establish a secure connection after verifying the identity of the endpoint server using trusted certificates in the key chain.&lt;br /&gt;
* Alert users through the UI if the mobile app detects an invalid certificate.&lt;br /&gt;
* Do not send sensitive data over alternate channels (e.g, SMS, MMS, or notifications).&lt;br /&gt;
* If possible, apply a separate layer of encryption to any sensitive data before it is given to the SSL channel. In the event that future vulnerabilities are discovered in the SSL implementation, the encrytped data will provide a secondary defense against confidentiality violation.&lt;br /&gt;
&lt;br /&gt;
Newer threats allow an adversary to eavesdrop on sensitive traffic by intercepting the traffic within the mobile device just before the mobile device's SSL library encrypts and transmits the network traffic to the destination server. See M10 for more information on the nature of this risk.&lt;br /&gt;
&lt;br /&gt;
'''iOS Specific Best Practices'''&lt;br /&gt;
&lt;br /&gt;
Default classes in the latest version of iOS handle SSL cipher strength negotiation very well. Trouble comes when developers temporarily add code to bypass these defaults to accommodate development hurdles. In addition to the above general practices:&lt;br /&gt;
&lt;br /&gt;
* Ensure that certificates are valid and fail closed.&lt;br /&gt;
* When using CFNetwork, consider using the Secure Transport API to designate trusted client certificates. In almost all situations, NSStreamSocketSecurityLevelSSLv3 or NSStreamSocketSecurityLevelTLSv1 should be used for higher standard cipher strength.&lt;br /&gt;
* After development, ensure all NSURL calls (or wrappers of NSURL) do not allow self signed or invalid certificates such as the NSURL class method setAllowsAnyHTTPSCertificate.&lt;br /&gt;
* Consider using certificate pinning by doing the following: export your certificate, include it in your app bundle, and anchor it to your trust object. Using the NSURL method connection:willSendRequestForAuthenticationChallenge: will now accept your cert.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Android Specific Best Practices'''&lt;br /&gt;
&lt;br /&gt;
* Remove all code after the development cycle that may allow the application to accept all certificates such as org.apache.http.conn.ssl.AllowAllHostnameVerifier or SSLSocketFactory.ALLOW_ALL_HOSTNAME_VERIFIER. These are equivalent to trusting all certificates.&lt;br /&gt;
* If using a class which extends SSLSocketFactory, make sure checkServerTrusted method is properly implemented so that server certificate is correctly checked.&lt;br /&gt;
&lt;br /&gt;
{{Mobile_Top_10_2012:SubsectionAdvancedTemplate|type={{Mobile_Top_10_2012:StyleTemplate}}|number=3|risk=3}}&lt;br /&gt;
There are a few common scenarios that penetration testers frequently discover when inspecting a mobile app's transport layer security:&lt;br /&gt;
&lt;br /&gt;
; Lack of Certificate Inspection&lt;br /&gt;
: The mobile app and an endpoint successfully connect and perform a SSL/TLS handshake to establish a secure channel. However, the mobile app fails to inspect the certificate offered by the server and the mobile app unconditionally accepts any certificate offered to it by the server. This destroys any mutual authentication capability between the mobile app and the endpoint. The mobile app is susceptible to man-in-the-middle attacks through a SSL proxy&lt;br /&gt;
; Weak Handshake Negotiation&lt;br /&gt;
: The mobile app and an endpoint successfully connect and negotiate a cipher suite as part of the connection handshake. The client successfully negotiates with the server to use a weak cipher suite that results in weak encryption that can be easily decrypted by the adversary. This jeopardizes the confidentiality of the channel between the mobile app and the endpoint;&lt;br /&gt;
; Privacy Information Leakage&lt;br /&gt;
: The mobile app transmits personally identifiable information to an endpoint via non-secure channels instead of over SSL. This jeopardizes the confidentiality of any privacy-related data between the mobile app and the endpoint.&lt;br /&gt;
&lt;br /&gt;
{{Mobile_Top_10_2012:SubsectionAdvancedTemplate|type={{Mobile_Top_10_2012:StyleTemplate}}|number=4|risk=3}}&lt;br /&gt;
* [http://h30499.www3.hp.com/t5/Fortify-Application-Security/Exploring-The-OWASP-Mobile-Top-10-M3-Insufficient-Transport/ba-p/5966473 Fortify On Demand Blog - Exploring The OWASP Mobile Top 10: Insufficient Transport Layer Protection]&lt;br /&gt;
* [https://www.owasp.org/index.php/IOS_Developer_Cheat_Sheet OWASP ][https://www.owasp.org/index.php/IOS_Developer_Cheat_Sheet IOS Developer Cheat Sheet]&lt;br /&gt;
* [http://blog.securemacprogramming.com/2011/12/on-ssl-pinning-for-cocoa-touch/ blog.securemacprogramming.com - SSL Pinning for Cocoa Touch]&lt;br /&gt;
* [http://www2.dcsec.uni-hannover.de/files/android/p50-fahl.pdf Why Eve and Mallory Love Android: An Analysis of Android SSL (In)Security]&lt;br /&gt;
* [http://www.hpenterprisesecurity.com/vulncat/en/vulncat/index.html Fortify VulnCat - A Taxonimy of Software Security Errors]&lt;/div&gt;</summary>
		<author><name>Ruiwangwarm</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=Mobile_Top_10_2014-M1&amp;diff=186376</id>
		<title>Mobile Top 10 2014-M1</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=Mobile_Top_10_2014-M1&amp;diff=186376"/>
				<updated>2014-12-02T18:07:17Z</updated>
		
		<summary type="html">&lt;p&gt;Ruiwangwarm: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;center&amp;gt;[https://www.owasp.org/index.php/Projects/OWASP_Mobile_Security_Project_-_Top_Ten_Mobile_Risks Back To The Mobile Top Ten Main Page]&amp;lt;/center&amp;gt;&lt;br /&gt;
{{Top_10_2010:SubsectionColoredTemplate|&amp;lt;center&amp;gt;Weak Server Side Controls&amp;lt;/center&amp;gt;||year=2014}}&lt;br /&gt;
&lt;br /&gt;
{{Top_10_2010:SummaryTableHeaderBeginTemplate}}&lt;br /&gt;
{{Top_10_2010:SummaryTableValue-1-Template|Exploitability|EASY}}&lt;br /&gt;
{{Top_10_2010:SummaryTableValue-2-Template|Prevalence|COMMON}}&lt;br /&gt;
{{Top_10_2010:SummaryTableValue-2-Template|Detectability|AVERAGE}}&lt;br /&gt;
{{Top_10_2010:SummaryTableValue-1-Template|Impact|SEVERE}}&lt;br /&gt;
{{Top_10_2010:SummaryTableHeaderEndTemplate}}&lt;br /&gt;
     &amp;lt;td {{Template:Top 10 2010:SummaryTableRowStyleTemplate}}&amp;gt;Threat agents include any entity that acts as a source of untrustworthy input to a backend API service, web service, or traditional web server application. Examples of such entities include: a user, malware, or a vulnerable app on the mobile device.&amp;lt;/td&amp;gt;&lt;br /&gt;
     &amp;lt;td {{Template:Top 10 2010:SummaryTableRowStyleTemplate}}&amp;gt;The attack vectors correspond to the same attack vectors available through the traditional OWASP Top Ten.&amp;lt;/td&amp;gt;&lt;br /&gt;
     &amp;lt;td colspan=2  {{Template:Top 10 2010:SummaryTableRowStyleTemplate}}&amp;gt;In order for this vulnerability to be exploited, the organization must expose a web service or API call that is consumed by the mobile app. The exposed service or API call is implemented using insecure coding techniques that produce an OWASP Top Ten vulnerability within the server. Through the mobile interface, an adversary is able to feed malicious inputs or unexpected sequences of events to the vulnerable endpoint. Hence, the adversary realizes the original OWASP Top Ten vulnerability on the server.&amp;lt;/td&amp;gt;&lt;br /&gt;
     &amp;lt;td {{Template:Top 10 2010:SummaryTableRowStyleTemplate}}&amp;gt;The technical impact of this vulnerability corresponds to the technical impact of the associated vulnerability (defined in the OWASP Top Ten) that the adversary is exploiting via the mobile device.&lt;br /&gt;
For example, an adversary may exploit a Cross-Site Scripting (XSS) vulnerability via the mobile device. This corresponds to the OWASP Top Ten A3 - XSS Category with a technical impact of moderate.&amp;lt;/td&amp;gt;&lt;br /&gt;
     &amp;lt;td {{Template:Top 10 2010:SummaryTableRowStyleTemplate}}&amp;gt;The business impact of this vulnerability corresponds to the business impact of the associated vulnerability (defined in the OWASP Top Ten) that the adversary is exploiting via the mobile device.&lt;br /&gt;
For example, an adversary may exploit a Cross-Site Scripting (XSS) vulnerability via the mobile device. This corresponds to the OWASP Top Ten A3 - XSS Category's business impacts.&amp;lt;/td&amp;gt;&lt;br /&gt;
{{Top_10_2010:SummaryTableEndTemplate}}&lt;br /&gt;
&lt;br /&gt;
{{Mobile_Top_10_2012:SubsectionAdvancedTemplate|type={{Mobile_Top_10_2012:StyleTemplate}}|number=1|risk=2}}&lt;br /&gt;
M1 encompasses almost everything that a mobile application can do badly that does not take place on the phone. Which is exactly the argument… should it be listed at all? Don’t we have a Top Ten lists for Web Applications? Don’t we have one for cloud too?&lt;br /&gt;
 &lt;br /&gt;
In fact, we do. If we could be altogether sure that everyone who wanted information on mobile security also stopped by those projects… it would be a perfect world. After two rounds of data collection from some of the world’s top assessment teams, server side issues are so prevalent in mobile applications that we cannot ignore them in the Mobile Top Ten 2014 listing. Experience suggests that several factors have lead to a proliferation of server-side vulnerabilities.  These factors include:&lt;br /&gt;
 &lt;br /&gt;
* Rush to market;&lt;br /&gt;
* Lack of security knowledge because of the new-ness of the languages;&lt;br /&gt;
* Easy access to frameworks that don’t prioritize security;&lt;br /&gt;
* Higher than average outsourced development;&lt;br /&gt;
* Lower security budgets for mobile applications;&lt;br /&gt;
* Assumption that the mobile OS takes full responsibility for security; and &lt;br /&gt;
* Weakness due to cross-platform development and compilation.&lt;br /&gt;
{{Mobile_Top_10_2012:SubsectionAdvancedTemplate|type={{Mobile_Top_10_2012:StyleTemplate}}|number=2|risk=2}}&lt;br /&gt;
Secure coding and configuration practices must be used on server-side of the mobile application. For specific vulnerability information, refer to the OWASP Web Top Ten or Cloud Top Ten projects.&lt;br /&gt;
{{Mobile_Top_10_2012:SubsectionAdvancedTemplate|type={{Mobile_Top_10_2012:StyleTemplate}}|number=3|risk=2}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Below, you can see that there are many risks and vulnerabilities that you must mitigate in order to satisfy M1:&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;[[File:CloudTT_thum.png|border|400px|link=https://www.owasp.org/index.php/Category:OWASP_Cloud_%E2%80%90_10_Project]]     [[File:WebTT_thumb.png|border|400px|link=https://www.owasp.org/index.php/Category:OWASP_Top_Ten_Project]]&amp;lt;/center&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
=== The Worst Offenders ===&lt;br /&gt;
&lt;br /&gt;
Below is a list vulnerability types that OWASP sees most often within mobile applications:&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
;Poor Web Services Hardening&lt;br /&gt;
: Logic flaws&lt;br /&gt;
:: [https://www.owasp.org/index.php/Testing_for_business_logic_(OWASP-BL-001) Testing for business logic flaws]&lt;br /&gt;
:: [https://www.owasp.org/index.php/Business_Logic_Security_Cheat_Sheet Business Logic Security Cheat Sheet]&lt;br /&gt;
: Weak Authentication&lt;br /&gt;
:: [https://www.owasp.org/index.php/Top_10_2013-A2-Broken_Authentication_and_Session_Management OWASP Top Ten Broken Authentication Section]&lt;br /&gt;
:: [https://www.owasp.org/index.php/Authentication_Cheat_Sheet Authentication Cheat Sheet]&lt;br /&gt;
:: [https://www.owasp.org/index.php/Guide_to_Authentication Developers Guide for Authentication]&lt;br /&gt;
:: [https://www.owasp.org/index.php/Testing_for_authentication Testing for Authentication]&lt;br /&gt;
: Weak or no session management&lt;br /&gt;
: Session fixation&lt;br /&gt;
: Sensitive data transmitted using GET method&lt;br /&gt;
: Sensitive data transmitted using HTTP method&lt;br /&gt;
&lt;br /&gt;
; Insecure web server configurations&lt;br /&gt;
: Default content&lt;br /&gt;
: Administrative interfaces&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
; Injection (SQL, XSS, Command) on both web services and mobile-enabled websites&lt;br /&gt;
&lt;br /&gt;
; Authentication flaws&lt;br /&gt;
&lt;br /&gt;
; Session Management flaws&lt;br /&gt;
&lt;br /&gt;
; Access control vulnerabilities&lt;br /&gt;
&lt;br /&gt;
; Local and Remote File Includes&lt;br /&gt;
&lt;br /&gt;
{{Mobile_Top_10_2012:SubsectionAdvancedTemplate|type={{Mobile_Top_10_2012:StyleTemplate}}|number=4|risk=2}}&lt;br /&gt;
References&lt;/div&gt;</summary>
		<author><name>Ruiwangwarm</name></author>	</entry>

	</feed>