確かに自動チェックでは不十分であり、決して十分ではないと考えられています。まあ、いくつかのAIが作られるまで。たとえばファザーのように、過酷な入力で失敗したチェックのみをカバーできます。論理的なバグは見逃されます。ソースコード分析は、話が本当に深刻なバグと、満たすためにいくつかの条件を満たす必要がある脆弱性についてである場合に、良い結果を示します。バイナリ分析は、それほど経験のない人にとっては気が遠くなるかもしれませんが、クローズドソースコードアプリケーションを検査することは可能であり、さらに、ソースコード分析中に診断することが不可能なコンパイラ仕様を考慮に入れます。したがって、すべての方法には利点があり、単独で使用しないでください。
ほとんどのアプリケーションのセキュリティを検証するために自動化された脆弱性スキャンのみに依存することは、ひどく不十分です。
なぜですか?自動化されたツールは脆弱性を見逃すため(タイプIIエラー/偽陰性)。
この質問の醜い意味は、アプリケーションのセキュリティが重要であるにもかかわらず、開発中に無視されたことです。
アプリケーションは、車両が安全に運転できると認定できないのと同じように、安全であると認定することはできません。あなたのメカニックは、彼または彼女がチェックし、おそらく安全であると確認したもののリストをあなたに渡すかもしれません。ただし、それは、車を道路や線路に乗せても問題が発生しないという意味ではありません。
完全に自動化された安全検査を提供するのは、車を引き裂こうとする整備士だけです。今後50年間で、人工知能を使用したとしても、アプリケーションが完全に安全または安全であると考えても問題ないと考えるのは非常識です。形式仕様を使用した形式手法でさえ失敗することが知られています。
結果を決定する前に、アプリケーションの固有の状況を適切にスコープすることをお勧めします。
何に十分ですか?
ワームのような他の純粋に自動化された攻撃から防御するのに十分ですか?おそらく。
熟練した攻撃者による標的型攻撃から防御するのに十分ですか?確かにそうではありません。
より良い質問は、「自動スキャンは、アプリケーションの許容レベルまでリスクを軽減しますか?」です。もちろん、答えは状況によって異なります...
例えを使用すると、「私の一般開業医に行くだけで十分ですか?」という質問はしません。 「毎年の健康診断が必要」や「胴体の半分をチェーンソーで切った」という文脈がなければ。
独自のドメインにある重要度の低いパンフレットウェアサイトには自動スキャンで十分かもしれませんが、絶対にそうではありません。バンキングアプリには十分です。ほとんどのサイトは途中にあるので...状況によって異なります;-)