innovaTopia

ーTech for Human Evolutionー

メモリ非安全なコードが半数以上のオープンソースプロジェクトに存在、CISAが警鐘

メモリ非安全なコードが半数以上のオープンソースプロジェクトに存在、CISAが警鐘 - innovaTopia - (イノベトピア)

Last Updated on 2024-06-29 04:49 by admin

CISAは、主要なオープンソースプロジェクトにおいてメモリ非安全なコードの使用を指摘した。これは、メモリ非安全なプログラミング言語を使用することによるアプリケーションセキュリティの問題につながる。調査結果から、多くのオープンソースプロジェクトにメモリ非安全なコードが含まれていることが明らかになった。

メモリセーフな言語への移行は、一般的なメモリ関連のエラーを軽減する利点があるが、困難であり、既存のコードの完全な書き直しを必要とする。メモリセーフなコードの採用は増えているものの、全体的な移行には時間がかかると予想される。

メモリセーフな言語の普及には課題があり、特定のアプリケーションではメモリ非安全な言語の使用が必要とされることがある。メモリセーフなコードの書き方は難しく、メモリ非安全な言語でのメモリセーフなコードの書き方についての認識が必要である。新しいプロジェクトや依存関係におけるメモリセーフな言語の利用の増加については不明である。

【ニュース解説】

アメリカのサイバーセキュリティーとインフラセキュリティー機関(CISA)は、主要なオープンソースプロジェクトにおけるメモリ非安全なコードの使用について指摘しました。この問題は、プログラマーがメモリに関連する機能をより直接的に制御できるCやC++などのメモリ非安全なプログラミング言語に起因しています。これらの言語で書かれたコードは、バッファオーバーフローや使用後解放(use-after-free)エラーなど、一般的なアプリケーションセキュリティの問題を引き起こしやすいとされています。

メモリセーフな言語、例えばRust、Python、Java、Goなどは、実行時やコンパイル時のチェックを組み込むことで、これらの一般的なメモリ関連エラーを軽減する利点があります。しかし、既存のコードベースをメモリセーフなコードに完全に書き換えることは、膨大なコストと複雑さを伴うため、短期間での大規模な変更は難しいとされています。

CISAの調査によると、調査対象となった172の主要なオープンソースプロジェクトのうち52%がメモリ非安全な言語で書かれており、プロジェクト全体のコードラインの55%以上がメモリ非安全な言語で構成されていました。これは、LinuxやMySQL Server、TensorFlow、Zephyr、Chromiumなどの大規模プロジェクトにおいて特に顕著でした。

メモリセーフな言語への移行は、ソフトウェアの安全性を高めるために重要ですが、特定のアプリケーションではパフォーマンスや低レベルのハードウェアアクセスのためにメモリ非安全な言語の使用が避けられない場合があります。また、メモリセーフな言語で書かれたプロジェクトであっても、メモリ非安全な言語で書かれたコンポーネントに依存している場合、メモリ安全性の問題を抱える可能性があります。

この問題への対応として、メモリセーフなプログラミング言語の使用、安全なコーディング慣行の継続的な適用、セキュリティテストの実施が推奨されています。しかし、メモリセーフな言語への完全な移行は時間がかかるため、既存のメモリ非安全な言語でのメモリセーフなコーディング技術の向上や、メモリセーフな言語の選択肢を増やすことも重要です。長期的には、新しいプロジェクトやライブラリでメモリセーフな言語の使用が増えることが期待されますが、その過程は徐々に進むと予想されます。

from CISA's Flags Memory-Unsafe Code in Major Open Source Projects.

ホーム » サイバーセキュリティ » サイバーセキュリティニュース » メモリ非安全なコードが半数以上のオープンソースプロジェクトに存在、CISAが警鐘