web-dev-qa-db-ja.com

詳細なコードレビューを行うセキュリティコンサルタントを探していますか?

PHPアプリケーションにコーディング慣行が不十分であることがわかっている(開発者がPHP /プログラミングの基礎知識を十分に理解していないため))。これにより、 「ロジックレベル」でもコードに重大なセキュリティ欠陥があるシナリオに。

コードの手動レビューを行い、何がWEが試みていたか)を実際に理解するコンサルティングチームをどこでどのように見つけますかコードを自動スキャンしてジャストしているように見えるコンサルタントを試して、それを追加しました。まったく価値はありません。

この質問は セキュリティコードの手動レビューを実施することに基づいています-注意すべき点はありますか? -私は同じ人物ですが、以前のCookieベースのセッションにアクセスできなくなりました。

9
siliconpi

コードレビューコンサルタントの時間と予算を費やすことになるため、次のことを実行することで、お金の価値を確実に得ることができます。

  1. レビューが必要なコードのトリアージ。このようにして、気になる承認/セッション管理/特定のビジネスロジックなどの特定の役割を実行するコードに集中できることに気付くでしょう。予算が残っている場合は、他のそれほど重要ではないコード領域に進むことができます。

  2. 必要な時間と労力の見積もり非常に大まかな見積もりとして、1k行のコードを使用できます= 1日のレビュー(レポートは含まれません)。異なる言語とコードの複雑さはこれを変更しますが、予算要件を検討するときの良い出発点となります。

  3. 補助としての自動化自動化されたコードスキャンがその場所にありますが、コンサルタントがツールを構成して手動レビューの補助としてそれを使用する方法を知っている場合にのみ価値を追加します。混合された自動化された手動のアプローチを使用すると、エンゲージメントが加速し、コストの削減につながります。コンサルタントは、セキュリティの問題を理解し、誤検知を削除するだけでなく、誤検知が発生しないことを保証するために、レビューされる言語に十分熟練している必要があります。

  4. アプリケーションの脅威モデルビジネスロジックと、攻撃者が潜在的な攻撃ベクトルをモデル化できるレベルまでアプリケーションを操作する方法を理解できれば、これにより、より具体的で集中的なコードレビューを定義できます。 。次に、この詳細レベルをコンサルタントに渡して、アプリケーションがどのように機能するかを確実に認識させることができます。これにより、ジェネリックではなく、カスタマイズされたアドバイスやガイダンスを提供できるようになります-いくつかのリスクがあります。

  5. 調査結果をアプリケーションのコンテキストに配置する 1日の終わりに、修正する問題と優先順位の順番について電話をかける必要があります。明確な推奨事項を作成し、コードレビューからの調査結果が実際に脅威であるかどうかを理解するのに役立つ証拠を提供するようにコンサルタントに挑戦してください。脆弱なコードがエンドユーザーに提示されるメインの認証コードに含まれる場合よりもリスクが低い。これにより、内部で時間を短縮できるため、コードレビューのコストを相殺できるコスト削減になります。

8
David Stubley

お住まいの国によって異なります。ただし、注意すべき点がいくつかあります。

最初に、明確に定義し、文書化しますwhat今、やりたいこと。詳細なセキュリティレビューが必要ですか、(詳細な)品質レビューが必要ですか?開発プロセスに関してコンサルタントからのアドバイス/推奨が必要ですか?開発会社を選ぶ際のアドバイスはありますか? [〜#〜] all [〜#〜]を明示し、それらを詳細に文書化してください。

さらに、有能な会社を選択するようにしてください。参照をリクエストし、良いものを見つけるために少し時間をかけてください。それにいくらかお金をかける準備をしてください。手動のコードレビューは非常に時間がかかります。非常に安価なものは使わないでください。単に時間=お金であり、詳細な手動レビューを実行するための時間が必要だからです。

この場合、非常に技術的なコンサルタント会社が必要です。技術的なサービスも提供する経営コンサルタント会社は採用しないでください。

3
Henri

レビューの幅と深さの両方を考慮する必要があります。広義には、レビューでカバーされるリスク/攻撃/脅威の範囲を意味します。ここで何をカバーすべきかを理解するには、OWASPアプリケーションセキュリティ検証標準から始める必要があります。深さで言うと、コンサルタントは、各エリアが適切に防御されていることをどれだけうまく検証できるかということです。ローエンドでは、自動化されたツールスキャンはほとんど保証を提供しません。ハイエンドでは、手動の検査または実際のテストケースは、正しい防御策が整っており、正しく設計されており、必要なあらゆる場所で使用されていることを本質的に証明する必要があります。

コードレビューは他のアプローチよりも時間がかかるという主張に陥らないでください。多くの場合、これは安全を迅速かつ正確に、そして可能な限り最高のカバレッジで検証する最も効率的な方法です。

OWASPに関係するいくつかの会社に確認してください。彼らは、費用対効果の高い方法でWebアプリケーションのセキュリティを検証する豊富な経験を持っています。

1
planetlevel