組込みシステムにおける、ソフトウェアのメモリ安全性(Memory Safety)を考慮した事例として、適切なものはどれか。
メモリ安全性は領域外アクセスを言語レベルで防ぐこと
選択肢
- ア宇宙線によって引き起こされるメモリのエラーを回避するために、ソフトウェアの処理を多重化してエラーを検出することによって、安全な動作を行う。
- イエラー検出及び訂正が可能なメモリを使用することによって、エラーの発生と訂正をソフトウェアから隠蔽して、ソフトウェアの動作の健全性を確保する。
- ウバッファオーバーフロー、メモリリークなどの潜在的なセキュリティ上の問題を回避するために、メモリの保護機能を備えたプログラム言語を使用する。
- エヒープ及びスタックメモリの必要量を静的解析ツールで算出し、十分な空きメモリ領域を確保することによって、メモリ不足が発生しないようにする。
正解と解説
正解:ウ バッファオーバーフロー、メモリリークなどの潜在的なセキュリティ上の問題を回避するために、メモリの保護機能を備えたプログラム言語を使用する。
メモリ安全性とは、確保した領域の外側への読み書きや、解放済み領域の参照などが起こらないことを指す。C言語のようにポインタ操作を制約しない言語ではこれらが容易に混入するため、境界検査や所有権による管理といったメモリ保護の仕組みを言語自体が備えたものを使うことが、根本的な対策になる。
選択肢ごとの解説
- ア宇宙線によるビット反転への多重化対策は、耐放射線性・信頼性設計であってメモリ安全性の話ではない。
- イECCメモリによる誤り訂正はハードウェア起因のエラー対策であり、プログラムの安全性とは別の問題である。
- ウ正しい。メモリ保護機能を備えた言語を用いることがメモリ安全性への対応にあたる。
- エ必要量を見積もって空き容量を確保するのは容量設計の話で、領域外アクセスの防止とは異なる。
同じ分野の他の問題
- メモリマップドI/OのI/Oポートにアクセスするプログラムをc言語で記述するときの注意点として、適切なものはどれか。2018年度 春期 午前II 問1
- MISRA-Cの説明として、適切なものはどれか。2018年度 春期 午前II 問21
- 銀行の勘定系システムといった特定の分野のシステムに対して、業務知識、再利用部品、ツールなどを体系的に整備し、再利用を促進…2025年度 秋期 午前II 問20
- 組込みシステム開発におけるソフトウェアプロダクトライン開発の説明として、適切なものはどれか。2025年度 秋期 午前II 問18
- JIS Z 8521:2020(人間工学-人とシステムとのインタラクション-ユーザビリティの定義及び概念)によれば、ユー…2025年度 秋期 午前II 問12
最終更新:2026-08-25/解説・選択肢ごとの解説は資格暗記が独自に作成しています。問題文と選択肢の出典は上記のとおりです。