Android端末の脆弱性対応状況
グーグルは2008年に最初のバージョンを公開して以降、次々と機能強化と脆弱性の修正をはかってきた。最新OSは昨年10月公開の6・0。だが、3社の機種の77%は4・4以前の古いOSのままだ。
引用元の記事にもあるとおり、Android端末はiPhoneのiOSように開発・製造・販売が一貫しておらず、各端末に独自機能が追加されることが多いため最新バージョンにアップデートできる端末が少ない。
修理対応期間中の機種でバージョンごとの機種数は以下の表のようになっている。ピンクの部分はWebViewの脆弱性に未対応のバージョン。(4.4以前)
時期 | バージョン | ドコモ | KDDI | ソフトバンク |
---|---|---|---|---|
09年9月 | 1.6 | 0 | 1 | 0 |
09年10月 | 2.0 | 1 | 0 | 0 |
10年5月 | 2.2 | 0 | 3 | 5 |
10年12月 | 2.3 | 12 | 17 | 28 |
11年2月 | 3.0 | 0 | 0 | 0 |
11年10月 | 4.0 | 29 | 16 | 8 |
12年6月 | 4.1 | 49 | 19 | 18 |
13年10月 | 4.4 | 13 | 15 | 14 |
14年10月 | 5.0 | 30 | 25 | 12 |
15年10月 | 6.0 | 4 | 0 | 4 |
4.4以前だと使用できるCSSやJSも少ない
4.4以前だと使用できるCSSやJavaScriptなども4.4よりもかなり少なくなる。これはWebサイトの制作者側にとっては作業コストの増加や表現できる内容の制限につながり、利用者にとってはWebサイトが正しく表示されないデメリットにつながる。
Android 4.2-4.3とAndroid 4.4を比べて使用できるCSSプロパティやJavaScript APIなどにどれだけの差があるかを表にまとめてみた。
Android 4.2-4.3 | Android 4.4 | |
---|---|---|
::selection CSS pseudo-element | No | Yes |
CSS image-set | No | Yes-webkit- |
CSS Cross-Fade Function | No | Yes-webkit- |
CSS widows & orphans | No | Yes |
CSS font-feature-settings | No | Yes-webkit- |
CSS Feature Queries | No | Yes |
Viewport units: vw, vh, vmin, vmax | No | Yes |
Intrinsic & Extrinsic Sizing | No | Yes-webkit- |
CSS background-position edge offsets | No | Yes |
CSS3 font-kerning | No | Yes-webkit- |
CSS Filter Effects | No | Yes-webkit- |
Canvas blend modes | No | Yes |
Shadow DOM | No | Yes-webkit- |
Resource Hints: prefetch | No | Yes |
KeyboardEvent.getModifierState() | No | Yes |
HTML templates | No | Yes |
disabled attribute of the fieldset element | No | Yes |
Mutation Observer | No | Yes |
CSS.supports() API | No | Yes |
Date and time input types | No | Yes |
Color input type | No | Yes |
Download attribute | No | Yes |
srcdoc attribute for iframes | No | Yes |
meter element | No | Yes |
progress element | No | Yes |
Reversed attribute of ordered lists | No | Yes |
Internationalization API | No | Yes |
Web Workers | No | Yes |
IndexedDB | No | Yes |
Server-sent events | No | Yes |
Web Sockets | No | Yes |
requestAnimationFrame | No | Yes |
Page Visibility | No | Yes-webkit- |
Channel messaging | No | Yes |
Vibration API | No | Yes |
High Resolution Time API | No | Yes |
User Timing API | No | Yes |
Resource Timing | No | Yes |
crypto.getRandomValues() | No | Yes |
WOFF - Web Open Font Format | No | Yes |
Content Security Policy 1.0 | No | Yes |
Strict Transport Security | No | Yes |
WebVTT - Web Video Text Tracks | No | Yes |
SVG filters | No | Yes |
CSS background-attachment | Partial | No |
Network Information API | Partial | No |
accept attribute for file input | Partial | No |
calc() as CSS unit value | No | Partial |
CSS3 tab-size | No | Partial |
text-emphasis styling | No | Partial-webkit- |
CSS clip-path property | No | Partial-webkit- |
CSS box-decoration-break | No | Partial-webkit- |
HTML5 form features | No | Partial |
Web Notifications | No | Partial-webkit- |
Clipboard API | No | Partial |
WAI-ARIA Accessibility features | No | Partial |
SVG effects for HTML | No | Partial |
おわかりいただけただろうか?
このようにAndroid 4.2-4.3とAndroid 4.4だけを比べてみても使用できるCSSプロパティやJavaScript APIなどにこれだけの差があるのだ。