失われた数年間を取り戻す

なにもかも、遅れてしまっている。たかだか 5 年くらいで、こうまで変わるものなのか。


仕事では、クラウド上の Web アプリケーションを扱うことが多い。今は、開発部隊が「セキュリティ上どういうところに気をつけて提案、設計、実装、運用すればよいのか?」そういう情報を提供する立場にいる。
そう。現実には、ほとんど情報提供ができない。例えば、サーバレスな SPA。そんなサービス構築したことがない。それどころか、アーキテクチャさえも十分にわかっていない。実際に開発をやっている人の方が、何倍も詳しい。


開発の現場を離れて久しいし、手ほどきを受けるしかないかもなぁ。


ちなみに。「Web アプリケーションのセキュリティ」と言えば、SQLi や XSS なんかを思い浮かべる人が多いと思う。そして、これらの脆弱性を発見するための「ペンテスト」なんかが、花形なのかもしれない。最近だと、「バグハンター」とか。
しかし、今々のチームでは、ペンテストは全くやらない(今後やるかもしれないけど)。理由の一つは、「診断のノウハウがないので、テストに時間がかかってしまう」こと。しかし、圧倒的にリソースが足りない今は、そもそもペンテストにフォーカスしていられない。今の自分たちが最も注力すべきは、ソコではない。
最も大事なことは、昔から言われている通り、できるだけ「前工程」でセキュリティを埋め込むこと。コレができていなければ、後々、コスト的にもデリバリー的にも致命傷になる可能性が高くなる。受託金額が小さな案件でも、リスクだけは大規模な案件と同等、あるいはそれ以上に抱えてしまうことは、十分に考えられる。当たり前だが、重要な資産を抱え、インターネットに公開していれば、開発規模など関係なしに、高リスクとなる。いつものコレ「リスク = 資産 × 脅威 × 脆弱性」だ。高リスクであることに気がついていない場合*1には、ペイしないどころか、大赤字になる可能性もある。一番最初にセキュリティをサボると、ビジネスにならなくなる。
結局、「提案時」が最も重要になる。最小限のリソースしか割けない今は、そっちに注力すべきだし、実際にしている。うちのボスがね。今の自分では力不足がすぎる。

もとい。
そんな、サーバレスな SPA 時代に欠かせない、OAuth 2.0 + OpenID Connect という 1 つの解決策。はっきり言って、ぜんぜんわからない。

脱オンプレミス!  クラウド時代の認証基盤 Azure Active Directory 完全解説 (マイクロソフト公式解説書)

脱オンプレミス! クラウド時代の認証基盤 Azure Active Directory 完全解説 (マイクロソフト公式解説書)


キャッチアップがきつい日々。いまだ、出口は見えない。

*1:「そんなことあるのか?」と思われるかもしれないが、業務の見える化・効率化などを実現する「本丸」を攻略することが最も大変だし、当然、第一優先に取り組むことになる。通常は、ココで、頭がいっぱいになる。ただでさえ、非機能要件は後回しになりがちなのに、その非機能の中でも、サービスに直結するパフォーマンスなどが重要視されるため、セキュリティは、さらに後回しになる。あと、運用。運用設計は、自分の経験では、まず間違いなく後回しになる。しかし、この運用が、セキュリティのキモとなる。