an toàn và bảo mật trong Android - Pdf 13

TRƯỜNG ĐẠI HỌC MỎ ĐỊA CHẤT
KHOA CÔNG NGHỆ THÔNG TIN
o0o
Bài tập lớn môn học
NGUYÊN LÝ HỆ ĐIỀU HÀNH
Giảng viên hướng dẫn: Nguyễn Thị Hữu Phương
Người thực hiện: 1. Dương Thị Thảo
2. Trần Xuân Đức
3. Nguyễn Đẩu Hoàng
Lớp: Tin học Trắc Địa K55
Hà Nội , tháng 5/2012
ĐẶT VẤN ĐỀ
Hệ điều hành là một chương trình hay một hệ chương trình hoạt động giữa người sử
dụng (user) và phần cứng của máy tính . Mục tiêu của hệ điều hành là cung cấp một
môi trường để người sử dụng có thể thi hành các chương trình . Nó làm cho máy tính dễ
sử dụng hơn , thuận lợi hơn và hiệu quả hơn.
Hệ điều hành là một phần quan trọng của hầu hết các hệ thống máy tính . Một hệ
thống máy tính được chia làm bốn phần chính : phần cứng , hệ điều hành , các chương
trình ứng dụng và người sử dụng.
Hệ điều hành điều khiển và phối hợp việc sử dụng phần cứng cho những ứng dụng
khác nhau . Nó cung cấp môi trường mà các chương trình có thể làm việc hữu hiệu trên
đó. Hệ điều hành có thể được coi như là bộ phân phối tài nguyên của máy tính, hoạt
động như một bộ quản lý các tài nguyên và phân phối chúng cho các chương trình và
người sử dụng khi cần thiết.
Trong quá trình học, chúng em đã chọn đề tài :” An toàn và bảo mật trong hệ điều
hành Android”.
Với khoảng thời gian không nhiều nhưng với sự nỗ lực của bản thân và sự hướng
dẫn tận tình của cô giáo, chúng em đã hoàn thành bài tập. Tuy nhiên do thời gian còn
hạn chế nên phạm vi nghiên cứu và chương trình còn nhiều vấn đề chưa giải quyết được
triệt để. Em mong được sự chỉ bảo của cô để em hoàn thành tốt hơn bài tập của mình.
Em xin chân thành cám ơn cô giáo Nguyễn Thị Hữu Phương đã tận tình giảng dạy

An toàn là rất cần thiết vì các hệ thống máy tính và mạng lưu giữ rất nhiều thông tin
và tài nguyênkhác nhau, Ví dụ: khi người mua hàng sử dụng thẻ tín dụng để thanh toán
trên mạng thì cần đến nhà cung cấp internet cung cấp một kênh an toàn để thực hiện
giao dịch và đảm bản rằng tất cả nhưng thông tin nhạy cảm không bị lộ.Mục đích của
của an toàn có thể chia thành các nhóm sau:
+ Bảo vệ thông tin và tài nguyên:
Các hệ thống máy tính lưu trữ rất nhiều thông tin và tài nguyêncần được bảo vệ.Vi
du: Trong một công ty những thông tin và tài nguyên này có thể là dữ liệu kếtoán,
thông tin nguồn nhân lực, thông tin quản lý, bán hàng,
+Bảo đảm tính riêng tư:
Các hệ thống máy tính lưu trữ rất nhiều thông tin cá nhân, tổ chức cần được giữ bí
mật. nhữngthông tin này bao gồm:- Số thẻ bảo hiểm xã hội- Số thẻ ngân hàng- Số thẻ
tín dụng- Thông tin về gia đình- Thông tin về sức khỏe- Thông tin về việc làm- Thông
tin về sinh viên- Thông tin về các khoản mục đầu tư- Thông tin về sổ hưu tríTính riêng
tư yêu cầu rất quan trọng mà các ngân hàng, các công ty tín dụng, các công ty đầu tưcần
phải đảm bảo để gửi đi các tài liệu thông tin chi tiết về cách họ sử dụng và chia sẻ thông
tin vềkhách hàng.
+ Kích thích luồng công việc:
Luồng công việc bao gồm một chuỗi các hoạt động cần thiết đểhoàn thành một tác
vụ nào đó. Sự an toàn là rất quan trọng trong từng công đoạn của luồng côngviệc. Nếu
một công đoạn bị lộ do một vấn đề an toàn nào đó. khi đó một tổ chức có thể bị mất
tiền,mất dữ liệu hoặc cả hai.

4
+Phát hiện các lỗ hổng an toàn và gỡ rối phần mềm:
các sản phẩm phần cứng và phần mềmthường gặp phải rất nhiều áp lực khi đưa ra
thị trường tiêu thụ. Các sản phẩm này thường chứa cáclỗ hổng an toàn hoặc không ổn
định do chúng chưa được kiểm tra, đánh giá một cách kỹ lưỡng.Do vậy mà khi chúng ta
mua một OS mới, phần mềm, phần cứng mới chúng ta nên có kế hoạchkiểm tra một
cách nghiêm ngặt chúng để bảo đảm an toàn và tin cậy. Và đặc biệt là phải

sát điện thoại di động khác, máy tính để bàn, và các nền tảng máy chủ đã ngăn
cản và phản ứng với vấn đề an ninh và xây dựng một chương trình bảo mật để giải
quyết các điểm yếu quan sát thấy trong các dịch vụ khác.
Các thành phần chính của Chương trình An toàn Android bao gồm:
• Thiết kế Đánh giá : Quá trình bảo mật Android bắt đầu sớm trong vòng
đời phát triểnvới việc tạo ra một mô hình cấu hình bảo mật và phong
phú.Mỗi tính năng chínhcủa nền tảng này được xem xét bởi kỹ thuật và các
nguồn lực an ninh, với kiểm soát an ninh thích hợp tích hợp
vào kiến trúc của hệ thống.
• Kiểm tra thâm nhập và xem xét lại mã : Trong sự phát triển của nền tảng này,
Android được tạo ra và các thành phần mã nguồn mở có thể đánh giá là có an
ninh vững chắc. Những đánh giá này được thực hiện bởi đội an ninh
Android, đội ngũ an ninh thông tin kỹ thuật của Google, và các chuyên gia tư
vấn an ninh độc lập. Mục tiêu của những đánh giá này là để xác
định các điểm yếu và lỗ hổng có thể có trước khi nền tảng là mã nguồn
mở, và để mô phỏng các loại phân tích sẽ được thực hiện bởi các chuyên
gia an ninh bên ngoài khi phát hành.
• Mã nguồn mở và đánh giá cộng đồng : Dự án mã nguồn
mở Android cho phép mở rộng an ninh xem xét lại bởi bất kỳ bên nào quan
tâm đến dự án này. Android cũng sử dụng công nghệ mã nguồn mở đã trải
qua nhiều cuộc rà soát an ninh từ bên ngoài, chẳng hạn như hạt
nhân Linux. Các thị trường Android cung cấp một diễn đàn cho người sử
dụng và các công ty cung cấp thông tin về các ứng dụng cụ thể, trực tiếp
đến người sử dụng.
• Trả lời sự cố : Ngay cả với tất cả các biện pháp phòng ngừa, vấn đề an
ninh có thể xảy ra sau khi vận chuyển, đó là lý do tại sao các dự
án Android đã tạo ra một quá trình phản hồi an ninh toàn diện. Toàn bộ thời
gian đội an ninh Android liên tục giám sát Android và cộng
đồng an ninh chung của các cuộc thảo luận về các lỗ
6

ra số lượng khổng lồ là 360.000 Malware.
Các Malware tấn công vào thiết bị chạy trên nền tảng Android xuất hiện ở nhiều
dạng khác nhau.Một số malware sử dụng cách tiếp cận backdoor để tấn công vào điện
8
thoại hoặc máy tính bảng.Kế tiếp chúng truy cập trái phép vào một thiết bị trong đó có
các thông tin cá nhân của người dùng như chi tiết tài khoản ngân hàng hoặc các hình
ảnh cá nhân.
Một phương pháp tiếp cận khác của các Malware lấy cắp tài khoản là chúng sẽ tự
động gửi đi từ điện thoại của bạn một khối lượng lớn các tin nhắn văn bản đến các số
điện thoại tính phí. Chủ tài khoản phải chi trả hóa đơn với con số khổng lồ còn các tay
Hacker sẽ ung dung lấy được số tiền trong tài khoản đó.
Bên cạnh đó, các hacker còn sử dụng một số thủ thuật khác như cài đặt những công
cụ tự động tải về và khởi động chương trình độc hại trên thiết bị của người dùng.
Chuyên gia bảo mật tại Kaspersky Lab, Timothy Armstrong, cho rằng “Malware
trên Android được phát hiện nhiều hơn hầu như mỗi ngày. Thời gian gần đây, chúng tôi
đã phát hiện ra ba nhà phát triển ứng dụng (mà có khi là từ cùng 1 người) với tên gọi
MYOURNET, Kingmall2010, we20092020 đã cung cấp các ứng dụng để tải về miễn
phí trên Android Market, mà hầu hết các ứng dụng đó đều chứa mã độc”.
Đây là một phát hiện cực kỳ quan trọng, bởi vì cho đến bây giờ, hầu hết các
Malware tìm được đều không nằm trong Android Market, nó yêu cầu một số bước thực
hiện đặc biệt thì mới lây nhiễm được sang các thiết bị. Thế nhưng hiện nay, người dùng
hoàn toàn có thể cài đặt các ứng dụng mới trực tiếp từ web thông qua Android Market
phiên bản mới.
Kaspersky Lab khuyến cáo người dùng nên kiểm tra lại tất cả các yêu cầu cài đặt từ
các ứng dụng trên Tablet hay điện thoại của bạn trước khi cho phép chúng thực hiện
việc cài đặt tự động.
2.2- Các cách bảo mật thông tin trong Android
Hình ảnh bảo mật thông tin trong Android
 Mã độc ồ ạt tấn công Android:
9

chức năng tìm và diệt mã độc.
Lookout Mobile Security: Ứng dụng đang rất được ưa chuộng bởi khả năng bảo vệ tốt,
kèm theo chức năng sao lưu và khôi phục dữ liệu, tìm kiếm thiết bị thất lạc phòng khi
mất cắp. Lookout Mobile Security hoàn toàn miễn phí.
 Giải pháp bảo mật của ESET Mobile Security
• Cuối cùng là một ứng dụng không nên bỏ qua PermissionDog.
11
• Khả năng quét của ứng dụng này cho phép quét toàn bộ thiết bị để tìm xem ứng
dụng nào đang "gây rối", đánh dấu nó theo mức độ nguy hiểm để bạn xử lý.
PermissionDog còn giúp theo dõi trong thời gian thực và cảnh báo bạn về các ứng dụng
đang chạy nền trong hệ thống và quyền hạn đang sử dụng.
2.3. Các hộp cát, các tiến trình và các quyền hạn
Android sử dụng khái niệm về hộp cát để bắt buộc tách riêng giữa ứng dụng với nhau
và các quyền hạn để cho phép hoặc ngăn không cho một ứng dụng truy cập vào các tài
nguyên của thiết bị như các tệp và các thư mục, các mạng, các cảm biến và các API
(Application program interface - Giao diện lập trình ứng dụng. nói chung.) Về việc
này, Android sử dụng các phương tiện của Linux như bảo mật cấp-xử lý, các ID của
người dùng và của nhóm có liên quan đến ứng dụng và các quyền hạn để bắt tuân thủ
những hoạt động nào mà một ứng dụng được phép thực hiện.
Về khái niệm, một hộp cát có thể được thể hiện như trong hình 1
Hình 1. Hai ứng dụng Android, mỗi ứng dụng ở trong hộp cát hoặc tiến
trình cơ sở riêng của mình
12
Các ứng dụng Android chạy trên tiến trình Linux riêng của mình và được gán cho một
ID của người dùng duy nhất. Theo mặc định, các ứng dụng chạy trong một tiến trình
của hộp cát cơ sở không được gán cho các quyền hạn, do đó ngăn không cho các ứng
dụng như vậy được truy cập vào hệ thống hoặc các tài nguyên. Tuy nhiên, các ứng dụng
Android có thể yêu cầu các quyền hạn thông qua các tệp bản kê (manifest) của ứng
dụng.
Các ứng dụng Android có thể cho phép các ứng dụng khác truy cập vào tài nguyên

Phát hiện ra nếu các ứng dụng đã thay đổi.
Xây dựng sự tin cậy giữa các ứng dụng.
15
Căn cứ vào mối quan hệ tin cậy này, các ứng dụng có thể chia sẻ mã và dữ liệu theo
cách an toàn.
Các ứng dụng đã ký bằng cách sử dụng cùng một chữ ký số có thể cho phép lẫn nhau
các quyền hạn khác để truy cập các API(Application program interface - Giao diện lập
trình ứng dụng.) dựa trên chữ ký và cũng có thể chạy trong cùng một tiến trình nếu
chúng chia sẻ các ID người dùng, cho phép truy cập vào mã và dữ liệu của nhau.
Việc ký ứng dụng bắt đầu bằng cách tạo ra một cặp khóa riêng và khóa công khai và
một chứng chỉ khóa-công khai có liên quan, cũng được biết là một chứng chỉ khoá-công
khai.
Khi làm việc với các ứng dụng Android, bạn có thể xây dựng các ứng dụng trong chế
độ chế độ gỡ lỗi (debug) và chế độ phát hành (release-mode):
Các ứng dụng được xây dựng khi sử dụng các công cụ xây dựng Android (dòng lệnh
và ADT (Android Development Tools - Các công cụ phát triển Android) của Eclipse)
được tự động ký bằng cách sử dụng một khóa riêng gỡ lỗi; các ứng dụng này được gọi
là các ứng dụng chế độ gỡ lỗi. Các ứng dụng chế độ gỡ lỗi được sử dụng để thử nghiệm
và không nên được phân phối. Lưu ý rằng các ứng dụng chưa được ký hoặc các ứng
dụng đã ký bằng cách sử dụng một khóa riêng gỡ lỗi không thể được phân phối thông
qua Thị trường Android.
Khi bạn đã sẵn sàng để phát hành ứng dụng của mình, bạn phải xây dựng một phiên
bản chế độ phát hành của nó, có nghĩa là ký ứng dụng đó bằng khóa riêng của bạn.
Việc ký mã trong Android được thực hiện theo một cách đơn giản hơn nhiều so với
các nền tảng di động khác. Trong Android, chứng chỉ này có thể tự ký, có nghĩa là,
không cần phải có người có thẩm quyền chứng nhận. Cách tiếp cận này làm đơn giản
hóa quá trình xuất bản và các chi phí liên quan.
Sử dụng các quyền hạn
Các quyền hạn là một cơ chế bảo mật của nền tảng Android để cho phép hoặc hạn chế
ứng dụng truy cập đến các API và các tài nguyên bị hạn chế. Theo mặc định, các ứng

17
Các ứng dụng có thể định nghĩa các quyền hạn tùy chỉnh riêng của mình để bảo vệ tài
nguyên của ứng dụng. Các ứng dụng khác muốn truy cập vào tài nguyên được bảo vệ
của một ứng dụng phải yêu cầu có các quyền hạn thích hợp thông qua tệp bản kê riêng
của mình. Liệt kê 3 chỉ ra một ví dụ về cách định nghĩa các quyền hạn.
Liệt kê 3. Khai báo một quyền hạn tùy chỉnh
<permission
xmlns:android=" /> android:name="com.cenriqueortiz.android.ACCESS_FRIENDS_LIST"
android:description="@string/permission_description"
android:label="@string/permission_label"
android:protectionLevel="normal"
>
</permission>
Trong Liệt kê 3, một quyền hạn khách hàng được định nghĩa bằng cách xác định các
thuộc tính tối thiểu name (tên),description (mô tả), label (nhãn)
và protectionLevel (mức bảo vệ). Các thuộc tính khác có thể được định nghĩa thêm,
nhưng chúng không được trình bày ở đây.
Một thuộc tính cần quan tâm đặc biệt là android:protectionLevel, biểu thị phương
thức mà hệ thống phải tuân theo khi cấp (hoặc không cấp) một quyền hạn cho một ứng
dụng đang yêu cầu. Các mức bảo vệ gồm có normal (bình thường), nghĩa là tự động cấp
các quyền này (mặc dù người sử dụng luôn có thể xem xét lại trước khi cài đặt), việc
cấp các quyền hạn dựa trên chữ ký (có nghĩa là, nếu ứng dụng đang yêu cầu đã được ký
với cùng một chứng chỉ) và dangerous (nguy hiểm), biểu thị các quyền hạn truy cập
đến dữ liệu riêng hoặc có tác động tiêu cực tiềm năng khác.
Các ứng dụng có thể hạn chế truy cập vào ứng dụng và các thành phần hệ thống mà
nó sử dụng như là Activity (Hoạt động), Service (Dịch vụ), Content Provider (Nhà cung
18
cấp nội dung) và Broadcast Receiver (Máy thu quảng bá). Sự hạn chế này dễ dàng thực
hiện bằng cách định nghĩa thuộc tính android:permission như trong Liệt kê 4. Mức bảo vệ
này để cho ứng dụng đó cho phép hoặc hạn chế các ứng dụng khác truy cập vào tài

getSharedPreferences(filename, operatingMode)
openFileOutput(filename, operatingMode)
openOrCreateDatabase(filename, operatingMode, SQLiteDatabase.CursorFactory)
Các API Permission thời gian chạy
Android cung cấp các API để kiểm tra, bắt tuân thủ, cấp và thu hồi các quyền hạn
trong thời gian chạy. Các API này là một phần của lớp android.content.Context, cung
cấp toàn bộ thông tin về một môi trường ứng dụng. Ví dụ, nếu bạn muốn xử lý các
quyền hạn một cách trang nhã, bạn có thể xác định xem ứng dụng của bạn đã được cấp
quyền truy cập vào Internet chưa (xemLiệt kê 5).
Liệt kê 5. Sử dụng một API Permission thời gian chạy để kiểm tra, bắt tuân thủ,
cấp và thu hồi các quyền hạn trong thời gian chạy
if (context.checkCallingOrSelfPermission(Manifest.permission.INTERNET)
!= PackageManager.PERMISSION_GRANTED) {
// The Application requires permission to access the
// Internet");
} else {
// OK to access the Internet
}
Đối với các API quyền hạn khác để kiểm tra, bắt tuân thủ, cấp và thu hồi các quyền
hạn trong thời gian chạy, hãy xem lớp ngữ cảnh.
20
Phần IV: Kết luận
Trên đây là báo cáo của chúng em về đề tài :” An toàn và bảo mật trong hệ điều hành
Android ”. So với các hệ điều hành thông dụng khác hiện nay như IOS, Blackberry
OS, symbian OS thì Android là hệ điều hành có độ an toàn và bảo mật kém nhất,
nhưng nhờ vào việc phát triển các ứng dụng bảo mật ngày càng mạnh đã phần nào
giảm đi sự nguy hiểm cho người dùng. Hy vọng rằng qua phần chúng em đã trình bày
ở trên, các bạn có thể hiểu được phần nào đó về độ an toàn và cách bảo mật trong hệ
điều hành android. Ngoài ra các bạn có thể đọc thêm nhiều tài liệu liên quan đến lĩnh
vực này để hiểu hơn về nó.


Nhờ tải bản gốc

Tài liệu, ebook tham khảo khác

Music ♫

Copyright: Tài liệu đại học © DMCA.com Protection Status