1 :2019/10/27(日) 11:29:29.41 ID:d+Ag9L3p9.net
海外の旅行予約サイトであるOneTravelでは、表示されているこの人数がページへのリアルタイムな同時接続数ではなく、実は単なるランダムの数字だったことをセキュリティ研究者のOphir Harpaz氏が発見しました。
Harpaz氏がOneTravelで飛行機の搭乗券を予約しようとした時、予約購入を急がせるためか、「38人がこの搭乗券をチェックしています」と表示されたとのこと。
「38人もチェックしているの?!」とHarpaz氏は焦ってしまったものの、38人もの人がこの搭乗券をチェックしていることに逆に疑問を抱いたそうです。
[1/4] Ok this is really funny, check this out.
I was in the process of booking a flight via @OneTravel. Trying to make me book ASAP, they claimed: "38 people are looking at this flight".
Whoa, 38 is a lot, I have to hurry up. But first I have to check how they came up with 38 >> pic.twitter.com/UaGhaiCQrR— Ophir Harpaz (@OphirHarpaz) October 16, 2019
そこで、この人数はどうやって取得されているのかをHarpaz氏が確認したところ、「38」に当たる要素のクラス名が「view_notification_random」になっていることが判明。
[2/4] Right click and a quick "inspect" on the number, I found out the element’s class name is "view_notification_random".
Awesome variable naming guys.
So you’re _randomly_ trying to freak me out. Alright >> pic.twitter.com/xnL3hsZLP5— Ophir Harpaz (@OphirHarpaz) October 16, 2019
さらにHarpaz氏がChromeのデベロッパーツールを使ってソースコードをチェックすると、JavaScriptで以下のような部分を発見。
完全に28から44までの数字がランダムに生成され、それが表示されているだけだったことが判明しました。
つまり、One Travelの「○○人がこの搭乗券をチェックしています」という部分は全くのウソであり、ユーザーにフライトの予約を急がせるためのものだったというわけです。
[3/4] So what’s your sophisticated pseudo-random algorithm?
Apparently, OneTravel are choosing a number between 28 and 45.
Because as you all know, based on serious psychological research, these numbers tend to make people book their flights fast #sarcasm #not42 >> pic.twitter.com/r2IrYhxr28— Ophir Harpaz (@OphirHarpaz) October 16, 2019
Harpaz氏のツイートに対して、やはりこのやり方は違法なのではないか?という声が多く挙がっています。
「アメリカではどうなるのか分かりませんが、EUではOneTravelは消費者へ詐欺を働いたとして罰則を科せられます」
I do not know the laws in the US, but within the EU this company would get a penalty for consumer deception.— Christopher Dosin (@christopherdosi) October 18, 2019
「おそらく開発者もこのやり方に同意しかねているから、わざとソースコードを隠していないのだろう」と、サイト開発者に同情する声もありました。
Maybe the developers don’t agree with the practice so they are not putting effort in hiding it ????— David da Silva @ LDN???????? (@dasilvacontin) October 18, 2019
一方で、「Math.random()は暗号に使用可能な安全性がありません。私ならCrypto.getRandomValues()を使います」と、乱数生成のコードにダメ出しをする人もいました。
Math.random() isn’t cryptographically safe. I’d rather use Crypto.getRandomValues() ????— cl1pp0 (@cl1pp0) October 19, 2019
https://news.livedoor.com/article/detail/17264681/
(deleted an unsolicited ad)