乙Py先生のプログラミング教室
初学者のためのプログラミング学習サイト

セキュリティー

今回はTBSのドラマ
トリリオンゲームに出てきた
監視カメラのハッキングシーンの
技術解説です

解説動画はこちら




はじめに

ドラマ中の技術解説や啓蒙活動を目的とおり
この内容を不正に利用して犯罪行為を行った場合
不正アクセス禁止法などの法律に抵触する恐れがあります

不正な目的でコマンドやプログラム等を
利用しないようお願いいたします


トリリオンゲームについて

2023年7月14日より放送の
TBS金曜ドラマ『トリリオンゲーム』
主演:目黒蓮(ハル)、佐野勇斗(ガク)、今田美桜

コミュニケーション能力が武器のハルと
気弱なパソコンオタクのガクが1兆ドルを稼いで
この世のすべてを手に入れようと成り上がる
エンタメドラマです



表題のシーンについて

不良に絡まれていたガクを助けたハルが
不良をボコボコにした所を
監視カメラに録られてしまったので

それをガクが監視カメラにハッキングして消す
というシーンです


この記事の引用元について

技術監修
 Flatt Security

技術協力
 株式会社リチェルカセキュリティ

こちらの記事から引用しています

引用元




シーンのハッキングシナリオについて

技術協力の株式会社リチェルカセキュリティさんの
記事ではこう書かれています


1.airodump-ngでターゲットWi-Fiのパケットを収集
2.aircrack-ngで収集したパケットからPTW攻撃でWEPキーを解析
3.ターゲットWi-Fiのネットワーク内に侵入してnmapでIPスキャン
4.IPスキャン結果を用いて、各機器にnmapでポートスキャン
5.監視カメラに用いられるRTSPポート(554番)を発見、機器を特定
6.監視カメラ管理ページのログインをhydraによる辞書攻撃で突破
7.管理者としてGUIで動画を削除



ここから用語を見ていきましょう


・airodump-ng
周辺の Wi-Fi の情報を取得することができる
ツールのことです

airodump-ngでWi-Fiのパケットを収集して
ターゲットのアクセスポイントを特定できます

sudo airodump-ng start wlan0


・Aircrack-ng
WEPやWPAキーのクラッキングプログラムのこと
周辺のAPのパケットを収集したりすることが出来ます
PTW攻撃が実装されています

・WEP(Wired Equivalent Privacy)
ワイアード・エクイヴァレント・プライバシー
無線LAN(Wi-Fi)通信の初期の暗号化方式の一つ

・PTW攻撃
WEPキーを特定するための攻撃の一種

無線LANの暗号化方式がWEPの場合
このPTW攻撃では、平均4万パケットを傍受するだけで
WEPキーが解読できてしまうらしい


・Nmap (Network Mapper)
ネットワーク調査および
セキュリティ監査を行うためのツールです

ネットワーク上にどのような機器やサービスが動いているか
特定ポートで動作するサービスアプリケーションの種類と
バージョンを検出する機能があります

 nmap ターゲットのIPアドレス


・RTSP(Real Time Streaming Protocol)
映像・音声の配信を制御するためのプロトコル
554番ポートがよく使われる


・hydra
Macにも昔から存在するパスワードクラッキングツール
ブルートフォース攻撃を行うことが出来ます

ブルートフォース攻撃ではパスワードによく使われる
文字列の辞書を使って高速でパスワードを破る
辞書攻撃の仕組みを持つツールが存在します

これでパスワードをクラックして
監視カメラにアクセスするという流れです

最後は

管理者権限さえあれば何でも出来る!!!!

ということになります



まとめ

・不正な手段を用いてコンピューター機器にアクセスすると
「本来アクセスする権限のないコンピュータを不正に利用する行為」
として不正アクセス禁止法に引っかかるよー

・無線LANなど外部に公開される機器の暗号化方式の設定や
パスワード管理は徹底して行うようにしよう


それでは

最近セキュリティー界隈を賑わす
大きな金融事件が発生しました。

これを気にセキュリティーの意識を高めて
対策できるようにしていきまっしょう。

解説動画はこちら


さて

まずはハッカーについてです。

よく誤解されていますが
ハッキングの語源で有るhack自体には
それほど悪い意味はありません。

ハッカーは
コンピュータや電子機器等に
深い技術的知識を持ち
その知識を利用して技術的な課題を
クリアする人々のこと
といった位置付けです。

lifehack
hackathon
といった言葉があるように

hackといった言葉には
向上させる、より高めるといった
意識が含まれる言葉だと思っています。

破壊行為あるいは
不正アクセスを伴う場合は
クラッカーと呼び
区別されているので

悪いことをする人は
クラッカーの方です。


ここからは主な手口を見ていきましょう。
・ソーシャル・エンジニアリング
・スパムメール
・マルウェアの配布
・サーバーへの攻撃

などがあります。

ソーシャル・エンジニアリング

人間の心理的な隙や行動ミスにつけ込んで
情報を入手する方法のことです。
・身分を詐称して暗証番号を聞き出す
・嘘の情報を流してパスワードを変更させる
・画面越しに暗証番号を覗き見する
・機器を設置して情報を盗む(スキミング)
などの行為が挙げられます。

スパムメール

宣伝目的で一方的に送りつけられる
電子メールのことです。
・身分を詐称して情報を聞き出す(フィッシング)
・送信元を詐称して迷惑な情報を流す
・サイトに誘導してマルウェアを植え付ける
・大量にメールを送りつけて業務を妨害する
などの行為で迷惑なものを送りつけてきます。

マルウェア

悪意のある有害なソフトウェアのことです。
(malicious software)
・ウィルス
・トロイの木馬
・キーロガー
・ボット(bot)
・ランサムウェア
などが有名なところですね。

ウィルスについて

PCやスマートフォンなどの記憶媒体を持つ
コンピューターに侵入し内部のファイルを改変し
増殖してしまうプログラム

これに感染するとコンピューターを乗っ取られたり
色々な不貞行為に巻き込まれます。

トロイの木馬について

一見無害なファイルやプログラムに
偽装した上でコンピューターに侵入したあと
悪意のある振る舞いをするプログラム

キーロガーについて

キー入力を監視しそれを記録するソフトウェア
もしくはハードウェア

最近だとTikTokが入力情報を外部に
漏らしているなんて報道がありましたね。


ここからは攻撃方法についてです。
・SQLインジェクション
・クロスサイトスクリプティング
・クロスサイトリクエストフォージェリ
・セッションハイジャック
・ブルートフォースアタック
・逆ブルートフォースアタック
・バッファオーバーラン
・バッファオーバーフロー
・DoS攻撃
・DDoS攻撃
・ボットネット


SQLインジェクション

アプリケーションが想定しない
SQL文を実行させることにより
データベースシステムを
不正に操作する攻撃方法のことです。

SELECT * FROM users
WHERE id=admin&pw=' or '1' = '1'

のようにパスワード部分などを
不正なクエリになるような
データを注入する方法です。

結構昔からありますね。

アプリケーション側での
バリデーションなどで
不正なコードの侵入を防ぐのが
一般的ですね。

Lord of SQLInjectionというサイトで
体験できます。

クロスサイトスクリプティング

ユーザーがWebページにアクセスすることで
不正なスクリプトが実行されてしまう
脆弱性または攻撃手法のことです。
スクリーンショット 2020-09-12 18.39.51


クロスサイトリクエストフォージェリ

Webアプリケーション利用者自身が
意図しない処理が実行されてしまう
脆弱性または攻撃手法のことです。

クロスサイトスクリプティングと似ていますね。

スクリーンショット 2020-09-12 18.39.58

セッションハイジャック

WEBアプリケーションの
セッション情報を盗み見て
なりすまして利用を行う手法です。

URLにセッション情報が含まれるような作りだと
結構盗み見ができてしまいます。

スクリーンショット 2020-09-12 18.40.04

ブルートフォースアタック

暗号解読方法のひとつで
可能な組合せを全て試すやり方です。

総当たり攻撃です。

一般的にはユーザーIDを固定して
パスワードを総当たりで試したりします。


スクリーンショット 2020-09-12 18.40.14

逆ブルートフォースアタック

上の方法とは逆にパスワードを固定して
ユーザーID等を総当たりで試す方法です。

ユーザーIDなどが大量に必要ではあるので
そこまで一般的では無いものの
最近の事件ではこの手法が
使われた可能性が高いようですね。

スクリーンショット 2020-09-12 18.40.20


DoS攻撃
(Denial of Service attack)

システムのサービスに処理能力を上回る大量のデータを
送りつけ、サービスを遅延、停止させる攻撃です。

大量のリクエストや、大容量データを
送りつけてサーバーを攻撃します。

昔、田代砲とか流行りましたね。

スクリーンショット 2020-09-12 18.40.27


DDoS攻撃

DoS攻撃を対象のウェブサイトや
サーバーに対して複数のコンピューターから
大量に行う攻撃のことです。

事前に他社のコンピューターを乗っ取り
ボットネットを構築し、攻撃態勢を
整えたのちに攻撃を仕掛けます。
スクリーンショット 2020-09-12 18.40.38

対策方法
・ネットワークの監視
・OSのアップデート
・ファイアーウォール
・脆弱性の検出
・不正検出
・パスワードの強化
・認証の強化

個人レベルで出来る対策は
こんなことぐらいですね。

セキュリティーはあんまり詳しく無いですが
必要最低限の知識は持っておきたいと思います。

最後に
ハッカーが活躍する作品です。
・BLOODY-MONDAY 主人公 高木藤丸
・ドラゴン・タトゥーの女 リズベット
・スニーカーズ 
・ソードフィッシュ
・スマホを落としただけなのに

どれも好きな作品で
特に「ソードフィッシュ」は
20回以上見ている大好きな作品です。

これを見てハッキング関連調べましたねえ。
最近だと「スマホを落としただけなのに」
なかなか面白かったですね。

興味がある方はここら辺を
調べていただければと思います。

よりいっそうセキュリティー意識が高まり
安全性の高いサービスになっていくことを願います。

それでは。

いやーーー
特大の爆弾級の金融事故発生です。

セキュリティー界隈でも
なかなか面白い事件になっていますので
まとめてみました。


解説動画はこちら




記事はこちらでも公開しています。
qiita
note




不正出金被害が相次いで報告

NTTドコモが提供する電子決済サービス「ドコモ口座」を利用して
銀行から不正に現金を引き出す被害が続出。

顧客に被害があったとしてドコモ口座への新規登録を
当面停止すると発表する金融機関は次のようなものがあります。

七十七銀行(宮城県仙台市)
中国銀行(岡山県岡山市)
大垣共立銀行(岐阜県大垣市)
東邦銀行(福島県福島市)も8日

これは一部で相次いで報告が上がっています。



ドコモ口座とは?
ドコモ口座は、ネットやアプリ上で送金やお買い物ができる
バーチャルなお財布で、どなたでも無料で簡単に開設できます!!

NTTドコモが提供する電子決済サービスのことですが
以下のようなことができるようです。


口座開設すれば、各種決済関連が行えるようになるわけですね。



ドコモ口座の開設方法

ドコモ口座の開設方法はHPによると次のようになっています。

1.dアカウントを作成
2.ドコモ口座を新規作成
3.ドコモ口座に銀行口座を登録

このうち、1,2に関してはNTTドコモのユーザーでなくても
作成ができてしまうようです。

ポイントとなるdアカウントの作成方法を見てみましょう。



dアカウントの作成方法のステップ

step1「メールアドレスの登録」と
step2「ID・基本情報の登録」が必要です。

dアカウントは「Web」「アプリ」「店頭」の
3つの方法で作成可能です。

ドコモとの契約があるお客様はもちろんのこと
ドコモとの契約がないお客様も作成することが出来ます。

つまり匿名でもメールアドレスがあれば
dアカウントを作れそうです。
次にドコモ口座の作成方法についてです。


ドコモ口座を新規作成のステップ
step1.dアカウントへログイン
step2.「同意画面へ」をタップ
step3.注意事項・利用規約をご確認の上、「次へ」をタップ

dアカウントがあればすぐに口座を作ることができそうです。
最後にドコモ口座に銀行口座を登録するところを見てみましょう。

ドコモ口座に銀行口座を登録のステップ
step1.登録する金融機関を選択
step2.入力内容を確認し、各金融機関のサイトで手続き

ここは各種金融機関のサイト側で設定を行うようです。
金融機関によって対応はバラバラなようです。



ドコモ口座に連携できる金融機関
発表されているドコモ口座対応の金融機関は
以下のようです。

みずほ銀行
三井住友銀行
ゆうちょ銀行
イオン銀行
伊予銀行
池田泉州銀行
愛媛銀行
大分銀行
大垣共立銀行
紀陽銀行
京都銀行
滋賀銀行
静岡銀行
七十七銀行
十六銀行
スルガ銀行
仙台銀行
ソニー銀行
但馬銀行
第三銀行
千葉銀行
千葉興業銀行
中国銀行
東邦銀行
鳥取銀行
南都銀行
西日本シティ銀行
八十二銀行
肥後銀行
百十四銀行
広島銀行
福岡銀行
北洋銀行
みちのく銀行
琉球銀行



不正出金の手口
ドコモ口座を使った不正出金の手口は
どのようなものだったのでしょうか?


手口の概要はこういうことが想定されます。

悪意の第三者が
step1.口座名義と口座番号を入手する
step2.dアカウントを作成
step3.ドコモ口座を開設
step4.リバースブルートフォースを行い
パスワードを突破し銀行口座紐付けを行う

step5.紐付けできた銀行口座に対し
ドコモ口座への出金(チャージ)を行う
step6.ドコモ口座にチャージしたお金を抜く

NTTドコモ、銀行側の確認の隙をついた手口です。
2020年一番の金融事故になると思います。


どうしてこんなことが起きたのか?
この事件が起きた要因としては次のような
事項があると思われます。

1.ドコモ口座の開設時の本人確認のあまさ
2.ドコモ口座から銀行口座紐付けを行う際の
  セキュリティーのあまさ
3.口座名義、口座番号のリストが出回っている

被害内容から察する手口は上記のようなものかと思いますが
特筆すべきは
・ドコモユーザーで無くても不正出金されている
・ドコモ口座は自分のではない
という点です。

これは本人確認を行わずにドコモ口座が
開設できている部分に起因すると思います。

銀行口座の開設には本人確認が必要なことになっています。
本人確認法

ですのでドコモ口座開設時の本人確認を行う必要が有ったと思います。
スマホからの登録などであれば携帯番号開設時に本人確認を行うので
スマホのユーザー = 本人 という証明がなされますが

PCからのdアカウント作成、ドコモ口座開設ではそのような
確認機構が無いようです。
ここの隙を突かれたものかと思います。

2点目に被害が出ている銀行に差がある点です。
ドコモ口座から銀行口座への紐付け時の確認項目では
「口座名義」
「口座番号」
「暗証番号」
という3点のみの確認しかしていない銀行があるようです。
これ以外にワンタイムパスワードなどを求める銀行では
被害報告がなさそうな感じです。

しかし、どうやって暗証番号が分かったんですか?
という疑問が浮かぶと思います。
ここで登場するのがリバースブルートフォースという手法です。



リバースブルートフォースって何?

例えば銀行口座が分かっている場合
その口座に対して暗証番号を
総当たりで当てに行こうとします。

この手口をブルートフォースと読んでいます。

暗証番号は4桁の数値なので

0000
0001
0002・・・

とやればいつかは当たることになります。
しかし、銀行側ではさすがにその対策はしていて
3回連続で間違うと暗証番号入力が
出来なくなるような設計になっています。

そこで、暗証番号を固定して逆に口座名義
口座番号の方を変えていくという手法が
リバースブルートフォースという手口になります。

一般的にはパスワードを固定し、ユーザーIDを辞書ツールなどで
片端から試していくことでログインを試みる手法です。
今回はこれの銀行版を試されたのだと思われます。

例えばパスワードを1234などで固定し

口座番号1
口座番号2 ・・・

のようにやっていけば、暗証番号1234の口座が見つかります。
この手法の大きな利点はパスワードが間違っても
ロックされない点にあります。

1口座に対し、1回だけチェックを行うのであれば
口座のロックが掛からないので不正検知で知られることがありませんので
銀行のチェックの仕組みの盲点であると言えます。

しかし、ここでもう一つ問題にぶち当たります。
「口座名義」,「口座番号」
はどこからやってきたのか????????



口座番号などはどこからやってきたのか?

今回の一番の謎はここです。

この不正出金の手法では
リバースブルートフォースアタックをかけるのには
大量の銀行口座番号と名義が必要になっているはずです。

通常の暗証番号は4桁で1万分の1の確率です。
いくらリバースブルートフォースアタックをしても
1万口座くらいなければ1つも突破できないでしょう。

ということは万単位で
「口座名義」,「口座番号」
これのリストが漏れているはずです。

1つ考えらえることとして、最近口座名義や口座番号を
大量に受け付けているイベントは無かったでしょうか?

給付金

これ、自分も郵送しましたが、銀行口座に
免許証のコピーを添付しているので
生年月日なども分かられています。

これ、郵送で送ったりして、その後の作業は手入力ですよね。
入力したデータは少し頑張れば抜けてしまいます。

銀行口座の暗証番号を生年月日などにしている場合
365分の1で暗証番号が当たります。
より確率を上げられるので、口座数が少なくて済みます。

数万口座抜いてくれば余裕で
リバースブルートフォースアタックで
突破できてしまう口座が見つかるかもしれません。

あくまで給付金受付から漏れた可能性が高いと
考えているだけで断定はできません。

今後の捜査の進展を期待したいですね。


どうすればこの手口を防げたのか?

まず今回の手口をまとめると
・ドコモ口座の開設に本人確認がいらなかった
・銀行口座紐付けが簡単に行えてしまった

という2点ですね。
まずは本人確認を徹底するところからでは無いでしょうか?

最近では金融関連のFintechという分野が
トレンドになっていますが
利便性とセキュリティーは
トレードオフの関係になっています。

利便性を上げすぎると、今回のように
セキュリティーがガバガバーナになってしまうわけです。

必要最低限のセキュリティーを担保しつつ
利便性をあげる努力をしてゆくのが
サービスにとっては必要なことだったのでは
無いでしょうか?

2点目の口座紐付けの方もそうです。
本人確認と口座確認の容易さが逆に
不正アクセスされる原因になっています。

ちなみに、この手のアタックはPCからの
アクセスであればスクリプトを用意すれば
容易に出来てしまいます。

大量の口座番号のファイルを貰えたら
自分なら1時間ほどあれば
リバースブルートフォースアタックして
暗証番号を突破するコードを
かけてしまいます。

今はやりませんけどねwwwwww。

口座紐付けの方ではこの
リバースブルートフォースアタックに対して
暗証番号だけでは防ぐことはできません。

もう一つ確認用の仕組み
ワンタイムパスワード発行などをしていれば
少しは違っていたかもしれません。

また、同一IPからのアクセスなどを制限しておくようにすれば
リバースブルートフォースアタックには有効かと思いますので
一定時間における同一IPからの操作回数に制限をしておくなどの
対策をしておくのが良いんじゃないでしょうかね。

そして一番の闇は
「口座名義」,「口座番号」の漏れ

これは様々な手口が考えられるので
それを一つ一つ塞いでいくしかありません。

個人情報や口座情報を取り扱う際の
セキュリティーを一段向上させる仕組み作りが
のぞまれるところです。



誰が悪い?
さて、今回の事象での責任はどうなるでしょうか?

一番悪いのはこの仕組みを悪用した犯人ではありますが
このような仕組みを放置した金融機関や
NTTドコモには一定の責任が発生すると思います。

自分の考えでは
8:2くらいでNTTドコモさん側の責任の方が大きい気がします。
他人が勝手に口座を作れちゃってる訳ですからね。

セキュリティーのテストでは
意外と想定しない使われ方まで
考え抜いてテストする必要があると思っています。

金融系のサービスを作る人、運営している人は
これを機会に、反面教師として
今一度見直しをした方が良いでしょうね。

NTTドコモ様
自分はAUユーザーですがネタを提供していただいて
誠にありがとうございまーーす。

半沢直樹の次のシリーズのネタに
使われちゃったりしたら
爆笑しますねーーー楽しみ!!

頑張って倍返ししてくださいねーーー。

それでは。

このページのトップヘ