セキュリティー面でも強力なローコード開発ならではの特徴とは?
安全対策の考え方として、フェイルセーフ(fail safe)があります。これは、システムや装置で不具合や故障、誤動作、操作ミスが発生した場合でも、常により安全な側に動作する設計のこと。情報漏洩も、守るべき資産に応じた安全対策をしつつ、仮に漏洩してしまった場合に被害を最小限に抑えることが重要です。そのためには、システムをどう設計・開発すべきか?
ランサムウェアとダークウェブを切り口にした連載の最終回は、ローコード開発プラットフォームを、セキュリティー面の特徴やメリットから考えてみましょう。
前年比約60%という被害拡大と、史上最高額の約110億円の身代金
2024年7月末、エンタープライズ向けセキュリティー企業Zscalerが、ランサムウェアによる被害をまとめたレポートを発表しました。2023年4月からの1年間で、サイバー攻撃による企業への恐喝は前年比57.8%増加したとのこと。ターゲットとして製造業やヘルスケア、テクノロジー業界が狙われ、特にエネルギー分野は前年比527.27%という驚異的な伸びを示しました。
レポートでは、ランサムウェアグループDark Angelsに対して、7,500万ドル(約110億円)を支払った被害者が発見されました。これは身代金としては史上最高額。このグループの手法は、不特定多数の企業に無作為に攻撃するのではなく、価値が高い特定の企業に狙いを付け、集中的に攻撃します。この「成功」は、他のハッカー集団の刺激になるだろうと予測されています。
また、先日、世界各地を混乱させたCrowdStrikeによる障害では、サイバー攻撃ではなかったものの、訴訟問題に発展することは回避できないようです。ソフトウェアが十分な検証をされずにリリースされてしまった問題と、その後の対策の発表はあります。その一方で、Windows OSが直接攻撃されなくても、システムが停止してしまうリスクが明らかになりました。
システム運用では、SPOF(Single Point of Failure 単一障害点)を作らないことが重要だといわれます。これは、そこが停止してしまうことで全体が停止するような、システムの弱点のこと。今回の障害が一つのSPOFとして機能してしまった事実は、攻撃者にとって新しいヒントになってしまった可能性もあります。
基本的な対策を、ゼロセキュリティー時代の現実とチェック
近年、ゼロトラストセキュリティーという考え方が一般に拡がっています。これは、組織の内と外の境界を区別せず、すべてのアクセスを信頼しないことを前提とし、許可・不許可のリストに基づいて制御する手法です。リスクを前提とした安全策という考え方は、フェイルセーフに通じています。
一般にいわれる、以下のようなセキュリティー対策の基礎は、ごく当然のことばかりです。しかし、甚大なセキュリティー事案が毎月のように発生しているのが現実。社内・社外を問わず、規模や業務内容、時間、予算などに応じた選択が求められます。
アカウント
- 役職や職務に応じたアクセス権を設定し、マニュアル化して一元管理する。
- 定期的にすべてのユーザーアカウントで使用目的、権限、変更の有無を評価する。
- 休職や退職、チーム変更など、長期間使われていなければ無効化・削除する。
- 16桁以上のパスフレーズを推奨し、多要素認証(MFA)かパスキーを導入する。
- パスワードが漏洩していないか、定期的にチェックする。定期的に変更を求めない。
ソフトウェア
- 不要なソフトウェアやサービスを定期的に検出し、アンインストールする。
- ソフトウェアやライブラリなどの脆弱性を確認し、セキュアに設定・更新する。
- マルウェア対策ツールを導入し、パターンファイルを定期的・自動的に更新する。
- クラウドのセキュリティーレベルやコンプライアンスを定期的に評価する。
- 各種のログを取得・分析し、ライセンスやライフサイクルを適切に管理する。
データ
- タイムスタンプやIPアドレス、ユーザー名、マシン名など、ログを取得・管理する。
- データ損失防止機能などで、機密情報を保護・管理し、漏洩や共有、送信を把握する。
- データの保存期間を定め、必要に応じて保存期間を延長、もしくは廃棄する。
- 自動的・定期的にデータをバックアップし、暗号化・冗長化する。復旧もテストする。
- 手書き書類や出力された紙や書類、チャットで共有されたファイルなども管理する。
デバイス
- 管理者と利用者、目的、ネットワーク情報などを設定し、適切に管理する。
- 必要最低限のポートだけを許可し、ファイアウォールを設定しておく。
- 一定時間操作しなかったり認証に失敗した場合、デバイスのロックを設定する。
- 紛失や盗難、退職などに応じて、リモートワイプで確実にデータを消去する。
- BYOD(デバイスの持ち込み)を許可している場合、組織と個人でデータを分離する。
ネットワーク
- ファイアウォールを導入・設定し、セキュアな通信を制御。ログを取得・分析する。
- SSH、HTTPSなど、セキュアな通信プロトコルで接続し、TLS等で暗号化する。
- 信頼できるDNSやURLフィルタリングを設定し、悪意あるドメインへ接続しない。
- リモートデバイスはVPNや認証システムで認証し、アクセス制御基準を実行する。
- 定期的に外部・内部侵入テストを実施し、根本的な再発防止策を講じる。
上記には含んでいませんが、大前提として、経営層が情報セキュリティーを経営課題として認識し、積極的に取り組むことが不可欠です。情報が漏洩した場合に備えた、迅速で適切な対応とその体制を整備することも求められます。また、チームや職種に応じた従業員への教育を徹底することも必須。自分の社内・社外で何をどこまで実現できているか、ソフトウェア協会がまとめたガイドラインなどを参考に、定期的にチェックして改善していくことが重要です。
▼情報システムにおける セキュリティー コントロール ガイドライン Ver.1.0一般社団法人ソフトウェア協会 Software ISAC
https://softwareisac.jp/wp/?page_id=20073
「攻めの対策」としてのローコード開発のセキュリティー機能
そこで注目したいのが、最初から堅牢なセキュリティーを考慮し、スピーディーに設計・開発できる、ローコード開発プラットフォームです。製品にもよりますが、コードレビューや静的コード解析ツール、脆弱性の診断、監視など、エンタープライズニーズを満たす豊富な機能があります。
統合脅威管理(UTM)
- ネットワークトラフィックを監視し、悪意のあるアクティビティーを検知・ブロック
- ファイアウォール、侵入検知・防止システム(IDS/IPS)、統合的なマルウェア対策機能
- 包括的・統合的なソリューションと連携した、高度なセキュリティー保護を実現
アプリケーションセキュリティー
- SQLインジェクションやクロスサイトスクリプティングなどの脆弱性を検出し、修正を支援
- アプリケーションのサンドボックス化
- Webアプリケーションファイアウォール(WAF)の導入
データセキュリティー
- データを暗号化し、不正アクセスから保護
- データアクセス権限を厳格に制御し、監査ログで管理
- データ損失防止機能(DLP)のサポート
アイデンティティーとアクセス管理(IAM)
- 多要素認証、シングルサインオン、アクセス制御などの機能でユーザー認証と認可を管理
- 強固なパスワードポリシーを適用
継続的なセキュリティー監視
- システムを継続的に監視し、セキュリティーインシデントを早期に検知
- 監査ログとコンプライアンスレポート
ローコード開発プラットフォームで内製化すべきか?
ゼロセキュリティー時代のソリューションとして、例えば、EDR(エンドポイントデテクティブ・レスポンス)の導入が有効だといわれています。端末を常時監視して、攻撃や不審な挙動を検知し、管理者に通報する仕組みです。しかし、これだけですべてが解決するわけではありません。
ローコード開発も同様です。確かに、セキュリティー面におけるアドバンテージはありますが、自社に適しているかは、総合的に判断する必要があります。組織の規模や予算、人材、既存システムの外部委託・内製化の状況、将来の目標、タイミングなど、長期的な視点でプラットフォームやベンダーを選ぶことが重要です。
限られた短い期間で目標を達成する必要がある場合は、信頼できるパートナー企業へのアウトソーシングが適しているでしょう。一方、専門知識や技術を持つ人材を社内で育てていくか、すでにいる場合は、内製化のチャンス。ビジネスに直結する業務システムは内製化しつつ、運用や保守は外部委託するような、ハイブリッドなスタイルも珍しくありません。
メリット
- 開発効率の向上:コードを書く必要がない分、高度なセキュリティーを意識した設計にリソースを回せる。
- 属人化の回避:既存のセキュアなテンプレートを使うことで、エンジニア個々人によるゆらぎを回避可能。
- 情報漏洩リスクの低減:外部が関与しないため、情報漏洩リスクも低減できる。全体のガバナンスも強化。
- 業務ノウハウの蓄積:ノウハウを自社内に蓄積すれば、将来的なシステム改修や運用にも、迅速かつ柔軟に対応。
- コスト削減:業務効率がアップすることで、長期的・俯瞰的な視点で見て、アウトソースに比べたコスト削減に。
デメリット
- 開発・運用コストの増加:短期的な視点で見ると、開発・運用にかかる人件費や設備投資などのコストが増加。
- 設定ミスによる脆弱性の発生:高いスキルのエンジニアでなくても開発できる分、設定を適切に判断できない。
- セキュリティー意識の低下:開発者が意識してコードを書く必要がなく、細かい注意や関心が向かない可能性も。
- 開発期間の延長:エンジニアとしての専門知識や経験不足により、開発期間が延長したり品質が下がることも。
- ベンダーロックイン:特定のプラットフォームに過度に依存してしまうと、他への移行が非常に困難に。
自社で可能なランサムウェア対策の一つとして
企業の生命線ともいえるデータが人質に取られ、顧客やマーケットからの信頼という生殺与奪も握られる—これは企業にとって、悪夢でしかありません。しかし、ビジネスとして暗躍するハッカー集団から狙われれば、完全には防ぎようがありません。今、自社が被害に遭っていないのは、プロのハッカー集団が費用対効果を考えた上での、単なる選択の結果だともいえます。
残念ながら、ローコードでソフトウェアを開発しても、サイバー攻撃から完全に資産を守り切れる保証はありません。しかし、侵入は完全に防ぐことができなくても、コアな情報へは簡単に辿り着けないような、守るべき資産の重要度に応じたセキュアかつ柔軟な設計は、非常に重要。フェイルセーフと冗長性も最初から考慮し、SPOFを作らず、コストや人材、時間も最適化できるシステムは可能です。そのために、ローコードによる効率的なソフトウェア開発は、一つの効果的なソリューションとして有効です。システムに限らず、ビジネス全体のアジリティーと堅牢性を強化できる、強力な防御として役立つことは変わりありません。