(toppers-users 3671) Re: TOPPERSに求められるセキュリティ対策について

Hiroaki TAKADA hiro @ ertl.jp
2011年 10月 27日 (木) 17:53:01 JST


高橋様、皆様

> 1.静的メモリ割り付けを行う前提について
> 静的メモリ割り付けとは、たぶん静的生成のことと理解しています。
> 今のもののメモリオブジェクトはもちろん保護拡張仕様でのカーネルオブジェ
> クトの動的生成
> については未対応です。どういうところに理由があるのでしょうか。

高信頼/安全システムでは、動的なリソース管理は嫌われます。例えば、
機能安全規格 IEC 61508 では、

Static resource allocation … SIL 2 で R,SIL 3以上で HR
No dynamic objects … SIL 1 で R,SIL 2以上で HR
No dynamic variables … SIL 2 で R,SIL 3以上で HR

注)Rはrecommendedで推奨、HRはhighly recommendedで強い推奨です。
  HRは採用しない合理的な理由がない限りは必須とご理解ください。

といった記述があります(正確な適用条件等は、規格をご覧ください)。

このことから、高信頼/安全システムへ適用できるオープンソースRTOSを
目指すTOPPERSとしては、静的生成のサポートは必須と考えています。

動的生成については、それを必要とするアプリケーションがあるのはわか
りますので、そういうアプリケーション向けには用意していきたいと思い
ます(実際、ASPカーネルの動的生成拡張パッケージがあります)。ただ、
現状でのプライオリティは高くありません。

参考までに車載制御システム向けのAUTOSAR OS仕様では、静的生成のみの
サポートで、動的生成のAPIはありません。

> 2.Separation Kernels のプロテクションプロファイル(*)は、TOPPERSのロー
> ドマップでの位置付け
> 貴NPO法人のTOPPERSプロジェクトにはロードマップとしてどのような位置に
> 位置付けされるものと想定されるでしょうか?現行のASP(HRPでも)をベース
> ラインで実現できるのでしょうか?

現状のTOPPERSのカーネル開発ロードマップ(下のURLにあります)は、2012
年頃までしか引いてありません。

http://www.toppers.jp/project.html

すでに2011年も終わろうとしていますので、この先のロードマップについて
まさに議論しているところです。現時点で、ロードマップを書く前段階とし
て、今後の活動指針を策定したところです。今後の活動指針については、
TOPPERSニュースレター No.20をご参照下さると幸いです。

http://www.toppers.jp/newsletter.html

この活動指針の中で、セキュリティについては重要な取り組みテーマと位置
付けていますが、それに対して具体的に何をやるかは未定です。Separation
Kernels のプロテクションプロファイル(SKPP)は、最近、海外の RTOS で
これに準拠して認証を取得したものが出てきましたので、1つのリファレン
スとして有益であろうと考えています。

我々もSKPPを勉強しようとしているところでして、現状のTOPPERS新世代カー
ネル仕様でSKPPの要求を満たしているかは、現時点では検討できていません。

高田広章
名古屋大学

(11/10/27 17:23), 高橋和浩@nifty wrote:
> 高田様
> 
> 大変貴重なコメントありがとうございます。
> これを方向性ととらえたいと思います。
> 
>> PX, HRP, HRP2 は静的メモリ割付けを行う前提ですので、ASLRを入れ
>> とりあえず考えているのは、現状のTOPPERS新世代カーネル仕様で、
>> Separation Kernels のプロテクションプロファイル(*)を満たすこと
>> ができるかどうかの検討はしてみたいと考えています。
> 
> 
> 2点ほど疑問点があります。
> 1.静的メモリ割り付けを行う前提について
> 静的メモリ割り付けとは、たぶん静的生成のことと理解しています。
> 今のもののメモリオブジェクトはもちろん保護拡張仕様でのカーネルオブジェクトの動的生成
> については未対応です。どういうところに理由があるのでしょうか。
> 
> 2.Separation Kernels のプロテクションプロファイル(*)は、TOPPERSのロードマップでの位置付け
> 貴NPO法人のTOPPERSプロジェクトにはロードマップとしてどのような位置に
> 位置付けされるものと想定されるでしょうか?現行のASP(HRPでも)をベースラインで実現できるのでしょうか?
> 
> 誠にぶしつけな質問で申し訳ありません。
> MLの趣旨に従い回答がなくてもかまいませんが、もし回答がありましたら幸いです。
> 
> 
> 
> On Thu, 27 Oct 2011 14:41:58 +0900
> Hiroaki TAKADA<hiro @ ertl.jp>  wrote:
> 
>> 名古屋大学の高田です。件名を変えました。
>>
>> 皆さんの議論で重要ポイントは上がっていると思いますが、私なりに
>> 整理させていただきます。
>>
>> 木田さん wrote:
>>> 基本、ITRONは静的にリンクされたプログラムが動作しているもの
>>> であり、動的に何かを仕組むというのは意図的に内部を判った者で
>>> 無い限り攻撃は不可能と考えられます。故に、ITRONカーネルに
>>> 関して言えば、脆弱性や脅威に関して無縁と考えられます。
>>
>> 他の方も指摘されている通り、これは認識が甘いと思います。
>>
>>> います。という点を考えれば、ITRONでそのような事が発生する
>>> 要因としては、ITRONというカーネル上にプロトコルスタックなり
>>> アプリケーションを実装したときに、そのミドルウエア、アプリケーション
>>> がセキュアにコーディングされ、実装されているかだけの問題と
>>> なります。
>>
>> ミドルウェアやアプリケーションがセキュアにコーディングされてい
>> れば(言い換えると、それらにセキュリティホールがなければ)、カー
>> ネルは対処しなくていいというのはその通りなのですが、組込みソフ
>> トウェアが複雑化する中で、それらにセキュリティホールがないとい
>> う前提は厳しくなっています。
>>
>> ですので、仮にそれらにセキュリティホールがあったとしても、カー
>> ネルとして防御する(または、攻撃しにくくする)ことができるので
>> あれば、そういう機能を取り入れるべきということになります。
>>
>> 邑中さん wrote:
>>> 現在仕様が公開されている PX, HRP, T-kernel ではいずれも,
>>> 最低限のメモリ保護は行なわれています.しかしたとえば,
>>> 他の現代的なカーネルでは当たり前に行われているASLRなど
>>> 一歩進んだケアが為されているかどうか.
>>> // RTOS なので,時間性能との天秤にかけて敢えて思慮していない
>>> // という事情もあるはずですけれども.
>>
>> PX, HRP, HRP2 は静的メモリ割付けを行う前提ですので、ASLRを入れ
>> るのは難しそうですが、リーゾナブルな性能ペナルティで取り込むべ
>> き機能があれば、取り込んでいきたいと考えています。現状は、まだ、
>> どのような機能を取り込むべきかが明らかになっておらず、それを明
>> らかにする方向での提案は歓迎です。
>>
>> とりあえず考えているのは、現状のTOPPERS新世代カーネル仕様で、
>> Separation Kernels のプロテクションプロファイル(*)を満たすこと
>> ができるかどうかの検討はしてみたいと考えています。
>>
>> (*) http://www.niap-ccevs.org/pp/pp_skpp_hr_v1.03/
>>
>> 高田広章
>> 名古屋大学
>>
> ---
> アライブビジョンソフトウエア株式会社
> 高橋和浩
> 673-0005兵庫県明石市小久保2-2-7幹線ビル4F
> Email:takahashi_kazuhiro @ nifty.com
> http://homepage3.nifty.com/ALVS/
> TEL:078-922-2177
> FAX:078-597-8290
>