1 of 73

君もハッカーに!?�ハッキング体験 で�情報セキュリティについて学ぼう!

2023年12月10日(日)

川戸研究室

ハッカー

ハッキング体験

米子高専 公開講座2023

2 of 73

本日の内容

  1. 身近に潜む危険性と対策
    • 情報セキュリティとは?
    • ソーシャルエンジニアリング
    • 不正アクセス
  2. ハッキング体験
    • 画像を使った位置情報の解析
    • ポートスキャン
    • パスワードの解析

  • 情報セキュリティ技術
    • 暗号化
    • ファイアウォール

君もハッカーに!?ハッキング体験で情報セキュリティについて学ぼう!

1

2023年12月10日

3 of 73

1. 身近に潜む危険性と対策

君もハッカーに!?ハッキング体験で情報セキュリティについて学ぼう!

2

2023年12月10日

4 of 73

講座に入る前に…

  • ニュースでもよく聞く「情報セキュリティ」って何?
    • SNSの使い方…?
    • ウイルス対策とか…?
    • 迷惑メールとか架空請求とか…?

  • 「セキュリティ」=安全を守る対策
    • 「情報セキュリティ」は,コンピュータの中でのデータ,顧客情報,技術情報などの「情報」に対するセキュリティ

君もハッカーに!?ハッキング体験で情報セキュリティについて学ぼう!

3

2023年12月10日

5 of 73

「情報セキュリティ」の定義

  • 日本産業規格Japanese Industrial Standards)
    • 情報の機密性完全性可用性を維持すること(JIS Q 27000)

      • 電子署名:なりすまし,改ざんを防ぐための電子的な署名
      • 冗長化:障害に備えて,予備の設備やシステムを運用しておく

君もハッカーに!?ハッキング体験で情報セキュリティについて学ぼう!

4

2023年12月10日

用語の意味

対策

機密性

許可された人だけ,情報を使うことができる

暗号化

完全性

情報が正確で完全である

電子署名

可用性

使いたいときに,情報を使うことができる

システムの冗長化

6 of 73

「ハッカー」とは?

  • コンピュータに関する高い技術持った人の尊称
    • 善悪の区別はない!

  • ホワイトハッカー:技術を善意に利用する
  • ブラックハッカー:技術を悪意に利用する
    • クラッカーとも言う
    • 政治犯やテロリストなど

君もハッカーに!?ハッキング体験で情報セキュリティについて学ぼう!

5

2023年12月10日

7 of 73

攻撃の方法はどんな方法

  • 世の中には攻撃手法がたくさん
    • 不正アクセス
    • ソーシャルエンジニアリング
    • DoS攻撃
    • マルウェア

君もハッカーに!?ハッキング体験で情報セキュリティについて学ぼう!

6

2023年12月10日

この2つを紹介(実践あり!)

8 of 73

攻撃のサイクル

  • サイバー攻撃は4ステップの繰り返し
    • 調査:攻撃対象の調査
    • 発見:脆弱性を見つけ,操作する権限を取得
    • 実行:発見した脆弱性に対して攻撃をする
    • 制御:痕跡を消すなどの事後処理

君もハッカーに!?ハッキング体験で情報セキュリティについて学ぼう!

7

2023年12月10日

調 査

発 見

実 行

制 御

9 of 73

不正アクセスの概要

  • 「不正アクセス」とは?
    • 本来アクセス権限を持たない者が,サーバや情報システムの内部へ侵入する行為

  • 不正アクセスの手法は様々…
    • パスワードの取得
    • ポートスキャン

君もハッカーに!?ハッキング体験で情報セキュリティについて学ぼう!

8

2023年12月10日

10 of 73

パスワードの取得

  • 総当たり攻撃
    • すべてのパスワードを試す

  • 辞書攻撃
    • 利用されやすい単語を試す

  • パスワードリスト攻撃
    • 他から流出したものを試す

君もハッカーに!?ハッキング体験で情報セキュリティについて学ぼう!

9

2023年12月10日

https://bit.ly/40NYdCl

11 of 73

ポートスキャン(1)

  • 「ポート」とは?
    • ポート=通信の目的ごとに割り当てられた出入り口
      • 例えば,港では荷物を下ろす場所が決まっている�レジャーボート,大型旅客船,漁船 など
    • ポート(港)が開いているとサービスが稼働(出入りできる)�ポートが閉じているとサービスは稼働していない(出入りできない)

    • 例えばWebページを公開する(プロトコルはHTTP)
      • HTTPは80番に割り当てられているので,80番をOPNEにする

君もハッカーに!?ハッキング体験で情報セキュリティについて学ぼう!

10

2023年12月10日

12 of 73

ポートスキャン(2)

  • ポートスキャンとは?
    • 開いているポートを調べ,稼働しているサービスを特定する攻撃

君もハッカーに!?ハッキング体験で情報セキュリティについて学ぼう!

11

2023年12月10日

13 of 73

ソーシャルエンジニアリングの概要

  • 人間の心理的な隙を狙った攻撃手法
    • パソコンなどを使わずに情報を盗み出す

君もハッカーに!?ハッキング体験で情報セキュリティについて学ぼう!

12

2023年12月10日

14 of 73

ソーシャルエンジニアリングの対策

  • 技術的な対策がない
    • 機密情報をそのままごみ箱に捨てない
      • シュレッダーにかける など
    • 電話でパスワードを教えない

  • SNSに投稿する画像にも注意
    • 位置情報(ジオタグ
    • 個人情報

君もハッカーに!?ハッキング体験で情報セキュリティについて学ぼう!

13

2023年12月10日

15 of 73

2. ハッキング体験

君もハッカーに!?ハッキング体験で情報セキュリティについて学ぼう!

14

2023年12月10日

16 of 73

OSINT

  • OSINTとは?
    • Open-Source Intelligence
    • 一般に公開されている膨大な情報の中から,必要な情報を収集・分析する活動
    • セキュリティ対策,犯罪捜査などで活用される

  • 今回の活動
    • 写真からの情報推定(位置情報の特定)

君もハッカーに!?ハッキング体験で情報セキュリティについて学ぼう!

15

2023年12月10日

17 of 73

位置情報の特定

  • ルール
    • 4枚の写真を1分ごとに提示
    • どこの市区町村で撮影されたか特定する

  • 例題
    • 右の画像は 鳥取砂丘
    • 「鳥取県鳥取市」が答え

君もハッカーに!?ハッキング体験で情報セキュリティについて学ぼう!

16

2023年12月10日

18 of 73

君もハッカーに!?ハッキング体験で情報セキュリティについて学ぼう!

17

2023年12月10日

19 of 73

君もハッカーに!?ハッキング体験で情報セキュリティについて学ぼう!

18

2023年12月10日

20 of 73

君もハッカーに!?ハッキング体験で情報セキュリティについて学ぼう!

19

2023年12月10日

21 of 73

君もハッカーに!?ハッキング体験で情報セキュリティについて学ぼう!

20

2023年12月10日

22 of 73

解説

  • 答えは,

  • 各画像の詳しい情報
    • 1枚目=なよろ市立天文台きたすばる
    • 2枚目=サンピラーパーク
    • 3枚目=ピヤシリシャンツェ
    • 4枚目=名寄市カントリーサイン

君もハッカーに!?ハッキング体験で情報セキュリティについて学ぼう!

21

2023年12月10日

北海道名寄市

23 of 73

特定の方法

  • 画像の特徴をとらえてWeb検索する
    • 1枚目:天文台
    • 2枚目:ひまわり畑+奥に鉄道
    • 3枚目:スキージャンプ台

  • Googleの画像検索などもある
    • 画像をアップロードして検索をする

君もハッカーに!?ハッキング体験で情報セキュリティについて学ぼう!

22

2023年12月10日

24 of 73

OSINTによるサイバー攻撃

  • OSINTで職場や住所の情報を得ることができる
    • 犯罪誘発の可能性(なりすまし詐欺など)
    • オンラインアカウントのセキュリティ用の質問に答える

  • 公開された写真から把握できる個人情報は,少ないほど良い
    • 写真以外でも同じ
    • プロフィール欄の,学校名,クラス,部活,会社名 など

君もハッカーに!?ハッキング体験で情報セキュリティについて学ぼう!

23

2023年12月10日

25 of 73

演習の準備

  • ターミナルを起動する

君もハッカーに!?ハッキング体験で情報セキュリティについて学ぼう!

24

2023年12月10日

26 of 73

ポートスキャン(1):概要

  • ポートスキャンとは?
    • 稼働しているサービスを特定する攻撃

  • 実行方法
    • nmap
      • オープンソースで非常に高機能なツール
      • 稼働しているサービスやOSのバージョンの特定ができる

君もハッカーに!?ハッキング体験で情報セキュリティについて学ぼう!

25

2023年12月10日

27 of 73

ポートスキャン(2):OSの特定

  • 使用されているOSとバージョンを調べる
    • sudo nmap -sV –O [各自のIPアドレス]

    • 英文と同じように,空白も入力する

  • IPアドレス
    • ネットワーク上の住所

君もハッカーに!?ハッキング体験で情報セキュリティについて学ぼう!

26

2023年12月10日

OSを特定する

バージョンを特定する

ディスプレイに記載

28 of 73

ポートスキャン(3):OSの特定

  • 稼働しているサービスの一覧が表示される

君もハッカーに!?ハッキング体験で情報セキュリティについて学ぼう!

27

2023年12月10日

21/tcp OPEN

80/tcp OPEN

要チェック!

29 of 73

ポートスキャン(4):OSの特定

  • つづき

君もハッカーに!?ハッキング体験で情報セキュリティについて学ぼう!

28

2023年12月10日

OSにLinuxが使われている

(厳密にはUbuntu)

30 of 73

ポートスキャン(5):考察

  • 実行結果から分かること
    • 色々なサービスが稼働(OPEN)している
      • 不正侵入の危険性あり!!
    • 稼働しているサービスのバージョンまで特定できた!
      • 脆弱性(システムの弱点)を突いた攻撃が可能
      • 各バージョンの脆弱性はWeb上で公開される

君もハッカーに!?ハッキング体験で情報セキュリティについて学ぼう!

29

2023年12月10日

31 of 73

脆弱性の例

君もハッカーに!?ハッキング体験で情報セキュリティについて学ぼう!

30

2023年12月10日

https://www.intellilink.co.jp/column/vulner/2011/070600.aspx

バックドア=システムへの裏口�…犯罪者の出入口となり,不正侵入の原因に!

32 of 73

ポートスキャン(6):対策

  • 有効な対策は?
    • 各サービスへの接続にパスワード等の認証を設ける
    • アクセス制御をする(後述)
    • 不要なポートを開けない

君もハッカーに!?ハッキング体験で情報セキュリティについて学ぼう!

31

2023年12月10日

33 of 73

辞書攻撃の概要

  • 辞書攻撃とは?
    • パスワードになりそうな単語や,被害者ゆかりの情報を使う

  • 実行方法
    • Hydra
      • 高機能なオンラインパスワードクラッカー
      • スーパーユーザ(root)で実行する

君もハッカーに!?ハッキング体験で情報セキュリティについて学ぼう!

32

2023年12月10日

34 of 73

辞書攻撃の事前準備

  • 解析には,ユーザリストとパスワードリストが必要

君もハッカーに!?ハッキング体験で情報セキュリティについて学ぼう!

33

2023年12月10日

ユーザリスト

パスワードリスト

35 of 73

辞書攻撃の実行

  • リストが作れたら,準備完了! 解析してみよう!
  • 今回は解析に要した時間も確認する
    • time sudo hydra –L user.lst –P pass.lst [アドレス] ftp

君もハッカーに!?ハッキング体験で情報セキュリティについて学ぼう!

34

2023年12月10日

時間計測

ユーザリスト

パスワード�リスト

ターゲットの�サービス

ディスプレイに記載

36 of 73

実行結果

君もハッカーに!?ハッキング体験で情報セキュリティについて学ぼう!

35

2023年12月10日

IDとパスワードの組を2つ特定できた

約17秒で解析できた!

37 of 73

総当たり攻撃の概要

  • 総当たり攻撃とは?
    • 考えられるすべてのパスワードを試す
    • 「ブルートフォースアタック」ともいう

  • 実行方法
    • fcrackzip
      • 高速なパスワード解析ツール
      • zipファイル(圧縮ファイル)のパスワードを解析する

君もハッカーに!?ハッキング体験で情報セキュリティについて学ぼう!

36

2023年12月10日

38 of 73

総当たり攻撃の実行方法

  • コマンド
    • 解析に要した時間も計測する
    • time fcrackzip –u –c [文字の種類] –l [桁数] [ファイル名]

君もハッカーに!?ハッキング体験で情報セキュリティについて学ぼう!

37

2023年12月10日

1:数字

a:小文字

A:大文字

時間計測

39 of 73

総当たり攻撃(1)

  • 数字のみ4桁の場合
    • time fcrackzip –u –c 1 –l 1-4 test-1.zip

君もハッカーに!?ハッキング体験で情報セキュリティについて学ぼう!

38

2023年12月10日

パスワードは「8831」

約0.1秒で解析できた!

40 of 73

総当たり攻撃(2)

  • 数字のみ6桁の場合
    • time fcrackzip –u –c 1 –l 1-6 test-2.zip

君もハッカーに!?ハッキング体験で情報セキュリティについて学ぼう!

39

2023年12月10日

パスワードは「231210」

約2秒で解析できた!

41 of 73

総当たり攻撃(3)

  • 小文字+数字で6桁の場合
    • time fcrackzip –u –c a1 –l 6 test-3.zip

君もハッカーに!?ハッキング体験で情報セキュリティについて学ぼう!

40

2023年12月10日

パスワードは「abc987」

約10秒で解析できた!

42 of 73

考察

  • 実行結果からわかること
    • 安易なパスワードは,簡単に特定できてしまう

    • 不正侵入,乗っ取りの危険性がある!
      • 詐欺などの二次被害につながる可能性も…

君もハッカーに!?ハッキング体験で情報セキュリティについて学ぼう!

41

2023年12月10日

43 of 73

安全なパスワードとは?

君もハッカーに!?ハッキング体験で情報セキュリティについて学ぼう!

42

2023年12月10日

https://bit.ly/3tpXQRQを和訳

44 of 73

3. 情報セキュリティ技術

君もハッカーに!?ハッキング体験で情報セキュリティについて学ぼう!

43

2023年12月10日

45 of 73

アクセス制御

  • アクセス制御とは?
    • コンピュータやネットワークにアクセスできるユーザを制限する
    • ファイアウォールが役割を担うことが多い

君もハッカーに!?ハッキング体験で情報セキュリティについて学ぼう!

44

2023年12月10日

https://bit.ly/3Fhfvxt

46 of 73

ファイアウォール

  • ファイアウォール(防火壁)とは?
    • 不正侵入を防止する装置
    • ネットワークの出入り口に設置する
    • ハードウェア または ソフトウェアとして提供される

君もハッカーに!?ハッキング体験で情報セキュリティについて学ぼう!

45

2023年12月10日

https://bit.ly/46wTIOz

47 of 73

ファイアウォールの役割を確かめよう

  • 演習の内容
    1. やられ役サーバ「Metasploitable」のファイアウォールを設定する
    2. サーバに対してアクセスを試みる
    3. 1人2役(侵入側と防御側)

  • まずは防御側の準備!
    • サーバにログインする(SSH接続)

君もハッカーに!?ハッキング体験で情報セキュリティについて学ぼう!

46

2023年12月10日

48 of 73

サーバへのログイン

  • 以下のコマンドを実行
    • ssh msfadmin@[IPアドレス]

君もハッカーに!?ハッキング体験で情報セキュリティについて学ぼう!

47

2023年12月10日

「yes」と入力

「msfadmin」と入力

入力した文字は表示されないので注意!

ディスプレイに記載

49 of 73

サーバへのログイン

  • 接続完了
    • こんな感じの表示がされたら接続完了

君もハッカーに!?ハッキング体験で情報セキュリティについて学ぼう!

48

2023年12月10日

50 of 73

サーバの初期状態を確認

  • ポートスキャンの結果,Webサーバが動作している
  • Webブラウザ(Chrome)で,サーバにアクセスする
    • 検索窓(アドレスバー)に�IPアドレスを入力

君もハッカーに!?ハッキング体験で情報セキュリティについて学ぼう!

49

2023年12月10日

51 of 73

ファイアウォールの設定(1)

  • Webサーバの通信を禁止
  • 以下のコマンドをすべて実行
    • sudo iptables -A INPUT -p tcp --dport 80 -j DROP
    • sudo iptables -A OUTPUT -p tcp --dport 80 -j DROP

君もハッカーに!?ハッキング体験で情報セキュリティについて学ぼう!

50

2023年12月10日

80:Webサーバが通信するための出入り口

httpというプロトコルのポート番号

IN:入ってくる通信

OUT:出ていく通信

52 of 73

サーバの状態を確認(1)

  • Webブラウザでサーバにアクセスする
    • 接続がタイムアウト ➡ サーバが動いていない!

君もハッカーに!?ハッキング体験で情報セキュリティについて学ぼう!

51

2023年12月10日

53 of 73

ファイアウォールの設定(2)

  • 設定のリセット
    • すべての通信を許可する
  • 以下のコマンドをすべて実行
    • sudo iptables -F
    • sudo iptables -X
    • sudo iptables -P INPUT ACCEPT
    • sudo iptables -P FORWARD ACCEPT
    • sudo iptables -P OUTPUT ACCEPT

君もハッカーに!?ハッキング体験で情報セキュリティについて学ぼう!

52

2023年12月10日

それぞれの意味

INPUT・・・・サーバに来る通信

FORWARD・・通信の転送

OUTPUT・・・サーバから外に出る通信

ACCEPT・・・通信を許可

54 of 73

サーバの状態確認(2)

  • Webブラウザでサーバにアクセスする
    • 再び,アクセス可能に!

君もハッカーに!?ハッキング体験で情報セキュリティについて学ぼう!

53

2023年12月10日

55 of 73

制限のかけ方

  • ブラックリスト方式
    • 予め危険性が予期されるターゲットを指定し,アクセスを禁止する

  • ホワイトリスト方式
    • 予め定義された正当パターンに該当する通信を許可する方式

君もハッカーに!?ハッキング体験で情報セキュリティについて学ぼう!

54

2023年12月10日

制限の強度

利便性

管理

ブラックリスト方式

ホワイトリスト方式

今回はこっち

56 of 73

考察

  • ファイアウォールの機能
    • 通信の可否を設定し,アクセスに制限をかける
      • ネットワーク上の「関所」の役割
      • 特定のサービスのみでなく,通信のそのものを禁止することもできる
    • 今回は,サービスを制限したが,ユーザの制限も可能

  • ファイアウォールの適切利用
    • 許可 or 禁止するリストを適切に管理・設定する�⇒ おろそかにすると,不正アクセスの要因となる

君もハッカーに!?ハッキング体験で情報セキュリティについて学ぼう!

55

2023年12月10日

57 of 73

暗号化とは?

  • 暗号
    • 情報をやり取りするとき,第三者に盗聴されては困る�➡ 特定の人にしか分からない形(暗号)にする

  • 暗号化方式
    • 共通鍵暗号方式
    • 公開鍵暗号方式
    • ハイブリッド暗号方式

君もハッカーに!?ハッキング体験で情報セキュリティについて学ぼう!

56

2023年12月10日

鍵(Key)�=暗号化のルール

Hello

&5A+F\GCs+A

復号

平文

暗号文

暗号化

58 of 73

共通鍵暗号方式

  • どんな仕組み?
    • 暗号化と復号で同じ鍵(共通鍵)を使う

君もハッカーに!?ハッキング体験で情報セキュリティについて学ぼう!

57

2023年12月10日

59 of 73

公開鍵暗号方式

  • どんな仕組み?
    • 暗号化と復号で異なる鍵を使う

君もハッカーに!?ハッキング体験で情報セキュリティについて学ぼう!

58

2023年12月10日

60 of 73

暗号の例

  • シーザー暗号
    • 各文字を特定の文字数だけシフト(ずらして)暗号を作成
    • 例えば,「abc」を左に3文字ずらすと,「xyz」になる

君もハッカーに!?ハッキング体験で情報セキュリティについて学ぼう!

59

2023年12月10日

https://bit.ly/3QlK6Rb

61 of 73

暗号化を体験してみよう

  • シーザー暗号を生成するPythonプログラムを動かしてみる
    • 「Thonny」を起動する

君もハッカーに!?ハッキング体験で情報セキュリティについて学ぼう!

60

2023年12月10日

62 of 73

プログラムを読み込む

君もハッカーに!?ハッキング体験で情報セキュリティについて学ぼう!

61

2023年12月10日

63 of 73

プログラムを実行する

君もハッカーに!?ハッキング体験で情報セキュリティについて学ぼう!

62

2023年12月10日

シフトする文字数

実行結果は画面の下に表示される

64 of 73

総当たりで復号してみる

  • 同様の手順で「brute-force.py」を開き,実行する

君もハッカーに!?ハッキング体験で情報セキュリティについて学ぼう!

63

2023年12月10日

復号

繰り返し

65 of 73

実際の暗号アルゴリズム

  • RSA暗号(公開鍵暗号方式)
    • 大きい数での素因数分解の困難さを安全性の根拠とする
    • 例えば,89,886,649 を素因数分解する
      • 9013×9973

    • 実際にはもっと大きな数が使われる�→ 総当たりでは膨大な時間がかかる

君もハッカーに!?ハッキング体験で情報セキュリティについて学ぼう!

64

2023年12月10日

https://bit.ly/3ZPVx6t

66 of 73

ハイブリッド暗号方式

  • どんな仕組み?
    • 共通鍵暗号方式と公開鍵暗号方式 の良いとこどり

君もハッカーに!?ハッキング体験で情報セキュリティについて学ぼう!

65

2023年12月10日

共通鍵暗号方式

公開鍵暗号方式

67 of 73

各暗号化方式の利点・欠点を考えよう!

共通鍵暗号方式

  • 利点
    • 暗号化や復号の処理が簡単�➡ 処理が速い

  • 欠点
    • 共通鍵の安全な送受信が困難

公開鍵暗号方式

  • 利点
    • 公開鍵の配布が容易
      • 秘密鍵の外部への流出はNG

  • 欠点
    • 暗号化や復号の処理が複雑�➡ 処理が遅い

君もハッカーに!?ハッキング体験で情報セキュリティについて学ぼう!

66

2023年12月10日

68 of 73

4. 自由に演習

別冊の資料を参考にしてください

君もハッカーに!?ハッキング体験で情報セキュリティについて学ぼう!

67

2023年12月10日

69 of 73

ここからは自由時間です

  • 挑戦してみたい演習に挑戦してください
    • アクセスログを解析してみる
    • Webに関するセキュリティを勉強する
    • SNSから個人情報を推定する     等々…

    • 困ったときは周りのスタッフに声をかけてください

    • ただし実際のサービスに対しては攻撃しない!!(⇒ 犯罪です)

君もハッカーに!?ハッキング体験で情報セキュリティについて学ぼう!

68

2023年12月10日

70 of 73

おわりに

君もハッカーに!?ハッキング体験で情報セキュリティについて学ぼう!

69

2023年12月10日

71 of 73

今日はいかがでしたか?

  • 環境を作れば自宅でもできます!!
    • ただし実際のサービスに対しては攻撃しない!!(⇒ 犯罪です)
    • 演習の環境は簡単に構築できる
      • 「ハッキングラボ 作り方」で検索
      • 不明な点があれば,ご連絡いただけたら対応いたします

君もハッカーに!?ハッキング体験で情報セキュリティについて学ぼう!

70

2023年12月10日

72 of 73

諸連絡(1)

  • アンケート
    • 内容や教材について皆さんの率直な意見をお聞かせください

    • URLはブラウザ(Chrome)にブックマークされています

君もハッカーに!?ハッキング体験で情報セキュリティについて学ぼう!

71

2023年12月10日

73 of 73

諸連絡(2)

  • 約束!!
    • 今回紹介した攻撃を実際のシステムにはしないでください!
    • あくまで,セキュリティ学習の範囲内での実践に留めてください
    • 実際に攻撃をすると,犯罪になります

  • お問合せ先
    • 総合工学科情報システム部門 准教授  川戸 聡也
      • Mail:kawato@yonago-k.ac.jp
      • TEL:0859-24-5131(研究室)

君もハッカーに!?ハッキング体験で情報セキュリティについて学ぼう!

72

2023年12月10日