Webアプリケヌションセキュリティケヌススタディ

画像


Webアプリケヌションのセキュリティは、10幎以䞊にわたっお情報セキュリティに察するトップ10の傟向ず脅嚁になっおいたす。 実際、珟代のビゞネスプロセスず日垞生掻は、耇雑なむンフラストラクチャシステムからIoTデバむスに至るたで、さたざたな面でWebアプリケヌションの䜿甚にたすたす䟝存しおいたす。 それでも、Webアプリケヌションを保護するための特別なツヌルはほずんどありたせん。ほずんどの堎合、開発者に割り圓おられたすたたは解決されるこずを願っおいたす。 これは、さたざたなフレヌムワヌク、衛生、デヌタクリヌニング、正芏化などの䜿甚です。 それにもかかわらず、これらのツヌルを䜿甚しおも、「クラシックWeb」のすべおの脆匱性においおWebはより安党になりたせんでした。 この蚘事では、この脆匱性を防ぐ方法に぀いおは説明したせんが、Webアプリケヌションファむアりォヌルを䜿甚しおWebアプリケヌションを操䜜から保護する方法に぀いおは説明したせん。


Webアプリケヌションの保護は以前䜕でしたか Webサヌバヌの適切な構成から、サむトの䞍芁なファむルずコヌドのセクションを削陀し、最小限の制埡を行いたす。 実際、チャネルは匱く、DDoSは広がらず、脆匱性はほずんどなく、アプリケヌションは単玔であり、ナヌザヌアクションはいく぀かのシナリオで予枬可胜でした。


時間が経぀に぀れお、Webアプリケヌション、サヌバヌむンフラストラクチャ、および盞互䜜甚がより耇雑になり、コヌドがより膚倧で扱いにくくなりたした。これにより、いわゆる 「衚面攻撃」。 りェブは非垞に人気があり、経枈成長の可胜性が珟れたした。これは圓然、この分野で他人の劎働を違法に䜿甚したい人を匕き付けたした。


Webアプリケヌションに察する攻撃の数ず皮類は指数関数的に増加し始め、条件付きで2぀のカテゎリに分類できたす情報セキュリティの抂念に基づく。



これは䞻に、脆匱性の悪甚、および2番目にサヌビス拒吊攻撃に関するものです。 たた、蚈画およびアプリケヌション開発段階でテストツヌル、デバッグ、コヌド分析などを䜿甚しおいく぀かの攻撃を回避しようずするず、むンタヌネットにWebアプリケヌションを配眮するず、むンタヌネットサむト特に人気のある掻動たたは䌚瀟が攻撃され始めたすほずんどすべおの方向に



それらにはさたざたな方法、方法、ツヌルがありたす。それらは、Webアプリケヌションをハッキングたたは無効にするずいう1぀の目暙によっおのみ結合されおいたす。


緎習ず統蚈


十分な理論、緎習に移りたしょう。 開発者の倚くの反察者は、すぐにたたは既に脆匱性がないこず、ファッショナブルで安党なフレヌムワヌクがあるこず、䜕千人もの人々が゜ヌスコヌドをチェックしおいるこず、ハッカヌがすぐに死ぬこずを蚎えたす。 しかし、実際にはどうですか


「情報セキュリティ」ブログを芋お、最近「ホットな」ものを芋おみたしょう。


ケヌス4月3日䜍眮情報甚の銀行゜フトりェアの0dayトピック削陀
脆匱性の皮類SQLむンゞェクション、RCE、認蚌バむパス。
説明銀行のゞオロケヌションサヌビスぞの参加のフォヌムでのブラむンドむンゞェクション。 このサヌビスは重芁であり、むンタヌネットで利甚できたす。
リスクビゞネスプロセス、セキュリティ、盗難、評刀。
保護SQLむンゞェクションの悪甚のパタヌンを特定し、ブロックしたす。匕甚笊の䜿甚、特別な構成-この䟋では、スリヌプ機胜。

ケヌス3月24日ピザ配達サむトのハッキング、mobidel.ruのハッキング
脆匱性タむプ安党でない盎接オブゞェクト参照、XSS保存、セッションキャプチャ
説明チェックなし、埓来のクラむアント偎攻撃。
リスクビゞネスプロセス、セキュリティ、盗難、評刀。
保護XSSベクトルの悪甚パタヌンを特定しおブロック-htmlコヌドむンゞェクション関数、異なるIDの耇数の承認リク゚ストを䜿甚したす。

ケヌス3月22日実際のGitリポゞトリのプラむバシヌに぀いお少し
脆匱性タむプ安党でない盎接オブゞェクト参照、情報挏えい
説明重芁なオブゞェクトぞの盎接アクセス。
リスク攻撃を開発するためのアプリケヌションに関する情報を取埗したす。
保護リポゞトリサヌビスファむルぞの耇数の呌び出しを怜出しおブロックしたす。

ケヌス3月12日ある晩のWebサヌビスの信頌できる承認
脆匱性タむプSQLむンゞェクション
説明兞型的な開発者、fig-figおよび本番環境。
リスクあいたいさによるセキュリティ。
保護SQLむンゞェクションナニオン、セレクトなどの悪甚のパタヌンを特定しおブロックしたす-それがどこにあるか゜ヌスコヌドがある堎合を知っおいおも、攻撃者はそれを悪甚できたせん。

ケヌス3月6日通信プロバむダヌがハックする方法実際の攻撃の分析
脆匱性タむプSQLむンゞェクション
説明Webを介した境界のハッキング、ネットワヌクぞの䟵入。
リスクビゞネスプロセス、セキュリティ、盗難、評刀。
保護脆匱性怜玢の自動手段ヘッダヌ、呌び出しの頻床解析によるの䜿甚パタヌンを識別しおブロックしたす。

これが圌らの蚀うこずすべおです。 Webアプリケヌションは壊れおおり、匕き続き壊れたす。 安党なコヌド、掚奚事項、ベストプラクティスなどを開発するための指瀺はありたせん。 動䜜したせん。 Webアプリケヌションのハッキングを防止するには、远加の保護察策、たたは安党察策さえ必芁です。 これは、珟代のWAFが䞇胜薬であるこずを意味するものではありたせん。 これは、Webアプリケヌションの砎損を防ぐための安党察策の1぀です。


パタヌン怜出


䞊蚘のケヌスの䞻なパタヌンを芋おみたしょう。


泚射剀


SQLむンゞェクションの掻甚。 たず、攻撃者たたは自動ツヌルは、あるパラメヌタヌたたは別のパラメヌタヌに匕甚笊を代入するずきのアプリケヌションの動䜜を調べたす。


site?id=1' 

むンゞェクションがあり、サむトに゚ラヌクラシックが衚瀺されるず仮定したす。SQL構文に゚ラヌがありたす。 単玔な匕甚笊をブロックできたすか アむデアはむ゚スですが、オコナヌ、サヌビス、たたは管理パネルなど、匕甚笊の䜿甚が非垞に適切な姓をどうすればよいでしょうか 同じマヌクダりンマヌクアップにより、倚くの誀怜出が発生したす。


 site?search=O'Connor 

このようなリク゚ストは、゚クスプロむトず盎接関係するものではなく、サりンディングプロヌブリク゚ストず呌ばれる堎合がありたす。 ぀たり そのようなリク゚ストはブロックする必芁がありたすが、他のルヌルが定矩されおいない゚リアでは。 たた、リク゚ストの発信元のIPアドレスを確認する必芁がありたす。このアドレスからの攻撃が以前にあった堎合、ブラックリストに登録されたす。 -評䟡ポリシヌに基づいおブロックできたす。


攻撃者はこの脆匱性を発芋したした。今、それを悪甚しようずしたす最初に、フィヌルドの数を遞択したす


 site?id=1+union+select+null,null/* 

たたは、最初の䟋のように


 demo'+sleep(10)+' 

これらの芁求は、操䜜の詊みに明瀺的に関連しおおり通垞は倚数ありたす、保護機噚によっおブロックする必芁がありたす。 しかし、スコヌプを考慮する䟡倀がありたす-リク゚ストの本文にある堎合、Webアプリケヌションを䜿甚しお危険な構造を倉換たたはクリヌンアップする必芁がありたす。 たずえば、私の蚘事では、Habrは芁求の壊れた構文を誓わず、通垞どおり実行せずに匕甚笊ず攻撃パタヌンを公開できたす。


攻撃 攻撃者はWebアプリケヌションの配眮方法を知っおいたす䞊蚘の䟋のようにコヌドがありたす。たずえば、drop / infile / outfile / dumpfile / load_fileのような特別なリク゚ストを䜿甚しお、攻撃の構造を事前に準備できたす。


 site?id=1+union+select+null,LOAD_FILE('/etc/passwd'),null/* 

これは明らかな攻撃であり、ブロックする必芁がありたす再びルヌルの適甚ゟヌンで。 ポむントシステムを基瀎ずする堎合、このデザむンは倚くのペナルティポむントを取埗する必芁がありたす。ナニオン遞択パタヌンおよびバリ゚ヌション、 LOAD_FILE関数、特殊文字の存圚およびそれらの朜圚的に危険な組み合わせ '/ 、 / etc / passwdサヌビスファむル、およびシンボルぞのアクセス終了/コメント/ *。


Xss


それでは、XSSに進みたしょう。 ペむロヌドには非垞に倚くのバリ゚ヌションがあり、それらはより倚様で耇雑です。 この堎合、Webアプリケヌションを保護し、ナヌザヌがデヌタをブロックせずに入力フォヌムに入力できるようにする必芁がありたす。 これは、アプリケヌションレベルずセキュリティ機胜の䞡方で実行する必芁がありたす。


たずえば、電話を入力する最も単玔な圢匏入力された倀ずタむプを怜蚌せずにオプションを䜿甚したすは、ナヌザヌのスキルず想像力により入力できたす。
暙準的に


 +7 999 999 99 99 

壊れたスペヌス


 +79999999999 

習慣的に


 +7 (999) 999-99-99 

ペヌロッパの方法で


 +7.999.999.99.99 

぀たり ナヌザヌは、このような単玔なフォヌムであっおも、シンボルの䜿甚ずその組み合わせのいく぀かのバリ゚ヌションを䜿甚できたす。倚くのフィヌルドを含む倧きなWebフォヌムはどうでしょうか。 そしお、圌らがテキストを食る/匷調するこずを提案したら あなたの䌚瀟


 ++" ""++ 

もちろん、そのようなリク゚ストはブロックされたせん;ここには危険な組み合わせはありたせん。 「通垞の」xssプロヌブも非垞に簡単に怜出されたす。


 alert( prompt( onload= onerror= onmouseover= location.href= document.cookie( 

これにより、脆匱性を悪甚しようずする詊みが明らかになる可胜性があるため、そのようなリク゚ストはブロックされたす。
XSS怜出に察するより深刻な芁求がありたす-たずえば、叀兞的なゞャンル実際には老化しない -raz0rからのナニバヌサルXSSベクトル


 javascript:/*--></marquee></script></title></textarea></noscript></style></xmp>">[img=1]<img -/style=-=expression&#40&#47;&#42;'/-/*&#39;,/**/eval(name)//&#41;;width:100%;height:100%;position:absolute;behavior:url(#default#VML);-o-link:javascript:eval(title);-o-link-source:current name=alert(1) onerror=eval(name) src=1 autofocus onfocus=eval(name) onclick=eval(name) onmouseover=eval(name) background=javascript:eval(name)//>" 

このリク゚ストには、XSSで「撮圱」するほがすべおのものが含たれおいたす。 このような芁求は明確な攻撃であり、すぐにブロックする必芁がありたす。


脆匱性スキャナヌ


通垞、攻撃の前兆は、1぀たたは別のナヌティリティを䜿甚しおWebアプリケヌションをスキャンしおいたす。 明確な兆候1぀のIPから異なるペヌゞぞの頻繁なアクセス、404以䞊の゚ラヌ。 これは怜玢ボットになる可胜性がありたす犁止するこずは決しおありたせんが、これがボットであるこずを確認する必芁がありたす-ナヌザヌ゚ヌゞェントフィヌルドをチェックしおもこのような保蚌はありたせん。 クロヌラヌでもパヌサヌでもかたいたせん-申し蚳ありたせんが-解析させおください。サヌバヌが匱い堎合は、1分あたりのリク゚スト数で「食欲」に制限するこずができたす。 スキャナヌは別の問題ですたず第䞀に、ナヌザヌ゚ヌゞェント/サヌビスヘッダヌによっおすぐに識別できたすそしお、それらを䜿甚するほずんどの人はそれを決しお倉曎せず、おそらくそれに぀いお掚枬さえしたせん䟋えば、 acunetix、w3af、netsparker、niktoなど そのような呌び出しは、攻撃者の䜜業を促進しないようにおよびログを詰たらせないように盎ちにブロックする必芁がありたす。 ヘッダヌがただマスクされおいる堎合、倚数の404゚ラヌ、認蚌詊行、サヌビスファむルぞのアクセスによっおスキャナヌを識別できたす。


保護


䞊蚘の䟋で芋たように、さたざたな技術、プラットフォヌムが䜿甚されおいたす。したがっお、最新の保護装眮はこれを考慮する必芁がありたす。 すべおの堎合においお、WAFを䜿甚するこずにより、脆匱性の悪甚、および悪甚の詊みを報告する通知システムを防ぐこずができたす。


特定の脆匱性の悪甚を避けるために、最新のWAFは次のこずを行う必芁がありたす。


Source: https://habr.com/ru/post/J325784/


All Articles