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
Trang 1[[BÁO CÁO TÀI TH C T P
MSSV : 1020223
Trang 2TP.HCM -Tháng 5 / 2014 LỜI CẢM ƠN
Em xin gởi lời cảm ơn chân thành và sự tri ân sâu sắc đối với Thầy và các anh chịnhân viên đã tạo điều kiện cho em thực tập ở Athena để thực tập Và em cũng xin chân thànhcám ơn Thầy Võ Tất Thắng đã nhiệt tình hướng dẫn hướng dẫn em hoàn thành tốt khóa thựctập
Trong quá trình thực tập, cũng như là trong quá trình làm bài báo cáo, khó tránh khỏisai sót, rất mong các Thầy bỏ qua Đồng thời do trình độ lý luận cũng như kinh nghiệm thựctiễn còn hạn chế nên bài báo cáo không thể tránh khỏi những thiếu sót, em rất mong nhậnđược ý kiến đóng góp của Thầy để em học thêm được nhiều kinh nghiệm
Em xin chân thành cảm ơn !
Trang 3ĐÁNH GIÁ CỦA GVHD :
Trang 4
MỤC LỤC
I Nghiên cứu hệ điều hành Android trên môi trường giả lập.
1 Cài đặt hệ điều hành Android 2.3 và 4.x trên môi trường giả lập
1.Cài đặt Java trên máy tính.
Để có thể lập trình được App cho Android thì trên máy tính của bạn phải đặt toàn bộ JDK Bạn có thể download bộ JDK tại địa chỉ : tại đây
(Tùy vào phiên bản windows của bạn là 32bit hay là 64bit bạn cần download cho phù hợp)
Sau khi tải bộ JDK về máy các bạn tiến hành cài đặt chúng
Xuất hiện cửa dổ cài đặt, các bạn cứ ấn Next…
Trang 5Và đợi cho tới khi quá trình cài đặt hoàn tất.
Trang 6Sau khi cài xong, các bạn có thể kiểm tra lại xem bộ JDK đã cài được trên máy tính của bạn chưa bẳng cách vào CMD và gõ lệnh: “java”
Nếu màn hình hiện ra như sau là bạn đã hoàn thành rồi:
Trang 72 Download và Cài đặt Eclipse, Android SDK.
Trước tiên ta phải download bộ Eclipse
Các bạn vào địa chỉ : http://developer.android.com/sdk/index.html
Trang 8Download bộ cài đầy đủ bao gồm Eclipse và Android SDK : ADT Bundle for
Trang 9Sẽ xuất hiện 1 cửa sổ mới như sau :
Trang 10Công việc tiếp theo là các bạn chỉ cần tích chọn các phần API cần cài rồi click vào nút:Install packages ở góc dưới bên phải và chờ cho nó download và cài đặt là xong.
3.Tạo máy AVD (Android Virtual Device).
Đầu tiên bạn khởi chạy Eclipse lên
Các bạn có thể xem hướng dẫn cách cài đặt Eclipse và Android SDK ở phần hướngdẫn trước
Hoặc bạn cũng có thể tham khảo thêm tạo 1 máy ảo Android trên Virtualbox mình
đã hướng dẫn chi tiết ở bài trước
Sau khi khởi chạy xong Eclipse Bạn vào : Windows ->Android Virtual
Device Manager.
Hoặc các bạn cũng có thể click ngay vào biểu tượng AVD trên menu của Eclipse :
Click vào New để tạo mới :
Trang 11Cửa sổ mới mở ra, các bạn điền đầy đủ các thông số vào theo yêu cầu :
Trang 12AVD Name : Các bạn chỉ được sử dụng cách ký tự : A -> Z, a -> z, và “., -, _” mà
thôi
Target : Bạn chọn phiên bản Android để test.
SD Card : Là dung lượng bộ nhớ ảo của thẻ SD.
Và một số thông tin khác…
Trang 13Các bạn click OK để hoàn thành tạo mới một AVD.
Bây giờ bạn vào phần Android Virtual Device Manager như ban đầu thì bạn sẽ thấy
tên máy ảo mới mình vừa tạo rồi
Nhấn Start để khởi chạy máy ảo (bạn có thể sẽ phải chờ một khoảng thời gian để máy
ảo khởi chạy) :
Trang 14Và đây là giao diện cuối cùng :
Trang 152 So sánh sự khác nhau giữa hai phiên bản Android 2.3 và 4.x
2.1 Sự khác nhau về yêu cầu phần cứng cần thiết để cài đặt
dữ liệu.Trình quản lí download phải có khả
năng tải tập tin có dung lượng ít nhất 55 MB
Các API Android bao gồm trình quản
lý download các ứng dụng có thể sử dụng để tải
dữ liệu.Trình quản lí download phải có khả năng tải tập tin có dung lượng ít nhất 100 MB
2.2 Sự khác nhau về giao diện
Giao diện người dùng của Android dựa trên nguyên tắc tác động trực tiếp, sử dụng cảmứng chạm tương tự như những động tác ngoài đời thực như vuốt, chạm, kéo dãn và thu lại để
xử lý các đối tượng trên màn hình.Sự phản ứng với tác động của người dùng diễn ra gần nhưngay lập tức, nhằm tạo ra giao diện cảm ứng mượt mà, thường dùng tính năng rung của thiết
bị để tạo phản hồi rung cho người dùng Những thiết bị phần cứng bên trong như gia tốc
kế, con quay hồi chuyển và cảm biến khoảng cách được một số ứng dụng sử dụng để phản hồimột số hành động khác của người dùng, ví dụ như điều chỉnh màn hình từ chế độ hiển thị dọcsang chế độ hiển thị ngang tùy theo vị trí của thiết bị, hoặc cho phép người dùng lái xe đuabằng xoay thiết bị, giống như Các thiết bị Android sau khi khởi động sẽ hiển thị màn hìnhchính, điểm khởi đầu với các thông tin chính trên thiết bị, tương tự như kháiniệm desktop (bàn làm việc) trên máy tính để bàn Màn hính chính Android thường gồmnhiều biểu tượng (icon) và tiện ích (widget); biểu tượng ứng dụng sẽ mở ứng dụng tương
Trang 16ứng, còn tiện ích hiển thị những nội dung sống động, cập nhật tự động như dự báo thời tiết,hộp thư của người dùng, hoặc những mẩu tin thời sự ngay trên màn hình chính Màn hìnhchính có thể gồm nhiều trang xem được bằng cách vuốt ra trước hoặc sau, mặc dù giao diệnmàn hình chính của Android có thể tùy chỉnh ở mức cao, cho phép người dùng tự do sắp đặthình dáng cũng như hành vi của thiết bị theo sở thích Những ứng dụng do các hãng thứ ba cótrên Google Play và các kho ứng dụng khác còn cho phép người dùng thay đổi "chủ đề" củamàn hình chính, thậm chí bắt chước hình dáng của hệ điều hành khác như Windows Phone chẳng hạn Phần lớn những nhà sản xuất, và một số nhà mạng, thực hiện thay đổi hình dáng vàhành vi của các thiết bị Android của họ để phân biệt với các hãng cạnh tranh Ở phía trên cùngmàn hình là thanh trạng thái, hiển thị thông tin về thiết bị và tình trạng kết nối Thanh trạngthái này có thể "kéo" xuống để xem màn hình thông báo gồm thông tin quan trọng hoặc cậpnhật của các ứng dụng, như email hay tin nhắn SMS mới nhận, mà không làm gián đoạn hoặckhiến người dùng cảm thấy bất tiện.Trong các phiên bản đời đầu, người dùng có thể nhấn vàothông báo để mở ra ứng dụng tương ứng, về sau này các thông tin cập nhật được bổ sung theotính năng, như có khả năng lập tức gọi ngược lại khi có cuộc gọi nhỡ mà không cần phải mởứng dụng gọi điện ra Thông báo sẽ luôn nằm đó cho đến khi người dùng đã đọc hoặc xóa nó đi.
Có thể thực hiện thêm 1 số tính năng khi màn hình
bị khoái ngoài trả lời , ngắt cuộc gọi như gửi tin nhắn
Không có tính năng mở khóa màn hình nhận
Trang 17tất cả các camera trên thiết bị
2.4 Sự khác nhau về giao thức mạng
Không hỗ trợ giao thức https Hỗ trợ giao thức https
3 Nghiên cứu cài đặt trojan , backdoor trên thiết bị Android (iMatch)
Ứng dụng iMatch đã được minh họa cách cài đặt qua clip đính kèm
4 Nghiên cứu các chương trình có mã đọc trên Android (iCalendar)
4.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ênAndroid - 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ãngbả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 tinnhắ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 tinnhư 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ý
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
Trang 18quả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 đượcphá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 trongquý I/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
4.2 Nghiên cứu lỗ hổng bảo mật trên Android
4.2.1 Malware trên 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ềmmá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
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ớichỉ 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âylan Theo các kết quả trên thì Malware trên Smartphone hiện nay về cách thức hoạt độnggiống như một phần mềm gián điệp (Trojan) hơn là một virus phá hủy
4.2.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 ứngdụ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àothiế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 chophé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 tinnhạ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 khiDroidDream chiếm được quyền root, Malware này sẽ chờ đợi và âm thầm cài đặt một ứngdụng thứ hai, DownloadProviderManager.apk như một ứng dụng hệ thống Việc cài đặt ứng
Trang 19dụ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ệclâ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ảngthờ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ệnmộ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 đíchcủ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ờibiế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ấymớ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íchhoạ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ớimá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 quatin 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 theodõ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ự antoàn của người dùng hệ điều hành này
4.3 Cài đặt trojan trên Android (iCalendar)
1.Dùng công cụ apktool để chỉnh sửa file apk
apktool if name.apkapktool d name.apkapktool b name
Trang 202.Signing ứng dụng, tạo chữ ký điện tử để thiết bị có thể sử dụng được ứng dụng
keytool -genkey -v -keystore name-name.keystore -alias name -keyalg RSA -keysize 2048 -validity 10000
jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore name.keystore name.apk name
name-jarsigner -verify -verbose -certs name.apk3.Cài đặt ứng dụng lên máy nạn nhân
adb -s emulator-device install name.apkDemo cài đặt ứng dụng Icalendar và đã được minh họa trên clip đính kèm
5 Nghiên cứu Kali Linux – các cơ chế tạo mã độc trên Kali –Linux , từ đó xâm nhập thẻ Sd card, kích hoạt camera, ghi âm trên thiết bị, sau đó truyền dữ liệu về máy điều khiển từ xa
5.1 Tìm hiểu Kali Linux
Kali Linux là một hệ điều hành được xây dựng trên nhân Linux, được thiết kế để kiểmtra bảo mật, thử nghiệm xâm nhập các hệ thống máy tính Tiền thân của Kali Linux làBackTrack, xuất hiện năm 2006 và được các chuyên gia đánh giá bảo mật ưa chuộng sử dụng.Sau 7 năm liên tục phát triển, tháng 3 năm 2013, hãng Offensive Security đã công bố phiênbản mới của BackTrack có tên là Kali Linux (được xem như phiên bản BackTrack 6) KaliLinux tập hợp và phân loại gần như tất cả các công cụ thiết yếu mà bất kì chuyên gia đánh giábảo mật nào cũng cần sử dụng khi tác nghiệp
Nói về ưu điểm của Kali là nói về những thay đổi giữa BackTrack và Kali So vớiBackTrack, Kali có rất nhiều cải tiến:
Kali phát triển trên nền tảng hệ điều hành Debian
Điều này có nghĩa Kali có rất nhiều ưu điểm Đầu tiên là các Repository (Kho lưu trữphần mềm) được đồng bộ hóa với các Repository của Debian nên có thể dễ dàng có được cácbản cập nhật vá lỗi bảo mật mới nhất và các cập nhật Repository Duy trì cập nhật (up-to-date) đối với các công cụ Penetration Test là một yêu cầu vô cùng quan trọng
Trang 21Một lợi thế khác là mọi công cụ trong Kali đều tuân theo chính sách quản lý gói củaDebian Điều này có vẻ không quan trọng nhưng nó đảm bảo rõ ràng về mặt cấu trúc hệ thốngtổng thể, nó cũng giúp cho chúng ta có thể dễ dàng hơn trong việc xem xét hoặc thay đổi mãnguồn của các công cụ.
Tính tương thích kiến trúc
Một ưu điểm quan trọng trong Kali là nó đã cải tiến khả năng tương thích với kiến trúcARM Từ khi Kali xuất hiện, nhiều phiên bản ấn tượng đã được tạo ra Giờ đây ta có thể buildKali trên một Raspberry Pi hoặc trên Samsung Galaxy Note
Hỗ trợ mạng không dây tốt hơn
Một trong những vấn đề được các nhà phát triển Kali chú trọng nhiều nhất, chính là sự
hỗ trợ cho một số lượng lớn phần cứng bên trong các thiết bị mạng không dây hay USBDongles Một yêu cầu quan trọng khi các chuyên gia bảo mật thực hiện đánh giá mạng khôngdây
Khả năng tùy biến cao
Kali rất linh hoạt khi đề cập đến giao diện hoặc khả năng tuỳ biến hệ thống Đối vớigiao diện, giờ đây người dùng đã có thể chọn cho mình nhiều loại Desktops như GNOME,KDE hoặc XFCE tùy theo sở thích và thói quen sử dụng
Dễ dàng nâng cấp giữa các phiên bản Kali trong tương lai
Đối với bất cứ ai sử dụng Kali, đây là một tính năng quan trọng khi bảo trì hệ điềuhành Kali Với BackTrack, bất kỳ lúc nào khi phiên bản mới được công bố thì chúng ta đềuphải cài lại mới hoàn toàn (Ngoại trừ phiên bản R2 lên R3 năm ngoái)
Giờ đây với Kali, nhờ vào sự chuyển đổi sang nền tảng hệ điều hành Debian, Kali đã
dễ dàng hơn trong việc âng cấp hệ thống khi phiên bản mới xuất hiện, người dùng không phảicài lại mới hoàn toàn nữa
Trang 225.2 Cài đặt Kali Linux trên máy ảo VMWare
Trước tiên cần tải về file ISO phiên bản mới nhất của Kali Linux trên link dưới, bài
này ta sẽ tiến hành cài phiên bản Kali Linux 1.0.6 64 bit http://www.kali.org/downloads/
Tất nhiên ta cần phải có Vmware, việc tải và cài đặt Vmware rất dễ dàng, ta có thể tìmtrên mạng Sau khi có file ISO ta bắt đầu tiến hành cài đặt lên máy ảo
Mở VMware, chọn File ở góc phải trên màn hình, chọn New Virtual Machine Trên cửa sổ mới mở, chọn custom và nhấn next
Tiếp tục nhấn next đến khi yêu cầu chọn file ISO thì ta chọn ISO của kali đã tải trước đó:
Trang 23Đặt tên và đặt đường dẫn cho máy ảo
Tiếp tục chọn cấu hình cho máy ảo, ta có thể để mặc định
Máy ảo sẽ khởi động và vào giao diện cài đặt, chọn Graphic Install
Trang 24Bấm chọn ngôn ngữ, địa điểm, Host name như khi cài đặt hệ điều hành bình thường
Tiếp theo chọn Root password, luôn nhớ Root password đã chọn!
Phần Partition chọn Guided – use entire disk và All files in one partition