Thiết kế kiến trúc hệ thống

Một phần của tài liệu Khóa luận tốt nghiệp xây dựng hệ thống quản lý bảo mật trên android smartphones (Trang 53)

2 Khảo sát hiện trạng và các kiến thức liên quan

3.2.1 Thiết kế kiến trúc hệ thống

Hệ thống quản lý bảo mật TUI Security bao gồm hai thành phần: Web Server và ứng dụng TUI Security chạy trên nền tảng Android (hình 3.2). Web Server hoạt động trên môi trường Internet, làm nhiệm vụ quản lý tài khoản và chứng thực người dùng. Ứng dụng TUI Security hoạt động trên thiết bị với hai nhiệm vụ chính: điều khiển thiết bị từ xa và thực thi các điều khiển nhận được.

Trong hình 3.2, thiết bị “Intermediate Phone” thực hiện chức năng điều khiển thiết bị từ xa; thiết bị “Lost/Stolen Phone” thực hiện chức năng lắng nghe, thực thi các điều khiển và trả về kết quả cho “Intermediate Phone”. Cụ thể, ứng dụng cho phép người dùng chủ động gửi đi các tin nhắn chứa mã lệnh điều khiển thông qua các nhà dịch vụ mạng. Bên cạnh đó, ứng dụng cũng phải liên tục lắng nghe các tin nhắn đến và phân tích cấu trúc tin nhắn đó. Nếu tin nhắn đến là một tin nhắn điều khiển, ứng dụng sẽ thực thi điều khiển đó và trả về kết quả (thông qua tin nhắn trả lời hoặc email).

Intermediate Phone

Web Server Internet

Base Station Lost/Stolen Phone

Send Control SMS Listen SMS relay

Mail Server

Internet

Send Result SMS Receive Result SMS

3.2.1.2 Kiến trúc ứng dụng TUI Security

Dựa vào mô hình hệ thống trong phần trình bày trên, tác giả thiết kế kiến trúc cho ứng dụng TUI Security như hình 3.3.

Bộ phận thực thi điều khiển Bộ phận điều khiển thiết bị

Giao diện chính Bộ phận lắng nghe Bộ phận thực thi điều khiển Bộ phận xử lý tương tác Bộ phận phân tích

Giao diện điều khiển

Giao diện cấu hình Giao diện chức năng

Bộ phận xác thực điều khiển Bộ phận truy xuất dữ liệu Bộ phận soạn thảo câu lệnh Bộ phận chuyển tiếp Bộ phận điều khiển ứng dụng Bộ phận xác thực Bộ phận lưu trữ

Hình 3.3: Kiến trúc ứng dụng TUI Security

Toàn thể ứng dụng chia thành hai thành phần: phần giao diện người dùng và phần ứng dụng.

• Phần giao diện người dùng bao gồm các giao diện tương tác, giao diện điều khiển, giao diện cấu hình ứng dụng và các giao diện chức năng khác.

• Phần ứng dụng: Ứng dụng TUI Security hoạt động trên thiết bị với hai nhiệm vụ chính: điều khiển thiết bị từ xa và thực thi điều khiển nên phần ứng dụng chia thành hai bộ phận chính: Bộ phận thực hiện điều khiển thiết bị từ xa và bộ phận thực thi điều khiển nhận được.

– Bộ phận điều khiển thiết bị: Thực hiện nhiệm vụ phân tích yêu cầu của người dùng, soạn thảo tin nhắn điều khiển chứa câu lệnh tương ứng với yêu cầu của người dùng và gửi tin nhắn điều khiển đó tới thiết bị đích.

– Bộ phận thực thi lệnh: Thực hiện nhiệm vụ lắng nghe và phân tích các tin nhắn đến thiết bị. Nếu tin nhắn đến là tin nhắn điều khiển, bộ phận này tiếp tục xác thực với mã PIN của ứng dụng và thực thi lệnh điều khiển khi xác thực mã PIN thành công.

– Ngoài ra, thành phần ứng dụng còn chứa các bộ phận khác thực hiện nhiệm vụ xác thực người dùng, cảnh báo và điều khiển ứng dụng tự động, bộ phận lưu trữ các thông tin và cấu hình.

3.2.2 Thiết kế Use Case Diagram3.2.2.1 Danh sách tác nhân 3.2.2.1 Danh sách tác nhân

Các đối tượng giao tiếp với hệ thống bao gồm (hình 3.4):

User Phone Owner

Intermediate User Web User

Hình 3.4: Danh sách các tác nhân sử dụng hệ thống

• Phone Owner: là những người tương tác trực tiếp với ứng dụng trên thiết bị của họ. Đây là thành phần cài đặt và sử dụng hệ thống trên thiết bị và là tác nhân quan trọng nhất của hệ thống.

• Web User: là thành phần sử dụng các dịch vụ hệ thống thông qua website. Web User có thể là Phone Owner sử dụng các dịch vụ web.

• Intermediate User: là thành phần người sử dụng trung gian. Thành phần này được hiểu như là người sử dụng các tính năng của hệ thống thông qua các điện thoại di động trung gian. Intermediate User cũng có thể là Phone Owner sử dụng các thiết bị khác để điều khiển thiết bị của mình.

3.2.2.2 Use Case Diagram

Các tác nhân trong phần trên sẽ sử dụng các use case như hình 3.5.

User Phone Owner

Intermediate User

Register Account

Login App Setup

Setup PIN

Setup buddy

Unlock app Input PIN

Enable/Disable Service

Setting

Remote Control Device

Web User <<include>>

<<include>> <<extend>> <<include>>

Backup & Restore

Find the Phone

Get Data Control Device <<extend>> <<extend>> Remote Wipe <<extend>>

Hình 3.5: Use Case Diagram

Các use case của hệ thống phản ánh việc thiết kế chức năng hệ thống phù hợp với các yêu cầu chức năng trong phần 3.1.2. Do đó, trong khóa luận này tác giả chỉ đề cập đến việc đặc tả hai use case quan trọng: Login App và Remote Control Device.

• Use case Login App (hình 3.6)

Hình 3.6: Use case Login App

Use Case Login App

Mô tả Use Case này mô tả hành động sử dụng

tài khoản đăng nhập vào ứng dụng.

Tác nhân Phone Owner

Dòng sự kiện - Người sử dụng sau khi đăng ký tài khoản thành công.

- Người sử dụng đăng nhập ứng dụng bằng tài khoản.

Các điều kiện đặc biệt Không có

Tiền điền kiện Người sử dụng đã đăng ký tài khoản ứng

dụng.

Hậu điều kiện - Ứng dụng được toàn quyền sử dụng.

- Các thông số được cấu hình thành công và được lưu trữ.

- Nếu xác thực tài khoản không thành công, hiển thị thông tin hướng dẫn người dùng.

Ngoại lệ Thông báo lỗi khi xác thực tài khoản

không thành công hoặc khi không có kết nối internet.

• Use case Remote Control Device (hình 3.7)

Hình 3.7: Use case Remote Control Device

Use Case Send Control Command

Mô tả Use Case này mô tả hành động người sử

dụng gửi tin nhắn điều khiển đến một thiết bị khác.

Tác nhân - Phone Owner

- Intermediate User

Dòng sự kiện - Người sử dụng chọn tính năng điều

khiển thiết bị của ứng dụng.

- Người sử dụng cung cấp thông tin về số điện thoại của thiết bị cần điều khiển (target number) và mã PIN của ứng dụng TUI Security được cài đặt trên thiết bị đó (target PIN).

Tiền điều kiện - Ứng dụng xác thực người dùng thành công.

- Thẻ SIM gắn trên thiết bị phải còn đủ tài khoản để thực hiện gửi tin nhắn. - Ứng dụng phải cấu hình đầy đủ các thông tin yêu cầu.

Hậu điều kiện - Ứng dụng gửi tin nhắn điều khiển thành công.

Ngoại lệ - Hiển thị thông báo lỗi khi người dùng

không cung cấp target number và target PIN. Hệ thống yêu cầu người sử dụng cung cấp lại các thông tin này.

- Thông báo lỗi khi người dùng chưa cấu hình các thông tin của ứng dụng đầy đủ. Thoát khỏi tính năng, hiển thị màn hình điều khiển thiết bị.

3.3 Thiết kế sơ đồ khối và giải thuật

Trong phần này, tác giả tiến hành thiết kế phần sơ đồ khối và nêu lên các giải thuật để giải quyết các vấn đề và các chức năng cần thực thi trong chương trình. 3.3.1 Các tính năng cơ bản

Ứng dụng cung cấp các tính năng cơ bản luôn hoạt động khi ứng dụng được cài đặt vào thiết bị mà không cần kích hoạt các dịch vụ cho phép thực thi như các tính năng điều khiển. Các tính năng cơ bản của ứng dụng cung cấp cho người dùng bao gồm: sao lưu và phục hồi dữ liệu (danh bạ và tin nhắn) trực tiếp trên thiết bị, thực thi các lệnh hủy dữ liệu trong trường hợp khẩn cấp (dữ liệu trên SD card, các tài khoản ứng ụng Yahoo, Facebook, dữ liệu Youtube, dữ liệu Maps, danh bạ, tin nhắn).

Giải thuật cho tính năng sao lưu dữ liệu tin nhắn và danh bạ trực tiếp từ thiết bị đơn giản là duyệt qua file cơ sở dữ liệu chứa tin nhắn SMS và danh bạ của người dùng trong thư mục cài đặt ứng dụng

(/data/data/com.android.providers.contacts/databases/contact2.db đối với dữ liệu danh bạ và

/data/data/com.android.providers.telephony/databases/mmssms.db đối với dữ liệu tin nhắn), sau đó copy file này lưu trữ tại SD card, đồng thời gởi file thu thập được về địa chỉ email đã được cài đặt trước đó (nếu không được thiết lập, địa chỉ email mặc định là địa chỉ email của thành viên nhóm). Ngược lại, đối với tính năng phục hồi dữ liệu tin nhắn và danh bạ trực tiếp từ thiết bị, chương trình sẽ cho phép người dùng duyệt qua thẻ nhớ để tìm file sao lưu và copy (ghi đè) file này vào thư mục chứa file cơ sở dữ liệu của ứng dụng danh bạ và tin nhắn.

Trong trường hợp khẩn cấp khi người dùng muốn hủy dữ liệu trên thiết bị, người dùng có thể nhắn tin tới điện thoại của mình với tín hiệu khẩn cấp kèm theo mật khẩu điều khiển, chương trình sẽ chứng thực mật khẩu điều khiển nhận được. Sau khi chứng thực thành công, chương trình sẽ thực thi các chức năng được hỗ trợ mà không cần kiểm tra các dịch vụ này có được cung cấp hay không. Trong trường hợp này, chương trình sẽ thực thi các nhiệm vụ sau: xóa toàn bộ dữ liệu trên SD card, xóa SMS, xóa danh bạ, xóa các tài khoản ứng dụng của người dùng (yahoo, facebook, email, tài khoản google, nếu người dùng có sử dụng các ứng dụng này). Các tính năng xóa dữ liệu ứng dụng và

xóa cơ sở dữ liệu tin nhắn/danh bạ hoạt động trên các thiết bị đã được rooted và chương trình truy cập hệ thống dưới quyền root user (sử dụng các lệnh hệ thống để thực thi). Sơ đồ khối của tính năng nhận và thực thi chức năng trong trường hợp khẩn cấp được mô tả trong hình 3.8.

Bắt đầu Tin nhắn khẩn cấp. Kèm mật khẩu điều khiển

Xóa dữ liệu SD card Kết thúc Chứng thực mật khẩu điều khiển

Xóa dữ liệu tin nhắn/danh bạ Xóa dữ liệu các ứng dụng Yahoo, Facebook, Youtube, Maps Sai Đúng Điện thoại đã rooted Đúng

3.3.2 Tính năng điều khiển

Chương trình cung cấp tính năng điều khiển từ xa để hỗ trợ người dùng trong trường hợp họ không thể tương tác trực tiếp với thiết bị. Tính năng này được thực thi thông qua việc nhắn tin SMS từ một thiết bị khác đến điện thoại muốn điều khiển kèm theo mật khẩu chứng thực. Chức năng này được cung cấp có thể phục vụ trong việc điều tra tội phạm khi sử dụng ứng dụng như một đặc vụ ngầm theo dõi diễn biến hoạt động và khi đó các thông tin dữ liệu thu thập được sẽ làm bằng chứng pháp lý có giá trị cao. Các tính năng điều khiển chương trình cung cấp gồm có: nhắn tin sao lưu và xóa tin nhắn, danh bạ; nhắn tin lấy thông tin dữ liệu; nhắn tin xóa dữ liệu trên SD card; nhắn tin thực thi lắng nghe (recording); nhắn tin phát âm thanh cảnh báo và khóa màn hình.

Để thực thi các tính năng điều khiển, ứng dụng phải được kích hoạt dịch vụ cho phép thực thi các lệnh điều khiển được gởi qua SMS dạng tin nhắn quảng cáo. Sau khi nhận được các tin nhắn quảng cáo, kèm theo mật khẩu điều khiển (là mã PIN), chương trình tiến hành chứng thực mật khẩu và phân tích tin nhắn để nhận các mã lệnh điều khiển. Một tin nhắn ứng với một lệnh điều khiển. Sau đó sẽ thực thi ngầm các chức năng yêu cầu nếu thỏa các điều kiện thực thi.

Thuật giải các chức năng sao lưu dữ liệu tin nhắn, danh bạ sau khi nhận được tín hiệu điều khiển từ xa là: duyệt qua cơ sở dữ liệu, sau đó đọc dữ liệu và ghi vào file XML với định dạng JSON, tức mỗi hàng là một object và các giá trị ở các cột của hàng đó là một object con của nó. Sau đó lưu file XML này lại trong thư mục của chương trình trên thẻ SD card. Sau đó, chương trình sẽ kiểm tra kết nối mạng và gởi kết quả về địa chỉ email người dùng đã đăng ký trước đó và xóa file sau khi gởi thành công. Nếu không có kết nối mạng, file thu thập được cũng sẽ bị xóa bỏ.

Đối với tin nhắn điều khiển yêu cầu lấy thông tin người dùng, các thông tin này được chứa trong các cơ sở dữ liệu ở thư mục cài đặt, tùy vào từng loại thông tin muốn lấy: Yahoo, Facebook, SMS, Contact, . . . mà chương trình sẽ quyết định thực thi. Ứng dụng sẽ truy cập hệ thống dưới quyền root user để vào các thư mục chứa các file cơ sở dữ liệu ứng dụng để lấy về các dữ liệu cần thiết. Các thư mục lưu file cơ sở dữ liệu:

• Danh bạ:

/data/data/com.android.providers.contacts/databases/contact2.db.

• SMS:

• Dữ liệu Google Maps: /data/data/com.google.android.apps.maps/databases/search_history.db. • Dữ liệu Youtube: /data/data/com.google.android.youtube/databases/history.db • Dữ liệu ứng dụng Facebook: /data/data/com.facebook.katana/databases/fb.db.

• Dữ liệu ứng dụng Yahoo Messenger:

/data/data/com.yahoo.mobile.client.android.im/databases/mesenger.db.

• Calendar:

/data/data/com.android.providers.calendar/databases/calendar.db.

• Thông tin tài khoản: /data/system/accounts.db

Sơ đồ khối xử lý khi nhận tin nhắn điều khiển lấy thông tin dữ liệu ứng dụng hoặc xóa dữ liệu trên SD card được mô tả như trong hình 3.9.

Làm sao biết những gì đang diễn ra xung quanh thiết bị khi không mang bên mình? Hoặc khi muốn dùng thiết bị để chia sẻ âm thanh thực cho người khác. Người dùng có thể sử dụng tính năng lắng nghe chương trình cung cấp bằng cách gởi tin nhắn với lệnh điều khiển thực thi việc lắng nghe âm thanh và gởi kết quả về email để theo dõi. Thuật giải cho chức năng lắng nghe được xây dựng dựa trên việc kích hoạt dịch vụ chạy ngầm tương tác phần cứng thiết bị là microphone để lắng nghe những âm thanh xung quanh thiết bị. File kết quả sẽ được lưu lại sau khoảng thời gian được người dùng cài đặt trước đó và nó sẽ được gởi về email để người dùng có thể theo dõi nếu có kết nối mạng. Có 2 cách để kết thúc hành động lắng nghe của thiết bị là:

• Sau khi được kích hoạt lắng nghe, cảm biến gia tốc được kích hoạt để lắng nghe sự tương tác trên thiết bị. Nếu sự tương tác này lớn hơn độ nhiễu cho phép của ứng dụng và nó xảy ra lớn hơn khoảng thời gian giới hạn, hành động lắng nghe sẽ được kết thúc.

• Hành vi lắng nghe sẽ được kết thúc sau khi hết thời gian lắng nghe mà người dùng đã cài đặt trước.

Bắt đầu

Nhận SMS điều khiển. Kèm mật khẩu điều khiển

Chứng thực mật khẩu

Điện thoại đã rooted Sao lưu tin nhắn/danh

bạ Xóa dữ liệu SD card

Truy cập hệ thống lấy dữ liệu ứng dụng

Kết nối mạng

Gởi email (có đính kèm file thu thập được)

Kết thúc Xóa file thu thập được Sai Đúng Không Có Đúng Sai

Hình 3.9: Sơ đồ khối xử lý khi nhận tin nhắn điều khiển lấy thông tin trên thiếtbị bị

Sơ đồ khối xử lý khi nhận tin nhắn thực thi lắng nghe và điều kiện kết thúc lắng nghe được mô tả trong hình 3.10 và hình 3.11.

Theo hình 3.10, sau khi chứng thực và kiểm tra dịch vụ được kích hoạt hay chưa? Nếu không thỏa sẽ kết thúc; ngược lại, nếu thỏa sẽ tiến hành bật microphone và lắng nghe. Kết quả được ghi vào file có định dạng .3gp. Chương trình sẽ kiểm tra điều kiện kết thúc (được mô tả trong sơ đồ khối 3.11) để kết

Bắt đầu Nhận tin nhắn điều khiển. Kèm mật khẩu chứng thực

Chứng thực mật khẩu

Bật microphone và thực thi lắng nghe

Kết thúc lắng nghe Kết nối mạng Kết thúc Xóa file Gởi email (có file đính kèm)

Sau thời gian phân

đoạn Lưu file với định dạng .3gp

Không Sai

Sai

Đúng

Đúng

Ghi file mới

Đúng Dịch vụ được kích hoạt Đúng Sai Tín hiệu kết thúc Có Sai Đúng

Hình 3.10: Sơ đồ khối xử lý khi nhận tin nhắn điều khiển thực thi lắng nghe

thúc quá trình lắng nghe. Nếu vẫn còn trong điều kiện cho phép, sau khoản thời gian phân đoạn được cài đặt trước, kết quả mỗi phân đoạn này sẽ được gởi về

Một phần của tài liệu Khóa luận tốt nghiệp xây dựng hệ thống quản lý bảo mật trên android smartphones (Trang 53)

Tải bản đầy đủ (PDF)

(105 trang)