Hiện nay, ai cũng đã từng một lần nghe tới khái niệm “keylogger”. Tuy có thể cảm nhận được đây là một thứ nguy hiểm, một công cụ lợi hại có thể giúp kẻ xấu đánh cắp thông tin mà được nhập từ bàn phím. Nhưng liệu mọi người đã có thể tự tin nói rằng mình hiểu về công cụ này? Keylogger có thể được coi là nguy hiểm hoặc không nguy hiểm đều do cách sử dụng của từng người. Vào tháng 2 năm 2005, Joe Lopez, một doanh nhân đến từ Florida đã đệ đơn kiện chống lại Bank of America sau khi hacker không rõ lấy trộm 90.000 từ tài khoản ngân hàng Mỹ của mình. Số tiền này đã được chuyển giao cho Latvia. Một số cuộc điều tra cho thấy rằng máy tính của ông Lopez đã bị nhiễm một chương trình độc hại, Backdoor.Coreflood, trong đó ghi lại tất cả tổ hợp phím và gửi thông tin này cho người sử dùng mã độc thông qua internet. Đây là cách hacker lấy về tên người dùng và mật khẩu của Joe Lopez, kể từ khi ông Lopez thường được sử dụng Internet để quản lý các tài khoản ngân hàng Mỹ của mình. Tuy nhiên tòa án đã không đứng về phía nguyên đơn, nói rằng ông Lopez đã bỏ qua đề phòng cơ bản khi quản lý tài khoản ngân hàng của mình trên Inrternet. Hầu hết các keylogger hiện đại được coi là phần mềm hoặc phần cứng hợp pháp được bán trên thị trường mở. Các nhà phát triển và các nhà cung cấp đưa ra một danh sách các trường hợp trong đó sẽ là hợp pháp và phù hợp để sử dụng keylogger.
Trang 1HỌC VIỆN KỸ THUẬT MẬT MÃ
KHOA AN TOÀN THÔNG TIN
*******************
BÁO CÁO BÀI TẬP LỚN
Giảng viên hướng dẫn : KS Vũ Thị Vân
Sinh viên thực hiện : Phạm Thị Nguyệt
Nguyễn Quyết Thắng Giang Văn Thắng Nguyễn Hữu Tú
Hà Nội – Năm 2016
1
TÌM HIỂU VỀ PHẦN MỀM PERFECT
KEYLOGGER
Trang 2NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN
Trang 3
LỜI CẢM ƠN
Trước tiên, chúng em xin gửi lời cám ơn chân thành tới tất cả cácthầy, các cô trường Học Viện Kỹ Thuật Mật Mã đã nhiệt tình giảng dạy vàtruyền đạt những kiến thức nền tảng quý báu để chúng em có thể hoàn thànhbáo cáo
Đặc biệt chúng em xin chân thành cảm ơn thầy giáo Nguyễn Tuấn Anh đãtận tình hướng dẫn, chỉ dạy chúng em trong suốt quá trình thực hiện báo cáo
Mặc dù có nhiều cố gắng trong quá trình học tập cũng như trong thời gianthực hiện báo cáo, nhưng với lượng kiến thức hạn hẹp nên báo cáo của chúng
em không thể tránh khỏi thiếu sót Chúng em rất mong nhận được sự góp ý quýbáu của tất cả các thầy, các cô cũng như tất cả các bạn để báo cáo của chúng emđược hoàn thiện hơn
Chúng em xin chân thành cảm ơn!
Trang 4
MỤC LỤC
Trang 6Reference
source not
found
Mã hóa và xác thực là hai biện pháp an ninh có thể
sử dụng để giữ an toàn dữ liệu trên một đám mây lưu trữ
Error:Referencesource notfoundErro
h 3.1.1
Sản phẩm Boxcyptor mã hóa dữ liệu trên đám mây Erro
r:Referencesource not
Trang 7Hìn
h 3.1.2 Các dịch vụ Boxcryptor hỗ trợ
Error:Referencesource notfound
Hìn
Error:Referencesource notfound
Hìn
Error:Referencesource notfound
Hìn
h 3.2.2 Cơ chế xác thực tài khoản trên Boxcryptor
Error:Referencesource notfound
Hìn
h 3.2.3 Thông tin được lưu trên Boxcryptor Server
Error:Referencesource notfound
Trang 83.2.1 Thuật ngữ quan trọng cụ thể cho phần mềm
Boxcryptor
Error:Referencesourcenotfound
3.2.2 Thông tin được lưu trên máy chủ
Error:Referencesourcenotfound
Trang 9Keylogger có thể được coi là nguy hiểm hoặc không nguy hiểm đều docách sử dụng của từng người
Vào tháng 2 năm 2005, Joe Lopez, một doanh nhân đến từ Florida đã đệđơn kiện chống lại Bank of America sau khi hacker không rõ lấy trộm 90.000 $
từ tài khoản ngân hàng Mỹ của mình Số tiền này đã được chuyển giao choLatvia Một số cuộc điều tra cho thấy rằng máy tính của ông Lopez đã bị nhiễmmột chương trình độc hại, Backdoor.Coreflood, trong đó ghi lại tất cả tổ hợpphím và gửi thông tin này cho người sử dùng mã độc thông qua internet Đây làcách hacker lấy về tên người dùng và mật khẩu của Joe Lopez, kể từ khi ôngLopez thường được sử dụng Internet để quản lý các tài khoản ngân hàng Mỹ củamình Tuy nhiên tòa án đã không đứng về phía nguyên đơn, nói rằng ông Lopez
đã bỏ qua đề phòng cơ bản khi quản lý tài khoản ngân hàng của mình trênInrternet
Hầu hết các keylogger hiện đại được coi là phần mềm hoặc phần cứnghợp pháp được bán trên thị trường mở Các nhà phát triển và các nhà cung cấpđưa ra một danh sách các trường hợp trong đó sẽ là hợp pháp và phù hợp để sửdụng keylogger, bao gồm :
• Kiểm soát của bố mẹ: sử dụng để theo dõi hành động của con
• Vợ chồng ghen tuông sử dụng để theo dõi các hành động của mộtnửa của họ
• Công ty bảo mật theo dõi việc sử dụng máy tính liên quan đến mụcđích ngoài công việc
• Các lý do khác
Trang 10Một sản phẩm tiêu biểu cho các phần mềm keylogger là sản phẩm PerfectKeylogger Phần mềm này có đầy đủ các chức năng của bất kỳ phần mềmkeylogger nào Hiện nay nó cũng là một phần mềm được sử dụng nhiều nhấttrên hệ thống hiện nay do dễ dàng cài đặt và sử dụng Perfect Keylogger còn cóthêm các tính năng mới là chụp ảnh màn hình theo thời gian cũng như chụp ảnhmỗi khi click chuột
Tìm hiểu về sản phẩm sẽ cho thấy được cách hoạt động cũng như cách càiđặt vào máy để có thể sử dụng cũng như tránh tình trạng bị theo dõi
Mục tiêu:
• Tìm hiểu về keylogger
• Tìm hiểu sản phẩm Perfect Keylogger
Yêu cầu:
• Tìm hiểu về các loại keylogger
• Tìm hiểu về cơ chế theo dõi, cách hoạt động, cách dùng để theo dõi ngườikhác và cách xử lý khi bị theo dõi của sản phẩm Perfect Keylogger
• Thời gian hoàn thành báo cáo: 13/10/2016
Phân công công việc:
• Nguyệt: Tìm hiểu về khái niệm và phân loại
• Q.Thắng: Tìm hiểu về cách hoạt động của keylogger cũng như PerfectKeylogger
• Tú: Tìm hiểu về cách cài đặt và sử dụng sản phẩm Perfect Keylogger
• V.Thắng : Tìm hiểu về cách phòng tránh keylogger và cách xử lý
Trang 11CHƯƠNG 1 KHÁI NIỆM VÀ PHÂN LOẠI KEYLOGGER
1.1 KHÁI NIỆM KEYLOGGER
Keylogger hay "Trình theo dõi thao tác bàn phím" theo cách dịch
ra tiếng Việt là một chương trình máy tính ban đầu được viết nhằm mục đíchtheo dõi và ghi lại mọi thao tác thực hiện trên bàn phím vào một tập tin nhật ký
(log) để cho người cài đặt nó sử dụng Vì chức năng mang tính vi phạm vào
riêng tư của người khác này nên các trình keylogger được xếp vào nhómcác phần mềm gián điệp
Về sau khi keylogger phát triển cao hơn nó không những ghi lại thao tácbàn phím mà còn ghi lại cả các hình ảnh hiển thị trênmàn hình(screen) bằngcách chụp (screen-shot) hoặc quay phim (screen-capture) thậm chí còn ghi nhậncách con trỏchuộttrênmáy tínhdi chuyển
1.2 Phân loại keylogger
Keylogger bao gồm hai loại, một loại là keylogger phần cứng và một loại
là phần mềm
+) Software Keyloggers :
Là phần mềm Keylogger được cài trên máy tính bởi hacker Phần mềmnày hoạt động ngầm trong tiến trình và không dễ bị phát hiện Những dữ liệusau khi bị theo dõi có thể được gửi trực tiếp đến mail của các hacker hoặc đượckết nối đến máy chủ giám sát
VD : Perfect Keylogger , Shadow Keylogger…
+ ) Hardware Keyloggers :
Là dạng Keyloggers phần cứng Có thể là usb , bàn phím , hoặc các thiết
bị phần cứng khác Có thể dễ dàng ghi lại thao tác bàn phím của bạn
Trang 12 Nhiễm vào máy không qua cài đặt hoặc cài đặt vào máy nhanh (Quickinstall)?
Có thuộc tính ẩn hoặc giấu trên trình quản lí tiến trình (Process manager)
và trình cài đặt và gỡ bỏ chương trình (Add or Remove Program)?
Theo dõi không thông báo hoặc máy tính (PC) bị nhiễm khó tự phát hiện?
Có thêm chức năng Capturescreen hoặc ghi lại thao tác chuột?
Khó tháo gỡ?
Có khả năng lây nhiễm, chống tắt (Kill process)?
Cứ mỗi câu trả lời "có", sẽ cho một điểm Điểm càng cao, Keyloggercàng vượt khỏi mục đích giám sát (Monitoring) đến với mục đích dothám (Spying) và tính nguy hiểm nó càng cao Keylogger có thể được phân loạitheo số điểm:
Trang 13thông tin cá nhân như là tài khoản cá nhân, mật khẩu, thẻ tín dụng vì ngườidùng không biết).
VD: loại 1+ loại 2:ACT Computer Spy 2006, Activity Keylogger, StealthKeylogger
chạy công khai, có thông báo
Spy 2006, Activity KeyloggerLoại 2 Cài đặt công khai,
Do thám rõ ràng Eye Spy Pro,
Real Spy Monitor
bởi 1 con Trojan virus, cực kỳ khó
tháo gỡ, có thể bị các chương trình chống virus tiêu diệt
Do thám, giám sat, theo dõi
Perfect Keylogger, Golden Eye
Bảng 1-1 So sánh các loại keylogger
Trang 14CHƯƠNG 2 CÁCH HOẠT ĐỘNG CỦA KEYLOGGER
2.1 Thành phần của keylogger
Thông thường, một chương trình keylogger sẽ gồm có ba phần chính:Chương trình điều khiển (Control Program): dùng để đ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
Tập tin hook, hoặc là một chương trình monitor dùng để ghi nhận lại cácthao tác bàn phím, capture screen (đây là phần quan trọng nhất)
Tập tin nhật ký (log), nơi chứa đựng hoặc ghi lại toàn bộ những gì hookghi nhận được
Ngoài ra, tùy theo loại 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)…
2.2 Cách thức cài đặt vào máy của keylogger
Các loại Keylogger từ 1 tới 3 thông thường khi cài đặt vào máy cũnggiống như mọi chương trình máy tính khác, đều phải qua bước cài đặt Đầu tiênnó sẽ cài đặt các tập tin dùng để hoạt động vào một thư mục đặc biệt (rất phứctạp), sau đó đăng ký cách thức hoạt động rồi đợi người dùng thiết lập thêm cácứng dụng Sau đó nó bắt đầu hoạt động
Loại keylogger số 4 có thể vào thẳng máy của người dùng bỏ qua bướccài đặt, dùng tính năng Autorun để cùng chạy với hệ thống Một số loại tự thả(drop) mình vào các chương trình khác, để khi người dùng sử dụng các chươngtrình này Keylogger sẽ tự động chạy theo
2.3 Cách hoạt động của keylogger
Trong một hệ thống (Windows, Linux, Mac…), khi bấm 1 phím trên bànphím, bàn phím sẽ chuyển nó thành tín hiệu chuyển vào CPU CPU sẽ chuyểnnó tới hệ điều hành để hệ điều hành dịch thành chữ hoặc số cho chính nó hoặccác chương trình khác sử dụng
Nhưng khi trong hệ thống đó có Keylogger, không những chỉ có hệ điềuhành theo dõi mà cả hook file hoặc monitor program của Keylogger theo dõi nó
sẽ ghi nhận và dịch lại các tính hiệu ghi vào tập tin nhật ký Đồng thời nó còn cóthể theo dõi cả màn hình và thao tác chuột
Trang 15Keylogger dưới dạng phần mềm thường chạy ngầm trên máy, ghi lại mọiphím bấm mà người dùng nhập vào Đôi lúc để tránh việc gửi dữ liệu thườngxuyên khiến việc theo dõi bị người dùng “chú ý”, các gói phần mềm này có thểđược thiết kế để chỉ gửi đi các chuỗi dữ liệu có vẻ hữu dụng – chẳng hạn nhưmột chuỗi số “có vẻ” giống mã thẻ tín dụng.
Để tăng tính hiệu quả, keylogger cũng thường được kết hợp với một sốloại phần mềm theo dõi khác, nhờ vậy kẻ xâm nhập có thể phân biệt được cácthông tin mà người dùng nhập vào khi chat chit vô nghĩa với các thông tin nhậpvào khi đang đăng nhập vào tài khoản ngân hàng trực tuyến Các chuỗi kí tự đầutiên người dùng nhập vào sau khi khởi động một chương trình chat, email clienthay game online cũng rất quan trọng – bởi đây thường là chuỗi username vàpassword dùng để đăng nhập vào tài khoản của dịch vụ đó
Với những trường hợp cần được “chăm sóc” tỉ mỉ hơn, kẻ cài đặtkeylogger thường sẽ phải sử dụng công cụ để quét qua toàn bộ file log ghi lại tất
cả những gì người dùng đã nhập vào trong suốt thời gian bị theo dõi, từ đó lọc ra
cả những thông tin như nội dung tìm kiếm Google, comment trong một topic…bậy bạ nào đó trên mạng Thường thì các gói phần mềm theo dõi cung cấp chocác bậc phụ huynh và các công sở còn được tích hợp cả tiện ích chụp ảnh mànhình Từ đó cung cấp đầy đủ thông tin và bằng chứng về những gì mà “nạnnhân” đã làm trong suốt quá trình sử dụng máy
2.4 Xây dựng keylogger
Ý tưởng chính đằng sau keylogger là để có được ở giữa bất kỳ hai liên kếttrong chuỗi các sự kiện giữa khi một phím được nhấn và khi thông tin về tổ hợpphím được hiển thị trên màn hình Điều này có thể đạt được bằng cách sử dụnggiám sát video, một lỗi phần cứng trong bàn phím, hệ thống dây điện hoặc máytính riêng của mình, chặn đầu vào / đầu ra, thay thế các trình điều khiển bànphím, trình điều khiển bộ lọc trong ngăn xếp bàn phím, chặn chức năng hạt nhânbằng mọi cách (thay thế địa chỉ trong bảng hệ thống, nối mã chức năng, vv),chặn chức năng DLL trong chế độ người dùng, và, cuối cùng, yêu cầu thông tin
từ bàn phím bằng phương pháp chuẩn tài liệu
Kinh nghiệm cho thấy rằng cách tiếp cận phức tạp hơn, ít có khả năng nó
sẽ được sử dụng trong các chương trình Trojan phổ biến và nhiều khả năng nó sẽđược sử dụng trong các chương trình Trojan được thiết kế đặc biệt được thiết kế
để ăn cắp dữ liệu tài chính của một công ty cụ thể
Trang 16Các phương pháp phổ biến nhất được sử dụng để xây dựng phần mềmtheo dõi bàn phím như sau:
- Một hệ thống Hook chặn thông báo rằng một trọng điểm đã được ép (càiđặt sử dụng WinAPI SetWindowsHook cho các tin nhắn được gửi bởi các thủtục cửa sổ Nó thường được viết bằng C.);
- Một yêu cầu bàn phím thông tin mang tính chu kỳ từ bàn phím (sử dụngWinAPI Nhận (đồng bộ) KeyState hoặc GetKeyboardState - thường xuyên nhấtđược viết bằng Visual Basic, đôi khi trong Borland Delphi);
- Sử dụng một trình điều khiển bộ lọc (đòi hỏi kiến thức chuyên ngành vàđược viết bằng C)
Một phân tích sơ bộ các loại khác nhau của keylogger được thể hiện trongbiểu đồ tròn bên dưới:
Hình 2.2 Biểu đồ các phương pháp để xây dựng keylogger
Gần đây, keylogger mà che giấu tập tin của họ để giữ chúng không bị pháthiện bằng tay hoặc bằng một chương trình chống virus đã trở nên nhiều hơn.Những kỹ thuật tàng hình được gọi là công nghệ rootkit Có hai công nghệrootkit chính được sử dụng bởi keyloggers:
- Mặt nạ trong chế độ người dùng;
- Mặt nạ trong kernel mode
Một phân tích sơ bộ các kỹ thuật được sử dụng bởi keyloggers để che dấuhoạt động của họ được thể hiện trong biểu đồ tròn bên dưới:
Trang 17Hình 2.3 Biểu đồ các kỹ thuật che dấu của keylogger
2.5 Những phương pháp thường dùng để xây dựng keylogger
2.5.1 Thiết lập hook cho thông điệp bàn phim
Đây là phương pháp phổ biến nhất được sử dụng khi tạo keyloggers Sửdụng SetWindowsHookEx, keylogger đặt một hook cho tất cả các sự kiện bànphím cho tất cả các chủ đề trong hệ thống Chức năng lọc hook nằm trong mộtthư viện động riêng biệt mà sẽ được đưa vào tất cả các quá trình trong hệ thống.Khi bất kỳ chuỗi tin nhắn bàn phím được trích ra từ hàng đợi tin nhắn, hệ thống
sẽ gọi hàm lọc được cài đặt
Một trong những ưu điểm của phương pháp này là sự đơn giản của nó vàđánh chặn được đảm bảo của tất cả các phím bấm Cần lưu ý rằng nó là cần cómột tập tin thư viện động riêng biệt, và nó cũng là tương đối dễ dàng để pháthiện keylogger do thực tế rằng nó đã được đưa vào tất cả các quá trình
Một số keylogger mà sử dụng phương pháp này là AdvancedKeyLogger,KeyGhost, Absolute Keylogger, Actual Keylogger, Actual Spy, Family KeyLogger, GHOST SPY, Haxdoor, MyDoom
2.5.2 Sử dụng truy vấn mang tính chu kỳ của bàn phím
Đây là phương pháp phổ biến thứ hai được sử dụng khi thực hiệnkeylogger Các GetAsyncnKeyState và GetKeyState được sử dụng để định kỳtruy vấn trạng thái của tất cả các phím trong khoảng thời gian nhanh chóng.Hàm này trả về mảng tình trạng chính không đồng bộ hoặc đồng bộ (xem phầnbàn phím mảng tình trạng key); bằng cách phân tích những nó có thể hiểu đượccác phím đã được ép hoặc phát hành từ các truy vấn cuối cùng được thực hiện
Trang 18Những lợi thế của phương pháp này là nó là vô cùng dễ dàng để thựchiện, không có mô-đun bổ sung (trái ngược với việc sử dụng các Hook ); Hạnchế của phương pháp này là không đảm bảo rằng tất cả các tổ hợp phím sẽ bịchặn - một số có thể được bỏ qua; và phương pháp này có thể dễ dàng được pháthiện bằng cách tìm các quá trình truy vấn bàn phím với tần số cao.
Phương pháp này được sử dụng trong keylogger như Computer Monitor,Keyboard Guardian, PC Activity Monitor Pro, Power Spy, Powered Keylogger,Spytector, Stealth KeyLogger, Total Spy
2.5.3 Đưa vào các quá trình và các chức năng xử lý thông tin hooking
Các keylogger được đưa vào tất cả các quá trình và chặn các chức năngGetMessage hoặc PeekMessage từ thư viện user32.dll Một loạt các phươngpháp có thể được sử dụng để làm điều này: nối (một phương pháp sử dụng đểđánh chặn các cuộc gọi chức năng API, về cơ bản, phương pháp này bao gồmviệc thay thế một số ít - thường là năm - của byte đầu tiên của hàm lệnh JMP đóchuyển điều khiển đến các cách chặn code), chỉnh sửa bảng địa chỉ các chứcnăng nhập IAT, chặn các chức năng GetProcAddress mà trả về một địa chỉ hàm
từ thư viện đã được nạp Một keylogger có thể được tạo ra trong các form củamột DLL hoặc bằng cách đưa các mã trực tiếp vào quá trình mục tiêu
Kết quả như sau: khi các ứng dụng gọi, ví dụ, hàm GetMessage để nhậnđược thông báo kế tiếp từ hàng đợi tin nhắn, cuộc gọi này sẽ được thông qua vào
mã hook Hook gọi hàm GetMessage đi từ user32.dll và phân tích các kết quả trảcho các đối tượng kiểu tin nhắn Khi một thông điệp bàn phím được nhận, tất cảcác thông tin về nó được chiết xuất từ các thông số tin nhắn và đăng nhập bằngcác keylogger
Những lợi thế của phương pháp này là hiệu quả của nó: do phương phápnày là không phổ biến, chỉ có một vài chương trình có thể phát hiện keyloggerthuộc loại này Ngoài ra, bàn phím trên màn hình tiêu chuẩn là vô dụng đối vớiloại hình này của keylogger, như các tin nhắn được gửi bởi họ cũng sẽ bị chặn
Những khó khăn bao gồm là thay đổi bảng IAT không đảm bảo đánhchặn, như địa chỉ chức năng của user32.dll có thể đã được lưu trước keyloggerđược đưa vào; nối có một số khó khăn kết nối
Trang 192.6 Cách thức phát tán keylogger
Keylogger lây lan cùng một cách mà các chương trình độc hại khác lâylan Ngoại trừ trường hợp keylogger được mua, cài đặt và sử dụng các keyloggertheo dịch vụ an ninh, keylogger là chủ yếu lây lan bằng cách sử dụng phươngpháp sau đây :
-Một keylogger có thể được cài đặt khi người dùng mở một tập tin đínhkèm theo email;
-Một keylogger có thể được cài đặt khi một tập tin được đưa ra từ một thưmục mở truy cập vào một mạng P2P;
-Một keylogger có thể được cài đặt thông qua một trang web được khaithác một lỗ hổng trình duyệt Chương trình sẽ tự động được đưa ra khi ngườidùng truy cập một trang web bị nhiễm mã độc;
-Một keylogger có thể được cài đặt bởi một chương trình độc hại đã cótrên máy tính nạn nhân, nếu chương trình đó có khả năng tải về và cài đặt phầnmềm độc hại khác vào hệ thống
Trang 20CHƯƠNG 3 CÁCH CÀI ĐẶT VÀ SỬ DỤNG PHẦN MỀM PERFECT
KEYLOGGER
3.1 Cách cài đặt phần mềm perfect keylogger
Bước 1: Tải phần mềm perfect keylogger trên trang download.com.vn
Bước 2: Mở folder, tìm và click vào file i_bkb_trial.exe, sau đó tiến hành cài
đặt như hình dưới
Nhập vào “open” rồi click Ok
Click next>
Trang 21Chọn yes rồi click Next>
Đặt tên có keylog, nên đặt tên hệ thống (ví dụ như hình trên) Ngoài racòn các tên như svchost, winlogon, services, taskmgr, chrome (google chrome)
bước này giúp đánh lừa victim