DevSecOpsぞの恐怖ず嫌悪

2぀のコヌドアナラむザヌ、4぀の動的テスト甚ツヌル、独自のクラフト、250のスクリプトがありたした。 珟圚のプロセスでこれがすべお必芁ずいうわけではありたせんが、DevSecOpsの実装を開始しおから、最埌たで行かなければなりたせん。







出所 キャラクタヌ䜜者ゞャスティン・ロむランドずダン・ハヌモン。



SecDevOpsずは䜕ですか DevSecOpsはどうですか 違いは䜕ですか アプリケヌションセキュリティ-それは䜕ですか なぜ叀兞的なアプロヌチはもう機胜しないのですか Swordfish Securityの Yury Shabalinは 、これらすべおの質問に察する答えを知っおいたす。 ナヌリは、すべおに詳现に答え、埓来のアプリケヌションセキュリティモデルからDevSecOpsプロセスぞの移行の問題を分析したす。DevOpsプロセスに安党な開発プロセスを適切に埋め蟌み、同時に䜕も壊さない方法、セキュリティテストの䞻芁段階を通過する方法、䜿甚できるツヌル、それらは異なり、萜ずし穎を避けるためにそれらを正しく構成する方法です。





スピヌカヌに぀いお Yuri Shabalin- Swordfish Securityのチヌフセキュリティアヌキテクト。 圌は、SSDLの実装、アプリケヌション分析ツヌルの単䞀の開発およびテスト゚コシステムぞの䞀般的な統合を担圓しおいたす。 情報セキュリティの7幎の経隓。 圌は、Alfa Bank、Sberbank、および゜フトりェアの開発ずサヌビスを提䟛するPositive Technologiesで働いおいたした。 囜際䌚議ZerONights、PHDays、RISSPA、OWASPのスピヌカヌ。



アプリケヌションセキュリティそれは䜕ですか



アプリケヌションセキュリティは、アプリケヌションセキュリティを担圓するセキュリティセクションです。 これは、むンフラストラクチャやネットワヌクのセキュリティ、぀たり、私たちが曞いおいるものや開発者が取り組んでいるものには圓おはたりたせん。これらは、アプリケヌション自䜓の欠陥ず脆匱性です。



SDLたたはSDLCの方向- セキュリティ開発ラむフサむクル -はマむクロ゜フトによっお開発されたした。 この図は、暙準のSDLCモデルを瀺しおいたす。その䞻なタスクは、芁件からリリヌス、実皌働ぞのリリヌスたで、開発のあらゆる段階でのセキュリティ参加です。 マむクロ゜フトは、プロムにバグが倚すぎお、さらに倚くのバグがあり、䜕かする必芁があるこずに気づき、このアプロヌチを提案したした。







Application SecurityずSSDLは、䞀般に考えられおいるように脆匱性を怜出するこずを目的ずせず、脆匱性の発生を防ぐこずを目的ずしおいたす。 時間が経぀に぀れお、Microsoftの暙準的なアプロヌチが改善、開発され、より深く詳现な没入感が珟れたした。







Canonical SDLCは、OpenSAMM、BSIMM、OWASPなどのさたざたな方法論で非垞に詳现に蚘述されおいたす。 方法論は異なりたすが、䞀般的に䌌おいたす。



成熟モデルでのセキュリティの構築



私はBSIMMが最も 成熟したセキュリティモデルであるのが奜きです 。 方法論の基瀎は、アプリケヌションセキュリティプロセスを4぀のドメむンガバナンス、むンテリゞェンス、SSDLタッチポむント、展開に分離するこずです。 各ドメむンには12のプラクティスがあり、112のアクティビティずしお衚されおいたす。







112の各アクティビティには、 3぀の成熟床レベルがありたす プラむマリ、䞭玚、䞊玚。 12のプラクティスすべおをセクションで孊習し、重芁なものを遞択し、それらの実装方法を理解し、静的および動的なコヌド分析やコヌドレビュヌなどの芁玠を埐々に远加できたす。 遞択したアクティビティの実装の䞀環ずしお、蚈画をペむントし、冷静に䜜業したす。



DevSecOpsを遞ぶ理由



DevOpsは、セキュリティの面倒を芋る必芁がある䞀般的な倧きなプロセスです。


最初、 DevOpsにはセキュリティチェックが含たれおいたした 。 実際には、セキュリティチヌムの数は珟圚よりもはるかに少なく、プロセスの参加者ずしおではなく、リリヌスの最埌にそれを芁求し、補品の品質をチェックする管理および監督機関ずしお行動したした。 これは、セキュリティチヌムが開発の壁の埌ろにいお、プロセスに関䞎しおいなかった叀兞的なアプロヌチです。







䞻な問題は、情報セキュリティが開発ずは別個であるこずです。 通垞、これはIB回路の䞀皮であり、2〜3個の倧型で高䟡なツヌルが含たれおいたす。 6か月に1回、゜ヌスコヌドたたはアプリケヌションが到着したすので、チェックする必芁があり、1幎に1回ペンテストが䜜成されたす。 これはすべお、プロムに入るための期限が延期され、自動化ツヌルからの膚倧な数の脆匱性が開発者に萜ちるずいう事実に぀ながりたす。 過去6か月間の結果が敎理されおいないため、これをすべお分解および修埩するこずはできたせんが、ここに新しいバッチがありたす。



匊瀟のプロセスでは、すべおの分野ず業界のセキュリティが、 アゞャむルの 1぀のホむヌルでの開発で自分自身を匕き、スピンする時だず理解しおいるこずがわかりたす。 DevSecOpsパラダむムは、アゞャむル開発方法論、実装、サポヌト、および各リリヌスずむテレヌションぞの参加にうたく適合したす。







DevSecOpsぞの移行



セキュリティ開発ラむフサむクルで最も重芁な蚀葉は「プロセス」です 。 ツヌルの賌入を怜蚎する前に、これを理解する必芁がありたす。



DevOpsプロセスにツヌルを組み蟌むだけでは十分ではありたせん。プロセスの参加者間の盞互䜜甚ず理解は重芁です。


ツヌルよりも人よりも重芁



倚くの堎合、安党な開発プロセスの蚈画はツヌルの遞択ず賌入から始たり、ツヌルを珟圚のプロセスに統合しようずする詊みで終わりたす。 すべおのツヌルには独自の特性ず制限があるため、これは悲しい結果に぀ながりたす。



セキュリティ郚門が優れた機胜を備えた優れた高䟡なツヌルを遞択し、開発者に来おプロセスに組み蟌むずいう䞀般的なケヌス。 しかし、うたくいきたせん。プロセスは、すでに賌入したツヌルの制限が珟圚のパラダむムに適合しないように構成されおいたす。



最初に、垌望する結果ずプロセスの倖芳を説明したす。 これは、プロセスにおけるツヌルの圹割ず安党性を理解するのに圹立ちたす。


すでに䜿甚されおいるものから始めたす。



高䟡なツヌルを賌入する前に、すでに持っおいるものを芋おください。 各䌚瀟には開発のための安党芁件があり、チェック、ペンテストがありたす-これをすべおの人にずっお理解しやすい䟿利な圢に倉えおみたせんか



通垞、芁件は玙のタルムヌドであり、棚の䞊にありたす。 䌚瀟に来おプロセスを確認し、゜フトりェアのセキュリティ芁件を瀺すように䟝頌する堎合がありたした。 これを行った専門家は長い間探しおいたした。



-さお、メモのどこかに、この文曞が存圚する方法がありたした。



その結果、1週間埌にドキュメントを受け取りたした。



芁件、チェックなどに぀いおは、たずえばConfluenceでペヌゞを䜜成したす-これは誰にずっおも䟿利です。



すでにあるものを再フォヌマットし、それを䜿甚しお開始する方が簡単です。


セキュリティチャンピオンを䜿甚する



通垞、100〜200人の開発者を抱える䞭芏暡の䌚瀟では、1人のセキュリティ担圓者が働いおおり、耇数の機胜を実行し、物理的にすべおをチェックする時間はありたせん。 圌が最善を尜くしおも、開発者が生成するすべおのコヌドをチェックするわけではありたせん。 そのような堎合のために、コンセプトが開発されたした-Security Champions 。



セキュリティチャンピオンは、補品のセキュリティに関心のある開発チヌム内の人です。








セキュリティチャンピオンは開発チヌムぞの入り口であり、セキュリティ゚バンゞェリストはすべお1぀になりたした。



通垞、金庫が開発チヌムに来お、コヌドに゚ラヌがあるこずを瀺すず、驚きの答えを受け取りたす。



「あなたは誰ですか」 初めお䌚いたしょう 私は元気です-コヌドレビュヌのシニアフレンドが私に「適甚」するように蚭定したした。



これは兞型的な状況です。なぜなら、開発者が仕事やコヌドレビュヌで絶えずやり取りしおいる先茩やチヌムメむトに倚くの信頌があるからです。 セキュリティガヌドの代わりに、セキュリティチャンピオンが゚ラヌず結果を瀺す堎合、圌の蚀葉はより重芁になりたす。



たた、開発者はどのセキュリティプロバむダヌよりもコヌドをよく知っおいたす。 静的分析ツヌルに少なくずも5぀のプロゞェクトがある人にずっお、すべおのニュアンスを芚えるこずは通垞困難です。 セキュリティチャンピオンは自瀟の補品を知っおいたす。぀たり、䜕が䜕ず盞互䜜甚し、䜕を芋なければならないか-圌らはより効果的です。



そのため、セキュリティチャンピオンを実装し、セキュリティチヌムの圱響力を拡倧するこずを怜蚎しおください。 チャンピオン自身にずっおも、これは有甚です。新しい分野での専門胜力開発、技術の芖野の拡倧、技術、管理、リヌダヌシップのスキルの向䞊、垂堎䟡倀の向䞊。 これは゜ヌシャル゚ンゞニアリングの䞀郚であり、開発チヌムの「目」です。



テスト手順



20から80のパラダむムでは、努力の20が結果の80を生み出したす。 これらの20は、自動化できるアプリケヌションのプラクティスです。 そのようなアクティビティの䟋ずしおは、静的分析-SAST 、動的分析-DAST、およびオヌプン゜ヌス管理がありたす。 アクティビティ、ツヌル、プロセスに導入されたずきに通垞遭遇する機胜、およびそれを正しく行う方法に぀いお詳しく説明したす。







ツヌルの䞻な問題



泚意が必芁なすべおのツヌルに関連する問題を匷調したす。 これ以䞊繰り返さないように、それらをより詳现に分析したす。



長時間の分析。 コミットから補品に至るたでのすべおのテストずアセンブリを完了するのに30分かかる堎合、情報セキュリティチェックには1日かかりたす。 したがっお、誰もプロセスを遅くするこずはありたせん。 この機胜を怜蚎し、結論を導き出したす。



高い停陰性たたは停陜性。 すべおの補品は異なり、誰もが異なるフレヌムワヌクず独自のスタむルのコヌドを䜿甚しおいたす。 さたざたなコヌドベヌスおよびテクノロゞで、ツヌルはさたざたなレベルのFalse NegativeおよびFalse Positiveを衚瀺できたす。 したがっお、䌁業内およびアプリケヌションで䜕が正確か぀信頌できる結果をもたらすかを正確に確認しおください 。



既存のツヌルずの統合はありたせん 。 すでに䜿甚しおいるように、統合の芳点からツヌルを芋おください。 たずえば、JenkinsたたはTeamCityを䜿甚しおいる堎合は、䜿甚しないGitLab CIではなく、この゜フトりェアずツヌルの統合を確認しおください。



カスタマむズの欠劂たたは過床の耇雑さ。 ツヌルにAPIがない堎合、なぜ必芁なのですか むンタヌフェむスでできるこずはすべお、APIを介しおアクセスできる必芁がありたす。 理想的には、ツヌルはチェックをカスタマむズできる必芁がありたす。



ロヌドマップ補品開発はありたせん。 開発は止たるこずなく、垞に新しいフレヌムワヌクず機胜を䜿甚し、叀いコヌドを新しい蚀語に曞き換えたす。 賌入するツヌルが新しいフレヌムワヌクずテクノロゞヌをサポヌトするこずを確認したいず思いたす。 したがっお、補品には実際の適切な開発ロヌドマップがあるこずを知っおおくこずが重芁です。



プロセス機胜



ツヌルの機胜に加えお、開発プロセスの機胜を怜蚎しおください。 たずえば、開発の劚害は兞型的な間違いです。 他のどの機胜を怜蚎し、セキュリティチヌムが䜕に泚意を払うべきかを芋おみたしょう。



開発日ずリリヌス日を䞭断させないために、異なる環境に察しお、 異なるルヌルず異なるショヌストッパヌ 脆匱性が存圚する堎合にビルドプロセスを停止するための基準を䜜成したす 。 たずえば、珟圚のブランチは開発スタンドたたはUATに移動するこずを理解しおいるため、停止せず、次のように蚀っおいたせん。



-あなたはここに脆匱性がありたす、あなたはそれ以䞊どこにも行かないでしょう



この段階では、泚意する䟡倀のあるセキュリティの問題があるこずを開発者に䌝えるこずが重芁です。



脆匱性の存圚は 、手動、統合、たたは手動のさらなるテストの障害にはなりたせん 。 䞀方、補品のセキュリティを䜕らかの方法で匷化する必芁がありたす。そのため、開発者が安党性を芋぀けるこずを忘れないようにしたす。 そのため、これを行うこずがありたす。スタンドでは、開発環境に展開するずきに、開発に通知するだけです。



-皆さん、問題がありたすので泚意しおください。



UATステヌゞでは、脆匱性に関する譊告を再床衚瀺し、プロムの終了ステヌゞでは次のように蚀いたす。



-みんな、私たちは䜕床も譊告したした、あなたは䜕もしたせんでした-私たちはあなたにこれを手攟したせん。



コヌドずダむナミクスに぀いお話す堎合、これらの機胜の脆匱性ずこの機胜で䜜成されたばかりのコヌドに぀いおのみ衚瀺しお譊告する必芁がありたす。 開発者がボタンを3ピクセル移動し、そこにSQLむンゞェクションがあり、緊急に修正する必芁があるこずを䌝えた堎合、これは間違っおいたす。 珟圚蚘述されおいる内容ず、アプリケヌションに生じる倉曎のみを確認しおください。



特定の機胜䞊の欠陥があるず仮定したす-アプリケヌションが動䜜しない方法お金が送金されない、ボタンをクリックするず、次のペヌゞに遷移しない、たたは補品がロヌドされない セキュリティの欠陥は同じ欠陥ですが、アプリケヌションのコンテキストではなく、セキュリティです。



すべおの゜フトりェア品質の問題がセキュリティの問題ではありたせん。 ただし、すべおのセキュリティ問題は゜フトりェアの品質に関連しおいたす。 シェリフマンスヌル、゚クスペディア。


すべおの脆匱性は同じ欠陥であるため、すべおの開発欠陥ず同じ堎所に配眮する必芁がありたす。 だから誰も読たないレポヌトや怖いPDFを忘れおください。







開発䌚瀟で働いおいたずき、静的分析ツヌルからレポヌトを受け取りたした。 私はそれを開け、ぞっずさせ、コヌヒヌをbrewれ、350ペヌゞをめくっお、閉じお䜜業を続けたした。 倧きなレポヌトは死んだレポヌトです。 通垞、圌らはどこにも行かず、手玙は削陀されたり、忘れられたり、玛倱したりしたす。



どうする 確認した欠陥を開発に䟿利な圢匏に倉換するだけです。たずえば、Jiraのバックログに远加したす。 機胜の欠陥ずテストの欠陥ずずもに、優先順䜍の高い欠陥を優先しお排陀したす。



静的分析-SAST



これは脆匱性のコヌド分析ですが、SonarQubeずは異なりたす。 パタヌンやスタむルだけではありたせん。 分析では、脆匱性ツリヌ、 DataFlow 、構成ファむルの分析など、倚くのアプロヌチが䜿甚されたす。 これはすべおコヌドに盎接関連しおいたす。



アプロヌチの利点 スタンドおよび完成したツヌルがない開発の初期段階でコヌドの脆匱性を特定し、 むンクリメンタルスキャンの可胜性 倉曎されたコヌドのセクションをスキャンし、珟圚実行しおいる機胜のみをスキャンするこずで、スキャン時間を短瞮したす。



短所 -これは、必芁な蚀語のサポヌトの欠劂です。



私の䞻芳的な意芋では、ツヌルに必芁な統合 





写真は、静的解析の最良の代衚のいく぀かを瀺しおいたす。







重芁なのはツヌルではなくプロセスであるため、プロセスの実行にも適したオヌプン゜ヌス゜リュヌションがありたす。







SAST Open Sourceは、膚倧な数の脆匱性や耇雑なDataFlowを発芋したせんが、プロセスを構築する際に䜿甚するこずができ、䜿甚する必芁がありたす。 プロセスがどのように構築されるか、誰がバグに察応するか、誰が報告するか、誰が報告するかを理解するのに圹立ちたす。 コヌドのセキュリティを構築する初期段階を過ごしたい堎合は、オヌプン゜ヌス゜リュヌションを䜿甚しおください。



道の初めにいる堎合、CI、Jenkins、TeamCityのいずれも䜕もない堎合、これをどのように統合できたすか プロセスぞの統合を怜蚎しおください。



CVS統合



BitbucketたたはGitLabがある堎合は、 Concurrent Versions Systemレベルで統合を行うこずができたす。



むベント別 -プルリク゚スト、コミット。 コヌドをスキャンし、ビルドステヌタスでセキュリティチェックが成功たたは倱敗したこずを瀺したす。



フィヌドバック。 もちろん、フィヌドバックは垞に必芁です。 単にセキュリティ偎で実行した堎合は、ボックスに入れお誰にも蚀わずに、月末に倧量のバグをダンプしたした。これは正しくも良くもありたせん。



コヌドレビュヌずの統合



䞀床、倚くの重芁なプロゞェクトで、AppSec技術ナヌザヌのデフォルトのレビュヌ担圓者を蚭定したした。 新しいコヌドで゚ラヌが怜出されたかどうか、たたぱラヌがないかどうかに応じお、レビュアヌはプルリク゚ストのステヌタスを「受け入れる」たたは「䜜業が必芁」にしたす-すべおが正垞であるか、最終化するものを正確に絞り蟌んでリンクする必芁がありたす。 補品版のバヌゞョンず統合するために、IBテストが倱敗した堎合にマヌゞ犁止をオンにしたした。 これを手動のコヌドレビュヌに含め、プロセスの他の参加者はこの特定のプロセスのセキュリティステヌタスを確認したした。



SonarQubeずの統合



倚くには、コヌド品質の品質ゲヌトがありたす。 ここでも同じこず-SASTツヌルに察しおのみ同じゲヌトを䜜成できたす。 同じむンタヌフェヌス、同じ品質ゲヌトがあり、それだけがセキュリティゲヌトず呌ばれたす。 たた、SonarQubeを䜿甚するプロセスがある堎合は、そこにすべおを簡単に統合できたす。



CI統合



ここでも、すべおが非垞に簡単です。





すべおが完璧なピンクの䞖界にありたす。 実際には、これはそうではありたせんが、私たちは努力しおいたす。 セキュリティチェックの結果は、単䜓テストの結果ず類䌌しおいる必芁がありたす。



たずえば、倧芏暡なプロゞェクトを取り䞊げ、SAST'omでスキャンするこずにしたした-OK。 このプロゞェクトをSASTに抌し蟌み、20,000の脆匱性を䞎えたした。そしお、匷い意志で、すべおが順調であるこずを受け入れたした。 20,000の脆匱性は技術的な矩務です。 借金を箱に入れお、ゆっくりずすくい取り、欠陥远跡システムでバグを開始したす。 䌚瀟を雇っお、自分でやるか、セキュリティのチャンピオンが助けおくれる-そしお技術的な負債が枛るだろう。



そしお、新しいコヌドに新たに出珟したすべおの脆匱性ず、ナニットたたは自動テストの゚ラヌを修正する必芁がありたす。 比范的蚀えば、アセンブリが開始され、远い出され、2぀のテストず2぀のセキュリティテストが萜ちたした。 OK-私たちは行っお、䜕が起こったのかを芋お、1぀のこずを修正し、2番目の問題を修正し、次回にそれを远い出したした-すべおが正垞で、新しい脆匱性はなく、テストは倱敗したせんでした このタスクがより深く、それをよく理解する必芁がある堎合、たたは脆匱性の修正が内郚にあるものの倧きなレむダヌに圱響する堎合バグを欠陥トラッカヌに持ち蟌んだ堎合、それは優先順䜍が付けられお修正されたす。 残念ながら、䞖界は完党ではなく、テストは時々倱敗したす。



セキュリティゲヌトの䟋は、コヌド内の脆匱性の存圚ず数による品質ゲヌトの類䌌物です。



SonarQubeず統合したす-プラグむンがむンストヌルされ、すべおが非垞に䟿利でクヌルです。



開発環境の統合



統合機胜





サヌバヌから結果を取埗するように芋えたす。







Intellij IDEA開発環境では、スキャン䞭にそのような脆匱性が怜出されたこずを報告する远加項目が衚瀺されたす。 コヌドをすぐに線集できたす。掚奚事項ずフロヌグラフを参照しおください。 これらはすべお開発者の職堎にあり、非垞に䟿利です。他のリンクにアクセスしお䜙分なものを芋る必芁はありたせん。



オヌプン゜ヌス



これは私のお気に入りのトピックです。 誰もがオヌプン゜ヌスのラむブラリを䜿甚しおいたす-すべおがすでに実装されおいる既補のラむブラリを入手できるのに、なぜ束葉杖や自転車をたくさん曞くのですか







もちろん、これは事実ですが、ラむブラリも人によっお䜜成されおおり、特定のリスクも含たれおいたす。たた、定期的たたは絶えず報告される脆匱性もありたす。 したがっお、アプリケヌションセキュリティの次のステップは、オヌプン゜ヌスコンポヌネントの分析です。



オヌプン゜ヌス分析-OSA



このツヌルには3぀の倧きなステップが含たれおいたす。



ラむブラリの脆匱性を怜玢したす。 たずえば、このツヌルは、ある皮のラむブラリを䜿甚しおいるこず、およびこのバヌゞョンのラむブラリに関連するCVEたたはバグトラッカヌに脆匱性があるこずを認識しおいたす。 このツヌルを䜿甚しようずするず、ツヌルはラむブラリが脆匱であるこずを譊告し、脆匱性のない別のバヌゞョンを䜿甚するようにアドバむスしたす。



認可された枅朔さの分析。 これはただあたり人気がありたせんが、倖囜で働いおいる堎合、䜿甚たたは倉曎できないオヌプン゜ヌスコンポヌネントを䜿甚するためのATAを定期的に受け取るこずができたす。 ラむセンスラむブラリのポリシヌによるず、これを行うこずはできたせん。 たたは、倉曎しお䜿甚する堎合は、コヌドをレむアりトする必芁がありたす。 もちろん、圌らの補品のコヌドをアップロヌドしたい人はいたせんが、これからあなた自身を守るこずもできたす。



産業環境で䜿甚されるコンポヌネントの分析。 ようやく開発が完了し、マむクロサヌビスの最新の最新リリヌスをpromでリリヌスしたずいう仮想的な状況を想像しおください。 圌はすばらしくそこに䜏んでいたす-䞀週間、䞀ヶ月、䞀幎。 私たちはそれを収集せず、セキュリティチェックも実斜したせん。すべおがうたくいくようです。 しかし、突然、リリヌスの2週間埌に、このアセンブリで䜿甚するオヌプン゜ヌスコンポヌネントに産業環境で重倧な脆匱性が発生したす。 䜕をどこで䜿甚するかを蚘録しないず、この脆匱性は芋られたせん。 䞀郚のツヌルには、珟圚プロムで䜿甚されおいるラむブラリの脆匱性を監芖する機胜がありたす。 これは非垞に圹立ちたす。



機胜





オヌプン゜ヌスを分析する゚リアリヌダヌのいく぀かの䟋。





唯䞀無料のものは、OWASPのDependency-Checkです。 最初の段階で有効にし、どのように機胜し、䜕をサポヌトするかを確認できたす。 基本的に、これらはすべおクラりド補品たたはオンプレミスですが、その基盀の背埌ではむンタヌネットに送信されたす。 ラむブラリは送信したせんが、ハッシュたたはその倀を蚈算し、サヌバヌにフィンガヌプリントしお脆匱性のニュヌスを受信したす。



プロセス統合



倖郚゜ヌスからダりンロヌドされた境界ラむブラリ 。 倖郚リポゞトリず内郚リポゞトリがありたす。 たずえば、NexusはEvent Central内にあり、リポゞトリ内にステヌタスが「クリティカル」たたは「高」の脆匱性がないこずを確認する必芁がありたす。 Nexus Firewallラむフサむクルツヌルを䜿甚しおプロキシを蚭定するず、このような脆匱性が遮断され、内郚リポゞトリに分類されなくなりたす。



CIでの統合 。 自動テスト、ナニットテスト、開発段階ごずの分離ず同じレベルdev、test、prod。 各段階で、任意のラむブラリをダりンロヌドしお、䜕でも䜿甚できたすが、ステヌタスが「クリティカル」で難しいものがある堎合は可胜です。プロムに入る段階でこれに泚意する必芁がありたす。



アヌティファクトずの統合 NexusおよびJFrog。



開発環境ぞの統合。 遞択するツヌルには、開発環境ずの統合が必芁です。 開発者は、職堎のスキャン結果にアクセスするか、CVSにコミットする前にコヌドをスキャンしお脆匱性をチェックする機胜を持っおいる必芁がありたす。



CDぞの統合。 これは私が本圓に気に入っおおり、すでにお話ししたクヌルな機胜です。産業環境での新しい脆匱性の出珟を監芖したす。 このように機胜したす。







パブリックコンポヌネントリポゞトリ -倖郚のツヌルず内郚リポゞトリがありたす。 信頌できるコンポヌネントのみが必芁です。 リク゚ストをプロキシする堎合、ダりンロヌドしたラむブラリに脆匱性がないこずを確認したす。 私たちが確立し、開発ず調敎する必芁がある特定のポリシヌに該圓する堎合は、アップロヌドせず、別のバヌゞョンを䜿甚するようになりたす。 したがっお、ラむブラリに本圓に重倧で悪いものがある堎合、開発者はむンストヌル段階でラむブラリを受け取りたせん。より高いバヌゞョンたたはより䜎いバヌゞョンを䜿甚しおください。





動的分析-DAST



動的分析ツヌルは、前述のすべおのものず根本的に異なりたす。 これは、アプリケヌションでのナヌザヌの䜜業を暡倣したものです。 これがWebアプリケヌションである堎合、クラむアントの動䜜をシミュレヌトするリク゚ストを送信し、前面のボタンをクリックし、フォヌムから人工デヌタを送信したす匕甚笊、括匧、異なる゚ンコヌディングの文字、アプリケヌションがどのように動䜜し、倖郚デヌタを凊理するかを確認したす。



同じシステムを䜿甚するず、オヌプン゜ヌスのパタヌンの脆匱性を確認できたす。 DASTは、䜿甚しおいるオヌプン゜ヌスを認識しおいないため、単に「悪意のある」パタヌンをスロヌし、サヌバヌの応答を分析したす。



-うん、逆シリアル化の問題がありたすが、ここではありたせん。



これには倧きなリスクがありたす。テスタヌが䜜業するのず同じスタンドでこのセキュリティテストを実斜するず、䞍快なこずが起こる可胜性があるためです。





AppScanをようやく立ち䞊げたずきの状況がありたした。長い間、アプリケヌションぞのアクセスをノックアりトし、3぀のアカりントを取埗しお喜んでいたした。最埌にすべおをチェックしたす。 スキャンを開始し、AppScanが最初に行ったのは、管理パネルに登り、すべおのボタンを抌しお、デヌタの半分を倉曎しおから、 メヌルフォヌムリク゚ストでサヌバヌを匷制終了するこずでした。 テストによる開発は次のように述べおいたす。



-みんな、冗談でしょ 私たちはあなたに蚘録を䞎えたした、そしおあなたはスタンドを眮きたした



起こりうるリスクを考慮しおください。 理想的には、ISをテストするための別個のスタンドを準備したす。これは、少なくずも䜕らかの圢で環境の他の郚分から隔離され、手動モヌドで管理パネルを条件付きで確認するこずをお勧めしたす。 これはペンテストです-珟圚怜蚎しおいない努力の残りの割合。



これを負荷テストの類䌌物ずしお䜿甚できるこずを怜蚎する䟡倀がありたす。 最初の段階では、10〜15スレッドでダむナミックスキャナヌをオンにしお、䜕が起こるかを確認できたすが、通垞、実践が瀺すように、䜕も良いこずはありたせん。



よく䜿甚するいく぀かのリ゜ヌス。







Burp Suiteを匷調する䟡倀がありたす。これは、セキュリティの専門家にずっおは「スむスナむフ」です。 誰もがそれを䜿甚し、それは非垞に䟿利です。 - enterprise edition. stand alone , - , . , .





: .



mock-, — , .





プロセス



, . — , , OpenSource, - , , Waf .



.


, , , , -.



. , , . , , . , .







API, , , , — AppSec , .



, security- , , , , , . , , — Confluence , Jira -, / CI/CD.



Key Takeaways



. — . , , . — «» , — - high mega super critical, , .



— , . , , . DevSecOps, SecDevOps, .



, : , , , , . — . — .



.



, . , — . - , . , .



— Security Champions .



, , , - — . , . , community, , . , .



.





DevOpsConf 2018. 27 28 DevOpsConf ++ . , , 21 .



All Articles