連載 [第27回] :
  月刊Linux Foundationウォッチ

OpenSSFのメンバー数が100社を突破、「法律専門家のためのWebAssembly」日本語版を公開

2022年12月28日(水)
吉田 行男

こんにちは、吉田です。12月は「Open Source Summit Japan」をはじめ、Linux Foundation主催のイベントが目白押しで開催されたこともあり、いつもより多くの発表があったので、その中からいくつか紹介したいと思います。

OpenSSFのメンバー数が100社を突破、
オープンソースソフトウェアの保護に力を注ぐ多くの新メンバーが参加

世界で最も重要なソフトウェア サプライ チェーン セキュリティの取り組みを結集する業界横断組織であるOpen Source Security Foundation(OpenSSF)は、ソフトウェア開発、サイバーセキュリティ、データサイエンス、PaaS、半導体、金融、シンクタンク、学術機関など幅広い分野の主要なテクノロジー企業から多くの新メンバーを迎え、OpenSSFのメンバー数が100社を超えたことを発表しました。

【参照】OpenSSFのメンバー数が100社を突破、オープンソースソフトウェアの保護に力を注ぐ多くの新メンバーが参加
https://www.linuxfoundation.jp/press-release/2022/12/openssf-membership-exceeds-100-with-many-new-members-dedicated-to-securing-open-source-software/

OpenSSFは、Sigstoreの一般公開、Alpha-Omegaによる新規投資、Scorecardsの新機能、Best Practices Working Groupによる「より安全なソフトウェア開発とオープンソースソフトウェア評価のための簡潔なガイド」の作成、新しいエンドユーザーWG、Software Bill of Materials (SBOM) Everywhere Special Interest Group (SIG)、Secure Supply Chain Consumption Framework SIGなどの技術イニシアチブの拡張を発表し、さらに充実させた活動を行ってきましたが、今回のコミットはその一環となります。

また、OpenSSFは12/5に開催された「OpenSSF Day Japan」で、コミュニティメンバーがソフトウェアのサプライチェーンを安全にするための進行中の作業とオープンソースセキュリティの将来についてのセッションを行いました。このカンファレンスで、OpenSSFはセキュアなソフトウェア開発の基礎に焦点を当てた無料トレーニングコース「セキュア ソフトウェア開発」の日本語版の提供を開始したことを発表しています。

【参照】Linux Foundation「セキュア ソフトウェア開発」無料オンラインコースを開始
https://www.linuxfoundation.jp/press-release/2022/12/free-openssf-developing-secure-software-training-course-now-available-in-japanese/

セキュアソフトウェア開発(LFD121-JP)」は、これまで2022年8月から英語版で公開されていた「Developing Secure Software(LFD121)」を日本語で受講できるようにしたものです。

近年Log4ShallやSolarWinds社事件などを通してサイバー攻撃は極めて深刻な脅威として認識されるようになってきたという背景もあり、攻撃によりセキュリティが侵害されてから対応するだけでは十分ではなく、ユーザーを保護することもできません。そのため、セキュリティはソフトウェアのリリース前に組み込まれる必要があり、その実践的な方法を学習できるサイバーセキュリティトレーニング講座として開発されました。

この講座は、ソフトウェア開発者、DevOpsプロフェッショナル、ソフトウェアエンジニア、Webアプリケーション開発者など、セキュアなソフトウェアの開発方法を学びたい人を対象にしており、情報セキュリティを向上させるために限られたリソースでも実行できる実践的なステップに焦点を当てたものになっています。攻撃が困難で、かつ保守が容易で攻撃された際の被害を軽減し、潜在的な脆弱性を迅速に修復できるようなシステムの開発を目的としています。

オープンソースに限らず、セキュリティの高いシステムを開発することは当然のことなので、ソフトウェア開発に携わる技術者は、この講座を受ける価値はあると思います。興味のある方は、ぜひWebサイトを覗いてみることをお勧めします。

日本語版を公開 - 法律専門家のためのWebAssembly :
ライセンス コンプライアンスにおける現在のパラメータを探る

12月7〜8日に横浜で開催された「Open Compliance Summit」で、Linux FoundationのSenior Vice President & General Manager of ProjectsであるMichael Dolan氏が基調講演で触れた「法律専門家のためのWebAssembly」について紹介しました。

【参照】日本語版を公開 – 法律専門家のためのWebAssembly : ライセンス コンプライアンスにおける現在のパラメータを探る
https://www.linuxfoundation.jp/blog/2022/12/japanese-version-of-webassembly-for-legal-professionals/

最近、人気の高まりを見せているWebAssemblyですが、インターネット上で公開されているドキュメントの多くは開発者向けに使用法や開発方法に関するものであるため、オープンソースライセンスコンプライアンスからの観点のドキュメントを作成したということです。

そもそもWebAssemblyとはどのような技術なのか、ここで少し説明したいと思います。

WebAssembly(Wasm)とは、Webブラウザを含むモダンな環境でソフトウェアを実行する新しい取り組みで、ネイティブに近いパフォーマンスを維持しながら、コンパクトなバイナリー形式の低レベルなアセンブラ風の言語です。ただし、基本的に開発者が直接記述するのではなく、C/C++やC#、Rustなどの言語のコンパイル先となるように設計されており、それらの言語をWeb上で実行できます。WebAssemblyはJavaScriptと並行して動作するように設計されているため、両方を連携させることができます。

また、WebAssemblyをWebブラウザだけでなく、デスクトップPCやサーバ、IoTデバイスなどあらゆる環境でセキュアに実行することを目的に、2019年にインテル、Mozilla、Red Hat、Fastlyの4社が「Bytecode Alliance」を設立しています。

WebAssemblyが優れている点として、下記のような点が挙げられます。

  • 移植性:
    Wasmバイトコードのバイナリー形式は標準化されています。つまり、Wasmを実行できるランタイムは、すべてのWasmコードを実行できます。これは「一度書けばどこでも実行できる」というJavaの考え方に似ています。WebAssemblyはユーザーのWebブラウザの95%で実行できます。サーバにはWasmtimeやWasmerなどのランタイムがあり、リソースに制約のあるIoTデバイスでさえWAMRで活用できます。
  • Universal:
    多くの言語がWasmにコンパイルできます。C、C++、Rustなどのシステム言語だけでなく、Go、Python、Rubyなどのガベージコレクションの高水準言語もサポートされています。
  • ネイティブに近いパフォーマンス:
    Wasmは、よく「ネイティブに近いパフォーマンス」と表現されます。これが実際に意味することは、WebAssemblyはほぼJavaScriptより高速であり、特に計算負荷の高いワークロードではネイティブ コードよりも平均で1.45〜1.55 倍遅くなりますが、結果はランタイムによって異なります。
  • 高速起動時間:
    Wasmのコールドスタート時間は、独自のカテゴリを保証するほど重要です。サーバではコンテナごとに新しいOSプロセスを作成する必要がないため、Dockerコンテナよりも10〜100倍高速なコールド スタートを実現できます。Webブラウザでは、Wasmをデコードしてマシン コードに変換する方がJavaScriptを解析、解釈、最適化するよりも高速なため、WasmコードはJavaScriptよりも高速にピーク パフォーマンスで実行を開始できます。
  • セキュア:
    WebAssemblyはWebを念頭に置いて設計されているためセキュリティが優先されています。また、Wasmランタイムで実行されるコードはメモリサンドボックス化され、機能が制限されています。つまり、明示的に許可されていることしか実行できないということです。サンドボックス化されても、Wasmコードはシステムレベルのインタフェースやハードウェア機能など、基礎となるシステムへのアクセスを許可されることがあります。
  • さて、WebAssemblyのオープンソースコンプライアンスには、どのような特徴があるのでしょうか。

    まず、オープンソースのライセンスで常に問題となる“配布が実施されるのか”という点については“実施される“ということになります。具体的には、WebAssemblyのバイナリーコードをWebサーバーからクライアントに送信する形になるため、配布により有効になる条項がライセンスに記述されているオープンソースを利用する場合は、ライセンス義務を果たす必要があります。

    このように、新しい技術でも同様にライセンスコンプライアンスを適用する必要があるので、このドキュメントを熟読し、理解しておくことをお勧めします。

2000年頃からメーカー系SIerにて、Linux/OSSのビジネス推進、技術検証を実施、OSS全般の活用を目指したビジネスの立ち上げに従事。また、社内のみならず、講演執筆活動を社外でも積極的にOSSの普及活動を実施してきた。2019年より独立し、オープンソースの活用支援やコンプライアンス管理の社内フローの構築支援を実施している。

連載バックナンバー

Think ITメルマガ会員登録受付中

Think ITでは、技術情報が詰まったメールマガジン「Think IT Weekly」の配信サービスを提供しています。メルマガ会員登録を済ませれば、メルマガだけでなく、さまざまな限定特典を入手できるようになります。

Think ITメルマガ会員のサービス内容を見る

他にもこの記事が読まれています