第17章. サードパーティの依存関係を利用する
この作品はAIを使って翻訳されている。ご意見、ご感想をお待ちしている:translation-feedback@oreilly.com
今日のソフトウェアがOSSの上に構築されていることは周知の事実だ。商業スペースにおいてさえ、最大かつ最も収益性の高い製品の多くは、世界中の多くの開発者による オープンソースの貢献の上に構築されている。
OSSの上に構築された製品には次のようなものがある:
-
Reddit (BackBoneJS、Bootstrap)
-
Twitch (Webpack、nginx)
-
YouTube(ポリマー)
-
LinkedIn (EmberJS)
-
Microsoft Office Web (Angular)
-
Amazon DocumentDB (MongoDB)
単にOSSに依存するだけでなく、現在では多くの企業が の主力製品をオープンソース・ソフトウェアとして提供し、製品を直接販売する代わりにサポートや継続的なサービスで収益を得ている。その例をいくつか挙げよう:
-
オートマティック社(ワードプレス)
-
キヤノニカル(Ubuntu)
-
シェフ
-
Docker(ドッカー)
-
Elastic(Elasticsearch)。
-
モンゴ(MongoDB)
-
GitLab(ギットラボ)
BuiltWithはウェブ・アプリケーションの一例であり、 、他のウェブ・アプリケーショ ンがどのような技術に基づいて構築されているかを特定するために、フィンガープリントを行う(図 17-1)。これはウェブ・アプリケーションの背後にある技術を素早く判断するのに便利である。
OSSへの依存は、便利ではあるが、しばしば重大なセキュリティリスクをもたらす。このリスクは、機知に富んだ戦略的なハッカーに悪用される可能性がある。OSS がアプリケーションのセキュリティのリスクになり得る理由はいくつかあり、そのすべてに注意を払うことが重要である。
図17-1. BuiltWithウェブ・アプリケーション
まず第一に、OSSに依存するということは、自社のコードと同じような厳重な監査が行われていないコードベースに依存することを意味する。大規模なOSSのコードベースを監査するのは非現実的である。まず、セキュリティ・エンジニアを十分に増強してコードベースに精通させる必要があり、その後、コードの詳細なポイント・イン・タイム分析を実施する必要があるからだ。これは非常にコストのかかるプロセスである。
OSSのコードベースは常に更新されているため、時点分析も危険である。理想的には、送られてくるプルリクエストごとにセキュリティ評価を行うことである。残念ながら、それも非常に高価なことであり、ほとんどの企業はそのような金銭的な損失には対応せず、むしろ比較的不慣れなソフトウェアを使用するリスクを負うことになるだろう。
これらの点から、OSSの統合や依存関係は、誰かのソフトウェアに侵入しようとするハッカーにとって格好の出発点となる。鎖は最も弱い鎖ほど強く、最も弱い鎖は最も厳密でない品質保証を受けた鎖であることが多い。
ハッカーとして、悪用すべきOSSの統合や依存関係を発見する最初のステップは、偵察である。偵察の後、これらの統合の悪用可能性はさまざまな角度からやってくる。 ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access