BSD界隈四方山話

第112回 OpenBSDに新しいセキュリティ機能「RETGUARD」

この記事を読むのに必要な時間:およそ 1 分

OpenBSD新セキュリティ機能「RETGUARD」

OpenBSD JournalにOpenBSDに搭載が予定されている新しい脆弱性緩和機能,通称「RETGUARD」に関する内容が取り上げられました。

RETGUARD, the OpenBSD next level in exploit mitigation, is about to debut|OpenBSD Journal
http://undeadly.org/cgi?action=article;sid=20170819230157

Theo de Raadt氏がメーリングリストに投函したRETGUARDに関する説明を取り上げています。

OpenBSDのTheo de Raadt氏は今年のBSDCanでほかの開発者らと現在のセキュリティ脆弱性緩和機能や,今後欲しいセキュリティ機能などについて議論を持ったとしています。同氏は特にTodd Mortimer氏との議論を取り上げ,Theo de Raadt氏がリターンアドレスプロテクションが不可能のように感じていることを伝えたとしています。そこから数週間後,Todd Martimer氏からこの問題を解決するclang diffが送られてきたとしています。手法は関数におけるユーザランドレベルでのスタックゴースト(StackGhost)に似たものです。最初のdiffはamd64とi386向けのものですが,RISCアーキテクチャでもこの方法は実現可能だろうとしています。

最初に提供されたdiffはCのソースコードに対して機能するもので,アセンブラ関数に関しては手動で処理する必要があったとされています。同氏はこの部分の開発に取り組みamd64におけるアセンブラでも同様に機能するようにし,そして最新の作業でi386にも対応させたとしています。まだ実施すべき開発は残っているとされていますが,OpenBSDのセキュリティを強化する機能として今後のリリースで注目の機能の1つになりそうです。

OpenBSDはセキュリティの強化に積極的に取り組んでいて,FreeBSDやNetBSD,またはLinuxやWindowsが実装していないいくつものセキュリティ機能を持っています。RETGUARDもひとつの強化機能としてOpenBSD 6.2以降のリリースで取り込まれる可能性があります。今後の動向が気になるところです。

Theo de Raadt氏が投函したメールおよびパッチはRETGUARDで確認できます。RETGUARD_STARTとRETGUARD_ENDの定義からこれらが挿入されている部分などを追っておくと,どういった仕組みの機能なのかがわかります。OpenBSDプロジェクトはシステムをコンパクトに保ちつつ常にセキュリティを強化する姿勢を貫いています。セキュリティが必要になるシーンでは採用検討に値する興味深いソフトウェアです。

勉強会

第66回 10月下旬(25~27日のいずれか)19:00~FreeBSD勉強会

内容は検討中(会場:ドワンゴ セミナールーム)です。

FreeBSD勉強会 発表者募集

FreeBSD勉強会では発表者を募集しています。FreeBSDに関して発表を行いたい場合,@daichigotoまでメッセージをお願いします。30分~1時間ほどの発表資料を作成していただき発表をお願いできればと思います。