オープンソースソフトのつまみ食いがまずい理由とは
GitHubなどに置かれたソースコードを狙うサイバー攻撃が目立ってきた。もしソースコードに欠陥があれば、そのソースコードを使ったアプリケーションソフトウェアにも同じ欠陥が伝染するからだ。オープンソースソフトウェアを使う際にどうすればサイバー攻撃に遭う確率を下げられるのだろうか。
オープンソースソフトウェアの開発で広く利用されているGitHubのリポジトリ(保管場所)には、脆弱(ぜいじゃく)性や未発見の欠陥が多数存在している。
これはアプリケーションセキュリティに特化したVeracodeが2023年1月10日に公開した調査「State of Software Security」の結論だ。GitHubに依存している組織にはリスクがある。
GitHubは安全ではなかったのか
GitHubはコードの安全性を高める取り組みを進めている。それにもかかわらず、このような結論が出るのはなぜだろうか。
リポジトリが作られてから時間が経過するとコードの一貫性が次第に失われ、コミット(コードの修正)が遅れ、コードに問題がないかどうかを確認するスキャンのプロセスがなおざりになっていく。これが脆弱性につながり、リスクを引き起こすのだという。
多くの攻撃者がターゲットとして狙っているソースコードがGitHubなどのオープンソースリポジトリに保存されている場合、ソースコード自体の脆弱性とは別に、攻撃されるリスクが高くなる。アイデンティティーとアクセス管理プラットフォームを提供するOktaは、2022年12月にGitHubに置いていた同社のソースコードリポジトリが攻撃者によって不正アクセスされ、内容をコピーされたと発表した。
パスワード管理ソフトウェアを提供するLastPassも、コードベースへの不正アクセスを受けた。その結果、攻撃者が顧客の保管庫データのバックアップをコピーし、3300万人以上の登録ユーザーが危険にさらされる可能性があるという。LastPassは攻撃されたコードリポジトリを明示していない。
オープンソースコードの盗難は、必ずしも顧客アカウントの侵害に直接つながるわけではないが、悪意のある攻撃者は攻撃手段を改善するためにコードをスキャンして脆弱性を探すことがある。
新しいリポジトリが危険なのか、それとも使い古されたものが危険なのか
Veracodeによると、GitHubにある各オープンソースリポジトリの脆弱性の数はコードベースに対してどのぐらいの期間にコミットがあったか、コミットの数はどの程度だったのかと相関関係がある。
「開発者が自分のアプリケーションにオープンソースライブラリを追加した場合、79%の場合はそのオープンソースライブラリを二度と更新しない。つまり、欠陥が蓄積され続けることになる」(Veracodeの最高研究責任者クリス・エン氏)
正規のパッケージの脆弱性を測定するために、VeracodeはGitHubで公開されていて、Veracodeの顧客が活発に使用している約3万件のオープンソースリポジトリを特定した。これらのリポジトリのうち、約10カ所に1つは開発者が1人しかいなかった。
リポジトリのコミット期間が問題を引き起こす例はこうだ。Veracodeが調査したリポジトリの大半は、4〜10年の間に作られたものだ。約5カ所に1つは過去1カ月に新しいコミットがあり、半数は過去1年にコミットがなかった。
「長い間コミットがなかったリポジトリに含まれる脆弱性やコードの欠陥がなぜ多いのかはまだ調査していないものの、このようなリポジトリに過度に依存することはアプリケーション全体の脆弱性を高める可能性があるだろう」(エン氏)
Veracodeが調査したアプリケーションの3分の1近くは、最初のスキャンで欠陥が見つかり、3分の2以上は5年間運用した後で少なくとも1つのセキュリティ欠陥を含んでいた。
APIセキュリティテストを手掛けるStackHawkのスコット・ガーラック氏(共同設立者兼CSO《最高セキュリティ責任者》)はオープンソースソフトウェアにおけるセキュリティの懸念が解決されない根本的な原因があるという。企業がコーディングとコードのスキャン、テストに対して、どのような優先順位で限られた時間とリソースを投じればよいのか分かっていないことだ。
「リポジトリを狙うという攻撃戦略は、比較的侵入コストが低く、有効であるために悪用されている。リポジトリにあるライブラリをつまみ食いして顧みないのであれば、攻撃者に対抗することはますます難しくなるだろう」(ガーラック氏)
出典:Open-source repository risk amplified on GitHub(Cybersecurity Dive)
注1:Annual Report on the State of Application Security(PDF)
注2:Okta’s GitHub source code stolen, company downplays impact(Cybersecurity Dive)
注3:After LastPass hack, only its master passwords remain uncompromised(Cybersecurity Dive)
注4:What’s at stake for 33M compromised LastPass users?(Cybersecurity Dive)
© Industry Dive. All rights reserved.
関連記事
- オープンソースソフトが使えなくなる? 米国政府がセキュリティ規則を厳格化
サプライチェーン攻撃のリスクを下げるため、米国政府は新しい規制を打ち出した。オープンソースソフトの採用を進めてきた米国政府がいったん立ち止まる形だ。政府が規制のさじ加減を誤ると、政府にとどまらず企業もオープンソースソフトを利用できなくなる可能性がある。この動きは日本にも波及するのだろうか。 - 「Log4jはもうこりごり……」Googleが示す3つの解決策は?
ソフトウェアサプライチェーンのセキュリティについて、Googleが調査報告書を発表した。同社が示す3つの解決策とは。