Your SlideShare is downloading. ×
Android
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Introducing the official SlideShare app

Stunning, full-screen experience for iPhone and Android

Text the download link to your phone

Standard text messaging rates apply

Android

105
views

Published on

Published in: Education

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
105
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
8
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Nghiên cứu và cài đặt hệ điều hành Android trên các thiết bị nhưLaptop, Smartphone. 1 Nội Dung I. GIỚI THIỆU:............................................................................................................................................2 1. Android là gì ? ...................................................................................................................................2 2. Lị ch sửphát triển hệ điều hành Android ?.......................................................................................2 3. Đặc điểm:..........................................................................................................................................3 a) Tính năng mởcủa hệ điều hành Android là gì: ............................................................................3 b) Tất cả các ứng dụng có thể được tạo ra cho Android: ..................................................................4 c) Phá bỏ các rào cản ứng dụng của Android:...................................................................................4 d) Với Android tốc độ nhanh và phát triển ứng dụng dễ dàng:.........................................................4 II. CÀI ĐẶT HỆĐIỀU HÀNH ANDROID TRÊN MÁY ẢO: ...............................................................................4 1. Cài hệ điều hành Android 2.x và 4.x trên máy ảo:............................................................................4 2. So sánh các tính năng của Android 2.x và 4.x: ................................................................................15 a) Sựkhác nhau về giao diện:..........................................................................................................15 b) Sựkhác nhau về giao thức mạng:................................................................................................15 c) Sựkhác nhau về tính năng:.........................................................................................................15 d) Sựkhác nhau về phần cứng:........................................................................................................16 3. Cấu hình cho phép cài đặt chương trình từGoogle Play vào Android trên máy ảo: ......................16 a) Các bước cài đặt Google Play cho thiết bị giả lập:.....................................................................16 b) Cài đặt ứng dụng thông qua Google Play:...................................................................................18 III. Nghiên cứu lỗ hổng bảo mật trên Android và cách xâm nhập: ......................................................21 1. Thực trạng:......................................................................................................................................21 2. Nghiên cứu lỗ hổng bảo mật trên Android: ........................................................................................21 a) Malware trên Android: ...............................................................................................................21 b) Cơchế hoạt động của Malware: .................................................................................................23 3. Cài đặt trojan cho Android:.............................................................................................................24 IV. Thực hiện trên môi trường internet ................................................................................................32 1. Xây dựng ứng dụng ASP.NET dùng để Download các gói cài đặt apk cho thiết bị Android:..........32 2. Sửdụng phần mềm FileZilla để upload các file vào host................................................................36
  • 2. Nghiên cứu và cài đặt hệ điều hành Android trên các thiết bị nhưLaptop, Smartphone. 2 I. GIỚI THIỆU: 1. Android là gì ? Android là một hệ điều hành dựa trên nền tảng Linux được thiết kế dành cho các thiết bị di động có màn hình cảm ứng như điện thoại thông minh và máy tính bảng. Ban đầu, Android được phát triển bởi Tổng công ty Android, với sự hỗ trợ tài chính từ Google và sau này được chính Google mua lại vào năm 2005. Android ra mắt vào năm 2007 cùng với tuyên bố thành lập Liên minh thiết bị cầm tay mở: một hiệp hội gồm các công ty phần cứng, phần mềm, và viễn thông với mục tiêu đẩy mạnh các tiêu chuẩn mở cho các thiết bị di động. Chiếc điện thoại đầu tiên chạy Android được bán vào tháng 10 năm 2008. Android có mã nguồn mở và Google phát hành mã nguồn theo Giấy phép Apache. Chính mã nguồn mở cùng với một giấy phép không có nhiều ràng buộc đã cho phép các nhà phát triển thiết bị, mạng di động và các lập trình viên nhiệt huyết được điều chỉnh và phân phối Android một cách tự do. Ngoài ra, Android còn có một cộng đồng lập trình viên đông đảo chuyên viết các ứng dụng để mở rộng chức năng của thiết bị, bằng một loại ngôn ngữ lập trình Java có sửa đổi. Vào tháng 10 năm 2012, có khoảng 700.000 ứng dụng trên Android, và số lượt tải ứng dụng từ Google Play, cửa hàng ứng dụng chính của Android, ước tính khoảng 25 tỷ lượt. Những yếu tố này đã giúp Android trở thành nền tảng điện thoại thông minh phổ biến nhất thế giới, vượt qua Symbian vào quý 4 năm 2010, và được các công ty công nghệ lựa chọn khi họ cần một hệ điều hành không nặng nề, có khả năng tinh chỉnh, và giá rẻ chạy trên các thiết bị công nghệ cao thay vì tạo dựng từ đầu. Kết quả là mặc dù được thiết kế để chạy trên điện thoại và máy tính bảng, Android đã xuất hiện trên TV, máy chơi game và các thiết bị điện tử khác. Bản chất mở của Android cũng khích lệ một đội ngũ đông đảo lập trình viên và những người đam mê sử dụng mã nguồn mở để tạo ra những dự án do cộng đồng quản lý. Những dự án này bổ sung các tính năng cao cấp cho những người dùng thích tìm tòi hoặc đưa Android vào các thiết bị ban đầu chạy hệ điều hành khác. Android chiếm 75% thị phần điện thoại thông minh trên toàn thế giới vào thời điểm quý 3 năm 2012, với tổng cộng 500 triệu thiết bị đã được kích hoạt và 1,3 triệu lượt kích hoạt mỗi ngày. Sự thành công của hệ điều hành cũng khiến nó trở thành mục tiêu trong các vụ kiện liên quan đến bằng phát minh, góp mặt trong cái gọi là "cuộc chiến điện thoại thông minh" giữa các công ty công nghệ. 2. Lịch sử phát triển hệ điều hành Android ? Tổng công ty Android (Android, Inc.) được thành lập tại Palo Alto, California vào tháng 10 năm 2003 bởi Andy Rubin (đồng sáng lập công ty Danger), Rich Miner (đồng sáng lập Tổng công ty Viễn thông Wildfire), Nick Sears (từng là Phó giám đốc T-Mobile), và Chris White (trưởng thiết kế và giao diện tại WebTV) để phát triển, theo lời của Rubin, "các thiết bị di động thông minh hơn có thể biết được vị trí và sở thích của người dùng". Dù những người thành lập và nhân viên đều là những người có tiếng tăm, Tổng công ty Android hoạt động một cách âm thầm, chỉ tiết lộ rằng họ đang làm phần mềm dành cho điện thoại di động. Trong năm đó, Rubin hết kinh phí. Steve Perlman, một người bạn thân của Rubin, mang cho ông 10.000 USD tiền mặt nhưng từ chối tham gia vào công ty. Google mua lại Tổng công ty Android vào ngày 17 tháng 8 năm 2005, biến nó thành một bộ phận trực thuộc Google. Những nhân viên của chủ chốt của Tổng công ty Android, gồm Rubin, Miner và White, vẫn tiếp tục ở lại công ty làm việc sau thương vụ này. Vào thời điểm đó không có nhiều
  • 3. Nghiên cứu và cài đặt hệ điều hành Android trên các thiết bị nhưLaptop, Smartphone. 3 thông tin về Tổng công ty, nhưng nhiều người đồn đoán rằng Google dự tính tham gia thị trường điện thoại di động sau bước đi này. Tại Google, nhóm do Rubin đứng đầu đã phát triển một nền tảng thiết bị di động phát triển trên nền nhân Linux. Google quảng bá nền tảng này cho các nhà sản xuất điện thoại và cácnhà mạng với lời hứa sẽ cung cấp một hệ thống uyển chuyển và có khả năng nâng cấp. Google đã liên hệ với hàng loạt hãng phần cứng cũng như đối tác phần mềm, bắn tin cho các nhà mạng rằng họ sẵn sàng hợp tác với các cấp độ khác nhau. Ngày càng nhiều suy đoán rằng Google sẽ tham gia thị trường điện thoại di động xuất hiện trong tháng 12 năm 2006. Tin tức của BBC và Nhật báo phố Wall chú thích rằng Google muốn đưa công nghệ tìm kiếm và các ứng dụng của họ vào điện thoại di động và họ đang nỗ lực làm việc để thực hiện điều này. Các phương tiện truyền thông truyền thống lẫn online cũng viết về tin đồn rằng Google đang phát triển một thiết bị cầm tay mang thương hiệu Google. Một vài tờ báo còn nói rằng trong khi Google vẫn đang thực hiện những bản mô tả kỹ thuật chi tiết, họ đã trình diễn sản phẩm mẫu cho các nhà sản xuất điện thoại di động và nhà mạng. Tháng 9 năm 2007, InformationWeek đăng tải một nghiên cứu của Evalueserve cho biết Google đã nộp một số đơn xin cấp bằng sáng chế trong lĩnh vực điện thoại di động. Ngày 5 tháng 11 năm 2007, Liên minh thiết bị cầm tay mở (Open Handset Alliance), một hiệp hội bao gồm nhiều công ty trong đó có Texas Instruments, Tập đoàn Broadcom, Google, HTC, Intel,LG, Tập đoàn Marvell Technology, Motorola, Nvidia, Qualcomm, Samsung Electronics, Sprint Nextel và T- Mobile được thành lập với mục đích phát triển các tiêu chuẩn mở cho thiết bị di động. Cùng ngày, Android cũng được ra mắt với vai trò là sản phẩm đầu tiên của Liên minh, một nền tảng thiết bị di động được xây dựng trên nhân Linux phiên bản 2.6. Chiếc điện thoại chạy Android đầu tiên được bán ra là HTC Dream, phát hành ngày 22 tháng 10 năm 2008. Biểu trưng của hệ điều hành Android mới là một con rôbốt màu xanh lá cây do hãng thiết kế Irina Blok tại California vẽ. Từ năm 2008, Android đã trải qua nhiều lần cập nhật để dần dần cải tiến hệ điều hành, bổ sung các tính năng mới và sửa các lỗi trong những lần phát hành trước. Mỗi bản nâng cấp được đặt tên lần lượt theo thứ tự bảng chữ cái, theo tên của một món ăn tráng miệng; ví dụ như phiên bản 1.5 Cupcake (bánh bông lan nhỏ có kem) tiếp nối bằng phiên bản 1.6 Donut (bánh vòng). Phiên bản mới nhất là 4.2 Jelly Bean (kẹo dẻo). Vào năm 2010, Google ra mắt loạt thiết bị Nexus—một dòng sản phẩm bao gồm điện thoại thông minh và máy tính bảng chạy hệ điều hành Android, do các đối tác phần cứng sản xuất. HTC đã hợp tác với Google trong chiếc điện thoại thông minh Nexus đầu tiên, Nexus One. Kể từ đó nhiều thiết bị mới hơn đã gia nhập vào dòng sản phẩm này, như điện thoại Nexus 4 và máy tính bảng Nexus 10, lần lượt do LG và Samsung sản xuất. Google xem điện thoại và máy tính bảng Nexus là những thiết bị Android chủ lực của mình, với những tính năng phần cứng và phần mềm mới nhất của Android. 3. Đặc điểm: a) Tính năng mở của hệ điều hành Android là gì: Android được xây dựng để cho phép các nhà phát triển để tạo ra các ứng dụng di động hấp dẫn tận dụng tất cả một chiếc điện thoại đã cung cấp. Nó được xây dựng để được thực sự mở. Ví dụ, một ứng dụng có thể kêu gọi bất kỳ chức năng lõi của điện thoại như thực hiện cuộc gọi, gửi tin nhắn văn bản, hoặc bằng cách sử dụng máy ảnh, cho phép các nhà phát triển để tạo ra phong phú hơn và nhiều hơn nữa những kinh nghiệm cố kết cho người dùng. Android được xây dựng trên mở Linux Kernel. Hơn nữa, nó sử dụng một máy ảo tuỳ chỉnh được thiết kế để tối ưu hóa bộ nhớ và tài nguyên phần cứng trong một môi trường di động. Android là mã nguồn mở, nó có thể được
  • 4. Nghiên cứu và cài đặt hệ điều hành Android trên các thiết bị nhưLaptop, Smartphone. 4 liberally mở rộng. Nền tảng này sẽ tiếp tục tiến triển như cộng đồng nhà phát triển công việc cùng nhau để xây dựng các ứng dụng di động sáng tạo. b) Tất cả các ứng dụng có thể được tạo ra cho Android: Android không phân biệt giữa các ứng dụng lõi của điện thoại và các ứng dụng của bên thứ ba. Họ tất cả có thể được xây dựng để có thể truy cập bằng khả năng của một người cung cấp cho người sử dụng điện thoại với một dải rộng các ứng dụng và dịch vụ. Với các thiết bị xây dựng trên Hệ điều hành Android, người dùng có thể hoàn toàn thích ứng với điện thoại đến lợi ích của họ. Họ có thể trao đổi trên màn hình của điện thoại, những phong cách của dialer, hoặc bất kỳ ứng dụng. Họ thậm chí có thể hướng dẫn điện thoại của họ để sử dụng hình ảnh ưa thích của họ xem các ứng dụng để xử lý xem tất cả các hình ảnh. c) Phá bỏ các rào cản ứng dụng của Android: Android phá bỏ rào cản để xây dựng các ứng dụng mới và sáng tạo. Ví dụ, một nhà phát triển có thể kết hợp thông tin từ các trang web với dữ liệu trên điện thoại di động của một cá nhân – ví dụ như địa chỉ liên hệ của người dùng, lịch, hoặc vị trí địa lý – để cung cấp một trải nghiệm người dùng có liên quan hơn. Với Android, một nhà phát triển có thể xây dựng một ứng dụng cho phép người dùng xem vị trí của bạn bè của họ và được cảnh báo khi họ đang có trong vùng phụ cận cho họ một cơ hội để kết nối. d) Với Android tốc độ nhanh và phát triển ứng dụng dễ dàng: Android cung cấp truy cập đến một loạt các thư viện công cụ hữu ích và có thể được sử dụng để xây dựng các ứng dụng phong phú. Ví dụ, Android cho phép các nhà phát triển để có được vị trí của điện thoại, và cho phép các thiết bị để giao tiếp với nhau tạo điều kiện cho đồng đẳng rich-to- peer ứng dụng xã hội. Ngoài ra, Android bao gồm một tập hợp đầy đủ công cụ đã được xây dựng từ mặt đất lên cùng với việc cung cấp nền tảng phát triển, với năng suất cao và cái nhìn sâu vào các ứng dụng của họ. II. CÀI ĐẶT HỆ ĐIỀU HÀNH ANDROID TRÊN MÁY ẢO: 1. Cài hệ điều hành Android 2.x và 4.x trên máy ảo:  Phần mềm chuẩn bị trước khi cài đặt:  Android SDK (tải về từhttp://developer.android.com/sdk/index.html)  Java JDK (tải về từ http://www.oracle.com/technetwork/java/javase/downloads/index.html)  Các tiến trình cài đặt và khởi tạo:  Bước 1: Cài đặt Java JDK. Các bước cài đặt Java JDK:
  • 5. Nghiên cứu và cài đặt hệ điều hành Android trên các thiết bị nhưLaptop, Smartphone. 5 B1: Chạy file cài đặt Java JDK vừa tải về -> Click Next để tiếp tục. B2: Click Change nếu muốn đổi thưmục mặc đị nh -> Click Next
  • 6. Nghiên cứu và cài đặt hệ điều hành Android trên các thiết bị nhưLaptop, Smartphone. 6 B3: Đợi Java JDK tiến hành cài đặt B4: Quá trình cài đặt thành công Java JDK -> Click Close.
  • 7. Nghiên cứu và cài đặt hệ điều hành Android trên các thiết bị nhưLaptop, Smartphone. 7  Bước 2: Cài đặt Android SDK. Các bước cài đặt Android SDK: B1: Chạy file cài đặt Android SDK vừa tải về -> Click Next để tiếp tục B2: Click Next
  • 8. Nghiên cứu và cài đặt hệ điều hành Android trên các thiết bị nhưLaptop, Smartphone. 8 B3: Check vào một trong hai để chọn chế độ khởi chạy -> Click Next. B4: Click Browse nếu muốn thay đổi thưmục lưu -> Click Next.
  • 9. Nghiên cứu và cài đặt hệ điều hành Android trên các thiết bị nhưLaptop, Smartphone. 9 B5: Click Install để bắt đầu cài đặt. B6: Chờquá trình cài đặt hoàn tất.
  • 10. Nghiên cứu và cài đặt hệ điều hành Android trên các thiết bị nhưLaptop, Smartphone. 10 B7: Quá trình cài đặt thành công -> Click Next B8: Click Finish để khởi chạy chương trình.
  • 11. Nghiên cứu và cài đặt hệ điều hành Android trên các thiết bị nhưLaptop, Smartphone. 11 B9: Đây là giao diện chương trình. Tải các gói hỗ trợnhư: Android SDK Build-tools, Android SDK Platform-tools, các phiên bản của Android và các gói hỗ trợkhác… Chọn xong click -> Install để cài đặt. B10: Check vào Accept License -> Click Install để bắt đầu cài đặt.
  • 12. Nghiên cứu và cài đặt hệ điều hành Android trên các thiết bị nhưLaptop, Smartphone. 12  Bước 3:Khởi chạy chương trình: Các bước thực hiện để khởi chạy chương trình Android: B1: Mởtrình quản lý AVD -> Click New. B2: Cài đặt các thông số về phần cứng như: RAM, thẻ nhớSD Card…, tên và phiên bản Android cho thiết bị . Sau đó check vào ô “User Host GPU” -> Click OK để khởi tạo.
  • 13. Nghiên cứu và cài đặt hệ điều hành Android trên các thiết bị nhưLaptop, Smartphone. 13 B3: Quá trình khởi tạo thành công -> Click OK. B4: Click vào thiết bị sau đó nhấn Start để khởi chạy thiết bị .
  • 14. Nghiên cứu và cài đặt hệ điều hành Android trên các thiết bị nhưLaptop, Smartphone. 14 B6: Click vào Launch để chạy chương trình. B7: Thiết bị khởi chạy thành công.
  • 15. Nghiên cứu và cài đặt hệ điều hành Android trên các thiết bị nhưLaptop, Smartphone. 15 2. So sánh các tính năng của Android 2.x và 4.x: a) Sự khác nhau về giao diện: b) Sự khác nhau về giao thức mạng: Android 2.3 (Gingerbread) Android 4.0 (Ice Cream Sandwich) Không hỗ trợgiao thức https. Hỗ trợgiao thức htpps c) Sự khác nhau về tính năng: Android 2.3 (Gingerbread) Android 4.0 (Ice Cream Sandwich) Thiết kế tối ưu hóa cho Smartphone. Thiết kế tối ưu hóa cho cả Smartphone và Tablets. Chỉ có xóa tất cả các thông báo cùng lúc trên trình quản lý thông báo. Có thể xóa riêng lẻ từng thông báo trên trình quản lý thông báo. Chỉ có thể trả lời hoặc ngắt cuộc gọi khi màn hình bị khóa. Có thể thực hiện thêm một số tính năng khi màn hình bị khóa ngoài trả lời và ngắt cuộc gọi nhưgửi tin nhắn … Không hỗ trợtính năng mởkhóa màn hình nhận diện khuôn mặt (face unlock). Có hỗ trợtính năng mởkhóa màn hình nhận diện khuôn mặt (face unlock). Không hỗ trợtính năng chỉ nh sửa hình ảnh. Hỗ trợcác phần mềm chỉ nh sửa hình ảnh, tựđộng nhận diện được tất cả các camera trên thiết bị . Android 2.3 (Gingerbread) Android 4.0 (Ice Cream Sandwich) Giao diện đơn giản. Giao diện trong suốt, tinh tế và đẹp mắt hơn. Chỉ hỗ trợphím ảo là phím Home. Hỗ trợcác phím ảo: Home, Back, Zoom. Không có widget menu. Có widget menu giúp tìm nhanh thông tin mà không cần mởứng dụng.
  • 16. Nghiên cứu và cài đặt hệ điều hành Android trên các thiết bị nhưLaptop, Smartphone. 16 d) Sự khác nhau về phần cứng: Android 2.3 (Gingerbread) Android 4.0 (Ice Cream Sandwich) Cần cung cấp ít nhất 128MB bộ nhớcó sẵn cho kernel và cho không gian người sửdụng. Cần cung cấp ít nhất 340MB bộ nhớcó sẵn cho kernel và cho không gian người sửdụng. Dung lượng RAM ít nhất là 150MB. Dung lượng RAM ít nhất là 350MB. Độ phân giải màn hình ít nhất là 100 dpi. Độ phân giải màn hình ít nhất là 120 dpi. Trình quản lý download phải có khả năng tải tập tin có dung lượng ít nhất là 55MB hoặc lớn hơn. Trình quản lý download phải có khả năng tải tập tin có dung lượng ít nhất là 100MB hoặc lớn hơn. Yêu cầu phải có các phím vật lý. Không yêu cầu phải có các phím vật lý. Kiểm tra hiệu suất dựa trên thời gian mởứng dụng (performance matrics): - Trình duyệt: ít hơn 1300ms. - MMS/SMS: ít hơn 700ms. - Báo thức: ít hơn 650ms. Kiểm tra hiệu suất dựa trên thời gian mởứng dụng (performance matrics): Cài đặt: ít hơn 700ms. 3. Cấu hình cho phép cài đặt chương trình từ Google Play vào Android trên máy ảo: a) Các bước cài đặt Google Play cho thiết bị giả lập: Cần download gói hỗ trợcài đặt Google Play từlink: http://goo.im/gapps/gapps-ics-20120207-signed.zip B1: Vào command window dùng lệnh cdđể di chuyển đến thưmục android-sdk/tools. B2: Dùng lệnh để khởi động thiết bị giả lập có sẵn trên trình quản lý avd đã cài đặt. emulator –avd ANDROID_NAME –partition-size 512 –no-audio –no-boot-anim Chú ý: ANDROID_NAME là tên thiết bị được tạo sẵn trên trình quản lý avd, 512 là dung lượng bộ nhớcung cấp cài đặt ứng dụng. B3: Dùng lệnh cd để di chuyển đến thưmục chứa các gói hỗ trợcài đặt Google Play đã download trước đó. B4: Dùng tiếp lệnh: adb shell mount –r –w –o remount –t yaffs2 /dev/block/mtdblock0 /system B5: Dùng tiếp lệnh: adb shell chmod 777 /system/app
  • 17. Nghiên cứu và cài đặt hệ điều hành Android trên các thiết bị nhưLaptop, Smartphone. 17 B6: Dùng liên tiếp 3 lệnh sau để copy các apk package vào /system/app/: adb push GoogleLoginService.apk /system/app/ adb push GoogleServicesFramework.apk /system/app/ adb push Vending.apk /system/app/ B7: Kết thúc cài đặt ta dùng lệnh: adb shell rm /system/app/SdkSetup* Chú ý: Phải đảm bảo các apk package cần cài đặt như: GoogleLoginService.apk, GoogleServicesFramework.apk, Vending.apk... có ởthưmục chúng ta đang thực thi bắt đầu ởB3 Quá trình cài đặt được tóm tắt bởi hình bên dưới:
  • 18. Nghiên cứu và cài đặt hệ điều hành Android trên các thiết bị nhưLaptop, Smartphone. 18 Sau khi thực hiện xong chuỗi lệnh, kiểm tra kết quả trên thiết bị : b) Cài đặt ứng dụng thông qua Google Play: B1: Truy cập vào Google Play (Play Store) để cài đặt ứng dụng, cần cung cấp tài khoản thiết bị để đăng nhập:
  • 19. Nghiên cứu và cài đặt hệ điều hành Android trên các thiết bị nhưLaptop, Smartphone. 19 B2: Sau khi đăng nhập thành công -> Click Accept. B3: Tìm kiếm và chọn ứng dụng cần cài đặt -> Click Install.
  • 20. Nghiên cứu và cài đặt hệ điều hành Android trên các thiết bị nhưLaptop, Smartphone. 20 Toàn bộquá trình cài đặt tiếp theo do thiết bị tựđộng cài đặt Ứng dụng cài đặt thành công
  • 21. Nghiên cứu và cài đặt hệ điều hành Android trên các thiết bị nhưLaptop, Smartphone. 21 III. Nghiên cứu lỗ hổng bảo mật trên Android và cách xâm nhập: 1. Thực trạng: Một báo cáo mới vừa được công bố, cho thấy mức độ nghiêm trọng của mã độc trên Android - hệ điều hành di động phổ biến nhất thế giới - đạt đến con số khiến nhiều người phải giật mình. 99,9% số lượng mã độc mới được phát hiện trong quý I năm 2013 được thiết kế để nhắm đến nền tảng Android. Đây là một con số đáng kinh ngạc về tình trạng mã độc trên nền tảng di động của Google vừa được hãng bảo mật Kaspersky Lab công bố. Phần lớn trong số các loại mã độc trên Android là virus trojan, một dạng virus chủ yếu để sử dụng để đánh cắp tiền của người dùng bị lây nhiễm bằng cách gửi đến họ những tin nhắn lừa đảo, trong đó có chứa các thông tin về mua bảo hiểm hoặc các vấn đề liên quan. Loại mã độc này chiếm đến 63% tổng số các loại mã độc mới được phát tán trên Android trong quý I năm 2013. Các nhà nghiên cứu bảo mật của Kaspersky cũng báo cáo một sựbùng nồ về số lượng các mã độc hại trên di động. Theo đó chỉ tính riêng trong 3 tháng đầu năm 2013, Kaspersky đã phát hiện được số lượng mã độc mới trên các nền tảng di động bằng tổng số lượng mã độc được phát hiện trong cả năm 2012. Với việc Android tiếp tục trởthành “mồi ngon” của hacker trong việc phát tán các loại mã độc, có vẻ nhưAndroid đang dần trởthành một “Windows thứ2” trên lĩnh vực bảo mật, khi sựphổ biến của nền tảng này đang thu hút tối đa sựchú ý của các tin tặc, đồng thời việc quản lý các ứng dụng cho Android một cách lỏng lẻo càng tạo điều kiện cho mã độc được phát tán dễ dàng hơn trên nền tảng di động này. Bên cạnh lĩnh vực mã độc trên nền tảng di động, báo cáo về tình trạng bảo mật trong quý I năm 2013 của Kaspersky cũng cho biết 91% các vụ phát tán mã độc chủ yếu dựa vào việc phát tán các đường link trang web có chứa mã độc. Các đường link có chứa mã độc này chủ yếu được phát tán thông qua email và trên các mạng xã hội nhưFacebook, Twitter… Đây được xem là biện pháp được yêu thích nhất hiện nay của hacker. Con số cụ thể các loại mã độc (bao gồm cả trên nền tảng di động và các nền tảng khác) đã được Kaspersky phát hiện và vô hiệu hóa trong quý I năm 2013 là 1.345.570.352 mã độc (hơn 1 tỷ mã độc). Trong đó, hơn 60% các loại mã độc được phát tán từ3 quốc gia: Mỹ (25%), Nga (19%) và Hà Lan (14%). 2. Nghiên cứu lỗ hổng bảo mật trên Android: a) Malware trên Android: Malware không chỉ là mối lo ngại đối với người dùng máy tính màbây giờcòn lấn sân sang cả hệ điều hành dành cho smartphone, đặc biệt là Android.
  • 22. Nghiên cứu và cài đặt hệ điều hành Android trên các thiết bị nhưLaptop, Smartphone. 22 Virus vốn trước đây nhắm vào máy tính… Malware còn được gọi là phần mềm ác tính viết tắt của cụm từMalicious Software, là một loại virus với mục tiêu ban đầu của những người viết nên nó là tập trung vào máy tính, nhất là trên hệ điều hành Windows khi bây giờnó chiếm hơn 90% tổng lượng malware xuất hiện trên các nền tảng, bên cạnh đó còn có Linux, MacOS, Chrome OS… nhưng nó không đáng kể. …thì bây giờ cũng đã lấn sân sang nền tảng di động
  • 23. Nghiên cứu và cài đặt hệ điều hành Android trên các thiết bị nhưLaptop, Smartphone. 23 Thế nhưng, đó là chuyện của những ngày ban đầu mà malware xuất hiện, khi di động đang từng bước phát triển với những feature phone hay được gọi là điện thoại phổ thông. Thời đại càng phát triển, những hệ điều hành ra đời, xuất hiện ngày càng nhiều những smartphone với khả năng thay thế máy tính để thực hiện những công việc từsoạn thảo văn bản, giải trí đến giao dị ch với ngân hàng. Và nơi đây, đã trởthành miếng mồi ngon cho những người với chủ đích xấu tạo ra malware để gây hại với người dùng. Đại đa số những con malware này là Trojan với phần lớn là nhắm vào dị ch vụ Mobile Banking trên smartphone của bạn, lấy cắp thông tin, các thao tác xác nhận… thông qua sửdụng SMS Spy, tức là theo dõi qua những tin nhắn SMS mà bạn thực hiện giao dị ch với ngân hàng. Bên cạnh đó là nhằm vào các cuộc gọi thực hiện trên máy bạn, tắt một số dị ch vụ nhằm dễ dàng kiểm soát. b) Cơ chế hoạt động của Malware: Lấy một ví dụ cụ thể về 1 Malware đã làm mưa làm gió trong thời gian vừa qua đó là Malware DroidDream. Con Malware này hoạt động qua 2 giai đoạn, Giai đoạn đầu: DroidDream được nhúng vào trong một ứng dụng (số lượng ứng dụng chứa Malware này hiện đã nhiều hơn 50 ứng dụng) và nó sẽ chiếm được quyền root vào thiết bị của bạn ngay sau khi bạn chạy ứng dụng đó trong lần sửdụng đầu tiên. Giai đoạn 2 : sau đó nó sẽ cài đặt một ứng dụng thứ2 với một permission đặc biệt cho phép quyền uninstall. Một khi các ứng dụng thứ2 được cài đặt, nó có thể gửi các thông tin nhạy cảm tới một máy chủ từxa và âm thầm tải thêm các ứng dụng khác vào chiếc điện thoại nhiễm bệnh. Một khi DroidDream chiếm được quyền root (quyền root trên Android giống nhưquyền Admin trên PC), con Malware này được thiết kế để chờđợi và âm thầm cài đặt một ứng dụng thứhai, DownloadProviderManager.apk nhưmột ứng dụng hệ thống. Việc cài đặt ởgiai đoạn thứ2 như một ứng dụng hệ thống này nhằm ngăn ngừa người dùng xem hoặc gỡbỏ cài đặt các ứng dụng mà không được phép. Không giống nhưgiai đoạn đầu, khi mà người dùng phải khởi động ứng dụng để bắt đầu việc lây nhiễm, ởgiai đoạn thứ2 ứng dụng đó được lập trình để tựđộng làm một số việc đầu cuối nhưlà confirm, checkin. Một điều nữa khiến cho bạn không thể biết chúng hoạt động lúc nào, đó là con DroidDream này được lập trình để làm hầu hết các công việc của mình vào khoảng thời gian từ 11h đêm tới 8h sáng ngày hôm sau. Đây là khoảng thời gian mà đa phần chúng ta đều đang say giấc nồng và điện thoại ít có khả năng được sửdụng nhất. Điều này làm khó khăn hơn cho bạn để phát hiện một hành vi bất thường trên chiếc smartphone của mình. Mục đích của Malware DroidDream: DroidDream được coi là một trong những Malware đầu tiên trên Android, mục đích của con DroidDream này mới chỉ dừng lại ởmức độ làm cho chiếc điện thoại của bạn tựđộng cài đặt những ứng dụng chứa mã độc khác. Tuy nhiên các biến thể của nó đã kị p thời biến đổi để gây ra các mối nguy hại lớn hơn rất nhiều. Nhưcon « Hippo SMS« được tìm thấy mới đây có khả năng tự gửi tin nhắn mà không cần sựcho phép của người dùng, việc này sẽ khiến tiền cước phí của bạn tăng lên một cách chóng mặt mà bạn không biết rõ lí do tại sao. Hoặc một Malware khác là Zitmo, Malware này đưa ra các ứng dụng kích hoạt mọi hành động liên quan đến dị ch vụ ngân hàng, tiếp nhận SMS gửi đến và chuyển tới máy chủ. Các đoạn code dùng 1 lần mà các ngân
  • 24. Nghiên cứu và cài đặt hệ điều hành Android trên các thiết bị nhưLaptop, Smartphone. 24 hàng thường gửi tới khách hàng thông qua tin nhắn SMS để chứng thực sẽ bị tóm bởi các malware này. Hiện nay còn có một số Malware còn có khả năng nghe lén tất cả các cuộc điện thoại của bạn. Vấn đề này thực sựnguy hiểm khi tất cả các vấn đề riêng tưcủa chúng ta đang bị một kẻ lạ mặt theo dõi. 3. Cài đặt trojan cho Android: Cần chuẩn bị : Công cụ: dex2jar (link: https://code.google.com/p/dex2jar ) id-gui: (link: https://code.google.com/p/innlab/downloads/detail?name=jd- gui-0.3.3.windows.zip&can=2&q=2) apktool (link:https://code.google.com/p/android-apktool/ ) dex2jar: Dị ch ngược file .apk thành file .jar. id-gui: Đọc code java từfile .jar apktool: Giải mã các file apk và jar, đóng gói apk phục vụ cho việc tùy chỉ nh sữa đổi các file đó. Các bước thực hiện: B1: Dùng phần mềm WinZip giải nén file classes.dex vào folder chứa công cụ dex2jar.
  • 25. Nghiên cứu và cài đặt hệ điều hành Android trên các thiết bị nhưLaptop, Smartphone. 25 B2: Vào Command Window di chuyển đến thưmục chứa công cụ dex2jar có chứa file classes.dex thực hiện câu lệnh: dex2jar classes.dex câu lệnh này chuyển đổi file classes.dex thành file classes_dex2jar.jar. B3: Dùng công cụ id-gui mởfile classes_dex2jar vừa được chuyển đổi ởbước 2 để xem source code của ứng dụng iCalendar.
  • 26. Nghiên cứu và cài đặt hệ điều hành Android trên các thiết bị nhưLaptop, Smartphone. 26 B4: Vào command window di chuyển đến folder chứa công cụ apktool (folder có công cụ apktool phải chứa file iCalendar.apk) thực hiện lần lượt 2 câu lệnh sau: apktool if iCalendar.apk apktool d iCalendar.apk Kết quả sau khi thực hiện 2 câu lệnh Truy cập vào thưmục iCalendar và di chuyển đến thưmục smali -> com -> mj -> iCalendar như hình bên dưới.
  • 27. Nghiên cứu và cài đặt hệ điều hành Android trên các thiết bị nhưLaptop, Smartphone. 27 B5: Mởfile iCalendar.smali và file SmsReceiver.smali bằng Notepad. Và thực hiện nhưhình bên dưới sau đó lưu lại.
  • 28. Nghiên cứu và cài đặt hệ điều hành Android trên các thiết bị nhưLaptop, Smartphone. 28 B6: Vào command window thực hiện câu lệnh sau để đóng gói ứng dụng iCalendar đã được chĩnh sữa và ta sẽ thu được gói iCalendar.apk mới ởthưmục : ...iCalendar/dist apktool b iCalendar B7: Di chuyển đến thưmục ...java/bin (có chứa gói iCalendar.apk vừa mới tạo ra ởbước 6) và thực hiện 3 câu lệnh sau để verify gói apk này có thể sửdụng được trên thiết bị , các bước thực hiện từng câu lệnh ta sẽ thực hiện theo hướng dẫn trên Command window, kết quả ta thu được nhưhình bên dưới. Keytool –genkey –v –keystore iCalendar-iCalendar.keystore –alias iCalendar –keyalg RSA – keysize 2048 –validity 10000 Jarsigner –verbose –sigalg SHA1withRSA -digestalg SHA1 –keystore iCalendar- iCalendar.keystoreiCalendar.apk iCalendar Jarsigner –verify –verbose certs iCalendar.apk
  • 29. Nghiên cứu và cài đặt hệ điều hành Android trên các thiết bị nhưLaptop, Smartphone. 29 B8: Dùng câu lệnh sau để cài đặt ứng dụng vào thiết bị giả lập (ởđây ta cài đặt vào thiết bị 5554): adb –s emulator-5554 install iCalendar.apk
  • 30. Nghiên cứu và cài đặt hệ điều hành Android trên các thiết bị nhưLaptop, Smartphone. 30 B9: Kiểm tra kết quả trên thiết bị giả lập:
  • 31. Nghiên cứu và cài đặt hệ điều hành Android trên các thiết bị nhưLaptop, Smartphone. 31 B10: Thực hiện kích hoạt Trojan gửi tin nhắn từthiết bị 5554 sang thiết bị 5556. (Mở ứng dụng iCalendar sau đó click 10 lần.) Kết quả sau khi thực hiện
  • 32. Nghiên cứu và cài đặt hệ điều hành Android trên các thiết bị nhưLaptop, Smartphone. 32 IV. Thực hiện trên môi trường internet 1. Xây dựng ứng dụng ASP.NET dùng để Download các gói cài đặt apk cho thiết bị Android: B1: Xây dựng trang ASPX với tên là Download-file.aspx để nhận được yêu cầu từtrình d u y ệ t c ủ a t h i ế t b ị : <%@PageLanguage="C#"AutoEventWireup="true"CodeBehind="Download- file.aspx.cs"Inherits="DemoAndroid.Download_file"%> <!DOCTYPEhtmlPUBLIC"-//W3C//DTD XHTML 1.0 Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <htmlxmlns="http://www.w3.org/1999/xhtml"> <headrunat="server"> <title></title> </head> <body> <formid="form1"runat="server"> <div> <h1>UPLOAD FILE</h1> <asp:FileUploadID="FileUpload"runat="server"/><br/> <br/> <asp:ButtonID="btnUploadFile"runat="server"Text="Upload File" onclick="btnUploadFile_Click"/><br/> <br/> <asp:LabelID="Message"runat="server"ForeColor="Red"Text=""></asp:Label> <h1>DOWNLOAD FILE</h1> <asp:ButtonID="btnShowList"runat="server"Text="Show list of file" onclick="btnShowList_Click"/> <br/><br/> <asp:RepeaterID="FilesRepeater"runat="server"> <ItemTemplate> <asp:LinkButtonID="DownLoadLinkButton"runat="server"Text='<%#DataBinder.Eval(Con tainer.DataItem,"Name")%>'CommandArgument='<%#Bind("Name")%>' OnCommand="DownLoadLinkButton_Click"></asp:LinkButton><br/> </ItemTemplate> </asp:Repeater><br/><br/> <asp:LabelID="Message2"runat="server"ForeColor="Red"Text=""></asp:Label> </div> </form> </body> </html>
  • 33. Nghiên cứu và cài đặt hệ điều hành Android trên các thiết bị nhưLaptop, Smartphone. 33 B2: Tạo trang mã nguồn C# với tên là Download-file.aspx.cs dùng để cài đặt yêu cầu Do wnl oad tập tin cho tran g ASP X. using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; using System.Data; using System.IO; namespace DemoAndroid { publicpartialclassDownload_file : System.Web.UI.Page { protectedvoid Page_Load(object sender, EventArgs e) { } protectedvoid btnUploadFile_Click(object sender, EventArgs e) { try { if (FileUpload.PostedFile != null) { string FileName = Path.GetFileName(FileUpload.PostedFile.FileName); FileUpload.PostedFile.SaveAs(Server.MapPath("App_Data/") + FileName); Message.Text = "Upload Thành Công"; } else { thrownewException(); } } catch (Exception ex) { Message.Text = "Chưa chọn File UpLoad"; } }
  • 34. Nghiên cứu và cài đặt hệ điều hành Android trên các thiết bị nhưLaptop, Smartphone. 34 protectedvoid DownLoadLinkButton_Click(object sender, CommandEventArgs e) { try { string FileName = "App_Data/" + (e.CommandArgument).ToString(); FileInfo LookForFile = newFileInfo(Server.MapPath(FileName)); if (LookForFile.Exists) { Response.Clear(); Response.ContentType = ("application/octet=stream"); Response.AppendHeader("Content-Disposition", "attachment;filename=" + (e.CommandArgument).ToString()); Response.WriteFile(Server.MapPath(FileName)); Response.Flush(); Response.Close(); } else { thrownewFileNotFoundException(); } } catch (FileNotFoundException ex) { Message2.Text = "error: " + ex.ToString(); throw; } finally { } } protectedvoid btnShowList_Click(object sender, EventArgs e) { DirectoryInfo FilesInFolder = newDirectoryInfo(Server.MapPath("App_Data/")); FilesRepeater.DataSource = FilesInFolder.GetFiles("*"); FilesRepeater.DataBind(); } } }
  • 35. Nghiên cứu và cài đặt hệ điều hành Android trên các thiết bị nhưLaptop, Smartphone. 35 B3: Tạo một tập tin cấu hình với tên Web.config bằng XML, ASP.NET cho phép quản trị bằng XML. <?xmlversion="1.0"?> <!-- For more information on how to configure your ASP.NET application, please visit http://go.microsoft.com/fwlink/?LinkId=169433 --> <configuration> <appSettings> </appSettings> <connectionStrings></connectionStrings> <system.web> <compilationdebug="true"targetFramework="4.0" /> <authenticationmode="Windows"></authentication> <customErrorsmode="RemoteOnly"defaultRedirect="GenericErrorPage.html"> <errorstatusCode="403"redirect="NoAccess.html"/> <errorstatusCode="404"redirect="FileNotFound.html"/> </customErrors> </system.web> <locationpath="App_Data"></location> <system.webServer> <directoryBrowseenabled="true"/> <defaultDocumentenabled="true"> <files> <addvalue="Download-file.aspx"/> </files> </defaultDocument> </system.webServer> </configuration>
  • 36. Nghiên cứu và cài đặt hệ điều hành Android trên các thiết bị nhưLaptop, Smartphone. 36 2. Sử dụng phần mềm FileZilla để upload các file vào host. Cần chuẩn bị một Domain và phần mềm FileZilla. Sau đó đăng nhập và upload các file chúng ta vừa tạo ởtrên vào Domain. Lúc này chúng ta đã có thể truy cập bằng trình duyệt và download các tập tin về và cài đặt cho thiết bị