Re: [問題] 開啟檔案就損毀??

看板P2PSoftWare作者 (ISML實習分析師)時間12年前 (2011/12/01 02:52), 編輯推噓4(4011)
留言15則, 3人參與, 最新討論串2/2 (看更多)
※ 引述《chrisstar110 (找家教~)》之銘言: : 恩...我知道這個問題很怪,我抱持著懷疑的心態上來問問.. : 今天有位朋友告訴我,他寫了一個程式針對P2P軟體破壞的程式 : 大概的功能是這樣...如使用P2P軟體(如foxy BT驢子之類的) : 當要下載某個檔案時,可以讓該檔案在開啟時就損毀 : 目的在破壞該檔案,不再讓檔案繼續分享 : 我想請問一下有這樣的程式嗎? 或是類似功能的? : (如不適合在這邊問..請告知謝謝) 就我對 BT 機制的理解 我所想到的有一個 (似乎不太可能的) 可能性是這樣: BT 的正確性檢查是對每一個分塊做 hash 再來比對 所謂 hash (中文翻譯為雜湊或散列) 是指將一段很長的內容進行某個計算 得到一個比較短的值 (稱做 hash 值) 的這樣的函數 因此一樣的內容會得到一樣的 hash 值 而好的 hash 函數會設計成相似的內容得到的 hash 值會差很多 在 .torrent 檔裡存有每個分塊的 hash 值 當下載完一個分塊後就會去計算下載來的分塊的 hash 值去和存起來的值比對 如果不同則表示得到的資料不是正確的 問題在於 因為是將很長的內容計算成比較短的值 (在 BT 這裡是至少 256KB 的內容計算成 20 byte 長的 hash 值) 所以理論上是存在內容不同但 hash 相同的內容 (這在 hash 函數設計上叫做「碰撞」 而且以這個比例來看照理說是非常多的 幾年前有個大陸學者說她攻破了 MD5 (一個 hash 函數) 就是指她找到比暴力法所需時間還少的產生碰撞的方法) 因此如果抓來的和實際上的兩段內容不同但卻碰巧產生了一樣的 hash 值 那就會通過這個檢查 不太可能的點在於 BT 所使用的 hash 函數叫做 SHA-1 它的 hash 長度是 20 byte = 160 bit 以暴力法要找到另一組不一樣的內容能得出同樣的 hash 值 平均需要 2^159 ≒ 7*10^47 次 SHA-1 (比較一下: 宇宙誕生至今「只」經過 4.3*10^17 秒) 連續產生段落的話 平均要約 1.5*10^24 個段落後才會產生之前出現過的 hash 值 而對於 SHA-1 的結構 目前還沒有任何人能夠在合理的時間內「破解」它 (這還包含比較鬆的「找到兩組產生一樣的 hash 值」 這比「找出一組產生某個特定 hash 值的內容」還簡單 但就連這個比較簡單的問題 目前最好的結果 (約 2^63 ≒ 9*10^18 次 SHA-1) 也不能算是「合理時間」) 所以我個人是保持懷疑的態度就是了 (基本上要能有這個方法那還不如去發論文...) -- 之所以會想到這個方向是因為 至少這個程式做的「損毀」需要能夠通過 BT 的機制 也就是它得讓一個損毀的檔案被 BT 程式當成正確的檔案 這才能達到「阻止散播」的目的 不然即使破壞了這一個檔案 網路上還有千千萬萬個同樣檔案的複本存在 那麼要能繞過 BT 的正確性檢查就只有這個方法了 不可能去修改軟體的原因則是因為 這必須要對所有 BT 用戶的所有下載軟體進行改造 就算真能改造好了 你也沒辦法對網路上所有人的 BT 軟體進行改造... -- ナギ:「毎日毎日同じ事のくり返し。退屈でしかたがない。」 マリア:「そういうのは毎日学校に行ってから言ってください。」 ハヤテ:「そんなに退屈だったら、いっそSO○団でも作ってみては…」 ナギ:「ハヤテ。そんな風にアニメと現実をごっちゃにするのはよくないぞ。」 ハヤテ:「う゛っ!(お嬢さまに言われるなんて…)」 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.112.230.62

12/01 10:04, , 1F
專業推
12/01 10:04, 1F

12/01 10:41, , 2F
感謝~! 受益良多 那麼我想問,BT類有hash這保護機制
12/01 10:41, 2F

12/01 10:43, , 3F
那對於foxy這類是不是較容易達成破壞的目的(沒hash)
12/01 10:43, 3F

12/01 10:44, , 4F
另外j大上篇說的木馬破壞,不是容易被防毒抓到嗎?
12/01 10:44, 4F

12/01 10:46, , 5F
而您的結論也和y大不一致,可以請您再說明一下嗎^^"
12/01 10:46, 5F

12/01 11:52, , 6F
我的方法只能讓有被我植入木馬的電腦破壞 p2p上的是
12/01 11:52, 6F

12/01 11:52, , 7F
無法破壞的 如內文說的只能修改下載程式才可能
12/01 11:52, 7F

12/01 11:53, , 8F
我的方法是用VB或PHP寫的程序 防毒軟體不會抓到
12/01 11:53, 8F

12/01 15:22, , 9F
所以您的意思是說,如果讓該木馬以某種方式夾帶在
12/01 15:22, 9F

12/01 15:23, , 10F
欲破壞的檔案,p2p上其它使用者有可能在執行時就破壞
12/01 15:23, 10F

12/01 15:24, , 11F
要破壞的檔案囉?另..原來用VB或PHP寫不會被抓到阿...
12/01 15:24, 11F

12/01 15:32, , 12F
不是不會被抓到,而是看你用什麼方式對檔案做處理
12/01 15:32, 12F

12/01 15:33, , 13F
想取得某些權限必定會引發防毒或防火牆警告
12/01 15:33, 13F

12/01 15:35, , 14F
JG338說的只是單純在檔案前中後段多加個0110
12/01 15:35, 14F

12/01 15:37, , 15F
防毒/防火牆(套裝)是指部分有進階HIPS功能
12/01 15:37, 15F
文章代碼(AID): #1ErdjPPd (P2PSoftWare)
文章代碼(AID): #1ErdjPPd (P2PSoftWare)