16
Nguyễn Hoàng Anh – lớp CNTT – ca sáng 2-4-6 Báo cáo đề tài 5: Nghiên cứu các Trojan, Malware cho phép đánh cắp dữ liệu như danh sách contact, tin nhắn trên điện thoại sử dụng Android và gửi ra ngoài. Nghiên cứu các chương trình có mã độc trên Android nghiên cứu cài đặt backdoor, trojan lên Android (iCalendar) 1.Định nghĩa: Mã độc là một đoạn code được đưa vào phần mềm nhằm thay đổi các thực thi của hệ điều hành hoặc các chương trình bảo vệ máy tính mà không cần sự cho phép của người sử dụng. Bằng cách này, phần mềm có chứa mã độc sẽ gây hại cho hệ điều hành cũng như các chương trình ứng dụng và người dùng thiết bị. 2.Mã độc trong môi trường Android: Android là một môi trường lý tưởng cho mã độc phát triển vì: Phần lớn các smartphone đều hỗ trợ các ứng dụng email, internet baking…Sử dụng các ứng dụng này đồng nghĩa với việc cung cấp thông tin cá nhân. Android hiện tại giữ vị trí số một trong các hệ điều hành dành cho smartphone và máy tính bảng.

Nghiên cứu các chương trình có mã độc trên android và nghiên cứu cài đặt backdoor, trojan lên android (i calendar)

Embed Size (px)

Citation preview

Page 1: Nghiên cứu các chương trình có mã độc trên android  và nghiên cứu cài đặt backdoor, trojan lên android (i calendar)

Nguyễn Hoàng Anh – lớp CNTT – ca sáng 2-4-6

Báo cáo đề tài 5: Nghiên cứu các Trojan, Malware cho phép đánh cắp dữ liệu như danh sách contact, tin nhắn trên điện thoại sử dụng Android và gửi ra ngoài.

Nghiên cứu các chương trình có mã độc trên Android và nghiên cứu cài đặt backdoor, trojan lên Android (iCalendar)

1.Định nghĩa:

Mã độc là một đoạn code được đưa vào phần mềm nhằm thay đổi các thực thi của hệ điều hành hoặc các chương trình bảo vệ máy tính mà không cần sự cho phép của người sử dụng. Bằng cách này, phần mềm có chứa mã độc sẽ gây hại cho hệ điều hành cũng như các chương trình ứng dụng và người dùng thiết bị.

2.Mã độc trong môi trường Android:

Android là một môi trường lý tưởng cho mã độc phát triển vì:

Phần lớn các smartphone đều hỗ trợ các ứng dụng email, internet baking…Sử dụng các ứng dụng này đồng nghĩa với việc cung cấp thông tin cá nhân.

Android hiện tại giữ vị trí số một trong các hệ điều hành dành cho smartphone và máy tính bảng.

Android là một hệ điều hành mở.

Mục tiêu của mã độc Android:

Có nhiều cách phân loại mã độc trong android:

Nghiên cứu của Troy Vennon dựa vào cách hoạt động lây nhiễm của mã độc đã chia ra làm bốn loại.

Nghiên cứu của K.H.Khan & M.N.Tahir phân loai mã độc làm 6 nhóm.

Trang web forenics chuyên nghiên cứu về mã độc dựa vào mục tiêu của mã độc để chia ra làm 9 họ:

Page 2: Nghiên cứu các chương trình có mã độc trên android  và nghiên cứu cài đặt backdoor, trojan lên android (i calendar)

Đánh cấp thông tin cá nhân 51,3%Gửi tin nhắn trái phép (IMEL,..) 30,1%Botnet(spam, thư rác,..) 23,5%Truy cập Root 18,3%Tải từ Google-Play 11,3%Cài đặt các ứng dụng khác 10,4%Đánh cấp định vị của người dùng 8,7%Cài đặt các ứng dụng hỗ trợ hacker 7,8%Trojans (tiếp cận các dịch vụ ngân hàng trực tiếp)

3,5%

3.Tính bảo mật trong Android

Các ứng dụng android được tách biệt với nhau trong quá trình thực thi.

Các ứng dụng android được phân biệt bởi system ID.

Các ứng dụng android phải được signing mới có thể cài đặt vào hệ thống.

Bảo mật trong android được thể hiện qua cơ chế “Permission”

Cơ chế Permission:

Bất cứ những tác vụ nào gây ảnh hưởng cho các ứng dụng khác, hệ điều hành và người sử dụng thiết bị đều được bảo vệ bởi cơ chế Permission, ví dụ như đọc gửi tin nhắn, truy cập mạng, thực hiện cuộc gọi, truy cập vào thông tin cá nhân,..Nói cách khác người lập trình ứng dụng sẽ khai báo Permission cho những nguồn tài nguyên này và người dùng sẽ được thông báo trước khi cài đặt ứng dụng.

Google Play:

Kiểm soát các mã độc trên ứng dụng.

4.Thực trạng

Page 3: Nghiên cứu các chương trình có mã độc trên android  và nghiên cứu cài đặt backdoor, trojan lên android (i calendar)

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 có đến 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ố báo động 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, đọc lén các thông tin cần thiết và gửi báo cáo đến nơi khác, ăn cắp thông tin như là mật khẩu và số thẻ tín dụng, cài đặt lén các phần mềm chưa được cho phép, ….. 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 mà Android là nền tảng chịu ảnh hưởng nặng nhất.

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ý 1/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 đó có hơn 60% các loại mã độc phát tán từ 3 quốc giá: Mĩ (25%), Nga (19%) và Hà Lan (14%).

Page 4: Nghiên cứu các chương trình có mã độc trên android  và nghiên cứu cài đặt backdoor, trojan lên android (i calendar)

5. Nghiên cứu lỗ hổng bảo mật trên Android.

5.1. Malware trên Android.

Malware không chỉ mối lo ngại với người dùng máy tính mà bây giờ còn lấn sang cả hệ điều hành dành cho smartphone, đặc biệt là Android.

Malware (phần mềm ác tính) viết tắt của cụm từ Malicious Sofware, là một phần mềm máy tính được thiết kế với mục đích thâm nhập hoặc gây hỏng hóc máy tính mà người sử dụng không hề hay biết. Người viết nên nó ban đầu chỉ tập trung vào máy tính, nhất là Windows khi nó chiếm đến 90% tổng số Malware xuất hiện trên các nền tảng, bên cạnh đó là các OS khác như Linux, Chrome OS, MacOs... nhưng không đáng kể. Tuy nhiên giờ đây khi Smartphone đang ngày càng phát triển và phổ biến dần thay thế máy tính từ các công việc soạn thảo văn bản, giải trí đến giao dịch ngân hàng thì nó trở thành mục tiêu tấn công của Malware.

Theo thống kê của các hãng bảo mật trên thế giới thì hiện các Malware hiện nay mới chỉ dừng lại ở mức độ xâm nhập và ăn cắp thông tin của người dùng và nó chưa có cơ chế lây lan. Theo các kết quả trên thì Malware trên Smartphone hiện nay về cách thức hoạt động giống như một phần mềm gián điệp (Trojan), phần lớn nhắm vào dịch vụ Mobile Banking trên Smartphone để lấy cắp thông tin, các thao tác xác nhận... thông qua việc sử dụng SMS Spy, tức là theo dõi tin nhắn SMS khi 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ụ để dễ kiểm soát.

5.2 Cơ chế hoạt động của Malware.

Lấy một ví dụ cụ thể về 1 Malware rất phổ biến trong thời gian vừa qua đó là Malware DroidDream. 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à 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 : Tự động 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 Một khi DroidDream chiếm được quyền root, Malware này sẽ chờ đợi và âm

Page 5: Nghiên cứu các chương trình có mã độc trên android  và nghiên cứu cài đặt backdoor, trojan lên android (i calendar)

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 ứ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, 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 tự động làm một số việc 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à Malware 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à điện thoại ít có khả năng được sử dụng nhất. Điều này làm cho người dùng khó khăn hơn trong việc phát hiện một hành vi bất thường trên chiếc smartphone của mình.

5.3.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 người dùng 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. Ví dụ như 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 người dùng tăng lên một cách chóng mặt mà người dùng 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 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ị thu thập 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. 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 theo dõi, vì vậy những mối nguy hiểm từ mã độc trên android đang thực sự đe dọa đến an sự an toàn của người dùng hệ điều hành này.

6. Cài đặt trojan trên Android (iCalendar)

Các công cụ cần thiết:

apktool: giải mã các file .apk và .rar, đóng gói apk phục vụ cho việc tùy chỉnh sửa đổi các file đó. https://code.google.com/p/android-apktool/

Page 6: Nghiên cứu các chương trình có mã độc trên android  và nghiên cứu cài đặt backdoor, trojan lên android (i calendar)

dex2jar: dịch file .apk thành file .jar. https://code.google.com/p/dex2jar/ id-gui: đọc code java từ file .jar.

https://code.google.com/p/innlab/downloads/detail?name=jd-gui-0.3.3.windows.zip&can=2&q=2

File iCalendar.apk, một trong 11 ứng dụng bị gỡ bỏ khỏi Android Market do có chứa malware.

Các bước thực hiện:

1. Dùng phần mềm WinZip giải nén file classes.dex trong iCalendar.apk vào folder chứa công cụ dex2jar.

2. Vào command windows, vào trong thư mục dex2jar để thực hiện câu lệnh sau: dex2jar classes.dex

Page 7: Nghiên cứu các chương trình có mã độc trên android  và nghiên cứu cài đặt backdoor, trojan lên android (i calendar)

Câu lệnh này chuyển đổi file classes.dex thành file classes_dex2jar.jar.

3. Dùng công cụ id-gui để mở file classes_dex2jar.jar có được ở bước 2 để xem source code của ứng dụng iCalendar.

4. Vào command windows, vào trong thư mục chứa apktool (phải chứa sẵn iCalendar.apk) và nhập 2 lệnh sau:

apktool if iCalendar.apkapktool d iCalendar.apk

Ta được kết quả:

Page 8: Nghiên cứu các chương trình có mã độc trên android  và nghiên cứu cài đặt backdoor, trojan lên android (i calendar)

Truy cập vào thư mục iCalendar và di chuyển đến thư mục smali\com\mj\iCalendar

5. 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.

Page 9: Nghiên cứu các chương trình có mã độc trên android  và nghiên cứu cài đặt backdoor, trojan lên android (i calendar)

6. Vào command windows thực hiện câu lệnh sau để đóng gói ứng dụng iCalendar đã được chỉnh sửa thành file .apk mới tại thư mục iCalendar\dist

apktool b iCalendar

Page 10: Nghiên cứu các chương trình có mã độc trên android  và nghiên cứu cài đặt backdoor, trojan lên android (i calendar)

7. Đưa file iCalendar.apk đã tạo ở bước 6 vào thư mục bin nằm trong thư mục Java

Trên command windows vào thư mục trên và nhập các lệnh sau để verify (Signing ứng dụng, tạo chữ ký điện tử để thiết bị) gói apk để có thể sử dụng trên thiết bị (phải chọn run as administrator khi chạy cmd)::

keytool -genkey -v -keystore iCalendar-iCalendar.keystore -alias iCalendar -keyalg RSA -keysize 2048 -validity 10000

Page 11: Nghiên cứu các chương trình có mã độc trên android  và nghiên cứu cài đặt backdoor, trojan lên android (i calendar)

jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore iCalendar-iCalendar.keystore iCalendar.apk iCalendar

jarsigner -verify -verbose -certs iCalendar.apk

Kết quả:

Ta đã verify thành công file apk.

8. Copy file iCalendar.apk vào thư mục platform-tools của Android SDK và dùng lệnh sau để cài ứng dụng vào giả lập

adb -s emulator-5554 install iCalendar.apk

Page 12: Nghiên cứu các chương trình có mã độc trên android  và nghiên cứu cài đặt backdoor, trojan lên android (i calendar)

Vậy ta đã cài đặt thành công lên máy ảo.

9. Kích hoạt Trojan gửi tin nhắn đến máy ảo 5556 (mở ứng dụng iCalendar rồi click 7 lần).Kết quả

Page 13: Nghiên cứu các chương trình có mã độc trên android  và nghiên cứu cài đặt backdoor, trojan lên android (i calendar)