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)
1. 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.
2. 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ọ:
Đá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.
3. 4.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 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%).
4. 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
5. 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/
6. 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
7. 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.apk
apktool d iCalendar.apk
Ta được kết quả:
8. Truy cập vào thư mục iCalendar và di chuyển đến thư mục
smalicommjiCalendar
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.
9. 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
iCalendardist
apktool b iCalendar
10. 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
11. 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
12. 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ả