Free Essay

Updating Android Operating System

In:

Submitted By thecrafter
Words 4974
Pages 20
Updating Android operating system, is it really safe?
All Android devices at risk of being hacked when installing OS system updates _ Pileup Flaws
By Raunak Chatterjee and Anisha Agarwal
Student of Computer Science and Engineering department of Calcutta Institute of Technology
Email: rnk.chatterjee.cit@gmail.com
-------------------------------------------------
Anishaagarwal1992@gmail.com
Abstract:
Android is a Linux based operating system. Initially developed by Android, Inc., which Google backed financially and later bought in 2005, Android was unveiled in 2007 along with the founding of the Open Handset Alliance—a consortium of hardware, software, and telecommunication companies devoted to advancing open standards for mobile devices. The first publicly available smartphone running Android, the HTC Dream, was released on October 22, 2008. Android's source code is released by Google under the Apache License; this permissive licensing allows the software to be freely modified and distributed by device manufacturers, wireless carriers and enthusiast developers. As of July 2013, Android has the largest number of applications, available for download in Google Play store which has had over 1 million apps published, and over 50 billion downloads. A developer survey conducted in April–May 2013 found that Android is the most used platform among developers: it is used by 71% of the mobile developers’ population. From astro 1.0 to kit Kat android make itself evolved. For evolving in very fast manner its updates are coming out one after another so frequently. Even a particular version of Operating system has different versions. These updates often completely overhaul a running system, replacing and adding tens of thousands of files across android’s complex architecture, in the presence of critical and important user data and applications. To avoid accidental damages to such data and existing applications the upgrade process involves complicated program logics whose security implications are so complex. Focusing on PMS (Package Management Service) there is a new security-critical vulnerability evolved and that is Pileup flaws, through which a malicious application can strategically declare a set of privileges and attributes on a low-version operating system and wait until it is upgraded to escalate its privileges on the new system. Specifically that can be found by exploiting the pileup vulnerabilities, the application can not only acquire a set of newly added system and signature permissions but also determine their settings, and it can further substitute a new system applications with a malicious one, contaminate their data to steal sensitive user information or change security configuration of the system, and prevent the installation of many important system services.

Introduction:
One expect his/her apps and personal data to still be in your Android after an operating system upgrade, but the updating mechanism that allows that has a new class of privilege escalation vulnerabilities, which may defined as “pose serious threats to billions of Android users” who update their systems. Basically flaws in Android's program logic to install updates could allow a bad app to gain godlike permission to take control of your Android device, from hijacking your Google account, sending text messages, accessing voicemail, formatting removable storage, to stealing your passwords for a banking site. When talking about the flaws that affect “all the Android devices worldwide,” The so called ‘Pileup’–short for privilege escalation through updating–lurks inside the Android Package Management Service (PMS) and increases the permissions offered to malicious apps whenever an update occurs, without giving the user any info about the matter. Every few months, an update is released, which causes replacement and addition of tens of thousands of files on a live system. Each of the new apps being installed needs to be carefully configured to set its attributes within its own sandboxes and its privileges in the system, without accidentally damaging existing apps and the user data they keep. This complicates the program logic for installing such mobile updates, making it susceptible to security-critical flaws. Six different Pileup vulnerabilities have been discovered within the Android PMS. These vulnerabilities are present in all Android Open Source Project versions, including all 3,522 source code versions customised by handset OEMs and carriers.

PMS (Package Management Service):
To define properly we have to go through some question and answer series.
What are Package Manager and Package Installer?
PackageInstaller is the default application for Android to interactively install a normal package. PackageInstaller provide user interface to manage applications/packages. PackageInstaller calls InstallAppProgress activity to receive instructions from the user. InstallAppProgress will ask Package Manager Service to install package via installd. Source code is available at <Android Source>/packages/apps/PackageInstaller.
Installd daemon’s primary role is to receive request from Package Manager Service via Linux domain socket / dev/ socket/ installed. installd executes a series of steps to install APK with root permission. [Ref: https://github.com/android/platform_frameworks_base/blob/master/cmds/installd/commands.c]
Package Manage is an API that actually manages application install, uninstall, and upgrade. When we install the APK file, Package Manager parse the package (APK) file and displays confirmation. When the user presses the OK button, Package Manager calls the method named "installPackage" with these four parameters namely uri, installFlags, observer, installPackageName. Package Manager starts one service named "package", and now all fuzzy things happen in this service. You can check "PackageInstallerActivity.java" and "InstallAppProgress.java" in the PackageInstaller source code. Package Manager Service runs in system_service process and install daemon (installd) runs as a native process. Both start at system boot time.
Where are APK Files Stored in Android?
a. Pre-Install (i.e. Camera, Calendar, Browser, etc.) APK is stored in /system/app/ b. User Install (ApiDemo, Any.do, etc.) APK is stored in /data/app/ c. Package Manager creates a data directory /data/data/<package name>/ to store the database, shared preference, native library and cache data. You might see an apk file and *.odex file for the same APK. The ODEX file is totally a different discussion and purpose.
What is the APK Installation Process in Detail?
The following process executes in Package Manager Service. * Waiting * Add a package to the queue for the installation process * Determine the appropriate location of the package installation * Determine installation Install / Update new * Copy the apk file to a given directory * Determine the UID of the app * Request the installd daemon process * Create the application directory and set permissions * Extraction of dex code to the cache directory * To reflect and packages.list / system / data / packages.xml the latest status * Broadcast to the system along with the name of the effect of the installation is complete package * Intent.ACTION_PACKAGE_ADDED: If the new ( Intent.ACTION_PACKAGE_REPLACED): the case of an update

How Does the Package Manager Store Data?
Package Manager stores application information in three files, located in /data/system. The following sample is extracted from Android 4 ICS emulator image. 1. packages.xml: This file contain list of permissions and Packages/Applications. view source print? 01.<packages>
02.<last-platform-version external="15" internal="15">
03.<permission-trees>
04.<permissions>
05.<item name="android.permission.CHANGE_WIFI_MULTICAST_STATE"package="android" protection="1">
06.<item name="android.permission.CLEAR_APP_USER_DATA" package="android"protection="2">
07..
08..
09..
10..
11.</item></item></permissions>
12.
13.
14.
15.
16.<package codepath="/system/app/Contacts.apk" flags="1" ft="136567b3990"it="136567b3990" name="com.android.contacts"nativelibrarypath="/data/data/com.android.contacts/lib"shareduserid="10001" ut="136567b3990" version="15">
17.<sigs count="1">
18.<cert index="2">
19.</cert></sigs>
20.</package>
21..
22..
23..
24..
25.<package codepath="/data/app/com.project.t2i-2.apk" flags="0"ft="13a837c2068" it="13a83704ea3" name="com.project.t2i"nativelibrarypath="/data/data/com.project.t2i/lib" userid="10040"ut="13a837c2ecb" version="1">
26.<sigs count="1">
27.<cert index="3" key="308201e53082014ea0030201020204506825ae300d06092a86
28.4886f70d01010505003037310b30090603550406130255533110300e060355040a13074
29.16e64726f6964311630140603550403130d416e64726f6964204465627567301e170d31
30.32303933303130353735305a170d3432303932333130353735305a3037310b300906035
31.50406130255533110300e060355040a1307416e64726f6964311630140603550403130d
32.416e64726f696420446562756730819f300d06092a864886f70d010101050003818d003
33.08189028181009ce1c5fd64db794fd787887e8a2dccf6798ddd2fd6e1d8ab04cd8cdd9e
34.bf721fb3ed6be1d67c55ce729b1e1d32b200cbcfc91c798ef056bc9b2cbc66a396aed6b
35.a3629a18e4839353314252811412202500f11a11c3bf4eb41b2a8747c3c791c89391443
36.39036345b15b5e080469ac5f536fd9edffcd52dcbdf88cf43c580abd0203010001300d0
37.6092a864886f70d01010505000381810071fa013b4560f16640ed261262f32085a51fca
38.63fa6c5c46fde9a862b56b6d6f17dd49643086a39a06314426ba9a38b784601197246f8
39.d568e349a93bc6af315455de7a8923f40d4051a51e1658ee34aca41494ab94ce978ae38
40.609803dfb3004806634e6e78dd0be26fe75843958711935ffc85f9fcf81523ce23c86bc
41.c5c7a">
42.</cert></sigs>
43.<perms>
44.<item name="android.permission.WRITE_EXTERNAL_STORAGE">
45.</item></perms>
46.</package>
47..
48..
49..
50..
51..
52.</permission-trees></last-platform-version></packages>
This XML file stores two things 1. permissions 2. package (application), permission are store under <permissions> tag. Each Permission has three attributes namely name, package and protection. The name attribute has permission name, which we are using in AndroidManifest.xml, the package attribute indicates permission belonging to package. In most cases "android" is the value, because the <permission> tag contains default permissions and protection indicates level of security.

The package tag contain 10 attributes and a few sub tags. Sr | Attribute Name | Description | 1 | name | package name | 2 | codePath | APK file installation location (/system/app/ or /data/app/) | 3 | nativeLibraryPath | native library (*.so file) default path is /data/data/<package name>/lib/ | 4 | flag | Store ApplicationInfo Flags [http://developer.android.com/reference/android/content/pm/ApplicationInfo.html] | 5 | ft | timestamp in hex format | 6 | lt | timestamp in hex format of first time installation | 7 | ut | timestamp in hex format of last update | 8 | version | Version Code from AndroidManifest.xml file []http://developer.android.com/guide/topics/manifest/manifest-element.html#vcode] | 9 | sharedUserId | The name of Linux user ID that will be shared with other applications, It is same parameter which we define in AndroidManifest.xml [http://developer.android.com/guide/topics/manifest/manifest-element.html#uid] | 10 | userId | The name of a Linux user ID |
Sub Tags a. sigs signature information, count attribute represents the number of cert tag. b. cert contain certification key, index attribute represents the global index of certificate. I have found that it increments when new certificates are installed with the application. c. perms contain permission which developer has set in AndroidManifest.xml
2. packages.list : It is simple text file containing package name, user id, flag and data directory. I can't find any perfect description, but I assume that the packages.list file may provide faster lookup of installed packages, because it keeps important information only. view source print? 1.com.android.launcher 10013 0 /data/data/com.android.launcher
2.com.android.quicksearchbox 10033 0 /data/data/com.android.quicksearchbox
3.com.android.contacts 10001 0 /data/data/com.android.contacts
4.com.android.inputmethod.latin 10006 0 /data/data/com.android.inputmethod.latin
3. packages-stoped.xml : This file contains the package list which has stopped state. Stopped state applications cannot receive any broadcast. Refer to this link for more information about stopped state applications.

view source print? 1.<stopped-packages>
2.<pkg name="com.android.widgetpreview" nl="1"></pkg>
3.<pkg name="com.example.android.livecubes" nl="1"></pkg>
4.<pkg name="com.android.gesture.builder" nl="1"></pkg>
5.<pkg name="com.example.android.softkeyboard" nl="1"></pkg>
6.</stopped-packages>
Source code of PMS: https://android.googlesource.com/platform/frameworks/base/+/483f3b06ea84440a082e21b68ec2c2e54046f5a6/services/java/com/android/server/pm/PackageManagerService.java Android Fragmentation:
Since 2014, 19 Android official versions (from 1.0 to 4.4) have been released. New updates are available almost every three months. In addition to these AOSP versions, phone manufacturers also provide their customized OSes, oftentimes, for different carriers (Verizon, AT&T, T-Mobile, etc.) and different countries. For example, Samsung has so far released over 10,000 different versions to serve its customer’s world wide. Many of them co-exist on today’s Android market, causing what is so called Android fragmentation [3]. On the other hand, these versions are being steadily upgraded to newer ones: it is reported that within the recent 6 months, the market share of Jelly Bean (Android 4.1+) has increased from 25% to 48.6%.
Android Updatation:
After the user clicks on the system update button under Android Setting, an upgrading image (called “Over the Air” or OTA) is downloaded from the device manufacturer’s servers1. The image includes bootloader.img, other system files and a set of Android application package files distributed across different directories. Some of them are patches to the existing files (on the old system), which typically end with “.p” (e.g., radio.img.p). Once receiving the image, the Android device reboots into a recovery mode, where it verifies the authenticity and integrity of the image and then replaces existing system files such as bootloader, Package Manager Service and APKs under the system directory with the new ones. After this is done, the device reboots into the new OS and continues to update other system components through different Android services, including Activity Manager, Service Manager, User Manager Service, Package Manager Service, Input Manager, etc. Of particular interest here is Package Manager Service (PMS), which we investigated in our research. PMS is an Android service for installing, upgrading, configuring and removing application packages. When it comes to upgrading, the service installs or reinstalls all system apps (new and existing ones from the old OS) under /system/directory, and then existing third-party apps (user installed) under /data/app onto the new OS. When installing an app, PMS registers its permissions2, shared UID, activities, intent filters, actions, services and others. What complicates this installation process is the presence of duplicated attributes (e.g., package names, shared UIDs, etc.) and properties (e.g.,permissions). In this case, PMS needs to decide which one to install. For this purpose, it builds a data structure mSettings to record all such information about existing apps on the old OS, which includes a group of lists (in the HashMap type) such as mPackages, mUserIds, mSharedUsers mPermissions, etc. Whenever a new system package is about to be installed or its properties to be registered, PMS first looks up these lists to find out whether another package with the same attributes like package names3 or duplicated properties like permissions already exists in the old system. This happens, for example, when a high-version system app is installed on the old OS to replace its low-version counterpart.
Once a new package or its property is found to be already in the old system, the decision on which one to keep is made case by case, based upon the nature of the package or the property. For example, an app from the updating image will replace an existing one if the former has a higher version number than that of the latter. PMS uses the same program logic for both system upgrading and normal app installation: that is, the decision on whether to install a new system app or register its properties is always made in the same way as when a third-party app to be installed is found in conflict with an existing app.
Pileup flaws:
In this section, we elaborate the Pileup vulnerabilities discovered from Android PMS and our exploits on them. All the problems we found are essentially a type of broadly defined privilege escalation weaknesses, by which we refer to not only the situation where an unauthorized party gains elevated access to protected resources but also when it acquires elevated capabilities to deny authorized parties’ access to the resources. We present those problems below.:
Permission Harvesting and Preempting:
At the center of the Android security architecture is its permission and sandbox model. Each app runs within its own sandbox, separated from other apps. To gain any additional capabilities that would impact other apps or the OS, the app needs to explicitly request a permission (within its manifest.xml) before it is installed. These permissions are used to guard resources such as Internet, camera, storage, etc. They are categorized into protection levels [4], among which most common are normal (automatically granted to apps when requested), dangerous (granted based upon the user’s consent), signature (granted to apps signed with the same certificate as the one that declares the permission), System (granted to system apps on the system image) and a combination signatureOrSystem (granted to system apps or those signed with the same certificate). All the standard (AOSP) permissions are declared by system packages android and others located under /system/. Third-party apps can also define their own permissions, which can be requested by others. As discussed above, right before an app is about to be installed, PMS needs to check the permission it requests, and most of the time, turns to the device user for consent. All such requests are specified in the app’s manifest file. What is interesting here is that when PMS goes through the manifest, it ignores all those it fails to recognize, and never reports them to the user. This design, presumably, is for handling the third-party apps that are not well implemented. The problem is that the adversary can take advantage of this opportunity, letting his malicious app ask for a set of dangerous permissions only declared on a higher Android version without being noticed by the device user. When the OS is being upgraded to the higher version, PMS first installs all new and existing system apps and registers the permissions they declare, and then moves on to install thirdparty apps from the old OS. When it is the malicious app’s turn, this time, PMS recognizes all the permissions it requests, including the ones that come with new system packages and have just been defined. In this case, everything that the app asks for is just silently granted, since these permissions are with an existing app and supposed to have already been approved by the user. However, as we know, the truth is that those new dangerous permissions have never been identified by the system before the updating and are thus never known to the user. Exploiting this weakness, a malicious app can “harvest”permissions (i.e., requesting them on the old system) and wait until an update to get them. Note that this attack can only get the app dangerous level permissions, since signature and system permissions declared by system apps cannot be granted to the third-party app and an attempt to get them will be identified during permission registration. However, there is a way to get the permissions at signature and system level: the malicious app can preempt the permissions from the new system and simply define them when it is installed. Again, since there is no such permissions on the old system, the OS just lets the app declare them, which includes specification of the permissions’ protection levels and descriptions. This process does not need the user’s intervention at all, as all these permissions are used to protect the sources that come with the app. During an update, PMS reads all existing permissions (on the old system) into the list mSettings.mPermissions. When it registers a new permission defined by a new system package, it first goes through the list: once this permission has been found on the list and the package that first defines it (on the old system) is different from the current one, the permission definition part (for the system package) is skipped. As a result, the old permission, which has been declared by the malicious app, is automatically elevated to the one that guards new system resources. That is, whenever any app needs to access the resources, a related Android service will check whether the app has this permission. Note that not only does the malicious app that defines the permission get the permission (even at the signature and system level), it is also the party that specifies the protection-level of the permission and its descriptions. In other words, the adversary can lower a system permission to a normal one and arbitrarily set its descriptions.
Shared UID Grabbing
Android security has been built upon Linux user protection. Each app running on Android is assigned a UID, which prevents it from accessing other apps’ information assets. An exception, however, is provided for those bearing the same shared UID, an attribute that comes with individual app. Specifically, two apps can declare in their manifests an identical shared UID under android: sharedUserID [17], a constant string, which causes the OS to assign them the same UID (a number) when they are installed, if they are also signed by the same party. When this happens, these apps can access each other’s data and even execute in the same process. Note that on the same device, by no means should two apps signed by different parties share their UIDs, which will completely open them to each other in terms of their individual information assets. However, this conservative treatment can be exploited by the adversary, who can craft an app bearing the same package name and shared UID as the system app from a higher-version OS. During upgrading, the app can block the installation of the system app. Interestingly, even in the case that PMS does not identify any package conflict and thus pkgSetting contains the settings from the system package itself, as long as the new package configures a shared UID, Android will retrieve from mSettings all existing packages with the same Shared UID and inspect their signatures to find out any inconsistency with that on the new package. If one such app is signed by a different party, the new package will not be installed. In this way, a malicious app only needs to preempt the new package’s shared UID to knock it out of the system. When the updating process moves Android into the recovery mode, all the APKs files under the system directory are replaced with the new ones. As a result, once a new system app fails to install, it becomes completely missing on the new OS, as its old version under system on the original system (before the upgrading) has already been overwritten. This gives the adversary an opportunity to install a malicious one in its replacement, which can be done by downloading another package through the existing malicious one, making it look like part of the upgrading. As an example an app claimed the shared UID com.google.android.calendar on 4.0.4. After the upgrading, it successfully blocked the installation of the new official calendar app without user’s awareness. Given the original calendar app was already removed, we filled this blank with a malicious calendar downloaded through the attack app, which set a filter for receiving all the intents for adding events to the calendar. This malicious calendar can be made to have the same user interface as the official calendar app.
Reuse of existing data.
Android keeps the data for both system and third-party apps under directory /data/data/PackageName, which is owned by a unique Linux UID in the absence of UID sharing. An app is only allowed to access the information under its own data directory. During an update, PMS will compare the UID recorded within pkgSetting with that of the existing data directory associated with the package name of the new system app being installed, keeping the directory when they match and clear the directory otherwise. The UID within pkgSetting is typically a new one assigned by Linux to the new system app. However, when there is another app installed on the old OS with the same package name and Shared UID. pkgSetting will contain the existing app’s information. The UID within pkgSetting is naturally the owner of its data directory under the inspection. When this happens, if the shared UIDs of the two apps are both empty, the new system app is installed but the data of the existing app is left and incorporated into the new app. Therefore, a malicious app that bears the package name of a new system app when neither has a shared UID, will be able to contaminate the latter’s data through OS upgrading. (Note that the malicious app will not be reinstalled successfully later for the package name conflict which means it will not exist in the new OS). The consequences here are serious and diverse, depending on the natures of the new apps.
Exploiting permission tree.
On Android, a permission typically can only be defined before an app has been installed. An exception is when the app specifies a permission tree [13], which is the base name (root) of a tree of permissions. An app can define such a base name in its manifest file so as to claim the ownership of all permission names within the tree. For example, given a base com.example, permissions like com.example.math1, com.example.math1.add, com.example.math2 etc. all belong to the tree. Once declaring the tree, the app controls the whole name space defined by the root, and can then add individual permission within the tree during its runtime. As discussed before, Android does not allow the existence of two permissions with the same name. What the adversary can do here is to define a permission tree, covering permissions to be added by a new Android version, through his app on a low-version OS. Those permissions are not defined yet but their names are all owned by the malicious app. During an update, PMS checks the mPermissiontrees list under mSettings before registering any new permission.
Whenever a permission’s name is found to be covered by an existing tree declared by a different package from the system package that is registering the permission, its registration process fails. Interestingly, since by default, PMS assigns every permission a signature protection-level before changing it to the actual levels at the end of a registration, this disruption produces a signature permission no one can gets, and thus prevents legitimate apps from accessing the resources the permission guards. As one example, permission.ADD_VOICEMAIL, the permission required to add voicemail became inaccessible to legitimate apps due to our attack when updating from Android 2.3 to 4.0. Also interestingly, we found that even in the presence of a permission tree defined by a system app already on the old system, the malicious app can still prevent the new system from registering any new permissions covered by the existing, legitimate tree. The key issue here is that Android allows our app to define another permission tree that also covers the existing one. For example, even though the system app google.android.gsf on Google Nexus already defines the tree google.apps.permission.GOOGLE_AUTH, our app can still declare a permission tree google.apps. permission. As a result, any related new permissions the new system adds will not be able to register even if they are within the name space of google.apps.permission.GOOGLE_AUTH, as they are also covered by our permission tree. Also note that the device user will not be aware of this problem, as Android never notifies her the failure of the registration. We found that this vulnerability can be exploited on every single Android version, given the large number of new permissions added by each update.
Blocking Google Play Services.
Google Play Services is a critical package introduced by Android 4.0 on Google compatible devices. It is used to update apps from Google Play, offering key supports for authentication, synchronized contacts, access to user private settings and location-based services. Its absence will disable some important system apps and third-party apps. We found that when a device is upgraded from Android 2.3 to 4.0 on Nexus S, this critical service is actually not part of the update image as a system app. Instead, after installing all new and existing apps, Android downloads this package from the Internet and installs it as third-party app. As a result, a malicious app on 2.3.6 using the same package name will stop the installation of the service, simply because PMS cannot have two packages with the same name coexist on the OS.
Malware distribution:
Malicious apps exploiting Pileup flaws can be easily disseminated in practice. If one attempt to upload them to both Google Play and third-party Android marketplaces. It turns out that all the apps relying on the seizure of new permissions, UIDs and content provider names have no problem being added to
Google Play. Therefore, the attack code for most exploits can be conveniently distributed and delivered to Android users. On the other hand, Google does check package names and disallows those having name conflicts with existing packages to be uploaded. However, such a restriction does not exist on third-party marketplaces so one can successfully posted his/her malicious apps using system package names on popular third party markets including Amazon Appstore, appfutura.com, appslib.com, 1mobile.com and others. Also, the adversary can propagate the malware through other channels, for example, by sending a phone user the malicious app in email attachments or just a link to download the app.

Conclusion:
Android devices are frequently upgraded, replacing and adding tens of thousands of files on a live system in the presence of a large amount of user data and existing apps. To ensure that this process goes smoothly without endangering such user assets, the Android update mechanism involves complicated program logic and inevitably becomes error-prone. In this paper, we report the first systematic study on the security implications of this problem. Our research reveals Pileup, a new type of privilege escalation vulnerabilities within the updating logic. Exploiting Pileup flaws, a malicious app can use what it declares on a low-version system to gain system capabilities on the new OS after an upgrade, involving gaining system and signature level permissions, substituting system apps, contaminating browser data and blocking the installation of new system apps. We performed a large-scale measurement study to confirm the presence of such flaws in all Android versions, official or customized.

Similar Documents

Premium Essay

Software Engineering

...the current students of Batangas State University whose aim is for the ease of access in giving information for every individual especially the population of the CECS department within the univsersity. The concept was initiated as part of their project in software engeneering. The study accentuate for the essential methodology in using computers in an ideal purpose of educating people. The objectives of an android application is to help the students easily view the curriculum of of the CECS deparment without the effort of going to the registrar’s office. PROCESS DOCUMENTATION PLANS AND SCHEDULES 1. Statement of the Problem The proposed android application entitled CECS curriculum application aims to give portability of users in accessing the department’s curriculum which is the CECS department in accessing the curriculum instead of still going to the registrar’s office to accomplish the said task. 1. Detailed Statement of the Problem The original version of viewing the CECS curriculum was not subjected to be used for android phones or other mobile devices. When students need to see the CECS curriculum they still need to go to the registrar’s office to do so. Performing the current process is time consuming especially if the concerned person is absent or not available. 2. Motivation The prosponents proposed this project to enhance its features...

Words: 3159 - Pages: 13

Free Essay

Term Papaer

...Although the term Smartphone was first used in 1992, apple was the first company to release a Smartphone to a wider audience. This evolution is led by computer manufacturers and software companies and not handset manufacturers, which have controlled the market thus far. One competitor to apple Iphone OS is the android OS. Android originates from a small software company, acquired by Google and is now owned by open handset alliance (OHA), where Google is a member. OHA has over a hundred member companies such as mobile operators semiconductor companies handset manufacturers, software companies and commercialisation companies. Android is an emerging mobile technology still in the development phases. Early releases of the SDK have been made available to the mobile developer community to start writing applications before handsets are available on the market. Fully featured Android handsets are expected to start shipping towards the end of 2008 or early 2009. Android is a new mobile platform based on Java running on top of a Linux kernel. For now, Java is the only development language available, but eventually Android may support other programming languages. Android has a complete set of application programming interfaces available for everything from user-interface components to accessing location information. Background of the Study According to...

Words: 7822 - Pages: 32

Premium Essay

Ios Essay

...Keila Sharp, Operating Systems Apple Operating System Many people have smart phones, which are used for many different things. Every phone has a different type of software. In the United States over 700 million iphones have been sold in 2015. Phones get low on storage due to pictures, videos, games, etc. Updating your software lets your phone operate at normal speed after being crammed with a lot of data. You see people getting upset that their phones “lags” or they will throw it, this is probably due to not updating it. Updating your software is something that everyone should do. Phones get low on storage due to pictures, videos, games, etc. Iphones ask you to backup all of your information on a computer onto a flashdrive. This is very beneficial because it’ll clear out the unnecessary data, then update your phone which will also make your phone run faster. New applications are in updates, so there will be new shortcuts and more security. I myself have an iphone, I update it as soon as possible. Apple is very useful in many ways. Everyone knows that siri is available, she will research any question asked. You can also ask about any upcoming events or even schedule an event. There are three different voices to choose from. Samantha, Daniel, and Karen which were all made in 2005 and were put onto the Iphone 4s. Every question is sent to apple so you get a response for every question you ask. Getting a job at the apple headquarters is much harder than getting accepted...

Words: 846 - Pages: 4

Premium Essay

Rwt1 Business Report

...  Versatility 6  Security 6  Analysis 6 Android OS 6  Pro’s and Con’s 6  Ease of use 7  Versatility 7  Security 7  Analysis 8 Microsoft Windows OS 8  Pro’s and Con’s 8  Ease of use 9  Versatility 9  Security 9  Analysis 9 Recommendations 11 Conclusion 12 References 13 Executive Summary As we prepare to arm our Sales Managers with a devise that will not only keep us competitive in the market, but give us a technological advantage over our competitors. Allowing them to: • Present sales pitch to the customer • Analyze sales performance • Track Sales in real time • Manage Sales Force • Manage Accounts • Conduct training • Keep our data secure • Order equipment direct to the market We must decide which OS best fits our needs. We have researched in depth the three leading operating systems on the market. Apple IOS, Android Jelly Bean, and Microsoft Windows 8.1. While each operating system had great advantages and disadvantages we found the following to be true: Microsoft Windows 8.1 is the clear winner. I recommend we provide each Sales Manager with a phone and tablet computer running the Windows 8.1 operating system by Microsoft. It will give them everything they need, a laptop, tablet and phone that will work seamlessly together. 1. I recommend the first step we take is to research the best devise to operate the Windows 8.1 operating system. In terms of processing speed, battery life, durability...

Words: 4102 - Pages: 17

Free Essay

Mr Atto

...Card Playing Android Game Submitted to: Sir M Wasif Nisar Sir Kashif Ayyub Submitted by: Arslan Tariq SP11-BS(CS)-024 Furqan Jalil SP11-BS(CS)-003 COMSATS Institute of Information Technology Wah Campus Table Of contents 1. Introduction ……………………………………………………………3page 2. Product Scope ………………………………………………………….4page 3. Objectives of Project …………………………………………………..5page 4. Product Functions ……………………………………………………..6page 5. Functional Requirements ……………………………………………..7page 6. Interface Requirements ……………………………………………….8page 7. Non-functional Requirements ………………………………………..9page 8. Limitations and Constraints ………………………………………..10page 9. System features ……………………………………………………...10page 10. Appendix ……………………………………………………………..11page 11. References ……………………………………………………………12page Introduction We have proposed to make a card playing android application on the base of Bluetooth or Wifi where 2 3 or 4 users play that game through WIFI or Bluetooth communication by making this application or software multiplayer will be able to play. Basically it can be used for playing cards and help you can play cards with your friends with help of this application anywhere and anytime without any delay; when you are out with your friends and your friends seems bored so you can play...

Words: 2091 - Pages: 9

Free Essay

Econ202

...processes business data concerned with inventory, customers and vendors), networking and telecommunications technology, and technology services. -Two major types of computer software used in business: system software and application software. System software coordinates the various parts of the computer system and mediates between application software and computer hardware. Application software is used to develop specific business applications. -Cloud computing provides computer processing, storage, software, and other services as virtualized resources over a network, primarily the Internet, on an as-needed basis. -Mangers and information systems specialists need to pay special attention to hardware capacity planning the scalability to ensure that the firm has enough computing power for its current and future needs. -Example: BART(bay area rapid transit) speeds up with a new IT infrastructure. Oracle’s Peoplesoft enterprise applications replaced legacy applications. Used blade servers, grid architecture, and virtualization, increasing server capacity utilization to 50% or more. It demonstrates IT’s role in using resources more efficiently, reducing computer energy usage, modernizing services. -IT infrastructure: provides platform for supporting all information systems in the business. -Hardware: types of computers: mobile devices, PCs, workstations, servers, mainframes, supercomputer, grid computing, Client/server computing (Two-tiered client/server architecture,...

Words: 486 - Pages: 2

Premium Essay

Htc No Me-Too Products, Why Not?

...innovative than the current offerings by competitors. Second, the 3G smartphone market is far from saturated. With HTC’s brand and R&D ability, HTC can vastly improve its market share. Third, Good artists borrow great artists steal--Pablo Picasso To implement and maximize the Me-Too Products strategy, my recommendations are as following: 1. Ensure the originality and creativity of “Me-to Products” • “Learn” from Samsung and “Steal” from Apple • Not necessarily price war involved, stay cool and stay stylish • Disruptive innovation—develop “Textbook” for students and “Solus” for the senior citizens. • Stick to Google Android system 2. Remain the pioneer of mobile computing a decade later • Keep the R&D intensity over 8 • Cooperate with both Google and Microsoft to develop products with Android and Windows systems at a ration of 2:1. 3. Transit from 3G to 4G • Develop the under-developed market, China and India, • Co-brand with China Mobile with a current 500 million subscribers • Emphasize “Quietly Brilliant” in East Asian countries...

Words: 2249 - Pages: 9

Premium Essay

Smartphones Operating Systems

...Operating system : An operating system (OS) is a collection of software that manages computer hardware resources and provides common services for computer programs. The operating system is an essential component of the system software in a computer system. Application programs usually require an operating system to function. Time-sharing operating systems schedule tasks for efficient use of the system and may also include accounting software for cost allocation of processor time, mass storage, printing, and other resources. For hardware functions such as input and output and memory allocation, the operating system acts as an intermediary between programs and the computer hardware, although the application code is usually executed directly by the hardware and will frequently make a system call to an OS function or be interrupted by it. Operating systems can be found on almost any device that contains a computer—from cellular phones and video game consoles to supercomputers and web servers. Examples of popular modern operating systems include Android, BSD, iOS, Linux, OS X, QNX, Microsoft Windows, Windows Phone, and IBM z/OS. All these, except Windows, Windows Phone and z/OS, share roots in UNIX. Smartphone A Smartphone, or smart phone, is a mobile phone built on a mobile operating system, with more advanced computing capability and connectivity than a feature phone. The first smartphones combined the functions of a personal digital assistant (PDA), including email...

Words: 15551 - Pages: 63

Premium Essay

Apple Inc. Case Analysis

...product design * Superior supply chain and manufacturing efficiencies * Product reliability * Highly effective advertising * Ongoing use of superior operating systems * Worldwide demand for the iPhone * Mac’s increasing domestic market share * Management is committed and confident * Allowing iTunes songs to be sold online without DRM | Weaknesses * The loss of Steve Job’s visionary spirit and superior leadership * Lack of compatibility options in its software * High R&D costs * iPhone’s late move to Verizon network * Safari’s conservative interface compared with Google Chrome’s * Apple does not have it’s own processors or memory, they rely on other companies for them * No plans to producte a netbook laptop | Opportunities * Expansion to a broader range of customers with lower cost product options. * Targeting of government and additional educational institutions. * Entry to new foreign markets. * Constant growth in the PC and smartphone segment. * Expansion into the gaming market * Growing market of energy efficient products * Production of Netbooks | Threats * Competitors with less expensive products * Competition in technology with other key players in the PC industry like HP, Dell, Acer * Competitors trying to recreate iTunes * Increasing popularity of Google Android * Retention of key staff critical | Grand Strategy: Growth; increase market share by growing at a faster rate that the industry average. Recommendations...

Words: 788 - Pages: 4

Free Essay

Rooting

...What is Rooting on Android? The Advantages and Disadvantages “What is rooting? Why should I root my Android device?” These are common questions that I get asked quite often. Today’s lesson is to talk to you about both the advantages and disadvantages of rooting your Android devices. But before we get started, a word of caution: rooting or modifying your phone in any way will void your manufacturer’s warranty and possibly “brick” it. What does “bricking” your device mean you ask? Exactly what you think… It means screwing up your phone software so badly that your phone can no longer function properly and is pretty much as useless as a brick. I do not in any way recommend anyone to root their Android device. This article is simply to introduce you to the subject of rooting and present you with both the pro’s and con’s so that you can make an educated decision on your own. *What is Rooting?*         “Rooting” your device means obtaining “superuser” rights and permissions to your Android’s software. With these elevated user privileges, you gain the ability to load custom software (ROM’s), install custom themes, increase performance, increase battery life, and the ability to install software that would otherwise cost extra money (ex: WiFi tethering). Rooting is essentially “hacking” your Android device. In the iPhone world, this would be the equivalent to “Jailbreaking” your phone. *Why is it called Rooting?*            The term “root” comes from the Unix/Linux...

Words: 1388 - Pages: 6

Premium Essay

Pdf Com Ap

...Operating Systems When you purchase a computer or mobile device, it usually has an operating system and other tools installed. As previously discussed, the operating system and related tools collectively are known as system software because they consist of the programs that control or maintain the operations of the computer and its devices. An operating system (OS) is a set of programs that coordinate all the activities among computer or mobile device hardware. Other tools, enable you to perform maintenance-type tasks usually related to managing devices, media, and programs used by computers and mobile devices. Most operating systems perform similar functions that include starting and shutting down a computer or mobile device, providing a user interface, managing programs, managing memory, coordinating tasks, configuring devices, monitoring performance, establishing an Internet connection, providing file management and other device or media-related tasks, and updating operating system software. Some operating systems also allow users to control a network and administer security. Although an operating system often can run from a USB flash drive, media in an optical drive, or an external drive, in most cases, an operating system resides inside a computer or mobile device. For example, it is installed on a hard drive in a laptop or desktop. On mobile devices, the operating system may reside on firmware in the device. Firmware consists of ROM chips or flash memory chips that store...

Words: 6841 - Pages: 28

Free Essay

Google's Strategy

...Google.com, which included links to search items and Google apps. The navigation bar morphed into the Google menu in 2011, which offered a slicker, redesigned user interface ready to take users to their desired Google application and featuring a prominent placement for Google+. Starting with 2012, Google brought a major new element to search, the Google Now virtual assistant that debuted on Android and expanded on iOS and the desktop to deliver even more personal search results to users. Google has further refined Google.com in the following years, by offering a minimal navigation bar that doesn’t “steal” the user’s attention. The bar however still offers access to apps and Google’s Google+ social network. Google also added voice-based search support to Google.com, as well as quick access to favorite sites. Helping people get around online is still Google’s main product and everything else it does is somehow related to search – in fact, search-related ad revenue is how Google is actually able to pay for all other projects. Today, the world’s most popular smartphone operating system, self-driving cars, smart robots, and balloons that can deliver an Internet connection to remote areas are some of Google’s most interesting projects, but they wouldn’t even exist without Search. Almost all of...

Words: 1018 - Pages: 5

Premium Essay

Windows Linux Security

...International Journal of Electrical & Computer Sciences IJECS-IJENS Vol:12 No:04 25 Studying Main Differences Between Linux & Windows Operating Systems Lecturer/ Hadeel Tariq Al-Rayes  Abstract—Comparisons between the Microsoft Windows and Linux computer operating systems are a long-running discussion topic within the personal computer industry. Throughout the entire period of the Windows 9x systems through the introduction of Windows 7, Windows has retained an extremely large retail sales majority among operating systems for personal desktop use, while Linux has sustained its status as the most prominent Free Software and Open Source operating system. After their initial clash, both operating systems moved beyond the user base of the personal computer market and share a rivalry on a variety of other devices, with offerings for the server and embedded systems markets, and mobile internet access. Linux and Microsoft Windows differ in philosophy, cost, versatility and stability, with each seeking to improve in their perceived weaker areas. Comparisons of the two operating systems tend to reflect their origins, historic user bases and distribution models. Index Term— Kernel, Linux, Operating Systems, Windows II. THE ESSENTIAL DIFFERENCES BETWEEN LINUX & WINDOWS (BEGINNERS LEVEL) 1- Drives don’t have letters, they have mountpoints The first thing that usually trips up people who come from Windows to Linux is that filesystems aren’t assigned letters the way they...

Words: 5726 - Pages: 23

Premium Essay

Apple Case

...Roy Esgrow Ben Kourian Bishoy Mesdary Anthony Owen Georges Raphael Apple Within the case of Apple Inc. in 2012 my team will discuss how Apple’s strategy of differentiation helped cultivate a competitive advantage within the PC industry. Next, we will take a look at the current state of the PC industry and how attractive we believe the industry will be going forward. Lastly, after looking at Apple’s past strategy and how successful the PC industry today we’ll discuss if Apple will continue to succeed into the future. When Steve Jobs to over Apple in 1997 he quickly he established an overall differentiation strategy. He believed that having narrow product line of easy-to-use computers and other technological products would help separate themselves from their competitors. They went even further with their promotion of themselves, creating an image of being a hip alternative to the current PC market. This, combined with Apple’s ability to drive down costs with their streamlined supply chain helped them create a large profit margin that let them hold a competitive edge on the rest of the market and helped Apple hit every aspect of VRIO. They further differentiated themselves with the announcement of the iPhone in 2007 that combined in Job's words “a widescreen iPod with touch controls, a revolutionary mobile phone and breakthrough communications device”. The creation of iLife, the App store and iTunes also set the company apart from their competitors by creating a unique experience...

Words: 967 - Pages: 4

Free Essay

Research Paper

...1.0 Introduction Android has emerged as a new mobile development platform, building on past successes while avoiding past failures of other platforms. Designed to empower mobile software developers to write innovative mobile applications, Android is open source platform, with no up-front fees, and developers enjoy many benefits over other competing platforms. Touted as an innovative and open platform, Android is being positioned to address the growing needs of the mobile marketplace. To understand what makes Android so compelling, we must examine how mobile software development has evolved over time. 2.1 Background of the Study The Dominican College of Tarlac is located at Sto. Rosario St. Capas, Tarlac. The College of Computer Studies started its offer last June 2009 headed by Mrs. Carolina C. Sanchez. Course offered under College of Computer Studies are BSIT, Computer Programming, Computer Secretary, Computer Technician. The instructors/professors under this department namely; Mr. Ronaldo Bayani, Mr. Renmark Salalila, Mr. Christopher Tulabut, Mr. Charlie Tullao, Ms. Raechel Ann D. Capiz & Mrs. Jane Diaz 2.2 Overview of the Current State of Technology 2.3.1 Policies and Procedures * Announcement of Events CCS Instructors makes an announcement to students. * File Sharing CCS Instructors distribute handouts to students. 2.3.2 Problems of the Current System * Not every student knows the announcements because some of them...

Words: 2711 - Pages: 11