图 2-1 SQLite结构图
在Android系统上,便集成了这一关系型数据库。开发者在开发 Android 应用程序时,如果需要存储数据,使用SQLite 数据库是一种非常好的选择。
2。1。4 Tomcat服务器和MySQL数据库简介
Tomcat服务器是一款免费开源、轻量级的Web服务器。Tomcat由于其占用资源少、响应客户端速度快、操作简单,性能稳定等特点,得到了开发者的喜爱和部分软件开发商的认可,被广泛应用于中小型的系统中,成为了当前比较流行的Web应用服务器。
MySQL是一种关系型的数据库管理系统,属于轻量级的数据库管理系统,在中小型网站的开发中十分受欢迎。MySQL由于其体积小、速度快、总体拥有成本低、操作简单、开源免费等特点,深受开发者的追崇,成为了目前流行的数据库之一。
2。1。5 JSON数据格式
JSON是一种数据格式,它把字符串数据以“键:值”对的形式表示出来,规范了数据的表现形式,给程序处理数据、传输数据提供了方便。
很多语言都支持使用JSON,并且提供了对应读写的类库包。在Android的API中便集成了org。json这一类库用于处理JSON格式的数据。在Android软件中,可以先从服务器端得到响应回来的JSON数据,然后通过java中的org。json类来解析JSON对象,从而得到我们能直观认识的数据对象。
2。2Android系统的安全机制
Android是一个权限分离的系统,它基于Linux系统的权限管理机制,实现了对应用程序的权限控制。在Android系统中,每个应用程序都拥有唯一的标识(UID),在运行时是独立的、封闭的,不能被其他应用程序打扰和访问。Android对系统资源的访问做了明确的规定,任何应用程序只有获得了权限才能访问对应的资源。Android系统的这种安全机制有效地对系统资源的访问进行了控制,避免了资源的滥用。
在实际开发中,权限主要是在AndroidManifest。xml文件中标注申请,也可以在Java代码中进行动态的添加和删除,PackageManagerService就提供了addPermission和remove-Permission两个接口用实现权限的动态改变。
2。3Android系统的Binder通信机制
Linux系统在进程之间通信有多种方式,其中常用的有:共享内存、管道、信号量和Socket,Android系统虽然采用了Linux内核,但在进程间的通信却采用了一种全新的方式。这种方式就是Binder机制,这种机制有效地满足了系统对通信方式,传输性能和安全性的要求。Binder机制采用了C/S的架构,系统进程作为Server(服务器)来提供系统相关的服务,比如拨打电话、发送短信、相机拍照以及获取地理位置信息等,而普通应用程序做作为Client(客户端)与Server建立连接,发起请求便可以调用系统的服务。采用这种机制,开发者能很轻易地开发出各种复杂功能的软件。图2-2所示就是Android系统的Binder通信机制。
图2-2 Android系统的Binder通信机制
2。4Android软件敏感行为的监控技术
传统的软件行为分析技术通常包含两个部分,分别是对软件运行时的实时行为进行获取以及对所捕获到的行为进行特征分析,判断是否为敏感行为。
而基于Android软件的Binder通信机制,Android 软件敏感行为的监控便可以采取新增访问控制模块的方式来实现。这种方式是在Android 权限访问控制的基础上为需要监控的服务增加一个访问控制模块,如图2-3所示。这样,对于每一个应用程序的访问请求,都会首先通过新增的访问控制模块,这个新增的访问控制模块就可以对这一请求进行分析,判断是否为恶意行为,然后采取相应的策略,以此来对Android 软件行为进行监控。