<div dir="ltr"><div>Hi everyone,<br>Here is another proposal put forward by the group that has received positive feedback from the community:<br><br><span style="color:rgb(255,0,0)"><font size="4"><b>Potential Renaming M10: From “Lack of Binary Protection” to “Unauthorized Code Modification and Disclosure”:</b></font></span><br><br>•<b>Rationale for renaming M10 based on community feedback</b>:<br>     –“Lack of protection” may not be a risk in itself; protection is viewed as a mitigation approach<br><br>     – M10 naming should focus on describing the underlying technical/business risk:<br>            - Mobile application code on the client-side is vulnerable to malicious code modification, run-time manipulation, code injection, and sensitive code disclosure/leakage<br>            - Results in violation of application integrity or confidentiality<br>     –This is a <u>distinct risk for client-side Mobile apps</u> (vs server-side Web apps) where binary code is directly accessible for the attacker<br>     –<u>Vital for ‘Builders’ and ‘Defenders’ to understand how their client-side app code is exposed to these risks</u><br><br>•<b>There is a large amount of community data supporting the underlying technical/business risk</b>, e.g.,<br>     –86% of all Android Malware is legit apps that have been repackaged with malware (NC State University/IEEE Security & Privacy)<br>    –87% of all Top 100 iOS apps and 97% of all Top 100 Android apps have been found as rogue, modified versions (Arxan)<br>     –~25% of apps in Google Play are unauthorized clones (Columbia School of Engineering)<br>     –86% of mobile apps are exposed to these issues (HP Fortify)<br><br>•<b>OWASP community has well-documented exploits and attack techniques for this M10 showing how client-side binary code in iOS and Android apps can be modified and manipulated</b>, e.g.,<br>    –AppSecUSA 2014: “Runtime Manipulation of Android and iOS Applications” by Aspect Security<br>    –Black Hat: “viaForensics: "Dark Art of iOS Application Hacking” (binary code manipulation) by viaForensics<br>    –"Pentesting iOS Apps - Runtime Analysis and Manipulation” by NESO Security Labs<br>    –"Building Custom Android Malware for Penetration Testing” (malicious injection) by IOActive<br>    –"Stealing Sensitive Data from Android Phones - the Hacker Way” (malicious injection) by TCS<br><br>•<b>OWASP community has many projects that allude to M10</b>:<br>    - OpenSAMM;<br>    - BSIMM;<br>    - iGoat;<br>    - ASVS;<br>    - Mitre Project;<br><br>•<b>OWASP’s existing M10 technical content can be easily rephrased to fit this new name</b><br><b></b><br>








<span style="color:rgb(255,0,0)"><font size="4"><span style="font-family:Calibri;font-weight:bold">OWASP Community Has Shown Many Exploit
Paths for “</span><span style="font-family:Calibri;font-weight:bold;font-style:italic">Unauthorized
Code Modification and Disclosure</span><span style="font-family:Calibri;font-weight:bold">”</span>



</font></span><br><br></div>Attack vectors that directly connect to M10 include:<br><u><br>Unauthorized Code Modification, Run-Time Manipulation, or Code Injection:</u><br>method swizzling; method hooking; malware payload insertion; binary patching; application re-signing and re-packaging<br><div><br></div><div><u>Unauthorized Code Disclosure or Leakage:</u><br></div><div>Application decryption; Java/.NET based metadata decompilation; String analysis; Symbol dumping; Static or Dynamic key lifting<br></div><div><br>








<span style="color:rgb(255,0,0)"><font size="4"><span style="font-family:Calibri;font-weight:bold">There Are Many Open Source Tools Available to
Accomplish “</span><span style="font-family:Calibri;font-weight:bold;font-style:italic">Unauthorized Code Modification and
Disclosure</span><span style="font-family:Calibri;font-weight:bold">”
</span>



</font></span><br><br></div><div><b>App Decryption / unpackaging / conversion</b>:<br>Clutch; APKTool; dex2jar<br></div><div><br><b>Static Binary Analysis, disassembly, decompilation:</b> <br>IDA Pro; Hopper<br></div><div>JEB, JD GUI, Baksmali<br></div><div>Class / Symbol / string dumping<br><br><b>Runtime binay analysis: </b><br>GDB, ADB<br></div><div>Introspy, Snoop-in<br><br></div><div><b>Runtime manipulation, hooking, code injection, swizzling, patching:</b><br></div><div>Cydia Substrate, Theos Suite<br></div><div>Cycript, CInject<br></div><div>Hex editors<br><br></div><div><b>Malware / trojan injection:</b><br></div><div>Dendroid, AndroRAT<br><u><br></u></div><div><b>Jailbreak detection evasion:</b><br></div><div>xCon, tsProtector<br><br></div><div><b>Integrated binary modification toolsets:</b><br></div><div>AppUse, Snoop-In, iNalyzer, iRET<br><br>•“Breakers” are already capable of using these tools to accomplish exploits<br><br>•“Builders” and “Defenders” have lacked adequate education about the risks with “Unauthorized Code Modification or Disclosure”<br><br>•<b><u>OWASP has a responsibility to bridge this education gap</u></b><br></div><div><br><br><font size="4"><span style="color:rgb(255,0,0)"><b>








</b><b>“Unauthorized Code Modification and Disclosure” Exploits Can Result in Significant Business Risks</b><b><br></b></span></font></div><br>










<div style="margin-top:0pt;margin-bottom:0pt;margin-left:0.38in"><span style="font-size:18pt"><span></span></span>Unauthorized Code Modification, Run-Time Manipulation, or Injectiion:<br>•Application binaries can be <b>modified</b><br>•<b>Run-time behavior</b> of applications can be altered<br>•<b>Malicious code</b> can be injected or hooked into applications<br></div><br>










<div style="margin-top:0pt;margin-bottom:0pt;margin-left:0.38in"><span style="font-size:18pt"><span></span></span><font><span style="font-family:Calibri;color:black">Unauthorized Code Disclosure or Leakage</span></font></div>    •<b>Sensitive information</b> can be exposed<br>    •Applications can be reverse-engineered back to the <b>source code</b>  <br>    •Code can be lifted and <b>reused or repackaged</b><br><br>Potential Business Consequences:<br>   •Information Loss<br>   •IP Theft<br>   •Piracy<br>   •Revenue Loss<br>   •Fraud<br>   •Brand Damage<div><font size="4"><b><br></b></font><div><div><font size="4"><span style="color:rgb(255,0,0)"><b>Mitigation of “Unauthorized Code Modification and Disclosure”</b> </span> </font><br><br>•Multiple potential mitigation approaches to “Unauthorized Code Modification and Disclosure”<br><br>•These include, for instance:<br>    –Avoid sensitive code on the client-side, while recognizing that this may not be desirable or possible for the optimal functionality and user experience<br>    –Utilize techniques that complicate reverse-engineering and analysis of the client-side code to raise the bar for exploitation<br>    –Utilize techniques inside the app that prevent or detect unauthorized code modification, run-time manipulation, or malicious code injection<br></div></div></div><span></span></div>