DLL tấn công các lỗ hổng tấn công, phòng chống và phát hiện

Mục lục:

DLL tấn công các lỗ hổng tấn công, phòng chống và phát hiện
DLL tấn công các lỗ hổng tấn công, phòng chống và phát hiện

Video: DLL tấn công các lỗ hổng tấn công, phòng chống và phát hiện

Video: DLL tấn công các lỗ hổng tấn công, phòng chống và phát hiện
Video: Gà Tổng "TIẾT LỘ" 10 mẹo cực hay khi dùng SAMSUNG, bạn đã biết chưa ? | GENZ - YouTube 2024, Tháng tư
Anonim

DLL là viết tắt của Thư viện liên kết động và là các phần bên ngoài của các ứng dụng chạy trên Windows hoặc bất kỳ hệ điều hành nào khác. Hầu hết các ứng dụng không hoàn thành trong bản thân và lưu trữ mã trong các tệp khác nhau. Nếu cần mã, tệp liên quan sẽ được tải vào bộ nhớ và được sử dụng. Điều này làm giảm kích thước tập tin ứng dụng trong khi tối ưu hóa việc sử dụng RAM. Bài viết này giải thích những gì là DLL Hijacking và cách phát hiện và ngăn chặn nó.

Tập tin DLL hoặc Thư viện liên kết động là gì

Các tệp DLL là Thư viện liên kết động và hiển nhiên theo tên, là các phần mở rộng của các ứng dụng khác nhau. Bất kỳ ứng dụng nào chúng tôi sử dụng đều có thể hoặc có thể không sử dụng một số mã nhất định. Các mã như vậy được lưu trữ trong các tệp khác nhau và được gọi hoặc được nạp vào RAM chỉ khi mã có liên quan là bắt buộc. Do đó, nó tiết kiệm một tập tin ứng dụng từ trở nên quá lớn và ngăn chặn tài nguyên hogging bởi ứng dụng.
Các tệp DLL là Thư viện liên kết động và hiển nhiên theo tên, là các phần mở rộng của các ứng dụng khác nhau. Bất kỳ ứng dụng nào chúng tôi sử dụng đều có thể hoặc có thể không sử dụng một số mã nhất định. Các mã như vậy được lưu trữ trong các tệp khác nhau và được gọi hoặc được nạp vào RAM chỉ khi mã có liên quan là bắt buộc. Do đó, nó tiết kiệm một tập tin ứng dụng từ trở nên quá lớn và ngăn chặn tài nguyên hogging bởi ứng dụng.

Đường dẫn cho các tệp DLL được thiết lập bởi hệ điều hành Windows. Đường dẫn được đặt bằng Biến môi trường toàn cục. Theo mặc định, nếu một ứng dụng yêu cầu một tệp DLL, hệ điều hành sẽ nhìn vào cùng một thư mục trong đó ứng dụng được lưu trữ. Nếu nó không được tìm thấy ở đó, nó đi đến các thư mục khác như được thiết lập bởi các biến toàn cầu. Có những ưu tiên gắn liền với đường dẫn và nó giúp Windows trong việc xác định những thư mục để tìm các DLL. Đây là nơi mà các hijacking DLL đi vào.

DLL cướp là gì

Vì các tệp DLL là các phần mở rộng và cần thiết để sử dụng hầu như tất cả các ứng dụng trên máy của bạn, chúng có mặt trên máy tính trong các thư mục khác nhau như được giải thích. Nếu tệp DLL gốc được thay thế bằng tệp DLL giả có chứa mã độc, nó được gọi là DLL Hijacking.

Như đã đề cập trước đó, có những ưu tiên về vị trí mà hệ điều hành tìm kiếm các tệp DLL. Đầu tiên, nó nhìn vào cùng thư mục với thư mục ứng dụng và sau đó tìm kiếm, dựa trên các ưu tiên được thiết lập bởi các biến môi trường của hệ điều hành. Vì vậy, nếu một tập tin good.dll là trong thư mục SysWOW64 và ai đó đặt một bad.dll trong một thư mục có ưu tiên cao hơn so với thư mục SysWOW64, hệ điều hành sẽ sử dụng tập tin bad.dll, vì nó có cùng tên với DLL theo yêu cầu của ứng dụng. Khi ở trong RAM, nó có thể thực thi mã độc hại có trong tệp và có thể làm hỏng máy tính hoặc mạng của bạn.

Làm thế nào để phát hiện DLL Hijacking

Phương pháp dễ nhất để phát hiện và ngăn chặn tấn công DLL là sử dụng các công cụ của bên thứ ba. Có một số công cụ miễn phí tốt có sẵn trên thị trường giúp phát hiện một nỗ lực hack DLL và ngăn chặn nó.

Một chương trình như vậy là DLL Hijack Auditor nhưng nó chỉ hỗ trợ các ứng dụng 32-bit. Bạn có thể cài đặt nó trên máy tính của bạn và quét tất cả các ứng dụng Windows của bạn để xem tất cả những ứng dụng nào đều dễ bị tấn công bởi DLL. Giao diện đơn giản và tự giải thích. Hạn chế duy nhất của ứng dụng này là bạn không thể quét các ứng dụng 64 bit.

Một chương trình khác, để phát hiện DLL hijacking, DLL_HIJACK_DETECT, có sẵn thông qua GitHub. Chương trình này kiểm tra các ứng dụng để xem liệu có bất kỳ ứng dụng nào trong số đó dễ bị tấn công do chiếm đoạt DLL hay không. Nếu có, chương trình sẽ thông báo cho người dùng. Ứng dụng này có hai phiên bản - x86 và x64 để bạn có thể sử dụng từng phiên bản để quét cả ứng dụng 32 bit và 64 bit tương ứng.

Cần lưu ý rằng các chương trình trên chỉ quét các ứng dụng trên nền tảng Windows cho các lỗ hổng và không thực sự ngăn chặn việc xâm nhập các tệp DLL.

Làm thế nào để ngăn chặn tấn công DLL

Vấn đề cần được giải quyết bởi các lập trình viên ngay từ đầu vì không có nhiều việc bạn có thể làm trừ việc tăng cường hệ thống an ninh của bạn. Nếu, thay vì đường dẫn tương đối, các lập trình viên bắt đầu sử dụng đường dẫn tuyệt đối, lỗ hổng sẽ bị giảm. Đọc đường dẫn tuyệt đối, Windows hoặc bất kỳ hệ điều hành nào khác sẽ không phụ thuộc vào biến hệ thống cho đường dẫn và sẽ đi thẳng cho DLL dự định, do đó loại bỏ khả năng tải cùng một tên DLL trong đường dẫn ưu tiên cao hơn. Phương pháp này quá, không phải là bằng chứng không thành công bởi vì nếu hệ thống bị xâm phạm, và bọn tội phạm mạng biết đường dẫn chính xác của DLL, chúng sẽ thay thế DLL gốc bằng DLL giả. Điều đó sẽ được ghi đè lên tập tin để các DLL gốc được thay đổi thành mã độc hại. Nhưng một lần nữa, cybercriminal sẽ cần biết đường dẫn tuyệt đối chính xác được đề cập trong ứng dụng gọi các DLL. Quá trình này là khó khăn cho tội phạm mạng và do đó có thể được tính.

Quay trở lại những gì bạn có thể làm, chỉ cần cố gắng mở rộng hệ thống bảo mật của bạn để bảo mật hệ thống Windows của bạn tốt hơn. Sử dụng tường lửa tốt. Nếu có thể, hãy sử dụng tường lửa phần cứng hoặc bật tường lửa bộ định tuyến. Sử dụng hệ thống phát hiện xâm nhập tốt để bạn biết nếu có ai đó đang cố gắng chơi với máy tính của bạn.

Nếu bạn đang sử dụng máy tính khắc phục sự cố, bạn cũng có thể thực hiện các bước sau để tăng cường bảo mật của mình:

  1. Vô hiệu hóa tải DLL từ chia sẻ mạng từ xa
  2. Tắt tải tệp DLL từ WebDAV
  3. Tắt dịch vụ WebClient hoàn toàn hoặc đặt dịch vụ thành thủ công
  4. Chặn các cổng TCP 445 và 139 vì chúng được sử dụng nhiều nhất để xâm phạm máy tính
  5. Cài đặt các bản cập nhật mới nhất cho hệ điều hành và phần mềm bảo mật.

Microsoft đã phát hành một công cụ để chặn các cuộc tấn công cướp tải trọng DLL. Công cụ này giảm thiểu nguy cơ tấn công hijacking DLL bằng cách ngăn chặn các ứng dụng từ mã tải không an toàn từ các tệp DLL.

Nếu bạn muốn thêm bất cứ điều gì vào bài viết, xin vui lòng bình luận dưới đây.

Đề xuất: