• February 28, 2024

【安卓手機病毒英文名】的過程原創 |Push |Ghost |

現在世界上有84%人口擁有智能手機,我們手機依賴程度增加,而這些設備成為吸引騙子平台。

但是,你怎麼知道你手機是否成為目標?你能做些什麼呢?

像個人電腦,手機會惡意軟件入侵。

例如,Hummingbad病毒2016年創建後幾個月內感染了1000萬台安卓設備,並使多達8500萬台設備處於危險之中。

情況下,手機病毒工作方式電腦病毒:惡意代碼感染你設備,然後自我複製,並通過自動你聯繫人列表中其他人發送信息或自動轉發自己電郵傳播到其他設備。

病毒可以限制你手機功能,你個人信息發送給黑客,你聯繫人發送鏈接到惡意軟件垃圾郵件,允許病毒操作者通過捕捉你屏幕和鍵盤輸入以及跟蹤你地理位置來“監視”你。

澳大利亞競爭和消費者委員會(ACCC)詐騙監察服務(Scamwatch)2021年短短八週內收到了1.6萬份Flubot木馬病毒報告。這種病毒向安卓和蘋果手機用户發送帶有惡意軟件鏈接文本信息。點擊這些鏈接會導致一個應用程序下載到你手機上,讓騙子獲得你個人信息。

五月澳大利亞聯邦大選即,從外交、移民、國防、氣候變化到教育、醫療、住房、養老、反腐,各大政黨這些問題上政策是什麼?ABC您解讀。

雖然蘋果設備認為安卓系統安全,而且受到病毒攻擊,但那些蘋果手機進行“越獄”操作或修改手機程序用户會使自己面臨安全漏洞風險。

,安卓用户如果Google Play商店以外地方安裝應用程序,會增加他們安裝惡意軟件風險。所以建議所有手機用户保持警惕,因為蘋果和安卓系統出現安全風險。

另一方面,手機病毒抵禦個人電腦。這是因為軟件是通過授權應用商店安裝,這些商店會每個應用進行審查(儘管一些應用會瞞天過海)。

此外,電腦相比,手機安全,因為應用程序“沙盒封裝”自己孤立環境中,無法訪問或幹擾其他應用程序。這減少了惡意軟件感染或交叉污染風險。然而,沒有任何設備是完全會受病毒侵襲。

雖然並判斷你手機是否感染,但如果它感染了,會表現出一些行為。一些需要注意跡象包括:

如果你確實懷疑有病毒感染了你手機,你可以採取一些措施。,防止進一步損害,你需要刪除惡意軟件。下面是一些故障排除步驟。

找busybox時,想到了另外一種方式。既然機器root了,那我可以這些殺毒工具root權限,讓殺毒工具來做刪除操作,這樣操作了。

分析當前環境,adb shell進入,默認root用户,但是系統安裝應用提示沒有root。android終端應裏,嘗試通過su命令切換到root用户,提示su不存在。

給殺毒工具root權限後,剩下可以交給工具了。

android設備中了病毒,每隔幾分鐘自動彈色情廣告,或者是下載安裝應用。應用管理看到奇怪進程。

使用查殺工具-木馬殺(英文名應該是Stubborn Trojan Killer),可以看到中了推病毒,有另外幾個病毒,但是這個工具獲取到root權限情況下,並不能夠清除病毒。推測病毒之間存在進程守護,某個病毒殺死後,可以其他病毒喚醒。

嘗試設備上安裝虛端,進入/system/app/路徑下,可以看到病毒進程同名apk文件,apk用户和用户組是root,但是設備無法用root用户進行操作,沒有權限刪除病毒apk。嘗試多種root工具無法root。

嘗試通過adb操作設備,於設備是android盒子,無法用USB連接。

因此執行完以上操作後(可能還需要啓一下設備),通過adb能root用户操作了。

病毒包名起有迷惑性,apk名和包名不一致。(有病毒包名有迷惑性,比如com.android.system.uiset,像系統原生應用,怎麼判斷是否為原生,下文有提及)

(1)應用管理中,奇怪進程包名

/system/app/路徑下,apk刪掉可以了。如果是/data/data/路徑下文件,可以使用pm uninstall 命令來卸載。

後使用360之類工具,做一個全盤掃描,可以掉一些存儲sdcard裏病毒apk文件。

該病毒應該是利用了系統漏洞,系統進行了root,後自身提權,不能讓用户刪除,同時有進程守護,避免進程用户殺死。想要解決問題,目前只能是系統進行root。

Get Infected with Ghost Push? Don’t worry, here’s the fix!

adb命令查看apk信息, adb啓動你apk

Android(讀音:英:[‘ændrɔɪd],美:[ˈænˌdrɔɪd]),香港通用原名「Android」,只有在中國大陸和華人地區使用非官方名稱「安卓」[註 1],是一個基於Linux核心與其他開源軟件開放原始碼行動作業系統,谷歌成立開放手機聯盟持續領導開發。

Android Inc.於2003年10月安迪·魯賓、利奇·米納爾、尼克·席爾斯、克里斯·懷特加州帕羅奧圖創建。Android最初由安迪·魯賓人開發製作[15],最初開發這個系統早期方向是創建一個數位作業系統,但是後來發現相機市場規模實現其目標,轉而開發智慧型手機系統,於是Android成為一款面向智慧型手機作業系統。於2005年7月11日Android Inc.美國科技企業Google收購[16][17]。

2007年11月,Google84家體製造商、軟體開發商及電信營運商成立開放手機聯盟來研發Android,隨後,GoogleApache免費開放原始碼許可證授權方式,發佈了Android原始碼[18],開放原始碼加速了Android普及,讓生產商推出搭載Android智慧型手機[19][20][21][22],Android後來拓展到平板電腦及其他領域上[23]。

2010年末數據顯示,僅正式推出兩年Android作業系統市場佔有率上超越稱霸逾十年諾基亞Symbian系統[24][25],成為全球第一智慧型手機作業系統[26]。

截至2023年2月,StatCounter統計,美國、英國、加拿大、巴哈馬、冰島、挪威、瑞典、丹麥、瑞士、科索沃、日本、台灣和澳大利亞外,其他所有國家和地區Android是使用智慧型手機作業系統[28]。

2003年10月,有「Android之父」稱安迪·魯賓[30]、利奇·米納爾[31]、尼克·席爾斯(英語:Nick Sears)[32]、克里斯·懷特[33]美國加利福尼亞州帕羅奧圖成立了Android科技公司(英文:Android Inc.),魯賓Android項目描述為「有潛能開發智能行動設備,瞭解其用户位置及[34]。」該公司早期方向是數碼開發作業系統,此是2004年4月該公司投資者介紹基礎[35]。儘管Android科技公司創始人和員工過去具有各自科技成就,但是Android科技公司經營顯露出它智慧型手機軟體方面,該公司隨後認為相機市場不足以實現其目標,並且5個月後努力Android轉移到一款可Symbian及Windows Mobile媲美手機作業系統[35][36]。

Android科技公司成立初期,魯賓吸引投資者方面遇到困難,他公司花光所有錢,使公司面臨著驅逐景況。此時,魯賓一位密友,史蒂夫·帕爾曼(Steve Perlman)他一個裡面裝有1萬美元現金信封,此後,此筆披露金額視為種子資金。然而帕爾曼拒絕魯賓他股份,他並投資方式魯賓這筆錢,他表示:「我這樣做是因為我相信這件事,並且我想幫安迪。」[37][38][39]

Android是一個全身綠色機器人,半圓形頭部,有兩支天線和空白作為眼睛。它頭部身體之間有空白區域,相似於一枚有平底雞蛋,兩側各有兩個圓角矩形,作為它雙臂。Android標誌是Ascender公司設計,顏色採用了PMS 376C和RGB中十六進制#A4C639來繪製,這是Android作業系統品牌象徵[40]。當中文字使用了Ascender公司門製作稱“Google Droid”字型[41]。有時候,它會文字標誌展示[42]。

2006年12月,《華爾街日報》和英國廣播公司(BBC)報導了Google有機會進入流動領域傳聞[47],Google有可能推廣行動領域下各種Google服務,並且推出一款名Google電話自有品牌智慧型手機。另有傳聞指出,Google作風,有可能呈現出新智慧型手機製造商和運營商模式。傳聞指其早期原型BlackBerry手機相似,沒有觸控螢幕和物理QWERTY鍵盤,但這是而做,因為當時Windows Mobile手機有很多是這樣設計[44]。然而2007年蘋果公司推出iPhone,這令Android創始人安迪·魯賓原型[48],意味著Android系統設計「回到草稿來過」[49][50]。Google後來修改了Android系統規範文檔,指出「支援觸控螢幕」,雖然「產品設計是離散物理鈕作為假設,因此觸控螢幕不能完全取代物理鈕」[51]。

2007年9月,Google提交了多項行動領域專利申請。但並沒有人知道,Google會推出是一款名Android智慧型手機作業系統。猜測是,Google會推出一款像iPhone一樣自有品牌智慧型手機系列。[52][53][54]

2007年9月,數碼雜誌《Information Week》報導了一項Evalueserve研究報告,指Google行動電話領域上提交了多份專利申請[55][56]。

2007年11月5日,Google領導下,成立了開放手機聯盟(Open Handset Alliance),那是包括Google內科技公司聯盟,其他成員包括HTC、摩托羅拉、Samsung設備製造商,無線運營商則包括Sprint及T-Mobile,晶片製造商高通及德州儀器,目標是行動裝置開發「首個開放和全面行動設備平台」[57][58][59]。隨後,其他廠商加入,包括Broadcom、Intel、LG、Marvell。聯盟開放手持裝置聯盟建立目的是創建一個開放行動電話環境。而開放手持裝置聯盟創建同一日,聯盟外展示了他們第一個產品:一部搭載了以Linux 2.6核心基礎Android作業系統智慧型手機。該年內,開放手機聯盟正面對著另外兩個其他開源碼競爭手,包括Symbian基金會和LiMo基金會,LiMo基金會開發了一個基於Linux行動作業系統,如Google。

2008年12月9日,一批成員加入開放手持裝置聯盟,包括ARM、華、索尼公司[60][61]。

自2008年以來,Android已有許多改進其作業系統,並增加了功能及修復了以前版本錯誤。每個主要版本名稱甜品或含糖小食並字母順序來命名,最初幾個Android版本此順序稱為「紙杯蛋糕(Cupcake)」、「圈(Donut)」、「閃電泡芙(Eclair)」和「優格霜淇淋(Froyo)」。

iPhone 3G能媲美,諾基亞和黑莓手機於2008年均宣佈有關觸控螢幕智能手機資訊,Android焦點轉向觸控螢幕。第一款運行Android系統商用智能手機是HTC Dream,名為T-Mobile G1,該智能手機於2008年9月23日發布[62][63]。

同時,一個負責持續發展Android作業系統開源代碼專案成立了AOSP(Android Open Source Project)。[64]開放手持裝置聯盟之外,Android擁有全球各地開發人員組成開源社羣來門負責開發Android應用程式和第三方Android作業系統來延長和擴展Android功能和性能。[65][66]

隨著2013年Android發布版本巧克力,Google解釋「於這些設備使我們生活如此,每個Android版本甜品來命名」,雖然Google發言人接受CNN訪談時指:「這有點像內部團隊事情,我們願意做多一點—我該怎説呢—我會説這個問題上有點捉摸[67]。」

2010年,Google推出了Nexus系列裝置,他們合作設備製造商一起生產新設備並推出Android版本。該系列形容為「透過引入軟件迭代和硬件標準使其Android歷史中發揮了關鍵作用,並成為不會因”歷代”導致軟件膨脹而聞名[68]」。2013年5月Google開發者大會上,他們宣佈了Samsung Galaxy S4版,版於它搭載了原生Android,並承諾能接收系統[69]。裝置成為「Google Play Edition」開始,其他設備會隨之而來,包括HTC One (M7)以及Moto G[70]。2015年,Google Play Edition版步入了歷史。

20082013年,雨果·巴拉擔任Android產品發言人,參與Google年度開發人員會議Google開發者大會。他於2013年8月離開Google,並加入中國手機製造商小米[71][72]。他離任六個月前,Google時任CEO賴利·佩吉一篇博客文章中宣佈,魯賓Android部門轉移到Google新項目,而桑德爾·皮蔡會成為Android新主管[73][74]。皮蔡本人轉換了職位,隨著Google重組大型聯合Alphabet集團[75][76],他2015年8月成為了Google新任CEO,讓浩史·洛克海默(英語:Hiroshi Lockheimer)成為Android新任負責人[77][78]。

2016年10月,Google發布智能手機Pixel,作為Google推出第一款手機[90][91],並且推出之前,專門展示某些軟件功能,例如Google助理[92][93]。Pixel手機取代了Nexus系列。

2019年8月23日,Google宣佈Android Q開始甜品命名,且直接稱Android QAndroid 10[94]。

2021年9月27日起,Android2.3.7及以下Android版本登入Gmail、YouTube、Google地圖相關App,無法創立或登入Google帳號[95]。

Android預設用户界面主要基於直接操作,透過觸控鬆散地應現動作作出輸入,例如滑動、點擊、捏動和反向擠壓,隨著擬鍵盤,操控屏幕上物件[96]。遊戲控制器及物理鍵盤能透過藍牙或USB得到支援[97][98]。回應用家輸入方面,設計旨在提供觸摸界面,使用設備振動功能用户提供觸覺反饋。內部硬件,例如是加速規、陀螺儀、距離傳感器能某些應用程式來回應用户操作,例如裝置方向來屏幕縱向調整橫向[99],用户透過旋轉裝置,賽車遊戲中駕駛車輛[100]。

當Android裝置啟動會進入主畫面,那是裝置主要導航及信息「樞紐」,類似於個人電腦桌面。Android主畫面應用程序圖標及小工具(widget)組成,應用程序圖標啟動相關應用程序,而小工具會顯示,並會自動內容,例如天氣預報、用户電子郵件,或是直接主畫面上看新聞摘要[101]。主畫面可以若干頁面組成,用户可以這些頁面之間來回滑動[102]。Google Play上提供第三方應用程式,而其他應用程式商店可以使用定義主畫面主題包[103],模仿其他作業系統外觀,例如Windows Phone[104]。大多數製造商會定製他們Android設備外觀和功能,競爭手中脱穎而出[105]。

屏幕頂部是狀態欄,顯示有關裝置及其連接資訊。用户可狀態欄「拉下」,顯示應用程式顯示信息,或屏幕通知[102]。通知是「當用户應用程序非使用時所提供簡短、及時和相關訊息[106]。」當點擊了,用户會引導到該app內該通知相關屏幕。Android Jelly Bean開始,可擴展通知「允許用户透過點擊通知上圖標,以便它擴展和顯示通知中得知信息以及有可能應用操作[107]。」

「所有應用程序」屏幕會所有安裝應用程式,用户可以應用程序從列表拖曳到主畫面上。「最近」屏幕讓用户最近使用過應用程序之間進行切換[102]。

應用程式(簡稱apps)是擴展裝置功能軟件,是利用Android軟件開發工具包(SDK)編寫[108],是Java編程語言[109]。Java可以C語言或C++[110]結合使用,並且可以選擇默認執行時函式庫共用,允許獲得C++支援[111]。雖然GoogleGo是有一組應用程式介面(API),然而它支持編程語言[112]。2017年5月,Google宣佈支援Kotlin程式語言[113][114]。

Android擁有多第三方應用程序選擇,用户可以透過下載和安裝應用程序APK(Android應用程序包),或利用應用程式商店來下載,允許用户那裡進行安裝、和移除。Google Play是安裝Android裝置上主要應用程式商店,那些程式符合Google兼容性要求,並獲得Google行動服務軟件許可[5][117]。Google Play商店允許用户瀏覽、下載及Google和第三方開發者發布應用程序。

於Android系統開放性質,使它吸引許多第三方應用程式市場競爭,及於違反了Google Play商店政策或是其他原因而允許發布應用程式替代品,第三方應用程式商店例子包括是亞馬遜應用商店、GetJar(英語:GetJar)及SlideMe。另一個替代市場F-Droid,旨在提供(英語:Free software license)和開源許可下分發應用程式[5][118][119][120]。

於Android設備採用電池供電,因此Android旨在管理流程耗電降。應用程式使用時,系統會其操作,雖然可以關閉期間使用,但它並會使用電池電源或CPU資源[121][122]。當內存時,系統會自動隱藏地開始關閉長時間內處於非活躍狀態下進程[123][124]。Lifehacker2011年報告指出,第三方任務殺手應用程序是弊於利[125]。

Android主要硬體平台ARM架構(包括ARMv7及ARMv8-A ),階版本Android中正式支援x86及x86-64架構[126][127][128][129]。非官方Android-x86項目得到官方正式支援之前x86架構提供支援[130][131]。ARMv5TE和MIPS32/64架構於過去得到支援,但後來Android版本中遭到刪除[132]。自2012年以來,隨著擁有英特爾處理器Android裝置開始出現,包括手機[133]及平板電腦。得到64位元平台支援同時,Android最初是64位元x86上運行,後來ARM64。Android 5.0 “Lollipop”以來,32位元變體(32-bit variants)外,還支持所有64位元變體(64-bit variants)平台。

延伸閱讀…

新型Android手機病毒氾濫

分析:您的手機會中病毒嗎?會,但要仔細看才能發現

運作Android 7.1裝置RAM要求範圍最佳硬體2GB降到見屏幕1GB;規格32位元智慧型手機需要512MB。Android 4.4建議是需要512MBRAM,而於「RAM」設備,340MB是必需容量,包括專用內存各種硬體組件,例如基帶處理器[134]。Android 4.4 需要32位元ARMv7, MIPS或x86架構處理器(後兩者是非官方連接埠)[130][131],以及OpenGL ES 2.0兼容圖形處理器(GPU)使用[135]。Android支援OpenGL ES 1.1、2.0、3.0、3.1及截至現時主要版本3.2及自Android 7.0Vulkan (API)(和版本1.1適用於某些裝置[136])。某些應用程式可能會明確要求使用某個版本OpenGL ES,並且運行此類應用程序需要GPU硬體[135]。

Android裝置包括了許多可選硬體部件,包括靜止或視頻錄像機、GPS、方向傳感器(英語:Orientation sensing)、專用遊戲控制器、加速規、陀螺儀、氣壓計、磁強計、接近傳感器、壓力傳感器、温度計和觸控螢幕。某些硬體組件不是必需,但某些類別設備(如智能手機)中成為了標準組件,若存在其他要求,適用。最初需要一些其他硬體,但那些要求放寬或完全取消。例如,於Android最初是作為手機作業系統而開發,因此麥克風那些硬體,而隨著時間推移,這些手機功能變成可選項目[137]。Android需要一台自動對焦相機,這款放寬到成為焦距[137],若是現存話,當Android開始數位視訊轉換盒(俗稱機頂盒)上使用時,能完全丟棄了。

Android智慧型手機和平板電腦上運作外,還可以一些附有鍵盤和滑鼠普通PC硬體上運作[138][139][140][141]。可商用硬體上使用外,Android有類似於PC硬體版本,可以Android-x86項目中免費提供,包括個人訂制Android 4.4版本[142]。使用作為Android SDK(英語:Android SDK)一部分仿真器,或第三方仿真器,Android可以x86架構上地執行[143][144]。中國一些公司基於Android,正在構建PC行動裝置作業系統,是「Google AndroidMicrosoft Windows之間直接競爭[145]。」中國工程學院指出,隨著中國禁止政府電腦上使用Windows 8,數十家公司正在定製Android系統[146][147][148]。

Android是Google開發,直至準備發布前修改及,這一點上原始碼可供Android開源項目(AOSP)使用[149],這是一個Google領導開源計劃[150]。AOSP代碼可於無需修改選定設備中找到,主要是Google Nexus及Google Pixel系列裝置[151]。反過來説,那些開源碼是代工生產定製和調整他們硬件上執行[152][153]。此外,Android源代碼並包含某些硬件組件所需專有驅動程式[154],因此大多數Android裝置(包括Google自己裝置)會附帶著及開放源碼軟件及專有軟件組合,伴隨著用於進入Google服務所需軟件,會落入後者一類。

隨著版本作業系統,Android設備中硬件變化會導致軟件升級有延誤,而修補程式需時幾個月才能到達消費者手中,有時沒有。製造商和運營商缺乏售後支援服務受到消費者羣及科技媒體批評[187][188][189]。一些評論員指出了一點,指這個行業有一個金融刺激而會他們裝置升級,於缺乏現有裝置,故推動購買新產品[190],這種態度形容為「侮辱」[189]。《衞報》抱怨指分發方法複雜只是製造商和運營商都是這樣設計[189]。2011年,Google眾多業內人士合作宣佈推出「Android聯盟」,承諾每台裝置發布後18個月內提供及時,然而,宣佈來,關於那個聯盟並沒有另外一個官方説法[184][191]。

2012年,Google開始作業系統某些方面(是其核心應用程式方面)脱鈎,這樣他們可以通過Google Play商店獨作業系統作。其中一個組件—Google Play服務,是個閉源、系統級程序,可為Google服務提供應用程式介面,執行Android Froyo或版本裝置上安裝。通過這些特性,Google可以透過Play服務添加系統功能及應用程式而毋需升級分發到作業系統本身[192],因此,Android Jelly Bean包含面向用户變化,對平台改進及變化側[193]。

2017年5月,隨著Android Oreo發布,Google推出了Project Treble,旨在使製造商能夠鬆,,及低成本地將裝置到Android版本。Project Treble通過「供應商界面」供應商實施Android OS框架分開(體製造商寫供設備專用低級別軟件)。Android 7.0及版本中,並存在正式供應商界面,因此設備製造商大部分Android代碼,版本作業系統移至設備中。藉助Project Treble,供應商界面可以進入Android部分硬件,使設備製造商能夠簡地通過Android作業系統框架來裝置提供Android版本,而「矽製造商任何額外工作[197]。」

2017年9月,GoogleProject Treble團隊透露,作為改善Android設備安全生命週期努力一部分,Google設法讓Linux基金會延長Linux支援(LTS)內核分支生命週期兩年,於未來版本LTS內核,歷史上持續了6年,並Linux內核4.4開始[198]。

Android內核是Linux核心長期支援分支,具有典型Linux排程和功能[199]。截至2018年,Android目標是Linux內核4.4、4.9或是4.14版本[200]。實際內核取決於單個設備[201]。

Linux內核Android變種具進一步改進了由Google實施典型Linux內核開發週期之外實現架構變化,比如包含類似組件裝置樹(device trees)、ashmem、ION,以及內存(英語:Out of memory)(OOM)處理[202][203]。除此之外,Google能讓Linux行動裝置上運行,其進行了修改和擴充。Android去Linux中本地X Window System,支持標準GNU庫,這使得Linux平台上應用程式移植到Android平台上變得困難[204]。Google有某些功能貢獻回到Linux內核,是一種稱為「喚醒鎖(wakelocks)」電源管理功能[205],它最初主線內核開發人員拒絕,部分原因是因為他們認為Google並沒有表現出維護他們自己代碼任何意圖[206][207]。2008年,Patrick Brady於Google I/O上演説題「Anatomy & Physiology of an Android」,並提出Android HAL架構圖。HAL*.so副檔名形式存在,可以Android框架Linux內核隔開,這種中介層方式使得Android能行動裝置上獲得執行效率。這種系統結構受到Linux內核開發者葛雷格·克羅哈曼及其他核心維護者稱賞。GoogleAndroid核心中正式加入了自己開發製作一個名喚醒鎖(wakelocks)功能,該功能於管理流動裝置電池性能,但是該功能並沒有加入到Linux核心主線開放和維護中,因為Linux核心維護者認為Google沒有他們展示這個功能意圖和代碼。Google於2010年4月宣佈他們會聘請兩名員工跟Linux內核社團合作[208],但目前Linux內核於分支維護者葛雷格·克羅哈曼,他於2010年12月説他擔心Google試圖讓他們代碼更改包含主流Linux中[207]。Google工程師帕特里克·布雷迪(Patrick Brady)該公司開發者大會中表示過「Android不是Linux[209]」,而他週刊《Computerworld》補充指「讓我你簡化一下,要是沒有Linux,這裡沒有Android[210]」。《Ars Technica》寫道:「儘管Android是建立Linux內核之上,但該平台傳統Linux堆棧桌面沒有之處[209]。」

2010年2月3日,於GoogleAndroid核心開發方面和Linux社羣方面開發,Linux內核開發者葛雷格·克羅哈曼Android驅動程序Linux內核「狀態樹」(staging tree)上除去。[211]2010年4月,Google宣佈派遣2名開發人員加入Linux核心社羣,以便重返Linux核心。2010年9月,Linux核心開發者Rafael J. Wysocki添加了一個修復程序,使得Android“wakelocks”可以鬆地主線Linux核心合併。
2011年8月,Linux內核作者林納斯·託瓦茲説:「Android和Linux會回到一個內核,但它可能會持續4-5年[212]」。2011年12月,葛雷格·克羅哈曼(Greg Kroah-Hartman)宣佈啟動Android主流項目,其目的是要一些Android驅動程式、修補程式及功能放進Linux內核中,Linux 3.3開始[213]。從前多次嘗試合併後,Linux3.5內核中,包括自動休眠和喚醒鎖功能功能。其界面是,但是上游Linux實現了容許兩種中止模式:記憶體(Android使用傳統中止模式)及磁碟(已知桌面上冬眠)[214]。Google維護著一個公共代碼存儲庫,包含著他們AndroidRebasing到Linux版本實驗工作[215][216]。

Android裝置閃記憶體分成幾個分區,例如/system於作業系統本身,而/data是於用户數據和應用程式安裝[217]。Linux桌面發行版相比,Android設備擁有人沒有給予超級用户進入作業系統權限,以及例如/ system是唯讀記憶體分區。然而,檔案系統階層標準是可以透過利用Android中安全漏洞來獲取,那是開源社區使用它來增強其設備功能[218],一方還可以透過安裝電腦病毒及惡意軟件來惡意獲取系統資料[219]。

Linux基金會説法,Android是個Linux發行版[220],該基金會Google開源部門主管克里斯·迪博納(英語:Chris DiBona)[221]及幾位記者組成[222][223],其他人例如Google工程師帕特里克·布拉迪(Patrick Brady),布拉迪表示傳統類Unix系統Linux發行意義上,Android並不是Linux;Android不包括GNU C函數庫(它利用 Bionic作為替代C數據庫),以及Linux發行版中常見一些其他組件[224]。

隨著2017年Android Oreo推出,Google基於安全考慮,開始要求附帶系統單晶片設備具有Linux內核版本4.4或版本,現有裝置升級到Android Oreo,以及系統單晶片一起推出新產品,受此規則所限[225][226]。

Linux內核之上,有一些由C所寫中介軟體、函數庫和應用程式介面,以及運行包含Java兼容庫應用框架上應用程式。Linux內核開發繼續獨立於Android其他源代碼項目。

截至5.0版本,Android利用Dalvik虛擬機器作程式虛擬機器,它跟蹤編譯(英語:Tracing just-in-time compilation)(JIT)來執行Dalvik「DEX-代碼」(Dalvik可執行程式),這是Java位元組碼翻譯而來。繼基於跟蹤JIT原則,瞭解讀大多數應用程序代碼外,Dalvik執行編譯及每應用程序啟動時,選擇本機執行執行代碼段(痕跡)[227][228][229]。Android 4.4引入Android Runtime(ART)作為運作環境,安裝應用程式時,它會使用提前編譯(英語:Ahead-of-time compilation)(AOT)來應用程序字節碼完全編譯機器語言[230]。Android 4.4中,ART是一項實驗性功能,默認情況下啟用;它成為Android 5.0下一個主要版本中唯一運作選項[231]。2015年12月,Google宣佈Android下一個版本會切換到基於OpenJDK項目Java實行方式[232]。

AndroidC標準函式庫及Bionic是Google專門Android而開發軟件,作為BSD標準C程式庫代碼推導。Bionic本身於Linux內核幾個主要特點而設計。使用Bionic而不是GNU C函數庫(glibc)或uClibc主要處是:它運行時間足跡,以及頻CPU進行優化。與此同時,BionicBSD許可條款而獲得許可,當中Google找到適合Android可模式[229]。

可模式,Google於2012年底Android中藍牙堆棧GPL許可BlueZ(英語:Bluetooth stack#BlueZ)轉移到Apache許可BlueDroid[233]。

Android默認情況下並沒有本機X Window系統,支援整套標準GNU庫。這使現有Linux應用程式或程式庫移植到Android[224],直至AndroidAndroid原生開發套件(英語:Android NDK)r5版本完全C或C++編寫應用程序獲得支援[234] 由C編寫程式庫可以透過注入一個小墊片及使用Java本地介面(JNI)應用程式中使用[235]。

自Android Marshmallow發布以來,一系列指令實用程序「玩具盒(英語:Toybox)」取代了之前Android版本中類「Busybox」系列(當Android於默認情況下提供命令列介面時,它主要供應予應程序使用)[236]。

Android有另一個作業系統,名「Trusty作業系統」,作為「Trusty」當中一部分,軟件組件行動裝置中支援著一個可信執行環境(TEE)。「Trusty和Trusty API是
可調整……」Trusty OS應用程式可以由C或C++編寫(C++支援是),他們可以進入一個小型C程式庫……所有Trusty應用程式是單線程;多線程用户空間目前並支援……第三方應用程式開發並非支援當前版本,而作業系統和處理器上使用軟件,為「受保護內容執行DRM框架」。TEE有許多其他用途,例如行動支付、銀行業保安、磁碟加密、多重身份驗證,裝置重設保護、重播保護持久性存儲、無線顯示受保護內容(強制轉換)、安全PIN和指紋處理,是惡意軟件檢測[237]。

Android原始碼是Google開源許可下發布,其開放性質鼓勵著一個開發者社區及發燒友利用開源碼作為社區驅動項目基礎,它可為設備提供、為高級用户增加功能,或最初隨附其他作業系統裝置引入Android系統[238]。這些社區開發版本透過官方製造商/運營商渠道裝置帶來功能和,具有相當質量水平[239];為不能接收官方裝置提供持續性支援;或Android帶到正式發布使用其他作業系統裝置上,例如TouchPad。社區發布出現Root前並包含原始供應商並提供修改,例如讓裝置內處理器超頻或是調高/電壓能力[240]。CyanogenMod是社區中使用泛的韌體[241],惟現產並LineageOS繼任[242]。

歷史上看,裝置製造商及行動運營商支持第三方韌體開發。製造商使用非官方軟件裝置功能,以及由此產生支援費用表示擔憂[243]。此外,如CyanogenMod經修改韌體有時會提供例如Tethering…功能,否則運營商將收取額外費用。因此,許多裝置中常見技術障礙,包括鎖定啟動程式及限制訪問root權限是見於許多設備中。然而,隨著社區開發軟件受歡迎,美國國會圖書館館長發表聲明後,允許行動裝置進行越獄[244],製造商和運營商第三方開發軟件立場軟化,包括HTC[243]、摩托羅拉[245]、三星[246][247]及索尼[248],他們提供支持和鼓勵發展。因此,隨著時間推移,於多裝置隨附著解鎖或可解鎖啟動程式,繞過硬件限制規避而安裝非官方韌體需要降低了,這類似於Nexus系列手機,雖然他們要求用户放棄裝置進行保修[243]。然而,儘管製造商接受,但美國一些運營商要求手機鎖定,此讓開發人員和客户感到[249]。

延伸閱讀…

Android

記一次清理Android設備裏病毒(Ghost Push)的過程原創

這些文件顯示情報機構進一步努力攔截Android和其他智能手機中Google地圖搜索及查詢,收集大量位置信息[251]。儘管《衞報》指出「技術部門是如何收集和使用信息,是於美國以外人,他們享有隱私保護比美國人,這些披露可能會引起公眾多關注」,然而NSA及GCHQ堅持認為他們活動符合所有相關國內和國際法律[251]。

於Android作業系統和普及性,一些惡意程式和電腦病毒出現。2010年8月,卡巴斯基病毒實驗室報告指發現到Android系統上首個木馬程式,並其命名為「Trojan-SMS.AndroidOS.FakePlayer.a[255]」,這是一個通過短訊方式感染智慧型手機木馬程式,並且感染了數量Android設備。透過短訊感染方式,這些Android木馬程式還可以偽裝成一些主流應用程式,並且可以隱藏於一些應用程式之中[256][257]。

來自防毒公司趨勢科技研究,他們列出見Android韌體類型踐踏優質服務,用户或是用户不知情下受感染手機發送短訊具附加費電話號碼(英語:Premium-rate telephone number)。其他惡意軟件於裝置上顯示需要或侵入性廣告,或用户個人信息發送授權第三方[258]。報導,Android上安全威脅正在呈幾何級數式地增長;然而,Google工程師辯論著安保公司出於商業原因而誇大Android系統上軟件和病毒威脅[259][260],並指責安保行業玩弄恐懼而用户推銷病毒防護軟件[259]。Google堅持危險軟件其[260],而芬安全進行一項調查顯示,只有0.5%Android惡意軟件是來自Google Play商店[261]。

2017年3月,Google安保博客帖子上,Android安保主管阿德里安·路德維希(Adrian Ludwig)及梅爾·米勒(Mel Miller)寫道:「2016年,來自200多家製造商,有超過735,000,000個裝置獲得平台安全性」,並且「我們運營商及硬件合作夥伴幫忙這些擴展了部署,2016年後一個季度為全球排名首50位超過一半裝置發布」。他們寫道:「截至2016年底,有一半使用中裝置過去一年並沒有接收到平台安全性」,並指他們工作繼續專注於精簡安全性程序,以便製造商進行部署[272]。此外,於《TechCrunch》評論中,路德維希表示,安全更新等待時間「69星期縮減數天」,截至2016年底,北美有78%旗艦裝置獲得安全性[273]。

修補核心作業系統中發現錯誤會送達到及低價裝置用户手上[274][275]。然而,Android開源特性容許安保承包商採用現有設備,並它們改編於高度安全性用途上,例如:三星通用動力合作,透過他們開放核心實驗室收購,「Knox」項目上「果凍豆」(Android 4.4)[276][277]。

Android智能手機能夠報告Wi-Fi接入點位置(電話用户四處行動時遇到),構建包含數億個此類進入點物理位置數據庫。這些數據庫構成了於智能手機中電子地圖定位,讓他們使用應用程式如Foursquare、Google定位、Facebook定位,並能提供基於該位置廣告[278]。第三方監控軟件,例如TaintDroid[279],那是學術研究資助項目,某些情況下,可以檢測到用户個人資訊何時應用程式發送端伺服器[280]。

目前Android作業系統上擁有公司殺毒軟件來防止裝置中毒,例如Avast、F-Secure、Kaspersky、Trend Micro、Symantec、金山毒霸防護軟體發布了Android版本。

某些病毒,目前Cross-Compile測試,證實它們Linux上無法運作。

2018年11月,知名Android軟體Magisk開發者topjohnwuXDA上發帖稱,現在很多Android手機存在系統漏洞,該漏洞可使第三方應用程序用户授權情況下監視其它程序運行,其中可能涉及到個人泄露問題,值得關注。[281]

2012年1月,美國國家安全局發布了SE Android(原本名Security Enhanced Android,後來改名SE for Android或Security Enhancements for Android[284])開放源碼專案及程式碼,使Android系統支援強制存取控制(Mandatory Access Control)增加系統安全性[285][286]。

安裝「驗證應用程式」前,Google Play商店會顯示一系列應用程序所需要求,查閲這些權限後,用户可以選擇接受或拒絕,但要接受情況下才能安裝應用程式[292]。

Android Jelly Bean中,其原生應用程式管理機制App Ops首次引入,但開放讓用户使用[293],直至Android Marshmallow,系統啟用其原生應用程式權限控制(並非App Ops),它容許用户程式安裝後能類別權限使用進行開關,若應用程式某組權限使用關閉並準備進入相應權限方式時,系統會詢問用户是否容許[294]。

Android Marshmallow之前,其權限系統是「一刀切」方式進行,應用程式開發商會申請一些非必需進入權限,或是申請用户私隱資訊作收集、使用、發送開發商伺服器;高端用户可以透過取得root權限增加控制程式或修改程式安裝文件,仔細限制程式使用權限,或當中涉及數據運用[295],然而程式對權限只能在安裝時選擇「全部/全部拒絕」選項人詬病。

Marshmallow中,應用程式安裝時自動授予其所有指定權限,它會「選擇加入系統」來代替。應用程式請求授予某一權限時,系統會是否授予該權限詢問用户。應用程式會記著所授權限,授權設定亦可用户更改。但是,預先安裝應用程式不能總是以此方法卸載。某些情況下,用户可能拒絕預先安裝應用程式某些權限,無法禁用它們。如Google Play應用程式,無法卸載或禁用。任何強制停止嘗試結果會導致應用程式重啟[296][297]。權限供利用軟體開發套件(SDK)Marshmallow開發應用程序使用,應用程式繼續使用以前沿用沒有中間或妥協方式。於這些應用程式,其權限可以撤銷,但這可能會妨礙它們運作,並會因此顯示警告[298][299]。

2013年8月,Google發布了Android設備管理器,那是一項於同年12月發布Android應用程序[300][301],它容許用户利用他們Android裝置作遠程跟蹤、定位及抹除服務[302][303],該應用程式於2017年5月重新命名為「尋找我手機」[304][305]。2016年12月,Google推出可信聯繫人應用程式,讓用户急情況下要求取得親人位置追蹤[306][307]。

只有基礎Android作業系統(包括一些應用程式)才是開源軟件,任何廠商都Google和開放手持設備聯盟授權使用Android作業系統;大多數Android裝置附帶著大量專有軟件,例如是Google流動服務,當中包括Google Play商店、Google搜尋,以及Google Play服務 — 那是一個提供Google提供服務應用程式介面集成軟件層。這些應用程式裝置製造商Google得到許可,並且只能在符合其兼容性指引及其他要求配備裝置上[117],任何廠商都不能授權情況下其產品上使用Google標誌和應程序。除非生產商能證明其生產裝置符合Google兼容性定義文件(CDD),才能智慧型手機上預載屬於Google應用程式。所有符合Google生產規定智能手機廠商才可以其產品上印有「With Google」標誌[318]。製造商生產定製,認證Android發行版(例如是TouchWiz及HTC Sense),可以使用他們自己專有軟件,以及新增並包括Android作業系統中stock應用程式,替換Android中某些stock應用程式[5]。於設備中某些硬件組件,這裡可能還需要二進制點(英語:Binary blob)驅動程式使用[5][154]。

Google其流動服務軟件以及Android商標授權予符合Android兼容性計劃中指定Google兼容性標準[319],因此這使作業系統本身有著變化Android分支(包括任何Google非免費組件)其需應用程式保持兼容,並且隨附替代軟件,替代Google Play商店中市場[5]。此類Android分支例子有亞馬遜Fire OS(那是於亞馬遜服務Kindle Fire系列平板電腦)、諾基亞X軟件平台(諾基亞X家族(英語:Nokia X family)分支,主要於諾基亞及服務),以及於某些地區無法使用Google服務(例如中國大陸),故排除了Google應用程式其他分支[320][321]。2014年,Google開始要求所有授權使用Google流動服務軟件Android裝置啟動畫面上顯示一個突出「由Android提供支援」標誌[117]。Google強制執行了裝置上設置Google流動服務及優惠捆綁計劃,包括強制捆綁整個Google主要應用程式套件,和Google搜索捷徑,以及Google Play商店應用程式預設配置或主畫面預設配置附近[322]。

從前Android早期版本中使用AOSP代碼一些股票應用程式及元件,例如搜尋、音樂,行事曆及位置APIGoogle遺棄,支持透過Play商店分發非免費替代品(Google搜尋、Google Play音樂及Google行事曆)和Google Play服務,它們是開源。此外,某些應用程序開源變體排除非版本中存在功能,例如相機中全景相片(Photosphere),和預設主畫面上Google即時資訊(「Google Now Launcher」專有版本專用,其代碼嵌入於主要Google應用程式代碼中[5][323][324][325])。這些措施可能旨在阻止分叉並鼓勵符合Google商業許可要求,作為大多數作業系統核心功能(以及第三方軟件)依賴於Google獨家授權專有組件,並且它需要大量開發資源來開發一套替代套件和API來複製或它們替換。使用Google組件應用程式會處於功能劣勢,因為他們只能使用作業系統本身包含API[326]。

2018年3月,報導Google開始阻止「認證」Android裝置使用Google流動服務軟件,並顯示一條警告指,「設備製造商載了Google認證Google應用程式及服務」。自定義ROM用户能夠他們裝置ID他們Google帳户註冊來刪此障礙[327]。

包括大多數Android OEM開放手機聯盟成員,禁止簽訂生產運行Android分支設備[5][318];2012年,宏碁Google強行中斷生產運行阿里巴巴集團開發AliOS設備,威脅其若停止要其聯盟中移除,因為Google認為該平台是Android兼容版本。阿里巴巴集團這些指控進行辯護,爭辯指其作業系統是Android平台(主要使用HTML5應用程式),但是它整合了Android平台部分內容,容許後兼容第三方Android軟件。事實上,這些裝置確實附帶了一個提供Android應用程式應用商店;然而,它們大多數是盜版軟件[328][329][330]。

作業系統應用程式溝通橋樑,並用分為兩層:函式層和虛擬機器。

Android使用Skia核心圖形引擎,搭配OpenGL/ES。SkiaLinux Cairo功能,但於Linux Cairo,Skia功能還只是陽春型。2005年Skia公司Google收購,2007年初,Skia GL源碼公開,目前Skia是Google Chrome圖形引擎。

Android中間層多以Java實作,4.4版之前使用Dalvik虛擬機器。Dalvik虛擬機器是一種“暫存器型態”Java虛擬機器,變數存放於存器中,虛擬機器指令減少。5.0版起改用Android Runtime(ART)。

Dalvik虛擬機器可以有多個實例,每個Android應用程式一個自屬Dalvik虛擬機器來執行,讓系統執行程式時可達到最佳化。Dalvik虛擬機器並非執行Java字節碼,而是執行一種稱為.dex格式檔案。

Android硬體抽象層是能封閉源碼形式提供硬體驅動模組。HAL目的是Android frameworkLinux kernel隔開,讓Android不至依賴Linux kernel,達成“內核獨立”(kernel independent)概念,讓Android framework開發能不考量驅動程式實作前提下進行發展,達到壟斷GPU市場目的。

HAL stub是一種代理人概念,stub是*.so檔形式存在。StubHAL“提供”操作函數,並Android runtimeHAL取得stub操作,回調這些操作函數。HAL裏包含了許多stub(代理人)。Runtime只要説“類型”,即module ID,可以取得操作函數。

報道,中國市場Android設備飛速增長,中國應用商店生態系統出現了前所未有狀況,眾多第三方應用商店出現病毒滋生情況,讓Android這一開源系統。

日前,TNW報道,近期中國Android市場中發現一種病毒,這款稱為短信殭屍病毒(英文名:Trojan SMSZombie)惡意應用能進行大量涉及支付操作,Android智能手機用户來説具有極大威脅,中國應用商店Gfan市場裏有受到感染應用程序,説目前已有超過50萬用户感染。

iPhone上鮮有惡意手機病毒,主要原因是蘋果嚴格審查制度以及封閉生態環境,惡意開發者如果想要提交病毒程序,應用審核環節會攔截,還可能導致蘋果官方懲罰,因此iOS開發者冒險去搞惡意手機應用。

但Android市場了,Android一開始開放,通過設置手機上一個選項(“允許安裝未知來源應用程序”)安裝谷歌電子市場之外應用程序。同時,中國Android市場,於谷歌退出中國事件影響以及其他相關政策原因,所有國行Android手機沒有安裝官方谷歌電子市場,這導致第三方Android電子市場中國遍地開花,同時管理上以及風險埋下了隱患。

見手機病毒是利用運營商SP業務進行吸費病毒,這種類型病毒製作、傳播、分成“一條龍”產業鏈,黑客意斂財過程中,論壇、SP公司、應用商店平台分一杯羹。傳毒流程是:黑客通過技術手段,將非法SP提供的扣費號段植入到應用中誘騙用户下載;而用户感染後,黑客會利用非法SP公司短信計費和服定製通道來產生費,隨後分成比例來合取暴利。

而且,避免用户起疑,目前手機病毒大多採取了做法,每次進行支付是小額,基本上很少產生高額賬單,這樣受感染用户會發現。

於中國許多手機用户通過手機短信來進行手機支付,而且很多銀行會賬單信息發送到用户手機當中,所以當用户手機受該病毒感染後,銀行卡和賬户信息很會該病毒截取並進行小額支付。

於這類手機病毒,Android用户有防範方法:

2、使用谷歌官方應用商店,如果無法使用話,儘量規應商店下載軟件,裝破解應用軟件。