開発者とサイバーセキュリティチームの戦争

クリス・ナイト著

巧妙にコードを作る開発者もいれば、変わったコードベースや規定されていないサービスを使う開発者もいます。そのような開発者と、ビジネスとユーザーを守るために活動しているサイバーセキュリティーチームが、長きにわたり戦い続けています。
そこで、機能を損なわずにセキュリティを実現し、開発者とサイバーセキュリティチームが平和に共存するにはどうすればいいのかについて、考察を行いました。

WindowsまたはLinuxアプリケーション、あるいはモバイルアプリケーション、クラウドサービス、チャットボット、ドッカーを使っているかどうか、または漸進的なWebアプリケーションを構築しているかどうかにかかわらず、知らず知らずのうちに、大きな危険にさらされていることがよくあります。

サイバーセキュリティチームによると、ハッカーあるいは自動化ツールに対して、ビジネスまたはその顧客を危険にさらすアプリケーションやサービスの弱点をさらけだすことにつながるといいます。

コーディングチームのプログラミング歴に関係なく、何かしらのリスクは発生します。
Rockstar言語の開発者であろうが、新卒の開発者であろうが、ポート参照が欠落している、内部規則を順守しない、問題を解決する不審なコードレットを借用するという行動が、ビジネスに大きな支障をもたらす場合があります。

コーディングに親しもう

両者がプレッシャーを感じています。
ビジネスリーダーは、昨日に使用、販売されていたアプリケーションやツールを、プログラマーが量産するように求めています。 サイバーセキュリティチームとして、ファイアウォールでは対処しきれない、見えない敵から守る一方で、できるだけトラブルを表沙汰にせず、摩擦が生じないように取り計らうことが、彼らの仕事になります。

仕事を成功させるには、メッセージの内容を明確に伝え、プロジェクトの内容を明確に定義することが重要です。 あらゆるプロジェクトで採用されている品質チェックリストで、セキュリティが品質と同じ位置づけである必要があります。多くのコードショップがDevOpsモデルを採用していますが、モジュラー、目標に向けたマイルストーンを完了として、プロジェクトのライフサイクルをマークします。

アジャイル開発と並行して、品質、ゴールミーティング、機能マネジメントにおけるプロセスの構造を明確にしつつ、プロジェクトをスムーズに進めることができます。
リストにセキュリティを付与して、多くの会社が規定しているセキュリティ要件を満たすアプリケーションを開発し、整合性をテストすることで、業界または政府のスタンダードを満たすアプリケーションを開発することができます。

そのためには、セキュリティチームと開発チームの責任者が、セキュリティが品質において重要な要素であることを認識している必要があります。
開発者全員に、脆弱性についてトレーニングを行い、コードの検証、セキュリティチェックを行う必要があります。加えて、アプリケーションを開発する過程で、定期的にチェックインを行うことで、アプリケーションの安全性が保証されることになります。

どんなビジネスにも、セキュリティマスターが必要

デジタル/情報セキュリティ責任者(または同様のもの)というポジションが、大企業の間で導入されるようになってきました。 中小企業では、適任者がポジションに就いて、セキュリティソリューション、リスク、欠陥について報告を行い、あるいは目録の作成、およびマネジメントを行っています。

ビジネスにおけるセキュリティのニーズに対応できるチームを育てていくには、責任者がキーパーソンです。リーダーであると同時にチームのメンバーの一員であり、将来発生するであろう問題について責任を負います。また、チームを監督する責任を負います。 責任者とチームメンバーの絆を固いものにするには、プロジェクトの立ち上げ、進行をする際に、セキュリティチームが設定した基本的なルールに基づいて、プロジェクトを遂行する必要があります。

コーディングのルールについて

セキュリティを軽視するとどうなるか、セキュリティの必要性についてトレーニングを行い、ハッキングにつながる符号化技術のメイン/マイナー欠陥を明らかにすることで、開発者がリスクを認識し、問題に目を向けるようになります。

プログラミングを行う際に、報酬や見返りを用意するということが、プロジェクトベースで欠陥を発見するきっかけとなります。いかなる業種でも、ハッカーによるハッキング、ネイティブコードへのアクセス方法や欠陥についてのトレーニングを、全社レベルで行うべきではないでしょうか。

「借用した」コードについて、将来的に予見される弱点について、または外部のサービスを利用するにあたってのルールを確立し、そのルールに基づいてガイドラインを作成することが、ビジネスをより強固なものにし、アプリケーションを安全なものにする一歩になるでしょう。