一年一度的高考结束了,很多学生即将离开父母,一个人踏入大学生活,但由于人生阅历较少,容易被不法分子盯上。

每年开学季也是大一新生遭受诈骗的高峰期,以下是一些常见的案例。有的骗子会让新生下载注册一些恶意金融应用这些应用可能包含有病毒、木马等程序,也可能是仿冒某些知名软件的应用,犯罪分子通过恶意应用便可盗取手机里的银行卡等个人敏感数据。还有诈骗人员以赠送小礼物或优惠券作为诱饵,引导学生扫码填写个人信息,大一新生往往警觉性较低,不知不觉中就将电话、住址等信息泄露出去,随之而来的便是狂轰滥炸的垃圾电话和短信,若是扫描了含有钓鱼网站链接的二维码,可能会进一步造成隐私数据泄露。更有的犯罪分子打着助学金的名号,让贫困学生登录钓鱼网站填写银行卡密码等,直接造成学生的财产损失。

面对层出不穷的骗术,App需要及时检测出钓鱼网站、恶意应用、风险网络环境等,通过应用内提示引起用户的重视,保障用户的信息安全。那么,有没有什么办法能够多维度增强应用安全能力呢?作为App的开发者,可以为应用集成华为HMS Core 安全检测服务,快速构建应用安全能力,保护学生的个人信息和财产安全,为大一新生步入高校之旅保驾护航。

HMS Core的安全检测服务应用安全检测能力可以帮助App开发者获取所运行设备上的恶意应用列表。对于携带病毒的应用,检测率高达99%,同时还拥有基于行为检测未知威胁的能力。App可根据检测结果,决定是否限制用户在App内支付等操作。

HMS Core的安全检测服务恶意URL检测能力可以判断用户访问的URL是否为恶意网址,对于恶意网址,选择提示或拦截用户的访问风险。

HMS Core的安全检测服务恶意Wi-Fi检测能力检测尝试连接的Wi-Fi及路由器特征,分析当前尝试访问的网络情况,实时反馈Wi-Fi检测结果,当应用获取尝试连接的Wi-Fi存在ARP攻击、中间人攻击、DNS劫持等攻击时,可以阻断操作或者进一步让用户认证确认,帮助防范来自恶意Wi-Fi的恶意行为攻击。

HMS Core安全检测服务还拥有系统完整性检测、虚假用户检测能力,能够帮助开发者快速提升应用安全性,集成过程简单高效,下面是详细的接入教程。

Demo演示

应用安全检测

恶意URL检测

恶意Wi-Fi检测

开发步骤

1 开发准备

详细准备步骤可参考华为开发者联盟官网。

2 应用安全检测API

2.1 调用AppsCheck API

您可直接调用SafetyDetectClient的getMaliciousAppsList获取恶意应用列表:

private void invokeGetMaliciousApps() {SafetyDetectClient appsCheckClient = SafetyDetect.getClient(MainActivity.this);Task task = appsCheckClient.getMaliciousAppsList();task.addOnSuccessListener(new OnSuccessListener<MaliciousAppsListResp>() {@Overridepublic void onSuccess(MaliciousAppsListResp maliciousAppsListResp) {// Indicates that communication with the service was successful.// Use resp.getMaliciousApps() to get malicious apps data.List<MaliciousAppsData> appsDataList = maliciousAppsListResp.getMaliciousAppsList();// Indicates get malicious apps was successful.if(maliciousAppsListResp.getRtnCode() == CommonCode.OK) {if (appsDataList.isEmpty()) {// Indicates there are no known malicious apps.Log.i(TAG, "There are no known potentially malicious apps installed.");} else {Log.i(TAG, "Potentially malicious apps are installed!");for (MaliciousAppsData maliciousApp : appsDataList) {Log.i(TAG, "Information about a malicious app:");// Use getApkPackageName() to get APK name of malicious app.Log.i(TAG, "APK: " + maliciousApp.getApkPackageName());// Use getApkSha256() to get APK sha256 of malicious app.Log.i(TAG, "SHA-256: " + maliciousApp.getApkSha256());// Use getApkCategory() to get category of malicious app.// Categories are defined in AppsCheckConstantsLog.i(TAG, "Category: " + maliciousApp.getApkCategory());}}}else{Log.e(TAG,"getMaliciousAppsList failed: "+maliciousAppsListResp.getErrorReason());}}}).addOnFailureListener(new OnFailureListener() {@Overridepublic void onFailure(Exception e) {// An error occurred while communicating with the service.if (e instanceof ApiException) {// An error with the HMS API contains some// additional details.ApiException apiException = (ApiException) e;// You can retrieve the status code using the apiException.getStatusCode() method.Log.e(TAG, "Error: " +  SafetyDetectStatusCodes.getStatusCodeString(apiException.getStatusCode()) + ": " + apiException.getStatusMessage());} else {// A different, unknown type of error occurred.Log.e(TAG, "ERROR: " + e.getMessage());}}});}

3 恶意URL检测API

3.1 初始化URLCheck API

在使用URLCheck API前,必须调用initUrlCheck方法进行接口初始化,并且需要等待初始化完成后再进行接下来的接口调用,示例代码如下:

SafetyDetectClient client = SafetyDetect.getClient(getActivity());
client.initUrlCheck();

3.2 请求网址检测

指定关注的威胁类型,您可以将关注的威胁类型作为网址检测API的参数。其中,UrlCheckThreat类中的常量包含了当前支持的威胁类型:

public class UrlCheckThreat {//此类型URL被标记为包含潜在有害应用的页面的URL(篡改首页、网页挂马、恶意应用下载链接等)public static final int MALWARE = 1;// 这种类型的URL被标记为钓鱼、欺诈网站public static final int PHISHING = 3;
}

发起网址检测请求,待检测的URL包含协议、主机、路径,不包含查询参数。调用API示例代码如下:

String url = "https://developer.huawei.com/consumer/cn/";
SafetyDetect.getClient(this).urlCheck(url, appId, UrlCheckThreat.MALWARE, UrlCheckThreat.PHISHING).addOnSuccessListener(this, new OnSuccessListener<UrlCheckResponse >(){@Overridepublic void onSuccess(UrlCheckResponse urlResponse) {if (urlResponse.getUrlCheckResponse().isEmpty()) {// 无威胁} else {// 存在威胁!}}
}).addOnFailureListener(this, new OnFailureListener() {@Overridepublic void onFailure(@NonNull Exception e) {// 与服务通信发生错误.if (e instanceof ApiException) {// HMS发生错误的状态码及对应的错误详情.ApiException apiException = (ApiException) e;Log.d(TAG, "Error: " + CommonStatusCodes.getStatusCodeString(apiException.getStatusCode()));// 注意:如果状态码是SafetyDetectStatusCode.CHECK_WITHOUT_INIT,// 这意味着您未调用initUrlCheck()或者调用未完成就发起了网址检测请求,// 或者在初始化过程中发生了内部错误需要重新进行初始化,需要重新调用initUrlCheck()} else {// 发生未知类型的异常.Log.d(TAG, "Error: " + e.getMessage());}}
});

获取网址检测的响应,调用返回对象UrlCheckResponse的getUrlCheckResponse方法,返回List,包含检测到的URL威胁类型。若该列表为空,则表示未检测到威胁,否则,可调用UrlCheckThreat中的getUrlCheckResult取得具体的威胁代码。示例代码如下:

final EditText testRes = getActivity().findViewById(R.id.fg_call_urlResult);
List<UrlCheckThreat> list = urlCheckResponse.getUrlCheckResponse();
if (list.isEmpty()) {testRes.setText("ok");}
else{for (UrlCheckThreat threat : list) {int type = threat.getUrlCheckResult();}}

3.3 关闭网址检测会话

如果您的应用不再使用或长时间不再调用网址检测接口,请调用shutdownUrlCheck方法关闭网址检测会话,释放资源。

SafetyDetect.getClient(this).shutdownUrlCheck();

4 恶意Wi-Fi检测API

4.1 调用WifiDetect API

private void invokeGetWifiDetectStatus() {Log.i(TAG, "Start to getWifiDetectStatus!");SafetyDetectClient wifidetectClient = SafetyDetect.getClient(MainActivity.this);Task task = wifidetectClient.getWifiDetectStatus();task.addOnSuccessListener(new OnSuccessListener<WifiDetectResponse>() {@Overridepublic void onSuccess(WifiDetectResponse wifiDetectResponse) {int wifiDetectStatus = wifiDetectResponse.getWifiDetectStatus();Log.i(TAG, "\n-1 :获取Wi-Fi状态失败\n" + "0 :未连接Wi-Fi\n" + "1 :当前连接的Wi-Fi安全\n" + "2 :当前连接的Wi-Fi不安全.");Log.i(TAG, "wifiDetectStatus is: " + wifiDetectStatus);}}).addOnFailureListener(new OnFailureListener() {@Overridepublic void onFailure(Exception e) {if (e instanceof ApiException) {ApiException apiException = (ApiException) e;Log.e(TAG,"Error: " + apiException.getStatusCode() + ":"+ SafetyDetectStatusCodes.getStatusCodeString(apiException.getStatusCode()) + ": "+ apiException.getStatusMessage());} else {Log.e(TAG, "ERROR! " + e.getMessage());}}});}Log.i(TAG, "Start to getWifiDetectStatus!");SafetyDetectClient wifidetectClient = SafetyDetect.getClient(MainActivity.this);Task task = wifidetectClient.getWifiDetectStatus();task.addOnSuccessListener(new OnSuccessListener<WifiDetectResponse>() {@Overridepublic void onSuccess(WifiDetectResponse wifiDetectResponse) {int wifiDetectStatus = wifiDetectResponse.getWifiDetectStatus();Log.i(TAG, "\n-1 :获取Wi-Fi状态失败\n" + "0 :未连接Wi-Fi\n" + "1 :当前连接的Wi-Fi安全\n" + "2 :当前连接的Wi-Fi不安全.");Log.i(TAG, "wifiDetectStatus is: " + wifiDetectStatus);}}).addOnFailureListener(new OnFailureListener() {@Overridepublic void onFailure(Exception e) {if (e instanceof ApiException) {ApiException apiException = (ApiException) e;Log.e(TAG,"Error: " + apiException.getStatusCode() + ":"+ SafetyDetectStatusCodes.getStatusCodeString(apiException.getStatusCode()) + ": "+ apiException.getStatusMessage());} else {Log.e(TAG, "ERROR! " + e.getMessage());}}});}

了解更多详情>>

访问华为开发者联盟官网
获取开发指导文档
华为移动服务开源仓库地址:GitHub、Gitee

关注我们,第一时间了解 HMS Core 最新技术资讯~

HMS Core安全检测服务如何帮助大学新生防范电信诈骗?相关推荐

  1. java对接华为推送服务_华为HMS Core 4.0版本即将来袭:包含新推送服务

    据官方消息,在12月27日的HUAWEI Developer Groups(简称HDG)大连活动上,华为消费者云服务HMS运营经理透露HMS Core 4.0版本即将上线,由原来的14项增加至24项核 ...

  2. 华为面向全球发布HMS Core 4.0意味着什么?

    作者 | CSDN App ​封图付费下载自图虫 在2020年世界移动通信大会(简称"MWC")宣布取消后,华为迅速调整策略,将原定于在MWC举办的新品发布会,改为线上举行.整个发 ...

  3. HMS Core 携优势亮相华为发布会,与苹果谷歌三足鼎立

    封图付费下载自图虫 在2020年世界移动通信大会(简称"MWC")宣布取消后,华为迅速调整策略,将原定于在MWC举办的新品发布会,改为线上举行.整个发布会仅用了一个小时便介绍了华为 ...

  4. HMS Core电商与游戏行业解决方案,全流程赋能开发者创新

    2021年12月29日,"华为云&华为终端云服务创新峰会2022"在北京柏悦酒店成功举办.华为HMS Core电商与游戏行业解决方案亮相本次峰会的线下展区,为行业开发者们解 ...

  5. HMS Core携手厦门大学打造AR增强现实技术

    HMS Core AR Engine团队联手厦门大学信息学院,与专业学生面对面深度交流行业发展与前沿成果.双方共同编写行业知识教材,引导学生开发AR游戏实践,为未来AR.VR人才培养培育可复制的教学模 ...

  6. 华为智慧金融峰会, HMS Core金融解决方案助力数智金融新生态

    2021年6月3日-4日,以"数智金融,升级有道"为主题的华为智慧金融峰会2021在上海举行,本次峰会聚焦如何共同加速迈入智慧新金融进行探讨.HMS Core参与了本次峰会展岛,并 ...

  7. HMS Core赋能移动金融,为行业注入增长新动力

    2021年3月31日,以"数字化升级,制胜未来"为主题的HMS Core.Sparkle金融创新沙龙在上海举行.沙龙围绕金融数字化发展趋势.金融App的数字化运营等话题进行探讨,并 ...

  8. 民生直销银行终端安全修炼秘籍之HMS Core两大安全能力

    在金融行业数字化转型浪潮下,传统商业银行先后推出手机银行.直销银行等移动金融客户端.作为民生银行"数字金融"的试验田,民生直销银行始终秉承"简单的银行"发展理念 ...

  9. android core apps华为,华为HMS Core 4.0全面上线 让开发者专注于应用创新发

    日前,华为面向全球发布了HMS Core 4.0.HMS Core是华为终端云服务开放能力的合集,汇聚了华为终端芯-端-云能力,包含一整套开放的HMS Apps和HMS Core.HMS Capabi ...

最新文章

  1. java中的数组、队列、堆栈
  2. 三角形描边css,[CSS] tips带有描边的小箭头
  3. java thrift连接池_由浅入深了解Thrift之客户端连接池化
  4. java consul服务发现_分布式项目(七)consul 服务注册与发现
  5. 扩展中断控制器8259实验_「正点原子FPGA连载」第十三章双核AMP实验
  6. 分手后如何忘掉你的前任1
  7. Unstoppable Domains域名使用教程(区块链域名)
  8. ROS发布者(Publisher)和订阅者(Subscriber)的python编程实现(讲解超级详细)
  9. bzoj 3039 玉蟾宫 单调栈
  10. Adobe Illustrator 学习笔记1 跟随Brain Wood的教程
  11. 视频教程-【吴刚】电商活动站设计初级入门标准视频教程-UI
  12. smart 完成安装之前向导中断
  13. ACAD DWG to PDF Converter 9.8.2.4版本更新啦
  14. 数据结构大致包含以下几种存储结构:
  15. ROS与Web交互控制显示
  16. 虹科Automation softPLC | 虹科KPA MoDK运行环境与搭建步骤(2)——MoDK运行环境搭建
  17. SpringBoot(SpringMVC)拦截Druid数据监控页面
  18. ps2改usb接口_DIY轻松把键盘、鼠标PS2接口改造成USB接口
  19. KALI2021安装中文输入法
  20. 为什么Hive中的group by后面不能使用字段别名?

热门文章

  1. 记录 | node运行报错To load an ES module, set “type“: “module“ in the package.json or use the .mjs extens
  2. Python uWSGI部署服务
  3. 吉林大学超星MOOC学习通高级语言程序设计 C++ 实验02 分支与循环程序设计(2021级)(3)
  4. 为什么样本标准差分母为n-1
  5. Linux下用户态mktime实现参考
  6. NNDL 实验四 线性分类
  7. 华为设备MUX VLAN配置命令
  8. python制作阴阳师脚本_python阴阳师脚本如何拿卡
  9. cnn程序流程图_CNN 训练流程
  10. 中研院突破 细胞内物质运输解密