Tải bản đầy đủ (.docx) (45 trang)

Nhập môn Bảo Mật Thông Tin - Keylogger TDTU

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (8.26 MB, 45 trang )

TỔNG LIÊN ĐỒN LAO ĐỘNG VIỆT NAM
TRƯỜNG
KHOA CƠNG NGHỆ THƠNG TIN

BÁO CÁO CUỐI KỲ
MÔN NHẬP MÔN BẢO MẬT THÔNG TIN

ĐỀ TÀI:
KEYLOGGER

Người hướng dẫn:
Người thực hiện:

THÀNH PHỐ HỒ CHÍ MINH, NĂM 202


TỔNG LIÊN ĐỒN LAO ĐỘNG VIỆT NAM
TRƯỜNG
KHOA CƠNG NGHỆ THƠNG TIN

BÁO CÁO CUỐI KỲ
MÔN NHẬP MÔN BẢO MẬT THÔNG TIN

ĐỀ TÀI:
KEYLOGGER

Người hướng dẫn:
Người thực hiện:

THÀNH PHỐ HỒ CHÍ MINH, NĂM 202



LỜI CẢM ƠN


Phần đánh giá của GV chấm bài

_________________________________________________________
_________________________________________________________
_________________________________________________________
_________________________________________________________
_________________________________________________________
_________________________________________________________
_________________________________________________________
Tp. Hồ Chí Minh, ngày

tháng năm

(kí và ghi họ tên)


DANH MỤC HÌNH
Hình 1: Internet..............................................................................................................1
Hình 2: Máy tính gia đình...............................................................................................2
Hình 3: Máy đánh chữ điện............................................................................................2
Hình 4: Minh họa keylogger...........................................................................................3
Hình 5: Phân loại keylogger...........................................................................................4
Hình 6: Keylogger phần cứng USB................................................................................5
Hình 7: Keylogger phần cứng PS/2................................................................................5
Hình 8: Wireless Keylogger sniffers...............................................................................6
Hình 9: Keylogger phần mềm.........................................................................................7

Hình 10: Keylogger cục bộ Spyagent.............................................................................8
Hình 11: Keylogger cục bộ All-Spy Keylogger..............................................................9
Hình 12: Keylogger cục bộ Refog keylogger.................................................................9
Hình 13: Keylogger từ xa WinSpy................................................................................10
Hình 14: Keylogger từ xa Sniperspy.............................................................................11
Hình 15: Cấu trúc Keylogger phần cứng......................................................................12
Hình 16: Quy trình kết nối keylogger phần cứng..........................................................13
Hình 17: Kết nối keylogger phần cứng USB................................................................14
Hình 18: Cấu trúc Keylogger phần mềm......................................................................16
Hình 19: Đánh chặn dữ liệu I/O của trình điều khiển thiết bị phân lớp........................18
Hình 20: Sơ đồ hoạt động keylogger............................................................................19
Hình 21: Keylogger theo dõi để chụp màn hình...........................................................20
Hình 22: Những mối nguy hiểm từ keylogger..............................................................23
Hình 23: KeySweeper với Arduino...............................................................................24
Hình 24: Bảo mật trước Keylogger...............................................................................29
Hình 25: Keylogger với mục đích xấu..........................................................................34
Hình 26: Keylogger với mục đích hợp pháp.................................................................35


MỤC LỤC
PHẦN 1 – TỔNG QUAN...............................................................................................1
1.1 Giới thiệu.......................................................................................................1
1.2 Sơ lược lịch sử...............................................................................................2
1.3 Định nghĩa.....................................................................................................3
1.4 Phân loại........................................................................................................4
1.4.1 Keylogger phần cứng.......................................................................4
1.4.2 Keylogger phần mềm.......................................................................6
PHẦN 2 – KEYLOGGER PHẦN CỨNG....................................................................12
2.1 Cấu trúc.......................................................................................................12
2.2 Hoạt động....................................................................................................12

2.3 Tính năng.....................................................................................................14
PHẦN 3 – KEYLOGGER PHẦN MỀM......................................................................16
3.1 Cấu trúc.......................................................................................................16
3.2 Hoạt động....................................................................................................17
3.3 Tính năng.....................................................................................................20
3.4 Cơng cụ để viết Keylogger..........................................................................22
PHẦN 4 – BẢO MẬT TRƯỚC KEYLOGGER..........................................................23
4.1 Những mối nguy hiểm.................................................................................23
4.2 Các sự cố gây ra bởi Keylogger...................................................................28
4.3 Biện pháp.....................................................................................................29
4.3.1 Đối với Keylogger phần cứng........................................................29
4.3.2 Đối với Keylogger phần mềm........................................................30
4.4 Phát hiện và gỡ bỏ Keylogger......................................................................31
PHẦN 5 – TỔNG KẾT................................................................................................34
TÀI LIỆU THAM KHẢO............................................................................................37


1

PHẦN 1 – TỔNG QUAN
1.1 Giới thiệu
Ngày nay, với sự phát triển ngày càng lớn của mạng truyền thông, tương tác xã
hội và giao dịch tài chính đã được chuyển sang môi trường ảo. Internet là một trong
những nền tảng quan trọng nhất cho các tương tác xã hội và giao dịch của hầu hết mọi
người. Tuy nhiên, có những rủi ro đáng chú ý trong các giao dịch trực tuyến là bảo mật
trong môi trường mạng và hiểu được các mối nguy đi kèm với nền tảng giao tiếp này.

Hình 1: Internet
(Nguồn: pngegg.com)


Do việc sử dụng Internet ngày càng phát triển trong các hoạt động hàng ngày
như giao dịch tài chính, hay đăng nhập các trang web với tài khoản và mật khẩu. Nền
tảng này đã trở thành tâm điểm của những kẻ tấn công và lừa đảo cho việc đánh cắp
thông tin của người dùng bởi keylogger – một trong các công cụ phổ biến để thu thập
thông tin.


2

1.2 Sơ lược lịch sử
Điều thú vị là keylogger đã có từ rất lâu trước khi có những chiếc máy tính gia
đình đầu tiên (máy tính gia đình là một loại máy vi tính gia nhập thị trường vào năm
1977).

Hình 2: Máy tính gia đình
(Nguồn: theguardian.com/games)

Trong thời kỳ chiến tranh lạnh, Liên Xơ quan tâm đến những gì đang được nói
trên khắp đất nước. Họ theo dõi cơng dân để điều khiển bộ máy tuyên truyền và kiểm
soát các quan điểm đối lập. Vào những năm 1970, IBM đang sản xuất máy đánh chữ
điện, là một trong những công cụ nhập dữ liệu tốt nhất cho đến nay.

Hình 3: Máy đánh chữ điện
(Nguồn: en.wikipedia.org/wiki/IBM_Selectric_typewriter)


3

Liên Xô quyết định muốn theo dõi tất cả các thông tin mà người đánh máy đưa
vào các máy đánh chữ đó, và do đó, keylogger đầu tiên đã ra đời. Bất cứ thứ gì được gõ

trên máy chữ IBM đều được ghi lại và chuyển tới Moscow.
Từ giữa đến cuối những năm 1990, việc sử dụng keylogger cho mục đích
thương mại bùng nổ. Hàng ngàn sản phẩm khác nhau xuất hiện với đối tượng mục tiêu
và bằng nhiều ngôn ngữ khác nhau.
Keylogger ngày nay tinh vi hơn nhiều và ít dễ bị phát hiện hơn. Sử dụng kết nối
internet nhanh như chớp và phần mềm độc hại được tải trực tiếp vào thiết bị, keylogger
vì thế trở nên siêu hiệu quả và linh hoạt.

1.3 Định nghĩa
Keylogger còn được gọi là Keystroke logging hoặc Keylogging, là một thiết bị
phần cứng hoặc một chương trình phần mềm theo dõi đầu vào và hoạt động của người
dùng. Hoạt động trong thời gian thực của người dùng máy tính bao gồm các thao tác
trên bàn phím, các trang web đã truy cập, các chương trình đang chạy, các tin nhắn
cũng như các hoạt động khác liên quan đến máy tính. Người dùng có thể biết được
keylogger hoặc keylogger có thể bị ẩn cho người dùng vì mục đích xấu.

Hình 4: Minh họa keylogger
(Nguồn: pngegg.com)


4

Nếu một keylogger được cài đặt trên hệ thống, nó có thể được cấu hình để khởi
động mỗi khi máy tính bật. Sau khi keylogger được cài đặt trên hệ thống máy tính, hệ
thống có thể được giám sát một cách chủ động.

1.4 Phân loại
Có hai loại keylogger: keylogger phần cứng và keylogger phần mềm.

Hình 5: Phân loại keylogger

(Nguồn: pngegg.com)

1.4.1 Keylogger phần cứng
Keylogger phần cứng là một thiết bị vật lý, chẳng hạn như USB, cáp PS2 hoặc
bộ sạc tường, được kết nối giữa bàn phím và thiết bị đầu vào nhập/xuất (I /O) trên máy
tính để ghi lại các hoạt động được nhập vào máy tính. Một số keylogger phần cứng
hoạt động ở cấp độ BIOS trong khi một số hoạt động dựa trên cấp độ bàn phím. Các
thiết bị phổ biến như KeyKatcher, KeyGhost (thiết bị ngoại vi PS/2), Amecisco
(nhúng).


5

Hình 6: Keylogger phần cứng USB
(Nguồn: keelog.com)

Keylogger phần cứng khơng yêu cầu bất kỳ trình điều khiển nào và sẽ hoạt động
với tất cả các hệ điều hành dựa trên Linux cũng như với các hệ thống điều hành
Windows. Keylogger phần cứng cũng không phụ thuộc vào bất kỳ phần mềm nào được
cài đặt vì chúng tồn tại ở cấp phần cứng trong hệ thống máy tính.

Hình 7: Keylogger phần cứng PS/2
(Nguồn: keelog.com)

Keylogger phần cứng thường được phân loại thành:
 Keylogger phần cứng thông thường: được sử dụng để ghi nhật ký tổ hợp
phím bằng một mạch phần cứng được gắn ở đâu đó giữa bàn phím và
máy tính. Nó ghi lại tất cả hoạt động của bàn phím vào bộ nhớ trong của



6

nó có thể được truy cập bằng cách nhập vào một loạt các ký tự được xác
định trước.
 Trình dị tìm keylogger khơng dây (Wireless Keylogger sniffers): thu
thập các gói dữ liệu đang được chuyển từ bàn phím khơng dây và bộ thu
của nó và sau đó cố gắng bẻ khóa mã hóa đang được sử dụng để bảo mật
giao tiếp khơng dây giữa hai thiết bị.

Hình 8: Wireless Keylogger sniffers
(Nguồn: thehackernews.com/2016/05/usb-charger-keylogger.html)

 Firmware: BIOS của máy tính, thường chịu trách nhiệm xử lý các sự kiện
bàn phím, có thể được lập trình lại để ghi lại các lần nhấn phím khi xử lý
chúng.
 Lớp phủ bàn phím (Keyboard overlays): một bàn phím giả được đặt trên
bàn phím thật để bất kỳ phím nào được nhấn đều được nhận bởi cả hai
bàn phím.

1.4.2 Keylogger phần mềm
Một keylogger phần mềm được cài đặt trên máy tính, có thể cài đặt trực tiếp
hoặc từ xa. Keylogger phần mềm khơng nhìn thấy được từ bên ngoài, trong khi
keylogger phần cứng rất dễ bị phát hiện nếu người dùng kiểm tra những gì được kết
nối với máy tính.


7

Hình 9: Keylogger phần mềm
(Nguồn: suachualaptop24h.com)


Keylogger phần mềm theo dõi hoạt động của máy tính theo nhiều cách khác
nhau, bao gồm: bắt chước một máy ảo, dựa trên hypervisor, hoặc trình quản lý máy ảo,
hoạt động như trình điều khiển bàn phím (dựa trên kernel). Trong keylogger phần mềm
cũng có hai loại cấp độ khác nhau:
 Cấp độ người dùng (user-level): keylogger dựa trên cấp độ người dùng là
cách dễ tạo nhất, nhưng cũng dễ phát hiện nhất. Đây là phương pháp phổ
biến nhất được sử dụng khi tạo keylogger. Keylogger đặt một móc (hook)
chung cho tất cả các hoạt động của bàn phím và cho tất cả các luồng
trong hệ thống. Keylogger thông thường lưu trữ dữ liệu trên ổ cứng cục
bộ, nhưng một số có thể được cấu hình để tự động chuyển dữ liệu qua
mạng đến máy tính khác hoặc máy chủ web.


8

 Cấp độ nhân của hệ điều hành (kernel-level): là một chương trình trên
máy tính có quyền quản trị viên và tự ẩn chính nó trong hệ điều hành và
có thể khởi động chặn các thao tác gõ phím vì các thao tác gõ phím ln
đi qua kernel. Keylogger sử dụng phương pháp này có thể hoạt động như
một trình điều khiển thiết bị bàn phím và có thể làm rất nhiều điều vì nó
có quyền truy cập vào bất kỳ thơng tin nào được nhập trên bàn phím vào
hệ điều hành.
Dựa theo khoảng cách, keylogger phần mềm cũng chia thành hai loại :
 Keylogger cục bộ (Local Keylogger): Local Keylogger được sử dụng để
giám sát các máy tính cục bộ (có thể là máy tính của riêng bạn), chúng
rất dễ cài đặt và và thực sự khó phát hiện khi một keylogger được cài đặt
trên máy tính vì thường các keylogger ẩn mình khỏi các trình quản lý tác
vụ. Hiện nay, có rất nhiều keylogger nhưng một số keylogger thân thiện
với người dùng và có khả năng tự ẩn sau khi được cài đặt, một số

keylogger cục bộ phổ biến là: Spyagent, All-Spy Keylogger, Refog
keylogger.

Hình 10: Keylogger cục bộ Spyagent


9

(Nguồn: spytech-web.com)

Hình 11: Keylogger cục bộ All-Spy Keylogger
(Nguồn: bitsdujour.com)


10

Hình 12: Keylogger cục bộ Refog keylogger
(Nguồn: refog.com)

 Keylogger từ xa (Remote Keylogger): Keylogger từ xa được sử dụng cho
mục đích giám sát máy tính từ xa, khi một keylogger từ xa được cài đặt
trên máy tính, kẻ tấn cơng có thể theo dõi được các lần nhấn phím, ảnh
chụp webcam, nhật ký trò chuyện ở bất kỳ nơi nào. Một số keylogger từ
xa phổ biến là: WinSpy, Sniperspy.


11

Hình 13: Keylogger từ xa WinSpy
(Nguồn: mejorsoftware.info)



12

Hình 14: Keylogger từ xa Sniperspy
(Nguồn: sniperspy.en.softonic.com)

Có rất nhiều keylogger dựa trên phần mềm được tìm thấy trên Internet, một số
được tải xuống miễn phí trong khi những thứ khác là thương mại u cầu trả phí. Nói
chung, một phiên bản thương mại của keylogger thường có khả năng tránh bị phát hiện
tốt hơn bởi các người dùng có kiến thức về bảo mật.


13

PHẦN 2 – KEYLOGGER PHẦN CỨNG
2.1 Cấu trúc
Thông thường thiết bị keylogger phần cứng có những thành phần cơ bản sau:
1. Bộ vi điều khiển (Microcontroller): điều khiển dòng dữ liệu giữa bàn
phím và máy tính, sau đó xử lý nó và chuyển đến bộ nhớ cố định.
2. Bộ nhớ cố định (Non-volatile memory): lưu trữ những dữ liệu đã ghi, giữ
lại ngay cả khi mất điện, chẳng hạn như bộ nhớ flash.

Hình 15: Cấu trúc Keylogger phần cứng
(Nguồn: keelog.com)

Thơng thường, dung lượng bộ nhớ của keylogger phần cứng có thể từ vài
kilobyte đến vài gigabyte, với mỗi lần gõ phím được ghi lại thường tiêu tốn một byte
bộ nhớ.


2.2 Hoạt động
Các keylogger phần cứng được sử dụng để ghi nhật ký của các tổ hợp phím
bằng một mạch của phần cứng được gắn ở đâu đó giữa bàn phím và máy tính, thường ở
đầu nối cáp của bàn phím. Ngồi ra cịn có các keylogger phần cứng dựa trên USB


14

cũng như các keylogger dành cho laptop. Nhiều cách bí mật hơn có thể được cài đặt
hoặc tích hợp vào bàn phím tiêu chuẩn để khơng bị nhìn thấy.

Hình 16: Quy trình kết nối keylogger phần cứng
(Nguồn: technadu.com/what-are-keyloggers-how-to-detect-and-protect-yourself-fromthem/120663)

Tất cả các loại này đều ghi lại tất cả hoạt động của bàn phím vào bộ nhớ trong
của chúng, sau đó có thể được truy cập khi cần. Keylogger phần cứng có lợi thế hơn so
với keylogger phần mềm ở chỗ nó không phụ thuộc vào việc được cài đặt trên hệ thống
máy tính và do đó sẽ khơng can thiệp vào bất kỳ chương trình nào đang chạy trên máy
mục tiêu hoặc bị phát hiện bởi bất kỳ phần mềm nào. Một ưu điểm khác là keylogger
phần cứng có thể ghi lại những thao tác gõ phím ngay khi máy tính chưa mở. Mặt
khác, các keylogger phần cứng chỉ hữu ích trong trường hợp bạn có quyền truy cập vật
lý vào máy tính.


15

Hình 17: Kết nối keylogger phần cứng USB
(Nguồn: keelog.com)

Một ví dụ phổ biến về keylogger phần cứng là một thiết bị “ma” có thể được

gắn vào máy tính mục tiêu để trích xuất và lưu trữ các lần gõ phím trên bộ nhớ một
cách liên tục trong cùng một thiết bị. Ví dụ, các thiết bị keylogger phần cứng giá thành
rẻ như Spy Keylogger hoạt động như một phương tiện giữa bộ điều hợp USB bàn phím
vật lý và cổng USB bo mạch chủ của máy tính, như là một thiết bị trung gian, thiết bị
lén lút chụp và lưu trữ tất cả các lần gõ phím của người dùng vào bộ nhớ của nó.
Tương tự, keylogger phần cứng khơng dây sẽ biên dịch và lưu trữ các bit keystoke
được mã hóa được gửi từ bàn phím khơng dây đến máy tính của nó.

2.3 Tính năng
Một số tính năng phổ biến của keylogger phần cứng:
 Ghi lại tất cả các lần gõ phím - thậm chí cả mật khẩu như facebook,
google,…
 Dung lượng bộ nhớ lớn, được tổ chức dưới dạng hệ thống tệp FAT flash


16

 Menu văn bản nâng cao để xem dữ liệu đã ghi, bao gồm truy vết (Net
Detective), tìm kiếm theo cụm từ (Phrase Search), lọc (Key Filtering), bộ
đếm (Unplug Counter).
 Tải nội dung bộ nhớ siêu nhanh với USB Download Accelerator
Một keylogger phần cứng phổ biến là Keycobra, nó cung cấp nhiều hơn dung
lượng lưu trữ lớn. Phiên bản tiêu chuẩn có dung lượng bộ nhớ tạm 4MB, 2.000.000 lần
nhấn phím (hết 1.000 trang văn bản) và phiên bản Venom, với 2 tỷ lần nhấn phím (hơn
1 triệu trang văn bản). Nó tương thích với cả ba hệ điều hành windows, linux và Mac
OS.
Một keylogger phần cứng phổ biến khác là KeyGrabber USB, với các tính năng
nâng cao hơn:






Nội dung bộ nhớ cực nhanh truy xuất qua cổng USB
Bộ nhớ flash dung lượng cao, có thể truy cập như một ổ đĩa di động USB
Tương thích với tất cả các bàn phím USB (bao gồm cả Linux và Mac)
Chế độ Mac đảm bảo khả năng tương thích hồn tồn với tất cả các bàn

phím của Apple (chỉ dành cho phiên bản MCP)
 Khơng cần phần mềm hoặc trình điều khiển, độc lập với hệ điều hành
 Bộ nhớ được bảo vệ với mã hóa 128-bit mạnh mẽ
 Hỗ trợ bố cục bàn phím nhanh chóng và dễ dàng
 Siêu nhỏ gọn và kín đáo


17

PHẦN 3 – KEYLOGGER PHẦN MỀM
3.1 Cấu trúc
Thông thường một chương trình keylogger sẽ bao gồm ba thành phần chính :
1. Chương trình điều khiển (Control Program): dùng để theo điều phối
hoạt động, tinh chỉnh các thiết lập, xem các tập tin nhật ký cho
Keylogger. Phần này là phần được giấu kỹ nhất của keylogger, thơng
thường chỉ có thể gọi ra bằng một tổ hợp phím tắt đặc biệt.
2. Tập tin hook hoặc là một chương trình monitor: dùng để ghi nhận lại
các thao tác bàn phím, chụp ảnh màn hình,…
3. Tập tin nhật ký (log): nơi lưu lại tồn bộ những gì hook ghi nhận
được.

Hình 18: Cấu trúc Keylogger phần mềm



18

(Nguồn: researchgate.net/figure/The-prototypes-architecture-divided-in-componentsand-domains_fig1_221427604)

Ngồi ra, tùy theo loại keylogger mà có thể có thêm phần chương trình bảo vệ
(guard, protect), chương trình thơng báo (report),…
Keylogger phần mềm có thể được thiết kế để chặn tất cả các đầu vào đến từ bàn
phím. Điều này có thể được thực hiện bằng một số phương pháp khác nhau:
1. Trình điều khiển tạo điều kiện tương tác giữa bàn phím và máy tính có
thể được thay thế bằng trình điều khiển ghi lại mỗi lần gõ phím.
2. Trình điều khiển bộ lọc có thể được định vị trong ngăn xếp bàn phím
(keyboard stack).
3. Các hàm hạt nhân (Kernel functions) sử dụng các điểm tương đồng giữa
dữ liệu để hỗ trợ học máy, có thể bị chặn bởi keylogger phần mềm và sau
đó được sử dụng để lấy các tổ hợp phím cần thiết và thực hiện các chức
năng xác thực.
4. Các chức năng của thư viện liên kết động (DLL), lưu trữ mã được sử
dụng bởi nhiều chương trình, có thể bị chặn.
Như một loại cơ chế bảo vệ, một số keylogger, được gọi là rootkit, có khả năng
tự ngụy trang để chống lại sự phát hiện thủ cơng hoặc các chương trình chống vi-rút.
Chúng có thể ẩn ở chế độ người dùng hoặc chế độ hạt nhân.

3.2 Hoạt động
Keylogger thu thập thông tin và gửi lại cho bên thứ ba - cho dù đó là tội phạm,
pháp luật, hay tổ chức công nghệ thông tin. Tom Bain - phó chủ tịch chiến lược bảo
mật tại Morphisec giải thích: “Keylogger là các chương trình phần mềm tận dụng các



19

thuật tốn theo dõi các thao tác trên bàn phím thông qua nhận dạng mẫu và các kỹ
thuật khác”.
Để cài đặt keylogger trên hệ thống máy tính, người ta cần có các quyền. Trong
hệ điều hành Microsoft Windows, cần có quyền quản trị viên hoặc quyền root trong
môi trường Linux Ubuntu. Điều này là do một keylogger cần tương tác với phần cứng
với hệ thống máy tính, như đầu vào/ra nơi mà bàn phím có kết nối với máy tính.

Hình 19: Đánh chặn dữ liệu I/O của trình điều khiển thiết bị phân lớp
(Nguồn: citeseerx.ist.psu.edu)

Keylogger phần mềm hoạt động trên hệ điều hành của máy tính và truy cập vào
phần cứng, móc (hook) bàn phím bằng các chức năng do hệ điều hành cung cấp hoặc
sử dụng phần mềm truy cập từ xa để truyền dữ liệu đã ghi từ máy tính mục tiêu đến
một vị trí từ xa.


×