5 dấu hiệu website của bạn là mục tiêu của một cuộc tấn công tự động
Các tin tặc đều yêu thích sử dụng các công cụ tấn công SQL Injection và Remote File Inclusion tự động. Bằng việc sử dụng các phần mềm như sqlmap, Havij hoặc NetSparker, việc tìm kiếm và khai thác các lỗ hổng trên trang web trở nên rất nhanh chóng và dễ dàng ngay cả đối với những kẻ tấn công không lành nghề.
Tin tặc ưa sử dụng các công cụ tự động vì ba lý do chính sau đây. Lý do đầu tiên và quan trọng nhất là những công cụ này không đòi hỏi phải có nhiều kỹ năng và thường có sẵn miễn phí - từ các diễn đàn của hacker hoặc từ các trang web của các nhà phát triển tạo ra để được sử dụng như các công cụ kiểm tra quá trình thâm nhập hợp pháp. Lý do thứ hai, các công cụ này cho phép một hacker tấn công được số lượng lớn các trang web nhanh chóng mà không tốn nhiều sức lực. Và cuối cùng, các công cụ này khiến các máy chủ bị xâm nhập hoặc được thuê để sử dụng nhằm khởi động các cuộc tấn công mà có thể chỉ có sẵn trong một khoảng thời gian giới hạn trở nên hiệu quả.
Nhưng đây là tin tốt cho bạn: Nếu bạn có thể tìm ra cách để phát hiện và chặn các cuộc tấn công tự động, bạn có thể cắt giảm một tỷ lệ lớn các hoạt động của hacker trên trang web của bạn. Trong bài viết này, chúng ta sẽ cùng khám phá cách xác định lưu lượng truy cập độc hại được tạo ra bởi các công cụ tự động này đến các ứng dụng web của bạn.
Dấu hiệu 1: Tỷ lệ yêu cầu đến cao
Theo Rob Rachwald, giám đốc chiến lược an ninh của công ty bảo mật dữ liệu Imperva, một trong những sự nhận dạng chính của cuộc tấn công tự động là tốc độ các yêu cầu gửi đến. Ông nói: Một người truy cập vào trang web của bạn không có khả năng tạo ra nhiều hơn một yêu cầu HTTP cứ sau 5 giây. Ngược lại, các công cụ tự động sẽ thường đưa ra 70 yêu cầu mỗi phút hay nhiều hơn một yêu cầu mỗi giây. Rachwald nói thêm: "Đơn giản là con người không thể làm việc nhanh được như vậy".
Thoạt nhìn, để phát hiện một cuộc tấn công tự động của hacker có vẻ dễ dàng: bởi bất kỳ lưu lượng truy cập nào đến với tốc độ nhiều hơn một yêu cầu cứ sau mỗi năm giây chắc chắn là xuất phát từ một trong những công cụ tự động này. Thật không may, mọi thứ không đơn giản như vậy.
Thứ nhất, không phải tất cả lưu lượng truy cập tự động đều độc hại: Một số lượng đáng kể lưu lượng truy cập tự động được tạo bởi một số người của Google chỉ có mục đích lập danh mục cho trang web của bạn để khách hàng tiềm năng có thể tìm thấy bạn. Và không phải tất cả lưu lượng truy cập ở tốc độ cao đều tự động: Các dịch vụ như mạng phân phối nội dung (CDN) và proxy có thể là nguồn lưu lượng hoặc lưu lượng truy cập cao, nhưng cũng có khi chỉ đơn giản là sự kết hợp của nhiều người dùng khác nhau.
Nhưng có lẽ quan trọng hơn, có nhiều tin tặc đủ tinh vi để biết rằng yêu cầu tạo ra ở tốc độ cao rất dễ phát hiện và chúng có một số chiến thuật để tránh bị phát hiện. Rachwald cảnh báo: "Tin tặc luôn sáng tạo để tránh bị phát hiện". Chiến thuật của chúng có thể bao gồm:
- Cố ý làm chậm hoặc tạm dừng tải công cụ xuống, để làm cho các mẫu lưu lượng truy cập được tạo ra trông giống như là của một người.
- Tấn công các trang web khác song song. Điều này liên quan đến việc sử dụng công cụ tấn công tự động để gửi lưu lượng truy cập đến một số trang đích khác nhau, do đó mặc dù công cụ tạo yêu cầu ở tốc độ rất cao nhưng các trang web riêng lẻ chỉ nhận được lưu lượng truy cập ở tốc độ "con người".
- Sử dụng nhiều máy chủ để khởi chạy các cuộc tấn công. Cách tiếp cận phức tạp hơn này cho phép tin tặc tấn công một trang web mà không cần tất cả lưu lượng truy cập đến từ một địa chỉ IP nguồn duy nhất và dễ dàng bị nhận biết.
Kết quả là, tỷ lệ yêu cầu đến cao chính là một đầu mối - nhưng không phải là sự nhận dạng tích cực - của một cuộc tấn công tự động. Chúng ta cũng phải tiếp tục tìm thêm các đầu mối khác.
Dấu hiệu 2: HTTP Headers
Tiêu đề HTTP có thể cung cấp một đầu mối có giá trị khác về bản chất của lưu lượng truy cập đến. Ví dụ, các công cụ SQL Injection tự động - sqlmap, Havij và NetSparker đều tự xác định chính xác các chuỗi tác nhân người dùng mô tả trong các tiêu đề yêu cầu HTTP. Đó là bởi vì những công cụ này dự định sẽ được sử dụng để kiểm tra quá trình thâm nhập hợp pháp (mặc dù các tin tặc độc hại cũng sử dụng chúng). Tương tự như vậy, các cuộc tấn công bắt nguồn từ các kịch bản Perl (Perl là một ngôn ngữ lập trình hacker yêu thích, theo Imperva) có thể được xác định bằng một tác nhân người dùng "libwww-perl".
Rõ ràng, bất kỳ lưu lượng nào có tên của các công cụ này trong chuỗi User Agent (Tác nhân Người dùng) đều sẽ bị chặn. Những chuỗi này tất nhiên có thể thay đổi, nhưng những hacker "newbie" thường không biết về phương pháp gian trá này - hoặc thậm chí không biết những chuỗi này đã tồn tại ngay từ đầu.
Nghiên cứu của Imperva đã phát hiện ra rằng nhiều hacker trong số chúng không gửi các loại thông tin tiêu đề mà hầu hết các trình duyệt thông thường sẽ có trong yêu cầu web của họ ngay cả khi các công cụ không chứa các chuỗi có thể nhận dạng được các công cụ tự động ngay lập tức. Các tiêu đề này bao gồm các tiêu đề như tiêu đề Accept-Language và Accept-Charset.
Một lần nữa, một hacker hiểu biết có thể cấu hình hệ thống của mình để thêm các tiêu đề này - nhưng nhiều số khác thì lại không. Việc thiếu các tiêu đề Accept này chắc chắn sẽ làm tăng cờ cảnh báo và kết hợp với các tỷ lệ yêu cầu cao, điều này sẽ cung cấp một dấu hiệu rất mạnh mẽ cho thấy lưu lượng truy cập là độc hại.
Dấu hiệu 3: Dấu vân tay công cụ tấn công
Các công cụ tấn công thực hiện các hành động khác nhau theo cách mà chúng đã được mã hóa, và cuối cùng sẽ có một loạt các thứ hữu hạn mà chúng có thể hành động tiếp sau đó. Bằng việc phân tích hồ sơ lưu lượng truy cập từ những gì sau đó - hóa ra là một cuộc tấn công tự động, đôi khi chúng ta có thể tìm thấy các mẫu - chẳng hạn như các chuỗi cụ thể trong các đoạn SQL được tạo ra sử dụng trong SQL injection nhằm xác định duy nhất một công cụ cụ thể trong công việc. (Đôi khi các chuỗi này có thể được phát hiện bằng cách kiểm tra mã nguồn của một công cụ nếu có sẵn.)
Những dấu vân tay này có thể hình thành cơ sở của các quy tắc chặn tường lửa, nhưng điều quan trọng cần lưu ý là chúng có thể thay đổi trong những phiên bản tiếp theo của công cụ.
Dấu hiệu 4: Địa lý bất thường
Imperva nhận thấy rằng khoảng 30% các cuộc tấn công SQL Injection tự động tốc độ cao bắt nguồn từ Trung Quốc và các cuộc tấn công khác bắt nguồn từ các quốc gia "hiếm" như Indonesia và Ai Cập. Rachwald gợi ý về việc nghi ngờ lưu lượng truy cập có thể đến từ các quốc gia không ngờ tới để có được lượng khách truy cập. Ông nói thêm: "Nếu bạn có một cửa hàng bán lẻ nhỏ ở Luân Đôn, tại sao bạn lại có khách đến từ Trung Quốc?".
Việc tăng lưu lượng truy cập từ các vùng địa lý xa xôi, không thể chứng minh cho điều gì - nhưng kết hợp với các dấu hiệu khác như thiếu tiêu đề Accept hoặc tỷ lệ yêu cầu cao, chừng đó đủ để đảm bảo kiểm tra chặt chẽ hơn hoặc thậm chí chặn được hoàn toàn lưu lượng truy cập.
Dấu hiệu 5: Danh sách đen các địa chỉ IP
Bất cứ khi nào một cuộc tấn công được phát hiện, địa chỉ IP nguồn đều có thể được ghi lại bằng bất kỳ phương pháp nào. Nhóm nghiên cứu của Imperva đã phát hiện ra rằng các cuộc tấn công tự động từ một địa chỉ IP duy nhất có xu hướng phát ra từ địa chỉ duy nhất đó với mức trung bình trong khoảng ba đến năm ngày. Tuy nhiên, một số địa chỉ IP tiếp tục là nguồn lưu lượng truy cập độc hại tự động theo tuần hoặc thậm chí theo tháng. Điều đó có nghĩa là danh sách đen các địa chỉ có thể rất hữu ích trong việc ngăn chặn nhiều hơn nữa cuộc tấn công tự động từ nguồn đó. Các nhà cung cấp bảo mật điện toán đám mây có thể tận dụng giá trị này bằng cách lên danh sách đen bất kỳ trang web nào là nguồn của các cuộc tấn công tự động vào bất kỳ khách hàng nào để bảo vệ tất cả các khách hàng khác từ mọi cuộc tấn công .
VCCloud via esecurityplanet.com
>> Có thể bạn quan tâm: Tại sao bảo mật web (Web Security) lại quan trọng?