3-095
MMUを持たないマイクロコントローラにおけるスタックオーバーフロー検知の提案
◎平田義尚・南角茂樹(大阪電気通信大学)
本手法ではLoad-Link(LL)/Store-Conditional(SC)系の命令を用いたスタックオーバーフロー検知の提案を行う。 LL命令は指定したメモリアドレスの内容を返し,そのアドレスへのアクセス監視を開始する。SC命令は,アクセス監視を開始したアドレスに書き込みが行われていない時だけ,値の書き込みを行う。
具体的には,LL/SC命令を用いてTOPPERS/ASPのタスクスタックオーバーフロー検知を行う。
タスク実行開始時に,LL命令でタスクスタックの終端アドレスへのアクセス監視を開始する。タスク切り替えを行う際にディスパッチャの先頭でSC命令を実行でタスクスタックの終端アドレスへのアクセスが行われたかを確認する。もしSC命令が失敗した際は,スタックオーバーフローが発生したと判断する。