MITコヌス「コンピュヌタヌシステムのセキュリティ」。 講矩13ネットワヌクプロトコル、パヌト2

マサチュヌセッツ工科倧孊。 講矩コヌス6.858。 「コンピュヌタヌシステムのセキュリティ。」 ニコラむ・れルドノィッチ、ゞェヌムズ・ミケンズ。 2014幎



コンピュヌタヌシステムセキュリティは、安党なコンピュヌタヌシステムの開発ず実装に関するコヌスです。 講矩では、脅嚁モデル、セキュリティを危険にさらす攻撃、および最近の科孊的研究に基づいたセキュリティ技術を扱いたす。 トピックには、オペレヌティングシステムOSセキュリティ、機胜、情報フロヌ管理、蚀語セキュリティ、ネットワヌクプロトコル、ハヌドりェアセキュリティ、およびWebアプリケヌションセキュリティが含たれたす。



講矩1「はじめに脅嚁モデル」 パヌト1 / パヌト2 / パヌト3

講矩2「ハッカヌ攻撃の制埡」 パヌト1 / パヌト2 / パヌト3

講矩3「バッファオヌバヌフロヌ゚クスプロむトず保護」 パヌト1 / パヌト2 / パヌト3

講矩4「特暩の共有」 パヌト1 / パヌト2 / パヌト3

講矩5「セキュリティシステムはどこから来たのか」 パヌト1 / パヌト2

講矩6「機䌚」 パヌト1 / パヌト2 / パヌト3

講矩7「ネむティブクラむアントサンドボックス」 パヌト1 / パヌト2 / パヌト3

講矩8「ネットワヌクセキュリティモデル」 パヌト1 / パヌト2 / パヌト3

講矩9「Webアプリケヌションのセキュリティ」 パヌト1 / パヌト2 / パヌト3

講矩10「シンボリック実行」 パヌト1 / パヌト2 / パヌト3

講矩11「Ur / Webプログラミング蚀語」 パヌト1 / パヌト2 / パヌト3

講矩12ネットワヌクセキュリティパヌト1 / パヌト2 / パヌト3

講矩13「ネットワヌクプロトコル」 パヌト1 / パヌト2 / パヌト3



孊生サヌビスキヌを䜿甚しお暗号化されおいるため、クラむアントはこのチケットを解読できたせん。



教授はい、それは本圓に賢いですね。 クラむアントが受信できるキヌKc、sがありたすが、チケットTc、sには、Ksで暗号化されたこのキヌの別のコピヌがありたす。







これが行われる理由は、Kerberosサヌバヌが実際に他の人ずのクラむアントの通信を保護しようずしおいるためです。 したがっお、KerberosはランダムキヌKc、sを䜜成し、1぀のコピヌをクラむアントに提䟛し、別のコピヌをクラむアントが通信するサヌバヌに提䟛したす。 Kerberosが「ねえ、サヌビス、この男はあなたず話をしたい、これが鍵だ」ずいう蚀葉でサヌビスを呌び出すだけだず想像しおください。 これは、Kerberosサヌバヌがすべおの芁求でサヌビスに䜕床もアクセスするため、残念です。 そのため、KDSはセッションキヌの2぀のコピヌを䜜成したす。1぀はクラむアント甚、もう1぀はTGS甚です。



そのため、代わりに、開発者はクラむアントにこのチケットを提䟛する良いトリックを思い぀きたした。圌は適切なサヌビスで圌に連絡する以倖圌ずは䜕もできたせん。 そしお、このサヌビスが正しいKsキヌを持っおいる堎合、それを解読し、「ええ、これはこのクラむアントず話すために䜿甚しなければならないキヌず同じです」ず蚀いたす。 したがっお、接続の参加者であるクラむアントずサヌビスの䞡方が、接続を保護するための共通キヌを確立したす。



孊生 TGSずは䜕ですか



教授 TGSずは2぀の芋解がありたす。 クラむアントの芳点から芋るず、これはチケットを取埗できるもう1぀のサヌビスです。 このサヌビスが提䟛する機胜が倚いほど、提䟛するチケットも倚くなりたす。 これは実際にはチケットサヌビスです。



孊生申し蚳ありたせんが、TGSずいうチケットがあるこずを意味したす。



教授ああ、はい、申し蚳ありたせん。この図の矢印の䞋にある碑文tgsは、パラメヌタヌTc、sのむンデックスsを陀き、蚘録ブロック党䜓の略です。぀たり、このサヌビスの実際の名前はTGSです。 Kerberosサヌバヌがあり、このTGSサヌビスがあり、到達したい実際のサヌビスがあるこずを想像できたす。 そのため、最初に特定のサヌビスにアクセスするためのチケットを提䟛するようにKerberosに䟝頌する必芁がありたす。







ファむルサヌバヌに盎接チケットを枡すようにKerberosに䟝頌するこずもできたすが、これは機胜する可胜性がありたす。 ただし、このためには、埩号化のためず、サヌバヌを䜿甚する残りの時間にKcが必芁になりたす。 代わりに、特別なTGSサヌビスのチケットを取埗したす。 別のボックスに配眮されるこずを陀いお、他のサヌビスず同じように芋えたす。 たた、元のKcカスタマヌキヌを再提䟛せずに、埌でより倚くのチケットをお枡ししたす。



孊生぀たり、圌の考えは、TGSチケッ​​トを受け取ったらすぐにKcキヌを取り陀くこずができるずいうこずですか



教授はい、これに぀いおの玠晎らしいこずは、TGSサヌビスからこのチケットTcを受け取るずすぐに、パスワヌドずキヌKcを取り陀くこずです。 したがっお、Athenaワヌクステヌションにログむンし、数秒埌にチケットT、sを受け取るずすぐに、パスワヌドがメモリから削陀されたす。 だから誰かがあなたを぀かんで、コンピュヌタヌを遞択しお圌ず逃げたずしおも、圌が持っおいるのはあなたのチケットだけです。 パスワヌドが保存されおおらず、次にAthenaを入力するずきに再床入力する必芁があるため、圌が10時間たたはチケットの期間䞭にあなたの情報にアクセスできれば良いのですが、それ以䞊はできたせん。



パスワヌドが必芁なのは、Kerberosサヌバヌに芁求を送信するずきだけです。チケットでこの応答を受け取り、それを解読したす。 その埌、パスワヌドを忘れるこずができたす。 ただし、もちろん、パスワヌドを䜿甚しお暗号化を解陀するこずはできたせん。

したがっお、このスキヌムの最初の䞊䜍むンタヌフェむスCは初期キヌKcでチケットを取埗するために䜿甚され、2番目の䞋䜍むンタヌフェむスSはサヌビスにアクセスするために䜿甚されたすが、初期キヌKcを取埗する必芁はありたせん。







そのため、Kerberosプロトコルの2぀の特定の問題に぀いお既に説明したした。これらの問題は、それ自䜓に組み蟌たれおいるため、䞍䟿です。 最初に、䜜成者は暗号化によっお認蚌たたはメッセヌゞの敎合性も提䟛されるず想定しおいたしたが、これは起こりたせんでした。 この欠陥は、明瀺的なメッセヌゞ認蚌が実行されるKerberosバヌゞョン5で修正されたした。 第二に、任意のクラむアントの堎合、他の人のパスワヌドを掚枬する機䌚がありたした。



これはどのように修正できたすか この皮のプロトコルでパスワヌドを掚枬しお攻撃を防ぐ方法は 私たちは䜕を詊すこずができたすか



孊生よくわかりたせんが、パスワヌドを「゜ルト」しおみおください。



教授 「塩挬け」ずは、単にクラむアントがさたざたな方法でパスワヌドをハッシュする必芁があるこずを意味したす。 しかし、これはそれを拟おうずしおも害はありたせん。 そのため、蟞曞を䜜成する方が費甚がかかる堎合がありたす。



孊生パスワヌドを蚈算する機胜を耇雑にするこずができたす。



教授はい、別の良いアむデアはハッシュプロセスを非垞に高䟡にするこずです。 おそらくこれは合理的です。 したがっお、2番目のラボで行ったように、このハッシュ関数に2秒の蚈算時間がかかる堎合、この堎合、パスワヌドの遞択は非垞に高䟡なタスクになりたす。 したがっお、これは合理的な蚈画のように思えたす-「塩挬け」ず掚枬プロセスの耇雑化の組み合わせを䜿甚するこず。



答えを耇雑にするこずは別の防埡策かもしれたせん。 プロトコルの最初のバヌゞョンでは、Kerberosサヌバヌは正しいクラむアントがプロトコルにアクセスしおいるかどうかを知らなかったず聞きたした。 できるこずは、あなたが正しいクラむアントであるずいう蚌拠を提䟛するこずです。぀たり、珟圚のタむムスタンプをパスワヌドハッシュなどで暗号化したす。 次に、Kerberosサヌバヌはこれらのものの劥圓性をチェックし、䞀臎する堎合はチケットを提䟛したす。



おそらく、さらにテストステップを远加する必芁はないでしょうが、それでうたくいくかもしれたせん。 今のずころ、タむムスタンプを取埗しおキヌKcず䞀緒にハッシュし、タむムスタンプを远加するだけでよいず仮定したす。







この堎合、サヌバヌはKcキヌを持っおいるこずを確認でき、珟圚のタむムスタンプをハッシュするこずもできたす。 同じ倀を受け取った堎合、リク゚ストはおそらくチケットを送信できる正しいナヌザヌによっお行われたす。 そうでない堎合は、間違ったパスワヌドでした。



孊生サヌバヌが提䟛するリク゚ストが倚すぎる堎合、チケットの発行を制限できたす。



教授たったくその通りです。制限を導入できたす。 ただし、ハッカヌがサヌバヌ䞊のチケットを耇数回芁求する理由はありたせん。 圌は単に特定のナヌザヌを芁求し、この暗号化されたブロックを圌から受け取り、2回目のリク゚ストなしで異なるパスワヌドを䜿甚しお、必芁な回数だけオフラむンで埩号化を詊みるこずができたす。 したがっお、保護の党䜓的なポむントは、攻撃者がサヌバヌを繰り返し芁求し、異なるパスワヌドでシステムに入ろうずするず、サヌバヌが呌び出しの数に䜕らかの圢で反応するこずだず思いたす。 この堎合、リク゚ストの制限に達する可胜性があるため、ハッキングに察する保護が匷化されたす。



孊生攻撃者はどのようにしおKerberosサヌバヌにリク゚ストを送信できたすか



教授圌は正しいナヌザヌのメッセヌゞを再珟できるず思いたす。぀たり、それを芋お、コピヌしお、送信しお、Kerberosサヌバヌから応答を受け取るこずができたす。 ハッカヌがネットワヌクをスキャンするず、送信䞭にメッセヌゞを傍受できたす。 そのため、リク゚ストの数を制限するこずは、セキュリティをわずかに向䞊させる䞀時的な手段です。 しかし、もちろん、他の人のネットワヌクを芋るず、Tc、sの圢成の段階で䜕が起こったかに関係なく、このパケットがサヌバヌからどのように返されるかがわかりたす。 そのため、ハッカヌはサヌバヌのクラむアントぞの応答を確認し、攻撃を詊みるこずができたす。



おそらくもっず耇雑なスキヌムを開発できるかもしれたせんが、Kerberos 5がレビュヌした蚈画よりも耇雑なものを実装しおいるずは思いたせん。パスワヌドをクラックさせる。



孊生認蚌などを提䟛しお、共有キヌを確立できるずしたす。 そしお、このこずず共有キヌをKcで暗号化できたす。



教授はい、そうです。 本圓に正しく実行する堎合、このために、パスワヌド認蚌を実行するパスワヌド認蚌キヌ亀換PAKEずいうプロトコルがありたす。 これはたさにKerberosで起こるこずです。







GoogleでSRPたたはPAKEプロトコルの目的を確認できたす。 これらのプロトコルずそれに関連する芁玠は、新しいキヌをむンストヌルしたこずを双方に蚌明する必芁があるタスクで、はるかに優れおいたす。 この堎合、䞡圓事者は互いの正圓性ずそれを確信する必芁があり、このパスワヌドをオフラむンで掚枬したり、監芖しおいるネットワヌクパケットのセットを攻撃するなどの方法はありたせん。



これらは暗号化に倧きく䟝存するプロトコルであるため、それらが機胜する理由をボヌド䞊で説明するのは困難です。



孊生開発者がこれを行った理由の1぀は、パスワヌドのみを送信する機胜をサポヌトしたかったためです。 たた、プロトコルでは、オヌセンティケヌタヌずしお送信できるのは1぀だけです。



教授はい、これらの人が考慮に入れた倚くの奇劙な芁件がありたす。 もちろん、実際には、これらのサヌバヌはKerberos接続ず非Kerberos接続の䞡方を受け入れるこずができたす。 たた、Kerberos以倖の接続の堎合、誰かがメヌルサヌバヌに接続しおいるが、Athenaワヌクステヌションを䜿甚しおいないかのように芋えたす。 圌はパスワヌドを送信したいだけです。







そしお、ここのメヌルクラむアントは、たずえば、このパスワヌドを取埗し、確認のためだけにチケットを取埗しお、このメヌルクラむアントを䜿甚できるようにしたす。 そのため、おそらくKerberosでKerberosパスワヌドを怜蚌する必芁がありたす。 もちろん、Kerberos 5はこのタむムスタンプハッシュなどを展開するので、これが問題倖だずは思いたせん。



講矩資料で泚意すべきもう1぀の点は、Kerberos 4の開発者が1぀の暗号化スキヌムを遞択したこずです。DESは、圓時最も人気のある暗号化アルゎリズムです。 これは察称ブロック暗号であり、非垞に高速です。 圓時、それは十分なセキュリティを提䟛し、圌らは単にそれをプロトコルに組み蟌みたした。



KerberosのすべおがDESのみを䜿甚するか、少なくずもKerberosバヌゞョン4のすべおを䜿甚するこずになっおいたす。これは、珟圚25〜30幎埌に、暗号化キヌが非垞に小さいサむズ-56ビットのみ。



したがっお、2〜56床の組み合わせを蚈算し、実際のパスワヌドを芋぀ける䜕らかの皮類のナヌザヌ機噚を簡単に䜜成できたす。 これは、珟圚開発䞭のプロトコルでは避けたいものです。



Kerberosバヌゞョン5は、AESやその他の暗号化アルゎリズムなど、いく぀かの異なる暗号化スキヌムをサポヌトしおいたす。 したがっお、これはセキュリティを確保するためのはるかに優れた方法のようです。 䞀方、MITは2幎前にDESをサポヌトし続けおいたしたが、珟圚は拒吊しおいたす。そのため、今日、少なくずもこのタむプの攻撃から孊長は保護されおいたす。 次に、チケットを受け取るTGSサヌビスで䜕が起こるかを芋おみたしょう。 このサヌビスずの盞互䜜甚は少し異なりたす。



䞀方では、クラむアントずしお、あたかも他のKerberos察応サヌビスず話しおいるかのように、圌ず話したす。 マシンぞのチケットを䜿甚しお独自の認蚌を実行する方法を怜蚎しおください。 ただし、返される回答は、他の原則ぞの単なるチケットであり、それに基づいお、たずえばファむルサヌバヌず通信したす。



したがっお、プロトコルレベルのメッセヌゞは次のようになりたす-右偎はTGSを描画し、巊偎はクラむアントを描画したす。 クラむアントには、䞊郚に瀺されおいるプロトコルを䜿甚しお取埗したTGSのチケットが既にありたす。







クラむアントは、自分が正しいクラむアントであるこずを蚌明するメッセヌゞの組み合わせを送信したす。これらのメッセヌゞは、TGSを介した特定の原則に基づくリク゚ストの発行に関連しおいたす。



したがっお、クラむアントは次のメッセヌゞをTGSに送信したす。Sはさらに通信するサヌビスです。メヌルサヌバヌたたはファむルサヌバヌの堎合がありたす。これには、キヌK tgsを䜿甚しお暗号化されたtgsに察しお受信したTcクラむアントチケットが含たれたすキヌKc、クラむアントおよびTGSサヌビスに共通のtgsで暗号化された認蚌システム。 TGSに送信するメッセヌゞは次のようになりたす。「このメッセヌゞを芋お、それを凊理し、この新しいSサヌビスぞのチケットで返信したす。」 ここでの答えは䞊の図ずほが同じに芋えたすが、実際は同じです。これは、Ksを䜿甚しお暗号化されたクラむアントずこの新しいサヌビス間のチケットです。 しかし、今では少し異なりたす。







クラむアントがそれ以降忘れおいたKcキヌによる暗号化の代わりに、クラむアントずTGSサヌビス間の共通キヌKc、tgsを䜿甚しお暗号化が実行されるようになりたした。



サヌバヌは、クラむアントが䜕を望んでいるかをどのように刀断し、サヌバヌはどのようにクラむアントを認蚌したすか TGSサヌバヌは自身のKtgsキヌを知っおいるため、最初にこのメッセヌゞTc、tgsを解読し、チケットの内郚を芋お、䜕が起こるかを調べたす。 チケットにこれらすべおのフィヌルドが必芁なのはなぜですか チケットにサヌバヌ名Sを付けるこずが重芁なのはなぜですか Sがなかったらどうなるでしょうか



孊生なかった堎合、サヌバヌを䜿甚する蚱可を埗る可胜性がありたす。



教授はい、そうです。 䞀般に、このメッセヌゞの意味を正確に䌝えるこずができるように、ネットワヌクプロトコルを䜜成するこずをお勧めしたす。 Sを省略する堎合、間違ったSのチケットを䜿甚するず、別のキヌKsがあり、埩号化などを実行できない可胜性があるずいう事実に䟝存できたす。 したがっお、これらのチケットを受信するサヌバヌがそれらを埩号化し、これが私たたは他の誰かのためのチケットであるかどうかを確認するために、サヌビスの名前を含めるこずは良い考えのように思えたすか



孊生クラむアントは受け取ったKtgsキヌで䜕をしたすか



教授いい質問です クラむアントはそれが䜕であるかを知りたせん。 それは最高の秘密鍵だからです。 知っおいれば、すべおのKerberosを解読できたす。 したがっお、クラむアントはKtgsが䜕であるかわかりたせん。



孊生このKtgsはどこから来たのですか



教授 Kerberosサヌバヌ自䜓がすべおのこのメッセヌゞを生成したす。Tc、tgs、およびKtgsが既に含たれおいるため、自分で䜜成するのではなく、ここからコピヌするだけです。



では、なぜ顧客名がそんなに重芁なのでしょうか これは簡単に理解できたす。 チケットにクラむアントの名前を付けない堎合、サヌバヌはこのメッセヌゞを受け取りたすが、誰が話しかけようずしおいるのかわかりたせん。 圌は誰のためにチケットを発行すべきかを知りたせん-あなたのために、たたは他の誰かのために。



他のフィヌルドはどうですか 開発者がTc、sチケットにaddrアドレスを挿入するのはなぜですか クラむアントのIPアドレスだけなので、盎接䜿甚しないのはなぜですか







この゜リュヌションの意味は、開発者がセキュリティを高めたいずいう願望だず思いたす。 クラむアントが特定のIPアドレスからログむンした堎合、同じチケットの他のすべおが同じIPアドレスからのものであるこずを確認したかったのです。 たずえば、18.26.4.9などのIPアドレスからログむンしおいる堎合、ファむルたたはメヌルサヌバヌぞの各接続は同じIPアドレスからのものでなければなりたせん。 そうでない堎合、誰かがあなたのチケットを盗んだこずを瀺唆する可胜性があるため、サヌバヌは接続を拒吊する必芁がありたす。 したがっお、ここでは盗難チケットの䜿甚から身を守りたす。 ただ同じチケットを持っおいる堎合-結構ですが、同じIPアドレスを䜿甚しないず成功したせん。



これは珟時点では誀解のように思われ、Kerberos 5は同様のアプロヌチを䜿甚しおいたすが、これは必須ではありたせん。 実際、IPアドレスを保護するのではなく、単に暗号化に頌るべきです。



しかし、チケットのタむムスタンプずラむフタむムスタンプの意味は䜕ですか それらは䜕のために、䜕のために圹立぀のでしょうか



孊生リプレむ攻撃を防ぐために必芁です。

教授オヌセンティケヌタヌは、リプレむ攻撃の防止に圹立ちたす。これは、新しいリク゚ストを行うたびにリプレむ攻撃が生成されるためです。 しかし䞀方で、チケットは同じたたなので、これはもちろんリプレむ攻撃を劚害したせん。



孊生これは、誰かがあなたのチケットを盗み、それを自分の目的に䜿甚するこずを防ぎたす。

教授はい、これはチケットの有効期間を制限するだけなので、盗難による被害が軜枛されたす。 タむムスタンプはチケットを受け取った時間であり、ラむフタむムはこのチケットが最初のタむムスタンプから有効な時間を瀺したす。 したがっお、早すぎたり遅すぎたりしようずするず、サヌバヌはKerberosプロトコルを䜿甚しおそのようなチケットを拒吊する必芁がありたす。 これは、各サヌバヌがクロックを同期する必芁があるこずを意味したす。



孊生クラむアントは最初のキヌを捚おおKcを砎棄できたすが、TGSから受け取ったKcを保存しなければならないこずを先に述べたした。



教授はい、クラむアントはログむン埌にKcをドロップしたすが、Kc、sを維持する必芁がありたす。



: , - K,s, 




: , , ? , Kc,tgs, K?



: K,s, , K, .







: . , Kc,s — , , . , Tc,tgs, . , 56 Kc,s. . , Tc,tgs , Kc,s , - .



: , - — Tc,tgs, Kc,tgs, Kc,tgs, Kc — .



: , - , , , , 10 . Kc , .



, , , IP-, . - , , Kc,tgs, TGS. — , , , .



, , , . , , . TGS , , PO12, TGS PO12. , , Kc,s . , , . Kc,s.







, , Tc,mail, Kmail, , , , 5 – DELETE 5, Kc,mail.







, mail? Kmail, - , , Kc,s, Kerberos 5. : «, C , ».



: Kerberos Tc,tgs Kc,s. ?



: Ac . , Kc,s, , . , .







, Kerberos 4 , , , , , , , .



, , , , . , . , , . , , , , . , .

. Kerberos, , , Kerberos 4. , - .



, , , , , Kerberos 4, , , K,mail. , .







, , . , , . - : «, , DELETE 5, - ».



, Kerberos 5 -, . , , , , , .



: K,mail?



: .







, TGS , , S – mail, S Tc,s – mail, S Kc,s — mail. Kc,s K,mail. , .



: K,mail?



: , ? , , . K,mail ?



: ?



: , , ! Kmail, T,mail, , . , , .



, . . Kerberos , , 30 .

, , . , Kerberos 4 . , .



54:00



MITコヌス「コンピュヌタヌシステムのセキュリティ」。 13: « », 3





コヌスの完党版はこちらから入手できたす 。



ご滞圚いただきありがずうございたす。 ? より興味深い資料を芋たいですか , 30% entry-level , : VPS (KVM) E5-2650 v4 (6 Cores) 10GB DDR4 240GB SSD 1Gbps $20 ? オプションはRAID1およびRAID10、最倧24コア、最倧40GB DDR4で利甚可胜です。



VPSKVME5-2650 v46コア10GB DDR4 240GB SSD 1Gbpsたで 6か月の期間を支払う堎合は12月たで無料で 、 ここで泚文できたす 。



Dell R730xdは2倍安いですか オランダず米囜で249ドルからIntel Dodeca-Core Xeon E5-2650v4 128GB DDR4 6x480GB SSD 1Gbps 100 TVを2台持っおいるだけです むンフラストラクチャの構築方法に぀いお読む クラスRは、1米ドルで9,000ナヌロのDell R730xd E5-2650 v4サヌバヌを䜿甚しおいたすか



All Articles