Giới thiệu về Tor và Tortilla (phần 2)

zozo

W-------
16/01/2015
4
11 bài viết
Giới thiệu về Tor và Tortilla (phần 2)
phần trước, tôi đã trình bày tổng quan, mục đích và mô hình hoạt động của mạng Tor. Phần này, chúng ta sẽ tiếp tục tìm hiểu việc sử dụng mạng Tor sẽ có những thuận lợi và rủi ro như thế nào? cùng tìm hiểu hiểu về Tor Browser Bundle và việc sử dụng Tortilla để tăng cường tính ẩn danh khi sử dụng mạng Tor.

I. Tor là gì? (tiếp)

1.3. Thuận lợi và rủi ro khi sử dụng mạng Tor.

Tor có hiệu quả cao để giúp bạn ẩn danh và vượt tường lửa. Cách mã hoá của Tor sẽ ngăn ngừa nhà điều hành mạng biết nội dung thông tin cá nhân, che dấu tung tích của đầu đối thoại bên kia cũng như trang web đang truy cập. Khi sử dụng đúng chức năng, nó sẽ bảo vệ người sử dụng nhiều hơn là một proxy đơn lẻ.
Nhưng:
- Tor có thể bị ngăn chặn vì phần lớn địa chỉ IP các trạm Tor được liệt kê cho công chúng biết. (Một cách để giải quyết vấn đề này là dùng cầu nối Tor (Tor bridges), là tên gọi các trạm Tor không được công bố công cộng để tránh bị chặn)
- Những phần mềm dùng qua mạng Tor có thể có những lỗ hổng làm lộ tung tích của bạn. Một ví dụ là vụ của Freedom hosting, 1 vài đoạn mã script giúp FBI có thể truy ra IP thât của người sử dụng – đó là lỗi của Tor trên Firefox 17 ESR.
- Tor không đảm bảo sự ẩn danh nếu các dữ liệu của các ứng dụng không được thiết kế chạy qua Tor. Một số plugin và đoạn mã (script) lờ đi các cấu hình proxy và qua đó có thể làm lộ địa chỉ IP. Gói trình duyệt Tor có kèm theo một ấn bản Firefox đặc biệt có gài sẵn Torbutton. Torbutton:
· Ngăn cản plugins khi Tor đang chạy
· Cách ly các nội dung động
· Xóa cookie
· Quản lí cache, lịch sử: chặn tấn công CSS, JS và ghi chép lịch sử(CSS, JS attacks + history recording)
· Đưa ra cảnh báo trước khi chạy một ứng dụng nào đó
· Quản lí người dùng và giả mạo vị trí
· Giả mạo Timezone
- Ngoài ra, nếu không dùng thêm các phương pháp mã hoá, thì thông tin có thể bị lộ ở trạm cuối của mạng Tor (exit node). Điều này có nghĩa là chủ nhân của trạm Tor chót và của dịch vụ ISP đứng giữa trạm đó với trang web đến có thể thấy các thông tin của bạn.
- Giống như tất cả các mạng vô danh tiềm tàng khác, theo lý thuyết, Tor có nhược điểm là nếu như một phần mềm theo dõi mạng được cài đặt tại 2 máy đầu và cuối trong mạng Tor nó có thể phân tích các thông tin được trao đổi từ 2 máy đó qua mạng Tor. Nhưng cũng rất khó khăn bởi Tor liên tục tự động thay đổi máy chủ, cả máy đầu và máy cuối trong mạng, và dữ liệu cũng đã được mã hóa.

II. Tor Browser Bundle

Tor Browser Bundle (TBB) là gói trình duyệt Tor cho phép sử dụng Tor trên Windows, Mac OS X, hay Linux mà không cần cài đặt bất kỳ phần mềm nào. Hai thành phần chính của TBB là Tor và một phiên bản sửa đổi của Firefox ESR.
Tor chạy một SOCKS server, lắng nghe cục bộ trên cổng TCP 9050. Tor định tuyến kết nối thông qua mạng ẩn danh Tor. Phiên bản sửa đổi của Firefox sẽ định tuyến tất cả lưu lượng DNS và HTTP(S) thông qua SOCKS server trên.
Mặc dù việc tải về và cài đặt TBB tương đối dễ dàng và đảm bảo việc phục vụ nhu cầu lướt web cơ bản, tuy nhiên có 1 số vấn đề sau:
- Firefox là trình duyệt duy nhất được hỗ trợ bởi TBB. Trong khi đó, trong 2 năm qua đã có hơn 6 lỗ hổng được phát hiện trên firefox nhiều hơn Internet Explorer. Hơn nữa, có một số plugin (Adobe Flash...) không tương thích với TBB, do đó không thể chuyển hướng truy cập internet của các plugin đó qua Tor.
- Đa số các phần mềm không hỗ trợ TCP qua SOCKS server
- Một số phần mềm hỗ trợ TCP qua SOCKS server nhưng lại không hỗ trợ DNS qua SOCKS server.
Để giải quyết các vấn đề này, dự án phần mềm Tortilla đã được phát triển.
III. Tortilla

1. Tổng quan

Tortilla là một dự án phần mềm được thiết kế để cho phép người sử dụng dễ dàng, an toàn và bảo mật khi sử dụng Tor để ẩn danh trên internet.

2. Mục tiêu

Giải pháp lý tưởng được đưa ra để đảm bảo sự an toàn là toàn bộ lưu lượng truy cập internet đều đi qua Tor.
Tortilla gồm 5 mục tiêu:
- Định tuyến toàn bộ lưu lượng TCP và DNS qua Tor.
- Không cho phép kết nối internet nếu không đi qua Tor.
- Không yêu cầu người sử dụng cài đặt hệ điều hành mới.
- Không cho phép các phần mềm độc hại phá vỡ các đường hầm Tor để kết nối trực tiếp với internet.
- Không yêu cầu thêm phần cứng hoặc thêm máy ảo.
Một số giải pháp từng được nêu ra nhưng không đáp ứng được tất cả các mục tiêu:
- Hardware-Based Transparent Proxy
- Software-Based Transparent Proxy
- Tor tích hợp trực tiếp vào hệ điều hành
- Winsock Hooks

3. Kiến trúc Tortilla

1490893202tor1.jpg


Hình 5: Kiến trúc Tortilla
Các ứng dụng mạng được chạy bên trong một máy ảo để mã độc không thể phá vỡ các đường hầm Tor để truy cập trực tiếp internet và không xác định được thông tin trên hệ thống host. Hai thành phần của Tortilla – Tortilla client và Tortilla virtual network adapter – chỉ chạy trên host.
Tortilla cài đặt một thiết bị mạng ảo Tortilla adapter và một drive NDIS miniport tương ứng (tortilla.sys). Trong quá trình cài đặt, Tortilla vô hiệu hóa các thành phần mạng (clients, các dịch vụ, và các giao thức) ngoại trừ Virtual Network Bridge, đảm bảo rằng các thành phần trên máy host không gây cản trở sự hoạt động của Tortilla.

1490893202tor2.jpg


Hình 6
Sau khi Tortilla được cài đặt, ta có thể cấu hình card mạng ảo kết nối với Tortilla adapter:

1490893202tor3.jpg


Hình 7

Sau khi kết nối, Tortilla client sẽ nhận được toàn bộ lưu lượng mạng từ tầng 2 mô hình OSI thông qua card mạng ảo của máy ảo.
Tortilla client sẽ xử lý 4 loại gói tin nhận được từ máy ảo:
- Gói DHCP Discover/Request: Tortilla client giống như một DHCP server cấp cho máy ảo một địa chỉ IP, subnet mask (mặt nạ mạng), địa chỉ gateway và địa chỉ IP của DNS server, tất cả đều được cấu hình.
- Gói ARP Requests: Tortilla client sẽ reponds lại tất cả các thông điệp ARP requests với địa chỉ MAC mặc định 7A:C0:7A:C0:7A:C0 (TACO TACO TACO).
- Gói DNS Type A (phân giải tên miền thành địa chỉ IP) và Type PTR (phân tích, tìm ra tên miền từ địa chỉ IP): DNS server sẽ phân tích các truy vấn, gửi request thông qua Tor và responses lại cho máy ảo.
- Gói TCP: khi Tortilla client nhận được một gói TCP SYN từ máy ảo, nó sử dụng Tor SOCKS server để kết nối tới máy chủ đích thông qua Tor. Nếu kết nối thành công, Tortilla sẽ xử lý kết nối tới Lightweight TCP/IP stack (lwIP – là một ứng dụng nhỏ và độc lập có khả năng TCP/IP) – nó sẽ hoạt động như proxy giữa máy ảo và Tor SOCKS server.
Tất cả các loại gói tin khác đều được giảm thiểu hoặc bỏ qua bởi Tortilla.

IV. Kết luận

Việc ẩn danh là cần thiết với rất nhiều người sử dụng internet. Sự kết hợp của Tor và Tortilla giúp người sử dụng ẩn danh một cách dễ dàng và hiệu quả. Đây cũng là một phương pháp vô cùng hữu hiệu đối và thường được các hacker sử dụng khi tấn công vào các hệ thống mà không muốn bị phát hiện.

V. Tài liệu tham khảo
- https://www.torproject.org/
- http://news.cnet.com/8301-1009_3-57596462-83/tortilla-tool-makes-anonymizer-tor-more-digestible/
- http://threatpost.com/tortilla-tool-anonymously-routes-tcp-dns-traffic-through-tor
- US-13-Geffner-Tor...-All-The-Things-Slides
 
Mời các bạn tham gia Group WhiteHat để thảo luận và cập nhật tin tức an ninh mạng hàng ngày.
Lưu ý từ WhiteHat: Kiến thức an ninh mạng để phòng chống, không làm điều xấu. Luật pháp liên quan
Bên trên