KDL BLOG
新卒コンペ ほめのびチーム バックエンド編 vol.4
チーム「ほめのび」の後藤です。
主にデータベースの設計や、バックエンドの開発、セキュリティ担当としてチームに貢献しました。
私事ですが、セキュリティ事業部に所属することが決まっており、今回の開発でもそのあたりを意識して開発するようにしたいと考えていました。ですので、今回はそのあたりについて書きたいと思います。
開発にあたっての前置き
今回の開発では、掛けることができる日数が少ないことがあらかじめ分かっていたため、セキュリティ対策に取れる時間はあまりないだろうと考えていました。そのため、「対策に時間がかからないこと」を重要視しながらプロジェクトを進めていくことにしました。
コーディング規約
まず、開発前にコーディング規約を決めることにしました。
たとえば、SQLiといったメジャーな脆弱性や、
パラメータの受け取り方を定義する際に陥るかもしれないミス・起こるかもしれない状況を予想し、対策のためにいくつかのコーディングの規約を決めておきました。
開発の前にコーディングの規約を決めておくことで、時間をかけることなく開発後のセキュリティをある程度担保することができたと感じています。
脆弱性のチェック
1つのタスクが終わったタイミングや開発全体が終了したタイミングなどで、開発部分に脆弱性がないかをチェックするためにソースコードのレビューや、プロキシツールなどでスキャンをかける時間はありませんでした。
そのため、今回は1コマンドでチェックを行うような拡張機能を利用することにしました。
これにより、セキュリティに詳しくなくても、出力された結果をみることで脆弱性の有無を判断できます。
まとめ
対策は以上です。
最近では開発するものにはある程度のセキュリティが担保されているのが当たり前になってきています。
そのため、どのような状況でも使用できるように、自社で使用している言語のコーディング規約などをあらかじめ決めておくことが大事なのかなと感じました。
次回は、リレーブログアンカーの蔦谷さんです。