アカウント名:
パスワード:
Androidのフォルダ構造設計はもうちょっと何とかならんかったのか?SDカードにフォルダ直置きで、ドキュメントやら画像やらの標準的な場所が曖昧だとかめちゃくちゃすぎでしょ。大抵のOSならフォントを置く場所くらいは決めておくもんだぞ。
それを考えるとDCIMという分かりやすくはないが確実なフォルダ構造を定めた古のDCFとやらは偉大だ。
外部ストレージにフォントを置くリスク考えれば外部ストレージ上のフォントの置き場所が決まっていないのは妥当。
後学のために教えて欲しいのだけれども、外部ストレージにフォントを置くことに何のリスクがあるの?
そして、置き場所をあいまいにすることで、どうしてリスクが回避できるの?
ツリー元 [srad.jp]のACだけど、
と言ったリスクだと思うよ。
1. についてはWebフォントの方が容易で必要な権限も少ない。2. については確かにシステムフォントを外部ストレージに置くというのは愚策。普通のOSは書き込み権限が管理されるシステムディスク(内部ストレージ)に入れて対処している。少なくとも重要なシステムアプリが使用するフォントは権限なしに書き換えられるのは危険だし、そうでないアプリも外部ストレージにフォントを置くことは一定のリスクがある。署名を確認したり追加したフォントのハッシュを持っていたりが対処方法かな。3. については特定フォントに依存しているアプリが意図した動作をしなくなるというのは、悪意の有無に関わらずあり得る。
ただ外部ストレージにアプリが使うフォントを置くというのは現状でも行われている。置き場所を曖昧にしている事は特にメリットになっていないどころか、特定アプリを狙った攻撃はむしろ容易になっている(ただしそういうフォントを使うアプリは大抵セキュリティに関わらない事をしている)。でもフォントファイルを用意に変更できる外部ストレージに置くなっていう指摘ならもっともだと思う。
現状のフォント管理は各アプリが好き勝手な場所に重複して持っているなんていう現状がある(普通は標準フォントをそのまま使う)。加えてUI全般で使うフォントを変えられないというのはかなり不便。通常は読み取り権限のみ与えられる内部ストレージの特定の場所に置いて、フォントの依存関係はストアなりが管理するってのがスマートだっただろうね。
あとは物理的なアンマウントやいろんな意味での破壊耐性かな。内部ストレージなら揺れで接触不良とかいう事はないし、ハード自身の寿命に関してもある程度のコントロール下に置くことはできる。
そもそもスマホで自由にフォントが変えれないの本当に不思議なんだよね。具体的に言うと絵文字をスライム君にしたい。windows phoneは出来たんだろうか?
>フォントエンジンの脆弱性を突いて攻撃できる。画像や動画ビューアは脆弱性が突かれない保証ってどこにあんの?
>ユーザーに表示される文字を書き換える。システムが出す重要なダイアログ(課金とか権限)ではデフォルトのフォントに戻せばいい
>単純にフォントファイルを削除する。フォールバックすればいいだけ
設定アプリからフォントを選んだ時にシステムの管理領域にコピーしてそこから表示するようにするとかいくらでもやり方はあるだろう。
>画像や動画ビューアは脆弱性が突かれない保証ってどこにあんの
だれもそんな事を言っていない。
>設定アプリからフォントを選んだ時にシステムの管理領域にコピーしてそこから表示するようにするとか
脆弱性対処にかすりもしない
フォントは描画に時間がかかるから最終段に近い方が速度的に有利だし、ラスターフォントでもない限り構造的に複雑だから高速化と相俟って脆弱性が生じやすい。
Windows Mobile 時代なら、パソコン用のフォントを専用ソフト経由で転送できたけどね。
ああ、つまり、だれでも触れる場所(≒外部ストレージ)に動作にかかわるファイルを置くことがそもそもの誤りで、
フォントを配置するフォルダ構成があいまいなほうが~云々は、上記の問題に対してはアンチパターンでしかないということなのね。
そして、#3608516で書かれていることをふまえると、Androidはフォントを安全に管理する方法がないから、アプリが好き勝手なフォルダに配置しているという現状なのですね。
それでだいたい合ってると思う。
そもそもGoogleは外部ストレージの利用を推奨してないから。非推奨のモノをいつまでも使ってるのはリスクだし、利用してる側が悪いわ。
あー、OSとして外部ストレージの利用を推奨していないのだから、外部ストレージ上のフォントの置き場所が決まっているのは不整合だということね。
配置場所をあいまいにすることによって回避できる(セキュリティ的な)リスクがあるのだと誤読してたわ。
ファイルのパスが決まっているなら、外部ストレージに事前に不正なファイルを設置しておいて、OSやアプリに読み込ませて不正なコード実行に使えるんじゃないの?(フォントを読み込む処理に脆弱性があればだが)
気休めかもしれないが不定な名前だと読み込ませるのに手はかかるかと。
リスクそのものについては他の人が書いているから省略。
リスク回避についてはフォントであることを認識させない対処が独自処置なら可能だから。実際はそこまで考えていない実装だらけで、俺は外部ストレージにフォントを置いて利用しているアプリを避けている。
フォントファイルだと外から解らないようにしているならともかく、ただ置いているだけなら、独自フォルダでも固有のフォルダでも、それっぽいフォルダ(例えば、fontとか)や、ttfファイルが置かれているフォルダを探されてしまえばリスク回避にならないのでは(書き込み権限はあるけど、読み込み権限はないという状況は一般的ではないと思うし)?
OSでなくアプリ側に独自処置をさせるという発想はどうなの?
それっぽい名前にしていれば対策にならないのはその通り。知識が足りなくて脆弱性を晒しているのはフォントに限らないでしょ。
自由度優先のAndroidだから標準的ではない事をやるならきちんと対策する必要があるし、OSに対策機能を盛り込んでもセキュリティについて考えられない人達は使わないでしょうよ。
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
「毎々お世話になっております。仕様書を頂きたく。」「拝承」 -- ある会社の日常
もうちょっと (スコア:0)
Androidのフォルダ構造設計はもうちょっと何とかならんかったのか?
SDカードにフォルダ直置きで、ドキュメントやら画像やらの標準的な場所が曖昧だとかめちゃくちゃすぎでしょ。
大抵のOSならフォントを置く場所くらいは決めておくもんだぞ。
それを考えるとDCIMという分かりやすくはないが確実なフォルダ構造を定めた古のDCFとやらは偉大だ。
Re:もうちょっと (スコア:0)
外部ストレージにフォントを置くリスク考えれば外部ストレージ上のフォントの置き場所が決まっていないのは妥当。
Re: (スコア:0)
後学のために教えて欲しいのだけれども、
外部ストレージにフォントを置くことに
何のリスクがあるの?
そして、置き場所をあいまいにすることで、
どうしてリスクが回避できるの?
Re:もうちょっと (スコア:2, 参考になる)
ツリー元 [srad.jp]のACだけど、
と言ったリスクだと思うよ。
1. についてはWebフォントの方が容易で必要な権限も少ない。
2. については確かにシステムフォントを外部ストレージに置くというのは愚策。
普通のOSは書き込み権限が管理されるシステムディスク(内部ストレージ)に入れて対処している。
少なくとも重要なシステムアプリが使用するフォントは権限なしに書き換えられるのは危険だし、そうでないアプリも外部ストレージにフォントを置くことは一定のリスクがある。
署名を確認したり追加したフォントのハッシュを持っていたりが対処方法かな。
3. については特定フォントに依存しているアプリが意図した動作をしなくなるというのは、悪意の有無に関わらずあり得る。
ただ外部ストレージにアプリが使うフォントを置くというのは現状でも行われている。
置き場所を曖昧にしている事は特にメリットになっていないどころか、特定アプリを狙った攻撃はむしろ容易になっている(ただしそういうフォントを使うアプリは大抵セキュリティに関わらない事をしている)。
でもフォントファイルを用意に変更できる外部ストレージに置くなっていう指摘ならもっともだと思う。
現状のフォント管理は各アプリが好き勝手な場所に重複して持っているなんていう現状がある(普通は標準フォントをそのまま使う)。
加えてUI全般で使うフォントを変えられないというのはかなり不便。
通常は読み取り権限のみ与えられる内部ストレージの特定の場所に置いて、フォントの依存関係はストアなりが管理するってのがスマートだっただろうね。
Re: (スコア:0)
あとは物理的なアンマウントやいろんな意味での破壊耐性かな。
内部ストレージなら揺れで接触不良とかいう事はないし、ハード自身の寿命に関してもある程度のコントロール下に置くことはできる。
Re: (スコア:0)
そもそもスマホで自由にフォントが変えれないの本当に不思議なんだよね。
具体的に言うと絵文字をスライム君にしたい。
windows phoneは出来たんだろうか?
>フォントエンジンの脆弱性を突いて攻撃できる。
画像や動画ビューアは脆弱性が突かれない保証ってどこにあんの?
>ユーザーに表示される文字を書き換える。
システムが出す重要なダイアログ(課金とか権限)ではデフォルトのフォントに戻せばいい
>単純にフォントファイルを削除する。
フォールバックすればいいだけ
設定アプリからフォントを選んだ時にシステムの管理領域にコピーしてそこから表示するようにするとか
いくらでもやり方はあるだろう。
Re: (スコア:0)
>画像や動画ビューアは脆弱性が突かれない保証ってどこにあんの
だれもそんな事を言っていない。
>設定アプリからフォントを選んだ時にシステムの管理領域にコピーしてそこから表示するようにするとか
脆弱性対処にかすりもしない
フォントは描画に時間がかかるから最終段に近い方が速度的に有利だし、ラスターフォントでもない限り構造的に複雑だから高速化と相俟って脆弱性が生じやすい。
Re: (スコア:0)
Windows Mobile 時代なら、パソコン用のフォントを専用ソフト経由で転送できたけどね。
Re: (スコア:0)
ああ、つまり、だれでも触れる場所(≒外部ストレージ)に
動作にかかわるファイルを置くことがそもそもの誤りで、
フォントを配置するフォルダ構成があいまいなほうが~云々は、
上記の問題に対してはアンチパターンでしかないということなのね。
そして、#3608516で書かれていることをふまえると、
Androidはフォントを安全に管理する方法がないから、
アプリが好き勝手なフォルダに配置しているという現状なのですね。
Re: (スコア:0)
それでだいたい合ってると思う。
Re: (スコア:0)
そもそもGoogleは外部ストレージの利用を推奨してないから。
非推奨のモノをいつまでも使ってるのはリスクだし、利用してる側が悪いわ。
Re: (スコア:0)
あー、OSとして外部ストレージの利用を推奨していないのだから、
外部ストレージ上のフォントの置き場所が決まっているのは不整合だということね。
配置場所をあいまいにすることによって回避できる(セキュリティ的な)リスクがあるのだと誤読してたわ。
Re: (スコア:0)
ファイルのパスが決まっているなら、
外部ストレージに事前に不正なファイルを設置しておいて、OSやアプリに読み込ませて不正なコード実行に使えるんじゃないの?
(フォントを読み込む処理に脆弱性があればだが)
気休めかもしれないが不定な名前だと読み込ませるのに手はかかるかと。
Re: (スコア:0)
リスクそのものについては他の人が書いているから省略。
リスク回避についてはフォントであることを認識させない対処が独自処置なら可能だから。
実際はそこまで考えていない実装だらけで、俺は外部ストレージにフォントを置いて利用しているアプリを避けている。
Re: (スコア:0)
フォントファイルだと外から解らないようにしているならともかく、
ただ置いているだけなら、独自フォルダでも固有のフォルダでも、
それっぽいフォルダ(例えば、fontとか)や、ttfファイルが置かれているフォルダを探されてしまえばリスク回避にならないのでは(書き込み権限はあるけど、読み込み権限はないという状況は一般的ではないと思うし)?
OSでなくアプリ側に独自処置をさせるという発想はどうなの?
Re: (スコア:0)
それっぽい名前にしていれば対策にならないのはその通り。
知識が足りなくて脆弱性を晒しているのはフォントに限らないでしょ。
自由度優先のAndroidだから標準的ではない事をやるならきちんと対策する必要があるし、OSに対策機能を盛り込んでもセキュリティについて考えられない人達は使わないでしょうよ。