Webサービス開発とセキュリティのギャップ
Webサービス開発とセキュリティのギャップ
2015年3月18日
Webサービス開発とセキュリティのギャップ
株式会社リンクトブレイン 執行役員 CTO
米沢 晋
私は、Web系のシステムのインフラの構築を行ったり開発を行ったり、またはそれらの組織のマネジメントを行っております。
■ 開発手法と人材採用取り組みの変化
Webシステムの開発としてアジャイル・スクラムといった言葉が使い古されてきている現状では非常に速度感が早く、サービス側では常に、SNS連動などの多機能な開発が、当然のように求められていると思います。 (実際開発側にとってそれは悪夢以外の何物でもないのですが。)
こういったサービスに対して常に改変を求められる開発の現場では、効率の良いフレームワークでの開発やテスト駆動など、開発自体にも速度感と安定さを持ったストーリーが求められてきております。
「イケてるWeb開発」の会社では、エンジニアにとってストレスの少ない開発環境のアピールと、それにどれだけの楽しさのトッピングを付けるかといった取り組みで企業のバリューを上げるかの如く、求人をさも楽しそうに演出しています。
人材の需要の多いこの業界で、そこについていけない「トラディショナル」な開発会社は、上昇志向の高い有力な戦力の補強が出来ずに万年人材不足の状態であり、効率化していない開発業務と常に闘い続けていくこととなります。
■ 開発会社でのスキル取得手法での問題
さて、そんなイケてる開発会社を目指す為の橋渡しとして、IT関連の勉強会などが数多くありますが、参加の手法も簡易化かつ多様化しており、ジャンルも要件定義からテストに至るまで、多数の勉強会があります。
セキュリティでも勉強会やハンズオンなどは多数あるのですが、開発の手法を主体とした勉強会とは結びつきが弱く、開発からセキュリティまでのライフサイクルを、現場以外では学ぶ機会が極端に少ないという問題があります。
実際の開発の現場でも、「コスト」や「開発速度」などの問題もそうなのですが、業務効率や生産性の向上を主とする新しい開発手法の中に、セキュリティまでを含んだライフサイクルが組み込まれていないことが大きな原因です。
これらのライフサイクルでは、脆弱性の検査は、本来、サービスリリースごとに行われるべきですが(一部git push 毎に脆弱性チェックしている特殊な方もいるようですが)、一般的には、良くて「定期的な脆弱性診断」にとどまるのがサービスに対しての実情ではないでしょうか。
Web系は特にクラウド化が進み、インフラと開発の垣根がどんどん低くなっていく中で「常に改変していくWebシステム」と「安定的なセキュリティ」を両立できない状態となっています。
「そもそもセキュリティに予算とれないよ」という話しよりも「開発の中にセキュリティ対応のライフサイクルを組み込めないよ」といった根本的な問題を解決しなければいけないのです。
多かれ少なかれ企業のWebへの依存度が高まっていく中でこれらの需要はどんどん高まっていきます。
また、開発ライフサイクルに組み込まれるため、外部の専門会社だけでなく、内部でも、セキュリティリスクに対応する開発手法とチェックリストが必要になってきます。
■ 今後の展望
こういった問題を解決して行く手法としては、業務効率化や生産性の向上のツールの中に、セキュリティを含んだチェックをどんどん取り入れて行くしかありません。
実際には、品質チェックなどのテスト駆動も、生産性向上の一環として業務のライフサイクルの中に組み込まれているケースが増えており、技術やツールなども多様化かつ一般化してきております。
そのような状況下で、セキュリティ関連のツールは、残念な事に開発者というより診断専門の人材向けのツール主となっていますが、先日ISOG-Jから脆弱性診断士(Webアプリケーション)スキルマップなるものが2014年12月に発表されました。
非常に幅広い内容で、脆弱性診断サービスの事業者だけを主体としたスキルセットではなく、自社Webアプリ開発での実施体制などをよく示していると思います。
ただ、これらの広いセキュリティ分野の教育と、開発人員のセキュリティ取り組みに対するスキルのマッチ、チェックリストを理解した上での開発ライフサイクルへの組み込みなど、Web開発者への浸透に課題は様々だと思います。
ただ、それらを踏まえ、セキュリティを品質の一環としてとらえ、企業のリスクを下げていく手法とライフサイクルの構築が、今後、政府や企業、そしてWeb開発者の一人一人が取り組むべき道だと信じております。
※記載内容は執筆者の知見を披露されているものであり、著作権は本人に帰属します。