• 検索結果がありません。

講義内容 AppGoat の説明 起動手順 学習の進め方 利用シーン紹介 脆弱性学習 ( 演習あり ) SQLインジェクションの脆弱性 クロスサイト スクリプティングの脆弱性 アンケート記入 2

N/A
N/A
Protected

Academic year: 2021

シェア "講義内容 AppGoat の説明 起動手順 学習の進め方 利用シーン紹介 脆弱性学習 ( 演習あり ) SQLインジェクションの脆弱性 クロスサイト スクリプティングの脆弱性 アンケート記入 2"

Copied!
59
0
0

読み込み中.... (全文を見る)

全文

(1)

脆弱性体験学習ツール

「AppGoat」ハンズオンセミナー

(2)

Copyright © 2011 独立行政法人 情報処理推進機構

2

講義内容

AppGoatの説明

起動手順、学習の進め方、利用シーン紹介

脆弱性学習(演習あり)

SQLインジェクションの脆弱性

クロスサイト・スクリプティングの脆弱性

アンケート記入

(3)
(4)

Copyright © 2011 独立行政法人 情報処理推進機構

AppGoat(アップゴート)とは

学習

ウェブアプリケーション版

サーバ・デスクトップ

アプリケーション版

ウェブアプリケーション版

サーバ・デスクトップアプリケーション版

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

ジェクションなどを題材とした、15の学習

テーマから構成されている。

バッファオーバーフローや整数オーバーフ

ローなどを題材とした、13の学習テーマか

ら構成されている。

学習

教材や演習環境を使って、脆弱性を突いた攻撃が成功する

仕組みから実際の対策方法までを学習するツール

教材

:脆弱性対策に必要な情報を図解したもの

演習環境

:故意に脆弱性を埋め込んだアプリケーション

下記の

2種類

がある

4

本講義では、

ウェブアプリケーション版

の演習環境を使います。

(5)

学習テーマ一覧

-ウェブアプリケーション版-

ウェブアプリケーション版は、下記表の脆弱性を学習可能

講義内で

演習実施

(6)

Copyright © 2011 独立行政法人 情報処理推進機構

起動手順(準備)

IPAまたはVectorのウェブサイトからZIPファイルをダ

ウンロードします。

下記からダウンロード可能です

http://www.ipa.go.jp/security/vuln/appgoat/index.html

http://www.vector.co.jp/soft/dl/winnt/edu/se488644.html

動画による使い方の解説もあります

http://www.youtube.com/watch?v=uuH8JBgTdLc

6

本講義では、

お手元にあるCD-ROMから

ZIPファイルをコピーします。

(7)

起動手順(手順1)

ZIPファイルを展開し、IPAToolフォルダの中にある、

「Start.bat」をダブルクリックします。

(8)

Copyright © 2011 独立行政法人 情報処理推進機構

起動手順(手順2)

ランタイムのインストール確認ダイアログが表示され

ますが、ウェブアプリケーション環境の演習には必要

ないため、「いいえ」を選択します。

8

(9)

起動手順(手順3)

Windowsファイアウォールの警告ダイアログが表示

された場合は、「ブロックする」を選択します。

(10)

Copyright © 2011 独立行政法人 情報処理推進機構

起動手順(手順4)

ウェブブラウザが起動し、AppGoatの総合メニューが

表示されます。これでツールが使用可能になりました。

(11)

学習の進め方

左部に表示される「テーマ一覧」から学習テーマを

選択します。あとは、流れに沿って学習を進めてい

きます。

学習テーマ選択後の流れ

脆弱性

原理解説

演習

影響解説

対策方法

解説

脆弱性の発見

にチャレンジ!

演習のイメージ

脆弱性を突いた攻撃が

成功する仕組みを体験

することで、脆弱性をより

(12)

Copyright © 2011 独立行政法人 情報処理推進機構

企業での利用シーン紹介

社内のセキュリティ研修で利用する

開発前のスキルチェックで利用する

12

研修担当者が講師となり、

ハンズオン形式で教える。

開発メンバーの理解度を確認する。

AppGoatを使った講義の補助資料を公開しています。

http://www.ipa.go.jp/security/vuln/documents/appgo

at_material01.pdf

「安全なウェブサイトの作り方」と併せて利用すると効

果的です。

http://www.ipa.go.jp/security/vuln/websecurity.html

(13)

AppGoatを使う際の注意事項

AppGoatでは、脆弱性を埋め込んだ演習環境に

対して、疑似的に攻撃します。これは攻撃手法を

理解して対策につなげるためです。

本講義で学習した知識を基に、下記に該当する行為を行

わないようにしましょう。

(1) 第三者のコンピュータシステムの正常な動作に支障をきたす行為

(2) 第三者のウェブサイトへの攻撃行為

(14)

Copyright © 2011 独立行政法人 情報処理推進機構

(15)

講義内容

用語の簡易説明

SQLインジェクション脆弱性の概要

演習:AppGoatを用いた疑似攻撃体験

(16)

Copyright © 2011 独立行政法人 情報処理推進機構

登場する用語の簡易説明

ウェブアプリケーション

ウェブサーバ上で動作するアプリケーション。

利用者はウェブブラウザを用いてウェブサーバにアクセス

し、ウェブアプリケーションを利用する。

データベース

大量の情報を保存し、効率よく情報にアクセスできるよう

に加工したデータの集まり。

SQL

データベースを管理するシステム(DBMS)において、デー

タの操作や定義を行うための問合せ言語のこと。

16

(17)

SQLインジェクション脆弱性の概要

脅威

データベースへの命令(SQL文)の意味を書き換えられ、

データベースを不正に操作されてしまう

• 情報の改ざんや漏えい、認証の回避、OSコマンドの実行

原因

ウェブアプリケーションにおける、データベースへの命令

(SQL文)の組み立て方に問題

注意が必要なウェブアプリケーション

データベースを利用しているウェブアプリケーション

(18)

Copyright © 2011 独立行政法人 情報処理推進機構

18

SQLインジェクション攻撃のイメージ図

SQL インジェクションの脆弱性がある場合、 悪意あるリクエストにより、データ ベースの不正利用をまねく可

能性があります。

SQL インジェクション

データベースへの命令文

を構成する入力値を送信

データベースへ命令を送信

SQLインジェ クションの脆弱性

があるウェブアプリケーション

悪意のある人

ウェブサイト

データ

ベース

改ざん

情報

漏えい

消去

SQL文の組み立て方に問題

(19)

SQL文の組み立て方に問題があると

ウェブサーバ

ウェブアプリ

データベース

user

全てのユーザ情報

SELECT * FROM user WHERE id=‘$ID’

SQL文例

ID入力欄に下記文字列を入力し

リクエストを送信する。

ユーザの入力値をもとにSQL文を組み立て、

データベースに送信する。

SQL文の実行結果を

ウェブアプリに返す。

全てのユーザの

情報を参照できる

悪意がある人

john ’ OR ‘A’=‘A

SELECT * FROM user

WHERE id=

‘ john’ OR ‘A’=‘A ’

john’ OR ‘A’=‘A

「全て」を意味する

(20)

Copyright © 2011 独立行政法人 情報処理推進機構

20

アプリケーション開発者が想定していたSQL文

SELECT * FROM user WHERE id=

' '

;

攻撃により、意味が書き換えられたSQL文

SELECT * FROM user WHERE id=

'

john' OR 'A'='A

'

;

※SQL文中の「'john'」のような定数をリテラルと呼び、文字列としてのリテラル

を文字列リテラルと呼ぶ。数値は数値リテラルと呼ぶ。

文字列リテラルは「'」で括り、数値リテラルは「'」で括らない。

攻撃によりSQL文の意味が書き換えられる

条件: Id列の値と、「

'

」で括られた文字列リテラル(※)が一致する行

条件: Id列の値と、文字列リテラル john が一致する行

または

文字列リテラルAと文字列リテラルAが一致する行(

常に成立する条件

john

john

'

OR

'

A

'

=

'

A

はユーザからの入力値を表す

(21)

脅威は情報漏えいに限らない。

データベース

を制御され、データが作成/読み込み/更新/

削除される可能性がある。

Create (作成):

偽データの追加の脅威

Read (読込):

データの漏えいの脅威

Update(更新):

偽データでの上書きの脅威

Delete (削除):

データの削除の脅威

OSコマンドの実行

SQLインジェクション攻撃の脅威

(22)

Copyright © 2011 独立行政法人 情報処理推進機構

SQLインジェクションの脆弱性を

取り巻く状況

22

クレジットカード番号や個人情報の漏えい

音響機器・楽器販売サイト

健康食品や医薬品販売サイト

化粧品販売サイト

雑貨販売サイト

ウイルス感染などを引き起こすウェブサイトの改ざん

ウイルス対策ソフト開発会社

自動車情報サイト

政府関連のウェブサイト

(23)

[演習]AppGoatを用いた疑似攻撃体験

[時間]30分(解説含む)

AppGoatを起動し、SQLインジェクションの下

記テーマの演習を実施してください。

「不正なログイン(文字列リテラル)」

画面上に「Congratulations!! 」と表示される

と演習クリアです。

(24)

Copyright © 2011 独立行政法人 情報処理推進機構

[演習]演習環境へのアクセス方法

AppGoat起動後、①学習テーマを選択し、

②パンくずリストの「演習」をクリックします。

(25)

[演習]演習の進め方

下記のように、ウェブアプリケーションがどのように

SQL文を組み立てているのか、想像しながら演習問

題を解いてみましょう。

「前提条件」ボタンを押下し、どのようなSQL文が使用され

ているか確認する。

様々な値でログインを試み、ウェブアプリケーションの挙動

を確認する。

• ログインIDに「yamada」、パスワードに「P@ssword」を入力する。

• ログインID、パスワードともに「yamada」を入力する。

• 入力欄のいずれかにシングルクォート「'」を入力する。

(26)

Copyright © 2011 独立行政法人 情報処理推進機構

[演習]行き詰まった場合

問題を解くのに行き詰まった場合は、AppGoatの

ヒント機能を参考に演習を進めてください。

不明な点がございましたら、お気軽にお声掛けくだ

さい(または挙手)。補助講師が伺います。

26

AppGoatのヒント機能

(27)

[演習解説]

演習解説は、別紙を参照してください。別紙

は、演習時間終了後に閲覧するようにしてく

ださい。

(28)

Copyright © 2011 独立行政法人 情報処理推進機構

SQLインジェクション脆弱性の対策

根本的解決

「脆弱性の原因を作り込まない実装」

SQL文の組み立て時に、パラメータの値を正しく

リテラルとして展開する

• SQL文の組み立ては全てプレースホルダで実装する。

• SQL文の組み立てを文字列連結により行う場合は、エスケープ処

理等を行うデータベースエンジンのAPIを用いて、SQL文のリテラ

ルを正しく構成する。

保険的対策

「攻撃による影響を軽減する対策」※

詳細なエラーメッセージの抑止

データベースアカウントの権限見直し

28

※ 脆弱性の原因そのものを無くす対策ではない

(29)

根本的解決

プレースホルダによるSQL文の組み立て

パラメータを「?」などの記号で示しておき、後に、そこへ実

際の値を機械的な処理で割り当てる方法のこと

記号「?」をプレースホルダと呼び、そこへ実際の値を割り

当てることを「バインドする」と呼ぶ

プレースホルダを用いることで、SQLインジェクション攻撃

によりSQL文の構文を変化させられないようにする

PreparedStatement prep = conn.prepareStatement("SELECT * FROM

employee WHERE name=

?

");

prep.setString(1, "山田");

プレース

(30)

Copyright © 2011 独立行政法人 情報処理推進機構

根本的解決

プレースホルダの種類

バインドをいつ行うのかによって、下記の2種類

に分けられる。

30

静的プレースホルダ

 データベース側がバインド処理

 後からSQL文の構文が変化することがなく、原理的にSQL

インジェクションの可能性がない

動的プレースホルダ

 ウェブアプリケーション側のライブラリ内でバインド処理

 ライブラリの実装にバグがあった場合は、攻撃によりSQL

文の構文を変化させられてしまう可能性を否定できない

静的プレースホルダ

を推奨

(31)

静的プレースホルダ使用時のSQL文実行の流れ

ウェブサイト

利用者

SELECT *FROM table WHERE id = ‘●’ and passwd = ‘▲’

●=satou, ▲=a15T

●=satou, ▲=a15T

SELECT *FROM table WHERE id = ‘satou’ and passwd = ‘a15T’

実行結果

ウェブアプリケーション

データベース

静的プレースホルダ

SELECT *FROM table WHERE id = ‘●’ and passwd = ‘▲’

実行結果

●=takana, ▲=vRi5

●=takana, ▲=vRi5

SELECT *FROM table WHERE id = ‘takana’ and passwd = ‘vRi5’

(32)

Copyright © 2011 独立行政法人 情報処理推進機構

32

プレースホルダの使用例

(根本的解決)

静的プレースホルダを使用

(PHP + PostgreSQL)

<?php

require_once 'MDB2.php';//ライブラリのロード

$db = MDB2::connect('pgsql://username:password@hostname/dbname' .

'?charset=utf8');

if(PEAR::isError($db)) {

//エラー処理

}

$stmt = $db->prepare('SELECT * FROM atable WHERE name=? and num=?',

array('text', 'integer'), array('text', 'text', 'integer'));

$rs = $stmt->execute(array($name, $num)); // 文字列型と整数型の変数

if(PEAR::isError($rs)) {

//エラー処理

}

// 以下は検索結果の表示

while($row = $rs->fetchRow()) {

printf("%s:%s:%s¥n", $row[0], $row[1], $row[2]);

}

参考:「安全なSQLの呼び出し方」P.19

(33)

保険的対策

攻撃による影響を低減する対策

詳細なエラーメッセージを表示しないようにする

詳細なデータベースに関するエラーメッセージをウェブページに表示

させない

エラーを表示するとしても、内容は最小限にする

データベースアカウントの権限見直し

「権限全部入り」のアカウントは使わない

• 既存のテーブルを読み書きするだけなのに、テーブル操作や管理等の

権限はいらない

• 権限を必要最小限にすれば、防げる攻撃もある

その他の対応

(34)

Copyright © 2011 独立行政法人 情報処理推進機構

SQL文の組み立て時には、プレースホルダを使

用して、パラメータを正しくリテラルとして展開する。

その他の対策は、「安全なウェブサイトの作り方」、

「安全なSQLの呼び出し方」を参照。

対策のおさらい

34

安全なウェブサイトの作り方 改訂第5版

別冊:「安全なSQLの呼び出し方」

http://www.ipa.go.jp/security/vuln/websecurity.html

(35)
(36)

Copyright © 2011 独立行政法人 情報処理推進機構

36

講義内容

用語の簡易説明

クロスサイト・スクリプティング脆弱性の概要

実習:AppGoatを用いた疑似攻撃体験

対策のポイント

(37)

登場する用語の簡易説明

HTML

ウェブページを記述するためのマークアップ言語。

文書の一部を

<”と“>”で挟まれた「タグ」と呼ばれる特別な

文字列

で囲うことにより、文章の構造や修飾についての情

報を文書に埋め込んで記述することができる。

Cookie

ウェブサーバとウェブブラウザ間で状態を管理するために

使われる。例えば、ウェブサイトの訪問回数や、ユーザ認

証後の状態を管理するために使われる。

(38)

Copyright © 2011 独立行政法人 情報処理推進機構

38

クロスサイト・スクリプティング脆弱性の概要

脅威

出力するウェブページ(HTML)を書き換えられ、ウェブ

ページを操作されてしまう

• 本物サイト上に偽のページが表示される、Cookieを取得される等

原因

ウェブページ出力(HTML生成)の実装に問題

注意が必要なウェブアプリケーション

動的にウェブページを出力するウェブアプリケー

ション

(39)

クロスサイト・スクリプティング攻撃の

イメージ図

ウェブ

アプリケーション

3.スクリプトを含む

悪意の

ある人

利用者のブラウザ

悪意のある人が

用意した罠ページ

1-a.罠とは知ら

ず、悪意あるサイト

の罠ページを閲覧

1-b.罠リンクを含

むメールを送信

ウェブサイト

リンク

クリック!

利用者のメーラ

2. クリック等

により、 スク リ

プ ト を 含 む 文

字列を送信

Cookie

漏えい

偽ページ

の表示

スクリプト

利用者

• 罠ページや罠リンクへのアクセスから、利用者が被害を受ける

(40)

Copyright © 2011 独立行政法人 情報処理推進機構

HTML生成の実装に問題があると

ウェブサーバ

+ウェブアプリ

検索キーワード IPA

検索キーワード

<s>IPA</s>

ウェブサーバ

+ウェブアプリ

<s>は、取り消し線

を引くHTMLタグ

<html>

IPA

を含む検索結果

…</html>

IPA

<html>

【<s>IPA</s>

を含む

検索結果

</html>

<s>IPA</s>

"

<

"

および

"

>

"

が出力され、HTMLタグとして認識

されてしまう (表示が崩れる)。

【IPA】を含む

検索結果

IPA】を含む

検索結果

利用者

利用者

40

正常系

異常系

(41)

アプリケーション開発者が想定していたHTML

攻撃により、書き換えられたHTML

攻撃によりHTMLを書き換えられる

<html>

IPA

を含む検索結果

…</html>

IPA

<html>

【<s>IPA</s>

を含む

検索結果

</html>

<s>IPA</s>

【IPA】を含む検索結果

【IPA】を含む検索結果

HTMLソース

ウェブブラウザ

HTMLソース

ウェブブラウザ

(42)

Copyright © 2011 独立行政法人 情報処理推進機構

HTMLを書き換えられてしまうと

42

偽情報の表示

悪意あるサイト

への誘導

なりすましに

つながる

情報の窃取

(43)

クロスサイト・スクリプティング攻撃の脅威

本物サイト上に偽のページが表示される

偽の情報の流布による混乱

フィッシング詐欺による重要情報の漏えい

アドレスバーに表示されているドメインは正規のものである

ため、利用者が罠と気付きにくい

ブラウザが保存しているCookie を取得される

Cookieにセッション ID が格納されている場合、さらに利用

者への成りすましにつながる

任意のCookieをブラウザに保存させられる

(44)

Copyright © 2011 独立行政法人 情報処理推進機構

クロスサイト・スクリプティングの脆弱性を

取り巻く状況

脆弱性による被害や騒動があったサイト

動画共有サービス

ミニブログサイト

バグ管理システム

ウェブメール

クラウドを使ったデータ管理サービス

IPAに届け出られたクロスサイト・スクリプティング

の脆弱性は、2300件以上

(2011年3月末)

44

(45)

[演習]AppGoatを用いた疑似攻撃体験

[時間]30分(解説含む)

AppGoatを起動し、クロスサイト・スクリプティ

ングの下記テーマの演習を実施してください。

「アンケートページの改ざん(反射型)」

画面上に「Congratulations!! 」と表示されると

演習クリアです。

(46)

Copyright © 2011 独立行政法人 情報処理推進機構

[演習]演習環境へのアクセス方法

AppGoat起動後、①学習テーマを選択し、

②パンくずリストの「演習」をクリックします。

(47)

[演習]演習の進め方

下記のように、ウェブアプリケーションがどのように

HTMLを生成しているのか、想像しながら演習問題

を解いてみましょう。

アンケートページで様々な値を入力し、入力内容確認ペー

ジやエラーページを表示させる。

アンケートページで入力した値が、どのようにHTMLに反

映されているか確認する。

アンケートページ上で右クリックし、「ソースを表示」でHTMLソースを表示する。

Internet Explorer

Firefox

(48)

Copyright © 2011 独立行政法人 情報処理推進機構

[演習]行き詰まった場合

問題を解くのに行き詰まった場合は、AppGoatの

ヒント機能を参考に演習を進めてください。

次のスライドの財団法人 地方自治情報センター

(LASDEC)の資料抜粋(項番2.4)を参照ください。

48

ウェブ健康診断 - 財団法人 地方自治情報センター(LASDEC)

平成22年度版ウェブ健康診断仕様 Internet公開用

https://www.lasdec.or.jp/cms/resources/content/1284/H22_web_kenko_shindan.pdf

AppGoatのヒント機能

脆弱性の検出パターンや脆弱性有無の

判定基準の目安が記載されています

(49)

平成22年度版ウェブ健康診断仕様(抜粋)

地方自治体向けの脆弱性有無確認の参考資料

[

]

(50)

Copyright © 2011 独立行政法人 情報処理推進機構

[演習解説]

演習解説は、別紙を参照してください。別紙

は、演習時間終了後に閲覧するようにしてく

ださい。

50

(51)

クロスサイト・スクリプティング脆弱性の対策

HTML テキストの入力を許可しない場合

HTML テキストの入力を許可する場合

-根本的解決

・HTMLにおける特別な記号文字をエスケープ処理する

・URL 出力時のスキームを制限する

・スクリプト要素の内容を動的に生成しない

-保険的対策

・入力値チェックをする

-根本的解決

・構文解析木を作成して、必要な要素のみを抽出する

-保険的対策

・入力された HTML テキストから、スクリプトを除く

掲示板やブログ等のアプリ

検索や情報登録等の機能

を有するアプリ

(52)

Copyright © 2011 独立行政法人 情報処理推進機構

52

& → &amp; < → &lt;

" → &quot; > → &gt;

' → &#039;

HTMLにおける特別な意味を持つ「記号文字」

を文字参照に置換

(HTMLを許可しない場合)

例:

入力値:

<

script

>

alert(

"

test

"

);

<

/script

>

置換後:

&lt;

script

&gt;

alert(

&quot;

test

&quot;

);

&lt;

/script

&gt;

(53)

エスケープ処理なし

エスケープ処理あり

エスケープ処理

(HTML不許可/根本的解決)

<input type="text" id="test" value=""><script>alert('ipa');</script>" />

HTMLソース

<input type="text" id="test"

value="&quot;&gt;&lt;script&gt;alert(&#039;ipa&#039;);&lt;/script&gt;" />

HTMLソース

ウェブブラウザ上の表示

ウェブブラウザ上の表示

scriptタグとして

解釈された

(54)

Copyright © 2011 独立行政法人 情報処理推進機構

そもそもエスケープ処理って?

54

HTMLやSQLの構文毎に異なる、特別な意味を

持つ「記号文字」(特殊記号)を

"文字そのもの"

として扱うために行う処理。

HTMLにおける特殊記号は、「<」「"」「'」「&」など

SQLにおける特殊記号は、「'」「_」「%」など

特殊記号の中でも

「データの区切り」を表す記号

をエスケープする

ことが、セキュリティ上重要。

HTMLにおけるデータの区切り記号は、「<」「"」など

SQLにおけるデータの区切り記号は、「'」など

(55)

入力値チェックの位置づけ

(保険的対策)

入力値チェックとは、利用者が入力した値の書式を

確認することが主目的。

例:パスワードの長さや使用可能な文字種のチェック

電話番号やメールアドレスの書式チェック

脆弱性による被害を低減する役割を果たすことが

あるが、入力値チェックだけでは防げない。

参考:脆弱性体験学習ツールAppGoat

(56)

Copyright © 2011 独立行政法人 情報処理推進機構

ウェブブラウザ側の

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

ウェブブラウザには、クロスサイト・スクリプティング

攻撃を防ぐ「XSSフィルタ」機能が備わっているもの

がある。

XSSフィルタの検知ロジックは様々。誤検知や検知

しない可能性もある。

根本的には、ウェブアプリケーション側で対策する

必要がある。

56

[

]

(57)

対策のおさらい

ウェブページを出力する際には、HTMLにおける特

別な意味を持つ記号文字をエスケープすることが必

要。

ウェブサイトの性質によってエスケープ方法が異な

る場合がある。詳しくは「安全なウェブサイトの作り

方」を参照。

(58)

Copyright © 2011 独立行政法人 情報処理推進機構

最後に

脆弱性が生まれる原理や対策方法の理解を深める

ために、AppGoatを使ってウェブアプリケーションの

挙動を確認しました。

脆弱性対策を学習するために、AppGoatを活用いた

だけましたら幸いです。

セミナー講師が脆弱性対策を教える際の補助ツールとして

社内への脆弱性対策の教育に

アプリケーション開発者に対する脆弱性対策学習を支援す

るツールとして

58

(59)

アンケート記入

お疲れ様でした

AppGoatに対する要望や意見を収集するため

に、IPAのアンケートにご協力お願いします。

参照

Outline

関連したドキュメント

子どもの学習従事時間を Fig.1 に示した。BL 期には学習への注意喚起が 2 回あり,強 化子があっても学習従事時間が 30

Oracle WebLogic Server の脆弱性 CVE-2019-2725 に関する注 意喚起 ISC BIND 9 に対する複数の脆弱性に関する注意喚起 Confluence Server および Confluence

ピアノの学習を取り入れる際に必ず提起される

社会調査論 調査企画演習 調査統計演習 フィールドワーク演習 統計解析演習A~C 社会統計学Ⅰ 社会統計学Ⅱ 社会統計学Ⅲ.

一般法理学の分野ほどイングランドの学問的貢献がわずか

国際地域理解入門B 国際学入門 日本経済基礎 Japanese Economy 基礎演習A 基礎演習B 国際移民論 研究演習Ⅰ 研究演習Ⅱ 卒業論文

授業は行っていません。このため、井口担当の 3 年生の研究演習は、2022 年度春学期に 2 コマ行います。また、井口担当の 4 年生の研究演習は、 2023 年秋学期に 2

SDGs を学ぶ入り口としてカードゲームでの体験学習を取り入れた。スマ