Steganography TCP hoặc cách ẩn truyền dữ liệu trên Internet

Steganography TCP hoặc cách ẩn truyền dữ liệu trên Internet

Các nhà nghiên cứu Ba Lan đã đề xuất một phương pháp mới về mật mã mạng dựa trên các tính năng vận hành của giao thức lớp vận chuyển được sử dụng rộng rãi TCP. Các tác giả của tác phẩm tin rằng kế hoạch của họ, chẳng hạn, có thể được sử dụng để gửi các thông điệp ẩn ở các quốc gia toàn trị áp đặt kiểm duyệt Internet nghiêm ngặt. Chúng ta hãy thử tìm hiểu xem sự đổi mới thực sự là gì và nó thực sự hữu ích như thế nào.

Trước hết, bạn cần xác định steganography là gì. Vì vậy, steganography là khoa học về truyền tải thông điệp ẩn. Nghĩa là, bằng cách sử dụng phương pháp của mình, các bên đang cố gắng che giấu thực tế của việc chuyển giao. Đây là sự khác biệt giữa khoa học này và mật mã học, nó cố gắng làm cho nội dung tin nhắn không thể đọc được. Điều đáng chú ý là cộng đồng các nhà mật mã chuyên nghiệp khá coi thường kỹ thuật giấu tin do hệ tư tưởng của nó gần với nguyên tắc “Bảo mật thông qua sự mù mờ” (Tôi không biết nó phát âm chính xác như thế nào trong tiếng Nga, đại loại như “Bảo mật thông qua sự thiếu hiểu biết”). ”). Ví dụ, nguyên tắc này được Skype Inc. — mã nguồn của trình quay số phổ biến đã bị đóng và không ai thực sự biết chính xác dữ liệu được mã hóa như thế nào. Nhân tiện, gần đây, NSA đã phàn nàn về điều này, theo ghi nhận của chuyên gia nổi tiếng Bruce Schneier đã viết trên blog của tôi.

Quay trở lại với kỹ thuật giấu tin, chúng ta sẽ trả lời câu hỏi: tại sao lại cần đến nó nếu có mật mã? Thật vậy, bạn có thể mã hóa tin nhắn bằng một số thuật toán hiện đại và nếu bạn sử dụng một khóa đủ dài thì sẽ không ai có thể đọc được tin nhắn này trừ khi bạn muốn. Tuy nhiên, đôi khi việc che giấu sự thật về việc chuyển tiền bí mật sẽ hữu ích hơn. Ví dụ: nếu các cơ quan hữu quan chặn tin nhắn được mã hóa của bạn và không thể giải mã nó, nhưng thực sự muốn, thì xét cho cùng, vẫn có những phương pháp tác động và lấy thông tin không dùng máy tính. Nghe có vẻ lạc hậu, nhưng bạn thấy đấy, về nguyên tắc thì điều này có thể thực hiện được. Vì vậy, sẽ tốt hơn nếu đảm bảo rằng những người không được phép biết rằng việc chuyển tiền đã diễn ra. Các nhà nghiên cứu Ba Lan đã đề xuất một phương pháp như vậy. Hơn nữa, họ đề xuất thực hiện việc này bằng cách sử dụng giao thức mà mọi người dùng Internet đều sử dụng hàng nghìn lần mỗi ngày.

Ở đây chúng ta đến gần với Giao thức điều khiển truyền dẫn (TCP). Tất nhiên, việc giải thích tất cả các chi tiết của nó chẳng có ý nghĩa gì - nó dài dòng, nhàm chán và những ai cần nó đều biết điều đó. Nói tóm lại, chúng ta có thể nói rằng TCP là một giao thức lớp vận chuyển (nghĩa là nó hoạt động “trên” IP và “dưới” các giao thức lớp ứng dụng, chẳng hạn như HTTP, FTP hoặc SMTP), đảm bảo việc phân phối dữ liệu đáng tin cậy từ người gửi đến người nhận. Việc phân phối đáng tin cậy có nghĩa là nếu một gói bị mất hoặc bị sửa đổi, TCP sẽ đảm nhiệm việc chuyển tiếp gói đó. Lưu ý rằng những thay đổi trong gói ở đây không có nghĩa là cố ý bóp méo dữ liệu mà là lỗi truyền xảy ra ở cấp độ vật lý. Ví dụ: trong khi gói đang truyền dọc theo dây đồng, một vài bit đã thay đổi giá trị của chúng thành giá trị ngược lại hoặc bị mất hoàn toàn do nhiễu (nhân tiện, đối với Ethernet, giá trị Tỷ lệ lỗi Bit thường được lấy là khoảng 10-8 ). Mất gói trong quá trình vận chuyển cũng là một hiện tượng tương đối phổ biến trên Internet. Ví dụ, nó có thể xảy ra do tải trên các bộ định tuyến, dẫn đến tràn bộ đệm và kết quả là loại bỏ tất cả các gói mới đến. Thông thường, tỷ lệ gói bị mất là khoảng 0.1% và với giá trị vài phần trăm, TCP sẽ ngừng hoạt động bình thường - mọi thứ sẽ rất chậm đối với người dùng.

Như vậy, chúng ta thấy rằng việc chuyển tiếp (truyền lại) các gói tin là hiện tượng thường xuyên xảy ra đối với TCP và nói chung là cần thiết. Vậy tại sao không sử dụng nó cho nhu cầu steganography, vì TCP, như đã lưu ý ở trên, được sử dụng ở mọi nơi (theo nhiều ước tính khác nhau, ngày nay tỷ lệ TCP trên Internet đạt 80-95%). Bản chất của phương pháp được đề xuất là gửi tin nhắn được chuyển tiếp không phải những gì có trong gói chính mà là dữ liệu mà chúng tôi đang cố gắng ẩn. Tuy nhiên, việc phát hiện sự thay thế như vậy không phải là điều dễ dàng. Rốt cuộc, bạn cần biết nơi để tìm - số lượng kết nối TCP đồng thời đi qua nhà cung cấp đơn giản là rất lớn. Nếu biết mức độ truyền lại gần đúng trong mạng, bạn có thể điều chỉnh cơ chế chuyển tiếp steganographic để kết nối của bạn không khác biệt với những kết nối khác.

Tất nhiên, phương pháp này không tránh khỏi nhược điểm. Ví dụ, từ quan điểm thực tế, việc triển khai nó sẽ không dễ dàng như vậy - nó sẽ yêu cầu thay đổi ngăn xếp mạng trong hệ điều hành, mặc dù không có gì quá khó khăn về việc này. Ngoài ra, nếu có đủ tài nguyên, bạn vẫn có thể phát hiện các gói tin “bí mật” bằng cách xem và phân tích mọi gói tin trên mạng. Nhưng theo quy luật, điều này thực tế là không thể, vì vậy họ thường tìm kiếm các gói và kết nối nổi bật theo một cách nào đó và phương pháp được đề xuất chính xác là điều khiến kết nối của bạn không có gì nổi bật. Và không ai ngăn cản bạn mã hóa dữ liệu bí mật để đề phòng. Đồng thời, bản thân kết nối có thể không được mã hóa để ít gây nghi ngờ hơn.

Các tác giả của tác phẩm (nhân tiện, dành cho những người quan tâm, đây she) cho thấy ở cấp độ mô phỏng rằng phương pháp được đề xuất hoạt động như dự kiến. Có lẽ trong tương lai sẽ có người áp dụng ý tưởng của mình vào thực tế. Và sau đó, hy vọng rằng sẽ có ít sự kiểm duyệt hơn trên Internet.

Nguồn: www.habr.com

Thêm một lời nhận xét