LINEの仕組み from did2memo.net

LINEの仕組みや使い方などについて詳しく解説します

変な「はてなマーク�」でLINEやタイムラインが固まって動かなくなる不具合が発生中

LINE (1627) LINE-Android (216) LINE-iPhone (447) LINE-ユニコード (3)

現在「謎のはてなマーク(�)だらけの投稿」がLINEのタイムラインにて回され、それを見た人が「本当に重くなった」「LINEが止まった・固まった・動かない」と報告している人が増えています。「今度こそタイムラインがハッキングされた」「ウイルスじゃないのか」と言っている人もいます。今回はこの「変な投稿」について紹介します。

今回の件は、まるで「LINEの不具合」と「タイムライン機能の噂の拡散力」を上手く組み合わせてLINEに大規模障害を起こそうとしているかのようです(後述の理由から、本文が無駄に長くなっていますが、とりあえず冒頭の「噂の例」と終盤の「どんでん返し:...」の章だけ読めば雰囲気が分かってちょうど良いのではないかと思います。問題に遭遇している人は対策も読んでください。)。

ちなみに、最後にどんでん返しがあるので、中途半端なところで読むのをやめないでください(勘違いする恐れ)。

naver-line-question-marks

噂の例

噂の投稿は次のようなものです(はてなマーク(�)の表示形式は基本的に「四角にはてなマーク(iPhone、ハテナブロックと呼ばれていたり)」や「黒い菱形に白のはてなマーク(Android)」など、表示のされ方が様々です)。はてなマークが60個並んでいます。

���������������
���������������
���������������
���������������
これ見た瞬間LINEおかしくなった
まえもおかしくなったんだよね(´・_・`)
怖いから一応回しました(*_*)

このタイムラインを5分以内に回さないと
今週最悪な一週間になります

好きな人は、親友と付き合い始め、
彼氏or彼女がいる人は明後日までに振られます。

一番中の良い友だちとは大喧嘩になり
一人になるでしょう。

でもタイムラインに貼れば
一度だけいいことがあります。
それゎ
その時のお楽しみです。

なので、5分以内に回しましょう!

いろいろと亜種はあるものの、冒頭に謎のはてなマークがたくさん表示されていることが特徴です(ちなみに、後述の理由から、【この】はてなマークですら、タイムラインには投稿しないようにしてください)。

これによって、LINEのタイムラインが固まる現象が確認されています。

この投稿が回ってきても、それ以上回さないようにしてください。これを見た人のLINEが固まってしまう恐れがあります。また、既に回してしまった人は削除してください。そして、回している人を見つけたら、削除するようにおしえてあげてください。

↓LINEユーザ向けにシェア用Tweetを設置しておきます。リツイートボタンで共有できます。↓

解説

さて、これについて解説したいと思います。

前提知識:文字コードについて

コンピュータの中のデータは「0」と「1」が並んだもので管理されていることは多くの人が耳にしたことがあると思います。もちろん「文字」も、データとしては「0」と「1」で書かれています。

実は、「0と1がどんな順番で並んでいるものを、どの文字として表示するのか」という対応表は、1つではなく、その対応表によって、同じ「0」と「1」の並びが、別の文字として表示されます。この対応表は「文字コード」と呼ばれ、「Shift_JIS」や「UTF-8」なんかが有名です。

たとえば、とある文章を「Shift_JIS」の対応表を使って0と1の並びにしたとします。これを読む人が間違えて「UTF-8」の対応表を使ってしまうと、当然おかしなことになってしまいます。これがあの有名な「文字化け」という現象の原因です。

はてなマーク(�)の正体

さて、ではもし「対応表に載っていない0と1の並び」が現れたら、どうすればよいのでしょうか。この対応方法はソフトによって様々で、対応表にない文字を見つけてバグってしまうこともあれば、対応表に無いから表示しないというものもあります。実はこのように「対応表を見ていて困ってしまったらどうすればいいか」ということが「UTF-8」という対応表には書いてあります。UTF-8(ユニコード)では、困ったら「REPLACEMENT CHARACTER」をとりあえず書いておけということになっています。この「REPLACEMENT CHARACTER」こそが例の「はてなマーク(�)」です(U+FFFD、0xEFBFBD)。

はてなマークがたくさん表示されたことの意味

したがって、たくさん表示されたはてなマークは、それを文字として表示(変換)しようとしたソフト(アプリ)が 、「おいこれ全然読めないぞ?」となったことを意味しています。

そして、表示されているそのはてなマークは、「読めなかったものを、はてなマークに置き換えてしまって表示している」ことを意味しています。

噂のはてなマークの正体について考えてみる

ですから、PCやアプリの画面にこのクエッションマーク(�)が表示されているとき、状況と しては2通りが考えられます。

  • 1.直接はてなマーク(�)を書いた場合
  • 2.0と1の並び(バイト列と呼ぶ)は全く違う謎のものだが、表示だけはてなマーク(�)にしている場合

たとえばこのブログに書かれているはてなマークは「1.」です。

LINEに何が起こったのか

では、このはてなマークによって、何が起こっているのかを考えてみます。ここで重要なのは、タイムラインの投稿をどんどん拡散する(回す)ためには、コピーするしか無いということです。Twitterのリツイートのような機能はありません。

そこで、とある実験をしてみました。

あるアカウントAから、正常に表示できない(はてなマークになってしまう)「UTF-8の文字(自体を表示できないだけで、ちゃんと表にあるもの)」を送信し、受信したアカウントBでそのはてなマークをコピーしてからペーストして返信してみることにしました。そして、アカウントAがもともと送信したバイト列(0と1の並び)と、コピーペーストを通過して返信されてきたバイト列を比べてみることにしました。すると、ちゃんとバイト列は維持されていました

つまり、うまく表示できなかったからといって、ちゃんとコピーしたときにはそのバイト列が維持されるような仕組みになっている、ということです。したがって、(ちゃんとした確認にはなっていませんが、)任意のバイト列をタイムライン機能とコピーペースト機能で拡散することができる仕組みのようです。

LINEがおかしくなる原因の推測

ここから、今回の騒動を、

LINEアプリに特定のバイト列を含むタイムライン投稿を表示しようとする際にLINEアプリが重くなったり停止してしまうバグがあり、それを見つけた人が上手いことそれを広めて、みんなにバグを踏ませている

と捉えることができそうです(実験の結果は、「はてなマーク文字」と書くべきか「特定のバイト列」と書くべきかの判断材料になっている)

このようなLINEのバグと噂の拡散力を利用して不具合に遭遇する人を増やす行為は、「バグるID」騒動に似ています

対応策

以上から、このはてなマークを含んだ投稿を広めることは、被害者を増やすだけということです。5分以内に回したから大丈夫になる、などということはありません。回さないようにしてください。

バイト列原本を手に入れたわけではないので症状の詳細は不明で実験もできない(したくない)のですが、もしLINEが停止してしまうようなものの場合、タイムライン機能を開かないことや、はてなマークを投稿する人をブロックする・タイムラインを非表示にするなどの対応を取るべきかもしれません。

このバグが修正されたアップデートが公開されるまで、様子を見た方が良いかもしれません。

これを広める行為は自覚の無い規約違反

さらにこの拡散を抑制する意味で、LINE利用規約に触れておきたいと思います。

このようなLINEのバグを引き起こすことを目的としてタイムラインを広める行為は、利用規約の12.12に違反すると考えられます。

12.12. 本サービスのサーバやネットワークシステムに支障を与える行為、BOT、チートツール、その他の技術的手段を利用してサービスを不正に操作する行為、本サービスの不具合を意図的に利用する行為、同様の質問を必要以上に繰り返す等、当社に対し不当な問い合わせまたは要求をする行為、その他当社による本サービスの運営または他のお客様による本サービスの利用を妨害し、これらに支障を与える行為

利用規約違反と認定された場合、最悪、というかあっさりアカウント削除される可能性があります。アカウントを削除されたくなければ、この噂の拡散には協力せず、LINE運営へ通報するのがよいと思います。

どんでん返し:試しにはてなマーク(�、U+FFFD、0xEFBFBD)60個を送信してみたら

ここからがどんでん返しです。

さて、犯人がどうやってそんなバイト列を見つけたのだろう、と想像を膨らませつつ冷静に、そして単純に単なる「はてなマーク(�、replacement character、U+FFFD、0xEFBFBD)」60個(噂の数と同数)を友だちが一人しか居ない隔離されたアカウントに向けてトークを送信してみました

すると、iOS版において、動作が極端に遅くなり、タップしてもなかなか反応しなくなる現象を観測しました。トーク画面で問題が無くとも、トーク一覧画面で最新の投稿として大量のはてなマークが表示されていると、動作が異常に重たくなります。そして、タイムラインに投稿した場合も、画面の移動がろくにできなくなってしまいました。とても動作が遅く、ほぼ停止したような状態です。タップしてからしばらくしないと画面が切り替わりません。そして、投稿を削除すると、動作は軽快に戻りました。

つまり、実は単なるはてなマークを60個含めるだけで、LINEアプリが遅くなるバグ/不具合だったようなのです(バグを引き起こすバイト列の作り方など考える必要も無かったわけなのですが、こんな試行順序になったのも、「まさかただのはてなマーク(replacement character)60個でバグるわけ無いだろう」と思っていたからです。しかし、順番は良くなかったものの、このバグを最終的に見逃さずに済んで良かったです)

というわけで、突然実際に不具合に遭遇した場合の実験ができてしまいました。

もし、大量のはてなマークを含む文章をタイムラインに投稿してしまった場合には、投稿の削除をおすすめします(被害を減らせます、そして動作は重いもののちゃんとできました)。タイムラインの削除は、自分のホームで投稿をタップして投稿個別の画面を表示して、右上の「…」ボタン→「投稿を削除」の順で削除できます。動作が遅いので、タップしてからしばらく待ってください。

また、トークに投稿された場合で、さらにトークが流れても引き続き重い場合は、トーク履歴の削除を試してみてください。

ひとこと

結果として、無駄にreplacement characterについて知ることになってしまいました。

以前からユニコードを使ったイタズラは他のサービスでも

少し調べてみると、複数のサービスにて、ユニコードの「特定の文字列」を投稿することで、迷惑をかける行為が「バグ技」「裏技」「ユニコード」「ユニコ」と言われて利用されていたようです。

例えばアメーバピグや、メイプルストーリー、スカイプなども以前その攻撃対象になっていたようです。

現在アメーバピグでは、投稿できるユニコード文字を制限することによって、バグ発生を抑制しているようです

おまけ

Windows版からスマートフォン版に送信するときに、Windows側はShift_JIS、スマートフォン側はUTF-8で表示しているようで、Shift_JISでデコードできる文字は送信時にUTF-8に変換され、Shift_JISでデコードできずに「・」のように表示されてしまう文字は、そのままのバイト列で送信されているようでした。

メモ

ネットワークに問題があるとタイムラインへの投稿時に「ネットワークエラー(-1009)」と表示される(iOS版)。

参考資料

注意を促す情報(デマ)も拡散中

次のような注意を促す情報も拡散されています。

タイムラインで拡散されているハテナの四角のような記号、あれはウイルスに似たものです。

携帯が固まったり強制終了、バグの原因です。

iPhoneはウイルス対策はAppleStoreのアプリだけにしかかかっておらず、テキストとして読み込めばデータ破損や快適に使用することができなくなります。

何者かが実用段階の実験として拡散した恐れがあります。

いたずら心で回したりすると個人情報の拡散にもつながる恐れがあります。

対策の例としてペーストのフォルダに入っている皆様はすぐに別のテキストをコピーしていただくかテキストを消去することをお勧めします。

拡散した皆様はすぐにその記事を消去してください。

この文章を拡散し皆様に実体をお知らせください。よろしくお願いいたします。

しかし、これも「個人情報」「実用段階の実験」など、根拠に乏しい何を言っているか分からない情報も含まれており、デマであるといえます。注意することに越したことはありませんが、むやみに恐怖を煽る文章を回すのもやめましょう。

現在対応中

LINE側では、現在この不具合の修正に向けて対応中だそうです。

後半部分の「これまで通り「○分以内にまわして・・・」という内容は偽の情報ですのでご安心下さい。」は余計ですね。

不具合の悪用による「攻撃」について(2014.1.5 追記)

今回紹介したような、「問題が発生する文字列(はてなマークじゃないものも存在)」を送信したり、そのような文字列を自分の名前に設定して、友だちになろうとする「攻撃」が行われています。このような「攻撃」の現状について、次の記事で解説しているので、読んでみてください。

「LINEウイルス」の正体とは―LINE内で流行する「ウイルス攻撃」の現状について

また、組織的な攻撃、攻撃を目的としている集団・派閥については「LINEグループの荒らし行為・壊滅行為の仕組みと対策」の後半部分で紹介しています(集団ってなんだよ?と思った人は、ぜひリンク先を読んでみてください)。

コメント(12)

  1. れき
    2013年8月15日(木) 09:57

    最近ではグループに招待されるとLINEが起動できなくなるということもあります。
    また、今まではiPhoneのみでしたが、Androidに効くものもあります。

  2. did2
    2013年8月16日(金) 01:24

    >れきさん
    「変なグループに誘われて入ってみたらLINEが使えなくなった」という話は最近よく聞きますね。

  3. れき
    2013年8月16日(金) 08:09

    僕が知っているのは、グループ名が表示すると処理落ちするグループです。招待することによって、「招待されているグループ」つまり、一番上にくるわけです。
    このバグの厄介なところは、たとえブロックされていても招待は可能とういことです。

  4. れき
    2013年8月16日(金) 08:14

    追記
    忘れていました。
    一応防ぐ方法はあります。
    常に1つ招待を残しておき、「招待されているグループ」の項目を閉じておけば起動不可に陥ることはなくなります。

  5. did2
    2013年8月28日(水) 18:05

    >れきさん
    情報提供ありがとうございます。グループの招待で攻撃されている人の参考になると思います。特定の攻撃にあらかじめ備えておく、というのはなんだか緊張感のある状況ですね。。。

    それにしても、LINEのブロック機能は迷惑行為対策として今ひとつ効果が薄いですよね。やはり、知らない人とのやりとりに使わないことを第一の対策として紹介しておきたいところです。

  6. どろ
    2013年9月4日(水) 20:05

    最近、LINEで他人に迷惑をかけるグループなどがたくさんあるみたいです。その内容がここに書いてある事と一致する部分があったのでコメントしてみました。
    多分れきさんの言っていたグループはそのグループの事だと思います。

  7. ピチカート
    2013年9月24日(火) 14:09

    今はもうその程度のレベルじゃないです
    ラインが全く開けなくなる程度のものがバンバン出回っています….

  8. フラン
    2013年10月19日(土) 16:19

    今は名前やひとことにunicodeを入れたりしてる人もいますよ。だからそういうのを防ぐ機能がないと無理ですよ

  9. by dr dre
    2013年10月28日(月) 04:25

    off areas, putting into action various by dr dre varieties of things. Typically, consumers set aside which usually 変な「はてなマーク�」でLINEやタイムラインが固まって動かなくなる不具合が発生中 | 情報科学屋さんを目指す人のメモ the sort of brimming with created subject incorporates to get a competent, cleaver plumber early on constructing the actual ingredient.

  10. しん
    2013年12月4日(水) 09:52

    lineは使ってないけど、Webの文字をコピーしてMemoとかに貼り付けた後、保存して、再度そのMemoを見たら必ず「?」が打たれてる。機械的だけど類似だと思ったのでコメントしておきます。

  11. こん
    2014年11月3日(月) 21:57

    質問させて頂きたいのですが、
    LINEは何の文字コードを使っているのでしょうか?

    といいますのは、LINEのトークをSDカードにバックアップしたのですが、復元できない状態です。
    トーク履歴は、ファイルとして保存されているのですが、意味不明な文字列が並んでいるだけで全く読めません。
    このトーク履歴のファイルを読み込む方法がございましたら、お教え頂ければ幸いです。

    よろしくお願いします。

  12. しゃろ
    2015年7月22日(水) 22:05

    これも有名ですよね

    ௌௌௌௌௌௌௌௌ☠ௌௌ☠ௌௌௌ

    最初の一行のみのせました

新しいコメントを投稿