もう一人のY君

読者です 読者をやめる 読者になる 読者になる

もう一人のY君

iPhoneアプリのレビューやアップデートレビューなどを書いています. たまに数学の記事も書きます.

もう一人のY君 MENU

【重要】Apple iOS10.3では64点もの脆弱性に対応している

iOS iOS-アップデート iOS-iOS10

170328_07

 ネットを使う以上, 常に気をつけなければいけないのはウイルスを始めとするセキュリティホールです.

 クラッカーは24時間365日狙っているわけで, デザインや使い勝手などでアップデートを避ける判断もそれは一つの選択ですが, 代償としてそれらに晒されていることを自覚しなければなりません.

 

 64点もの脆弱性対処はかなり珍しいです, 余程の理由がない限りはこちらを理由にアップデートすることをおすすめします.

 

blog.thetheorier.com

 なお今回のリリースノートなどの内容はこちら.

 今回はセキュリティノートの内容となります.

 

 

ピンポイント

 64点というトンデモな数なので, 見るのが面倒な方のために, 僕の主観ですがこれはヤバそうというものを6点整理しておきます(先頭の数字はセキュリティノートにある順番).

 

  • 1.Accounts:ユーザーがロック画面からApple IDを表示できてしまう可能性
  • 31.Pasteboard:iOSデバイスに物理的にアクセスできる人がペーストボードを読み取れる可能性
  • 32.Phone:サードパーティ製アプリがユーザーの介入なしに電話をかけることができてしまう可能性
  • 36.Safari:ローカルユーザーが, ユーザーがプライベートブラウジングで訪問したWebサイトを検出できてしまう可能性
  • 52.WebKit:悪意を持って作成されたWebコンテンツを処理すると, メモリ消費量が高くなってしまう可能性
  • 59.WebKit:悪意を持って作成されたWebコンテンツアクセスすると, ユーザー情報が侵害されてしまう可能性

 

 こういった脆弱性が, 今回のiOSで解決してるわけですね.

 逆に言えばアップデートしないとこれらのリスクに晒されたままということです.

 

 すべてのセキュリティノートの内容は以下となります.

 

 

iOS10.3 セキュリティノート

About the security content of iOS 10.3

Released March 27, 2017 Accounts Available for: iPhone 5 and later, iPad 4th generation and later, iPod touch 6th generation and later Impact: A user may be able to view an Apple ID from the lock screen Description: A prompt management issue was addressed by removing iCloud authentication prompts from the lock screen.

 執筆時点では英語ですが, いづれ日本語のセキュリティノートもリリースされると思います.

 

 

1.Accounts

対応機種 iphone 5, iPad 4th, iPod touch6以降
影響 ユーザーがロック画面からApple IDを表示できてしまう可能性.
説明 ロック画面から行えるiCloud認証プロンプトを削除することで対応.

 

 

2.Audio

対応機種 iphone 5, iPad 4th, iPod touch6以降
影響 悪意を持って作成されたオーディオファイルを処理すると, 任意のコードが実行されてしまう可能性.
説明 入力検証を改善することぜ対処.

 

 

3.Carbon

対応機種 iphone 5, iPad 4th, iPod touch6以降
影響 悪意を持って作成されたdfontファイルを処理すると, 任意のコードが実行されてしまう可能性.
説明 フォントファイルの処理時にバッファオーバーフローが発生してたようで, 境界チェックを改善することで対処.

 

 

4.CoreGraphics

対応機種 iphone 5, iPad 4th, iPod touch6以降
影響 悪意を持って作成された画像を処理すると, サービス拒否につがなる可能性.
説明 状態管理を改善することで対処.

 

 

5.CoreGraphics

対応機種 iphone 5, iPad 4th, iPod touch6以降
影響 悪意を持って作成されたWebコンテンツを処理すると, 任意のコードが実行されてしまう可能性.
説明 入力検証の改善によって対処.

 

 

6.CoreText

対応機種 iphone 5, iPad 4th, iPod touch6以降
影響 悪意を持って作成されたフォントファイルを処理すると, 任意のコードが実行されてしまう可能性.
説明 入力検証の改善によって対処.

 

 

7.CoreText

対応機種 iphone 5, iPad 4th, iPod touch6以降
影響 悪意を持って作成されたフォントを処理すると, プロセスメモリが公開されてしまう可能性.
説明 範囲外の読み取りを, 入力検証の改善を施すことで対処.

 

 

8.CoreText

対応機種 iphone 5, iPad 4th, iPod touch6以降
影響 悪意を持って作成されたテキストメッセージを処理すると, アプリケーションのサービス拒否につながる可能性.
説明 リソース枯渇の問題を, 入力検証の改善によって対処.

 

 

9.DataAccess

対応機種 iphone 5, iPad 4th, iPod touch6以降
影響 誤った電子メールアドレスを使用してExchangeアカウントを構成すると, 予期しないサーバーが解決される可能性.
説明 Exchange電子メールアドレスの処理に入力検証の問題があったようです. 対処済み.

 

 

10.FontParser

対応機種 iphone 5, iPad 4th, iPod touch6以降
影響 悪意を持って作成されたフォントファイルを処理すると, 任意のコードが実行されてしまう可能性.
説明 入力検証の改善によって対処.

 

 

11.FontParser

対応機種 iphone 5, iPad 4th, iPod touch6以降
影響 悪意を持って作成されたフォントファイルを解析すると, アプリケーションが予期せず終了したり, 任意のコードが実行されてしまう可能性.
説明 入力検証の改善によって対処.

 

 

12.FontParser

対応機種 iphone 5, iPad 4th, iPod touch6以降
影響 悪意を持って作成されたフォントファイルを処理すると, プロセスメモリが公開されてしまう可能性.
説明 範囲外の読み取りを, 入力検証のによって対処.

 

 

13.HomeKit

対応機種 iphone 5, iPad 4th, iPod touch6以降
影響 ホームコントロールが予期せずコントロールセンターに表示される.
説明 ホームコントロールの処理に状態の問題があったようで, 検証の改善によって対処.

 

 

14.HTTPProtocol

対応機種 iphone 5, iPad 4th, iPod touch6以降
影響 悪意のあるHTTP / 2サーバーが未定義の動作を引き起こす可能性.
説明 1.17.0より前のnghttp2に複数の問題が存在していたようで, LibreSSLをver1.17.0にアップデートすることによって対処.

 nghttp2というのは, 特定のサーバーへの要求を必ず経由するように設置されたプロキシサーバーのことのようですね.

 LibreSSLはSSL/TLS通信で使われるソフトウェアらしいです.

 

 

15.ImageIO

対応機種 iphone 5, iPad 4th, iPod touch6以降
影響 悪意を持って作成された画像を処理すると, 任意のコードが実行されてしまう可能性.
説明 入力検証の改善によって対処.

 

 

16.ImageIO

対応機種 iphone 5, iPad 4th, iPod touch6以降
影響 悪意を持って作成されたJPEG画像を表示すると, 任意のコードが実行されてしまう可能性.
説明 入力検証の改善によって対処.

 

 

17.ImageIO

対応機種 iphone 5, iPad 4th, iPod touch6以降
影響 悪意を持って作成されたファイルを処理すると, アプリケーションが予期せず終了した, 任意のコードが実行されてしまう可能性.
説明 入力検証の改善によって対処.

 

 

18.ImageIO

対応機種 iphone 5, iPad 4th, iPod touch6以降
影響 悪意を持って作成された画像を処理すると, アプリケーションが予期せず終了する可能性.
説明 4.0.7より古いバージョンのLibTIFFでは, 範囲外の読み取りを起こす可能性があったようです. ImageIOのLibTIFFをver4.0.7にアップデートすることで対処.

 

 

19.iTunes Store

対応機種 iphone 5, iPad 4th, iPod touch6以降
影響 特権を持つネットワーク上のクラッカーが, iTunesのネットワークトラフィックを改ざんする可能性.
説明 iTunesサンドボックスWebサービスへのリクエストが平文で送信されていたようで, HTTPSを有効にすることで対処.

 

 

20.Karnel

対応機種 iphone 5, iPad 4th, iPod touch6以降
影響 アプリケーションがカーネル権限で任意のコードを実行できてしまう可能性.
説明 入力検証の改善によって対処.

 

 

21.Karnel

対応機種 iphone 5, iPad 4th, iPod touch6以降
影響 アプリケーションがカーネル権限で任意のコードを実行できてしまう可能性.
説明 整数型のオーバーフローの可能性があったようで, 入力検証の改善によって対処.

 

 

22.Karnel

対応機種 iphone 5, iPad 4th, iPod touch6以降
影響 悪意のあるアプリケーションがroot権限で任意のコードを実行してしまう可能性.
説明 件によって競合状態が発生していたようで, 入力検証の改善によって対処.

 

 

23.Karnel

対応機種 iphone 5, iPad 4th, iPod touch6以降
影響 アプリケーションがカーネル権限で任意のコードを実行してしまう可能性.
説明 メモリ管理を改善することによって対処.

 

 

24.Karnel

対応機種 iphone 5, iPad 4th, iPod touch6以降
影響 悪意のあるアプリケーションがカーネル権限で任意のコードを実行してしまう可能性.
説明 メモリ管理を改善することによって対処.

 

 

25.Karnel

対応機種 iphone 5, iPad 4th, iPod touch6以降
影響 悪意のあるアプリケーションがカーネル権限で任意のコードを実行してしまう可能性.
説明 境界チェックを改善することによってオフバイワイヤ問題を解決.

 

 

26.Karnel

対応機種 iphone 5, iPad 4th, iPod touch6以降
影響 悪意のあるアプリケーションがカーネル権限で任意のコードを実行してしまう可能性.
説明 ロック処理を改善することで競合状態を解決.

 

 

27.Karnel

対応機種 iphone 5, iPad 4th, iPod touch6以降
影響 アプリケーションがカーネル権限で任意のコードを実行してしまう可能性.
説明 バッファオーバーフローの問題を, メモリ処理の改善によって対処.

 

 

28.Keyboards

対応機種 iphone 5, iPad 4th, iPod touch6以降
影響 アプリケーションがカーネル権限で任意のコードを実行してしまう可能性.
説明 バッファオーバーフローの問題を, 境界チェックの改善によって対処.

 

 

29.libarchive

対応機種 iphone 5, iPad 4th, iPod touch6以降
影響 ローカルにいるクラッカーが, 任意のディレクトリのファイルシステムのアクセス権限を変更できてしまう可能性.
説明 シンボリックの検証改善によって対処.

 

 

30.libc++abi

対応機種 iphone 5, iPad 4th, iPod touch6以降
影響 悪意のあるC++アプリケーションをテマングルすると, 任意のコードが実行されてしまう可能性.
説明 メモリ管理の改善によって対処.

 C++では, 各シンボル(関数, 変数など)がリンカで適切に分解できるよう, 名前を分解(マングル)するそうです.

 デマングルとはマングルした処理を復元する処理のことです.

 

 

31.Pasteboard

対応機種 iphone 5, iPad 4th, iPod touch6以降
影響 iOSデバイスに物理的にアクセスできる人がペーストボードを読み取れる可能性.
説明 ハードウェアUIDとユーザーのパスコードで保護されたキーを使用してペーストボードを暗号化することで解決.

 

 

32.Phone

対応機種 iphone 5, iPad 4th, iPod touch6以降
影響 サードパーティ製アプリがユーザーの介入なしに電話をかけることができてしまう可能性.
説明 iOS側に問題があったようで, プロンプトを表示せずに通話できてしまう状態だったそうです. ユーザーにコールの開始を確認するよう促すことにょって対処.

 

 

33.Profiles

対応機種 iphone 5, iPad 4th, iPod touch6以降
影響 クラッカーが, DES暗号アルゴリズムの弱点を悪用できてしまう可能性.
説明 3DES暗号アルゴリズムのサポートがSCEPクライアントに追加. DESは非推奨となりました.

 

 

34.Quick Look

対応機種 iphone 5, iPad 4th, iPod touch6以降
影響 PDFドキュメントの電話リンクをタップすると, ユーザーに確認を求めずに電話がかかってしまう.
説明 通話を開始する前にtel URLを確認する際に問題があったようです. 確認プロンプトを追加することで解決.

 

 

35.Safari

対応機種 iphone 5, iPad 4th, iPod touch6以降
影響 悪意のあるWebサイトにアクセスすると, アドレスバーのなりすましにつながる可能性.
説明 リンク先ページが読み込まれるまでテキスト入力を無効にすることで解決.

 

 

36.Safari

対応機種 iphone 5, iPad 4th, iPod touch6以降
影響 ローカルユーザーが, ユーザーがプライベートブラウジングで訪問したWebサイトを検出できてしまう可能性.
説明 SQLiteの削除に問題があったようで, SQLiteクリーンアップを改良することで対処.

 

 

37.Safari

対応機種 iphone 5, iPad 4th, iPod touch6以降
影響 悪意を持って作成されたWebコンテンツを処理すると, 任意のWebサイトに認証シートが表示される可能性.
説明 HTTP認証の処理になりすましとなってしまう問題があったようで, HTTP認証シートを非モーダルにすることで対処.

 

 

38.Safari

対応機種 iphone 5, iPad 4th, iPod touch6以降
影響 リンクをクリックして悪意のあるWebサイトにアクセスすると, ユーザーインターフェースのなりすましにつながる可能性.
説明 FaceTimeプロンプトの処理になりすましとなってしまう問題があったようで, 入力検証の改善によって対処.

 

 

39.Safari Reader

対応機種 iphone 5, iPad 4th, iPod touch6以降
影響 悪意を持って作成されたWebページ上でSafari Reader機能を有効にすると, クロスサイトスクリプティングが発生する可能性.
説明 FaceTimeプロンプトの処理になりすましとなってしまう問題があったようで, 入力検証の改善によって対処.

 

クロスサイトスクリプティング(XSS)とは - 脅威と対策 | トレンドマイクロ

クロスサイトスクリプティング(XSS)とは、ユーザのアクセス時に表示内容が生成される「動的Webページ」の脆弱性、もしくはその脆弱性を利用した攻撃方法のことです。

 

 

40.SafariViewController

対応機種 iphone 5, iPad 4th, iPod touch6以降
影響 ユーザーがSafariキャッシュをクリアしたときに, SafariとSafariViewControllerの間でキャッシュ状態が正しく同期されない可能性.
説明 SafariViewControllerからSafariのキャッシュ情報を消去する際に問題があったようで, キャッシュ状態の処理を改善改善することによって対処.

 

 

41.Security

対応機種 iphone 5, iPad 4th, iPod touch6以降
影響 SecKeyRawVerify()関数で空の署名を検証すると予期せず成功してしまう可能性.
説明 暗号化APIの呼び出しに際し, 検証に問題があったようです. パラメータのバリデーションを改善することで対処.

 バリデーションとは, 決められた要求事項が, 対象の使い方において適切であるかを確認することを意味します.

 

 

42.Security

対応機種 iphone 5, iPad 4th, iPod touch6以降
影響 ネットワーク上の特権を持つクラッカーが, SSL/TLSによって保護されているセッション内のデータを取得または変更できてしまう可能性.
説明 特定の条件下で, Secure TransportがOTRパケットの信頼性を検証できなかったようです. この問題は紛失した検証手順を復元することで対処.

 

 

43.Security

対応機種 iphone 5, iPad 4th, iPod touch6以降
影響 アプリケーションがルート権限で任意のコードを実行してしまう可能性.
説明 バッファオーバーフローのリスクを, 境界チェックの改善によって対処.

 

 

44.Security

対応機種 iphone 5, iPad 4th, iPod touch6以降
影響 悪意を持って作成されたx509証明書を処理すると, 任意のコードが実行されてしまう可能性.
説明 証明書の解析中にメモリ破損のリスクが存在していたようです. 入力検証の改善によって対処.

 x509証明書というのは, 公開鍵証明書の署名を検証し, 鍵が正当であるかを確認する規格の一つだそうです.

 

 

45.Siri

対応機種 iphone 5, iPad 4th, iPod touch6以降
影響 Siriが, デバイスがロックされているにも関わらずテキストメッセージの内容を明らかにしてしまう可能性.
説明 状態管理を改善することで, 不十分なロック問題を解決.

 

 

46.WebKit

対応機種 iphone 5, iPad 4th, iPod touch6以降
影響 悪意を持って作成されたリンクをドラッグ&ドロップすると, ブックマークのスプーフィングや任意のコードの実行につながる可能性.
説明 ブックマークの作成・入力検証を改善することで対処.

 スプーフィングとは「なりすまし」のことです.

 

 

47.WebKit

対応機種 iphone 5, iPad 4th, iPod touch6以降
影響 悪意のあるWebサイトにアクセスすると, アドレスバーのなりすましにつながる可能性.
説明 状態管理の改善によって, 矛盾したインターフェイスの問題に対処.

 

 

48.WebKit

対応機種 iphone 5, iPad 4th, iPod touch6以降
影響 悪意を持って作成されたWebコンテンツを処理すると, データのクロスオリジンが抽出される可能性.
説明 例外処理を改良することでプロトタイプアクセスの問題に対処.

 

 

49.WebKit

対応機種 iphone 5, iPad 4th, iPod touch6以降
影響 悪意を持って作成されたWebコンテンツを処理すると, 任意のコードが実行されてしまう可能性.
説明 入力検証の改善によって対処.

 

 

50.WebKit

対応機種 iphone 5, iPad 4th, iPod touch6以降
影響 悪意を持って作成されたWebコンテンツを処理すると, 任意のコードが実行されてしまう可能性.
説明 メモリ処理の改善によって対処.

 

 

51.WebKit

対応機種 iphone 5, iPad 4th, iPod touch6以降
影響 悪意を持って作成されたWebコンテンツを処理すると, 予期せず矯正されないコンテンツセキュリティポリシーが発生する可能性.
説明 アクセス制限を改善することで対処.

 

 

52.WebKit

対応機種 iphone 5, iPad 4th, iPod touch6以降
影響 悪意を持って作成されたWebコンテンツを処理すると, メモリ消費量が高くなってしまう可能性.
説明 管理されていないリソース消費の問題を, 正規表現処理の改良によって対処.

 

 

53.WebKit

対応機種 iphone 5, iPad 4th, iPod touch6以降
影響 悪意を持って作成されたWebコンテンツを処理すると, プロセスメモリが公開されてしまう可能性.
説明 OpenGLシェーダの処理に情報公開の問題が存在していたようで, メモリ処理を改善することで対処.

 

 

54.WebKit

対応機種 iphone 5, iPad 4th, iPod touch6以降
影響 悪意を持って作成されたWebコンテンツを処理すると, 任意のコードが実行されてしまう可能性.
説明 入力検証を改善することで対処.

 

 

55.WebKit

対応機種 iphone 5, iPad 4th, iPod touch6以降
影響 悪意を持って作成されたWebコンテンツを処理すると, データのクロスオリジンが抽出されてしまう可能性.
説明 ページ読み込みの処理に複数の検証問題が存在していたようで, ロジックを改善することで対処.

 

 

56.WebKit

対応機種 iphone 5, iPad 4th, iPod touch6以降
影響 悪意のあるWebサイトがデータのクロスオリジンを抽出してしまう可能性.
説明 ページ読み込みの処理に複数の検証問題が存在していたようで, ロジックを改善することで対処.

 

 

57.WebKit

対応機種 iphone 5, iPad 4th, iPod touch6以降
影響 悪意を持って作成されたWebコンテンツを処理すると, クロスサイトスクリプティングが発生する可能性.
説明 論理問題を改善することで対処.

 

 

58.WebKit

対応機種 iphone 5, iPad 4th, iPod touch6以降
影響 悪意を持って作成されたWebコンテンツを処理すると, 任意のコードが実行されてしまう可能性.
説明 論理問題を改善することで対処.

 

 

59.WebKit

対応機種 iphone 5, iPad 4th, iPod touch6以降
影響 悪意を持って作成されたWebコンテンツアクセスすると, ユーザー情報が侵害されてしまう可能性.
説明 メモリ処理の改善によって対処.

 

 

60.WebKit

対応機種 iphone 5, iPad 4th, iPod touch6以降
影響 悪意を持って作成されたWebコンテンツを処理すると, 任意のコードが実行されてしまう可能性.
説明 メモリ管理を改善することで対処.

 

 

61.WebKit

対応機種 iphone 5, iPad 4th, iPod touch6以降
影響 悪意を持って作成されたWebコンテンツを処理すると, クロスサイトスクリプティングが発生してしまう可能性.
説明 フレーム処理のロジックを改善することで対処.

 

 

62.WebKit JavaScript Bindings

対応機種 iphone 5, iPad 4th, iPod touch6以降
影響 悪意を持って作成されたWebコンテンツを処理すると, データのクロスオリジンが抽出されてしまう可能性.
説明 ロジックを改善することで対処.

 

 

63.WebKit Web Inspector

対応機種 iphone 5, iPad 4th, iPod touch6以降
影響 デバッガで一時停止中にウインドウを閉じると, アプリケーションが予期せず終了してしまう可能性.
説明 入力検証を改善することで対処.

 

 

64.WebKit Web Inspector

対応機種 iphone 5, iPad 4th, iPod touch6以降
影響 悪意を持って作成されたWebコンテンツを処理すると, 任意のコードが実行されてしまう可能性.
説明 入力検証を改善することで対処.

 

 

 以上となります.

AppleがiOS10.3をリリース, AirPodsを探す, CarPlayの機能強化など

iOS iOS-iOS10 iOS-アップデート

170328_00

 先週との噂ですが今日でしたね.

 今回はファイルシステムの変更を含む大きなアップデートとなります.

 

 

アップデート情報

170328_00a

 OTAアップデートでは画像の通り610.2MB, iTunesアップデートはちょっとうっかりして確認しそびれました.

 当然お持ちのデバイスによって多少の違いはあります.

 

 

ダウンロード容量・所要時間など

 使用デバイスはiPhone 6, 64GB, iTunesアップデートになります.

 他の方でも同様であるとは限りません.

170328_01

 今回はファイルシステムが変更という大きなアップデートとなるため, OTAアップデート(デバイス単体のWi-Fiを用いたアップデート)はできるだけ避け, iTunesから「iPhoneのバックアップを暗号化」にチェックを入れた状態でバックアップしてから行いましょう.

 

 iTunesアップデートによる各所要時間は以下の通りでした.

DL開始(ロック解除) 00:00
DL完了 04:07
ソフトウェア抽出完了 04:31
iPhoneソフトウェアの更新完了 11:30
iPhoneファームウェア更新完了 16:22
ロック解除(終了) 22:16

 今回からPCが変わったので環境が違います.

  • OS:Windows10 Home
  • CPU:Intel(R) Core(TM) i5-6400 CPU @ 2.70GHz 2.71 GHz
  • メモリ:8GB
  • システム:64bit

 その影響か, ダウンロードしたiOSの抽出作業がたった24秒で終わってしまい拍子抜けです.

 但しファイルシステムの変更の影響か, ソフトウェアやファームウェアの更新, その後の処理で時間がかかり, 結果的に22分ほどかかることとなりました.

 

 

170328_03

 最大容量, 使用可能共に大幅に増加しています, 前者は約1.24GB, 後者に至っては約3.27GBも増えました.

 書類とデータのうちの一時ファイルのようなゴミが掃除されただけの可能性もありますけどね.

 また画像の通り, 少なくともソフトバンクではキャリアアップデートも行われています, こちらも合わせてアップデートしておきましょう.

 

 

170328_02

iOS10.1.1iOS10.2
single multi single multi
1333 2226 1306 2245

 ベンチマークなんですが前回iOS10.2と比べ大きな差は見当たりません.

 前回のアップデートではマルチコアのスコアが大幅に落ちていたのですが今日見た結果では画像の通りで2200を超えていたのでやはり一時的なものだったんですね.

 

Geekbench 4

Geekbench 4

  • Primate Labs Inc.
  • ユーティリティ
  • 無料

※価格は記事執筆時のものです. 現在の価格はApp Storeから確認ください.

 

 

スポンサーリンク

 


リリースノート

 以下はリリースノートの内容となります.

 

  • iPhoneを探す
    • AirPodsの現在の所在地または最後に確認された場所を見ることが可能に
    • 片方または両方のAirPodsから音を出して探し出しやすくすることが可能に
  • Siri
    • 支払い用Appを使用して, 支払いを実行したり, 請求書を確認したりする機能
    • 配車サービスAppを利用して, 配車の予約をすることに対応
    • 自動車メーカー製のAppを使用して, 車の燃料の残量確認, ドアのロックの状況確認, ライトの点灯, クラクションを鳴らしたりすることに対応
    • インディアン・プレミアリーグと国際クリケット評議会によるクリケットのスコアおよび各種記録に対応
  • CarPlay
    • 最後に使用したAppに簡単にアクセスできるショートカットをステータスバーに追加(back to app?)
    • Apple Musicの"再生中"のスクリーンから"次はこちら"および現在再生中の曲のアルバムへ移動が可能に
    • Apple Musicの厳選されたプレイリストや新しいミュージックカテゴリが利用可能に
  • その他の改善および修正
    • iTunesで一度レンタルした映画をどのデバイスでも視聴可能に
    • Apple IDアカウントの情報, 設定, およびデバイスが一覧できる新しい設定画面
    • "マップ"で現在の気温を3D Touchすると, 時間ごとの天気を表示
    • "マップ"で"駐車中車両"の検索に対応
    • "カレンダー"に迷惑な参加依頼を削除しスパムとして報告する機能を追加
    • "ホーム"でアクセサリのスイッチやボタンでシーンを起動することに対応
    • "ホーム"でアクセサリのバッテリー残量確認に対応
    • Podcastに, 3D Touchの対応を追加し, "今日"のウィジェット表示で最近更新されたコンテンツのアクセスが可能に
    • podcastのコンテンツおよびエピソードは"メッセージ"で共有可能になり, メッセージ上で再生が可能に
    • 位置情報とプライバシーをリセットすると, "マップ"で現在地が表示されない問題を修正
    • "電話", Safari, "メール"でVoiceOverの安定性を改善

 

170328_05

 リリースノートの通り, 設定アプリの一番上に, サインインしているApple IDの情報が結構なサイズで表示されるようになりました.

 アクセスすると自身の名前や電話番号, メール, パスワード, 支払い, iCloud, 紐付けされているパソコンなどの情報を確認できます(内容次第ではApple IDのパスワードの入力が必要).

 検索ウィンドウのように起動時隠れているわけではないため邪魔に感じますね…

 画像の状態が機能時の表示なので, 例えば「一般」を開くためには少しスワイプしないといけなくなりました, 地味に手間ですね.

 

 

170328_04

 また先程の画像でもチラッと見えたと思いますが, 設定アプリから[一般]>[情報]と進んで「App」の項目をタップすると, 「App互換性」のページが新しく作成されています.

 ここに並んでいるアプリは例のごとく64bitに対応していないものとなります.

 現在はまだ起動時に警告が出る程度で済んでいますがiOS11ではこれらのアプリは完全に起動できなくなる可能性があるため, 説明の通り開発者に問い合わせるか, ダメなら他のアプリに乗り換える必要が出てきます.

 

 

170328_06

 ポップアップのデザインもスッキリなものに変更されたんですかね?

 

 

セキュリティコンテンツ

blog.thetheorier.com

 今回は数が多いため, 別記事としています.

 

 

 リリースノートにはありませんが, 更新にかかった時間を考えるとファイルシステムの変わっていると思われます.

 アップデートそのものの流れも変わってないか心配でしたが特にそんなことは無かったですね.

 

 なお, いくつか見たところ設定アプリなどのURLスキームは変わらず使えるようです.

 

 

気軽にhtmlマークアップできるアプリ「Web Window」

iOS iOS-アプリレビュー

170226_11

 マークアップの練習や, ちょっとした確認に使えそうです.

 

Web Window

Web Window

  • Miguel Lara Garcia
  • ユーティリティ
  • 無料

※価格は記事執筆時のものです. 現在の価格はApp Storeから確認ください.

 レビュー時のバージョン : v1.3

 

気軽にWebサイトを試作

170226_12

 起動するとhtml5ベースの基本構文が表示されています.

 画面上中央はいわば「ファイル名」になります.

 その右にあるアイコンで編集した内容を保存します.

 

 

170226_13

 テンプレートとなっているのでhtmlを知らなくても取り敢えずbody内に適当に書けばOK.

 プレビューするには画面右上の再生アイコンをタップします.

 

 

170226_14

 自身のサイト, トップビュー部分をざっくりコピペして調節したんですが, 何故か画像が表示されないですね…

 FontAwesomeはバッチリなのに…

 

 

170226_15

 リンクなどは飛べないようです.

 表示に特化してるんですかね.

 ここの "Open" をタップしても開くことはありません.

 面倒ですが "Share..." から Openerを起動してSafariなどで開くことはできます, 面倒ですが.

 

 

170226_16

 保存したhtmlファイルはエディタ画面左上の空ファイルアイコンをタップすることで表示されます.

 上にある "empty" と "basic" はそれぞれ固定で空の状態と先程の基本構文が入った状態で新規作成されます.

 

 

 メインで使うには特にメリットはありませんが, 気になる書き方をメモっておくのに便利そうですね.

 

 URLスキームは今のところ確認できませんでした.

 

 

URLスキームについてはこちら

[Search]iPhone URLスキーム -The theoryの戯言

iPhoneのURLスキームを検索して一覧表示できます. リクエストは内容に応じてお答えします.

 

 

URLスキームのサイトを更新しました(2017.03.26版)

iOS iOS-URLスキーム

170326_00

 まだ場所によっては雪が降ってるようですね, 来週には4月を迎えるんですが…

 

[Search]iPhone URLスキーム -The theoryの戯言

iPhoneのURLスキームを検索して一覧表示できます. リクエストは内容に応じてお答えします.

 

更新情報

 今回追加した数は以下になります.

URLスキームあり 108
URLスキームなし 57
アップデートによる新規追加 0
アップデートによる削除 0

 

 合計はこちら.

URLスキームあり 11,912
URLスキームなし 13,548
総計 25,460

 

 

追加, 削除

 無し.

 

 

 3月中と言われ, 更に20日と言われたiOS10.3も26日となり, 3月最後の週を迎えますね.

 今思ったんですが, 20日というツイートなどが散見されたのは「現地時間20日」を間違えた可能性がありますね.

 件のキーワードで検索するとかみあぷさんがトップに出るんですが, 記事内では現地時間と日本時間を書き分けてますが(表は現地時間), タイトルが「20日」なのでこれが広まったのかな…と勝手に想像しています.

 

 どちらにしろ来るなら火曜にしてほしいかな…

 


 

 公式のTwitter iOSアプリが突然17歳以上制限を設けたことでアプリが消える方が続出していますね.

 年齢制限をはずせば良いわけですが皆さんによってはアレでしょうね…

 こういう場合, サードパーティ製アプリもダメなんでしょうかね?

 

 

Pickup

カコミエール
グランブルーファンタジー スカイコンパス
阪急沿線ナビ TOKKアプリ
「ひだまりスケッチ」公式アプリ
BRAVELY DEFAULT FAIRY'S EFFECT
GUNPIR ADVENTURE

 

 上記などのアプリのURLスキームの検索はこちらからどうぞ.

[Search]iPhone URLスキーム -The theoryの戯言

iPhoneのURLスキームを検索して一覧表示できます. リクエストは内容に応じてお答えします.

 

(数学)変則素数判定

数学

161023_06

 ちょっと捻った定理を使うと, 通常?の素数判定より手間が格段に少なくなります.

 

 

普通の?素数判定

 まずは良くある素数判定からです.

 

[定理1]

 正整数 { \displaystyle m\neq 1 } が素数であることの必要十分条件は, { \displaystyle m }{ \displaystyle \sqrt{m} } 以下の素因数を持たないことである.

[定理1の証明]

 素数は定義より真の約数を持たない数です, つまり

{ \displaystyle 1\lt a \lt m }

なる任意の自然数 { \displaystyle a } は { \displaystyle m } の約数ではありません.

 

 従って仮に { \displaystyle m } が素数でない, つまり合成数だとすると上記のような整数 { \displaystyle a } と対応する整数 { \displaystyle b } について

 

{ \displaystyle m=ab }

 

です, ここで { \displaystyle a\leq b } としても一般性を失いません.

 これより,

 

{ \displaystyle m \\ =ab \\ \geq a\times a \, =a^2  }

 

から

 

{ \displaystyle a\leq \sqrt{m} }

 

となります.

 つまり仮に { \displaystyle m } が合成数ならば, { \displaystyle m } の真の約数の少なくとも一つは必ず

 

{ \displaystyle 1\lt a \leq\sqrt{m} }

 

を満たす整数 { \displaystyle a } ということになります.

 然るにこのような { \displaystyle a } が存在しなければ, { \displaystyle m } は真の約数を持たない, つまり素数ということになります.

 

 逆の場合は上の議論を逆に辿れば導かれます. { \displaystyle \square }

 

 

定理1を用いた素数判定の手間数

 これを用いた素数判定は, つまり以下の方法となりますね.

 

[素数判定1]

 正整数 { \displaystyle m\neq 1 } が素数であるかを確かめるには,

{ \displaystyle 1\lt a\leq\sqrt{m} }

を満たす任意の素数 { \displaystyle a } が { \displaystyle m } を割りきらないことである.

 

 { \displaystyle m } が小さいうちは大したことはありませんが, 大きくなるにつれ { \displaystyle \sqrt{m} } も比較的大きくなるため, これを満たす素数の数もかなり増えていきます.

 

 例えば { \displaystyle m=29 } の場合, { \displaystyle \sqrt{29}=5.38516\dots } ですから { \displaystyle 5 } 以下の素数について確認すれば十分です.

 この場合 対応する素数は { \displaystyle 2, 3, 5 } の3つですね.

 

 これが大きくなるとどうでしょう, 例えば { \displaystyle m=9957 } を考えると { \displaystyle \sqrt{9957}=99.78476\dots } ですから { \displaystyle 2 } から { \displaystyle 97 } までの { \displaystyle 25 } 個の素数について確認することになります, 面倒ですね.

 

 

 というわけで次が本題になります.

 

 

スポンサーリンク

 


変則素数判定

[定理2]

 正整数 { \displaystyle m \neq 1 } が { \displaystyle \sqrt[3]{m} } 以下の素因数を持たないならば, 次のいずれかが成り立つ.

  • { \displaystyle m } は素数
  • { \displaystyle m } は2つの素数の積

 「2つの素数」については, 同じ素数である場合を含みます.

 

[定理2の証明]

 対偶を用いて証明します.

 待遇を取ると

 

{ \displaystyle m } が3つ以上の素数の積ならば, { \displaystyle m } の素因数の中に { \displaystyle \sqrt[3]{m} } より大きいものが存在する

 

ですね.

 

 というわけで { \displaystyle m } が3つ以上の素数の積とします, つまり

 

{ \displaystyle m=pqr\dots } 

 

 です.

 もし { \displaystyle m } のすべての素因数が { \displaystyle \sqrt[3]{m} } より大きいと仮定すると,

 

{ \displaystyle m=pqr\dots \\ \geq pqr \\ \gt \bigl( \sqrt[3]{m} \bigr)^3 \\ =m }

 

となります.

 しかしこれは { \displaystyle m\gt m } で矛盾しています.

 

 従って「{ \displaystyle m } のすべての素因数が { \displaystyle \sqrt[3]{m} } より大きい」が間違っていることになります.

 よって { \displaystyle m } の素因数の少なくとも1つは { \displaystyle \sqrt[3]{m} } 以下であることが分かります. { \displaystyle \square }

 

 この定理2より, { \displaystyle \sqrt[3]{m} } 以下の素数まで調べれば, ある程度の判定が済むということになります.

 当然ですが定理の通り2つの素数の積の可能性があるため完璧ではありません.

 とはいえ { \displaystyle \sqrt{m} } 以下の素数と { \displaystyle \sqrt[3]{m} } 以下の素数では段違いですね.

 

 

検証

 実際に適当な数を使って確かめてみましょう.

 

  • { \displaystyle m=7171=71\times 101 }

 明らかに { \displaystyle 71 } で割れるのがバレバレですが分かってない体で.

 { \displaystyle \sqrt{7171}=84.68175\dots }{ \displaystyle \sqrt[3]{7171}=19.28382\dots } ですから, 前者では83以下の素数, 後者では { \displaystyle 19 } 以下の素数で確かめることになります.

 前者は23個, 後者は8個で済みます.

 

 とはいえ後者で8個の判定で分かることは「素数であるか或いは2つの素数の積」ですから, 「2つの素数の積」であるかどうかを確かめるために別の検証をしなければなりません.

 

 考えられる手法としては, 定理2より

 

{ \displaystyle \sqrt[3]{m} } 以下の素因数で割り切れるか」

 

ですね.

 

 これをいくつまでやるべきか…というのも難しい話ですが.

 

 

定理2のデメリット

 というわけでここで気になるのは省略した { \displaystyle \sqrt[3]{m}\lt a\leq \sqrt{m} } の部分です.

 その範囲に素因数が存在するかが問題になってくるわけですが, これがなかなか難しいのです.

 

 2つの数を例に挙げてみましょう.

 

 まず先程の { \displaystyle m=7171 } については(結果論ですが) { \displaystyle \sqrt{7171}=84.68175\dots } ですから{ \displaystyle 83 } から降順に確かめればある程度早めに素因数 { \displaystyle 71 } を確認することができます.

 

 しかしこれが { \displaystyle m=4747=47\times 101 } となると話は違います.

 { \displaystyle \sqrt{4747}=68.89848\dots }{ \displaystyle \sqrt[3]{4747}=16.80634\dots } なのでまず { \displaystyle 13 } 以下の素因数があるかを確認するわけですが, その後2つの素数による積かどうかを確かめるには, { \displaystyle \sqrt{4747} } より大きい素数の中で一番小さい { \displaystyle 17 } からにしろ { \displaystyle \sqrt[3]{4747} } 以下で一番大きい { \displaystyle 67 } から降順に調べるにしてもやや手数が多いことが分かります.

 

 或いは { \displaystyle m=2929=29\times 101 } となれば { \displaystyle \sqrt{2929}=54.12024\dots }{ \displaystyle \sqrt[3]{2929}=14.30781\dots } となって, これは { \displaystyle \sqrt{m} } の方から昇順に調べた方が早いのは明らかです.

 

 

 そもそもこの程度で効率よく素数判定ができれば, RSA暗号なんて存在しないんですね, 現実は中々都合よくいかないものです.

 

 せめて { \displaystyle \sqrt[3]{m} } から昇順に調べるのか, { \displaystyle \sqrt{m} } から降順に調べるのが早いのか…が分かれば多少でも効率を挙げられるんですけどね.

 

 

今日やることに特化したタスクアプリ「MOCHI」

iOS iOS-アプリレビュー

170225_20

 今日やるべきタスクに絞って管理するアプリです.

 

MOCHI Task Management

MOCHI Task Management

  • Juergen Pona
  • 仕事効率化
  • 無料

※価格は記事執筆時のものです. 現在の価格はApp Storeから確認ください.

 レビュー時のバージョン : v1.0

 

今日やるタスクに特化

170225_21

 アプリを起動するとサインインを求められますが, 画面下にある "Skip" をタップしてサインインせずに使うことが可能です.

 また位置情報の許可を求められますが特に使うことは無さそうなので「許可しない」でも構いません(使う用があればその時設定アプリから許可すれば良い話ですし).

 

 

170225_22

 位置情報を許可しておくと, 日付表示の横に天気と気温の情報が表示されるようになります.

 画面右下の+アイコンをタップすればタスクを追加できます.

 タスクのタイトル(30文字まで)と詳細(140文字まで)の2項目のみです.

 

 

170225_23

 追加したタスクはタップすればチェックマークが付きます.

 チェックしてもその場から非表示にはならない仕様です.

 タスクはここからは編集も削除できず, 日付が変わると自動的に削除されるようになっています.

 

 

170225_24

 画面下中央のアイコンをタップすると, 当日チェックできたタスクと前日のタスクが一覧となって表示されます.

 編集はできますがホーム画面に戻ることはできません.

 

 

 ちょっと動作が重い気がしますがコンセプトが気に入ったので紹介してみました.

 

 URLスキームは今のところ確認できませんでした.

 

 

URLスキームについてはこちら

[Search]iPhone URLスキーム -The theoryの戯言

iPhoneのURLスキームを検索して一覧表示できます. リクエストは内容に応じてお答えします.

 

 

指定した時間までWebサイトにアクセスできなくできる「Liberate」

iOS iOS-アプリレビュー

170323_00

 これまで, Safariのコンテンツブロッカーは広告削除ばかりでした(広告以外にあったのかな…?).

 このアプリは, 広告でなく「指定したドメインのサイトへのアクセスをブロック」します.

 

 勉強に集中したいとき, 「してほしい」と思ってる保護者の方にぴったりですね.

 

Liberate - Reduce Distractions

Liberate - Reduce Distractions

  • Jordan Carney
  • 仕事効率化
  • ¥240

※価格は記事執筆時のものです. 現在の価格はApp Storeから確認ください.

 レビュー時のバージョン : v1.0

 

指定したドメインサイトへのアクセスをブロック

170323_01

 設定アプリの「コンテンツブロッカー」をオンにしなければ, アプリは使用できません.

 設定アプリから「Safari」>「コンテンツブロッカー」と進み, Liberateをオンにしましょう.

 

 

170323_02

 再びアプリに戻ります.

 画面右上にある+アイコンをタップし, 画面下に出てきたボックスにサイトドメインを入力します.

 http://といったスキームの箇所は入力してもしなくても大丈夫です.

 

 

実行

170323_03

 好きなだけドメインを追加したら, 画面下の "Start Blocking" をタップします.

 ウインドウが開くのでいつまでアクセスをブロックするかを決め, "Go!" をタップして開始します.

 

 

170323_04

 「指定した時間までアクセスできなくなりますが大丈夫ですか?」なメッセージが出て来るので "Yes" をタップします.

 終了したら通知がやってくる旨のメッセージも出てくるので "Okay" をタップします.

 二回目以降はこの辺の手間は少なくなります.

 

 

170323_05

 これで対象のドメインページは, 指定した時刻までSafariではアクセスできなくなりました.

 一度開始すると, 終了時刻まではこのアプリを削除でもしない限り, 中断することはできません.

 アプリでは終了時刻と全体の進捗が確認できます.

 またブロック中にドメインを追加することができます.

 

 

170323_06

 ブロック中に指定のドメインページを閲覧しようとすると, 画像右の通りで閲覧できません.

 

 

170323_07

 終了時刻になると, このような通知がやってきます.

 

 

 正直なところ, WebサイトにアクセスするだけならSafariに限らず他のブラウザが存在するのでSafariだけ対策しても根本的な対策にはならないのが現実ではあります.

 

 機能制限などとも組み合わせてなんとかするしかないかもしれませんね.

 

 うっかり時間を間違えるとシャレにならないことになるので時刻設定は慎重に.

 

 URLスキームは今のところ確認できませんでした.

 

 

URLスキームについてはこちら

[Search]iPhone URLスキーム -The theoryの戯言

iPhoneのURLスキームを検索して一覧表示できます. リクエストは内容に応じてお答えします.

 

 

Youtubeチャンネルの情報をリアルタイムにチェック「Live Counts」

iOS iOS-アプリレビュー

170225_00

 Youtubeチャンネルの情報をリアルタイムにチェックできます.

 

Live Counts - Realtime Subscriber Counter

Live Counts - Realtime Subscriber Counter

  • Kushview
  • ユーティリティ
  • 無料

※価格は記事執筆時のものです. 現在の価格はApp Storeから確認ください.

 レビュー時のバージョン : v1.0.0

 

Youtubeチャンネルをチェック

170225_01

 起動すると, 最初のうちはミミズを巨大化させるゲーム「Slither.io」の動画を配信しているチャンネルが表示されています.

 

 画面右上の虫眼鏡アイコンをタップすれば, 好きなチャンネルを検索できます.

 

 

170225_02

 チャンネルを表示した状態で "Open With Youtube" をタップするとそのYoutubeチャンネルにアクセスできます.

 また右上の星アイコンをタップして黄色の状態にすればお気に入りに登録されます.

 お気に入りに登録したチャンネルは画面左上の三本線アイコンをタップして "Favorits" をタップすれば一覧表示され, いつでもチェックできます.

 

 

170225_04

 "Settings" をタップすると設定画面となります.

 現在は "Automatic Reflesh" 一つとなっています, これがオンだと5秒おきに更新が行われます.

 チャンネル表示画面で下にスワイプすれば手動更新できますが, その際全画面広告が表示されます(ver1.1.0より広告削除のアプリ内購入が追加されています).

 

 

 自分の, 或いは気になるYoutuberのチャンネルを直ぐに確認できますね.

 

 URLスキームは今のところ確認できませんでした.

 

 

URLスキームについてはこちら

[Search]iPhone URLスキーム -The theoryの戯言

iPhoneのURLスキームを検索して一覧表示できます. リクエストは内容に応じてお答えします.