1
BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP THỰC PHẨM TP.HCM
KHOA CÔNG NGHỆ THÔNG TIN
---------------------------
ĐỒ ÁN MÔN HỌC
ĐỀ TÀI: NGHIÊN CỨU VÀ PHÁT TRIỂN THỬ NGHIỆM KEYLOGGER
Giảng viên hướng dẫn : ThS. Trần Đắc Tốt
Sinh viên thực hiện
: Nguyễn Đức Hùng – 2033181026
Hoàng Hữu Ngọc Điệp - 2033180108
Lớp
: 09DHBM1
TP,Hồ Chí Minh, năm 2021
2
LỜI CAM ĐOAN
Em xin cam đoan đồ án trên là cơng trình nghiên cứu của riêng bản thân chúng em
dưới sự hướng dẫn của ThS.Trần Đắc Tốt… Những nhận định được nêu ra trong đồ
án cũng là kết quả từ sự nghiên cứu trực tiếp, nghiêm túc, độc lập của bản thân tác
giả dựa và các cơ sở tìm kiếm, hiểu biết và nghiên cứu tài liệu khoa học hay bản
dịch khác đã được công bố. Đồ án vẫn sẽ giúp đảm bảo được tính khách quan, trung
thực và khoa học
Tp. Hồ Chí Minh, ngày 6 tháng 6 năm 2021
Sinh viên thực hiện
Nguyễn Đức Hùng
Sinh viên thực hiện
Hoàng Hữu Ngọc Điệp
3
LỜI CẢM ƠN
Trên thực tế khơng có sự thành cơng nào mà không gắn liền với sự hỗ trợ, giúp đỡ dù
ít hay nhiều, dù trực tiếp hay gián tiếp của người khác. Trong suốt thời gian từ khi
bắt đầu làm đồ án môn học, chúng em đã nhận rất nhiều sự quan tâm, giúp đỡ của
q Thầy/Cơ, gia đình và bạn bè. Với lòng biết ơn sâu sắc nhất, chúng em xin cảm
ơn đến quý Thầy/Cô đã dành hết tâm huyết cùng với tri thức của mình đề truyền đạt
vốn kiến thức quý báu cho chúng em trong suốt thời gian làm đồ án mô học. Và đặc
biệt em xin chân thành càm ơn thầy Trần Đắc Tốt đã tận tâm hướng dẫn chúng em
qua các buổi nói chuyện, thảo luận, khảo sát về đề tài. Nếu khơng có lời hướng dẫn,
dạy bảo của thầy thì chúng em nghĩ bài báo cáo của chúng em rất khó có thể hoàn
thiện được. Một lần nữa, em xin chân thành cảm ơn thầy.
Do bài báo cáo được thực hiện trong khoảng thời gian gần 8 tuần. Lần đầu tiên bước
vào một đề tài. Khơng tránh khỏi những thiếu sót là điều chắc chắn, em rất mong
nhận được những ý kiến đóng góp q báu của q Thầy/Cơ để kiến thức của em
trong lĩnh vực này được hồn thiện hơn.
Tp. Hồ Chí Minh, ngày 6 tháng 6 năm 2021
Sinh viên thực hiện
Nguyễn Đức Hùng
Sinh viên thực hiện
Hoàng Hữu Ngọc Điệp
4
TÓM TẮT
Theo định nghĩa cơ bản nhất, keylogger là một chức năng records hoặc keystrokes
trên máy tính. Ở cấp độ cơ bản này, keylogger dường như vô hại. Nhưng khi nó
nằm trong tay của một hacker hoặc một tội phạm mạng, keylogger trở thành một
cơng cụ mạnh nhằm mục đích lấy cắp thơng tin của bạn.
Việc tìm hiểu chương trình này sẽ giúp chúng ta có một kiến thức cơ bản về
Keylogger, phần mềm này được chia làm bao nhiêu loại. Cách hoạt động và bản chất
của Keylogger như thế nào. Cách chúng ta phát hiện và phòng chống Keylogger ra
sao. Việc tìm hiểu những kiến thức cơ bản này là rất cần thiết cho chúng ta có thể xây
dựng chương trình Keylogger. Và cũng chính là yếu tố sẽ giúp chúng ta phát triển
chương trình Anti-Keylogger say này.
5
MỤC LỤC
CHƯƠNG I: TÌM HIỂU KEYLLOGER VÀ CÁCH PHỊNG CHỐNG
KEYLOGGER ............................................................................................................9
1.1. Lịch sử của Keylogger ......................................................................................9
1.2. Khái niệm về Keylogger .................................................................................10
1.3 Phân loại các Keylogger ..................................................................................11
1. Keylogger dựa trên API .................................................................................11
2. Keylogger dựa trên việc thu thập biểu mẫu ...................................................12
3. Keylogger dựa trên nhân ................................................................................12
4. Keylogger phần cứng .....................................................................................12
5. Acoustic Keylogger ........................................................................................12
1.4 Cách hoạt động của Keylogger ........................................................................13
1.4.1 Thành phần của Keylogger........................................................................13
1.4.2 Cách thức cài đặt vào máy: .......................................................................13
1.4.3 Cách hoạt động ..........................................................................................14
1.5 Tại sao keylogger là mối đe dọa ......................................................................14
1.6 Cách tội phạm mạng sử dụng và lợi dụng keylogger ......................................15
1.7 Cách thức lan truyền của Keylogger ...............................................................17
1.8 Cách phòng tránh và phát hiện Keylogger ......................................................18
1.8.1 Phòng ngừa theo “được cài đặt” ................................................................18
1.8.2 Phòng ngừa theo “bị cài đặt” .....................................................................18
1.8.3 Che mắt keylogger.....................................................................................19
1.8.4 Cách phòng/tránh Keylogger.....................................................................20
CHƯƠNG II: CÁC KỸ THUẬT QUA MẶT KEYLOGGER .................................22
6
2.1. Antivirus là gì ? ..............................................................................................22
2.2. Các tính năng của Antivirus ...........................................................................22
2.3. Antivirus hoạt động như thế nào ? ..................................................................23
2.4. Các kỹ thuật qua mặt Antivirus ......................................................................24
CHƯƠNG III: CHƯƠNG TRÌNH KEYLOGGERS ................................................26
3.1 Bộ thư viện cần thiết ........................................................................................26
3.2 Key Logger C# .NET - API Methods & Hook keyboard ................................26
3.2.1 Các hàm API .............................................................................................26
3.2.2 Hook keyboard ..........................................................................................28
3.3 Key Logger C# .NET – Show Windows .........................................................32
3.4 Key Logger C# .NET – Capture ......................................................................33
3.5 Key Logger C# .NET –SendMail ....................................................................35
3.6 Key Logger C# .NET – Open with OS ............................................................38
3.7 Key Logger C# .NET – Timer .........................................................................39
CHƯƠNG IV: DEMO CHƯƠNG TRÌNH KEYLOGGER .....................................41
4.1 Giao diện trị chơi che giấu chương trình Keylogger ......................................41
4.2 Đóng gói chương trình caro với file keylogger (Caro Services) .....................42
4.3 Tiến hành cài file Game Caro ..........................................................................43
4.4 Khởi tạo file log ...............................................................................................46
4.5 Kiểm tra gmail để xem keylogger có gửi đến không.......................................47
7
Danh mục các từ viết tắt
Danh mục các bảng
Danh mục các biểu đồ, đồ thị, sơ đồ, hình ảnh
Tồn bộ nội dung Đồ án
Chương 1: Tìm hiểu Keylogger và cách phòng chống Keylogger
Chương 2: Các kỹ thuật qua mặt Anti-Virus
Chương 3: Chương trình Keylogger
Chương 4: Demo chương trình Keylogger
Tài liệu tham khảo:
Website:
[1]. D.Shankle (2020) LMG SECURITY BLOG [online], viewed 5 June 2021, from:
Common Antivirus Bypass Techniques | LMG Security
[2]. Kaspersky (2020) [online], viewed 5 June2021, from: How Hackers Combat and
Bypass Antivirus Systems | Kaspersky
[3]. Security List(2007) [online],viewed 5 June 2021, form: Keyloggers: How they
work and how to detect them (Part 1) | Securelist
Ebook:
[1]. Matthew Munns, TROJAN, Kindle Edition, 2017.
[2].Hassan Salmani, Trusted Digital Circuits. Hardware Trojan Vulnerabilities, Prevention and
Detection-Springer (2018).
[3]. Shamim Miah, Muslims, Schooling and Security_ Trojan Horse, Prevent and Racial PoliticsPalgrave Macmillan (2017).
8
LỜI MỞ ĐẦU
Keylogger là một trong những phần mềm gián điệp. Vì vậy trong đề tài này sẽ giúp
chúng ta có một cái nhìn tổng quan về Keylogger để biết được ưu nhược điểm của
phần mềm này, cách thức hoạt động, từ đó biết được cách phịng chống, phát hiện và
tránh Keylogger. Qua những hiểu biết cơ bản đó sẽ giúp chúng ta xây dựng, thử
nghiệm và phát triển Keylogger. Để hiểu rõ hơn chúng ta cùng đi vào chi tiết từng
phần sau đây.
9
CHƯƠNG I: TÌM HIỂU KEYLLOGER VÀ CÁCH PHỊNG
CHỐNG KEYLOGGER
1.1. Lịch sử của Keylogger
Lịch sử của việc sử dụng keylogger cho mục đích giám sát bắt nguồn từ những ngày
đầu của máy tính. Wikipedia nêu chi tiết việc sử dụng keylogger lặt vặt trong những
năm 1970 và đầu những năm 1980 cho nhiều mục đích khác nhau, bao gồm cả các
hoạt động bí mật của chính phủ.
Trong khi các hình thức keylogging khác nhau đã xuất hiện trong một thời gian khá
dài, sự bùng nổ trong việc tạo và sử dụng keylogger thương mại đã tăng lên mức đáng
kể vào giữa đến cuối những năm 1990 với đủ loại sản phẩm nhanh chóng được tung
ra thị trường trong thời gian đó. Kể từ đó, số lượng keylogger thương mại có sẵn để
mua đã bùng nổ lên hàng nghìn sản phẩm khác nhau với nhiều đối tượng mục tiêu
khác nhau và bằng nhiều ngôn ngữ.
10
Và mặc dù các keylogger trong lịch sử đã nhắm mục tiêu đến người dùng gia đình để
lừa đảo, nhưng keylogging được nhà nước bảo trợ trong ngành và hiện đại là một vấn
đề nghiêm trọng, trong đó một cuộc thám hiểm lừa đảo làm tổn hại đến một nhân viên
cấp thấp hoặc nhân viên chức năng, và sau đó tìm cách tự vươn lên trong tổ chức .
1.2. Khái niệm về Keylogger
Bạn có biết rằng bàn phím của bạn có thể cho phép tội phạm mạng nghe trộm? Hoặc
chúng có thể theo dõi bạn trên camera hệ thống ? Hay nghe qua micrô của điện thoại
thông minh? Keylogger hay “ Trình ghi chép, theo dõi thao tác bàn phím ” được
dịch và hiểu ra tiếng Việt là một chương trình máy tính được viết ra dùng để theo dõi,
ghi lại mọi dữ liệu của bàn phím khi được thao tác và lưu vào một tập tin (log) để cho
người cài đặt sử dụng. Do chức năng của nó mang tính vi phạm vào sự riêng tư của
người khác nên các chương trình Keylogger được xếp vào nhóm các phần mềm gián
điệp.
Mặc dù đối với suy nghĩ của người dùng, keylogger hoạt động trong bối cảnh phần
mềm độc hại, chúng không phải lúc nào cũng bất hợp pháp để cài đặt và sử dụng.
Keylogger là một công cụ phổ biến cho các tập đồn, mà các bộ phận cơng nghệ
11
thông tin sử dụng để khắc phục sự cố kỹ thuật trên hệ thống và mạng của họ — hoặc
để theo dõi nhân viên một cách lén lút. Điều tương tự cũng xảy ra đối với các bậc cha
mẹ, những người muốn giám sát các hoạt động của con mình. Vợ / chồng đáng ngờ
là một thị trường khác cho keylogger.
Trong tất cả các trường hợp như vậy, nếu tổ chức hoặc cá nhân tải xuống và cài đặt
keylogger thực sự sở hữu thiết bị thì điều đó hồn tồn hợp pháp. Và có hàng ngàn
keylogger thương mại trên Internet, chúng tự quảng cáo cho mục đích sử dụng như
vậy.
Sau này, Keylogger nó được phát triển cao hơn, khơng những ghi lại mọi thao tác
trên bàn phím, mà nó cịn ghi lại tất cả các hình ảnh hiện thị trên màn hình. Bằng cách
chụp (screen-shot), quay video (screen-capture), ngồi ra cũng có thể ghi lại q trình
con trỏ chuột trên máy tính di chuyển.
Tuy nhiên, mối quan tâm về keylogger là khi các tác nhân độc hại đứng đằng sau
chúng. Và họ chắc chắn không sở hữu thiết bị mà họ lây nhiễm. Bạn không biết họ
đã xâm phạm máy tính của bạn; và tùy thuộc vào loại keylogger, nó có thể lấy cắp
bất kỳ mật khẩu nào bạn đã nhập, chụp ảnh màn hình định kỳ, ghi lại các trang web
bạn xem, truy cập vào các email đã gửi của bạn và bất kỳ phiên nhắn tin tức thời nào,
cũng như thơng tin tài chính nhạy cảm (chẳng hạn như số thẻ tín dụng, mã PIN và tài
khoản ngân hàng), rồi gửi tất cả dữ liệu đó qua mạng tới máy tính từ xa hoặc máy chủ
web. Ở đó, người vận hành chương trình ghi nhật ký có thể lấy tất cả, khơng nghi ngờ
gì khi gửi cho bên thứ ba vì mục đích tội phạm
1.3 Phân loại các Keylogger
Tùy thuộc vào phần nào của máy tính mà chúng được nhúng vào, tất cả các keylogger
có thể được phân loại là dựa trên phần mềm hoặc dựa trên phần cứng.
Năm loại keylogger phổ biến nhất bao gồm:
1.3.1 Keylogger dựa trên API
Keylogger dựa trên API cho đến nay là phổ biến nhất. Các phần mềm keylogging này
sử dụng API bàn phím (viết tắt của giao diện lập trình ứng dụng) để ghi lại các lần gõ
12
phím của bạn. Mỗi lần bạn nhấn một phím, một thông báo sẽ được gửi đến ứng dụng
bạn đang nhập để ký tự đã nhập sẽ xuất hiện trên màn hình. Các keylogger dựa trên
API chặn các thơng báo này và nắm bắt mỗi thông báo dưới dạng một sự kiện riêng
biệt. Các bản ghi sau đó được lưu trong một tập tin trên ổ cứng hệ thống để hacker dễ
dàng truy xuất.
1.3.2. Keylogger dựa trên việc thu thập biểu mẫu
Thay vì ghi nhật ký từng lần gõ phím riêng biệt, các keylogger dựa trên biểu mẫu ghi
lại dữ liệu từ các biểu mẫu web của bạn khi gửi. Tương tự như các keylogger dựa trên
API, chúng chặn thông báo gửi để ghi lại tất cả thông tin bạn đã nhập vào biểu mẫu.
Thơng tin này có thể bao gồm tên đầy đủ, địa chỉ, số điện thoại email, thông tin đăng
nhập hoặc thơng tin thẻ tín dụng của bạn. Tồn bộ q trình diễn ra ngay sau khi bạn
nhấn nút “Gửi” hoặc “Nhập” và được hoàn tất trước khi dữ liệu biểu mẫu của bạn
được gửi đến trang web.
1.3.3. Keylogger dựa trên nhân
Như tên cho thấy, keylogger dựa trên hạt nhân ức chế lõi của hệ điều hành máy tính
của bạn (cịn được gọi là hạt nhân), khiến chúng rất khó phát hiện và xóa. Chúng ẩn
bên trong hệ điều hành của bạn và ghi lại các lần gõ phím của bạn khi chúng đi qua
hạt nhân. Bởi vì chúng khó viết hơn, các keylogger này hiếm hơn các loại dựa trên
phần mềm khác. Chúng được phân phối qua rootkit, gói phần mềm độc hại có thể
vượt qua nhân máy tính của bạn và nhắm mục tiêu vào phần cứng.
1.3.4. Keylogger phần cứng
Keylogger phần cứng là thiết bị sử dụng mạch điện bên trong bàn phím để ghi lại các
lần gõ phím. Chúng thường được tích hợp sẵn trong bàn phím, mặc dù chúng cũng
có sẵn dưới dạng đầu nối USB (đối với máy tính cá nhân) hoặc thẻ Mini-PCI (đối với
máy tính xách tay). Thay vì dựa vào phần mềm để lưu trữ các tổ hợp phím đã ghi, tất
cả các bản ghi được lưu trong bộ nhớ trong của thiết bị. Tuy nhiên, điều này cũng có
nghĩa là tin tặc phải có quyền truy cập vật lý vào bàn phím để lấy thơng tin này.
1.3.5. Acoustic Keylogger
13
Các phím bấm acoustic rất phức tạp và do đó hiếm khi được sử dụng. Họ sử dụng các
nguyên tắc của phân tích mật mã âm thanh để ghi lại các lần gõ phím của bạn ở cấp
độ phần cứng. Bất kể bạn đang sử dụng bàn phím nào, mỗi phím trên bàn phím đều
có một chữ ký âm thanh duy nhất. Sự khác biệt là rất nhỏ, nhưng các chữ ký riêng lẻ
có thể được xác định bằng cách phân tích một mẫu thơng qua nhiều phương pháp
thống kê. Tuy nhiên, điều này không chỉ tốn thời gian mà kết quả có thể khơng chính
xác như các loại keylogger khác.
1.4 Cách hoạt động của Keylogger
1.4.1 Thành phần của Keylogger
Thông thường, đối với một chương trình keylogger gồm có ba phần chính:
Chương trình điều khiển: dùng để điều phối hoạt động, điều chỉnh các thiết lập,
xem các tập nhật kí cho Keylogger; đối với phần này vì thường được giấu rất kỹ, nên
chỉ có thể gọi ra bằng tổ hợp phím tắt đặc biệt.
Tập tin hook, hoặc một chương trình dùng để ghi nhận lại các thao tác bàn phím,
capture screen.
Tập tin nhật ký (log), là nơi chứa đựng và ghi lại tồn bộ những gì hook gi nhận
được.
Tùy theo loại keylogger cũng có thể thêm các phần chương trình bảo vệ (Guard &
Protect), chương trình thơng báo (Report)…
1.4.2 Cách thức cài đặt vào máy:
Thông thường, Keylogger thuộc loại từ 1 => 3 khi cài vào máy cũng giống như các
chương trình bình thường khác, phải qua từng bước cài đặt. Nó sẽ cài đặt các tập tin
quan trọng dùng để hoạt động vào một thư mục đặc biệt (khá phức tạp), tiếp theo nó
đăng ký cách thức hoạt động rồi đợi người dùng thiết lập thêm những ứng dụng cá
nhân. Sau khi cài xong nó sẽ hoạt động.
Đối với loại số 4: có thể trực tiếp vào thẳng máy của người dùng không thông qua
các bước cài đặt, sử dụng tính năng Autorun để khởi động cùng hệ thống. Ngoài ra,
14
có một số loại bám vào các chương trình khác, khi người dùng sử dụng các chương
trình này thì Keylogger sẽ hoạt động.
1.4.3 Cách hoạt động
Trong hệ thống của hệ điều hành (Windows, Linux, MacOS,…), khi bấm 1 phím bất
kì, bàn phím sẽ chuyển nó thành tín hiệu vào CPU. Sau đó, CPU sẽ chuyển nó tới hệ
điều hành để dịch thành chữ hoặc số cho chính nó hoặc các chương trình khác đang
sử dụng.
Nếu trong hệ thống có Keylogger, khơng chỉ có hệ điều hành theo dõi mà cịn có cả
hook file, monior program của Keylogger cũng theo dõi. Nó sẽ ghi nhận và dịch lại
các tín hiệu này rồi ghi vào tập nhật kí. Ngồi ra nó cịn có thể ghi lại hình ảnh trên
màn hình và thao tác chuột.
1.5 Tại sao keylogger là mối đe dọa
Không giống như các loại chương trình độc hại khác, keylogger khơng có mối đe dọa
nào đối với bản thân hệ thống. Tuy nhiên, chúng có thể gây ra mối đe dọa nghiêm
trọng cho người dùng, vì chúng có thể được sử dụng để chặn mật khẩu và thơng tin
bí mật khác được nhập qua bàn phím. Do đó, tội phạm mạng có thể lấy mã PIN và số
tài khoản của hệ thống thanh toán điện tử, mật khẩu của tài khoản chơi game trực
tuyến, địa chỉ email, tên người dùng, mật khẩu email, v.v.
Sau khi tội phạm mạng nắm được dữ liệu bí mật của người dùng, chúng có thể dễ
dàng chuyển tiền từ tài khoản của người dùng hoặc truy cập vào tài khoản trò chơi
trực tuyến của người dùng. Thật khơng may, việc truy cập vào dữ liệu bí mật đơi khi
có thể gây ra hậu quả nghiêm trọng hơn nhiều so với việc cá nhân mất vài đô la.
Keylogger có thể được sử dụng làm cơng cụ trong cả hoạt động gián điệp cơng nghiệp
và chính trị, truy cập dữ liệu có thể bao gồm thơng tin thương mại độc quyền và tài
liệu chính phủ đã phân loại có thể làm tổn hại đến an ninh của các tổ chức thương
mại và nhà nước (ví dụ: bằng cách đánh cắp khóa mã hóa cá nhân).
Keylogger, lừa đảo và kỹ thuật xã hội (xem ‘Máy tính, mạng và trộm cắp’) hiện là
những phương pháp chính đang được sử dụng trong gian lận mạng. Người dùng nhận
15
thức được các vấn đề bảo mật có thể dễ dàng tự bảo vệ mình trước lừa đảo bằng cách
bỏ qua các email lừa đảo và không nhập bất kỳ thông tin cá nhân nào trên các trang
web đáng ngờ. Tuy nhiên, việc chống lại keylogger là khó hơn đối với người dùng;
phương pháp khả thi duy nhất là sử dụng một giải pháp bảo mật thích hợp, vì người
dùng thường không thể biết rằng keylogger đã được cài đặt trên máy của họ.
Theo Cristine Hoepers, người quản lý Nhóm Ứng cứu Khẩn cấp Máy tính của Brazil,
hoạt động dưới sự bảo trợ của Ủy ban Chỉ đạo Internet của quốc gia, keylogger đã
đẩy lừa đảo khỏi vị trí đầu tiên như một phương pháp được sử dụng nhiều nhất trong
việc đánh cắp thơng tin bí mật. Hơn nữa, keylogger ngày càng trở nên tinh vi hơn chúng theo dõi các trang web mà người dùng truy cập và chỉ ghi lại các lần nhấn phím
được nhập trên các trang web mà tội phạm mạng quan tâm đặc biệt.
Trong những năm gần đây, chúng tôi đã thấy sự gia tăng đáng kể về số lượng các loại
chương trình độc hại khác nhau có chức năng keylogging. Khơng người dùng Internet
nào miễn nhiễm với tội phạm mạng, bất kể anh ta / anh ta sống ở đâu trên thế giới và
bất kể anh ta / anh ta làm việc cho tổ chức nào.
1.6 Cách tội phạm mạng sử dụng và lợi dụng keylogger
Một trong những sự cố keylog được công bố rộng rãi gần đây là vụ trộm hơn 1 triệu
đô la từ tài khoản khách hàng tại ngân hàng Nordea lớn của vùng Scandinavia. Vào
tháng 8 năm 2006, các khách hàng của Nordea bắt đầu nhận được email, được cho là
từ ngân hàng, gợi ý rằng họ cài đặt một sản phẩm chống thư rác, được cho là đính
kèm với tin nhắn. Khi người dùng mở tệp và tải xuống máy tính của mình, máy sẽ bị
nhiễm một loại Trojan nổi tiếng có tên là Haxdoor. Điều này sẽ được kích hoạt khi
nạn nhân đăng ký tại dịch vụ trực tuyến của Nordea và Trojan sẽ hiển thị thông báo
lỗi kèm theo yêu cầu nhập lại thông tin đăng ký. Keylogger được tích hợp trong
Trojan sẽ ghi lại dữ liệu do khách hàng của ngân hàng nhập và sau đó gửi dữ liệu này
đến máy chủ của bọn tội phạm mạng. Đây là cách bọn tội phạm mạng có thể truy cập
vào tài khoản của khách hàng và chuyển tiền từ họ. Theo tác giả của Haxdoor, Trojan
16
cũng đã được sử dụng trong các cuộc tấn công chống lại các ngân hàng Úc và nhiều
ngân hàng khác.
Vào ngày 24 tháng 1 năm 2004, loài sâu Mydoom khét tiếng đã gây ra một trận dịch
lớn. MyDoom đã phá vỡ kỷ lục do Sobig thiết lập trước đó, gây ra dịch bệnh lớn nhất
trong lịch sử Internet cho đến nay. Sâu này đã sử dụng các phương pháp kỹ thuật xã
hội và tổ chức một cuộc tấn công DoS vào www.sco.com; Hậu quả là trang web
không thể truy cập được hoặc không ổn định trong vài tháng. Sâu này đã để lại một
Trojan trên các máy tính bị nhiễm, sau đó được sử dụng để lây nhiễm cho các máy
nạn nhân bằng các sửa đổi mới của sâu. Việc MyDoom có chức năng keylogging để
thu thập số thẻ tín dụng đã không được công bố rộng rãi trên các phương tiện truyền
thông (*).
Đầu năm 2005, cảnh sát London đã ngăn chặn một nỗ lực nghiêm trọng nhằm đánh
cắp dữ liệu ngân hàng. Sau khi tấn công hệ thống ngân hàng, bọn tội phạm mạng đã
lên kế hoạch đánh cắp 423 triệu đơ la từ các văn phịng của Sumitomo Mitsui có trụ
sở tại London. Thành phần chính của Trojan được sử dụng, được tạo ra bởi Yeron
Bolondi, 32 tuổi, là một keylogger cho phép bọn tội phạm theo dõi tất cả các lần gõ
phím đã nhập khi nạn nhân sử dụng giao diện khách hàng của ngân hàng (*).
Vào tháng 5 năm 2005, một cặp vợ chồng đã bị bắt tại London, người bị buộc tội
phát triển các chương trình độc hại được một số cơng ty Israel sử dụng trong hoạt
động gián điệp công nghiệp. Quy mô của vụ gián điệp đã gây sốc: các cơng ty bị
chính quyền Israel nêu tên trong các báo cáo điều tra bao gồm các nhà cung cấp dịch
vụ di động như Cellcom và Pelephone, và nhà cung cấp truyền hình vệ tinh CÓ. Theo
các báo cáo, Trojan đã được sử dụng để truy cập thông tin liên quan đến cơ quan PR
Rani Rahav, có khách hàng bao gồm Partner Communications (nhà cung cấp dịch vụ
di động hàng đầu thứ hai của Israel) và tập đồn truyền hình cáp HOT. Cơng ty Mayer,
công ty nhập khẩu ô tô Volvo và Honda cho Israel, bị nghi ngờ có hành vi gián điệp
cơng nghiệp chống lại Champion Motors, công ty nhập khẩu ô tô Audi và
Volkswagen cho nước này. Ruth Brier-Haephrati, kẻ đã bán Trojan keylogging mà
17
chồng cô ấy là Michael Haephrati tạo ra, đã bị kết án 4 năm tù và Michael nhận bản
án 2 năm (*).
Vào tháng 2 năm 2006, cảnh sát Brazil đã bắt giữ 55 người liên quan đến việc phát
tán các chương trình độc hại được sử dụng để đánh cắp thông tin người dùng và mật
khẩu vào hệ thống ngân hàng. Keylogger được kích hoạt khi người dùng truy cập
trang web ngân hàng của họ, bí mật theo dõi và sau đó gửi tất cả dữ liệu được nhập
trên các trang này cho bọn tội phạm mạng. Tổng số tiền bị đánh cắp từ 200 tài khoản
khách hàng tại sáu trong số các ngân hàng của quốc gia này lên tới 4,7 triệu đơ la.
Cùng lúc đó, một nhóm tội phạm tương tự gồm những người Nga và Ukraine trẻ (2030 tuổi) đã bị bắt giữ. Cuối năm 2004, nhóm này bắt đầu gửi cho các khách hàng
ngân hàng ở Pháp và một số quốc gia khác những email có chứa chương trình độc
hại - cụ thể là keylogger. Hơn nữa, các chương trình gián điệp này được đặt trên các
trang web được tạo ra đặc biệt; người dùng đã bị thu hút vào các trang web này bằng
các phương pháp kỹ thuật xã hội cổ điển. Tương tự như trong các trường hợp được
mơ tả ở trên, chương trình được kích hoạt khi người dùng truy cập trang web ngân
hàng của họ và keylogger thu thập tất cả thông tin mà người dùng nhập và gửi cho
bọn tội phạm mạng. Trong mười một tháng, hơn một triệu đô la đã bị đánh cắp.
Có nhiều ví dụ khác về tội phạm mạng sử dụng keylogger - hầu hết tội phạm mạng
tài chính cam kết sử dụng keylogger, vì các chương trình này là cơng cụ tồn diện và
đáng tin cậy nhất để theo dõi thông tin điện tử (*).
1.7 Cách thức lan truyền của Keylogger
Keylogger lây lan theo cùng một cách mà các chương trình độc hại khác phát tán.
Loại trừ các trường hợp keylogger được mua và cài đặt bởi một người phối ngẫu hoặc
đối tác ghen tuông và việc sử dụng keylogger bởi các dịch vụ bảo mật, keylogger chủ
yếu được phát tán bằng các phương pháp sau:
Một keylogger có thể được cài đặt khi người dùng mở một tệp đính kèm trong
email;
18
Một keylogger có thể được cài đặt khi một tệp được khởi chạy từ một thư mục
truy cập mở trên mạng P2P;
Keylogger có thể được cài đặt thơng qua tập lệnh trang web khai thác lỗ hổng
trình duyệt. Chương trình sẽ tự động được khởi chạy khi người dùng truy cập
vào một trang bị nhiễm;
Keylogger có thể được cài đặt bởi một chương trình độc hại khác đã có trên
máy nạn nhân, nếu chương trình đó có khả năng tải xuống và cài đặt phần mềm
độc hại khác vào hệ thống.
1.8 Cách phòng tránh và phát hiện Keylogger
Keylogger thường được cài vào máy tính qua 2 con đường: được cài đặt và bị cài đặt
1.8.1 Phòng ngừa theo “được cài đặt”
Phương pháp này chỉ có tác dụng với người sở hữu máy tính (root hoặc administrator).
Cách tốt nhất là không nên cho ai mượn máy, xài chung máy. Bảo mật máy bằng cách
dùng cách chương trình bảo vệ, đặt mật khẩu. Thiết lập quyền người dùng chung thấp
nhất (guest cho Windows và user cho Linux) để kiểm sốt các chương trình họ sử
dụng và cài đặt.
1.8.2 Phịng ngừa theo “bị cài đặt”
Bị cài đặt là trường hợp khơng có người nào cài trực tiếp Keylogger vào máy tính,
mà do các phần mềm Malware (trojan, virus,…) cài đặt vào máy nạn nhân mà không
hề hay biết. Các biện pháp phịng ngừa:
Khơng mở các tập tin khơng rõ nguồn gốc, các tập tin lạ (chú ý các tập tin có
đi *.exe, *.com, *.bat, *.gif …). Nên kiểm tra (scan) bằng cả hai chương
trình anti-virus và anti-spyware khi tải tập tin về, vì nhiều chương trình antivirus chỉ tìm thấy virus, không thể nhận biết spyware.
Không vào các web lạ, web người lớn, vì có thể các trang web này ẩn chứa
các loại virus, worm hoặc các mã độc khác có thể âm thầm cài vào máy.
Khơng click vào đường link lạ từ một ai đó gửi đến.
Hạn chế sử dụng các phần mềm, chương trình crack.
19
Thường xuyên cật nhật các vá bảo mật của hệ điều hành.
Không download các nguồn không tin cậy. Nên kiểm tra chữ ký điện tử, để
đảm bảo chương trình khơng bị sửa đổi.
1.8.3 Che mắt keylogger
Keylogger hoạt động với nguyên tắc theo dõi bàn phím (monitor keyboard), rất ít khả
năng theo dõi thao tác chuột (dù có theo dõi thì cũng khơng biết chính xác). Vì vậy
dù trong hệ thống có keylogger (trừ các keylogger có khả năng quay phim) thì có thể
vượt qua bằng những cách này:
Sử dụng On-Screen Keyboard (bàn phím trên màn hình; vào Start/Run/osk để
bật) dùng để nhập các dữ liệu nhạy cảm (mật khẩu, tài khoản ngân hàng) bằng
cách click chuột. Đây là phương pháp nhập dữ liệu nằm ngoài vùng theo dõi
của các tập tin hook (vì khơng qua bàn phím) nên Keylogger sẽ không thể ghi
nhận được những thông tin.
Tuy cách này dễ dùng nhưng người khác có thể thấy được thơng tin nhập vào
(tiếng lóng hay được dùng là đá pass), chỉ sử dụng khi ở một mình.
Sử dụng Copy & Paste (chép và dán). Tìm một văn bản hoặc một từ nào đó
có các từ nằm trong đoạn thơng tin cần giấu.
Ví dụ: mật khẩu là password, thì chúng ta hãy tìm một đoạn văn hoặc từ đơn
có các từ p,a,s,s,w,o,r,d (như là:remote desktop windows) copy từng chữ rồi
dán ghép nó thành chữ password và gửi đi.
Cách này tuy dễ dùng nhưng khá rắc rối, mất thời gian và kém hiệu quả đối
với Keylogger có chức năng theo dõi clipboard.
Sử dụng Type & Click (bấm và nhấn), bản thân Keylogger thông thường
không thể theo dõi các nhịp bấm chuột.
Ví dụ: nếu đánh một đoạn thơng tin là password, đầu tiên đánh một số từ có
trong nó như: pod rồi dùng chuột (lưu ý không dùng bàn phím), chèn ngang
vào giữa o và d là chữ “r”, tiếp theo đánh hai chữ “sw” vào trước chữ o và
cuối cùng thêm chữ “as” vào giữa chữ p và sw. Vậy là dịng thơng tin đã nhập
20
vào là password, nhưng trong tập tin log của Keylogger ghi lại được là
podrswas.
Cách này cũng khá hay và hiệu quả, nhưng nhược điểm là không phù hợp với
những đoạn thơng tin dài, vì nó dễ gây qn và nhầm lẫn.
1.8.4 Cách phịng/tránh Keylogger
1.8.4.1 Tránh Keylogger
Khi nghi ngờ máy có Keylogger, có thể sử dụng chương trình Task Manager (nhấn
tổ hợp phím Ctrl+Alt+Del) để xem xét các tiến trình đang chạy. Nếu thấy Process
nào lạ hoặc chưa thấy bao giờ thì tắt (end, kill) nó đi. Cách này có thể làm treo cả hệ
thống nếu không hiểu biết các tập tin hệ điều hành, chỉ dùng cho những người có kinh
nghiệm.
1.8.4.2 Chống Keylogger
Phương pháp đơn giản
Để hiệu quả nhất là xóa tồn bộ các chương trình theo dõi bàn phím. Có một số
chương trình như Keylogger Killer của Totto qt các tiến trình, để tìm các chương
trình theo dõi nhiều ứng dụng cùng một lúc (keylogger dùng cách này thông thường
là một tập tin *.dll) rồi khuyến nghị bạn nên tắt đi. Tuy nhiên, nếu sử dụng chương
trình tốt ( Unikey, Vietkey) dùng cách này có thể gây xóa nhầm.
Phương pháp nâng cao
Sử dụng các phần mềm, chương trình chống spyware chuyên dụng. Các chương trình
này tự động quét, phân tích các chương trình/tiến trình đang chạy trên máy để từ đó
nhận biết được các chương trình Keylogger và tự động xóa. Có một số chương trình
có chức năng bảo vệ thời gian thực (Real-time protection) có chức năng kiểm tra và
chống spyware ngay khi chuẩn bị cài vào máy.
Nhược điểm của các chương trình này là muốn sử dụng tốt thì phải trả phí (ví dụ:
McAfee AntiSpyware của McAfee, Spyware Doctor của Petools,…).
21
Tuy nhiên vẫn có một số chương trình miễn phí và khá hiệu quả như Spybot S&D,
Spyblaster,… Tuy thế, nó cũng lâu lâu bắt hụt một vài chương trình đặc biệt, nếu
dùng kết hợp (2-3 chương trình) thì hiệu quả là gần như tuyệt đối. (lưu ý nếu chạy 23 chương trình khơng phù hợp thì sẽ gây xung đột phần mềm).
22
CHƯƠNG II: CÁC KỸ THUẬT QUA MẶT ANTI-VIRUS
Làm thế nào vượt qua được Antivirus ( Phần mềm chống virus) ? Đây là một kỹ thuật
rất phức tạp, để vượt qua được Antivirus thì chúng ta cần phải hiểu khái niệm, cơ
chế hoạt động của Antivirus. Việc tìm hiểu các kiến thức này sẽ giúp chúng ta biết rõ
hơn các kỹ thuật qua mặt Antivirus.
2.1. Antivirus là gì ?
Antivirus ( phần mềm diệt virus ) là một dạng phần mềm có khả năng bảo vệ máy
tính , phát hiện, cảnh báo và loại bỏ các virus do hacker tạo ra. Được viết bởi các kỹ
sư có chun mơn cao. Từ đó khắc phục một phần hậu quả do virus tấn công máy
tính.
2.2. Các tính năng của Antivirus
Quét nền: Antivirus quét tất cả các ứng dụng, tệp và chương trình được mở từ
backend ( lớp truy cập dữ liệu ). Quá trình này được gọi là quét trên truy cập. Đảm
bảo. bảo vệ thời gian thực, máy tính hồn tồn khỏi các mối đe dọa
23
Quét hệ thống hoàn chỉnh : Antivirus quét toàn bộ hệ thống. Điều này được thực
hiện để đảm bảo rằng máy tính khơng có nhiễm phần mềm độc hại ẩn đằng sau các
mã trên hệ thống.
Quét hệ thống tự thiết lập: người dùng cũng có thể quét tùy ý như: file, thư mục
hay ổ đĩa mà cần quét. Cách này hoạt động khá là nhanh.
2.3. Antivirus hoạt động như thế nào ?
Antivirus là phần mềm có cơng việc rất khó khăn; nó cần phải tìm hiểu xem một tệp
có độc hại hay không trong một khoảng thời gian cực kỳ ngắn để không ảnh hưởng
đến trải nghiệm người dùng.
Antivirus quét một hoặc nhiều tệp, chương trình, ứng dụng và so sánh với bộ mã cụ
thể có thơng tin được lưu trữ trong cơ sở dữ liệu của nó. Nếu nó tìm thấy mã giống
hệt hoặc tương tự như một phần mềm độc hại đã biết trong cơ sở dữ liệu, thì mã đó
sẽ được coi là phần mềm độc hại và bị cách ly hoặc bị xóa.
Có 2 phương pháp phổ biến được sử dụng bởi Antivirus:
24
+ Signature-based ( quét trên chữ ký số ): là kiểm tra hình thức của một tệp,
chương trình, từ đó tìm kiếm các chuỗi và chức năng khớp với một phần mềm độc
hại đã biết trong cơ sở dữ liệu.
+ Heuristic (quét dựa trên heuristic): tương tự như signature-based. Nó xác định
phần phần mềm độc hại bằng cách xem xét, kiểm tra mã và phân tích cấu trúc của
một tệp hoặc chương trình. Sử dụng các thuật tốn để xác định phần mềm có đang
làm gì đáng ngờ khơng.
2.4. Các kỹ thuật qua mặt Antivirus
Code packing and encryption ( Đóng gói mã và mã hóa ):
+ Đa số virus Worm và Trojan được đóng gói và mã hóa. Ngồi ra, các hacker cũng
thiết kế các tiện ích đặt biệt kèm với virus rồi đóng gói và mã hóa.
+ Mã hóa giúp loại bỏ hiệu quả khả năng chống vi-rút phát hiện phần mềm độc hại
chỉ thông qua chữ ký. Các hacker tạo phần mềm độc hại thường sử dụng 'trình mật
mã' để mã hóa. Crypters mã hóa một tập tin và đính kèm một 'Stub', một chương trình
sẽ giải mã nội dung và sau đó thực thi chúng.
+ Để phát hiện Worm và Trojan, thì Antivirus phải thêm các phương pháp giải nén
và giải mã mới, hoặc thêm signature ( chữ kí ) mới cho mỗi mẫu chương trình độc
hại.
Code mutation (đột biến mã)
25
+ Là phương pháp trộn mã của virus Trojan cộng với Spam (code plus ‘spam’
instructions ). Để tạo ra mã mới, Trojan vẫn giữ chức năng như ban đầu. “The
Warezov mail worm” đã từng sử dụng kỹ thuật này gây ra nhiều vấn đề nghiêm trọng.
Stealth techniques ( kỹ thuật tàng hình)
+ Thường được sử dụng bởi virus Trojan, có thể chặn và thay thế các chức năng hệ
thống, để làm cho tệp bị nhiễm trở nên vơ hình đối với hệ điều hành và các chương
trình Antivirus.
Blocking antivirus programs and antivirus database updates ( Chặn các
chương trình chống vi-rút và cập nhật cơ sở dữ liệu )
+ Virus Trojan và Worms sẽ tích cực tìm kiếm các chương trình chống vi-rút trong
danh sách các ứng dụng đang hoạt động trên máy tính nạn nhân. Phần mềm độc hại
sau đó sẽ cố gắng:
Chặn phần mềm chống vi-rút
Làm hỏng cơ sở dữ liệu chống vi-rút
Ngăn chặn hoạt động chính xác của các quy trình cập nhật của phần mềm
chống vi-rút
Obfuscation ( xáo trộn )
- Đơn giản là bóp méo phần mềm độc hại trong khi vẫn giữ được hình thức của nó.