Thursday, November 3, 2011

Tìm Lỗ Lấy Tiền

Trước giờ tôi ít khi kiểm tra hộp thư rác, thế mà tự dưng sáng nay vô coi thì phát hiện ra lá thư này do Mozilla gửi từ vài ngày trước:
We would like to thank you for your help on:

Bug 665814 - (CVE-2011-3389) Rizzo/Duong chosen plaintext attack (BEAST) on SSL/TLS 1.0 (facilitated by websockets -76)

While this doesn't qualify for a full $3000 bug bounty under our guidelines and no shipping version of Firefox was directly vulnerable to this attack (the vulnerable websockets version was disabled by default), your work did prompt us to strengthen our TLS implementation and push hard on Sun to get a fixed Java implementation to protect our users.

If you send me an address we can send each of you a check for $1000.00 USD or we can do a wire transfer. For the wire transfer we will need.

Bank Name:
Bank address:
SWIFT/IBAN Code:
Account number:
Name on account:
Your Home address:
[...]
Nội dung "nhìn" quá giống một tác phẩm của những nhà văn Nigeria từng đoạt giải Ig Nobel văn học 2005, hèn gì mà Gmail nhận nhầm. Hên quá ;-).

Tiện đây tôi cũng giới thiệu một chút về những chương trình Tìm Lỗ Lấy Tiền ;-) của các công ty phần mềm trên thế giới, mà tiêu biểu là Google, Mozilla và mới đây là Facebook.

Một trong những đề tài tranh cãi ưa thích của đám làm an toàn thông tin là cách thức công bố lỗ hổng. Trước đây nếu bạn tìm ra một lỗ hổng an ninh mới (gọi là 0-day vulnerability) trong một phần mềm quan trọng thì bạn có một số lựa chọn sau đây:

  1. Giữ riêng để sử dụng khi cần.
  2. Tìm cách bán ra chợ trời hoặc các "đầu nậu" mờ ám.
  3. Bán cho các "đầu nậu" hợp pháp, vốn sẽ cung cấp lại cho nhà sản xuất phần mềm.
  4. Thông báo miễn phí cho nhà sản xuất.
  5. Công bố rộng rãi.

Đương nhiên bạn sẽ im lặng nếu chọn phương án 1 hoặc 2. Phương án số 3 cũng giống phương án số 4, chỉ khác là bạn sẽ được thưởng tiền và không cần phải làm việc trực tiếp với nhà sản xuất. Phương án số 4 và số 5 chính là đề tài của các cuộc cãi vã triền miên.

Nếu bạn chọn số 5 thì nhà sản xuất và nhiều người khác sẽ quy kết bạn là kẻ vô trách nhiệm (và có thể  là háo danh nếu bạn là người mới), bởi thông tin về lỗ hổng có thể gây nguy hại cho người khác. Dẫu vậy vẫn có nhiều chuyên gia chọn phương án này, bởi vì họ cho rằng đây là cách tốt nhất khiến cho nhà sản xuất nhanh chóng sửa lỗi, vốn có thể đã bị phát hiện trước đó bởi những người chọn phương án số 1 và 2.

Phương án số 4 là lựa chọn phổ biến nhất, vì nó là một cách an toàn để tạo dựng uy tín cũng như tìm kiếm cơ hội nghề nghiệp. Khi chọn cách này, bạn sẽ làm việc với nhà sản xuất để giúp họ sửa lỗi. Khi lỗi được sửa, đa số nhà sản xuất sẽ ghi nhận sự đóng góp của bạn trên trang nhà của họ. Đôi khi họ cũng tặng quà hoặc gửi vé mời tham dự các hội thảo và các buổi tiệc mà họ tài trợ. Nhiều người chọn phương án này. Dẫu vậy nhìn chung là bạn phải làm việc không công cho nhà sản xuất. Kế hoạch công bố lỗi hay nghiên cứu của bạn sẽ phụ thuộc vào kế hoạch sửa lỗi của nhà sản xuất, mà có khi kéo dài vài năm. Cũng có trường hợp người thông báo lỗi bị nhà sản xuất đe dọa, thưa kiệnbị bỏ tù. Đây cũng là nguyên nhân chính khiến cho một số chuyên gia tên tuổi khởi xướng chiến dịch No More Free Bugs.

Từ hơn một năm nay thì các hãng phần mềm, đi đầu là Google, bắt đầu xây dựng các chương trình Tìm Lỗ Lấy Tiền kết hợp các điểm hay của phương án số 3, 4 và 5. Dẫu có thể khác nhau về chi tiết, nhưng tất cả các chương trình đều có luật chơi giống nhau: thưởng tiền (và hiện vật) cho những người săn lùng và thông báo lỗ hổng an ninh cho nhà sản xuất. Ví dụ như nếu bạn tìm được một lỗ hổng trong trình duyệt Firefox thì Mozilla sẽ thưởng cho bạn một số tiền. Hay nếu như bạn tìm được một lỗ hổng của Gmail thì Google cũng sẽ thưởng tiền cho bạn và còn trân trọng ghi tên bạn vào Google Security Hall of Fame. Thực sự tôi không có chủ ý thông báo nghiên cứu của mình cho họ để kiếm tiền thưởng, nhưng Mozilla cũng chủ động đề nghị.

Tôi nghĩ đây là một dạng "thú vui" mà những ai thích an ninh ứng dụng nên thử, những khi "nông nhàn" chẳng hạn. Nếu phát hiện lỗ hổng nguy hiểm, bạn vừa được thưởng tiền, vừa được ghi nhận, vừa thêm cơ hội nghề nghiệp. Tôi nghĩ trong năm vừa rồi, Sergey Glazunov, một tay tìm lỗ lấy tiền chuyên nghiệp, có thể đã bỏ túi vài chục ngàn đến cả trăm ngàn Mỹ kim. Ở VN hồi năm 2010 có anh Bùi Quang Minh cũng được Google thưởng một ngàn Mỹ kim cho lỗ hổng trong trình duyệt Chrome. Ngoài ra tham gia vào các chương trình này cũng là một cách tự giới thiệu hiệu quả, nếu như bạn muốn làm việc ở các hãng phần mềm lớn.

Thử xem ;-).

10 comments:

McStephen said...

Vừa thỏa mãn nghiên cứu vời có tiền. Một công việc tốt.

Mario said...

It's true, it doesn't look so different from spam xD

This would have been the equivalent of throwing away the mail when one of the letters had money in it :)

thaidn said...

@Mario: I didn't know that you can understand Vietnamese ;-)

xinhgai said...
This comment has been removed by the author.
xinhgai said...

Chúc mừng anh Thái. Tự nhiên có 1000 đi ăn phở. Mặc dù chắc là anh Thái làm ở đây thì lương một hai ngày của anh cũng có thể là bằng rồi. Tiền vẫn là tiền nhỉ, không thể chê được.

PS: Từ lần sau check spam thường xuyên, xem có hoàng tử Nigeria nào chết không nhé. ;-)

VanLinhEx said...

$1000 nhét túi , sướng thật :D

Pottie said...

Your work on this was exceptionally good. It is nice that they acknowledge your work and give you and Juliano some money but I believe they should reward you with a lot more than $1000.

Phạm Minh Tâm said...

( Blog của bạn có nhiều Members quá nhỉ - http://vatinam.blogspot.com )

Giap said...

Báo cho linkedin 1 đống lỗi có thể dùng spam ảnh sex giống Facebook nhận 1 câu cám ơn nhưng vẻ rất khó chịu. Chán

Trần Tân said...

1000 :(

chắc là gấp đôi gấp 3 lương IT VietNam cho SV mới ra trường quá :(