怎么去测试一个app是否存在安全问题?
文章目录:
一、怎么去测试一个app是否存在安全问题?
说说我对安全测试的理解。全部基于工作中积累的经验,跟各位知友分享。
首先,个人认为经过安全测试后的App,并不是说它就是一定是安全的;只能说减少了一些已知的安全问题,降低了它的安全风险,提高了App被调试分析以及破解的门槛。那么一般如何去进行安全测试呢?
安全测试一般分为动态功能测试和静态测试。
动态功能测试一般从App自身的内容出发,来进行测试内容的整理。
从应用内容出发,例如App内有提供帐号登录的功能,那么,
请问是否有对登录的帐号密码保存在手机本地,
又问是否对与服务器端的交互封包提供了加密处理;
交互封包中的帐号密码是否也有处理;
再问是否对加密的密钥进行隐蔽的保存;
并且误帐号或密码的登录次数是否有限制等。
可以看到整个流程是,从应用本身的功能点出发,而引发的一系列测试内容。而这种类型的安全测试,也更多的像是需要测试人员对App在进行安全攻击,然后确认其安全性。
可以看到在整个测试过程中,更多的是需要人工参与,无法进行自动化测试的功能。
如果说以上和应用内容相关测试为动态功能测试,那么再来看看静态测试。
静态测试主要测试些什么呢?
再看上面的测试逻辑,请问如何知道封包是否加密呢?可以通过调试分析App进程。
那么怎样的App可以或者更容易被调试分析和破解呢?这就涉及到Apk本身的很多配置。例如在Apk的AndroidManifest.xml文件内,有android:debuggable=“false”这样的标志位。并且由于Apk底层都是使用Java,其本身很容易被反编译获得源码,这样可以更进一步的分析应用的漏洞点。所以从这个方面想,是否应该需要对Java的dex文件进行保护或者混淆。
综上,可以看到静态测试更多的是在Apk文件本身的层面进行,因此它具有通用性。而且更重要的是,这部分测试内容更适合于自动化测试。
针对App的静态测试,自动化测试工具:WeTest腾讯质量开放平台(wetest.qq.com),可以扫描出一部分安全问题。更多的功能性问题,还是需要人工去排查发现。
以上,共同进步,祝好!
二、最受欢迎的软件安全性测试工具有哪些?
优测为企业提供API全生命周期质量解决方案、压力测试、兼容性测试、移动应用自动化测试、WebUI自动化测试等多样化测试产品。同时,优测也为客户提供专家服务、测试平台私有化部署等服务。迄今为止,优测已服务数十万客户,跨金融、智慧交通、互联网、IoT等多个行业。
之前在做 国内软件测试现状调查 之时,因为安全性测试工具太多,结果显示其分布比较广,填写“其它”占的比重很高(66%),为此专门做了一个调查 ,虽然收集的有效反馈不多(不到100),但基本反映了测试工具的使用现状。
1. 从总体看,(静态的)代码分析工具和(动态的)渗透测试工具应用还是比较普遍 ,超过60%,而且渗透测试工具(73.68%)略显优势,高出10%。模糊测试工具,可能大家感觉陌生,低至16%,但它在安全性、可靠性测试中还是能发挥作用的。从理论上看,代码分析工具应该能达到95%以上,因为它易用,且安全性已经是许多公司的红线,得到足够重视。 希望以后各个公司能够加强代码分析工具和模糊测试工具的应用。
2. Java代码安全性分析工具前三名是 : IBM AppScan Source Edition(42.11%)、Fotify Static Code Analyzer(36.84%)、Findbugs(26.32%) ,而JTest、PMD等没进入前三名,虽然和第3名差距不大,只有5%左右。也有公司使用Checkmarx,不在此调查中。Coverity也支持Java,可能Java的开源工具较多,人们很少用它。
3. C/C++代码安全性分析工具前三名是 : C++Test(38.89%)、IBM AppScan Source Edition(38.89%)、Fotify Static Code Analyzer(27.78%)、Visual Studio(27.78%) 。Coverity、CppCheck、LDRA Testbed 没能进入前三名,可能LDRA Testbed比较贵,关键的嵌入式软件采用比较多,而Coverity Cloud针对Github等上面的代码有免费服务(https://scan.coverity.com/projects/cloud-dirigible),大家可以尝试应用。
4. JavaScript代码安全性分析工具应用最多的是 Google's Closure Compiler,其次是JSHint,也有的公司用Coverity来进行JS的代码分析。
5. Python代码安全性分析工具应用最多的是Pychecker ,其次是PyCharm,而Pylint使用比较少,也有几个公司用Coverity来进行Python的代码分析。
6. Web应用安全性测试的商用工具中,IBM AppScan异军突起 ,高达70%的市场,其它商用工具无法与它抗衡,第2名SoapUI和它差距在50%以上,HP webInspect 不到10%。
7. Web应用安全性测试的开源工具中,Firebug明显领先 ,将近50%,比第2名OWASP ZAP高12%,第三名是Firefox Web Developer Tools,超过了20%。
8. Android App的安全性测试工具中,Android Tamer领先 ,将近30%,比第2、3名AndroBugs、Mobisec、Santoku高15%左右。也有用其它不在调查项中的工具,总体看,Android App安全性测试工具分布比较散。
9. 网络状态监控与分析工具中,Wireshark遥遥领先,超过70%。 其次就是Tcpdump、Burp Suite,占30%左右。网络状态监控与分析工具挺多的,但从这次调查看,越来越集中到几个工具中,特别是Wireshark功能强,覆盖的协议比较多,深受欢迎。
10. SQL注入测试工具排在前三位的:SQLInjector、SQL Power Injector、OWASP SQLiX, 三者比较接近,差距在6%左右。其它两项工具Pangolin、SQLSqueal也占了10%,而Antonio Parata、Blind SQL Injections、Bsqlbf-v2、Multiple DBMS Sql Injection、Sqlninja几乎没什么人用。
安全性测试工具很多,还包括黑客常用的一些工具,如暴力破解口令工具、端口扫描工具、防火墙渗透工具、渗透测试平台等。从某种意义看,它们超出软件范畴,更多属于网络空间安全、密码学等范畴,在此就不展开了。概括起来最受欢迎的软件安全性测试工具有:
到此,以上就是小编对于应用安全测试的问题就介绍到这了,希望介绍关于应用安全测试的2点解答对大家有用。
Amysql_youhua_articlehuaunyuan($article);