Có nhiều keylogger cho Windows hơn là Linux. Trên các hệ thống dựa trên UNIX/Linux và các hệ điều hành khác, keylogger có thể dễ dàng thực hiện với một vài dòng mã shell. Tất cả các công cụ đều có ưu điểm và nhược điểm của chúng. Ví dụ như Keylogger python được gọi là pykeylogger được xây dựng cho cả nền tảng Windows và Linux, nhưng có những có những điểm khác nhau của cả hai nền tảng vì pykeylogger được xây dựng và hoạt động khác nhau trong cả hai môi trường.
Keylogger phần mềm, được coi là một dạng phần mềm gián điệp, được xây dựng bằng một số phương pháp phổ biến:
1. Móc hệ thống (system hook), là một kỹ thuật để thay đổi hành vi của hệ điều hành, được sử dụng để chặn từng thông báo được tạo ra bất cứ khi nào một phím được nhấn. Loại phần mềm này thường được xây dựng bằng ngôn ngữ C.
2. Một yêu cầu thông tin theo chu kỳ được thiết lập để thu thập thông tin từ bàn phím. Những loại keylogger này thường được viết bằng Visual Basic hoặc Borland Delphi.
3. Trình điều khiển bộ lọc được viết bằng C và được cài đặt bên trong máy tính.
PHẦN 4 – BẢO MẬT TRƯỚC KEYLOGGER 4.1 Những mối nguy hiểm
Ngày nay, máy tính hay laptop là một thiết bị không thể thiếu trong hoạt động kinh doanh và cá nhân sử dụng Internet, dẫn đến keylogger ngày càng hiệu quả và nguy hiểm. Ngoài ra, Internet không chỉ trở thành một mạng lưới chính để cài đặt và phân phối các chương trình độc hại, mà còn góp phần trong sự lây nhiễm của chúng. Tiềm năng to lớn của Internet đã dẫn đến sự gia tăng tuyến tính hàng năm của các keylogger.
Keylogger có thể cực kỳ chính xác, điều này khiến chúng trở nên đặc biệt nguy hiểm. Nhiều keylogger không bị phát hiện trong thời gian dài, ghi lại hoạt động trên bàn phím và giúp kẻ tấn công sử dụng thông tin về tài khoản trực tuyến của nạn nhân. Keylogger rất nguy hiểm vì chúng khó phát hiện và rất hiệu quả trong những việc chúng làm. Nếu bạn đang sử dụng lại mật khẩu, keylogger sẽ nhanh chóng lấy mật khẩu đó, hiển thị thông tin đăng nhập cho nhiều tài khoản.
25
Hình 22: Những mối nguy hiểm từ keylogger (Nguồn: pngegg.com)
Một keylogger đơn giản có thể lưu trữ thông tin từ một lần đăng nhập hoặc nhiều trang web và tài khoản, tùy thuộc vào phần mềm. Điểm chính là keylogger nguy hiểm, hiệu quả và thường khó phát hiện - khiến chúng trở thành mối đe dọa nghiêm trọng đối với cá nhân, các doanh nghiệp và chính phủ.
Đối với keylogger phần cứng, nó không thể bị phát hiện thông qua bất kỳ loại phần mềm diệt vi-rút hoặc các trình quản lý phần mềm khác. Keylogger có thể hấp dẫn nhiều người muốn tìm một thứ gì đó cụ thể, chẳng hạn như mật khẩu, nhưng thiếu kiến thức để sử dụng các phần mềm độc hại trên máy tính mục tiêu.
Các keylogger phần cứng từ lâu đã tập trung vào bàn phím PS2 tiêu chuẩn, nhưng giờ đây, với các thiết bị như KeySweeper, bàn phím không dây cũng có thể gặp rủi ro. KeySweeper đã được giấu bên trong bộ sạc USB - thực sự hoạt động như một bộ sạc USB, và nó có thể ẩn bên trong bất cứ thứ gì. Nó chứa một bộ vi điều khiển Arduino có thể kết nối với bàn phím không dây và ghi nhật ký các lần gõ phím.
Hình 23: KeySweeper với Arduino (Nguồn: samy.pl/keysweeper)
Mã hóa chưa bao giờ là mối quan tâm lớn đối với bàn phím không dây. Gần đây hơn, nhiều bàn phím không dây đã bắt đầu sử dụng mã hóa, bao gồm bàn phím 2.4GHz của Microsoft được sản xuất từ năm 2011. Tuy nhiên, FBI đã đưa ra cảnh báo về các thiết bị tương tự như KeySweeper vào tháng 5 năm 2017. Theo một số ý kiến trong ngành, điều đó là quá muộn.
Trường học là một nơi phổ biến để ghi nhật ký phần cứng. Các trường hợp bao gồm một sinh viên ở Birmingham đã đánh cắp mật khẩu của nhân viên để tăng điểm bài kiểm tra, và 11 học sinh đã bị đuổi khỏi một trường tư ở California sau khi họ sử dụng thông tin đăng nhập có nguồn gốc từ keylogger để thay đổi điểm của mình. Năm 2016, một sinh viên tại Đại học Quản lý Singapore đã sử dụng keylogger phần cứng USB để lấy ID người dùng và mật khẩu của hai giáo sư để xóa nội dung các bài kiểm tra.
Đối với keylogger phần mềm, có rất nhiều cách khác nhau để chúng tấn công thiết bị của bạn:
27
Spear Phishing: là một trong những phương pháp nổi bật nhất để bắt đầu lây nhiễm phần mềm độc hại. Trong hầu hết các trường hợp, email hoặc liên kết lừa đảo được sử dụng để nhắm mục tiêu khách hàng. Liên kết có vẻ hợp pháp - nó thậm chí có thể đến từ một người thân hoặc bạn bè. Tuy nhiên, sau khi bạn mở email hoặc nhấp vào một liên kết, một keylogger sẽ được cài đặt trên thiết bị của bạn.
Drive-by Download: đề cập đến thời điểm keylogger được cài đặt trên máy tính của bạn mà bạn không biết. Điều này thường được thực hiện bằng cách sử dụng một trang web độc hại. Khi bạn truy cập trang web, phần mềm độc hại sẽ được cài đặt trên máy tính của bạn. Sau đó, nó hoạt động ở chế độ nền, không bị phát hiện, ghi lại các lần gõ phím của bạn, sau đó gửi chúng cho kẻ tấn công.
Trojan Horse: các Trojan Horse thường có các keylogger được đóng gói bên trong. Một con ngựa thành Troy, tương tự như con ngựa được sử dụng trong thần thoại Hy Lạp, trông có vẻ an toàn. Những khi người dùng mở nó, phần mềm độc hại có chứa keylogger sẽ được cài đặt trên thiết bị của họ. Phần mềm độc hại sau khi được cài đặt, sẽ theo dõi các lần gõ phím của người dùng và sau đó báo cáo chúng đến một thiết bị của kẻ tấn công.
Phân phối keylogger từ xa là phương pháp chính và phổ biến nhất của keylogger để lây nhiễm từ xa. Hiện tại có rất nhiều cách để phân phối keylogger bằng Internet. Có bốn cách tiếp cận riêng biệt đối với việc phát tán phần mềm độc hại trên Internet:
1. Quảng cáo: Chúng cung cấp một nơi lưu trữ chung cho phần mềm độc hại. Vì các quảng cáo thường có xu hướng chuyển hướng, sau đó được xâu chuỗi lại với
nhau, nên các bên thứ ba có thể đưa vị trí của nội dung độc hại vào một trong các nút của chuỗi.
2. Các tiện ích của bên thứ ba (Third-party widgets): Cũng giống như quảng cáo, về cơ bản, widget là các liên kết được nhúng, thường đến từ một hàm Javascript bên ngoài hoặc các thể loại tương tự, vì vậy nó có thể được chuyển hướng đến các địa chỉ nguy hiểm.
3. Nội dung do người dùng cung cấp: Một người dùng web thông thường tải nội dung lên một địa chỉ công cộng. Nếu trang web đó không thực hiện đủ công việc kiểm tra tính hợp lệ, thì việc cài đặt nội dung độc hại có thể xảy ra.
4. Tính bảo mật của các máy chủ web: Các cơ chế này cũng đóng một vai trò quan trọng vì chúng có thể cản trở việc đặt kho dữ liệu trên các trang web bằng cách kiểm soát nội dung máy chủ như HTML, Javascript, PHP (hoặc các ứng dụng và ngôn ngữ khác) và cơ sở dữ liệu. Do đó, nếu kẻ tấn công giành được quyền kiểm soát các cơ chế bảo mật này thì sẽ có khả năng kiểm soát toàn bộ nội dung trên máy chủ web và sử dụng nó để trục lợi cho mình.
Một số trường đại học đã bị các sự cố do keylogger. Gần 2000 sinh viên tại Đại học California Irvine đã bị đánh cắp thông tin cá nhân và sức khỏe của họ sau khi máy tính trong trung tâm chăm sóc sức khỏe cho sinh viên bị xâm nhập. Năm ngoái tại Đại học Iowa, một sinh viên đã bị FBI bắt vì gian lận, khi sử dụng keylogger để lấy trước các bản sao của bài kiểm tra và thay đổi điểm số.
Một lựa chọn khác cho những kẻ tấn công đang cố gắng lây nhiễm vào một máy không có lỗ hổng bảo mật có thể xác định được là lừa người dùng tự lây nhiễm. Nói cách khác, kẻ tấn công sẽ sử dụng những gì được gọi là “Social Engineering” để tạo ra
29
sự quan tâm đến người dùng để thực hiện một hành động dẫn đến việc truy xuất từ xa phần mềm độc hại.
Các ứng dụng bị nhiễm phần mềm độc hại cũng là một vấn đề. Gần đây, Google đã xóa 145 ứng dụng khỏi Cửa hàng Play có chứa phần mềm độc hại keylogger. Cũng như nhiều loại phần mềm độc hại, trình ghi nhật ký thường có trong các email lừa đảo có chứa các liên kết độc hại. Chẳng hạn, một phiên bản mới của keylogger HawkEye đã bị phát tán qua một chiến dịch email spam chứa các tài liệu Word bị nhiễm. Một số biến thể, chẳng hạn như Fauxspersky, có thể lây lan qua các ổ USB bị nhiễm.
Đối với điện thoại, mặc dù có thể không có bất kỳ keylogger phần cứng nào được thiết kế để tấn công thiết bị di động, nhưng di động vẫn có thể bị xâm nhập bởi keylogger phần mềm. Các thao tác này hoạt động bằng cách ghi lại vị trí trên màn hình mà người dùng nhấn hoặc chạm, điều này cho phép keylogger nhìn thấy các nút ảo được nhấn trong khi chủ sở hữu nhập. Dữ liệu sau đó được ghi lại và báo cáo cho kẻ tấn công.
Mối đe dọa thậm chí có thể tồi tệ hơn với các dạng keylogger này vì chúng không chỉ đơn thuần là theo dõi và ghi lại các lần gõ phím. Keylogger cũng có thể ghi lại ảnh chụp màn hình, những thứ được camera thu nhận, hoạt động của các máy in được kết nối, micrô và lưu lượng mạng. Keylogger thậm chí còn có khả năng ngăn bạn truy cập vào một số trang web nhất định. Để đưa keylogger vào thiết bị di động, kẻ tấn công chỉ cần truy cập vào nó trong một khoảng thời gian ngắn. Bạn cũng có thể vô tình cài đặt keylogger trên thiết bị của mình bằng cách nhấp vào liên kết hoặc tệp đính kèm.
4.2 Các sự cố gây ra bởi Keylogger
Ngoài việc ảnh hưởng đến bảo mật của thiết bị của bạn, keylogger có thể gây ra các sự cố phụ trợ trên chính thiết bị. Các tác động có phần khác nhau dựa trên loại thiết bị đã bị nhiễm vi-rút.
Đối với máy tính bàn và laptop, quá trình tiêu thụ điện năng không xác định. Vì giống như tất cả các loại phần mềm, keylogger cần bắt đầu một quy trình để hoạt động. Mỗi quá trình mà máy tính của bạn phải thực hiện đều yêu cầu CPU. Quy trình của keylogger, sau khi được bắt đầu, có thể làm tiêu hao thêm CPU. Điều này có thể dẫn đến các ứng dụng khác không chạy theo cách mà chúng thường làm hoặc nên làm.
Ngoài ra, nó còn làm chậm trễ khi nhập văn bản. Bởi vì keylogger tự định vị giữa bàn phím và màn hình, độ trễ khi nhập có thể là một dấu hiệu của keylogger. Nếu bạn thường thấy các chữ cái, số hoặc biểu tượng xuất hiện trên màn hình ngay sau khi bạn nhấn từng phím nhưng sau đó bạn nhận thấy có độ trễ nhỏ, đó có thể là dấu hiệu cho thấy keylogger đang làm gián đoạn quá trình. Trong một số trường hợp, việc nhập liệu bị trì hoãn có thể do các trường hợp như không đủ bộ nhớ truy cập ngẫu nhiên (RAM), nhưng nếu bạn nhận thấy triệu chứng này, bạn nên kiểm tra keylogger.
Keylogger có thể làm các ứng dụng ngẫu nhiên bị đơ. Khi một keylogger hoạt động, nó có thể làm gián đoạn quá trình xử lý ứng dụng bình thường. Điều này có thể khiến ứng dụng bị đóng băng mà không có cảnh báo. Nếu các ứng dụng của bạn bị đóng băng nhiều hơn bình thường, keylogger có thể là thủ phạm.
4.3 Biện pháp
Hầu hết các keylogger có thể bị đánh lừa bằng cách xen kẽ giữa việc nhập thông tin đăng nhập và nhập ở một nơi khác bất kỳ.
31
Hình 24: Bảo mật trước Keylogger (Nguồn: pngegg.com)
4.3.1 Đối với Keylogger phần cứng
Rất khó xảy ra trường hợp bạn bị tấn công bởi một thiết bị Keylogger, đặc biệt khi bạn ở trong nhà. Tuy nhiên, điều này có thể xảy ra ở nơi công cộng. Vì thiết bị keylogger thường sử dụng cổng USB để hoạt động, nên cách bảo vệ tốt nhất là kiểm tra khu vực cổng USB của máy tính bạn đang sử dụng.
Khi nhập các thông tin nhạy cảm, chẳng hạn như mật khẩu, bạn có thể sử dụng chuột để đánh lừa Keylogger. Ví dụ, hãy nhập ký tự cuối cùng trong mật khẩu trước, sau đó di chuyển chuột ra trước ký tự và nhập phần còn lại. Keylogger sẽ hiểu nhầm rằng ký tự cuối cùng của bạn là ký tự đầu tiên.
Ngoài ra bạn cũng có thể chọn và thay thế văn bản khi bạn nhập. Bạn có thể thử nhiều biến thể của phương thức này hoặc các kỹ thuật nhập dữ liệu kiểu đánh lừa khác. Tuy nhiên, chúng không thực sự hiệu quả và có thể không có tác dụng với các loại Keylogger phức tạp hơn, ví dụ các thiết bị có thể đồng thời ghi lại màn hình hoặc hoạt động của chuột.
4.3.2 Đối với Keylogger phần mềm
Cách tốt nhất để bảo vệ thiết bị của bạn khỏi hiện tượng đánh cắp thông tin từ bàn phím là sử dụng chương trình chống vi-rút hoặc tường lửa.
Có thể sử dụng trình quản lý mật khẩu để tạo các mật khẩu có độ phức tạp cao - ngoài việc cho phép bạn xem và quản lý mật khẩu của mình. Trong nhiều trường hợp, các chương trình này có thể tự động điền mật khẩu của bạn, điều này cho phép bỏ qua hoàn toàn việc nhập từ bàn phím.
Nếu bạn không nhập, keylogger không thể ghi lại bất kỳ thao tác nào và vì các ký tự mật khẩu thường được thay thế bằng dấu hoa thị, ngay cả hệ thống giám sát video cũng không thể tìm ra những gì đã được nhập. Ngoài ra, hãy sử dụng xác thực đa yếu tố (MFA) khi bạn có tùy chọn. Keylogger có thể suy ra mật khẩu của bạn, nhưng giai đoạn thứ hai của quá trình xác thực có thể ngăn chặn chúng.
Bàn phím ảo cũng có thể giúp ngăn chặn keylogger truy cập vào các tổ hợp phím của bạn. Ngay cả một keylogger dựa trên siêu giám sát, sử dụng một hệ điều hành riêng biệt chạy bên dưới hệ điều hành chính của bạn, cũng không thể truy cập các tổ hợp phím được thực hiện trên bàn phím ảo.
Để phát hiện máy tính có phần mềm keylogger hay không, chúng ta có thể kiểm tra các chương trình đang hoạt động từ chương trình hệ thống. Nếu có một chương trình nào đó nhìn lạ lẫm, bạn có thể kiểm tra ngay. Ngoài ra, bạn cũng nên kiểm tra lưu lượng đi ra từ máy tính của bạn.
4.4 Phát hiện và gỡ bỏ Keylogger
Phát hiện sự lây nhiễm keylogger là bước đầu tiên để loại bỏ nó, nhưng không phải tất cả các keylogger đều dễ dàng phát hiện bằng phần mềm chống vi-rút cơ bản.
33
Các dấu hiệu của keylogger không phải lúc nào cũng rõ ràng ngay lập tức, nhưng một nơi tốt để bắt đầu là theo dõi hành vi của máy tính của bạn.
Nếu bạn nhận thấy hiệu suất chậm hơn, phần mềm lạ hoặc kết nối chậm trễ hoặc sử dụng quá nhiều ổ đĩa, thì đã đến lúc kiểm tra vi-rút. Thực hiện quét vi-rút toàn bộ bằng phần mềm chống vi-rút của bạn để xem liệu phần mềm này có phát hiện thấy bất kỳ phần mềm độc hại nào không.
Gỡ bỏ một phần mềm Keylogger không phải là việc dễ dàng nhưng có thể thực hiện được. Trước hết bạn nên cố gắng cài đặt một chương trình chống Keylogger trên hệ thống của bạn và kiểm tra liệu nó có thể bị gỡ bỏ. Nếu máy tính của bạn vẫn hoạt động một cách kỳ lạ và bạn nghi ngờ rằng chương trình chống Keylogger không thể giải quyết vấn đề, có thể bạn nên định dạng và cài đặt lại hoàn toàn hệ điều hành của