Steganografi TCP atau cara menyembunyikan penghantaran data di Internet

Steganografi TCP atau cara menyembunyikan penghantaran data di Internet

Penyelidik Poland telah mencadangkan kaedah baharu steganografi rangkaian berdasarkan ciri pengendalian TCP protokol lapisan pengangkutan yang digunakan secara meluas. Pengarang karya itu percaya bahawa skema mereka, sebagai contoh, boleh digunakan untuk menghantar mesej tersembunyi di negara totalitarian yang mengenakan penapisan Internet yang ketat. Mari cuba fikirkan apakah inovasi itu sebenarnya dan betapa bergunanya ia sebenarnya.

Pertama sekali, anda perlu menentukan apa itu steganografi. Jadi, steganografi ialah sains penghantaran mesej tersembunyi. Iaitu, menggunakan kaedahnya, pihak-pihak cuba bersembunyi hakikat pemindahan. Ini adalah perbezaan antara sains dan kriptografi ini, yang cuba menjadikan kandungan mesej tidak boleh dibaca. Perlu diingat bahawa komuniti profesional kriptografi agak menghina steganografi kerana kedekatan ideologinya dengan prinsip "Keselamatan melalui ketidakjelasan" (Saya tidak tahu bagaimana bunyinya dengan betul dalam bahasa Rusia, seperti "Keselamatan melalui kejahilan ”). Prinsip ini, sebagai contoh, digunakan oleh Skype Inc. β€” kod sumber pendail popular ditutup dan tiada siapa yang benar-benar tahu bagaimana sebenarnya data disulitkan. Baru-baru ini, NSA mengadu tentang perkara ini, seperti yang dinyatakan oleh pakar terkenal Bruce Schneier menulis di blog saya.

Kembali ke steganografi, kami akan menjawab soalan: mengapa ia diperlukan sama sekali, jika terdapat kriptografi? Sesungguhnya, anda boleh menyulitkan mesej menggunakan beberapa algoritma moden dan jika anda menggunakan kekunci yang cukup panjang, tiada siapa yang akan dapat membaca mesej ini melainkan anda mahukannya. Walau bagaimanapun, kadangkala lebih berguna untuk menyembunyikan fakta pemindahan rahsia. Sebagai contoh, jika pihak berkuasa yang berkaitan memintas mesej anda yang disulitkan dan tidak dapat menguraikannya, tetapi benar-benar mahu, maka, selepas semua, terdapat kaedah bukan komputer untuk mempengaruhi dan mendapatkan maklumat. Kedengarannya dystopian, tetapi, anda lihat, ini mungkin pada dasarnya. Oleh itu, adalah lebih baik untuk memastikan bahawa mereka yang tidak sepatutnya mengetahui sama sekali bahawa pemindahan telah berlaku. Penyelidik Poland mencadangkan kaedah sedemikian. Selain itu, mereka mencadangkan untuk melakukan ini menggunakan protokol yang digunakan oleh setiap pengguna Internet seribu kali sehari.

Di sini kita mendekati Protokol Kawalan Penghantaran (TCP). Menjelaskan semua butirannya, sudah tentu, tidak masuk akal - ia panjang, membosankan, dan mereka yang memerlukannya sudah mengetahuinya. Ringkasnya, kita boleh mengatakan bahawa TCP ialah protokol lapisan pengangkutan (iaitu, ia berfungsi "atas" IP dan "di bawah" protokol lapisan aplikasi, seperti HTTP, FTP atau SMTP), yang memastikan penghantaran data yang boleh dipercayai daripada pengirim kepada penerima. Penghantaran yang boleh dipercayai bermakna jika paket hilang atau tiba diubah suai, TCP akan menguruskan penghantaran semula paket tersebut. Ambil perhatian bahawa perubahan dalam paket di sini tidak bermakna herotan data yang disengajakan, tetapi ralat penghantaran yang berlaku pada peringkat fizikal. Sebagai contoh, semasa paket itu bergerak di sepanjang wayar tembaga, beberapa bit menukar nilainya kepada sebaliknya atau hilang sepenuhnya di antara bunyi bising (by the way, untuk Ethernet nilai Bit Error Rate biasanya diambil kira-kira 10-8 ). Kehilangan paket dalam transit juga merupakan kejadian yang agak biasa di Internet. Ia boleh berlaku, sebagai contoh, disebabkan oleh beban pada penghala, yang membawa kepada limpahan penimbal dan, akibatnya, pembuangan semua paket yang baru tiba. Biasanya, bahagian paket yang hilang adalah kira-kira 0.1%, dan dengan nilai beberapa peratus, TCP berhenti berfungsi seperti biasa - semuanya akan menjadi sangat perlahan untuk pengguna.

Oleh itu, kita melihat bahawa penghantaran semula (penghantaran semula) paket adalah fenomena yang kerap untuk TCP dan, secara amnya, perlu. Jadi mengapa tidak menggunakannya untuk keperluan steganografi, memandangkan TCP, seperti yang dinyatakan di atas, digunakan di mana-mana (mengikut pelbagai anggaran, hari ini bahagian TCP di Internet mencapai 80-95%). Intipati kaedah yang dicadangkan adalah untuk menghantar mesej yang dimajukan bukan apa yang ada dalam paket utama, tetapi data yang kami cuba sembunyikan. Walau bagaimanapun, mengesan penggantian sedemikian tidak begitu mudah. Lagipun, anda perlu tahu di mana hendak melihat - bilangan sambungan TCP serentak yang melalui pembekal adalah sangat besar. Jika anda mengetahui anggaran tahap penghantaran semula dalam rangkaian, anda boleh melaraskan mekanisme pemajuan steganografi supaya sambungan anda tidak berbeza daripada yang lain.

Sudah tentu, kaedah ini tidak bebas daripada kelemahan. Sebagai contoh, dari sudut pandangan praktikal, melaksanakannya tidak akan begitu mudah - ia memerlukan perubahan susunan rangkaian dalam sistem pengendalian, walaupun tiada apa-apa yang sukar untuk ini. Di samping itu, jika anda mempunyai sumber yang mencukupi, masih mungkin untuk mengesan paket "rahsia" dengan melihat dan menganalisis setiap paket pada rangkaian. Tetapi sebagai peraturan, ini hampir mustahil, jadi mereka biasanya mencari paket dan sambungan yang menonjol dalam beberapa cara, dan kaedah yang dicadangkan itulah yang menjadikan sambungan anda tidak biasa. Dan tiada siapa yang menghalang anda daripada menyulitkan data rahsia untuk berjaga-jaga. Pada masa yang sama, sambungan itu sendiri boleh kekal tidak disulitkan untuk menimbulkan kurang syak wasangka.

Pengarang karya itu (dengan cara ini, bagi mereka yang berminat, di sini she) menunjukkan pada peringkat simulasi bahawa kaedah yang dicadangkan berfungsi seperti yang diharapkan. Mungkin pada masa hadapan seseorang akan melaksanakan idea mereka dalam amalan. Dan kemudian, mudah-mudahan, akan ada sedikit penapisan di Internet.

Sumber: www.habr.com

Tambah komen