app的安全性(一)

Activity和service的安全性。

  Activity 可以被其他的Activity启动起来。 如果启动该activity的应用不是受信的activity,那么导致的结果是未知的。

  一种情况,你的activity跑到了别的应用的task里面,这样别的应用在返回的时候,就会调用出你的activity。当然了这种情况在某种意义上可以提高用户体验。

  另一种情况,别人通过满足你在Mainfest里面定义的inflate来调用你的activity。

  

   第一种情况的出现是因为在mainfest里面对application或者activity定义了taskAffinity和allowTaskReparenting

<application

  android:taskAffinity=“xxx.xxx”

  android:allowTaskReparenting="true"

<activity android:name="XXXActivity"/>

</application>

   这样应用程序包名为xxx.xxx就可以和你在同一个task里面了,就可掉出你的Activity了。例如应用A和B有相同的taskAffinity,则A启动后,切后台。B启动,在home键的的和时候A就被拉起了。

android:taskAffinity意思是:这个application或者activity定义的Task名为xxx.xxx。如果不定义,则默认为本应用程序的包名。

android:allowTaskReparenting="true"的意思是,该activity或者application可以更改从属task。

因此建议不要设置这两个属性,放置其他应用程序劫持你的task。

第二种情况的出现因为在mainfest里面对activity定义了exported=true

      这个属性的意思就是外面的apk你可以调用我了。至于怎么调用,一般会定义一个filter。如此暴露必然会引起问题规避这样的问题是加校验如:Context.checkCallingPermission()或在mainfest文件里面添加校验android:permission=“com.xxxxx.xxxx”

Provider的安全性

Provider提供数据访问的接口,具有数据的增,删,改,查。所以这种组件自身需要校验更加严格。其中需要以下几种校验:

1    url校验,最基础的校验。

2    permission校验,如果没有定义某一权限,则不予以回复或者给出限定性的结果。(动态+静态)

3    contentValues校验,防止访问没有开放上的数据内容。

Broadcast的安全性

对于广播的接收方来说,如果只接收应用内部的广播,则需要指定android:exported=false,从而和外界app隔离。或者使用本地广播LocalBroadcastManager来提高安全性。

对于广播的发送方来说,为了避免发送信息被劫持或者数据被窃取,需要将接收方写死到类级别。Intent.setClass(My.this, Receive.class)。

驾考APP安全性需求分析可以从以下几个方面考虑: 1. 用户隐私保护:驾考APP需要保护用户的个人信息,包括姓名、身份证号、驾照信息等。在用户注册和登录过程中,应该采用安全的身份验证方式,如短信验证码、指纹识别等。同时,驾考APP需要保证用户信息的机密性和完整性,防止信息泄露和篡改。 2. 数据安全保护:驾考APP需要保护考试题目库、用户考试成绩等数据的安全性。这些数据应该采用加密存储和传输,防止被攻击者窃取或篡改。同时,驾考APP需要保证数据的可靠性和一致性,防止数据丢失或不一致导致的错误。 3. 应用程序安全:驾考APP需要保证应用程序本身的安全性,防止黑客攻击、恶意代码注入等攻击。开发者应遵循安全编码规范,对应用程序进行安全测试和漏洞扫描,及时修补漏洞和升级版本。 4. 网络安全保护:驾考APP需要保证网络通信的安全性,防止网络攻击、拦截和窃听。应该采用安全的通信协议和加密算法,如SSL/TLS协议、RSA算法等,保证通信的机密性和完整性。 5. 服务可用性保证:驾考APP需要保证服务的可用性和稳定性,防止DDoS攻击、服务器故障等导致的服务不可用。开发者应采用负载均衡、容灾备份等技术手段,保证服务的可靠性和稳定性。 综上所述,驾考APP安全性需求是一个系统性的工程,需要从多个方面进行考虑和实现。开发者需要具备安全编码和安全测试的能力,保证应用程序的安全性和可靠性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值