‘Vòng lặp gây bực bội’
(herman.bearblog.dev)- Nền tảng blog miễn phí Bear trở thành mục tiêu của trang trại backlink, lừa đảo phishing, bán ma túy bất hợp pháp, quảng cáo casino trực tuyến và spam quảng bá crypto do rào cản đăng ký thấp
- Dù có thể giảm mức độ hiển thị bằng no-index·no-follow và loại khỏi feed, vẫn khó ngăn chặn việc nội dung spam tự thân được đăng lên nền tảng
- Cơ chế chặn dựa trên Akismet có hiệu quả, nhưng thông báo chặn lại tạo ra vấn đề là cung cấp cho kẻ spam manh mối để lách qua
- ‘Vòng lặp gây bực bội’ là cách không chặn trực tiếp mà thay vào đó đặt lại biểu mẫu, vô hiệu hóa dán, chuyển tiêu điểm và tạo lỗi lặp lại để lãng phí thời gian của kẻ spam
- Sau khi áp dụng, tỷ lệ spam trong các blog mới giảm từ khoảng 30% xuống dưới 5%, và trong 3 tháng chỉ có 1 người dùng báo vấn đề, đó là một người quảng cáo casino trực tuyến
Vì sao Bear trở thành mục tiêu của spam
- Bear có thể sử dụng miễn phí nên rất dễ đăng ký, và vì thế thu hút nhiều kẻ spam muốn lạm dụng nền tảng
- Spam ở đây gần với các trang trại spam kiểu mua “100 backlink” trên Fiverr hơn là lưu lượng bot đơn thuần
- Hàng trăm lao động lương thấp gửi nội dung lên khắp nơi trên web
- Mục tiêu là tăng thứ hạng SEO, nhưng tác giả cho rằng thực tế không có hiệu quả
- Bear đặt sẵn tuyến phòng thủ cơ bản để dù spam được đăng thì cũng không bị lộ ra internet rộng hơn
- Các blog chưa được duyệt sẽ gắn thẻ no-index và no-follow
- Cũng không xuất hiện trong sitemap và feed khám phá
- Khi người dùng chọn yêu cầu xét duyệt, trạng thái này có thể được gỡ bỏ
- Tuy vậy, ngoài việc ngăn hiển thị, Bear còn muốn giảm chính tình trạng nội dung spam tồn tại bên trong nền tảng
Cách làm chậm khả năng lách luật thay vì chỉ chặn
- Để phát hiện spam, Bear dùng Akismet, một công cụ thuộc hệ sinh thái WordPress
- Từng thử tự xây hệ thống phát hiện bằng GPT4, nhưng độ chính xác thấp hơn Akismet và chi phí cũng cao hơn
- Sau đó đã chuyển sang gói đăng ký Akismet
- Chặn ngay từ thời điểm đăng ký có hiệu quả phần nào, nhưng theo thời gian kẻ spam học được cách đối phó
- Việc chặn trở thành tín hiệu cho biết loại nội dung nào bị bắt
- Kẻ spam giả dạng như blog hợp pháp rồi đăng spam vào khu vực có kiểm soát lỏng hơn
- Cuối cùng vẫn phải tìm và đánh dấu thủ công
- Chặn IP cũng kém hiệu quả
- Kẻ spam dùng VPN thương mại như Nord
- Chỉ riêng Nord VPN đã có hàng trăm máy chủ trên toàn thế giới nên gần như không thể ngăn bằng chặn IP
- Nếu chặn việc đăng từ một IP cụ thể thì có thể chặn nhầm cả người dùng bình thường
Cách hoạt động của ‘Vòng lặp gây bực bội’
- The Frustration Loop không khóa blog ngay khi phát hiện spam, mà khiến mọi thứ trông như lỗi hệ thống hay thao tác thất bại để làm người dùng nản chí
- Ý tưởng đến từ The Password Game
- Khi phát hiện spam, hệ thống xóa biểu mẫu và hiển thị lỗi như “Our servers are bearly managing. Try again later.”
- Vô hiệu hóa thao tác dán trong mọi vùng nhập văn bản
- Cứ mỗi 5–10 giây lại chuyển tiêu điểm nhập sang ô khác, khiến nội dung có thể bị gõ nhầm chỗ
- Nếu gửi lại, hệ thống hiển thị một lỗi khác như “Ensure content contains necessary parameters.”
- Lặp lại quá trình này để đối phương nghĩ rằng phần mềm bị hỏng và bỏ cuộc
- Tác giả cho rằng khả năng kích hoạt nhầm với người dùng bình thường là thấp
- Trong thử nghiệm, không thể kích hoạt nếu không thực hiện hành vi bị nghi ngờ một cách rõ ràng
- Đã chạy trong môi trường production suốt 3 tháng, và chỉ có 1 người dùng báo vấn đề
- Người đó đang quảng cáo casino trực tuyến
Kết quả áp dụng và những lỗ hổng còn lại
- Sau khi áp dụng, tỷ lệ spam trong các blog mới giảm từ khoảng 30% xuống dưới 5%
- Đây không phải giải pháp hoàn hảo; vẫn còn những điểm cần cải thiện và các lỗ hổng cần bịt lại
- Dù có lo ngại rằng công khai cách làm sẽ giúp kẻ spam tìm cách vượt qua, tác giả cho rằng kẻ spam sẽ không đọc bài blog này
1 bình luận
Ý kiến trên Hacker News
Tôi nhớ đến Newsvine[2], một trang tin cộng đồng thời kỳ đầu do Mike Davidson[1], đồng nghiệp cũ ở ESPN, tạo ra vào năm 2006
Newsvine có bình luận, đề xuất, gửi liên kết và viết bài; đó là một dịch vụ giống Reddit nhưng tập trung vào tin tức. Để xử lý spammer và troll, nếu đánh dấu một người dùng là troll ở backend, họ sẽ thêm độ trễ ngẫu nhiên 10–60 giây vào mọi lần tải trang của tài khoản đó, và tôi nhớ là cách này đã giảm vấn đề khá hiệu quả
1- http://mikeindustries.com/blog/
2- https://en.wikipedia.org/wiki/Newsvine
Một người bị đánh dấu là troll ở backend vì một lý do hoàn toàn khác có thể gặp độ trễ khi giao tiếp với quan chức chính phủ. Độ trễ không giống chặn, nhưng tôi tự hỏi liệu với một thẩm phán liên bang, việc làm suy giảm trải nghiệm người dùng như vậy có đủ tương tự hay không
Trong lịch sử, tầng lớp giàu có, tầng lớp nghi lễ và tầng lớp nhàn rỗi có thể mua được nhiều sự chú ý hơn, nên họ liên tục rải ra đủ thứ nhiễu loạn nảy ra trong đầu. Giờ đây lượng nội dung sản xuất ra đã áp đảo lượng tiêu thụ, đến mức chẳng còn đủ sự chú ý cho bất cứ thứ gì
Nếu không ai đọc 99% bình luận và liên kết trên HN, liệu những thiên tài xuất sắc vận hành HN có nói cho chúng ta biết không? Các nền tảng đã trao quyền phát sóng miễn phí cho tất cả mọi người mà không hề biết mình đang tạo ra thứ gì, và giờ không chỉ người giàu mà ai cũng có thể spam và troll miễn phí. Thứ còn lại chỉ là tiếng ồn, nên hãy đọc báo cáo của Liên Hợp Quốc về kinh tế chú ý
Việc những kỹ sư phần mềm suy nghĩ một chiều có thể làm hệ thống nhanh hơn và mở rộng tốt hơn dường như là lý do duy nhất khiến các hệ thống vô nghĩa kiểu này, vốn lãng phí thời gian và năng lượng của mọi người, ra đời
Tôi đã làm việc bên trong Akismet hơn 6 năm
Akismet rất giỏi trong việc phát hiện spam bình luận, nhưng nếu nó cũng giỏi phát hiện spam đăng ký thì wordpress.com đã không có nhiều blog spam đến vậy
Tôi dùng công cụ tìm kiếm, danh sách thuật ngữ được tuyển chọn và các công cụ do lập trình viên làm cho để truy tìm blog spam, rồi đình chỉ hàng nghìn blog spam thật sự. Thỉnh thoảng cũng có sai sót, nhưng rất hiếm
Về sau có một số công cụ tự động hóa được tạo ra, nhưng việc săn tìm và đình chỉ kiểu này bị tụt xuống thấp trong danh sách ưu tiên. Có thể nói ban đầu wordpress.com cần trông sạch sẽ để có thể tăng trưởng, nhưng khi họ cho rằng nó đã đủ lớn thì dừng lại. Tôi biết việc đó giống như dùng súng nước để dập một chiếc xe đang cháy, nhưng không mất nhiều thời gian và khá thỏa mãn
Vào khoảng thời gian này hằng năm, tôi thường lục tìm các blog spam Halloween, và các blog spam Christmas cũng bắt đầu xuất hiện
Tôi dùng một cách đơn giản để loại bỏ spam email mà không cần bộ lọc bên thứ ba
Tôi có một tên miền cá nhân cho email và một tài khoản catch-all nhận mọi thư gửi tới tên miền đó. Nhưng với mỗi trang và dịch vụ, tôi cung cấp một địa chỉ khác nhau như sitea@mydomain.com, site2@mydomain.com
Làm vậy cho phép tự động phân loại thư một cách ổn định theo nơi gửi, và tôi cũng đặt định dạng tên nhất quán, nên các email ngẫu nhiên không khớp định dạng đó sẽ bị xóa ngay, tôi thậm chí không nhìn thấy
Tôi hầu như không nhận spam, nhưng nếu dịch vụ nào làm rò rỉ địa chỉ, tôi đổi email của dịch vụ đó hoặc hủy dùng, rồi đưa địa chỉ đó vào danh sách chặn nhận. Cách này đơn giản đến mức tôi cảm thấy mọi chương trình email đều nên có khả năng xử lý cả tên miền theo kiểu này
Ví dụ, nếu một “thông báo từ ngân hàng” được gửi đến địa chỉ tôi tạo cho một cửa hàng trực tuyến nào đó, thì nó không thể là thật. Có thể vô hiệu hóa địa chỉ bị lạm dụng bằng cách xóa nó khỏi /etc/aliases
Ngoài ra, tôi cấu hình máy chủ postfix từ chối kết nối nếu bên gửi không có ánh xạ DNS ngược. Cách này đã hiệu quả 20 năm trước và nhìn log thì hiện vẫn hữu ích
Ví dụ, thư gửi đến anything_s@mydomain.com sẽ đi thẳng vào thư mục spam. Tôi dùng địa chỉ kiểu này cho hầu như mọi thứ, từ Google đến đăng ký ở các website nhỏ. Dù sao thì đa phần họ chỉ gửi spam, và thỉnh thoảng tôi kiểm tra thư mục spam cũng chưa từng thấy gì quan trọng
Tôi cũng coi hầu hết email từ các doanh nghiệp thông thường là spam vì không quan tâm. Uber Eats gửi nhiều email cho mỗi đơn hàng, và theo tiêu chuẩn của tôi thì đó chỉ là spam. Nếu là một dịch vụ tôi thật sự quan tâm, tôi sẽ cấp một địa chỉ có hậu tố khác để không vào spam, nhưng hầu như không bao giờ cần
Cách này lọc tốt không chỉ spam phishing đến khi website làm rò rỉ địa chỉ, mà cả các email kiểu “thông tin quan trọng về một tương tác nhỏ” mà phần lớn website gửi
Catch-all khiến phía spammer thấy mọi thư đều được gửi thành công, nên có thể khiến spammer tiếp tục gửi lại và lãng phí tài nguyên của họ
Qua quan sát, spam chỉ đến các địa chỉ email tôi công khai trên blog và GitHub. Có vẻ không ai bán địa chỉ của tôi cho spammer; họ chỉ quét các địa chỉ công khai
Đội chống spam của các mạng xã hội thường shadow ban spammer
Mục tiêu là khiến spammer khó nhận ra nhất có thể rằng mình đã bị phát hiện. Vì vậy tôi cho rằng các kỹ thuật gây khó chịu hoặc khóa tài khoản đơn giản không được dùng rộng rãi
Chống spam thú vị ở chỗ về bản chất đó là một cuộc chạy đua vũ trang giữa công ty triển khai các chiến thuật phát hiện và những spammer tinh vi dùng các cách ngày càng phức tạp để né phát hiện. Nếu có thể khiến spammer tin rằng họ không cần cải tiến phương pháp của mình thì đó là lợi thế cho công ty
Tài khoản Instagram của tôi bị khóa vĩnh viễn vì lý do tôi mạo danh chính mình. Tệ hơn vì mất cả tài khoản, họ còn bắt gửi selfie, rồi ngay khoảnh khắc tôi nộp ảnh thì bị khóa vĩnh viễn
Chúng có thể kiểm tra mẫu xem bình luận có hiển thị hay không rồi tự động loại bỏ các tài khoản đã bị shadow ban
Akismet không có quy trình khiếu nại hoạt động đúng nghĩa. Từ rất lâu trước tôi từng bình luận trên blog của mình và bị Akismet cấm
Nếu bình luận ở nơi dùng Akismet thì bình luận bị lọc đi một cách âm thầm. Trên Disqus tôi cũng từng bị cấm vì đăng nhiều liên kết hữu ích trong phần bình luận blog của những người tôi quen, nhưng bên đó giải quyết trong 2 ngày và rất lịch sự
Ít nhất Akismet nên dọn dẹp những người dùng WordPress đã bị cấm từ lâu không biết bao nhiêu mà kể, còn WordPress nên chuyển sang một phương án thay thế bớt điên rồ hơn
Việc tôi không trả lời được trên blog WordPress của chính mình thật ra khá buồn cười, và với tôi thì dễ thôi vì có thể dùng engine blog khác, nhưng việc WordPress đối xử với người dùng của mình theo kiểu “giết bớt spam thôi mà” thì không hay
Thêm domain vào danh sách uBlock và tìm tiêu đề trên Google chỉ mất một cú nhấp. Không quy trình khiếu nại nào có thể dễ và đáng tin như thế
Bài gốc thiếu phần làm sao phân biệt người dùng hợp lệ để không đưa họ vào vòng lặp gây khó chịu
Bài viết nói rằng dùng Akismet để chặn spam khi đăng ký có hiệu quả phần nào nhưng dễ bị vượt qua, và một số spammer tìm được cách trông như blog bình thường nên phải tự tìm và đánh dấu thủ công. Sau đó họ tạo “Frustration Loop” để khi phát hiện spam thì làm lãng phí thời gian của chúng và khiến chúng bỏ cuộc
Nhưng ở phần liệu nó có kích hoạt với người dùng bình thường hay không, bài chỉ nói đại khái rằng họ đã vận hành trong 3 tháng và chỉ có một người dùng báo vấn đề. Cá nhân tôi thấy đây là điểm thú vị nhất trong bài
Bản thân biện pháp làm spammer khó chịu thì hay, nhưng tôi muốn có thêm nội dung về tách spammer khỏi người dùng thật, xác định false positive và false negative. Tôi hiểu khó công khai chi tiết phát hiện và chủ đề của bài là Frustration Loop
Nếu Akismet trả lời là spam thì bật vòng lặp gây khó chịu, nên tôi thấy cách đó khá khôn khéo
https://akismet.com/developers/comment-check/
Vì nếu giải quyết thì chỉ làm hại chỉ số và doanh thu, giờ tôi đã nghĩ như vậy
Cách chống spam hiệu quả nhất trong form liên hệ qua email là nhiều trường nhập văn bản ẩn có tên như “blindcopy”, “bcc”, “cc”, “additional address”
Tất cả đều được đặt giá trị mặc định, và trình xử lý gửi form sẽ từ chối nếu phát hiện giá trị của các trường này khác mặc định. Tôi nghĩ mình chưa nhận email giả nào từ form đó
Tôi thêm một trường ẩn không có văn bản vào form liên hệ, kèm văn bản gợi ý là lời cảnh báo lịch sự để hỗ trợ khả năng truy cập. Nếu trường đó được điền gì đó thì âm thầm bỏ đi, còn nội dung nhập sẽ được gửi bản sao cho tôi; trong khoảng 8 năm form đó tồn tại, tôi nghĩ số email spam là 0
Tuy vậy tôi thắc mắc trình quản lý mật khẩu hoặc tự động điền làm sao không bị mắc bẫy. Chúng có thể phát hiện trường không hiển thị chăng?
Có lấy mẫu nội dung mà người dùng trong nhóm “bị gây khó chịu” nhập vào để kiểm tra xem họ thật sự có bình thường không? Có tỷ lệ false positive và false negative không? Có xem tổng số lượt đăng ký hợp lệ giảm hay tăng không?
Cách này không phải chỉ một nơi dùng. Nhiều trang khi dùng VPN thì thất bại một cách âm thầm nhưng gây khó chịu, không hiện cả lỗi. Tắt VPN đi thì mọi thứ hoạt động như có phép màu. Etsy cũng từng có thời gian trả về trang trắng khi dùng VPN, cực kỳ khó chịu
Instagram có một vòng lặp gây bực bội. Tôi biết vì nó được kích hoạt trên tài khoản của tôi
Với mọi hành động tôi làm, dù nhỏ đến đâu, nó đều bắt tôi đăng nhập lại. Dù chỉ nhấp vào một liên kết hay làm bất cứ việc gì, lần nào tôi cũng phải đi qua màn hình đăng nhập
Ban đầu là “phát hiện hoạt động đáng ngờ trên tài khoản”, rồi tiếp đó là “tài khoản đã bị vô hiệu hóa”. Họ không nói lý do thật sự, nhưng lý do thực tế duy nhất trong quy định chính thức là tôi đã đăng bài khiến ai đó khó chịu
Nhưng cách giải thích đó có vấn đề. Tôi chưa từng đăng gì cả. Tất cả những gì tôi làm trên Instagram là theo dõi vài người. Sau khi nhập mã và thậm chí gửi ảnh của chính mình, tôi đã lấy lại được quyền truy cập tài khoản, nhưng giờ thì làm gì cũng phải đăng nhập lại. Thật khó tin đây là ngẫu nhiên hay lỗi; rõ ràng họ đã xác định tôi là một đối tượng có vấn đề, nhưng vì không đủ bằng chứng để “xử” nên có vẻ họ đang trừng phạt tôi vì một vi phạm tưởng tượng
Có lẽ nguyên nhân là thỉnh thoảng tôi đi theo các liên kết ảnh Instagram. Việc nó là một phần của Meta cũng là vấn đề, vì nếu đóng hẳn Instagram, tôi cũng sẽ mất quyền truy cập tài khoản Facebook dùng để liên lạc với vài người bạn ở xa
Thế giới đã rời khỏi Facebook và giờ mọi người đều ở trên Instagram. Có lẽ tôi cũng đã như vậy, nếu Instagram cho phép
Tôi thấy có người nói phát hiện spam là cuộc chiến sáng tạo giữa spammer và bên phát hiện; nếu là Akismet thì có thể đúng. Nhưng nếu là một website cung cấp nơi để spammer tụ tập, thì cục diện không còn như vậy nữa
Đây là cuộc cạnh tranh giữa blog/website của tôi và các blog/website khác. Nếu tôi được bảo vệ tốt hơn hàng xóm, spammer sẽ sang chỗ hàng xóm. Đặc biệt là khi chặn click farm chứ không phải bot
Nói đùa thì, trong rừng bạn không cần chạy nhanh hơn gấu, chỉ cần không phải là người chậm nhất trong nhóm