web-dev-qa-db-ja.com

セキュリティコーディングトレーニングのベストアプローチ

開発チームをトレーニングするには、さまざまなオプションがあります。コードサンプルを使用した社内プレゼンテーション、開発者が最適なタイミングで行うためのCBT、オンサイトまたは社内(高価)のインストラクター主導のコース、 https ://owasp.teammentor.net/teamMentor

私たちは開発者を非常に高価なコースに送りました、彼は戻ってきました、しかし彼は突然専門家ではなく、残りは彼の知識から利益を得ませんでした。彼は今すべてを忘れているに違いない。

開発者から最高の結果とエンゲージメントをどのように得るのだろうかと思います。私たちが彼らにたくさんのビデオとCBTを見てもらうとしたら、彼らはそれを真剣に受け止めないだろうと想像できます。各開発者に一種の攻撃を割り当て、防御のベストプラクティスとコードサンプルを調査して見つけ、残りの開発者に提示するように依頼することで、開発者を引き付けるか、阻止すると思いますか?

2
Goli E

私が見たいくつかのことが良い成功を収めています。

開発者標準-これには、使用するライブラリ、使用する暗号化暗号と強度、入力サニタイズのテストに関する情報などが含まれます。ここで重要なのは、開発組織のリーダーと緊密に連携することです。 。

データが最新で正確であり、適切にまとめられている限り、開発者は多くの時間を節約できます。これにより、開発者は事前に決定されたセキュリティ構成について考える時間を最小限に抑え、実際に必要な問題解決に集中できます。これは、新しい開発者が実際にスピードを上げるのにかかる時間が短くなるという点でも非常に役立ちます。

ハッキングチャレンジ-これらは多くの設定が必要になる可能性がありますが、シュローダーが述べたように、パズルを解くように開発者に挑戦することは、彼らが学ぶための楽しい方法です。比較的一般的な脆弱性に対して脆弱なシステムを構築し、開発者に、想定されていない種類のデータを取得するように要求することができます。どの言語/プラットフォーム/ OSなどは、開発者のコ​​ードが何であるかに少し依存します。

静的分析-優れた静的分析ツールを開発し、結果を開発者に公開します。彼らがより安全なコードを書くことができるように、彼らがそれらを解釈することを学ぶのを手伝ってください。これは潜在的に大量の作業ですが、トレーニングする必要のある開発者の数によっては効果があります。

セキュリティチャンピオン-他のトピックと同様に、一部の開発者は他の開発者よりもセキュリティに魅了されています。さまざまなチームでこれらの人々を見つけ、特定の情報を送信し、奇妙なセキュリティ問題を報告するようにします。セキュリティツールのより高度な使用法を教え、少なくともコード監査の基本を理解してもらうことができます。チームのコードを確認するのに役立ちます。彼らにTシャツ、小さな賞、その他の表彰を与え、常に彼らに感謝するようにしてください。 :)

2

Webセキュリティは次のフレーズに要約されていると思います。

Don't Trust any data received from the client...!

1)開発者がこのルールに固執しようとすると、SQLIXSS...などのパラメータベースの攻撃を理解するようになります。

2)その後、彼らは彼らのフレームワークをよく知る必要があり、彼らは彼らの言語、フレームワーク、そしてその特徴と能力の専門家になるべきです。

私が上で述べた両方の能力を達成するにつれて、彼らは彼らの分野の専門家強化の専門家になるでしょう...!

このパスの問題は、時間がかかることです...勤勉な開発者は、効果的で信頼性の高い攻撃を軽減するために、少なくとも1年は勉強して練習する必要があります。

高価なコースや教材は必要ないと思います。 [〜#〜] cve [〜#〜][〜#〜] cwe [〜#〜]のような多くの素晴らしいリソースとリファレンスがあります[〜#〜] capec [〜#〜][〜#〜] owasp [〜#〜] および [〜#〜] wasc [〜#〜] 無料で使用できる教育情報または脅威分類を提示します...

1
Amin Saqi

開発者をトレーニングする最良の方法は?それを行うためのツールを解くためのパズルを彼らに与えてください:

余裕のある最高のトレーニングを提供しますが、学んだことを使用してピアのコードを見つけたり壊したりしたことに対して報酬を与えます。あなたは彼らが彼らの知識を学びそして適用することに動機づけられているのを見つけるでしょう。

0
schroeder