# elevator

## 問題文

これらの写真はあるホテルの客室内と、その窓からの景色を撮影したものである（撮影日は2024年）。  
このホテルに設置されたエレベーターには、2件の故障記録が存在しているものが1基ある。
故障日と、故障記録があるエレベーターの登録番号を答えよ。  
Flag形式: `Diver25{YYYYMMDD_YYYYMMDD_1234567}`

例えば、登録番号 "1234567" のエレベーターが2000年11月20日と2020年2月13日に故障していた場合、Flagは `Diver25{20001120_20200213_1234567}` となる。

These photos show the interior of one hotel room and the view from its windows (Taken in 2024).  
There is one elevator installed in this hotel for which two failure records exist.  
Answer dates of failure and the registration number of the elevator that has a fault history.  
Flag Format: `Diver25{YYYYMMDD_YYYYMMDD_1234567}`

For example, if an elevator with registration number "1234567" failed on 20 November 2000 and 13 February 2020, the Flag would be `Diver25{20001120_20200213_1234567}`.

**注意 / CAUTION**:  
ホテルや企業に接触しないでください。公開情報からFlagを入手できます。  
DO **NOT** CONTACT HOTELS AND COMPANIES. YOU CAN GET THE FLAG FROM OPEN SOURCE.



[配布ファイル](./public)

## ヒント

1. 故障が報告された日ではなく、故障が発生した日を解答してください。 / Answer the date the fault occurred, not the date the fault was reported.
2. 事故に関する画像や映像を閲覧する必要はありません。 / No need to see the image or video of accidents.

## 難易度

hard / 499 point (12 solves)

## 解法

### 撮影地の特定

`elevator02.jpg` に写っている内容から、撮影地は[東横イン（Toyoko Inn）](https://www.toyoko-inn.com/)というホテルであることが分かります。  
また、`elevator01.jpg` から、銀色のビルが解体されている様子がホテルの窓から見えるはずだと考えられます。

解体の様子はストリートビューに映らない可能性もあるので、まずは「近隣に銀色のビルがある東横イン」を探しましょう。

東横インの一覧は Web サイトに掲載されているので、住所を Google Maps に入力して 1 軒ずつ確認することもできます。

https://www.toyoko-inn.com/hotel_list

しかし、これは極めて非効率なので、ある程度自動化を行いましょう。  
[overpass turbo](https://overpass-turbo.eu/)で、以下のクエリを入れ、ホテルの座標一覧を取得します。

```
[out:json][timeout:60];
(
  node["name"~"東横イン|Toyoko Inn", i];
  way["name"~"東横イン|Toyoko Inn", i];
  relation["name"~"東横イン|Toyoko Inn", i];
);
out body;
>;
out skel qt;
```

OSM のデータは世界中のコントリビュータによって作成されているため、表記揺れが存在する可能性も高いといえます。そのため、絞り込みには日本語・英語の両方を入れています。

この結果を基に、KML 形式のデータを出力します。Google Maps の「マイマップ」あるいは Google Earth などに読み込むことで、出力した東横インの一覧が地図上にピンとして表示されます。  
依然として衛星画像を見て人力で確認する作業は必要となりますが、手動で座標を入力していくよりは効率的になります。

地道に確認していくと、東横イン **釜山西面（ソミョン）店**（Toyoko Inn Busan Seomyeon）の前に、銀色の外壁があるデパート「 **NC デパート ソミョン店** 」（NC백화점 서면점）が存在していることが分かります。また、韓国語で店名を検索すると、この店舗は 2024 年 5 月に閉鎖され、解体と再開発計画が進行していることもわかります（[参考記事](https://www.kookje.co.kr/news2011/asp/newsbody.asp?code=0200&key=20231201.22002009861)）。

### エレベーター情報

撮影地が韓国であると確定したため、韓国のエレベーターに関する情報を調査します。

韓国語で `토요코인　엘리베이터`（東横イン　エレベーター）と Google 検索すると、各地のエレベーターを撮影した動画がいくつかヒットします。以下はその例です。

https://www.youtube.com/watch?v=lOM3kiXFT6E

このような動画の説明欄には **elevator.go.kr** というサイトがリンクされていることがあります。また、動画に映り込んだエレベータの番号横にある QR コードから同ドメインのサイトにアクセスできます。いずれにせよ、韓国のエレベーターについて調べてみると、[国家昇降機情報センター（국가승강기정보센터）](https://www.elevator.go.kr/)という Web サイトを得られるはずです。

そこで、国家昇降機情報センターのサイトから検索を行います。トップページの検索欄に `토요코인` （東横イン）と入力すると、 **토요코인호텔부산서면점** （東横 INN ホテル釜山西面店、Toyoko Inn Busan Seomyeon Branch）にある 3 基のエレベーター（`8053-118` `8019-148` `8019-149`）がヒットします。

それぞれのページを見てみると、**8019-148** だけが 2 件の故障記録（2023.08.10 および 2024.11.24）を持っており、条件に当てはまります。

これより、Flag は以下の通りとなります。

**Diver25{20230810_20241124_8019-148}** （**Diver25{20230810_20241124_8019148}**）

## 出題意図

全体としては、問題を「撮影地の特定」「場所に基づくデータの探索」という2段階に分解してほしいと考えています。

前半の撮影場所の特定については、「チェーン店の活用とその注意点」に焦点を当てています。チェーン店は見つけやすい外見的な特徴があったり、店舗一覧が公開されていたり、ジオロケーションにおいて非常に有用な存在です。しかし、ある程度の総当たりをするにしても、膨大な店舗一覧をどのように処理するか工夫する必要があります。その1つが上に示したような、OSMに代表される地理空間情報データセットの活用です。

また、チェーン店は本拠地とするエリアが存在することも多く、その印象に頼るだけでは正解に辿り着けないこともあります。実際、今回の「東横イン」は日本発祥のビジネスホテルチェーンであり、まずは「撮影地は日本にあるはずだ」と考えた人が多いのではないでしょうか。時にはそのような思い込みを捨てることも必要となります（たとえば、コンビニエンスストアのセブンイレブンは様々な国に展開しており、単にロゴを見ただけでは撮影地が分からないかもしれません。もちろん店舗の外観や商品などで分かることはあるでしょう）。

後半のエレベーターの情報については、各国の行政が公開しているオープンデータを参照することをねらいとしています。DIVER OSINT CTF 2024の[public_service](https://github.com/diver-osint-ctf/writeups/blob/main/2024/geo/public_service/README.md)もそうですが、国や自治体によって公開されているデータやその種類には大きな差があります。自分の住んでいる場所では考えられないようなデータが検索可能になっていることも多々あるため、「こんなデータはないだろう」と思いこまないほうがよいでしょう。また、翻訳ツールを使い、多言語を活用して探索してほしいという意図もあります。

ただし、後半から韓国であると国を絞り込むことも可能でしょう。想定した流れは上記の通りですが、競技としてはこちらの流れを踏んでもかまいません。
