Ghi chép: Các kỹ thuật duyệt web an toàn (phần 1)

Ghi chép: Các kỹ thuật duyệt web an toàn (phần 1).

I – Các nguy cơ bị mất thông tin riêng tư khi duyệt web

Khi duyệt web, dù vô tình hay cố ý, bạn cung cấp rất nhiều thông tin cá nhân lên mạng Internet và có thể bị thu thập hoặc đọc trộm:

  • Địa chỉ IP máy của bạn, bạn xem những trang nào, số lần và tần suất bạn mở một trang, địa chỉ email, địa chỉ nhà ở, ngày tháng năm sinh mà bạn khai tại một số trang, v.v… Các website có thể thu thập những thông tin đó để marketing, thậm chí để chia sẻ, bán cho các đối tượng khác.
  • Các username, password của webmail, tài khoản ngân hàng, … có thể bị đánh cắp bằng nhiều cách.
  • Nội dung thư điện tử, nội dung các văn bản soạn trên web (blog, Google Docs, …) có thể bị xem trộm trên đường truyền, ghi trộm bởi các malware cài trên máy bạn.
  • Một trong những nơi tập trung nhiều thông tin cá nhân nhất là máy chủ của các nhà cung cấp dịch vụ Internet cho bạn. Và tại đó, thông tin có thể dễ dàng được thu thập, xem trộm vì nhiều lý do.

Thông tin truyền đi trên Internet đi theo nhiều chặng, qua nhiều máy chủ trung gian (còn gọi là hop – bước nhảy). Có thể kiểm tra điều đó dễ dàng: mở trang web này (và còn nhiều trang khác có tính năng tương tự), đánh dấu chọn mục Trace, gõ địa chỉ máy chủ trên Internet (vd: mail.google.com) rồi nhấn nút GO ta sẽ có danh sách các máy chủ trung gian phải đi qua. Tại mỗi máy đó, thông tin có thể bị sao lưu, thống kê, xem trộm hoặc gửi đi đâu đó.

Ngay cả trên máy tính của bạn, trình duyệt web cũng lưu lại nhiều cạm bẫy. Mỗi trang web bạn đã xem có thể lưu lại một cookie, một file nhỏ để theo dõi thói quen người dùng. Các đoạn phần mềm java script, flash, các ảnh có thể chứa các mã độc. Các trang web đã xem được lưu lại dưới dạng cache trình duyệt, lịch sử các trang đã xem (history), username và password nhờ trình duyệt nhớ hộ, … đều có thể bị xem trộm bởi người hoặc phần mềm.

Có những thông tin như tên tuổi, địa chỉ, bạn có thể cố ý thay đổi. Nhưng cũng có những thông tin không thể thay đổi được. Cách đây ít năm, đã có một thí nghiệm tại Mỹ thu thập các loại thông tin do một người đưa lên Internet để dựng lại bức tranh về người đó (nam hay nữ, tầm bao nhiêu tuổi, sống ở đâu, làm nghề gì, có gia đình chưa, sở thích cá nhân, v.v…). Bức tranh dựng được chính xác đến nỗi mà người đó phải chuyển đi thành phố khác.

Một câu chuyện khác xảy ra ở Việt nam, tôi đọc được cách đây không lâu trên báo. Một phóng viên báo tỉnh được giao viết một phóng sự điều tra. Báo đó chưa kịp đăng thì một báo khác đã đăng. Phóng viên đó bị nghi ngờ chuyển bài đi nơi khác. Nhờ có người giúp đỡ, phóng viên đó đến đơn vị quản máy chủ Internet và “xin” được password Gmail của một đồng nghiệp đã nghi sẵn và từ đó minh oan được rằng chính đồng nghiệp đó đã lấy trộm bài báo gửi đi cho báo khác. (Đó là trước đây. Hiện nay Gmail đã dùng https thì không thể lấy được password dễ như vậy).

Tóm lại, Internet giống như một khu rừng hoang. Nhiều hoa thơm, trái lạ nhưng nguy hiểm cũng rình rập sau mỗi gốc cây, kể cả khi bạn là người du lịch vô tư trong sáng nhất.

II – Các biện pháp duyệt web an toàn đơn giản

II-1 Tránh lưu thông tin trên máy cá nhân

Trình duyệt Firefox có chế độ Private Browsing (vào Tools → Start Private Browsing), trình duyệt Google Chrome có chế độ Incognito Windows là những chế độ duyệt web không lưu lại dữ liệu gì trên máy cá nhân.

Nếu cẩn thận hơn, có thể tắt Java script, không cho hiện các ảnh (với Firefox: vào Preferences → Content, bỏ chọn các mục Load images automatically, Enable JavaScript). Tuy nhiên nếu trang web dùng JavaScript để hoạt động thì không bỏ được.

Các ảnh động Flash có thể chặn được bằng extensions Flashblock và chọn được chỉ cho chạy các Flash cần thiết. Phần lớn ảnh động Flash là ảnh trang trí hoặc quảng cáo nên chặn lại thì tốc độ duyệt web nhanh hơn và tránh được mã độc lẩn trong đó.

II-2 Kết nối với máy chủ bằng giao thức https

Nếu trang web hỗ trợ giao thức https thì giữa trình duyệt và trang web có thể thiết lập một kết nối an toàn. Mọi thông tin trao đổi giữa trình duyệt và trang web đều được mã hóa, không xem trộm được trên đường truyền. Một ví dụ cho loại kết nối này là dịch vụ Gmail, Zoho Mail (xem thêm tại đâytại đây).

Kết nối này có hai nhược điểm chính:

1- Chỉ kết nối được với máy chủ hỗ trợ https. Hiện nay phần lớn trang web không hỗ trợ kiểu kết nối này.

2- Tuy nội dung trao đổi được mã hóa, nhưng vẫn có thể biết người dùng kết nối vào trang web nào.

II-3 Dùng proxy server thông thường (web proxy).

Các máy chủ proxy là loại máy chủ trung gian trên mạng Internet. Thay vì kết nối thẳng vào trang web xyz.com, người dùng mở trang proxy abc.com rồi rồi gõ địa chỉ trang xyz.com vào đó. Máy chủ proxy abc.com sẽ kết nối và mở trang xyz.com. rồi truyền trang đó về trình duyệt của người dùng.

Các máy chủ proxy thông thường dùng giao thức http, không mã hóa dữ liệu.

Dùng máy chủ trung gian như trên về phía người dùng cuối đạt được hai mục đích:

  • Dấu được địa chỉ IP và các thông tin cá nhân khác của người duyệt web đối với trang web cần mở. (nhưng không dấu được với bản thân proxy hoặc với những kẻ đọc trộm trên đường truyền). Trang xyz chỉ biết là yêu cầu gửi từ máy chủ proxy đến và chuyển dữ liệu cho proxy. Địa chỉ IP nó ghi lại là của máy chủ proxy, không phải của máy người dùng.
  • Xem được các trang bị chặn bởi tường lửa.

Nhược điểm:

  • Dữ liệu truyền giữa máy người dùng và proxy không được mã hóa nên có thể bị xem trộm dọc đường truyền. Người xem trộm sẽ biết được bạn vào trang web nào, đọc cái gì.
  • Bản thân các máy chủ proxy cũng có thể thu thập dữ liệu về bạn hoặc thả virus vào máy của bạn. Khi dùng proxy thì không có cách nào khác ngoài việc tin tưởng vào nó.

Cách dùng: Trên Internet có rất nhiều web proxy (search “free web proxy”) lấy quảng cáo làm nguồn sống. Theo trang web proxy.org hiện có hơn 5300 proxy hoạt động trong tổng số 38.000 proxy server với nhiều tiêu chí lựa chọn khác nhau.

Chọn được trang nào, mở trang đó ra rồi nhập địa chỉ website cần truy cập vào đó và nhấn Enter  (hoặc nhấn nút GO hay Surf).

II-4 Dùng proxy server bảo mật (ssl proxy)

Các proxy bảo mật là loại proxy dùng giao thức https mã hóa dữ liệu truyền giữa proxy và trình duyệt (xem thêm về https tại đây). Địa chỉ các proxy này bao giờ cũng bắt đầu bằng https://

Loại proxy này cũng đạt được hai mục đích của proxy thông thường đã nói ở trên và khắc phục được nhược điểm thứ nhất: dữ liệu trao đổi giữa trình duyệt và proxy được mã hóa nên không sợ bị đọc trộm trên đường truyền từ trình duyệt đến proxy.

Tuy nhiên nó không khắc phục được nhược điểm thứ hai. Bạn dùng một proxy là buộc phải tin tưởng vào nó. Nếu nó thu thập dữ liệu về bạn hoặc nó bị hacker khống chế thì …

Tìm theo từ khóa “free ssl proxy” có thể tìm được nhiều địa chỉ các proxy bảo mật miễn phí.

Cách dùng: tương tự như trên.

Chú ý: cả hai loại proxy trên có chung nhiệm vụ chính là làm dịch vụ duyệt web trung gian. Nhưng mỗi proxy cụ thể lại có những đặc điểm riêng cần chú ý khi lựa chọn. Ví dụ webwarper.net cho phép truy cập nhanh bằng cách nén nội dung website, nhưng lại không đảm bảo ẩn danh hoàn toàn, v.v…

II-5 Các cách khác:

Còn nhiều cách nữa. Ví dụ xem tại :http://civisec.org/guides/everyones-guides

III – Mạng TOR

Mạng Tor là một kỹ thuật truyền dữ liệu trên Internet (duyệt web, email, chat, …) tương đối mới, dễ sử dụng và có tính an toàn cao.

Tor dựa trên kỹ thuật truyền tin mã hóa nhiều chặng nêu dưới đây.

III-1 Kỹ thuật truyền tin mã hóa nhiều chặng (Onion Routing)

Onion routing là kỹ thuật thông tin nặc danh (anonymous), chống xem trộm trên một mạng máy tính.

Thay vì kết nối trực tiếp giữa máy gửi tin và nhận tin, hai máy đó được kết nối gián tiếp qua nhiều máy chủ dẫn đường đặc biệt (onion router) chọn ngẫu nhiên.

Tại máy gửi tin, các gói tin được mã hóa thành nhiều lớp theo thứ tự các bộ dẫn đường đã chọn, mỗi lớp dùng khóa mã công khai (public key) của một bộ dẫn đường (router).

Vì vậy mỗi gói tin gồm nhiều lớp giống như củ hành và do đó có tên gọi onion (củ hành, xem hình dưới).

Khi gói tin đó truyền đến một router A, router đó dùng khóa mã riêng của mình (private key) giải mã lớp thông tin dành cho nó có địa chỉ router B tiếp theo và gửi gói tin tới đó. Tại router B, quá trình trên lặp lại và gói tin được gửi tiếp đến router C.

Quá trình truyền tin trả lời cũng làm tương tự theo thứ tự ngược lại.

Như vậy, mỗi router chỉ biết router trước đó gửi tin cho nó và router tiếp sau mà nó phải chuyển tiếp tin tới đó. Chỉ có router đầu tiên biết địa chỉ máy gửi và router cuối cùng biết địa chỉ máy nhận. Mỗi router cũng chỉ giải mã được phần thông tin dành cho nó mà không giải mã được các lớp thông tin khác được mã hóa bằng các khóa mã khác.

Kỹ thuật này tương tự như việc cho một bức thư vào nhiều lớp phong bì lồng nhau, rồi gửi từ nơi gửi đến nơi nhận qua nhiều người đưa thư theo từng chặng. Mỗi người đưa thư mở một lớp phong bì để đọc địa chỉ người đưa thư tiếp theo và chuyển thư cho người đó, cứ thế cho đến người nhận cuối cùng.

Ưu điểm của kỹ thuật này là nếu một số router trung gian bị khống chế, theo dõi bởi kẻ xem trộm cũng không thể xem được nội dung gói tin và địa chỉ nơi gửi, nơi nhận vì không thể giải mã được hết các lớp mã hóa khác do không biết khóa mã. Gói tin vẫn được truyền đi nặc danh và bảo mật. Chỉ khi nào theo dõi được toàn bộ các router mới có thể tìm được nơi gửi và nơi nhận.

Vì vậy bạn không cần phải tin cậy vào các router như phải tin cậy vào proxy. Và do đó, máy của bạn cũng có thể tham gia làm một onion router nếu muốn. Càng nhiều router thì mức độ an toàn của mạng càng cao.

Trong mỗi phiên liên lạc, các router lại được chọn ngẫu nhiên từ rất nhiều router có trên mạng. Vì vậy rất khó theo dõi.

(Còn tiếp)

//

3 thoughts on “Ghi chép: Các kỹ thuật duyệt web an toàn (phần 1)

  1. Đạo cao một thước, Ma cao mười trượng. Nhưng kẹt nhất là nhiều khi Đạo chính là con ma mặc áo giả làm Đạo. Con ma này không phải cao mười trượng mà cao mười một trượng, lại cũng có thề chỉ thấy cao một thước mà thôi. Đáng sợ lắm thay!

  2. Bài viết hay ! Cẩn tắc vô áy náy. Có còn hơn không. Mục đích của việc đội nón bảo hiểm không có nghĩa sẽ ngăn chặn tuyệt đối mọi sự cố giao thông mà chẳng may khi gặp sự cố nó sẽ bảo vệ tốt hơn (nếu không phải là mũ đểu) cái bộ xử lý (CPU) của người ngồi trên xe 😀

  3. Pingback: Ghi chép: Các kỹ thuật duyệt web an toàn (phần 2) « ZXC232-Phần mềm nguồn mở – Linux

Bình luận về bài viết này