Bốn cách tin tặc ngụy trang cuộc tấn công credential stuffing

10:17 | 10/02/2022
Đăng Thứ (Theo CSonline)

Bài báo này đưa ra bốn kỹ thuật tội phạm mạng đang sử dụng để che giấu các hoạt động tấn công sử dụng credential stuffing, kèm theo thông tin chi tiết về cách bảo vệ chống lại các cuộc tấn công này.

Credential stuffing (Nhồi nhét thông tin xác thực) là hình thức tấn công mạng mà trong đó tin tặc sử dụng các tài khoản và mật khẩu bị lộ lọt ra bên ngoài để có được truy cập trái phép vào các tài khoản người dùng thông qua các yêu cầu đăng nhập được tự động hóa và thực hiện trên diện rộng. Việc sử dụng tài khoản ở nhiều nơi, tình trạng một mật khẩu được tái sử dụng nhiều lần và lượng thông tin đăng nhập bị rò rỉ trên dark web đang tạo ra các điều kiện hoàn hảo cho tin tặc tiến hành các chiến dịch tấn công sử dụng các kỹ thuật Credential Stuffing. Cùng với đó, các chiến thuật mà tin tặc sử dụng để khiến cho việc nhận diện và phòng chống kiểu tấn công này đã trở thành một thách thức cho các tổ chức. Dưới đây là bốn kỹ thuật tội phạm mạng đang sử dụng để che giấu các hoạt động tấn công sử dụng credential stuffing, kèm theo thông tin chi tiết về cách bảo vệ chống lại các cuộc tấn công này.

Giới hạn cường độ gửi yêu cầu để thoát khỏi các thiết lập kiểm soát cường độ

Một thủ thuật phổ biến để che giấu tấn công Credential stuffing là giới hạn cường độ (rate limit) gửi yêu cầu. Michael Isbitski, người từng là nhà phân tích của Gartner và hiện nay là technical evangelist của Salt Security, cho biết: “Đặt ra hạn chế cường độ và tài nguyên phục vụ thường được khuyến nghị sử dụng cho các cơ chế cung cấp API trung gian. Ví dụ, tổ chức có thể đặt ra giới hạn ngưỡng ở mức 10 yêu cầu một phút cho một API nhất định được cung cấp bởi một API gateway. Nếu một API caller thực hiện 11 yêu cầu một phút, 10 yêu cầu đầu tiên sẽ được thực hiện trong trường hợp người yêu cầu có quyền truy cập, còn yêu cầu thứ 11 sẽ bị chặn lại; Ngưỡng này thường được đặt lại trong phút tiếp theo. Trong khi đó, một số cơ chế đặt ngưỡng cho phép đặt ngưỡng động để khi một API caller khả nghi được coi là đang có hành vi lạm dụng, nó sẽ bị hạn chế trong khung thời gian dài hơn, giống như một ngưỡng khóa tài khoản của API.

Khi kẻ tấn công giới hạn cường độ gửi yêu cầu, chúng cấu hình các công cụ hoặc script hoạt động gần tới mức giới hạn của hệ thống và ngừng lại. Kỹ thuật này thường hoạt động hiệu quả do các cấu hình hạn chế ngưỡng tĩnh thường chỉ dựa trên các hình thái sử dụng ở trạng thái bình thường mà không tính đến các trường hợp tài nguyên bị lạm dụng. Cấu hình hạn chế ngưỡng động dựa trên phân tích hành vi liên tục của các API callers trong các phiên kết nối là hình thức phòng thủ tốt nhất đối với kỹ thuật tấn công này”.

Dịch vụ nhập CAPTCHA thuê để qua mặt cơ chế chống tự động hóa

Các cuộc tấn công credential stuffing đều được tự động hóa. Do đó, tin tặc cần tìm ra các giải pháp để vượt qua các cơ chế kiểm soát vốn được thiết kế để lọc bỏ các phiên đăng nhập không phải do con người thực hiện, cụ thể là CAPTCHA. Mã CAPTCHA được sinh tự động khi có một yêu cầu đăng nhập, yêu cầu người dùng thực hiện một tác vụ liên quan đến hình ảnh để chứng minh người gửi yêu cầu là người thật, không phải là bot. Đây chỉ là các bài kiểm tra rất đơn giản đối với con người, nhưng một chương trình máy tính thì khó có khả năng biên dịch thông tin và đưa ra phản hồi đúng khi đó, yêu cầu truy cập từ bot sẽ bị từ chối.

Trong trường hợp này, tin tặc cần đầu tư nhiều thời gian và công sức để tìm giải pháp để bỏ qua rào cản này. Troy Hunt đã dẫn lại một trường hợp đã xảy ra trong quá khứ, tại đó dịch vụ giải CAPTCHA thuê được sử dụng. Những người đứng sau dịch vụ này liên tục nhận được các dữ liệu mã CAPTCHA để giải rồi gửi lại kết quả thông qua các API tương ứng với giá rẻ. Tỉ lệ thành công là rất cao (hơn 90%). Đây là một ví dụ thú vị về việc cơ chế chống tự động hóa bị qua mặt một cách dễ dàng.

Điều này giúp nâng cao lợi nhuận mà tin tặc thu được thông qua tấn công credential stuffing sử dụng các tài khoản bị rò rỉ. Điều duy nhất người dùng có thể làm là tìm cách nâng cao chi phí về thời gian, công sức của các vụ tấn công này, làm giảm tỉ lệ lợi nhuận trên chi phí mà tin tặc đầu tư (ROI).

Thay đổi dữ liệu trong HTTP header để tránh bị phát hiện

Michael Isbitski cho biết, một số cơ chế phát hiện cố gắng lập hồ sơ hoặc xác định một API caller bằng cách phân tích dữ liệu trong HTTP header. Tuy nhiên, việc chỉ dựa vào việc phân tích bảo mật trên thông tin metadata này là không đáng tin cậy và là thứ mà những kẻ tấn công tìm cách khai thác. “Người dùng hoàn toàn có thể kiểm soát các thông tin này chỉ với một vài plugin trình duyệt. Sử dụng các proxy chặn giữa cho phép tin tặc khả năng thay đổi các HTTP header theo ý muốn và có thể tự động hóa sự thay đổi này trên các tập hợp nhiều yêu cầu để tránh bị phát hiện. Tin tặc cũng có thể đóng giả một người dùng web, một người dùng thiết bị di động, một thiết bị IoT hoặc bất cứ thứ gì khác, nếu như cơ chế phát hiện bị giới hạn ở việc kiểm tra HTTP header”.

“Các tổ chức cần phân tích nhiều thứ hơn, đồng thời kiểm tra các hành vi của người dùng trong phiên kết nối để nhận diện các API caller có dấu hiệu lạm dụng. Điều này đòi hỏi việc thu thập các thông số của API tại nhiều điểm khác nhau trong kiến trúc ứng dụng và khả năng phân tích liên tục nhằm xác định các điểm bất thường, chỉ báo các dấu hiệu của một cuộc tấn công”.

Phân bổ các yêu cầu kết nối API rộng khắp toàn cầu nhằm qua mặt allow/deny lists

Tính năng danh sách địa chỉ IP được cho phép hoặc từ chối (allow and deny lists) cho phép hệ thống gọi đến một API phụ được cấu hình sẵn, để kiểm tra thông tin và chặn kết nối mạng nếu yêu cầu sử dụng API được gửi từ một địa chỉ IP hoặc một vùng mạng được xác định là độc hại. Để vượt qua các deny list kể trên, tin tặc sử dụng proxy trung gian để làm cho các yêu cầu đăng nhập trông có vẻ khởi nguồn từ các vị trí địa lý khác nhau.
Trả lời phỏng vấn CSO Online, Chris Morgan, chuyên viên phân tích cao cấp về cyberthreat intelligence tại Digital Shadows cho biết: “Kỹ thuật này cho phép tin tặc giả vờ như đang gửi yêu cầu từ một đất nước khác, khiến những hệ thống bảo vệ mạng chỉ có thể nhìn thấy thông tin giả dạng của địa chỉ IP nguồn của các gói tin gửi đến. Chúng sử dụng các tunnel mạng để che giấu địa chỉ IP và vị trí địa lý thật của chúng, gây khó khăn cho các hệ thống bảo vệ mạng”.

Michael Isbitski cho biết thêm: “Tin tặc cũng lợi dụng các nền tảng điện toán đám mây để khởi phát và phân bổ các cuộc tấn công. Không gian địa chỉ IP của các nhà cung cấp dịch vụ đám mây (Cloud service providers – CSP) thường được các tổ chức tin cậy, do đó hoạt động của tin tặc trên các nền tảng này thường không gặp nhiều vấn đề trong việc tổ chức các cuộc tấn công nhằm vào các tổ chức. Thực tế là các địa chỉ IP trên cloud, đặc biệt là với các dạng máy tính được tích hợp sẵn, thường có thời gian tồn tại quá ngắn và các tổ chức thường không kịp cập nhật chúng trong danh sách allow/deny của mình. Kể cả trường hợp nhà cung cấp dịch vụ đám mây có phát hiện được tài nguyên của tin tặc trên nền tảng của mình, chúng sẽ tiếp tục chuyển sang sử dụng dạng tài nguyên tính toán mới hoặc chuyển sang sử dụng nhà cung cấp dịch vụ khác. Giống như với kỹ thuật giới hạn cường độ (rate limit), các hệ thống bảo vệ cần phải năng động hơn để có thể nhận biết các dấu hiệu khi kẻ tấn công thay đổi nguồn gửi yêu cầu sử dụng API hoặc biểu hiện những hành vi lạm dụng đáng nghi ngờ”.

Phòng chống tấn công credential stuffing

Troy Hunt cho rằng chiến lược phòng thủ nhiều lớp là chìa khóa thành công trong việc chống lại tấn công credential stuffing, bắt đầu từ việc đơn giản như xây dựng văn hóa sử dụng mật khẩu tốt trong tổ chức. “Cần hướng người dùng đến với thói quen sử dụng trình quản lý mật khẩu để quản lý các tài khoản. Tôi nghĩ đây sẽ là một thành công dễ dàng đạt được và đạt hiệu quả cao. Hãy khuyến khích người dùng ngừng những thói quen quản lý mật khẩu làm tăng nguy cơ bị chiếm đoạt tài khoản”.

“Sử dụng xác thực hai yếu tố là lựa chọn tốt nhất tiếp sau đó. Tính năng cơ bản như xác thực SMS cũng giúp ích rất nhiều và dễ triển khai. Cung cấp phương tiện cho người dùng sử dụng luôn là một ý tưởng hay, vấn đề chỉ nằm ở chỗ tính năng mới cần hoạt động với ít ảnh hưởng nhất tới luồng thực hiện đăng nhập của họ. Rõ ràng chúng ta không muốn triển khai một tính năng xác thực mà lại làm cản trở việc sử dụng dịch vụ của người dùng”.

Từ đó, có thể đặt ra thêm những ngưỡng tin cậy liên hợp, có khả năng gửi cảnh báo khi những dấu hiệu khả nghi xuất hiện, yêu cầu kiểm tra xác thực bổ sung. Troy Hunt khuyến nghị các tổ chức cần thông hiểu các chỉ số rủi ro trong phạm vi các dịch vụ họ cung cấp và đo lường tác động của các phiên đăng nhập khả nghi trên từng dịch vụ và cần có những biện pháp kiểm soát tương xứng với rủi ro và tác động đối với dịch vụ.