現在ドキュメントは制作段階にあるため、多くの情報が不完全なものになっています
報告は Discord までお願いしますセキュリティ
OMUAPPSのセキュリティを知るために、一度ゲームのMod文化について説明します
ゲームのMod文化
PCゲームの世界では、ユーザーが機能を拡張できる「Mod(Modification/改造)」文化が広く普及しつつあります。
しかし、これらは公式ではなく第三者が作成するため、安全性が保証されているとは限りません。わずかな悪意でもPCを破壊したり、データを盗み出したりする危険があります。
OMUAPPSはこの「Modのような拡張性」を保ちながら、導入時の確認、権限管理、接続元の検証によってリスクを抑えることを目指しています。 ただし、これらの仕組みが第三者製アプリの完全な安全性を保証するものではありません。
権限システムによる安全な導入
アプリの導入時には、OMUAPPSがアプリが何を行うかを事前に明示します。
ユーザーは内容を確認した上で許可またはキャンセルを自由に選択できます。
許可されるまでは、アプリが要求した保護対象の権限は付与されません。
この仕組みにより、アプリがどの範囲にアクセスするのかを透明にし、利用者自身が信頼性を判断できるようになっています。
権限システムが制御するのはOMUAPPSのAPIです。アプリ自身のWebページが外部サービスへ送信する通信や、ブラウザが元から許可している機能まで、すべてを制限する仕組みではありません。
権限レベル
- 低レベル:保存データの管理など、システムへの影響が小さい操作のみ可能。
- 中レベル:ユーザーデータや設定へのアクセスが必要な場合。プライバシーやデータ整合性に影響を与える可能性がある。
- 高レベル:システムや認証情報へのアクセスを含む。悪意を持って使用されると、システムの安定性やセキュリティに重大な影響を与える可能性がある。
特に高レベルの権限を許可する場合は、アプリの提供元と要求理由を確認してください。権限を承認しても、そのアプリ自体の安全性が保証されるわけではありません。
技術的には?
OMUAPPSは認証トークン、接続元、権限をそれぞれ検証します。
- アプリの導入時にランダムな認証トークンを発行し、サーバー側にはソルト付きハッシュを保存
- OBS表示用などの子アプリには、親アプリが必要に応じて新しいトークンを発行
- ローカルAPIへの接続で認証トークンとアプリ情報を照合
- ブラウザがOriginヘッダーを送信した場合、OriginのドメインとアプリIDの名前空間を照合
- 接続元IPを確認し、通常のローカルアプリからの接続をローカル環境に制限
- 子アプリへ渡せる権限は、親アプリが持つ権限の範囲内に制限
接続の流れ
- 利用者がアプリの提供元とアプリ情報を確認して導入
- OMUAPPSがそのアプリ用の認証トークンを発行
- アプリがアプリ情報と認証トークンを使ってローカルAPIサーバーへ接続
- サーバーがトークン、アプリ情報、接続元を検証
- アプリが必要な権限を要求
- 未承認の権限がある場合は利用者へ確認し、承認された範囲で接続を完了
アプリは公式のアプリ一覧や信頼できる提供元から導入し、不要になった権限やアプリは削除してください。OMUAPPSは今後も継続的にセキュリティの改善と検証を行っていきます。