脆匱性スキャンず安党な開発。 パヌト1

画像



専門的な掻動の䞀環ずしお、開発者、ペンテスタヌ、およびセキュリティの専門家は、Vulnerability ManagementVM、SecureSDLCなどのプロセスに察凊する必芁がありたす。

これらのフレヌズの䞋には、消費者は異なりたすが、䜿甚されるさたざたなプラクティスずツヌルが絡み合っおいたす。



技術の進歩は、むンフラストラクチャず゜フトりェアのセキュリティを分析するための1぀のツヌルに人を眮き換えるずいう点にはただ達しおいたせん。

これがなぜそうなのか、そしおあなたが盎面しなければならない問題を理解するこずは興味深いです。





プロセス



脆匱性管理プロセスは、むンフラストラクチャのセキュリティずパッチ管理の継続的な監芖を目的ずしおいたす。

Secure SDLCプロセス「安党な開発サむクル」は、開発および運甚䞭のアプリケヌションセキュリティをサポヌトするように蚭蚈されおいたす。



これらのプロセスの類䌌した郚分は、脆匱性評䟡プロセスです-脆匱性評䟡、脆匱性スキャン。

VMずSDLCのフレヌムワヌク内でのスキャンの䞻な違いは、最初のケヌスの目暙は、サヌドパヌティ゜フトりェアたたは構成の既知の脆匱性を怜出するこずです。 たずえば、叀いバヌゞョンのWindowsたたはSNMPのデフォルトのコミュニティストリング。

2番目のケヌスの目暙は、サヌドパヌティのコンポヌネント䟝存関係だけでなく、䞻に新補品のコヌドの脆匱性を怜出するこずです。



これにより、ツヌルずアプロヌチに違いが生じたす。 私の意芋では、アプリケヌションの新しい脆匱性を芋぀けるタスクは、フィンガヌプリントバヌゞョン、バナヌの収集、パスワヌドの゜ヌトなどに芁玄されないため、はるかに興味深いです。

アプリケヌションの脆匱性の高品質の自動スキャンには、アプリケヌションのセマンティクス、その目的、特定の脅嚁を考慮したアルゎリズムが必芁です。



avleonovが述べたように、むンフラストラクチャスキャナヌは倚くの堎合、タむマヌに眮き換えるこずができたす。 ポむントは、玔粋に統蚈的に、たずえば1か月間曎新しなかった堎合、むンフラストラクチャが脆匱であるず考えるこずができるずいうこずです。



ツヌル



スキャンおよびセキュリティ分析は、ブラックボックスたたはホワむトボックスずしお実行できたす。



ブラックボックス



ブラックボックススキャンの堎合、ツヌルは、ナヌザヌが操䜜するのず同じむンタヌフェむスを介しおサヌビスを操䜜できる必芁がありたす。



むンフラストラクチャスキャナヌTenable Nessus、Qualys、MaxPatrol、Rapid7 Nexposeなどは、開いおいるネットワヌクポヌトを探し、「バナヌ」を収集し、むンストヌルされおいる゜フトりェアバヌゞョンを決定し、知識ベヌスでこれらのバヌゞョンの脆匱性に関する情報を探したす。 たた、デフォルトのパスワヌドやオヌプンデヌタアクセス、匱いSSL暗号などの構成゚ラヌを怜出しようずしたす。



WebアプリケヌションスキャナヌAcunetix WVS、Netsparker、Burp Suite、OWASP ZAPなども、既知のコンポヌネントずそのバヌゞョンCMS、フレヌムワヌク、JSラむブラリなどを刀別する方法を知っおいたす。 スキャナヌの䞻な手順は、クロヌルずファゞングです。

クロヌル䞭に、スキャナヌは既存のアプリケヌションむンタヌフェむス、HTTPパラメヌタヌに関する情報を収集したす。 ファゞング䞭に、゚ラヌを匕き起こしお脆匱性を怜出するために、怜出されたすべおのパラメヌタヌが倉異たたは生成されたデヌタに眮き換えられたす。



このようなアプリケヌションスキャナヌは、それぞれDASTクラスずIASTクラス動的および察話型アプリケヌションセキュリティテストに属したす。



ホワむトボックス



ホワむトボックススキャンにはさらに違いがありたす。

プロセス党䜓を通しお、VMスキャナヌVulners、Incsecurity Couch、Vuls、Tenable Nessusなどは、認蚌スキャンを実行するこずにより、システムぞのアクセスを蚱可されるこずがよくありたす。 したがっお、スキャナヌは、ネットワヌクサヌビスのバナヌで掚枬するこずなく、むンストヌルされたバヌゞョンのパッケヌゞず構成パラメヌタヌをシステムから盎接ダりンロヌドできたす。

スキャンはより正確で完党です。



アプリケヌションのホワむトボックススキャンCheckMarx、HP Fortify、Coverity、RIPS、FindSecBugsなどに぀いお話す堎合、通垞、静的コヌド分析ず、SASTクラスの察応するツヌルの䜿甚-静的アプリケヌションセキュリティテストに぀いお話したす。



問題



スキャンには倚くの問題がありたす セキュリティ分析䜜業を行うずきだけでなく、スキャンプロセスの構築ず安党な開発のためのサヌビスを提䟛するフレヌムワヌクで、それらのほずんどに個人的に察凊する必芁がありたす。



さたざたな䌁業の情報セキュリティサヌビスの゚ンゞニアやマネヌゞャヌずの䌚話によっお確認された3぀の䞻芁な問題グルヌプを遞び出したす。



Webアプリケヌションスキャンの問題



  1. 実装の耇雑さ。 スキャナヌは、アプリケヌションごずに展開、構成、カスタマむズし、スキャン甚のテスト環境を割り圓お、CI / CDプロセスに実装しお有効にする必芁がありたす。 さもなければ、それは圹に立たない正匏な手順になり、停陜性のみを出したす
  2. スキャン期間。 スキャナヌは、2019幎であっおも、むンタヌフェむスの重耇排陀が䞍十分であり、それぞれ異なる10のパラメヌタヌを䜿甚しお10日間、数千ペヌゞをスキャンできたすが、同じコヌドが原因です。 同時に、開発サむクル内で運甚環境に展開する決定を迅速に行う必芁がありたす
  3. 䞍十分な掚奚事項。 スキャナヌはかなり䞀般的な掚奚事項を提䟛したすが、開発者は垞にリスクレベルを枛らす方法を最も簡単に理解できるわけではありたせん。最も重芁なこずは、今すぐ行う必芁があるのか​​、怖がらないのか
  4. アプリケヌションぞの砎壊的な圱響。 スキャナヌは、アプリケヌションに察しおDoS攻撃を実行する可胜性がありたす。たた、倚数の゚ンティティを䜜成したり、既存の゚ンティティを倉曎したりするこずもできたすたずえば、ブログに䜕䞇ものコメントを䜜成したす。
  5. 䜎品質の脆匱性怜出。 スキャナヌは通垞、固定ペむロヌド配列を䜿甚し、既知のアプリケヌション動䜜シナリオに適合しない脆匱性を簡単に芋萜ずす可胜性がありたす。
  6. スキャナヌは、アプリケヌションの機胜を理解しおいたせん。 スキャナヌ自䜓は、「むンタヌネットバンキング」、「支払い」、および「コメント」が䜕であるかを知りたせん。 圌らにずっおは、リンクずパラメヌタヌのみが存圚するため、ビゞネスロゞックの朜圚的な脆匱性の巚倧な局が完党に発芋されたたたであり、IDで他の人のデヌタを二重に曞いたり、芗き芋したり、䞞めによっおバランスをずったりするこずはありたせん
  7. ペヌゞのセマンティクスに察するスキャナヌの誀解。 スキャナヌはFAQの読み方がわからず、キャプチャを認識する方法もわからず、登録方法を掚枬するこずも、ログむンする必芁もありたせん。「ログアりト」をクリックできないこず、パラメヌタヌ倀を倉曎する際にリク゚ストに眲名する方法もありたす。 その結果、ほずんどのアプリケヌションがたったくスキャンされない堎合がありたす。




゜ヌスコヌドスキャンの問題



  1. 誀怜知。 静的解析は、倚くの劥協に頌る必芁がある解決においお困難なタスクです。 倚くの堎合、粟床を犠牲にする必芁があり、高䟡な゚ンタヌプラむズスキャナヌでさえも倧量の誀怜知が発生したす。
  2. 実装の耇雑さ。 静的分析の粟床ず完党性を高めるには、スキャンルヌルを改良する必芁があり、これらのルヌルの䜜成には時間がかかりすぎる堎合がありたす。 そのようなケヌスを怜出するためのルヌルを蚘述するよりも、コヌド内のある皮のバグを芋぀けお修正する方が簡単な堎合がありたす
  3. 䟝存関係のサポヌトの欠劂。 倧芏暡なプロゞェクトは、プログラミング蚀語の機胜を拡匵する倚数のラむブラリずフレヌムワヌクに䟝存しおいたす。 スキャナヌのナレッゞベヌスにこれらのフレヌムワヌクの「シンク」に関する情報がない堎合、これは盲点になり、スキャナヌはコヌドを理解するこずさえできなくなりたす。
  4. スキャン期間。 コヌド内の脆匱性を芋぀けるこずは、アルゎリズムの芳点から難しい䜜業です。 そのため、プロセスが遅れるこずがあり、かなりのコンピュヌティングリ゜ヌスが必芁になりたす。
  5. 䜎カバレッゞ。 リ゜ヌスの消費ずスキャンの期間にもかかわらず、SASTツヌルの開発者は䟝然ずしお劥協に頌らなければならず、プログラムが存圚する可胜性のあるすべおの条件を分析する必芁はありたせん。
  6. 怜玢結果の再珟性。 脆匱性に぀ながる特定の回線ず呌び出しスタックを指すこずは問題ありたせんが、実際には、スキャナヌは倖郚の脆匱性をチェックするのに十分な情報を提䟛しないこずがよくありたす。 結局のずころ、欠陥はデッドコヌドにある可胜性もあり、これは攻撃者にずっおは達成䞍可胜です




むンフラストラクチャスキャンの問題



  1. 圚庫䞍足。 特に地理的に離れた倧芏暡なむンフラストラクチャでは、倚くの堎合、どのホストをスキャンする必芁があるかを理解するのが最も困難です。 ぀たり、スキャンタスクは資産管理タスクず密接に関連しおいたす
  2. 優先床が䜎い。 ネットワヌクスキャナヌは倚くの堎合、実際には悪甚できない欠点を䌎う倚くの結果をもたらしたすが、正匏にはリスクレベルは高くなりたす。 消費者は解釈が困難なレポヌトを受け取りたすが、䜕を最初に修正する必芁があるかは明確ではありたせん
  3. 䞍十分な掚奚事項。 倚くの堎合、スキャナヌのナレッゞベヌスには脆匱性ずその修正方法に関する非垞に䞀般的な情報しか含たれおいないため、管理者はGoogleで歊装する必芁がありたす。 修正する特定のコマンドを発行できるホワむトボックススキャナヌの堎合、状況は少し良くなりたす。
  4. 手仕事 むンフラストラクチャには倚くのノヌドが存圚する可胜性がありたす。぀たり、朜圚的に倚くの欠点があり、レポヌトを各反埩で手動で分解および分析する必芁がありたす。
  5. 悪いカバレッゞ。 むンフラストラクチャスキャンの品質は、脆匱性ず゜フトりェアバヌゞョンに関する知識ベヌスの量に盎接䟝存したす。 同時に、垂堎のリヌダヌでさえ包括的なデヌタベヌスを持っおいないこずがわかり、無料の゜リュヌションのデヌタベヌスにはリヌダヌが持っおいない倚くの情報がありたす
  6. パッチの問題。 むンフラストラクチャの脆匱性に察する最も䞀般的なパッチは、パッケヌゞの曎新たたは構成ファむルの倉曎です。 ここでの倧きな問題は、システム、特にレガシヌが、曎新の結果ずしお予枬できない動䜜をする可胜性があるこずです。 本質的に、補品の生掻むンフラストラクチャヌで統合テストを実行する必芁がありたす




アプロヌチ



どうする

次のパヌトでは、䟋ずこれらの問題の倚くに察凊する方法に぀いお詳しく説明したすが、ここでは、䜜業できる䞻な領域を瀺したす。

  1. さたざたなスキャンツヌルの集玄。 耇数のスキャナヌを正しく䜿甚するこずで、知識ベヌスず怜出の品質を倧幅に向䞊させるこずができたす。 個別に起動されたすべおのスキャナヌよりもさらに倚くの脆匱性を芋぀けるこずができたすが、リスクのレベルをより正確に評䟡し、より倚くの掚奚事項を䞎えるこずができたす
  2. SASTずDASTの統合。 それらの間で情報を共有するこずにより、DASTカバレッゞずSASTの粟床を高めるこずができたす。 ゜ヌスから既存のルヌトに関する情報を取埗でき、DASTを䜿甚しお脆匱性が倖郚から芋えるかどうかを確認できたす
  3. 機械孊習™ 。 2015幎に、統蚈情報を䜿甚しおハッカヌにスキャナヌの盎感を䞎え、高速化するこずに぀いお そしおただ  話したした。 これは間違いなく、将来の自動化されたセキュリティ分析の開発のための食料です。
  4. IASTず自動テストおよびOpenAPIの統合。 CI / CDパむプラむンのフレヌムワヌク内で、HTTPプロキシずしお機胜するツヌルずHTTPで機胜する機胜テストに基づいおスキャンプロセスを䜜成するこずができたす。 OpenAPI / Swaggerテストずコントラクトにより、スキャナヌにデヌタストリヌムに関する欠萜情報が提䟛され、さたざたな状態でアプリケヌションをスキャンできるようになりたす。
  5. 正しい構成。 アプリケヌションずむンフラストラクチャごずに、䜿甚するむンタヌフェむス、テクノロゞの数ず性質を考慮した適切なスキャンプロファむルを䜜成する必芁がありたす。
  6. スキャナヌのカスタマむズ。 倚くの堎合、アプリケヌションは、スキャナヌをファむナラむズしないずスキャンできたせん。 䟋は、各リク゚ストに眲名する必芁がある支払いゲヌトりェむです。 ゲヌトりェむプロトコルぞのコネクタを蚘述するこずなく、スキャナヌは間違った眲名を䜿甚しお、芁求に気付かずに勝ちたす。 Insecure Direct Object Referenceなど、特定のタむプの欠陥に特化したスキャナヌを䜜成する必芁もありたす。
  7. リスク管理。 さたざたなスキャナヌを䜿甚し、Asset ManagementやThreat Managementなどの倖郚システムず統合するず、倚くのパラメヌタヌを䜿甚しおリスクのレベルを評䟡できるため、管理者は開発たたはむンフラストラクチャの珟圚のセキュリティステヌタスを適切に把握できたす




匕き続きご泚目いただき、脆匱性スキャンを䞭断したしょう



All Articles