android安全机制分析

2024-07-04

android安全机制分析(精选12篇)

android安全机制分析 第1篇

Andoid安全机制包括两个层次:系统层和应用层。应用层的安全机制建立在授权与申请基础上,本文不讲。系统层的安全机制包括给每个用户进程分配单独的uid和gid,使用进程本身可以防止地址空间的共享,从而避免使用线程方式对数据的全局可见性。使用了uid则对于外存也加了封锁,当然这得感谢UNIX的用户空间机制。系统层安全机制还包括对设备访问的控制,在这个方面,Android的做法与传统有所不同。

Android除了给予用户进程以单独的uid外,给系统服务也分配了固定的uid,诸如system/core/include/private/android_filesystem_config.h文件中定义了这些固定的uid:

#define AID_SYSTEM1000

#define AID_RADIO1001

#define AID_BLUETOOTH1002

#define AID_GRAPHICS1003

#define AID_INPUT1004

#define AID_AUDIO1005

#define AID_CAMERA1006

#define AID_LOG1007

..........传统的做法是,出了root,其它全是普通用户,两类用户的权限在内核里是规定死的,这也保证了UNIX内核的安全性。比如dev目录下的设备文件,一般用户主是root,而且对其他用户不开放读写能力。用户使用设备一般通过系统调用如ioctl,而系统调用属于受信代码。

Android的问题是,引入的这些系统用户,实际上在权限方面是无法与普通uid区分的,如果系统用户能访问一个设备,那么一般用户也能。所以,Andoid没有别的选择,只能默认开启设备文件的全局读写。这在systemcore/init/device.c做了定义:

{ “/dev/urandom”,0666,AID_ROOT,AID_ROOT,0 },{ “/dev/ashmem”,0666,AID_ROOT,AID_ROOT,0 },{ “/dev/binder”,0666,AID_ROOT,AID_ROOT,0 },设备文件当然还是存放于/dev目录下,但dev目录的填充不是由udev做的,而是由Android的init进程做的。这个步骤由make_device函数完成,各个设备的权限来自于上述device.c文件的规定。

这种设备权限分配的潜在危险是,任何用户进程都可以操作设备,如果底层设备驱动有漏洞,那么整个系统的安全性就是存在风险的,而UNIX系统最大的安全隐患,正是来自于设备驱动。

android安全机制分析 第2篇

长期以来,都有这么一个说法,listview 会自动把不可见的view进行回收,但是长期以来,我都没看到有人对其回收机制进行分析说明

回收执行者:RecycleBin

我们回到之前看过的AbsListView.class

obtainView()(2130-2197)

你会看到一个

mRecycler的变量。

android安全机制分析 第3篇

1 Android系统架构

现阶段的Android系统的整体架构主要分为以下4个层次。

第一, 应用程序层Applications。这是Android OS的用户应用层, 主要包括了一系列核心应用程序包。这些应用程序主要是通过Java语言进行编写并在虚拟机上运行相关程序, 例如Email客户端、SMS短消息程序以及相关浏览器等。

第二, 应用程序框架层Application Framework。这是Android平台专门针对相关应用程序而开发设计的, 应用程序框架也是通过Java语言编写的, 是一种允许相关开发人员完全访问的核心应用程序所使用的一种API框架, 这也是开发者研发Android的基础内容。该层主要由View、通知管理器以及活动管理器等由开发人员直接调用的相关组件组成。

第三, 本地库及运行环境Libraries (核心库) 和Android Rutime (虚拟机) 。Android是建设在Linux内核之上的, 这是一套C/C++库, 主要被上层的不同系统组件调用。在Android应用程序内通过Java本地调用 (JNI) 实现合并相关库。Android的主要运行环境包括Libraries以及Android Rutime两个部分。核心库主要是通过Java语言进行编写, 并提供Java 5 SE包的子类以及Android特有相关库。Android Rutime主要通过运行.dex (Dalvik-executable) 文件, 这是一种被认为相对于Java类文件更加节省内存的文件。

第四, Linux内核层Linux Kernel。Android系统的内核为Linux 2.6, 主要是提供安全性服务、驱动服务、进程管理服务、内存管理服务以及网络协议栈等核心系统服务。

2 Android安全机制分析

第一, Android的系统安全机制。Android系统在建设之初采用的就是定制的Linux 2.6的内核, 其系统主要是利用Linux 2.6的安全机制来保障与实现的。Linux 2.6版的内核又逐渐加入了安全模块的相关安全机制, 用来提升Linux系统的整体安全性能, 进而有效提供相关核心服务。Android系统中运行的相关应用软件都是在Dalvik基础上的Java软件, 而Dalvik主要是在Linux中运行, 在此系统的线程以及低内存管理等方面的底层功能管理相关方面, Dalvik虚拟机主要是依赖Linux内核开展相关工作的。在Linux 2.6中, 可以抢占内核, 增强实时性, 但是在内核中还是存在着一定的不可抢占区域, 如果现阶段的任务在内核态, 即便是有更加紧急的任务要实施, 也不会抢占现阶段运行的任务, 所以说, 在很大程度上, 抢占延迟具有一定的不稳定以及不确定性。

第二, Android系统的数据安全机制。在Android的数据安全机制中, 主要包含用户标识以及权限许可两种类型, 相关应用层的安全机制主要是根据这两个安全标示实现的。首先, 用户标示简称为UID。在Android系统中, 任何一个程序都会有属于自己的Linux用户ID, 并且通过构建沙箱的方式, 避免与其他程序互相产生影响。其次, 权限许可又称为Permission。是Android系统为了保证整体安全设置的安全标示, 也是相关程序开展特定操作的基础。在Android系统上的应用程序没有相关的权限, 就表明不可以开展用户未允许的相关数据操作。虽然Android系统现阶段的安全机制取得了良好的效果, 但是在实践应用过程中, 还是存在着基于硬件的相关攻击、基于Linux内核的相关攻击、基于系统核心程序的相关攻击以及基于应用程序的相关攻击。

3 Android安全机制的解决方案分析

上文已对Android安全机制进行了详细分析, 我们了解了安全机制存在的相关问题, 因此, 在今后的安全维护过程中, Android系统的安全防护就不应单纯局限于相对单一的攻击方式, 要在硬件以及相关应用程序的不同层次与范围开展相关防护工作。

第一, HIDS (Host-based Intrusion Detection System) 。在主机的基础上开展的入侵检测系统主要包括异常检测 (Anomaly Detection) 以及基于知识的时间抽象方法 (Knowledge-based Temporal Abstraction) 。异常检测就是指入侵检测系统框架持续采样的相关各系统参数指标, 利用机器学习 (Machine Learning) 以及时序推理 (Temporal Reasoning) 的方法采集与分析数据。利用收集系统的相关参数指标, 对已知的相关恶意软件引发的系统参数指标开展对比, 通过相同点的检测, 就可以有效发现之前没有遇到过的各种恶意软件。而基于知识开展的时间抽象方法就是指通过使用KBTA, 综合时间抽象的相关知识, 对相关数据与事件进行持续测量, 进而对面向时间的初始安全数据抽象, 获得更加高层次的、具有意义的相关概念与模式。

第二, SELinux (Security-Enhanced Linux) 。SELinux是一种在“域-类型”的模型基础上, 开展强制访问以及控制的安全系统, 也是一种混合方式的安全性策略。将安全性策略的相关逻辑以及通用接口共同封装在独立操作的系统安全服务器之中, 利用替换安全服务器的方式, 可以有效开展目标以及严格两种安全策略。目标策略主要是针对一部分系统网络服务以及进程执行SELinux策略。严格策略则是通过执行全局内的NSA默认策略的方式, 对几乎所有的相关网络服务进行全面控制。

4 结语

Android系统是现阶段应用最为普遍的一种智能终端操作系统, 因为自身的开放性特点, 其在操作过程中, 对于安全机制有着严格要求。虽然Android系统不同层次的安全机制设计始终贯穿在整个Android系统的架构不同层面之中, 但是还是无法避免各种安全隐患问题。因此, 要通过提高Android系统的自身安全性、提高用户操作智能终端的整体安全意识、加强对Android的恶意软件检测技术研究等方式, 有效提高Android系统整体安全性。

摘要:在信息时代, 各种智能手机、平板电脑等基于网络技术的智能终端迅速在人们的生活中普及开来。这些智能移动终端的共同特点就是拥有相对独立的操作系统, 可以给人们的生活带来更多的便捷。但是事物都是具有两面性的, 我们在享受智能给生活带来的便利的同时, 也要对其存在的安全隐患予以足够的重视。在这些智能终端的操作系统中, Android系统所占有的市场份额相对较大。因此, 主要对Android的安全机制进行详细分析。

关键词:Android,安全机制,异常检测

参考文献

[1]廖明华, 郑力明.Android安全机制分析与解决方案初探[J].科学技术与工程, 2011 (26) :6350-6355.

[2]狄婧.Android安全机制分析与解决方案探析[J].硅谷, 2011 (24) :12.

android安全机制分析 第4篇

关键词:Android;异步机制;移动投票

中图分类号:TP391 文献标识码:A 文章编号:1674-7712 (2012) 06-0093-01

在省级项目《吉林地区大学生网络应用状况的研究与对策》的调研过程中,发现在大学生中,智能手机的应用已经相当普遍。智能手机以其功能强大丰富和小巧易携等优点,已经超越了简单通讯工具的范畴,很多学生通过智能手机进行沟通交流、学习和娱乐,智能手机已经成为广大学生的不可或缺的贴身伴侣。在对学生的网络应用状况进行调查的时候,项目组认识到通过手机进行调查,将能够更加方便的让学生进行投票,也能够更加容易的获得调查结果,因此项目组决定尝试开发基于Android智能手机的移动投票系统,作为最新的数据统计渠道。

Android系统的市场占有率达70%以上,在大学生中更是首选,基于Android系统的移动投票系统,基本可以覆盖大部分的学生。为了避免因为移动网络带宽有限,而导致大量学生同时投票时,出现网络访问不畅、无法投票和无法实时查看投票结果的情况,应在投票系统中采用异步处理机制,以保证投票的实时性和准确性。在Android中提供了专门的AsynTask类进行异步处理,Asyntask机制简单易用,它将所有的线程通信都封装成回调函数,调用逻辑清晰,尤其是在异步处理结束之后,有回调函数进行收尾处理,方便进行结果的统计和输出。本文将通过实例对Android系统的AsynTask类的一部处理机制进行深入分析,以便更好的应用于移动投票系统。

一、AsynTask类的结构

AsynTask类直接继承自java.lang.object类,主要用到的几个内部回调函数有:doInBackGround()、onPreExecute()、onPostExecute()和onProgressUpdate(),正是这几个回调函数构成了AsynTask类的使用逻辑结构。

二、回调逻辑关系

1.主线程调用AsynTask子类实例的execute()方法后,首先会调用onPreExecute()方法。

2.之后启动新线程,调用doInBackground()方法,进行异步数据处理。

3.处理完毕之后异步线程结束,在主线程中调用onPostExecute()方法。

三、各个函数间数据的传递

其数据传递关系如下:

由execute()方法向doInBackground()传递,doInBackground()方法的返回值会传递给onPostExecute()方法。publishProgress()方法向progressUpdate()方法传递。

传递的数据的类型应该为数组,数组都是可变长的,应根据具体情况使用。

四、AsynTask机制的java实现代码

public class AnsyTestActivity extends Activity {

TextView text =null;

Button button=null;

String str=null;

AnsyTry anys=null;

double result=0;

@Override

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.main);

text=(TextView) findViewById(R.id.text);

button=(Button) findViewById(R.id.button);

str="wei";

button.setOnClickListener(new OnClickListener() {

@Override

public void onClick(View v) {

anys=new AnsyTry(text);

anys.execute(str); } }); }

class AnsyTry extends AsyncTask{

TextView te=null;

public AnsyTry(TextView te) {

super();

this.te = te; }

@Override

protected Double doInBackground(String... params) {

double dou=0;

if(params[0].equals("wei")){

System.out.println(Thread.currentThread().getName()+"recive wei");

dou=100; }

publishProgress(te);

return dou; } }}

通過AsynTask异步机制的应用,移动投票系统在应用中表现良好。在接受学生集中投票和实时统计分析的数据高峰期,AsynTask异步机制很好的将投票和查看统计结果的功能,分配给不同的线程,从而避免了网络堵塞情况的发生,保证了投票数据的及时性和准确性。

参考文献

[1]杨丰盛.Android应用开发揭秘[M].北京:机械工业出版社

android安全机制分析 第5篇

广播事件处理机制是系统级别的,可以通过构建Intent 对象 然后调用sendBroadcast()方法将广播发出。事件的接受是通过定一个继承BroadcastReceiver的类来实现的,继承该类后覆盖onReceiver()方法,在该方法中响应事件。

以下内容包括:自己定义BroadcastReceiver来处理广播事件、系统广播事件的使用、Notification和NotificationManager的使用

1.自己定义BroadcastReceiver:

a.利用按钮点击发送广播 按钮的onClick()中:

…..// 定义一个Action常量

private static final String MY_ACTION = “com.hunsion.action.MY_ACTION”;// 此常量跟

中的属性相对应.

………

public void onClick(View v){

}

b.自定义BroadcastReceiver 如下:

继承至 BroadcastReceiver

public class MyReceiver extends BroadcastReceiver{

@Override//覆盖了onReceive方法 public void onReceive(Context cxt, Intent intent){// 从Intent中获得信息 // 实例化Intent对象 Intent intent = new Intent();// 设置Intent action属性 intent.setAction(MY_ACTION);// 为Intent添加附加信息 intent.putExtra(“msg”, “msg”);// 发出广播 sendBroadcast(intent);

}} String msg = intent.getStringExtra(“msg”);// 使用Toast显示 Toast.makeText(cxt, msg, Toast.LENGTH_LONG).show();

C 如果要使用系统广播事件

则同样要继承BroadcastReceiver 并覆盖onReceive()方法,这里不需要自己构建Intent对象 只是在 配置时使用系统的广播事件,如下:

其中android.intent.action.BOOT_COMPLETED 指的是 系统启动完成的广播事件

常见的标准的广播Action常量:有

android.intent.action.BOOT_COMPLETED系统启动完成android.intent.action.ACTIOPN_TIME_CHANGED时间改变

android.intent.action.ACTIOPN_DATE_CHANGED系统日期改变

android.intent.action.ACTION_TIMEZONES_CHANGED时区改变

android.intent.action.ACTION_BATTERY_LOW电量低

android.intent.action.ACTION_MEDIA_EJECT插入或者播拔出外部媒体

android.intent.action.ACTION_MEDIA_BUTTON按下媒体按钮

android.intent.action.ACTION_PACKAGE_ADDED添加包

android.intent.action.ACTION_PACKEAGE_REMOVED删除包

2.使用Notification和NotificationManger 显示广播消息方法比较简单 一般先获得

NotificationManger,然后实例化Notification 设置其属性,通过

NotificationManger发送通知。

基本步骤为:

a.获得NotificationManager

private NotificationManager nm =

(NotificationManager)getSystemService(NOTIFICATION_SERVICE);

b.实例化Notification对象

Notification n = new Notification();

// 设置显示图标,该图标会在状态栏显示

/*也可以通过这个构造方法来设置 Notification n = new

Notification(icon,tickertext,when);*/

int icon = n.icon = R.drawable.happy;

// 设置显示提示信息,该信息也会在状态栏显示

String tickerText = “aaaaaaa”;

// 显示时间

long when = System.currentTimeMillis();

n.icon = icon;

n.tickerText = tickerText;

n.when = when;

c.调用setLatestEventInfo()方法 在视图中(非状态栏)设置图标和时间。并发出通知、// 实例化Intent

Intent intent = new Intent(MainActivity.this, MainActivity.class);// 获得PendingIntent

PendingIntent pi = PendingIntent.getActivity(MainActivity.this, 0, intent, 0);

// 设置事件信息

n.setLatestEventInfo(MainActivity.this, “My Title”, “My Content”, pi);// 发出通知

nm.notify(ID, n);

// ID 可以理解为给每个通知一个固定的编号,所以如果我们想取消某个通知。可以调用 nm.cancel(ID);

另:我们可以为Notification对象设置很多其他属性用来进行提示。例如:设置上声音。振动和闪光灯。

a.提示音:

n.defaults |=Notification.DEFAULT_SOUND;

n.sound = Uri.parse(“file:///sdcard/sound.mp3”);//本地声音

n.sound = Uri.withAppendedPath(Audio.Media.INTERNAL_CONTENT_URI,”6”);b.振动

n.defaults |=Notification.DEFAULT_VIBRATE;

long[] vibrate = {0,50,100,150};

n.vibrate = vibrate;

c.闪光灯

n.defaults |=Notification.DEFAULT_LIGHTS;

n.ledARGB = 0xff00ff00

n.ledOnMS = 300;

n.ledOffMS = 1000;

android安全机制分析 第6篇

Looper的loop方法,取出消息,然后调用Message对象中的handler的dispatchMessage方法,dispatchMessage根据callback是否为空执行handleMessage方法。

流程图如下:

Android安全性问题总结 第7篇

本地SharedPreferences保存信息要加密

统一日志输出开关控制(开发测试日志输出打开,版本正式上线日志输入关闭)正式包需要混淆打包

app与服务器交互接口参数以及返回数据需要进行数据加密 app与服务器交互接口需要有token过期失效机制 声明适当的manifest权限

android安全机制分析 第8篇

1 Android安全体系结构

操作系统的安全性目的就是为了保护移动设备软件、硬件资源,包括CPU、内存、外部设备、文件系统和网络等。Android系统为了安全性,提供如下主要安全特征:操作系统严格的分层结构、应用沙盒、安全进程通信、授权和签名等。Android作为开放平台, 它的设计和实现细节完全暴露,因此对安全性要求更加严格,设计时首先要重点考虑的就是平台结构设计问题,Android系统的体系结构设计为多层结构[2],如图1所示。这种结构在给用户提供安全保护的同时还保持了开放平台的灵活性。

Android系统结构由4层组成,从上到下分别是:应用层(Applications)、应用框架层(Application Framework)、运行时(Android Runtime)、类库层(Libraries)和Linux内核(Linux Kernel)组成。应用层由运行在Android设备上的所有应用构成,包括预装的系统应用和用户自己安装的第三方应用。大部分应用是由Java语言编写并运行在Dalvik虚拟机中;另一部分应用是通过C/C++语言编写的本地应用。不论采用何种编程语言,两类应用运行的安全环境相同,都在应用沙箱中运行。应用框架层集中体现Android系统的组件设计思想。框架层由多个系统服务(System Service)组成。Android应用由若干个组件构成,组件和组件之间的通信是通过框架层提供的服务集中调度和传递消息实现的,而不是组件之间直接进行的。框架层协调应用层的应用工作提升了系统的整体安全性。类库层主要由类库和Android运行时两部分组成。其中类库由一系列的二进制动态库构成,大部分来源于优秀的第三方类库,另一部分是系统原生类库;通常使用C/C++语言开发。Android运行时由Java核心类库和Android虚拟机Dalvik共同构成。Java核心类库包括框架层和应用层所用到基本Java库。Dalvik是为Android量身打造的Java虚拟机,它与标准Java虚拟机(JVM) 主要差别在于Dalvik是基于寄存器设计的,而JVM是基于数据栈的,前者能够更快的编译较大的应用程序。Dalvik允许在有限的内存中同时运行多个虚拟机的实例,每一个Dalvik应用作为一个独立的Linux进程执行,可防止在某一虚拟机崩溃时所有应用都被关闭。最后一层是Linux内核层,该层提供核心系统服务包括安全、内存、进程、网络和设备驱动等功能。

2系统内核安全

在操作系统层Android充分利用已有的Linux内核安全机制,并在此基础上进行改进如应用沙盒和安全IPC(inter-process com- munication,进程通信),这些安全机制可以保证即使本地代码程序也被限制在应用沙盒中安全运行。2.1 Linux安全性

2.1 Linux安全性

Android平台的基础是Linux内核。Linux操作系统经过多年的发展,已经成为一个稳定的安全的被许多公司和安全专家信任的安全平台[3]。作为移动平台的基础,Linux内核为Android提供了如下安全功能:基于用户授权的模式、进程隔离、可扩展的安全IPC和移除不必要的不安全的内核代码。作为多用户操作系统,Linux内核提供了相互隔离用户资源的功能。通过隔离功能,一个用户不能使用另一个用户的文件、内存、CPU和设备等。

2.2应用沙盒

Android平台把Linux基于用户的授权模式作为标识和隔离应用程序资源的方式。系统为每个应用分配一个用户ID(UID), 并在该设备上一直保持这个数值;运行时,把应用当作编号为UID的用户在一个单独的进程运行。简而言之,Android系统中一个UID对应一个进程。这一点与其它操作系统不同,在其它操作系统中,一个UID可以拥有多个进程。Android采用这种方式作为内核层的应用沙盒(Application Sandbox)。通过分配UID给应用程序这种方式,增强了系统的安全性。默认情况下,应用之间不能相互操作,应用访问操作系统的功能也受到限制。例如,在没有授权的情况下应用A想要读取应用B的数据或想要使用电话功能都会被操作系统拒绝。由于应用沙盒位于内核层,所以这种安全模式可以作用到图1所示的Linux内核之上的所有层。在有的平台上,为了增强安全性,开发者被限制在指定的开发框架、API集或开发语言上。但在Android平台中,采用C/C++与采用Java编写的应用其安全性都一样,因为最终都运行在沙盒中。在有的操作系统中内存错误会导致系统安全性降低。但在Android中由于应用及其数据存在于沙盒中,内存错误至多影响当前应用而不会影响其它应用。

2.3 文件系统许可/加密

在Linux环境中,文件系统许可(permission )可以保证一个用户不能修改或读取另一个用户的文件。Android系统中每个应用都分配一个用户ID,应用作为一个用户存在,因此除非开发者明确指定某文件可以供其它应用访问,否则一个应用创建的文件其它应用不能读取或修改。文件系统加密功能可以对整个文件系统进行加密。内核利用dm-crypt技术创建加密文件系统。dm- crypt技术是建立在Linux内核2.6版本的device-mapper特性之上的。device-mapper是在实际的块设备之上虚拟层可以方便开发人员实现镜像、快照、级联和加密等处理。为了防止系统口令攻击(例如通过彩虹表或暴力破解等方法),口令采用SHA1加密算法进行保存。为了防止口令字典攻击,系统提供口令复杂性规则,规则由设备管理员制定,由操作系统实施。

2.4 其它

内核安全措施还包括丰富的数据加密函数、内存安全管理增强、刷机时保护用户数据等。Android系统为应用开发提供了一组实现加密功能的API函数,包括标准的加密算法[4]如AES, RSA, DSA, 和SHA等;及更高层的安全网络协议如SSL和HTTPS。据统计,操作系统中超过50%的安全漏洞都是由内存溢出引起的。为此,Android系统提供的SDK、编译器和工具可以增强保护内存的力度,更大程度防止内存溢出。随着更高版本的Android系统推出,内存管理的功能也不断增强,包括ProPolice、safe_iop、增强的dlmalloc、Address Space Layout Randomization (ASLR) 、PIE (Position Independent Executable)、dmesg_restrict等。其中ASLR是一种针对缓冲区溢出的安全保护技术,通过对堆、栈、共享库映射等线性区布局的随机化增加攻击者预测目的地址的难度,防止攻击者直接定位攻击代码位置,达到阻止溢出攻击的目的。ASLR可以有效的降低缓冲区溢出攻击的成功率。

3 Android应用安全

Android系统为移动设备提供了一个开源的平台和应用程序开发环境。通常程序开发语言采用Java,并运行在Dalvik虚拟机中,对于游戏等性能要求较高的程序也可以采用C/C++编写。程序安装包以.apk为扩展名。一个应用程序通常由配置文件(An- droidManifest.xml)、活动(Activity)、服务(Service)和广播接收器(Broadcast Receiver)组成等组成。

3.1 Android权限模式

所有的应用程序都运行在应用沙盒中,默认情况下,应用只能存取受限的系统资源。这种受限机制的实现方式有多种,包括不提供获取敏感功能的API函数、采用角色分离技术和采用权限模式。权限模式最常用,通过这种方式把用于存取敏感资源的API函数只授权给值得信任的应用程序,这些函数主要涉及的功能包括摄像头、GPS、蓝牙、电话、短信和网络等。应用程序为了能够存取这些敏感资源,必须在它的配置文件中声明存取所需资源的能力。当用户安装这种程序时,系统会显示对话框提示程序需要的权限并询问用户是否需要继续安装。如果用户继续安装,系统就把这些权限授予对应的程序。安装过程中,针对用户只想授权其中的某些权限的情况系统是不支持的。安装完毕后,用户可以通过“系统设置”功能允许或拒绝某些权限。对于系统自带的应用程序,系统不会提示请求用户授权。如果程序的配置文件中没有指定受保护资源的授权,但程序中调用了资源对应的API函数,则系统抛出安全异常。程序的配置文件中还可以定义安全级别(protectionLevel )属性,这个属性告诉系统其它哪些应用可以访问此应用。

3.2安全进程通信

尽管Linux内核提供了多种进程通信(IPC)机制,包括管道、信号、报文、信号量、共享内存和套接字等。但出于安全性考虑An- droid增加了新的安全IPC机制,主要包括Binder、Service,Intent和ContentProvider。Binder是一个轻量级的远程过程调用机制,它可以高效安全地实现进程内和进程间调用[5]。Service运行在后台并通过Binder向外提供接口服务,通常不具有可见的用户界面。In- tent是一个简单的消息对象,此对象表示想要做某事的“意向”。ContentProvider是一个数据仓库,通过它可以向外提供数据。例如一个程序可以获取另一个应用通过ContentProvider向外公布的数据。在编写程序时如果需要进程通信,虽然可以使用Linux提供的传统的方式,但还是推荐使用Android提供的安全IPC框架,这样可以避免传统方式存在的通信安全缺陷。

3.3应用程序安装包签名

所有的Android应用程序安装包(apk文件)必须进行签名,否则程序不能安装在Android设备或模拟器中。签名的目的用于标识程序作者、升级应用程序。当没有签名的应用在安装时,包管理器就会拒绝安装。签名的应用在安装时,包管理器首先验证APK文件中的签名证书是否正确,如果正确,首先把应用放置在应用沙盒中,然后系统为它分配一个UID,不现的应用有不同的UID;如果证书签名与设备中其它签名的应用相同,表示是同一个应用,则提示用户是否用新的应用更新老的相应。该签名证书可以由开发者自己设定称之为自签名(self-signed)证书,也可以由第三方的认证机构授权。系统提供自签名证书功能使得开发者不再需要借助外部的帮助或授权即可以自己进行签名。Google公司提供了完整方便的签名工具为用户开发提供便利。

4 结论

android安全机制分析 第9篇

(1)整合资源。在学校实验室安全管理工作领导小组协调下,统筹指导,合理调动人力、设施、技术等各类资源,提高各部门、院系所、实验室及广大师生员工的积极性,凝聚成推动实验室安全管理工作的合力。

(2)规范管理。以维护学校安全稳定发展的大局为核心,理顺实验室管理制度、责任体系、教育培训、检查整改、应急防范等各项管理环节,形成工作规范,并保持其可行性和延续性。

(3)注重长效。通过不断实践,努力总结、凝练实验室管理工作中的经验和做法,积极推广宣传。加大力度构建实验室安全管理工作的新格局。坚持完善长效工作机制,切实提高整体的管理工作水平,实现校园长期的安全稳定。

android安全机制分析 第10篇

建立实验室安全管理长效机制的目标是通过合理的规划和措施,充分调动实验室安全管理人员与广大师生的主动性和创造性,使实验室安全管理工作整体有效,努力达到“管理工作更规范、规章制度更健全、责任落实更明确、安全意识更警觉、防范措施更完善”。实验室安全管理长效机制的建立应着重考虑3个原则:

(1)整合资源。在学校实验室安全管理工作领导小组协调下,统筹指导,合理调动人力、设施、技术等各类资源,提高各部门、院系所、实验室及广大师生员工的积极性,凝聚成推动实验室安全管理工作的合力。

(2)规范管理。以维护学校安全稳定发展的大局为核心,理顺实验室管理制度、责任体系、教育培训、检查整改、应急防范等各项管理环节,形成工作规范,并保持其可行性和延续性。

(3)注重长效。通过不断实践,努力总结、凝练实验室管理工作中的经验和做法,积极推广宣传。加大力度构建实验室安全管理工作的新格局。坚持完善长效工作机制,切实提高整体的管理工作水平,实现校园长期的安全稳定。建立实验室安全管理长效机制的具体任务

随着管理科学的不断进步和信息化的飞速发展,实验室安全管理的手段层出不穷,但有些具体的管理措施并不成体系,且缺乏长效性和前瞻性。保障高校实验室的安全,没有一种管理制度可以一劳永逸,但建立相对合理的长效机制可以有效预防各类安全事故的发生。经过实践探索和归纳总结,高校建立实验室安全管理长效机制的任务包括以下几方面的内容。

2.1 统筹协调,强化实验室安全管理组织体系

2.1.1 成立组织机构,落实安全责任制

从学校层面理顺管理体制,明确管理职能,建立实验室安全工作责任制。主管校领导对实验室安全工作负总责,相关职能部门应被赋予相应的权限和职责,在管理体制上各有侧重点,避免部分职责重复或“多头开花”没有重点的局面。成立实验室安全管理工作委员会,由主管校领导牵头,将相关职能部门和学院(研究院、重点实验室、工程中心)等二级单位主管实验室的负责人纳入实验室安全管理委员会。委员会设立办公室,负责实验室安全工作重要事项的决策、指导、组织和协调工作。在条件具备的情况下,还可设立实验室安全顾问小组,作为主管实验室安全工作部门的专家指导和协调机构,成员由相关学科带头人或退休的专家教授担任。安全顾问小组从专业角度提出科学的合理化建议,成为实验室安全管理工作的“智囊团”[5]。各二级单位设立实验室安全管理工作小组,院长(主任)或党委书记任组长,全面负责本单位的实验室安全工作。学校按与二级单位签订实验室安全管理责任书,二级单位把安全管理责任逐级落实到各系所、实验室,责任到人,形成一种纵向到底、横向到边、联系紧密的连锁互保安全责任制。

2.1.2 加强实验室安全管理工作队伍建设

按照一定比例配齐配强实验室安全管理队伍,由责任心强、有执行力、业务能力突出的教职工组成。二级单位逐步建立结构合理的专兼职管理队伍,形成单位负责人、系所主任、实验室主任、实验室安全管理员、实验室工作人员等多级安全管理网络,保持逐级沟通、信息通畅,不留管理死角。选拔热爱实验室工作、学术造诣深、治学严谨、具有创新精神的教师担任实验室主任,为安全管理工作发展注入活力。为避免职责重叠,二级单位可以将消防安全管理和实验室安全管理职责合并,以节省人力资源、提高工作效率。改变实验室安全管理人员不被重视、晋升机会少的现状,提高津贴水平,使他们的待遇基本与教学科研团队持平。加强与兄弟院校间的工作交流和研讨,全面提高实验室安全管理队伍的整体素质和业务能力。

2.2 深入研究,健全实验室安全管理制度

2.2.1 不断完善实验室安全管理规章制度

定期对现行涉及实验室安全的规章制度进行梳理,如危险品类管理制度、实验室废弃物处置管理制度、各类特种设备和仪器管理制度、设备操作规程、实验实习守则、安全卫生管理制度、岗位责任制度等,根据需要重新拟定新办法或修订已有制度,不符合实际情况的及时废除,按将全部管理制度汇编成册并予以发布,逐步形成实验室安全管理制度更新机制。学校实验室安全管理职能部门和二级单位设专人负责教学科研项目的审核评估,严格把关实验项目的安全环保要求,形成实验项目审核评估机制。对二级单位不好解决、职能部门间互相推诿扯皮的重大安全隐患[6],可直接向主管校领导汇报,实行急事急办、大事快办,形成重大隐患直通快报机制。将实验室安全管理与教职工评聘挂钩,对安全责任范围内管理有严重问题的人员,考核一律不合格,形成一票否决的评聘机制。将实验室安全工作与人事制度挂钩,以加强管理人员对安全工作的认识,提高其自觉参与安全管理工作的积极性,形成有效的奖惩激励机制。

2.2.2 建立科学有效的安全检查制度

推行“三级三查”的实验室安全检查制度,即学校每季度组织一次全面的安全检查、二级单位每月组织一次安全自查、实验室每日进行一次安全巡查[7]。安全检查的内容要合理规划,安全检查的流程要精心设计,检查要做到科学性、便捷性、有效性和可操作性的统一。推进实验室安全检查的多样化发展,如预约检查、突击检查、专项检查、日常巡查、全面检查、联合检查、重点检查等,防止安全检查出现“盲区”。加强对检查中发现的实验室安全隐患的整治。检查完毕后及时下达“实验室安全隐患整改通知单”,实验室负责人拟定整改措施报二级单位核查后,反馈给下达通知的监督单位,形成切实有效的安全隐患治理闭合回路管理,保证隐患得到及时解决。

2.2.3 强化重点危险源的监督管理制度

从源头上加强对危险化学品的监管,严格执行购买、领用、备案等环节的审批管理,全面推行双人保管、双人领取、双人使用、双把锁、双本账的“五双”管理制度。另外,将采购数量及库存量控制在最低限度,坚持领用制度,严格控制领用数量。

将实验室污染防治费用纳入学校预算,加大经费支持力度。制定实验室废弃物处置流程指引,鼓励实验室对危险废弃物进行无害化处理,达到标准的自行排放,以减少废弃物的产生;对达不到国家排放标准的,由学校委托有资质的废弃物处置公司集中消纳。利用合适的地下场所建设危险废弃物存储库,用于及时回收实验室产生的废弃物,尽量减少危险废弃物在实验室的留存时间,逐步使废弃物处理步入规范化、制度化、常态化轨道。

加强放射辐射和高温高压等特种设备与管理人员的监管,实行“全部注册、定期检验、定期培训、持证上岗、随时淘汰”的管理措施,定时委托有资质的单位进行监测与评估,确保上级部门检查合格。

2.3 转变理念,狠抓安全意识教育

2.3.1 采取多种形式加强实验室安全教育

认真落实教育部、北京市对高校安全稳定规划中的要求,深入开展实验室安全教育工作,切实提高师生的安全意识,实现实验室安全教育“进课堂、进教材、落实学分”[8]。将实验室安全教育纳入到新生入学、新教工入职培训规划中,使其一入校就了解各项制度和要求,具备一定的安全知识和防范技能,养成重视实验室安全的习惯。编写《实验室安全知识读本》、《实验室事故案例分析集》、《实验室操作规程汇编》等学习资料,保证师生人手一册,避免在实验中犯常识性的错误引起安全事故和环境污染。

利用实验室安全网络学习系统,为全校师生提供网上自学和网上考试的平台,自学考试通过后可获得学分,并作为进入实验室的必备条件;鼓励二级单位根据自身专业特点和科研要求,为学生开设特色实验室安全教育课程,课程可根据实际情况认定学分。结合举办讲座、观看录像、板报宣传、大屏幕播放等形式,时刻提醒,引起注意,全方位提高师生实验室安全意识。

2.3.2 注重实验室安全文化建设,形成良好氛围

利用文化修养从观念、道德、情感和品行等方面施加影响,帮助广大师生树立安全第一和以人为本的安全价值观,提高整体的安全素质和安全修养[9],加强安全责任心和使命感。管理方式从行政命令向服务转变,切实做好实验室危险废弃物、特种设备仪器管理、技术安全咨询、安全状况评估等方面的服务工作,在安全隐患治理上积极协助整改,统筹策划,深入基层实验室进行细致指导,逐步消除师生员工在制度刚性管理下被约束、被管理的消极心态。灵活处理实验室安全管理过程中遇到的问题,勤于沟通,善于征求基层意见,避免生硬的指挥手段,要具体问题具体分析,将工作尽量做细,建立以人为本、科学管理的安全工作观念。

2.4 结合实际,推行实验室安全准入制度

2.4.1 与时俱进,开展实验室安全准入制度的建设

组织人员对相关规章、法规和政策进行深入探讨,更新修订文件中与实际情况不相称的内容,从制度设计层面保障实验室安全准入制度的推行,努力扭转实验室安全准入制度建设相对滞后的局面,使准入制度紧跟实验室发展。将实验室准入制度建设纳入二级单位及实验室考核体系,加大力度推动准入制的制度化、规范化发展,降低学术权力的影响。联合各二级单位分别组建具有专业特色的实验室安全知识题库,以保证准入制考核的针对性和科学有效性。进入实验室的师生必须通过学习培训,考核合格并签订安全承诺书后方能上岗。将准入考核和门禁系统对接,只有通过准入考试的人员才能获得门禁系统的识别许可。

2.4.2 开拓创新,推行准入制考核手段的多样化发展

以学校“实验室安全教育学习与考试系统”为依托,搭建规章制度、通用安全知识、专业安全知识等分类学习与考试平台,广大师生可以利用此平台进行学习并通过考核,同时赋予二级单位、实验室在考试系统应用中更多的自主和选择权限。提倡二级单位通过开设选修课、举办培训讲座、实际操作指导等多种灵活的教育方式,使师生了解实验室基本情况、掌握安全防范、操作规程等知识技能,并达到考核要求。利用系统生成电子版的“实验室安全知识技能考核合格证”,考核合格的师生获得此证,无此证不能上岗实操。

2.5 加大投入,规范实验室标准化建设

2.5.1 积极开展实验室安全标准化建设的研究

以安全运行为目标,制定实验室安全管理全过程中各项详细的、可操作的管理标准,并在管理中严格贯彻和执行,达到实验室安全运行管理的标准化。通过监督检查和持续建设,保证实验室房屋及水、电、气等管线设施规范,实验室设备完好,实验室布局合理、通道畅通、整洁卫生,安全标志醒目齐全,安全防护设施可靠,抢救设施性能良好,达到实验室安全条件的标准化[10]。根据每个实验室的类型、用途、规模等不同特点,为教学实验活动制定适宜的操作程序和动作标准,达到实验室安全操作的标准化。

2.5.2 努力改善规范实验室安全硬件设施的建设

加大实验室安全设施投入力度,建立健全安全与环保投入机制,把实验室安全工作经费列入常规预算支出科目,并根据实际需要逐年有所调整。在实验室新建、扩建、改造过程中,以保证安全为前提,充分考虑实验室设计、建设、仪器设备安放及管线设施等方面的规范性。重点加强危险化学品防盗监控、危险废弃物集中回收点、实验室通风过滤、烟感报警、设备线路、喷淋装置等硬件保障设施的建设,切实防止危害师生的事故发生[11]。在实验室安全设施建设上实行一票否决制,达不到安全和环保要求标准坚决不准上马。

2.6 提高认识,完善实验室安全应急机制

2.6.1 建立实验室预防预警系统

切实做好实验室危险源辨识和风险评估工作,确定危险源的种类和等级,查清危险源的空间和地域分布,根据安全法规和技术标准采取针对性强的预防措施。加强对危险源的巡视检查工作,在危险要害部位安装摄像头或检测装置,并与学校安保控制系统联网。做好应对实验室突发安全事件的人力、物力和财力的储备工作,确保实验室安全事故应急所需设施、设备的完好和有效。对可能引发实验室安全事故的重要信息及时进行分析、判断和决策,并适时发布预警信息,做到早发现、早报告、早处置。

2.6.2 完善各级实验室安全预案体系

建立危险化学品、危险废弃物、辐射设备等不同类型突发事件的应急预案,完善各类各级专项工作预案,增强预案的可操作性。成立实验室应急救援指挥中心,加强对突发事件的预防和处置力度,根据应急预案和现场需要,调动应急救援力量和资源,根据需要调整救援抢险方案。严格落实重大节假日的巡查和值班制度,一旦发生突发事件,迅速启动应急预案,妥善做好事件处置和善后工作。

2.6.3 开展必要的突发事件预演活动

针对类似火灾、中毒等可能发生的突发事件,根据制订的预案,进行预先演练,积累一些经验,使师生在遇到类似突发事件时能够沉着冷静应对。通过对不同规模和类型突发事件的研究,结合各实验室的特点,制订符合实际的预演方案,通过演练使师生掌握逃生、自救及救护他人的基本技能。结束语

android安全机制分析 第11篇

SecuXabber 是一个安全的 Android 上的 Jabber 客户端,使用加强的、不对称的加密 XMPP 协议,在应用的启动时生成密钥配对,

用户可通过蓝牙发送他们的公钥到其他 SecuXabber 用户。面对面的检查确保了公钥的真实性。一旦密钥被双方导入后,所有的同时都将使用 4096 位加密。支持所有 XMPP 特性,支持多帐号,高度可定制等等。

项目主页:www.open-open.com/lib/view/home/1384438052664

android安全机制分析 第12篇

移动互联网领域, Android智能手机的使用越来越广泛, 越来越多的用户习惯于利用手机来储存和处理私人及商业信息。Android应用市场上急剧膨胀的应用程序, 其滥用权限已越发严重, 在被3·15晚会曝光之后, 引起了用户的普遍担心。

目前已有的滥用权限的软件, 大多是在权限申请时申请过多的权限, 然后在后台执行一些特定的行为, 包括窃取用户隐私数据或者通过发送短信等方式消耗用户话费。曾有人提出了一种适用于Android手机平台的权限检测系统, 其通过反编译APK文件和解析Android Manifest.xml文件及设定筛选机制筛选出访问敏感权限的程序和APK文件, 但其只是简单的检测, 并不能进行有效控制。

1 Android系统的权限控制机制

基于权限的安全策略是Android系统安全机制的重要组成部分, 采用权限机制可以限制应用程序的能力, 主要是允许或拒绝应用程序访问受限的API或者系统资源, 应用程序要想访问对应的资源必须申请对应的permission, 应用程序通过在Android Manif-est.xml文件中使用标签申请权限, 并在安装的时候由Android内部服务解析应用程序所申请的全部权限, 并显示在设备屏幕上以供用户查看和审查, 只有用户同意之后, 程序才会安装, 应用程序才会获得所申请的权限。

该权限机制存在的问题, Android在安装应用程序时不能有选择性的同意和拒绝应用程序申请的权限, 只能被迫全部接受以完成安装或拒绝而无法安装, 这种粗粒度的权限机制注定给用户隐私泄露带来了安全隐患。

2 Android系统权限控制机制缺陷的验证

2.1 实例分析

为了验证Android系统的权限控制机制存在的问题, 本文开发了一款音乐播放器, 该软件宣传的功能只是简单的本地音乐播放, 但实际上其还拥有窃取用户短信、通讯录、通话记录等功能。

2.2 实现原理

通过分析, 该软件通过在播放器所需操作的基础上额外添加多余操作并在Android Manifest.xml里面申请多余的权限, 以此达到窃取用户隐私的目的。工作流程图如图1所示。

程序运行, 其中主线程内进行正常的音乐播放。线程2内为:开启Service服务2, 首先读取联系人、通话记录、短信, 并通过短信程序发送到预先指定的号码, 这是为了窃取手机上已有的隐私信息 (联系人、通话记录、短信) , 同时监听接收短信的广播, 如果收到该广播, 则获取短信内容, 并发送到指定号码, 这是为了窃取手机新收到的短信。线程3内为:开启服务3, 使用Content Observer分别监听通讯录、通话记录、短信数据库变化, 如果监听到通讯录和通话记录数据库有变化, 则获取变化的内容, 并通过短信发送到指定号码, 这是为了窃取通讯录、通话记录更新的数据, 如果监听到短信发件箱数据库有变化, 且目的地号码不是指定号码, 则获取变化的内容, 并通过短信发送到指定号码, 这是为了将用户自己新发送的短信窃取到指定号码。最后短信发送完毕之后, 为了不在短信发件箱内留下痕迹和证据, 需要将发件箱中指定号码的内容删除。

该软件申请的权限如表1所示, 从上面的实例分析, 可以看出该音乐播放器通过申请过多的权限以及相应的操作, 可以实现窃取用户手机上的通讯录、通话记录、短信息, 这些都是在用户未察觉的情况下进行的恶意功能, 这也充分说明Android系统自带的权限控制机制存在着问题, 普通Android用户如果没有其他安全软件进行辅助, 很难控制恶意软件对手机的恶意操作。

3 一种有效控制应用程序滥用权限的方法

Android市场上比较流行的权限控制软件主要分为两类:安装时控制和运行时控制。这里以软件“APK权限修改器”作为安装时控制的代表, 以软件“LBE安全大师”作为运行时控制的代表, 本文先分析这两类权限控制软件的优缺点, 如表2所示, 然后在其基础上进行结合和改进。

(1) APK权限修改器

这是一款用来在Android应用程序安装时, 对安装的程序进行权限修改的软件, 对不想授予的权限选择, 然后点击去除权限安装, 则该软件即对应用程序的Android Manifest.xml配置文件修改, 并重新打包和签名, 再进行安装去除了权限的软件, 实现对应用程序的权限的控制。

APK权限修改器的不足:没有自定义默认权限控制策略, 自身不能主动的控制应用程序申请的权限, 只能是用户人为的对申请的权限进行控制, 这样必然加重用户的负担以及给非专业用户带来安全隐患。解决方法:引入Kirin策略可用于检测要求危险权限组合的程序, 即在程序安装时引入了静态分析策略, 在检测时如果检测到满足策略的权限即主动拒绝该权限, 减轻了用户的负担, 以及提高了设备的安全性。

(2) LBE安全大师

LBE安全大师功能强大, 这里只分析其控制权限的功能, LBE运行时, 本文的音乐播放器和平时一样正常安装, 但是LBE会在音乐播放器安装结束之后自动按照LBE自带的权限控制策略对音乐播放器申请的各种权限进行控制, 有允许、提示、拒绝三种选择, 同时手机用户可以在任何时间打开LBE按照自己的意愿主动对音乐播放器申请的权限进行配置, 然后LBE会在音乐播放器运行时按照前面配置的权限进行控制对系统API的访问。

LBE安全大师的不足:只能对应用程序申请的部分权限进行控制, 如不能对SD卡的读写进行控制, 以及自带的默认权限控制策略比较简单, 如对申请的android.per-mission.READ_PHONE_STATE一律允许, 对申请的联网权限一律允许, 对其他申请的权限基本都是提示, 直接拒绝的权限没有, 即权限控制策略过于简单。解决方法:增加LBE内部需要控制权限的数据库和策略集, 实现对所有申请的权限都可以进行控制。

所以结合二者的优点, 并改善它们的不足:加入静态分析策略Kirin、改进动态分析策略集, 那么一个新的控制Android应用程序滥用权限的系统设计将能够很好的解决目前的问题。基于如上分析, 设计了系统运行的流程图, 如图2所示, 设定设计的权限控制系统名为A。

4 实验结果与分析

实验在Android SDK2.3.3模拟器上进行了测试, 并在华为C8650真机上进行了应用检测, 有程序申请安装时触发A, 运行效果如图3所示, 打开A主界面对本文已安装的音乐播放器进行权限控制, 运行效果如图4所示。本文中主要进行了功能测试, 即系统能否检测出访问敏感权限的恶意程序, 并加以控制。从Android应用市场下载了40个程序进行测试, 它们有浏览器、多媒体播放器、游戏等, 经检测, 多达一半以上的应用程序都申请了多余的权限, 而本文设计的权限控制系统对这些程序的滥用权限行为都进行了有效的控制。

本文设计克服了APK权限修改器没有默认权限控制策略而给用户带来负担的缺点, 也克服了LBE安全大师不能对所有申请的权限进行控制 (如不能对SD卡的读写进行控制) 而给用户带来安全隐患的缺点。

5 结束语

本文以作者开发的音乐播放器为例对Android系统的权限控制机制缺陷进行了验证, 分析了Android市场上现有的两类权限控制软件的不足, 提出了加入静态分析策略Kirin和改进动态策略集的改进方法, 并进行了验证, 基本达到了预期的效果, 但系统仍有一些不足, 如加入的静态分析策略可能阻止某些合法软件的安装, 造成误判, 而且系统性能方面还需要优化, 下一步将对这些不足加以改进。

摘要:针对Android应用程序滥用权限造成用户隐私泄露的问题, 开发了一款音乐播放器为实例, 分析了其恶意操作的原理, 反映了Android自身安全机制存在着不足, 然后分析了Android市场上两类权限控制软件的优缺点, 在此基础上结合两者的优点, 并加以改进, 加入了静态分析策略kirin, 改进了动态分析策略集, 设计了一款对权限滥用进行有效控制的系统。

关键词:Android,权限,恶意操作,控制,静态分析策略

参考文献

[1]Enck W, Ongtang M, Mcdaniel P.On lightweight mobile phone application certification[C]//Proc of the 16th ACM Conference on Computer and Communication Security.New York:ACM, 2009:235-245.

[2]21CN财经综合.央视315曝光安卓手机软件盗取用户信息[Z/OL]. (2013-03-15) .http://finance.21cn.com/news/cjyw/a/2013/0315/23/20688218.shtml.

[3]闫梅, 彭新光.基于Android安全机制的权限检测系统[J].计算机工程与设计, 2013, 34 (3) :854-858.

[4]蒋绍林, 王金双, 张涛, 等.Android安全研究综述[J].计算机应用与软件, 2012 (10) :205-210.

[5]李中平, 邱健峰, 李璐, 等.Android手机远程控制关键技术分析[J].计算机应用与软件, 2013, 30 (4) :113-115, 127.

[6]杨珉, 王晓阳, 张涛, 等.国内Android应用商城中程序隐私泄露分析[J].清华大学学报:自然科学版, 2012, 52 (10) :1420-1426.

上一篇:乘车倡议书下一篇:统计工作会讲话