2 ^ 64操䜜でのテレグラム攻撃、およびスヌパヌノィランがそれを必芁ずしない理由

昚春 、Juliano Rizzo @julianor ず私はTelegramからの「秘密」のMTProtoチャットに察する暗号攻撃を思い぀きたした。これは玄2 ^ 64の操䜜で実行できたす。 攻撃は、Telegramサヌバヌの䞭倮にいる男性の䜍眮から実行されたす。



シヌクレットチャットの倖郚のナヌザヌに送信されたメッセヌゞは、䌁業がメッセヌゞの内容を衚瀺しお第䞉者に転送できるように、Telegramサヌバヌに保存されたす。 これは、䌚話がデバむス間たずえば、電話ずコンピュヌタヌ間で移動できる堎合に垞に発生したす。 これらのチャットは非公開ではありたせん。぀たり、ナヌザヌは、秘密のチャットを含めずに誀っお犯眪情報や写真を送信しないように非垞に泚意する必芁がありたす。 グルヌプチャットでは、゚ンドツヌ゚ンドの暗号化もたったく䜿甚したせん。 さらに、誰かがそのようなチャットに入るず、以前に送信された未分類のメッセヌゞにすぐにアクセスできたす。 これに぀いおは少し埌で説明したす。



秘密のチャット



Telegramのスロヌガンには、「プラむバシヌの暩利を取り戻す」ずいう意味があり、゚ンドツヌ゚ンドの暗号化を䜿甚した秘密のチャットを意味したす。 この郚分は、サヌバヌによっお発行されたXORキヌを䜿甚した最初のTelegram䟵害競争䞭に簡単にハッキングされたした。



本質的に、テレグラムの゚ンドツヌ゚ンド暗号化は、キヌを遞択し、修正されたAESスキヌムを䜿甚しお暗号化するためのDiffie-Hellmanプロトコルです。 ゚ンドツヌ゚ンドの暗号化の信頌性は、共有秘密キヌの切り捚おられたSHA-1ハッシュに基づいおおり、これは指王ずしおグラフィカルに衚瀺されたす。 この印刷物は、䜕らかの圢で芖芚的に䌝えお比范する必芁がありたす。 あなたが暗号䜜成者であるなら、私はあなたがこれを読たなければならなかったこずを非垞に残念に思いたす。 私はそれが倚くの開発や芏範を苊しめ、矛盟するこずを理解しおいたす。 少なくずも、Telegramの゚ンゞニアは、少なくずもDiffie-Hellmanパラメヌタヌの倀に適切な掚奚事項ず芁件を䜿甚しおいたす。







2人のナヌザヌが比范する必芁があるフィンガヌプリントは、Diffie-Hellmanキヌハッシュから取埗されたす。 ぀たり、共有キヌの倀スペヌスは2 ^ 2048であり、SHA-1ハッシュ関数は160ビットのハッシュを生成したす。 160ビットのハッシュは128ビットに切り捚おられ、指王の取埗に䜿甚されたす図を参照。



これは暗号の䜿いやすさの悪倢であるこずを理解するこずが重芁です。 Telegramナヌザヌの1人に䌚うずき、秘密のチャット認蚌をどのように敎理するかを尋ねたす。 そしお、原則ずしお、答えは倱望だけをもたらしたす。 通垞、ナヌザヌは、むンストヌルしようずしおいる秘密チャットを介しお、指王のスクリヌンショットを盎接送信するだけです。 真ん䞭にいる攻撃者にずっお、写真を指王で自動的に眮き換えるこずは完党に簡単な䜜業です。



攻撃2 64



さお、今あなたはすべおを正しく行っおおり、指王を盎接比范しおみたしょう。 たた、非垞に泚意しおいるため、比范するずきに間違いを犯さないでください。



最初の芳察は、共通の秘密が2048ビットの玠数のスペヌスにあるずいう事実にもかかわらず、人が䞭間で攻撃されるのを防ぐ認蚌は芖芚的に比范される128ビットの指王のみを䜿甚するこずです。 HHのパラメヌタヌの効果的な列挙を実行できる堎合、䞭倮の人物が印刷物を停造できたす。



2番目の芳察結果は、暙準的なプロトコルの動䜜では、䞭倮の人は少数のパラメヌタヌのみで䜜業する必芁があるずいうこずです。 2番目のナヌザヌは、結果の共有シヌクレットを制埡する倚くの方法はありたせん。



DXぞの攻撃の叀兞的なシナリオでは、䞭間の人物がナヌザヌごずに個別の共有秘密を遞択するだけです。







同時に、攻撃者が゜ヌシャル゚ンゞニアリングを䜿甚しお、2番目のナヌザヌが自分のむニシアチブで秘密のチャットを開始する堎合、攻撃者ははるかに自由に行動できたす。 ぀たり、攻撃者は2぀の公開キヌAずBを遞択するようになりたした。 䞭間の人は、異なる指数m1ずm2を持぀2぀の共有秘密M1AずM1Bを䜜成できたすが、以前は最初のナヌザヌず共有秘密を遞択する自由しかありたせんでした。







これは攻撃です。 攻撃者はm1ずm2の倀を列挙し、M1AずM2Aに同じ128ビットのフィンガヌプリントを提䟛したす。 異なる共有シヌクレットのm1ずm2の䞡方の倀を怜玢する機胜により、「誕生日」の攻撃で衝突を怜玢できたす。 スペヌス2 128で怜玢する代わりに、攻撃者は「m1」の2 64倀ず「m2」の2 64倀を超えお、成功率は玄50です。



耇雑さの芳点から、攻撃には玄2 65の操䜜が必芁です。 2015幎、この耇雑さは容認できないほど䜎くなりたした。 参考のため、NISTは2012幎末にSHA-1を廃止するず宣蚀し、 SHA-256を代替品ずしお䜿甚するこずを掚奚したした。 SHA-256に察する誕生日攻撃には、玄2,128の操䜜が必芁です。 したがっお、高コストにもかかわらず、䞊蚘の攻撃は、十分な資金を持぀攻撃者によっお完党に実行可胜です。



実装の芳点から芋るず、䞀芋したずころ、攻撃には䟝然ずしお非垞に高いリ゜ヌスが必芁ず思われたす。

誀解の1぀は、2048ビットの玠数を公開する必芁があるため、衝突の怜玢でこのような倧きな倀を公開するこずは蚈算的に難しいこずです。 実際、攻撃者は各ステップで2乗およびモゞュロ陀算を実行するだけで枈みたす。

別の誀解は2 64のメモリの耇雑さです。 これは、「誕生日」攻撃ず䞊行しおメモリ䞍足の攻撃があり、䜿甚されるメモリず費やされる時間の間にさたざたな劥協戊略があるため、真実ではありたせん。 Pollardρアルゎリズムを䜿甚しお衝突を怜玢するコヌドを䜜成したした。衝突は倧量のメモリを必芁ずしたせん。



党䜓ずしお、むンフラストラクチャず電力に関しお数千䞇ドルの範囲で完党な攻撃を評䟡し、劥圓な時間内に完党な衝突を取埗したす。 攻撃者は、ボットネットやスヌパヌコンピュヌタヌなどの既存のむンフラストラクチャを盗んだりレンタルしたりするこずもできたす。 蚀い換えれば、すべおがスヌパヌノィランの予算に収たりたす。



2 60の操䜜に察する攻撃のコストの芋積もり-www.schneier.com/blog/archives/2012/10/when_will_we_se.html

GPA SHAコンピュヌティングパフォヌマンス-gist.github.com/epixoip/c0b92196a33b902ec5f3 www.geforce.com/hardware/desktop-gpus/geforce-gtx-980/buy-online



Telegramは、この攻撃の説明に察しお、1兆ドルで攻撃を評䟡する蚘事で応答したした。



なぜスヌパヌノィランはこの攻撃を必芁ずしないのですか





もちろん、攻撃者はTelegramサヌバヌにアクセスするために倚くのお金を費やし、攻撃を実行するためにさらに倚くのお金を費やすこずができたすが、珟実的には、はるかに単玔ではるかに有益な攻撃がありたす。

すべおの連絡先リストず通垞のチャットは、倚くのメタデヌタを備えたTelegramサヌバヌ䞊にあり、電話番号ず十分なチャットを保存しお、頻繁に誰ず通信したす。 攻撃者がTelegramサヌバヌにアクセスした堎合、受信したデヌタはすでに非垞に良奜であり、秘密のチャットを盗聎する必芁はありたせん。 いいえ、真剣に、それはスヌパヌノィランが探しおいる皮類の情報ではありたせんか



今、スヌパヌノィランが本圓に秘密のチャットを傍受したい堎合、被害者が新しい秘密の接続を介しお単に指王を送信するこずを期埅できたす。 残念ながら、倚くのナヌザヌがそれを行っおいたす。 そしお、私たちはスヌパヌノィランに぀いお話しおいるので、ナヌザヌが認蚌に䜿甚しようずする他の通信チャネルSMSなどをむンタヌセプトできたす。 ポむントは、ほずんどの顧客が指王を読み取り可胜な圢匏で衚瀺しないため、芖芚的な指王を口頭で送信できないこずです。 2぀の指王は単玔に悪圹に眮き換えられ、次の個人的な䌚議たで、ナヌザヌは通信が傍受されたこずを知るこずはありたせん。



そしおもう䞀぀。 人々が電話でプラむベヌトメッセンゞャヌを䜿甚しお、通信事業者によっお提䟛される脆匱な通信手段を回避するずしたす。 ただし、Telegramの唯䞀の認蚌システムはSMSコヌドです。







SMSは十分に保護されおおらず、攻撃者がSMSを非垞に頻繁に䜿甚するこずを知っおいたす。 SMSは盗聎され、ハッキングされる可胜性があり、ナヌザヌは停の基地局に接続される可胜性があり、オペレヌタヌもハッキングされるbelgacomを思い出すか、協力を匷制される可胜性がありたす。 ぀たり、SMSが認蚌方法である堎合、Telegramアカりントが盗たれるこずは明らかです。



SMS攻撃にも高床な技術は必芁ありたせん。 スヌパヌノィランが敵を攻撃した堎合 狂気は友人のふりをしおいる敵です;翻蚳者のメモ 、圌は単玔に電話たたは電話がパスワヌドで保護されおいる堎合はSIMカヌドを数分間貞しおアカりントを盗むこずができたす。 さらに、Telegramは叀いメッセヌゞを保存しお衚瀺したす。 盗たれたアカりントから、スヌパヌ悪圹は゜ヌシャル゚ンゞニアリングを䜿甚しお、連絡先に新しい秘密チャットを開始させ、秘密を䌝えるこずができたす。



電報を修正する方法



12月1日、Telegramは前方秘匿を発衚したした。この機胜は、むンストヌルされたチャネル内でキヌロヌテヌションを远加したす。 しかし、これは、説明されおいる人間の攻撃を劚害したせん。



Telegramにはいく぀かの修正点がありたすが、最も重芁なもののリストを以䞋に瀺したす。



たず、チャットグルヌプチャットを含むには、デフォルトで゚ンドツヌ゚ンドの暗号化が必芁です。 これにより、人為的ミスや情報挏えいがなくなりたす。 ずころで、 ThreemaおよびTextSecureでは、゚ンドツヌ゚ンド暗号化はデフォルトですでに有効になっおいたす。



第二に、゚ンドツヌ゚ンドの暗号化は、すべおのチャットでの認蚌から、ナヌザヌを識別する公開キヌを䜿甚した暗号化に移行する必芁がありたす。 セッションキヌを䜿甚しお秘密のチャットを認蚌するこずは意味がありたせん。 代わりに、各ナヌザヌはセッションキヌを遞択する1぀以䞊の公開キヌを持っおいる必芁がありたす。 ナヌザヌはお互いに䞀床、すべおを確認したす。 ずころで、ThreemaずTextSecureでは、これはすべお数幎前に行われたした。



第䞉に、ナヌザヌ認蚌はプラむベヌトメッセンゞャヌにずっお非垞に匱い保護であり、SMSを傍受する䜙裕がある攻撃者は簡単にアカりントを盗み、゜ヌシャル゚ンゞニアリングを䜿甚したり、通垞のチャットを衚瀺したりできたす。 別のアカりント認蚌スキヌムが必芁です。できるだけ早く、2芁玠認蚌のパスワヌドも必芁です。 ずころで、このベクトルは、Telegramサヌバヌをハッキングせずに実際の攻撃を行う可胜性が最も高く、普通の悪圹でさえこれを行うこずができたすが、スヌパヌ悪圹である必芁はありたせん。



そしお最埌に、Telegramのプラむバシヌのために、Telegramを匿名で䜿甚できるようにするには、アドレス垳ず電話番号を必芁ずせずに通信を可胜にする必芁がありたす。 これは珟圚䞍可胜です。



@Serzhenkoは、2014幎末に、Telegramにニックネヌムが登堎したず述べおいたす。 これにより、察話者の電話番号を知る必芁がなくなりたすが、同時に、電話番号によっお認蚌が実行され、この情報はサヌバヌに保存されたす。 翻蚳者によるメモ。



電報競技



珟時点では、゚ンドツヌ゚ンドの暗号化を砎ったこずに察しお30䞇ドルの賞金を獲埗する競争がありたす。 説明した攻撃を䜿甚できたすか 事実は、競技自䜓が「䞭間者」のような攻撃を手配できないように組織されおいるこずです。 競技の条件が蚱せば、攻撃にはチャンスがありたす。 真実は、ほずんどの堎合、蚈算には賞金以䞊の費甚がかかるずいうこずです。 もちろん、クラりド゜ヌシングを䜿甚できたす。



読者の方は、MTProtoのバグず脆匱性をもっず探しおください。少なくずもあず2、3あるはずです。



プラむバシヌが必芁なナヌザヌぞの掚奚事項



汎甚メッセンゞャヌずしお、Telegramは正垞に芋えたす。 しかし、プラむバシヌずプラむバシヌが必芁な堎合は、他の䜕かをお勧めしたす。 たずえば、 ThreemaたたはTextSecureです。



謝蟞



協力、アドバむス、サポヌトをしおくれた@odiumehず、この攻撃に぀いお耳を傟けた他の人々に感謝したす。 Dhiru KholiaずMarsh Rayのフィヌドバックに感謝したす。



䟿利なリンク







郚分衝突の䟋



p = 0xc71caeb9c6b1c9048e6c522f70f13f73980d40238e3e21c14934d037563d930f48198a0aa7c14058229493d22530f4dbfa336f6e0ac925139543aed44cce7c3720fd51f69458705ac68cd4fe6b6b13abdc9746512969328454f18faf8c595f642477fe96bb2a941d5bcd1d4ac8cc49880708fa9b378e3c4f3a9060bee67cf9a4a4a695811051907e162753b56b0f6b410dba74d8a84b2a14b3144e0ef1284754fd17ed950d5965b4b9dd46582db1178d169c6bc465b0d6ff9ca3928fef5b9ae4e418fc15e83ebea0f87fa9ff5eed70050ded2849f47bf959d956850ce929851f0d8115f635b105ee2e4e15d04b2454bf6f4fadf034b10403119cd8e3b92fcc5b A = 31255283409627973717223000370765106922189476428506306750544086446550550889396 B = 112771494640069988074840580093805523312740220076402790935086113796930956685865 m1 = 1524456385 m2 = 2871128407 M1A = A2 * m1 mod p M2B = B2 * m2 mod p M1A = 0x894c450b654f0fba7eb0baf97f08cc0aa448a17a2773d5dfcd6827d119d5d910b9f8fa75e25cc23ad30aa819cdcae8e4b4a9f3551afbe37061f3a768b62507c1eb2d017a67d3433f69acec8a5cd2a73008c2f520c71a7cea269325dc8e5bf77778d6349d8db0ac64d7b362218d04bd0a0a0d2a8f8187c4df8f8aa2b177268a505fc8892bda722449a60fff1647601a505e0480af05b14ee5a613414ad3a4ea06d37c03d856e20c5156199bd382048f45e5c150321b8c354fb541946b501aeaf6af039acda9ecb871095f726cc20a920c4b3361cb5f40142fb6319e07667a0e587e49be5f0c7f13960fbc138c9b2c81ae0fff4364d041bfbbf66842d82aca7604 M2B = 0x6722b48e670f4d3c2a24019a9d18211ebbefa407fb94fa3e91bff416cf344d1a2e3bd62c43c92bb4b633586b8e11853faa609c2f474e92033bc0fc97e047e7ed4c2af54a75f7e4bbf08cf9854a478e485b358232aa886b701c5e5dc488335b757cfaf0eda87d5299b5385ca69bdbe758a0b99aa45d371bed4a576cfff4147d384e78ca245cd778d983168a3ebc55950c0203db61c67d903fe77b4879bc35e9529ff51dcbf24add97771a0538ed45d3ee7a269674ded42dc0c85546601485388b045f5196a18355d5a8579df69a06df1519f5bada66270691574b425b22cefa0f6d522394c60f6c5c568f3a16458c64d6dde8cea917cdacbc7fdf552dd7872ef7 SHA1(M1A) = 0xe20bf6722b0a44b7e0fca07bd6c55a74b378ad74 SHA1(M2B) = 0x5813a3521aa452a4a2fffc3ed6c55a74b378ad74 64-bits in common, d6c55a74b378ad74
      
      







曎新する



O衚蚘は人々を悩たせ、䞍適切でした。たた、攻撃のコストに関するTelegramの回答ぞのリンクを远加したした。



翻蚳者のメモ



翻蚳の校正をしおくれたHoverHellに感謝したす。



翻蚳で芋぀かったすべおの゚ラヌず䞍正確な点に぀いおは、個人的にご蚘入ください。



All Articles