1. Trang chủ
  2. » Luận Văn - Báo Cáo

Khóa luận tốt nghiệp An toàn thông tin: Nghiên cứu các giao tiếp phi chính thống trong các ứng dụng Android

71 0 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Nghiên Cứu Các Giao Tiếp Phi Chính Thống Trong Các Ứng Dụng Android
Tác giả Nguyễn Chí Đức, Nguyễn Quốc Bảo
Người hướng dẫn TS. Nguyễn Tấn Cầm
Trường học Trường Đại học Công nghệ Thông tin - Đại học Quốc gia Thành phố Hồ Chí Minh
Chuyên ngành An Toàn Thông Tin
Thể loại Khóa Luận Tốt Nghiệp
Năm xuất bản 2021
Thành phố Thành phố Hồ Chí Minh
Định dạng
Số trang 71
Dung lượng 33,58 MB

Nội dung

- Từ các ý tưởng ban đầu đã đưa ra, chúng tôi sẽ đi vào triển khai thực hiện code cáccặp ứng dụng Android đối với từng kỹ thuật đã tìm hiểu được, từ đó chúng tôi sẽnghiên cứu về cách mà

Trang 1

ĐẠI HỌC QUOC GIA TP HO CHÍ MINH TRUONG DAI HOC CONG NGHE THONG TIN KHOA MANG MAY TINH VA TRUYEN THONG

NGUYEN CHÍ ĐỨC

NGUYÊN QUỐC BẢO

KHÓA LUẬN TÓT NGHIỆP

NGHIÊN CỨU CAC GIAO TIẾP PHI CHÍNH THONG

Trang 2

ĐẠI HỌC QUOC GIA TP HO CHÍ MINH TRUONG DAI HOC CONG NGHE THONG TIN KHOA MANG MAY TINH VA TRUYEN THONG

NGUYEN CHi DUC - 17520361 NGUYEN QUOC BAO - 17520274

KHOA LUAN TOT NGHIEP

NGHIÊN CỨU CAC GIAO TIEP PHI CHÍNH THONG

TRONG CAC UNG DUNG ANDROID

A STUDY ON COVERT CHANNELS IN ANDROID

APPLICATIONS

KY SU NGANH AN TOAN THONG TIN

GIANG VIEN HUONG DAN

TS NGUYEN TAN CAM

TP HO CHi MINH, 2021

Trang 3

DANH SÁCH HỘI DONG BẢO VỆ KHÓA LUẬN

Trang 4

LỜI CẢM ƠN

Để có được kết quả luận văn này, ngoài những nỗ lực cá nhân mà chúng em

đã bỏ ra thì phải kể đến công sức của bạn bè, người thân, gia đình, thầy cô đã đóng góp một phan công nhỏ giá trị cả về tri thức và tinh thần cho khóa luận này Vì vậy

mà chúng em xin giành ra đôi dòng tâm sự để viết ra lời cảm ơn đến bạn bè, thầy cô

và người thân của mình, những người đã quân tâm chúng em trong suốt thời gian qua.

Đầu tiên, chúng em xin gửi lời cảm ơn chân thành đến toàn thể quý Thầy/Cô

của Trường Dai học Công nghệ Thông tin — Đại học Quốc gia Thành phố Hồ Chí Minh, đặc biệt nhất là quý Thầy/Cô khoa Mạng máy tính và Truyền thông, những

người đã giảng dạy những kiến thức và bài học bồ ích trong suốt thời gian ngồi trên

ghế nhà trường Các thầy cô không chỉ dạy dỗ chúng em về mặt tri thức mà còn dạy

dỗ về đạo đức nghề nghiệp dé tránh xa con đường chúng em lỗi rat dé mắc phải khi

theo học an toàn thông tin.

Chúng em cũng xin đặc biệt cảm ơn TS Nguyễn Tan Cầm, giảng viên hướng

dẫn đã chỉ dẫn chúng em hoàn thành khóa luận Và cũng chân thành cảm ơn Thầy Cầm đã dạy dỗ nhóm cũng như truyền đạt kiến thức, kinh nghiệm lại cho chúng em,

giúp chúng em trưởng thành hơn trong nghề và trong cuộc sóng.

Cuối cùng, nhóm xin cảm ơn những giá trị tỉnh thần đã mang đến cho nhóm trong suốt quá trình học tập và nghiên cứu Cám ơn gia đình đã làm điểm tựa vững

chắc cho chúng em được theo học dưới mái trường UIT Cám ơn những người bạn đồng hành, những sinh viên của lớp ANTT2017 đã cùng nhau trải qua một chặng đường day chông gai, vat vả Xin chân thành cảm ơn tat cả!

Nhóm tác giả

Trang 5

Chương 1 TONG QUAN - - S3 1 1 1511 111511111111111111111 111111111111 11111101111 11011111 re 2

1.1 Giới thiệu Chung - - - s6 s1 1111911911 11T HH it 2

2.1.4 Thưywiện C/C++ thuần -c:2ct 2x22 tri 9

2.1.5 Java APL oo 9

2.1.6 Các ứng dụng của hệ thong ccsccssesscsscssessessessessessessessessessessessessessesssssssessessusaeeseeaes 9 2.2 Giao tiếp giữa các tiến trình ¿6-5252 21 21 1521511212121121111121111111 1111111111 1 re 12 2.3 Giới thiệu về kỹ thuật kênh truyền bí mậtt 2-2 + 2E +E+EE+E£EE+E£EESEEZEeEEEErEererrerxred 13

2.3.1 Storage Channn€Ì§ - - - c1 HH HH HH it 13

2.3.2 Timing ChanneÌS - - 5 5 3 E111 11993111 111 99101 1n tư n 14

Chương 3 TRIEN KHAI MOT SO KÊNH GIAO TIẾP PHI CHÍNH THONG TREN

3.2.1 Tổng quan về ứng dụng - + 2 +S2+E£SE+EE+E£EE£EEEEEEEEEEEEEEEEEEEE21E 1E cer 20

3.2.2 Xây dựng Ứng dụng, - c2 +1 TT HT TH HH nh nh HH nh 20 3.2.3 Phân tích cấu trúc và hoạt động của ứng dụng - 2 - 2 +s+£zze+z+zsezxece+ 23

3.2.4 01008 -0017 26

3.3.Kỹ thuật covert channel sử dung âm lượng - << + + E339 ng key 27

3.3.1 Tổng quan về ứng dụng -2¿ 2222 ++++++E+£EE+2E++EEtEE+2EEtEEerxvzrrerxrzrrerree 27

3.3.2 Xây dựng Ung dụng - - - 11111 TH HH nà 27 3.3.3 Phân tích cấu trúc và hoạt động của ứng dụng - 2 2 2+sz+s++£+zxzxezsees 30

Trang 6

3.3.4 Đánh giá HH n2 2 cu 34

3.4.Kỹ thuật covert channel sử dụng lịch SỬ CUGC ØỌI G111 vn ng 35

3.4.1 Tổng quan về ứng dụng - ¿2 +SE+E£EE+EE+E£EEEEEEEEEE2EE7EE12121217111 1 xe 35

3.4.2 Xây dựng ứng dụng - - - c1 1111191 HH HH HH kh 35 3.4.3 Phân tích cấu trúc và hoạt động của ứng dụng - 2 - 2 +2s+£zzz+£zzxezxscez 35

3.4.4 10085000107 39

Chương 4 PHAT HIỆN GIAO TIẾP PHI CHÍNH THONG TREN ANDROID 41

4.1.Tổng quan về chương trÌnh - ¿2-52 SE+S£+E£SE+E£EE£EEEEEEEEEEEEEE2171112121711 71111 ce 41

4.2 Xay dung churong trinh 0 ố e 41

4.3.Phân tích cấu trúc và hoạt động của chương trinh c.cccccccccessesessessesessesseseesessssesseseeseesees 42

4.3.1 Cau trúc chương trình: ¿+©+++E++E+tEE++EEtEEtEEerxerxrzrrerxrrrrerxee 42

4.3.2 Phân tích hoạt động của Ứng dỤng: - - 113111 ng vn ng ky 42

4.4.Đánh giá về chương trình phát hiện xâm nhập - 2-52 +2++2£++£xzz+zzxezxvzzxzrsez 46 Chương 5 THU NGHIỆM 4⁄7 iốt À 48

5.1.Covert Channel bang kỹ thuật sử dụng Clipboard: -¿-2- + 55+22+2zxzs+zz++zx+zz+zcsez 48 5.2.Covert Channel bang kỹ thuật sử dụng độ sáng màn hình: 2 s2 +s+£zs+zszsz 50

5.3.Covert Channel bằng kỹ thuật sử dụng phone call log : 2 + sz2s+2z++zx+zs+zcs+2 52

5.4.Covert Channel bang kỹ thuật sử dụng Audio: 2 2 +22 £+E+E2E+£E+EzEerzeerxzed 54

5.5.Phat hiện các kỹ thuật Covert Channel: 0.0.0 ccceeceesecsceeseeceeeceseeeaeceaeeeseceaeceaeeeeeeneeeneersees 56

Chương 6 4C VI cC Ẩ“.a 59

6.1 Kết Luận -c:-5+t222112211222112721122112221127T1.T11.T1 TT re 59

6.1.1 Kết UA dat tì 59

6.1.2 Ưuđiểm ccctnhnhThh nHH ng hhưưe 60 6.1.3 Hạn chế c nh Hưng HH hư 61

5901018000 0001058 ỪỢỘỢ'- 61

Trang 7

Danh mục hình

Hình 1.1: Kênh truyền bí mật trong gói tin TCP/IP 2- £+2+E£+£E+£E++£xzzeerxez 3Hình 1.2: Quá trình phát triển kênh truyền bí mật dựa trên xử lý anh và máy học 4Hình 1.3: Cách hoạt động của kênh truyền dựa trên việc thu thập thông tin từ

009499019) 0100188 4 Hình 2.1: Quá trình biên dich mã ]aVa - 5 5 2 2221823113333 rrs 8

Hình 2.2: Toàn cảnh về nền tảng Android c.eccescesseesseessesseessesssessesssesssssecsessesssesseesees 11

Hình 3.1: Mô hình ứng dung gửi dữ liệu băng Clipboard -2- 2 sec: 16Hình 3.2: Mô hình ứng dụng đọc dữ liệu bằng Clipboard -2- 2 szsz 5z: 16

Hình 3.3: Mô hình ứng dụng gửi dữ liệu bằng độ sáng màn hình - 21Hình 3.4: Mô hình nhận dữ liệu băng đọc độ sáng màn hình - - + -s++<<<<+ 22Hình 3.5: Mô hình ứng dụng gửi dữ liệu băng audio -2- 2+ ©2+sz+zs+zxzzcxeee 28Hình 3.6: Mô hình ứng dụng nhận dữ liệu bằng cách đọc giá tri audio - 29Hình 3.7: Mô hình gửi dit liệu băng ghi vào phone call log -5- 5z 5252252 35Hình 3.8: Mô hình nhận dữ liệu bằng cách đọc phone call log -2- 22 35Hình 4.1: Mô hình chương trình phát hiện tan công bang các kỹ thuật covert channel.41Hình 5.1: Demo gửi dit liệu bằng kỹ thuật sử dụng Clipboard -z¿-: 48

Hình 5.2: Demo nhận dữ liệu bằng cách đọc Clipboard - ‹-s++x+eex+exsesssss 49

Hình 5.3: Demo gửi dữ liệu bằng kỹ thuât sử dụng độ sáng màn hình - 50Hình 5.4: Demo nhận dữ liệu bằng cách đọc độ sáng man hình 5+5 51Hình 5.5: Demo gửi dữ liệu bằng kỹ thuật ghi vào phone call log -. - 52Hình 5.6: Demo đọc dữ liệu bằng kỹ thuật phone call log -2- 2 2z 5225: 53Hình 5.7: Demo gửi dữ liệu bằng kỹ thuật sử dung audio - 2 s2 sz+sz+se2 54Hình 5.8: Demo nhận dữ liệu bằng kỹ thuật đọc giá tri audIO - - «+-s<+<<<+ 55Hình 5.9: Demo phát hiện Covert Channel bằng Clipboard -2- s25: 56Hình 5.10: Demo phát hiện Covert Channel bằng Screen brightness - 56

Hình 5.11: Demo phát hiện Covert Channel bằng Audio -2- 2 s25: 57

Hình 5.12: Demo phát hiện Covert Channel băng Phone call log . ‹2- - 57

Trang 8

Danh mục bảng

Bang 3.1: Bảng phân tích và chuyền đôi dữ liệu trong kỹ thuật đặt độ sáng màn hình 23

Bảng 3.2: Bảng phân tích và chuyên đổi dữ liệu khi đọc độ sáng màn hình 25Bang 3.3: Bang phân tích và chuyền đổi dit liệu khi thực hiện thay đổi giá trị audio 30Bảng 3.4: Bang phân tích và chuyên đổi dit liệu khi đọc giá trị của audio 32Bảng 5.5: Bảng số liệu khi chạy thử nghiệm mã phát hiện kênh truyền bi mật 58

Trang 9

Danh mục từ viết tắt

API: Application Programming Interface

HAL: Hardware Abstraction Layer

JIT: Just-In-Time

AOT: Ahead of Time

CTF: Capture The Flag

AI: Artificial Intelligence

DEX: Dalvik Executable

IPC: Inter Process Communication

ART: Android Runtime

Trang 10

TOM TAT KHÓA LUẬN

Hiện nay việc sử dụng smartphone đã phổ biến với đại đa số mọi người, sựtiện lợi và đa chức năng khiến cho smartphone trở thành công cu giao tiếp, trao đối,kết nối, với mọi ngwoi Dan trở nên quan trọng trong cuộc sông của con người, đặc

biệt là thời đại này, nơi mọi thứ được lưu trữ trong điện thoại: tài khoản ngân hàng,

thông tin cá nhân, ví điện tử, email, Sự tiện lợi lại tỷ lệ thuận với yếu tố bảo mật,

càng có nhiều tính năng thì có khả năng tồn tại nhiều lỗ hồng

Điều này rất hấp dẫn với những tin tặc, những kẻ tắn công muốn lấy cắp thông

tin của người khác Với việc đa số các thông tin nhạy cảm được lưu ở trong điện thoại

cá nhân, chỉ cần tin tặc tấn công vào đó thì có thể khai thác được rất nhiều thứ, ảnhhưởng trực tiếp chúng tôi cá nhân hoặc gián tiếp chúng tôi những người khác, lớnhơn là những cơ quan, tổ chức, doanh nghiệp

Với những van dé đó thì đã có một kỹ thuật tan công được áp dụng vào trongsmartphone, đó là sử dụng những giao tiếp phi chính thống trong smartphone, cònđược gọi là kỹ thuật covert channel, kỹ thuật này đánh cắp những thông tin nhạy cảmcủa nạn nhân, mà họ không hé hay biết, và hệ thống rất khó dé phát hiện kiểu tấn

công này Điều này thúc day nhóm nghiên cứu về kỹ thuật này

Trong phạm vi khóa luận này thì nhóm chỉ nghiên cứu trên hệ điều hành

Android, cũng như các ứng dụng sẽ được xây dựng và thực hiện trên đây Cùng với

đó là mô hình phân tích tĩnh dé phát hiện mối nguy tiềm tàng trong mã nguồn của

ứng dụng.

Trang 11

Chương! TONG QUAN

1.1 Giới thiệu chung

Là thời đại của công nghệ thông tin, bất cứ điều gì liên quan chúng tôi dữ liệu

đều rất nhạy cảm, đặc biệt là thông tin liên quan chúng tôi chính phủ, doanh nghiệp,các công ty lớn, hay là những cá nhân đang hằng ngày sử dụng những công nghệ đó

Với việc dữ liệu đang hướng đến việc số hóa, thì việc tấn công dé lấy cắp nhữngthông tin quan trọng đối với tin tặc là rất hấp dẫn Mỗi ngày đều xảy ra các cuộc tấn

công nhằm vào các tổ chức dé lay cắp thông tin của người dùng, qua đó tin tặc có thédem đi trao đôi ở thị trường đen, hoặc nhăm dé trục lợi Kỹ thuật covert channel làmột kỹ thuật hết sức tinh vi, kỹ thuật nay cho phép truyền thông tin đi nhưng với dang

ân giấu đưới một hình thức khác, được gọi là channel Kỹ thuật này yêu cầu có haibên giao tiếp với nhau thông qua một kênh truyền, đa phần hoạt động theo cơ chế bêngửi ân giấu thông tin truyền qua kênh, bên nhận sẽ trích xuất dữ liệu từ bên gửi theo

dạng xác định.

Việc nghiên cứu về covert channel hiện đang nhận được sự quan tâm đối vớicộng đồng bảo mật trên thế giới nhưng ở Việt Nam thì chủ đề này vẫn còn mới mẻ

Nếu chúng ta tìm kiếm về covert channel trên những ứng dụng tìm kiếm nỗi tiếng thì

ở Việt Nam rất hiếm bài báo nói về chủ đề này Với việc ngày càng nhiều các công

nghệ tiên tiến, thi covert channel cũng có rất nhiều biến thể khác nhau, tiêu biểu nhưviệc truyền gói tin nhưng giấu thông tin bí mật trong thời gian truyền gói, hay việcthay đổi âm lượng của smartphone dé gửi dữ liệu mà người dùng không hề hay biết

Có rất nhiều bài báo nổi tiếng được kể đến như nghiên cứu tạo ra ứng dụng

Soundcomber, một phần mềm độc hại dựa trên cảm biến âm thanh và hình ảnh của

điện thoại thông minh, việc công bồ bài báo này khiến cho giới bảo mật có thêm cáinhìn rõ hơn về kỹ thuật covert channel

Nhìn chung các bài báo có thiên hướng nghiên cứu về cách hoạt động của cácloại kênh khác nhau, từ đó tạo ra các kỹ thuật mới, mục đích cuối cùng là dé tìm cáchphòng thủ được phương thức tấn công hết sức tinh vi và phức tạp này, đa phần được

Trang 12

xây dựng trên ứng dụng smartphone, vì ở đây chứa đựng rât nhiêu thông tin nhạy cảm

của các cá nhân, và với việc smartphone rat phô biến, hau hết mỗi người đều có một

chiêc smartphone bên người, thì việc thực hiện những cuộc tân công như thê này là

vô cùng nguy hiêm và khân câp.

Các nghiên cứu liên quan

Li và cộng sự [1] đề xuất giải pháp phân tích kênh giao tiếp phi chính thống theo thời

gian (Covert timing channel)

Transmission times: Ts Receiving times: Tr

wiih

d a,

Message bits b1,b2,b3, bn ie Extracted bits b1,b2,b3, bn

7 ^ ' Analyze the IAT |

» Packet2 - 1 Packet 2 >| Packet} - Packetn |

Hình 1.1: Kênh truyền bí mật trong gói tin TCP/IP

Trong bài báo này nhóm tác giả đã tiễn hành nghiên cứu việc truyền thông tin bí mậtqua TCP/IP, thông tin được an giấu dựa vào thời gian delay của gói tin, từ đó tìm ra

cách ngăn chặn dựa trên việc phân tích luồng lưu thông của gói tin ở kênh bình thường

và ở kênh bí mật, tìm hiểu được cách truyền tin hợp lệ ở kênh thường từ đó áp dụngvào kênh bí mật và các điều kiện trong mạng có ảnh hưởng đến việc này hay không.Qua đó áp dụng kênh này tùy vào những ngữ cảnh khác nhau dé tìm ra sự hiệu qua

của chúng.

Trang 13

Yuanzhu Chen [2] và cộng sự giới thiệu ứng dụng SnapCatch phát hiện kênh truyền

bí mật dựa trên xử lý ảnh và máy học

Hình 1.2: Quá trình phát triển kênh truyền bí mật dựa trên xử lý ảnh và máy học

Bài báo này nghiên cứu việc phát hiện kênh truyền bí mật dựa trên xử lý ảnh và máy

học Có các điểm chính cần lưu ý:

+ Nhóm tác giả thực hiện chuyền thời gian chúng tôi trong kênh truyền bí mật sangdạng ảnh màu hai chiều, từ đó đưa vào máy học đề thực hiện phân loại

+ Từ đó nhóm tác giả phát triển việc phối hợp việc phát hiện kênh truyền bí mật dựa

trên việc xử lý ảnh và máy học với nhau.

+ Cuối cùng nhóm tác giả đề xuất một cơ chế sử dụng bộ phân loại của nhóm dé xác

định chính xác nơi an giấu thông tin trong kênh truyền bí mật Giúp dich vụ tốt hơn

và kênh truyền ôn định hơn

Kehuan Zhang [3] và cộng sự giới thiệu ứng dụng SoundComber, một ứng dụng sử

dụng kênh truyền bí mật đề truyền thông tin qua mạng

microphone

audio recording microphone collection

rocessing

+

profile data database extraction

Trang 14

Trong bài báo này nhóm tác giả đã nghiên cứu tạo ra một ứng dụng độc hại với yêu

cầu những quyền thấp nhất trong điện thoại thông minh, đó là sử dụng quyền truy cậpmicrophone, đây là quyền cơ bản nhất trong điện thoại thông minh và sẽ là hợp lệ

nếu một ứng dụng yêu cầu quyên này, ứng dụng này không sử dụng đến các quyền

khác liên quan chúng tôi bảo mật như là yêu cầu mạng Với một ứng dụng sử dụng

cả mạng và ghi âm, thì đây là một sự kết hợp vô cùng nguy hiểm nên sẽ bị các cơ chế

bảo mật phát hiện, nên ứng dụng này không có sử dụng Internet Vì vậy nên nhóm

tác giả sẽ sử dụng thêm một ứng dụng nữa có quyền truy cập vào mang, từ đó truyềnthông tin qua một kênh truyền đến ứng dụng thứ hai, ứng dụng này sẽ trích xuất dữ

liệu thông tin rồi gửi đi qua mang Ứng dụng độc hại nay được tác giả công bồ gọi là

Soundcomber.

Trên hình vẽ là co chế hoạt động của hai ứng dụng, bên trái là cau trúc hoạt động củaứng dụng với phần thu thập và giao tiếp với ứng dụng nhận tin, hai ứng dụng truyền

dữ liệu cho nhau thông qua kênh truyền bí mật, ứng dụng nhận dir liệu sẽ trích xuất

dữ liệu rồi gửi đi thông qua mạng

Qua đó thấy được tình hình nghiên cứu về kênh truyền bí mật không phải quá xa lạ

mà còn rất phổ biến, đem đến cho ngành bao mật một góc nhìn bao quát và chỉ tiếthơn về cơ chế hoạt động của các kênh truyền bí mật.

Công việc chính của khóa luận

Công việc chính của khóa luận chúng tôi sẽ tập trung vào các vấn đề sau:

- Nghiên cứu trước về dé tai được giao là Covert Channel, tìm hiểu về các thuật ngữcũng như các kỹ thuật liên quan đến Covert Channel

- Nắm các kiến thức cơ bản về Covert Channel từ các tài liệu tham khảo đã đọc Từ

đó bắt đầu hình dung về các hướng triển khai và xây dựng ứng dụng trong tương lai

- Tìm hiểu các kiến thức nén tảng về môi trường thực thi đó là Android, tìm hiểu cách

mà hệ thống android thực thi ứng dụng, cũng như hệ thống sẽ gọi tới ứng dụng đó

như thê nào.

Trang 15

- Tìm hiểu và học các kiến thức nền nhằm phục vụ cho việc thực hiên đồ án như: tìm

hiểu cách sử dụng Android Studio, tìm hiểu môi trường thực thi JDK, học thêm về

ngôn ngữ lập trình mới là Java.

- Bàn luận và đưa ra các ý tưởng ban đầu đề xây dựng nên các ứng dụng, từ đó giúpchúng tôi có thé hình dung khái quát mô hình tông thé và những công việc chúng tôicần làm

- Từ các ý tưởng ban đầu đã đưa ra, chúng tôi sẽ đi vào triển khai thực hiện code cáccặp ứng dụng Android đối với từng kỹ thuật đã tìm hiểu được, từ đó chúng tôi sẽnghiên cứu về cách mà ứng dụng đó hoạt động, cũng như cách mà nó truyền dit liệuqua lại giữa hai ứng dụng với nhau bằng các kỹ thuật Covert Channel

- Triển khai các ứng dụng đã được thực thi và xem kết quả đạt được có đạt yêu cầu

và có như mong đợi hay không Từ đó sẽ đưa ra các biện pháp khắc phục hoặc cáchướng phát triển dé hoàn thiện ứng dung đó tốt nhất có thê

- Từ các ứng dụng đã triển khai về mặt tan công, chúng tôi sẽ dựa vào việc phân tíchhoạt động và cách ứng dụng truyền dữ liệu đi, chúng tôi sẽ đưa ra các giải pháp cũngnhư các ý tưởng dé xây dựng một chương trình chống lại các hướng tan công này

- Sau khi đã có ý tưởng triển khai, chúng tôi đi vào thực hiện xây dựng chương trình

với nhiệm vụ thực hiện công việc phát hiện các ứng dụng có sử dụng những kỹ thuật covert channel này hay là không.

- Sau khi đã hoàn thiện chương trình, chúng tôi sẽ xem qua lại và cùng nhau đưa ra

các ý tưởng của tương lai, nhăm mục đích phát triển thêm chương trình này một cách

hoàn thiện nhất có thé

Trang 16

Chương2 CƠ SỞ LÝ THUYET

2.1. Tổng quan về hệ điều hành Android

Android là một platform dựa trên Linux được phát triển bởi Google và được xem nhưmột hệ điều hành cho thiết bị di động

Hiện nay đã được mở rộng không chỉ là cho mobile, tables mà còn là các thiết bị đeotay, TV, và các thiết bị thông minh khác

Android có các ứng dụng được cài đặt san và hỗ trợ người dùng cài đặt ứng dung thứ

ba trên Google Play hoặc các ứng dụng khác.

Các ứng dụng bên trong Android được xây dựng băng nhiều lớp khác nhau Mỗi lớpđịnh nghĩa một giao diện và nhiều dich vụ khác nhau

2.1.1 Nhân Linux

Nền tảng của hệ điều hành Android bắt nguồn từ nhân Linux Ví dụ như Android

Runtime (ART) phải phụ thuộc vào nhân của Linux dé thực hiện các chức năng cơbản nhất như quan lý bộ nhớ của hệ thống hay là co chế phân luồng

Bằng việc sử dụng nhân Linux thì Android đã có một nền tảng vững chắc về các cơchế bảo mật, bởi vì Linux đã được chỉnh sửa, nâng cấp qua rất nhiều năm bởi cộngđồng bảo mật trên thế gidi, khién cho Linux ngay cang ồn định và được các tô chức

lớn cũng như các chuyên gia bảo mật khác tin dùng.

Các cơ chế bảo vệ mà nhân Linux có thể cung cấp như:

- Mô hình cấp quyền cho người dùng

- Biệt lập tiến trình

- Cơ chế mở rộng dé bảo vệ giao tiếp giữa các tiến trình

- Có khả năng xóa bỏ những phần không cần thiết và những phần có nguy cơ bảo mật

tiềm ân trong nhân

Với việc đây là một hệ điều hành đa người dùng thì Linux cũng cung cấp việc cô lập

tài nguyên của người dùng này với người dùng khác.

Với những yếu tô nêu trên thì nhân Linux rất phù hợp dé phát triển hệ điều hànhAndroid với sự tiện lợi, khả năng mở rộng cao, cũng như các yếu tố bảo mật, xa hơn

là việc quản lý trong bộ nhớ.

Trang 17

2.1.2 Hardware Abstraction Layer (HAL)

Phía trên lớp nhân Linux là một lớp được gọi là Hardware Abstraction Layer, lớp nay

định nghĩa các giao diện chuan dé giao tiếp với các thành phan của phần cứng Lớp

này cũng cung cấp khả năng gọi chúng tôi phần cứng thông qua giao diện lập trìnhứng dụng (API) của Java, bao gồm rất nhiều các thư viện, mỗi thư viện được sử dụng

để giao tiếp với một thành phần phần cứng nhất định, như là các mô-đun camera hoặcbluetooth Khi một API được gọi để truy cập chúng tôi một phần cứng nhất định, hệ

thống Android sẽ nạp những thư viện dé thực hiện việc đó Giống như Android có

thé gọi chúng tôi nó như một lệnh gọi chúng tôi hệ thống khi can

2.1.3 Android Runtime (ART)

Ung dụng của Android được viết bằng Java và được biên dịch dưới dạng Dalvik

bytecode, khác với Java bytecode Dalvik bytecode được tạo khi lần đầu tiên biêndịch mã Java thành tệp tin có đuôi class, sau đó chuyên từ Java bytecode thành dangDalvik có đuôi là dex bằng công cụ dx

Trang 18

Với Android có phiên bản từ 5.0 trở lên thì mỗi ứng dụng sẽ khởi động tiến trình củachính nó với ban ART xác định ART được tạo ra dé chạy nhiều máy ảo trên những

thiết bị có bộ nhớ hạn chế bang cách thực thi các tệp tin DEX, việc thực thi tệp tinnày sẽ giúp giảm thiểu sử dụng bộ nhớ, cải thiện tốc độ xử lý Một số tính năng ARTcung cấp như:

- Ahead-Of-Time (AOT) và Just-in-Time (JIT)

- Từ Android phiên ban 9.0 trở lên thì mã DEX được chúng tôi ưu nhỏ gon hơn.

2.1.4 Thu vién C/C++ thuần

Những hệ thống cốt lõi của Android như là ART và HAL, được xây dựng dựa trên

bộ mã thuần ở trong những thư viện C/C++ Nền tảng Android cung cấp API dựa trên

Java cung cấp những chức năng trong các thư viện chuẩn này cho ứng dụng

2.1.5 Java API

Tất cả các chức năng của hệ điều hành Android đều có san dé sử dung thông qua cácAPI được viết bang ngôn ngữ Java Cac API này cung cấp day đủ dé có thé tạo ramột ứng dụng Android hoàn chỉnh chỉ đơn giản bằng việc sử dụng lại các thành phần

và dịch vụ cốt lõi như là:

- View System dé tạo ra các nút, trình duyệt nhúng và nhiều thành phan khác

- Resource Manager cho truy cập vào các tệp tin cần thiết

- Notification Manager cho phép ứng dụng thông báo trên thanh công cụ.

- Activity Manager quản lý các hoạt động của ứng dụng.

- Content Provider cho phép ứng dụng truy cập vào dtr liệu của các ứng dụng khác,

như là ứng dụng Danh bạ, để chia sẻ dữ liệu của chính ứng dụng đó

2.1.6 Các ứng dụng của hệ thống

Android cung cấp một bộ ứng dụng cốt lõi như Tin nhắn, Danh bạ, Lịch và nhiều ung

dụng khác Cac ứng dung nay không có những trạng thái đặc biệt như là ứng dụng

mà người dùng tự cài đặt Một ứng dụng của bên thứ ba có thé trở thành trình duyệt

mặc định, hoặc một bàn phím mặc định, nếu người dùng cài đặt (ngoại lệ là ứng dụng

Cài đặt của hệ thông)

Trang 19

Ứng dung của hệ thống vừa dé người dùng sử dụng vừa dé cung cấp các chức năngquan trọng cho người phát triển dé có thể truy cập từ ứng dụng của họ.

Có thể tổng quát lại hoạt động của hệ điều hành Android như sau:

10

Trang 20

Activity Location Package

View System Resource Telephony

Trang 21

Tại lớp thấp nhất Android dựa vào nhân Linux để hoạt động Ở phía trên của nhân

Linux sẽ có một lớp được gọi là Hardware Abstraction Layer (HAL) định nghĩa các

giao diện chuẩn dé giao tiếp với các thành phan của phan cứng

Trong dalvik, bytecode được biên dich sang mã máy trong lúc chạy chương trình, qua

trình này được gọi là Just-In-Time, quá trình JIT lại gây ảnh hưởng chúng tôi hiệu

năng: mỗi khi ứng dụng chạy thì phải biên dịch lại Để cải thiện việc này thì ARTgiới thiệu AOT, như tên gọi trước thời hạn, thì ứng dụng sẽ được biên dịch trong lần

chạy đầu tiên, mã máy được biên dịch sẽ chạy trong các lần chạy tiếp theo, giúp cải

thiện hiệu suất và giảm tiêu thụ điện năng

Thêm một điều nữa đó là mỗi ứng dụng của Android không được truy cập vào phần

cứng, và chạy trong sandbox riêng, dé đảm bảo chính xác quản lý tai nguyên va ứngdụng Ví dụ như khi một ứng dụng bị xung đột dẫn đến đang tạm dừng thì sẽ khôngảnh hưởng chúng tôi những ứng dụng khác Tại cùng một thời điểm, ART kiểm soát

số lượng tài nguyên hệ thống cấp phát cho ứng dụng, ngăn một ứng dụng sử dụngquá nhiều tài nguyên

Giao tiếp giữa các tiến trình

Bởi vì các tiến trình được chạy sandbox nên dé các tiến trình giao tiếp được vớinhau thì nhà phát triển đã tạo ra IPC

Bao gồm các thành phần sau:

- Binder: một cơ chế gọi thủ tục từ xa được thiết kế để cho hiệu năng cao khi thựchiện bên trong một tiến trình hoặc giữa các tiến trình Được thực hiện bằng cách sửdụng các trình điều khiến tự tạo

- Intent: là một đối tượng truyền tin đơn giản dé cho các ứng dụng khác nhận được

và thực hiện hành động được truyền chúng tôi.

- Services: cung cấp trực tiếp giao diện bằng cách sử dụng Binder

- Content Provider: là một kho dit liệu cung cấp quyền truy cập dit liệu trên thiết bị.Thêm nữa, một số ứng dụng cé gắng triển khai IPC sử dụng các kỹ thuật Linux truyềnthống như socket Nhà phát triển lại khuyên rằng nên sử dụng IPC có sẵn của Android,

12

Trang 22

cho phép xác định danh tinh của một ứng dụng đang kết nối với IPC và cài đặt những

cơ chế bảo mật cho từng IPC riêng

Giới thiệu về kỹ thuật kênh truyền bí mật

Covert channel là một dang tan công tạo ra khả năng dé chuyên thông tin của các đốitượng giữa các tiến trình mà không được phép giao tiếp giữa các tiến trình với nhau

theo chính sách bảo mật máy tính [1]

Covert channel sẽ chuyền thông tin theo một cách không thường dùng trong hệ thống,một cách theo kiểu bí mật hơn Giống như cái tên của kỹ thuật tấn công này, là ân

giấu dưới một kênh truyền bí mật, thoát khỏi cơ chế kiểm soát truy cập của một hệ

điều hành bởi vì kỹ thuật không sử dụng các cơ chế truyền dit liệu hợp pháp của hệ

thống máy tính, vì vậy nên không bi phát hiện hoặc điều khiến bởi các cơ chế bảomật của hệ điều hành

Thật ra mục đích đầu tiên của kỹ thuật này là dé bảo vệ sự riêng tư hoặc tăng cườngbảo mật thông tin quan trọng Tuy nhiên điều đó cũng tạo ra mặt tối là để sử dụngcho mục đích khác Dựa vào kỹ thuật này thì việc lay thông tin của mục tiêu hoantoàn khả thi Bất kì một kênh truyền nào cũng có thê làm thành một covert channel.Qua đó có thể tóm gọn lại định nghĩa về covert channel: bất kỳ một kênh giao tiếpnào cũng có thé bị khai thác bởi một tiến trình nào đó mà xâm phạm chính sách bảomật hệ thống.

Có thé phân ra làm hai loại chính: Storage Channels, Timing Channels

2.3.1 Storage Channels

Là một dạng giao tiếp mà ở đó có thé trực tiếp hoặc gián tiếp ghi thông tin vào mộtnơi lưu trữ bởi một tiến trình và được trực tiếp hoặc gián tiếp đọc thông tin đó bởi

một tiễn trình khác Có thé hiểu don giản là một tiễn trình ghi vào một nơi được chia

sé tài nguyên, trong khi một tiến trình khác đọc từ đó Có thé được sử dụng bởi nhiềutiễn trình trong cùng một máy vi tính hoặc giữa nhiều máy vi tính thông qua mạng

Có thé lấy ví dụ như là bộ nhớ tạm trong điện thoại di động, thì một ứng dụng có thé

đảm nhận việc ghi vào bộ nhớ tạm, một ứng dụng khác có thé đọc bộ nhớ tạm dé lấy

thông tin ra.

13

Trang 23

channels, thì dạng này cũng ton tại ở một máy tính hoặc trên mạng Nhưng theo thực

tế thi dùng dạng này trên mạng sẽ khó thực hiện Vi dụ theo 6 cứng, một tiến trình

VỚI quyền cao có thể đọc toản bộ thiết bị, gọi là tiễn trình gửi, trong khi đó một tiếntrình khác với quyền thấp hơn gọi là tiến trình nhận

Muốn tạo ra một kênh truyền bí mật thì phải yêu cầu lập trình một cách khéo léo tùytheo hoàn cảnh, và tài nguyên được phép sử dung Vì vậy sẽ rất khó khăn dé tạo ramột kênh truyền bí mật thật sự vô hình

14

Trang 24

Chương3 TRIẾN KHAI MỘT SO KENH GIAO TIẾP PHI CHÍNH THONG

© Ứng dụng thứ nhất sẽ có nhiệm vụ là thực hiện copy một giá tri plaintext va

đưa vào Clipboard Manager

® Ứng dụng thứ hai sẽ thực hiện đọc giá trị trong Clipboard Manager và in ra

màn hình ứng dụng Clipboard là một framework của android cho phép thực hiện copy va paste trên bộ

nhớ tạm Nó hỗ trợ cả kiểu đữ liệu đơn giản và phức tạp, bao gồm chuỗi văn bản, cấu

trúc dữ liệu phức tap, dtr liệu dòng văn bản và nhị phân và thậm chí cả nội dung ứng

dụng Dữ liệu văn bản đơn giản được lưu trữ trực tiếp trong bộ nhớ nhớ tạm, trongkhi dữ liệu phức tạp được lưu trữ đưới dang tham chiếu mà ứng dụng dán giải quyếtvới trình cung cấp nội dung Copy và Paste hoạt động cả trong một ứng dụng và giữa

các ứng dụng triển khai trên cùng một môi trường

Khi sử dụng framework Clipboard chúng ta cần đưa dữ liệu vào trong Object

Clipdata, sau đó day giá trị trong Clipdata vào trong bộ nhớ tạm Clipboard của hệthống bang cách sử dụng phương thức setPrimaryClip

15

Trang 25

3.1.2 Xay dung ứng dụng

Hình 3.1: Mô hình ứng dụng gửi dữ liệu bang Clipboard

APPLICATION 2

Hình 3.2: Mô hình ứng dụng đọc đữ liệu băng Clipboard

3.1.3 Phân tích cấu trúc và hoạt động của ứng dụng

3.1.3.1 Ung dụng thứ nhấtCấu trúc:

Phần 1: Bộ phận Input

Phần 2: Bộ phận đây dữ liệu vào Clipboard

Hoạt động:

Phần 1: Bộ phận Input

Ở đây chúng tôi sẽ sử dụng một Text Fields (EditText) để cho phép người dùng nhập

giá trị muốn đưa vào Clipboard, tiếp theo chúng tôi sẽ khai báo một biến value_copy

với kiêu dữ liệu là String dé chứa nội dung trong Text Fields rồi gọi chúng tôi hàmCopyToClipBoard() với tham số truyền vào là giá trị của value_copy như sau:

16

Trang 26

Cac hành động này sé được đặt trong hàm setOnClickListener(), hàm nay sẽ được

thực thi khi user nhắn vào nut button, cụ thé sẽ được triển khai như sau:

@Override

public void onClick(View v) {

String value copy;

value_copy=editText.getText().toString();

})z

Khi gọi chúng tôi hàm CopyToClipBoardQ thì sẽ được chuyền chúng tôi bộ phận tiếp

theo là bộ phận đầy dữ liệu

Phan 2: Bộ phận day dữ liệu vào Clipboard

Sau khi dữ liệu từ EditText được truyền vào hàm CopyToClipBoard() lúc này chúng

tôi sẽ khai báo hàm CopyToClipBoard(String value_copy) dé thực hiện công việc

copy plaintext và đây vào clipboard hệ thống

Dé thực hiện đưa dit liệu vào Clipboard đầu tiên chúng tôi phải khai báo một biến

ClipboardManager dé gọi chúng tôi CLIPBOARD_ SERVICE nhằm mục đích chuẩn

bị cho việc day dữ liệu, chúng tôi sẽ khai báo như sau:

ClipboardManager manager = (ClipboardManager)

Tiếp theo, dé day được đữ liệu vào Clipboard hệ thống chúng tôi cần khai báo thêm

một biến Clipdata và gọi chúng tôi object newPlaintText dé gan giá trị cần day vào

một khay bộ nhớ tạm như sau:

ClipData clipData = ClipData.newPlainText ("text", value copy);

Cuối cùng chúng tôi sé sử dung object setPrimaryClip của Clipboard Manager dé

thực hiện đây giá trị trong Clipdata vào bộ nhớ tam Clipboard hệ thống:

17

Trang 27

Sau khi chạy xong bước nay thì dữ liệu từ input đã được đưa thăng vào trong bộ nhớtạm của Clipboard phía hệ thống, lúc này nếu có ứng dụng nào hay bat kỳ thao tácnao của hệ thông muốn đọc đến phan nội dung của Clipboard Manager đều có thé

đọc được một cách dé dang, Source code đầy đủ của ham Copy dit liệu vào clipboard

như sau:

public void CopyToClipBoard(String value copy) {

ClipboardManager manager = (ClipboardManager)

ClipData clipData = ClipData.newPlainText ("text",

value copy);

Toast.makeText (getApplicationContext(), "Text

Copied", Toast LENGTH_SHORT) ;

}

3.1.3.2 Ung dụng thứ haiCấu trúc:

Phan 1: Bộ phận đọc dữ liệu từ Clipboard

Trong hàm setOnClickListener() chúng tôi sẽ gọi chúng tôi một function khác có tên

là PasteToClipboardQ với nhiệm vụ thực hiện đọc đữ liệu, thao tác gọi như sau:

@Override

public void onClick(View v) {

PasteToClipboard();

18

Trang 28

Tiếp theo bên trong hàm PasteToClipboard() dé đọc được dữ liệu trong Clipboard

đầu tiên chúng tôi cũng sẽ cần khai báo một biến ClipboardManager với mục đích là

cho hệ thống biết chúng tôi muốn thao tác với dữ liệu của Clipboard, chúng tôi sẽ

khai báo như sau:

ClipboardManager manager = (ClipboardManager) getSystemService (CLIPBOARD_SERVICE) ;

Tiếp theo dé lay dữ liệu và sử dung được dữ liệu này chúng tôi cũng cần phải khaibáo thêm một biến ClipData và sử dụng Object getPrimaryClip() củaClipboardManager dé thực hiện đọc giá trị bên trong Clipboard, chúng tôi sẽ thực

hiện như sau:

ClipData pasteData = manager.getPrimaryClip();

Và cuối cùng sau khi đã có được dữ liệu trong Clipboard, tiếp theo chúng tôi cần đưa

dữ liệu đó vào bộ phận output dé thực hiện ghi giá trị đó vào màn hình ứng dụng

Phần 2: Bộ phận Output

Ở đây sau khi dữ liệu được đưa chúng tôi từ biến ClipData, chúng tôi cần phải chuyển

đổi lại kiểu dit liệu sang kiểu string sau đó chúng tôi gọi chúng tôi hàm setText dé

thực hiện gan giá tri đó vào trong TextView như sau:

String paste = item.getText().toString();

® Việc đưa dữ liệu vào và việc đọc đữ liệu thực hiện rất đơn giản

® Có thé đưa thăng trực tiếp giá trị input bang plaintext vào trong hệ thống bộ

nhớ tạm, nên việc đọc và ghi không cần phải qua bat kỳ một bộ xử lý dữ liệu

nào khác

19

Trang 29

® Việc sử dụng Clipboard sẽ khá thông dụng vì bất kỳ môi trường nào việc thực

hiện copy và paste đều sẽ có sẵn trên hệ thống di là môi trường android hay

10S.

Nhược điểm:

® Vì việc sử dụng Clipboard quá thông dụng nên sẽ có một số trường hợp thông

tin gửi đi giữa hai ứng dụng có thé bị rò ri nếu như có một thao tác nào đó thực

hiện paste gia trị đang được gửi vào bộ nhớ tạm Clipboard, lúc này việc thực

hiện giao tiếp gửi thông tin giữa hai ứng dụng sẽ dé bị phát hiện hơn

3.2 Kỹ thuật covert channel sử dụng độ sáng màn hình

3.2.1 Tống quan về ứng dụng

Với kỹ thuật covert channel băng phương pháp sử dụng độ sáng màn hình chúng tôi

sẽ xây dựng hai ứng dụng chạy song song trên môi trường android, hai ứng dụng này

sẽ thực hiện sử dụng độ sáng màn hình dé có thé giao tiếp với nhau, thông qua đóchúng tôi có thê thực hiện gửi dir liệu đi qua lại giữa hai ứng dung đó

3.2.2 Xây dựng ứng dụng

20

Trang 30

End process

Hình 3.3: Mô hình ứng dung gửi dữ liệu bằng độ sáng màn hình

21

Trang 31

APP 2 SCREEN

Call event onChange

Screen brightness

change

getscreen=SCREEN BRIGHTNESS

Convert getscreen from interger to

Trang 32

3.2.3 Phan tích cấu trúc và hoạt động của ứng dụng

3.2.3.1 Ứng dụng l1Cấu trúc:

App thứ nhất được chia thành 3 phần:

® Phan 1: Nhận input từ bên ngoài

Trang 33

chúng tôi sẽ lấy ra từng ký tự trong chuỗi bang cách sử dụng hàm

getCharFromString()

- *getCharFromString(str, int) sẽ có 2 giá tri đầu vào là chuỗi ban đầu va số thứ

tự của ký tự muốn lay ra trong chuỗi đóTiếp theo chúng tôi sẽ khai báo một biến có kiểu dữ liệu là kiểu int dé chứa giá trịcủa ký tự đã được lấy ra phía trên trong hàm *getCharFromString() và chuyên về kiểu

dữ liệu integer bang cách:

- Int ascii=(int) chr

Cách khai báo ở trên giống như một dang ép kiêu dit liệu, dé mục dich là đưa giá tri

của ký tự từ dang char sang kiểu int

Cuối cùng sau khi đã đưa từng ký tự lay được về kiểu int phía trong vòng lặp chúngtôi sẽ gán giá trị kiểu integer đó vào trong một biến process đề chuẩn bị cho việc gán

Cuối cùng sau khi đã thực hiện cấp quyền đầy đủ chúng tôi sẽ gọi chúng tôi function

putInt trong system setting dé thực hiện ghi độ sáng màn hình như sau:

android.provider.Settings System putInt (getContentResolver(),Settings System SCREEN BRTGHTNESS,value int set);

Với class Settings.System có rất nhiều option có thể sử dụng liên quan chúng tôi các

setting của android như turn on/off bluetooth, time/date in android, Ringtone, Vì

24

Trang 34

mục tiêu của ứng dụng chúng tôi đang thực hiện là cài đặt độ sáng man hình nên chúng tôi sẽ sử dụng SCREEN_BRIGHTNESS trong Settings.System.

screen

Cấu trúc: App thứ 2 được xây dựng thành 3 phan chính:

® Phan 1: Doc độ sáng màn hình mỗi khi giá trị màn hình thay đổi

® Phan 2: Bộ phận xử lý dit liệu

® Phan 3: Bộ phan output

Hoạt động:

Phan 1: Đọc độ sáng màn hình mỗi khi có giá trị thay đối

App thứ 2 sẽ hoạt động dựa trên việc độ sáng màn hình có thay đổi hay không, mỗikhi độ sáng màn hình thay đổi ứng dung sẽ nhận giá tri thay đổi đó và đưa vào bộ

phận xử lý dữ liệu.

Thì dé thực hiện đọc giá trị độ sáng màn hình mỗi khi setting thay đổi chúng tôi sẽ

sử dụng sự kiện onChange() và sự kiện onChange() sé được đặt nằm trong extends

ContentObserver của class SettingsContentObserver.

- *ContentObserver: Sẽ thực hiện nhận các gia trị khi có sự thay đổi của hệ

thống android

Trong object nay chúng tôi sẽ khai báo một biến getscreen với kiêu dữ liệu là kiểu int

dé thực hiện nhận giá trị của độ sáng màn hình khi có sự thay đổi

25

Trang 35

Tiếp theo là dé nhận giá trị của độ sáng màn hình chúng tôi sẽ sử dung function getInt

trong Settings.System như sau:

getscreen = Settings.System getInt (context.getContentResolver(),

Settings.System.SCREEN_BRIGHTNESS, 0)

Đề ham getInt có thé thực hiện được chúng tôi cũng phải thực hiện khai báo permission cho ứng dung dé thực hiện xin cấp quyền được đọc ghi các giá trị của hệthống điền hình ở ứng dụng này là giá trị của SCREEN_BRIGHTNESS

users-Sau khi nhận được giá trị của độ sáng màn hình chúng tôi sẽ chuyên giá trị đó qua bộphận xử lý dé có thé nhận tiếp giá trị độ sáng màn hình tiếp theo

Phần 2: Bộ phận xử lý

Ở bộ phận xử lý dữ liệu, sau khi nhận được giá trị độ sáng màn hình đang ở kiểuinteger chúng tôi sẽ chuyên về lại kiểu char bằng cách ép kiểu tương tự với ở trên déđưa từ int về char:

Đối với kỹ thuật covert channel bằng độ sáng màn hình, chúng tôi có thé dé sàng điều

khiển được việc đặt độ sáng màn hình với từng giá tri ascii tương ứng, vì độ sángmàn hình chạy trong khoảng từ 0-255 nên chúng tôi có thể thoải mái sử dụng giá trị

integer của từng ký tự ascii vì bảng mã ascii chỉ chạy từ 0-127 nên max va min của

độ sáng màn hình ứng dụng có thể thoải mái cho việc chúng ta chuyên và nhận dữ

liệu mà không cân qua thêm một bước trung gian nao khác.

26

Ngày đăng: 03/11/2024, 18:17

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN