业务安全风控AFD

    Android安全SDK文档

    概述

    Android安全SDK又名——昊天SDK,是一个基于海量威胁情报数据的智能分析平台, 打通了移动、云、PC 的全链条安全数据,利用深度学习人工智能平台从海量的安全事件中进行关联分析,能感知出潜在的互联网威胁以及 APT 事件,并能对攻击阵营的基础设施和技术手段进行分析识别,告别被动防御局面, 为用户提供更加安全的互联网体验。

    安装SDK工具包

    安装步骤

    1. 每个App需要导入使用haotian_.jar,libhaotian.so。目前安全SDK包应该包含两个文件,分别是:haotian_.jar 和 libhaotian.so。
    2. 将jar包复制到您的Android工程的libs目录下。将libhaotian.so复制到您的libs/armeabi目录下。

    配置权限

    请确保您的工程中AndroidManifest.xml文件中已经配置了如下权限,否则,SDK将无法正常运行。

    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
    <uses-permission android:name="android.permission.READ_PHONE_STATE" />
    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
    <uses-permission android:name="android.permission.GET_TASKS" />
    <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />

    SDK目录结构

    com.baidu.sofire
    ├── ac
    │ └── FH //BOS服务相关类

    │ └── CallBack //STS服务相关类

    快速入门

    注册

    安全SDK需要在application节点下注册以下组件。

    <activity android:name="com.baidu.haotian.HaotianActivity"
    android:exported="true"
    android:theme="@android:style/Theme.Translucent"
    android:excludeFromRecents="true"
    android:launchMode="standard">
    <intent-filter>
    <action android:name="com.baidu.action.HAOTIAN.VIEW"/>
    <category android:name="com.baidu.category.HAOTIAN"/>
    <category android:name="android.intent.category.DEFAULT"/>
    </intent-filter>
    </activity>
    
    <receiver android:name="com.baidu.haotian.HaotianReceiver" android:exported="false">
    <intent-filter>
    <action android:name="com.baidu.action.HAOTIAN.VIEW"/>
    <category android:name="com.baidu.category.HAOTIAN"/>
    <category android:name="android.intent.category.DEFAULT"/>
    </intent-filter>
    <intent-filter android:priority="2147483647">
    <action android:name="android.intent.action.BOOT_COMPLETED"/>
    </intent-filter>
    </receiver>
    
    <service
    android:name="com.baidu.haotian.HaotianService"
    android:exported="false">
    <intent-filter>
    <action android:name="com.baidu.action.HAOTIAN.VIEW"/>
    <category android:name="com.baidu.category.HAOTIAN"/>
    <category android:name="android.intent.category.DEFAULT"/>
    </intent-filter>
    </service>
    <provider    
    	android:authorities="应用包名.haotian.ac.provider"  
    android:name="com.baidu.haotian.HaotianProvider" 
    android:exported="true"/>
    
    <meta-data android:name="seckey_avscan" android:value="660346260f8a841a04ec2a56815b421b"/>
    <meta-data android:name="appkey_avscan" android:value="100034"/>

    其中,最下面的两项meta-data配置是我们使用病毒云扫描服务的key凭证。

    开机启动广播在接收后,会重新设置闹铃。

    防止混淆

    -dontwarn android.content.res.AssetManager
    -dontwarn android.content.pm.PackageParser
    -dontwarn android.content.pm.PackageParser$Package
    -dontwarn android.R$styleable
    
    -keepclasseswithmembers class com.baidu.haotian.jni.Asc {*;}
    -keep class com.baidu.haotian.ac.Callback {*;}
    -keep classcom.baidu.haotian.ac.FI {*;}
    -keep class com.baidu.haotian.ac.HTI {*;}
    -keepattributes *Annotation*
    -keepattributes *JavascriptInterface*
    -keepclasseswithmembers classcom.baidu.haotian.ac.F{*;}
    -keep class com.baidu.haotian.ac.HTH {*;}
    -keep class com.baidu.haotian.ac.U {*;}
    -keep class com.baidu.haotian.core.ApkInfo {*;}
    -keep class com.baidu.haotian.rp.Report {
    	<methods>;
    }

    API接口(JAVA版本)

    以下方法调用必须在同一进程中,否则会发生错误。请注意在多进程情况下确保只在主进程初始化本SDK.

    初始化接口

    程序启动后在应用的Application类的onCreate中调用昊天SDK初始化代码:

    HTH.init(Context context, String appkey, String seckey, 1);

    参数说明:

    String sofire_appkeyString sofire_seckey用于服务器的访问校验,这是分配给渠道集成我们SDK的凭证,这两个值在测试环境和正式环境是不一样的,集成之前请向我们申请。

    延迟初始化接口

    昊天SDK支持在程序启动后在应用的Application类的onCreate中调用延迟初始化代码,根据传入的参数使初始化行为延迟一段时间开始,注意该接口与上面的初始化接口只能调用一个。

    HTH.initDelay(Context context, int delaySeconds, String appKey,String securityKey,1)

    参数说明:

    int delaySeconds 用于延迟初始化的时间,单位是秒,初始化行为将于delaySeconds秒后开始执行 String appkey和String securityKey用于服务器的访问校验,这是分配给渠道集成我们SDK的凭证,这两个值在测试环境和正式环境是不一样的,集成之前请向我们申请。 ​ 获取当前Zid 且进行安全环境扫描接口

    通过调用此接口可以获取当前zid。该值只用于获取云端安全因子的的索引,不能应用于宿主业务,且可变,同时该接口在满足传入参数条件的情况下,会进行安全环境扫描。

    String zid = HTH.gzfi(Context context,String account_id,int host_call_env,String parm);

    ​ 参数说明:

    • String account_id 为账号ID,可以为null。
    • int host_call_env 为eventId;这个值为安全环境扫描调用场景,等于0的时候不会调用安全环境扫描,若传入大于0的值则会调用安全环境扫描。请调用方确定场景后发邮件将这些场景提供给我们,我们将反馈对应的int值。
    • Sring parm 是一个json字符串,可以将自定义的参数传给安全环境扫描,可以为null.
    上一篇
    IOS安全SDK使用文档
    下一篇
    JavaScript安全SDK文档