インターネットのほとんどは、1 人または 2 人の無償の人々によって維持されているコードで実行されています。
最も大変な作業を行っているインターネット上のコードは、ある人がそれを考えてオープンソースにしたから生まれただけです。インターネットは、そう思われているほど、大規模で人員も十分に配置されているわけではありません。多くの場合、開発者は 1 人でバグ トラッカーを担当しており、無給です。彼らはプログラミングへの愛のためにこれを行っていますが、それはインターネットが実際にはいかに脆弱であるかを示しています。
少数の無給開発者がインターネットを妨害している
大企業は小さな隠れたプロジェクトに依存している
ソフトウェア エンジニアリングは、人々がすべてをゼロから作成することがなくなったため、数十年にわたって大きく変化しました。彼らはオープンソース ライブラリの長いチェーンをつなぎ合わせてアプリを構築しますが、これはあなたが思っているよりもはるかに頻繁に行われています。それはコンピューターを使う上での基本です。実際、私がアニメーションの学校に通っていたとき、本物のアニメーターには最初から始めるベース、または複数のモデルで再利用する完璧な耳と鼻があることを学びました。
ソフトウェア側では、npm、PyPI、Maven などのツールが、プロジェクトがビルドされるたびに何百ものサードパーティ パッケージを取得します。これは大幅な高速化ですが、同時に、小さな未知のライブラリが何百万ものアプリや製品内に存在し、その存在に誰も気づかない可能性があることも意味します。 2016 年から 2020 年の間に、典型的なエンタープライズ アプリのオープンソース コンポーネントの平均数は 84 から 528 に増加しました。今日のソフトウェア スタックには、隠されたネストされたコードが大量に山積みされています。
そのヒープの一番下には、ネットワーク プロトコル、暗号化、圧縮、計時、ロギングを処理する基本的な C および C++ ライブラリがあります。これらはオペレーティング システムとハードウェアに直接コンパイルされるため、使用するほぼすべての背後で実行されます。
libcurl は、主にダニエル・ステンバーグという一人の男によって構築され維持されているネットワーク転送ライブラリであり、電話、スマート TV、ルーター、核融合実験、大手自動車メーカー 47 社の自動車など、世界中の数十億台のデバイス内に存在しています。 OpenSSL は、世界の Web サーバーの 60% 以上の暗号化を処理します。
zlib 圧縮ライブラリは、ゲーム エンジン、ブラウザ、および標準の OS ランタイムに組み込まれています。あらゆるタイムゾーンの時刻をソフトウェアに知らせる tz データベースは、わずか 1 人か 2 人によって運営されています。 xz Utils は、世界中の Linux ディストリビューションに組み込まれている圧縮ツールで、1 人の開発者によって管理されていました。
当時、私たちの業界を始めた人々はカジュアルにコードを共有していましたが、その多くは情熱を持ったプロジェクトでした。過去 30 年間にわたり、企業はこれらのツールの上に商用製品やグローバル クラウド インフラストラクチャを構築してきましたが、基盤となるコードを保守する人々には、期待されるほどの報酬さえ支払っていません。私たちはインターネットの運営を維持するために、これらの人々に本当に依存しています。
2014 年以前、OpenSSL は年間約 2,000 ドルの寄付予算で、世界の暗号化された Web トラフィックの 3 分の 2 を保護していました。これは Steve という名前の 2 人の開発者によって存続させられましたが、フルタイムで作業したのはそのうちの 1 人だけでした。基本的に、数十億ドル規模の産業は、たった 1 人か 2 人がわずかな賃金で働いているおかげで生きています。
無報酬プロジェクトが失敗するとインターネットが壊れる
開発者が燃え尽きてしまうと企業に数百万ドルの損害が発生する
スティーブズを失うと、事態は非常に悪い方向に進む可能性があります。十分な資金や援助がなければ、プロジェクトは崩壊し始めます。セキュリティ ホールはパッチされず、1 人でコードをプルすると何千ものビルドが破壊される可能性があり、人気のあるフレームワークでは重大なバグが気づかれずに放置され、攻撃者はすでに燃え尽き症候群になっている開発者に何か月も費やして取り組んでいます。
Heartbleed バグは、基本的な C コードが適切なセキュリティ レビューなしで使用された場合に何が起こるかの最も有名な例の 1 つです。この欠陥は、Heartbeat 拡張機能と呼ばれる OpenSSL の TLS 機能の実装にありました。
攻撃者は、実際には 1 バイトだけを送信しながら、64 KB のデータを運ぶと主張する特別に細工したパケットを送信することで、サーバーをだましてヒープから 64 KB の生メモリを返させることができます。このメモリには、秘密の暗号化キー、パスワード、セッション トークンが含まれている可能性があります。これは、アクティブな Web サイトの 3 分の 2 で使用されていた OpenSSL の脆弱なバージョンを実行しているサーバーに対して機能しました。ログの痕跡は残っておらず、おそらく業界は駆除に多額の費用がかかったと考えられます。当時、OpenSSL にはフルタイムの開発者が 1 名いました。
2016 年、Azer Koçulu という名前の開発者が、無関係なプロジェクトをめぐって会社と商標権争いを起こし、抗議としてすべての npm パッケージを削除することを決定しました。そのうちの 1 つは left-pad で、文字列を文字で埋めるだけの 11 行の関数です。左パッドは Babel や React などのツール内に隠れた依存関係であったため、これを削除すると数万の企業のビルドが即座に壊れ、返されるのは 404 エラーだけでした。ソフトウェア業界全体が注目しました。 npm は最終的にポリシーを変更したため、作成者は広く使用されているパッケージを事後削除できなくなりました。
Log4Shell は 2021 年にヒットし、約 88% の企業が何らかのバージョンで使用していた Java ログ ライブラリである Log4j2 に影響を与えました。このバグにより、攻撃者はシステム内の任意の場所に記録された悪意のある文字列を取得するだけで、任意のコードを実行できるようになります。 2024 年の xz Utils バックドアはまったく新しいものでした。 xz Utils は、世界中の Linux システムで使用される圧縮ライブラリです。長年その個人でメンテナーを務めてきたラッセ・コリン氏は、燃え尽き症候群について公に語っている。
大きなことは何百人もの人々の努力によるものだと誰もが言いたがりますが、それは事実ですが、特定の人々が主導しなければ同じ結果は得られません。小島秀夫なしでは『メタルギア ソリッド』は得られず、スティーブ・ジョブズなしでは『アップル』は得られず、ジョン・ラセターなしでは『トイ・ストーリー』は得られないでしょう。このような場合、事態はさらに悪化します。数百万ドル相当の修正が行われているのは、すべて 1 人か 2 人がいなくなったからです。
資金の問題を解決しようとした人もいる
企業の資金がオープンソースの精神を台無しにする可能性がある
人々はこれを解決しようと試みてきました。 Heartbleed の後、Linux Foundation は Core Infrastructure Initiative を開始し、OpenSSL や OpenSSH などのプロジェクトのフルタイム作業に資金を提供するために大手テクノロジー企業から年間 10 万ドルのコミットメントを集めました。 2020 年に、それは Open Source Security Foundation に成長し、最も重要なプロジェクトのセキュリティ作業に費用を支払うために Alpha-Omega のようなプログラムを開始しました。ドイツは 2022 年にソブリン テック ファンドを設立し、技術的負債の修正、セキュリティの向上、バグの解決のためにサービス契約を通じてメンテナーに支払いを行っています。
しかし、オープンソース ソフトウェアは常に自主的なものであるため、これらはいずれも簡単には実現できません。メンテナは、企業がその作品を無料で使用できることを知って、寛容なライセンスを選択しました。これらのプロジェクトに政府の資金、企業契約、または正式なサービス契約を持ち込むと、そもそもそれらを利用する価値があった独立性やコミュニティ感が損なわれる可能性があります。
一方で、フリー ソフトウェアで数十億ドルを稼いでいる企業には、依存するコードの代金を支払う十分な理由があり、彼らにはその義務があると主張する人もいるでしょう。そして、メンテナーにとって、無報酬で何の感謝もされずに一日中バグレポートに答えることは、まさに人間の燃え尽き症候群であり、燃え尽き症候群はセキュリティリスクに変わります。
良い答えはまだありません
これに対する明確な答えはありません。大手テクノロジー企業や政府が主な資金提供者になれば、彼らは静かにプロジェクトを自らの優先順位に向けて推進できるようになる。また、お金だけですべてが解決するわけではありません。ある人が 20 年かけてプロジェクトにおいてかけがえのない専門知識を築いてきた場合、助成金ではその人に代わる人をただ生み出すことはできません。オリジナルのクリエイターの誰かが亡くなった場合、私たちは多大な損失を被る危険にさらされているため、早急な解決策が必要です。
このテーマについてさらに詳しく知りたい方は以下をご覧ください
関連記事
- 2022年は12の星座にどのような驚きをもたらすでしょうか?
- アリゲーターは冬にどこに行きますか?
- CoverCorpがホロライブインドネシア第3世代の新ホロスターユニット「UPROAR!!」のデビューを発表 – 興味