コンピュータネットワーク
第9回
第3回課題:内容と提出物
課題1)
◦
Wiresharkを使ってパケットデータを取得
◦
そのときにWebでどこかのサイトにアクセスする
◦
パケットデータより
1-1)アクセスした先のURLを調べる 1-2)アクセスした先のDNSのFQDN名とIPアドレスを調べる 課題2)
◦
toho_comnet_005.pcapにおいて、POPアクセスしている
ユーザの名前とパスワードを調べる
提出内容
◦
課題1)
1-1)アクセスした先のURL 1-2)アクセス先のDNS名とIPアドレス パケットデータ(pcap⽅式)◦
課題2)
ユーザ名とパスワード第3回課題:提出⽅法と締切
提出⽅法
◦ 電⼦メール 課題1-1)のURL、1-2)のDNS名とIPアドレス、課題2)のユー ザ名とパスワードは、メール⽂中に パケットデータはファイルをメールに添付 メールタイトル(件名)に「[コンピュータネットワーク:(学籍番 号)]」と⼊れること ◦ akira.kanaoka@is.sci.toho-u.ac.jp (アットマークが⼤⽂字になっていますので、⼩⽂字に直してから送っ てください) 締切
◦ 2013年6⽉28⽇(⾦)18:00 注意:
◦ 電⼦メールで提出した場合、必ず私から「受領しました」というメールを返信し ます。返信がない場合は、メールば届いていない可能性があります。課題提出後 は、⾦岡からの受領メールを必ず確認してください。 英語ではメール返信はしません ◦ データが全く同じ⼈達がいた場合、「最初に提出した⼈のみを通常の評価」にし、 後の⼈は「半分の評価」とします先週までのおさらい
通信の階層
リンク層
◦
イーサネット(Ethernet)
◦
CSMA/CD
インターネット層
◦
IP(Internet Protocol)
◦
ルーティング
トランスポート層
◦
TCP(Transmission Control Protocol)
アプリケーション層
◦
DNS、電⼦メール(SMTP、POP)
◦
Web
OSI参照モデル
階層の名称
役割
応⽤層
特定応⽤サービスと共通応⽤サービスの
提供
プレゼンテーション層 抽象構⽂と転送構⽂の相互変換
セッション層
セッション制御:⽚⽅向、半⼆重、全⼆
重
トランスポート層
順序制御や誤り制御機構
ネットワーク層
データ転送のための経路選択や中継機能
データリンク層
フレーム(ビット列)の順序制御、誤り
制御機能
物理層
2ノード間においてビット列の伝送を⾏な
うための規格、⼿順、機能特性
TCP/IP階層モデル
階層の名称
概要
具体例
アプリケーション層
(Application)
アプリケーションを実現
HTTP、DNS、
SMTP、POP、
IMAP、FTP、
SNMP、NNTP
トランスポート層
(Transport)
アプリケーションのためにエ
ンド間の通信サービスを提供
TCP、UDP
インターネット層
(Internet)
データを送信元から宛先に運
ぶ
IP、ICMP、ARP、
RARP
リンク層
(Link)
直接接続されたネットワーク
上で通信されるための通信プ
ロトコル
イーサネット、
FDDI、X.25、
ISDN、同軸ケー
ブル、UTP、光
ファイバー
リンク層
階層の名称
概要
具体例
アプリケーション層
(Application)
アプリケーションを実現
HTTP、DNS、
SMTP、POP、
IMAP、FTP、
SNMP、NNTP
トランスポート層
(Transport)
アプリケーションのためにエ
ンド間の通信サービスを提供
TCP、UDP
インターネット層
(Internet)
データを送信元から宛先に運
ぶ
IP、ICMP、ARP、
RARP
リンク層
(Link)
直接接続されたネットワーク
上で通信されるための通信プ
ロトコル
イーサネット、
FDDI、X.25、
ISDN、同軸ケー
ブル、UTP、光
ファイバー
TCP/IP 階層モデル
リンク層
直接接続されたネットワーク上での通信を確⽴する層 代表的なものは以下の3つ
◦ イーサネット(Ethernet) ◦ トークンリング
◦ FDDI(Fiber Distributed Data Interface)
LAN(ローカルエリアネットワーク)上でデータ転送を⾏なうための
プロトコル
◦ いずれもデータ転送に「フレーム」と呼ばれるデータのかたまりを⽤いる
データの衝突を排除するための仕組み:CSMA/CD(Carrire Sense
Multiple Access/Collision Detection)
直接接続 リピータ・ハブを介した接続
インターネット層
階層の名称
概要
具体例
アプリケーション層
(Application)
アプリケーションを実現
HTTP、DNS、
SMTP、POP、
IMAP、FTP、
SNMP、NNTP
トランスポート層
(Transport)
アプリケーションのためにエ
ンド間の通信サービスを提供
TCP、UDP
インターネット層
(Internet)
データを送信元から宛先に運
ぶ
IP、ICMP、ARP、
RARP
リンク層
(Link)
直接接続されたネットワーク
上で通信されるための通信プ
ロトコル
イーサネット、
FDDI、X.25、
ISDN、同軸ケー
ブル、UTP、光
ファイバー
TCP/IP 階層モデル
IP (Internet Protocol)
インターネットにおいてデータ転送の
基礎となるプロトコル
さまざまな特徴
◦
コネクションレス
◦
ベストエフォート
◦
経路選択(ルーティング)
「データグラム」と呼ばれるデータの
かたまりごとに通信を⾏う
トランスポート層
階層の名称
概要
具体例
アプリケーション層
(Application)
アプリケーションを実現
HTTP、DNS、
SMTP、POP、
IMAP、FTP、
SNMP、NNTP
トランスポート層
(Transport)
アプリケーションのためにエ
ンド間の通信サービスを提供
TCP、UDP
インターネット層
(Internet)
データを送信元から宛先に運
ぶ
IP、ICMP、ARP、
RARP
リンク層
(Link)
直接接続されたネットワーク
上で通信されるための通信プ
ロトコル
イーサネット、
FDDI、X.25、
ISDN、同軸ケー
ブル、UTP、光
ファイバー
TCP/IP 階層モデル
TCPとUDP
IPが出来ること
◦
経路制御(ルーティング)を⽤いて、遠くの相⼿とで
もデータをやり取り可能
IPが出来ないこと
◦
信頼できる通信
◦
複数のサービスを同時提供
そこでTCPとUDP
◦
TCP
(Transmission Control
Protocol)
◦
UDP
(User Datagram Protocol)
HTTP、DNS、SMTP、POP3、 IMAP、FTP、SNMP、NNTP
TCP
UDP
IP
(ICMP、ARP、RARP) イーサネット、FDDI、X.25、ISDN、 同軸ケーブル、UTP、光ファイバーアプリケーション層
階層の名称
概要
具体例
アプリケーション層
(Application)
アプリケーションを実現
HTTP、DNS、
SMTP、POP、
IMAP、FTP、
SNMP、NNTP
トランスポート層
(Transport)
アプリケーションのためにエ
ンド間の通信サービスを提供
TCP、UDP
インターネット層
(Internet)
データを送信元から宛先に運
ぶ
IP、ICMP、ARP、
RARP
リンク層
(Link)
直接接続されたネットワーク
上で通信されるための通信プ
ロトコル
イーサネット、
FDDI、X.25、
ISDN、同軸ケー
ブル、UTP、光
ファイバー
TCP/IP 階層モデル
DNS(Domain Name System)
IPアドレス ◦ ⼀意な番号で世界中と通信可能 ◦ ⼈間の記憶には向かない情報 ◦ 202.16.211.113と202.16.210.**と…などなど ⼈間が覚えやすいように名前をつけよう ◦ 202.16.211.113さんは「cheese」ね。 ◦ 130.158.81.38さんは「kanaweb」ね。 ◦ でもこれも数が多いとわからなくなる 所属をつけるようにしよう ◦ 130.158.103.51さんは、⽇本の、筑波⼤の、リスク⼯学専攻の、暗号・情報セ キュリティ研究室の「kanaweb」さんね。cheese.klab.is.sci.toho-u.ac.jp
所属(ドメイン)ごとに名前を管理し、表記する 命名規則とその解決システムDNS
⽇本 東邦⼤ 理学部 ⾦岡研究室 情報科学科 学術機関FQDNと正引き/逆引き
FQDN(Fully Qualified Domain Name)
◦
完全修飾ドメイン名
◦
ドメインやホストに対する絶対指定を⾏なう際に使われる
◦
例:www.klab.is.sci.toho-u.ac.jp
正問い合わせ(正引き)と逆問い合わせ(逆引き)
◦
正問い合わせ:ドメインやホスト名からリソース(IPアドレ
ス)を問い合わせる
◦
逆問い合わせ:リソース(IPアドレス)からドメインやホス
ト名を問い合わせる
www.klab.is.sci.toho-u.ac.jp
202.16.211.113
正引き
逆引き
DNSのFQDNが記載される
電⼦メール
メッセージを交換するシ
ステム
メールアドレス
◦
相⼿を特定するための情
報
akira.kanaoka@is.sci.toho-u.ac.jp
場所(アドレス) 名前(ユーザ) ドメイン、ホスト名電⼦メールのプロトコル:SMTP
SMTP(Simple Mail Transfer Protocol)
◦
メール配送のためのプロトコル
◦
TCPのポート25番利⽤される
HELO *** 通信開始 MAIL FROM: *** 送信者の指定 RCPT TO: *** 受信者の指定 DATA メール本文 VRFY *** ユーザ名の確認 QUIT 終了 SMTPの主なコマンド コマンドの やりとり HELO mail.example.com RCPT TO:a@example.com電⼦メールのプロトコル:POP
POP(Post Office Protocol)
電⼦メールをサーバから受け取るためのプロ
トコル
もともとSMTPだけで成り⽴つものだったが、
メールサーバとしての常時稼動が必要
TCPのポート110番が利⽤される(POP3)
認証機能
SMTP POP POPWWW(World Wide Web)
WWWとは ◦ インターネットで提供されるサービスの1つ ◦ 世界中に広がるクモの巣(web) ◦ 単にWeb(ウェブ)とも 情報提供を⾏うサービス ◦ ハイパーテキストと呼ばれる情報をやり取りする Webブラウザ ◦ WWWの情報を表⽰するソフトウェア 使われている技術◦ URL(Uniform Resource Locator) 情報の場所や取得⽅法の指定 ◦ HTML Webの情報を記述するための⾔語 ◦ HTTP 情報の送受信を⾏うプロトコル HTML:情報の記述⽅法 HTML:情報をやりとりする⽅法 URL:どこに情報があるかを⽰す WWW
Webの発展
ネットサーフィン
◦
リンクをたどり、次々に新しい情報を得る
Yahooによるインデックスサービス
◦
情報のデータベース化
Googleによる検索
◦
機械的なクローリングによるデータベース
化
◦
Page Rank
電⼦商取引のスタート
◦
Amazon
Lawrence Edward "Larry" Page
(1973- )
Sergey Brin (1973- )
Youtube Google Maps/ Gmail
/ iGoogle /Google AdSense
Wikipedia ソーシャルサービス ブログ
新たなWWW上のサービス
さまざまな技術 Javascript CGI Flash HTML5変わってきたWeb
プラットフォームとしてのWeb
情報のユーザによるコントロール
パッケージソフトウェアではなくサービ
ス
ユーザ参加のアーキテクチャ
⾼い拡張性とコスト効率
再構成可能なデータソースとデータの変
換
単⼀のデバイスの枠を超えたソフトウェ
ア
集合知の利⽤
Tim O'Reilly, “What Is Web 2.0”
WWW上の広告
WWWが発展するに従い、Webページ上
で広告を載せることが注⽬されてきた
◦
≒ビジネスとして価値があると判断され始めた
クリック数による報酬制
当初は、Webページに広告を掲載する
ユーザがどの広告を載せるかを決めてい
た
◦
アフィリエイトサービス
◦
例
http://d.hatena.ne.jp/kowagari/20080106/1199
590354
Google AdSense
Google AdSenseのシステムが⾃動的
にサイトの内容を解析し、サイトに
あった広告を配信するシステム
◦
https://www.google.com/adsense/logi
n/ja/?hl=ja&gsessionid=sHPvIScbcCk
◦
ユーザが本当にほしいものに近い広告を提
供できる
◦
広告を提供する側は、効果的に広告を配信
できる
ロングテール
◦
80対20の法則
Intermission:ロングテール
1897年に、イタリアの社
会・経済学者ヴィルフレッ
ド・パレートが発⾒したパ
レートの法則
◦
べき則
いろいろな現象・関係性が
べき則であることが近年知
られてきている
◦
所得分布
◦
⼈間のつながり
学術論⽂のつながり◦
男⼥の性的関係
◦
インターネット構造
◦
WWW
◦
電⼦メール
0 5 10 15 20 0 2 4 6 8 10 0.1 1 10 100 0.1 1 10筑波⼤ 暗号・情報セキュリティ研究室の電⼦
メールによるつながりを⽰すネットワーク
動的⽣成ページによるユーザ参加
ブログサービス
SNS
(Social Networking
Service)
◦
mixiが⽇本最⼤か
◦
Amazon レビュー
◦ http://kirik.tea-nifty.com/diary/2007/12/amazon_86cb.html
Wikipedia
ジェネレータ
◦
もんじろう
http://monjiro.net/
◦
幕末古写真ジェネレータ
http://labs.wanokoto.jp/olds
Mark Elliot Zuckerberg (1984- )
Javascript
スクリプト⾔語の⼀種
◦ スクリプト⾔語:簡易なプログラム⾔語 主にWebブラウザ上で実⾏される
◦ 知らずに世話になっている ◦ インタラクティブなページ(Google Mapsや、検索ページで の⼊⼒補完) 簡単にできるものをいろいろとやってみよう
◦ (ちょっと古いけど)webをレイザーラモンHG⼝調に変換さ せる JavaScript:with(document.body)innerHTML=innerHTML.repl ace(/<¥/(a|A)> /g,'フゥーーー!!').replace(/。/g,'フゥーーー!! ').replace(/」/g,'オッケ〜〜!!」').replace (/w/g,'セイセイ ');focus() ◦ Webサイトの⾊を反転 javascript:void(document.body.style.filter="progid:DXImage Transform.Microsoft.basicimage(Invert=1)") ◦ ぼやける javascript:document.body.style.filter="blur(add=false, direction=225, strength=5)";eval();Javascript 続き
Webページが崩壊
javascript:(function(){var s=document.createElement("script");s.charset="UTF-8";var da=new Date();s.src="http://www.rr.iij4u.or.jp/~kazumix/d/javascript/mel tdown/meltdown.js?"+da.getTime(); document.body.appendChild(s)})(); Web福笑い
javascript:(function(){var s=document.createElement("script");s.charset="UTF-8";var da=new Date();s.src="http://www.rr.iij4u.or.jp/~kazumix/d/javascript/fuk uwarai.js?"+da.getTime(); document.body.appendChild(s)})(); 画像が幕末⾵に
javascript:(function(d){if(typeof Bakumatsu != "undefined"){Bakumatsu.convert(d.getElementsByTagName('img') );}else{s=d.createElement('script');s.type='text/javascript';s.src= 'http://tech.nitoyon.com/bakumatsu/allbakumatsu.js';d.body.appe ndChild(s);}})(document);XMLHttpRequest
スクリプト⾔語
◦
Microsoft社(Internet Explorer)が開発
◦
その後Mozilla(Firefox)が採⽤
サーバとのHTTP通信を⾏うための組み
込みオブジェクト(API)
すでに読み込んだページからさらに
HTTPリクエストを発することができる
◦
ページ遷移することなしにデータを送受信
可能
DHTML
静的な HTML の内容をCSS
(Cascading Style Sheets)と
JavaScript 等のクライアントサイドス
クリプト⾔語を⽤いて動的に変更する
ウェブ技術を指す抽象概念
◦
マウスを当てると動作が変わる、など
Youtube
◦
http://jp.youtube.com/
Ajax
「エイジャックス」「アジャックス」どちらで
も正しい
ウェブブラウザ内で⾮同期通信とインターフェ
イスの構築などを⾏う技術の総称
◦
Javascript
◦
XMLHttpRequest
◦
DHTML
具体的なサービス例
◦
Google Map
Ajaxによるサービス
◦
インクリメンタルサーチ
コンピュータネットワーク
上の脅威と対策
今⽇やること
◦
ネットワーク上の脅威と対策
サービス妨害(DoS)攻撃
マルウェア
サービス妨害(DoS)攻撃
DoS攻撃とは? Denial of Service:サービスを不能にする攻撃
プロトコル型
Flooding(洪⽔)型
• Ping of Death (PoD)
• 規定サイズを遙かに超える巨⼤パケットを送信し、クラッシュをさせる • Land • 送信元アドレスを、送り先アドレスと同じにして送り、無限ループを誘う • TearDrop • IPパケット分割のためのオフセット(順序情報)を偽造することで不正な パケットを⽣成し、美味く処理できない受けてをクラッシュさせる
Smurf
ICMPのEcho Request
◦
受けた側でICMP Echoに対
応しているものはEcho
Replyを返す
ネットワークの全体(ブ
ロードキャスト)にICMP
Echoを投げる
そのときに、送信元アド
レスを偽装し、攻撃対象
のアドレスにする
⼤量のICMP Echo Reply
が攻撃対象のアドレスに
送られる
攻撃者Flooding(洪⽔)型DoS攻撃
SYN Flooding
◦
TCPのSYNパケットを⼤
量に送信
◦
SYN+ACK送信後の待ち
状態を⼤量に起こさせ、
メモリオーバを誘発させ
る
Connection Flooding
◦
TCPの3-Way Handshake
を完成させたあと放置す
ることで、待ち状態を⼤
量に起こさせ、メモリ
オーバを誘発させる
◦
TCP Floodingとも
HTTP Flooding
アプリケーション
Flooding
SYN SYN+ACK ACK SYN FloodingSYN Flooding Connection Flooding Connection Flooding Application Flooding Application Flooding HTTP FloodingHTTP Flooding別の観点からのDoS Flooding攻撃
サーバのメモリに対する攻撃
◦
SYN FloodingやConnection Flooding
サーバのCPUに対する攻撃
◦
HTTP Floodingやアプリケーション
Flooding
ネットワークのトラフィックに対する
攻撃
◦
Flooding全般
2010年9⽉のDDoS攻撃事例
尖閣諸島沖の海保巡視船と中国船舶の
衝突事件に端を発する
攻撃対象や期間が事前にWebで予告
その多くはConnection Flood
そのときの時期でIIJが観測したのは
◦
最⼤275000pps、1.4Gbps
◦
1番⻑い攻撃は、12⽇間(291時間)に渡り
最⼤で120000pps、670Mbpsの通信量
◦
http://www.iij.ad.jp/development/iir/pd
f/iir_vol10_infra.pdf
DoSの対策
SYN Cookies
◦ メモリ確保をせずに、返答パケット (SYN+ACK)内のTCPシーケンス番号に 記憶すべき情報をいれる ◦ 偽装IPを利⽤している場合、攻撃者に届 かないので攻撃者は同じ情報を返すこと ができない ◦ 正しいIPの利⽤者(正しくACKが返って きた)の分は後ほど記憶可能となる フィルタリング(Filtering)
◦ Connection型 Flooding ◦ IPアドレス遮断 ◦ 接続数制限 異常検出(Anomaly Detection)
◦ 異常検出 ◦ ログ内容やその量などの傾向を⾒る(⼈ 間) 組織間連携
SYN SYN+ACK ACKDoS攻撃対策の研究分類
• ターゲットに攻撃が届く前に⽌める技術 • Ingress/Egress Filteringなど Attack Prevention • DoS攻撃発⽣時に検知する技術 • 異常検知(Anomaly Detection)など Attack Detection • 攻撃元を特定する技術 • IPトレースバックなど Attack Source Identificati on • 攻撃の効果を除去あるいは削減する技術 • 中継点や攻撃元ネットワークでの対処など Attack Reaction ロギング⽅式 中継ルータでパケットを記録 ICMP⽅式 経路再構成情報をICMPで送信 確率的パケット マーキング (PPM)⽅式 パケットヘッダに経路情報を 確率的に付与 トレースバック技術Flash Crowd
短時間に⼤量のアクセスが特定サーバに集中
する事象
◦
攻撃ではない
◦
Yahoo!トップニュースや、テレビ番組
Flooding型のDoS攻撃と本質的な違いが無い
マルウェア
Malware (Malicious Software)
◦ 不正なソフトウェアの総称 ◦ 悪意のある/悪質な、ソフトウェアやコード ◦ コンピュータウイルス、ワーム、バックドア、キーロガー、トロイ の⽊⾺、ボット…等
歴史上のマルウェア
◦ 1988年 Morrisワーム ◦ 2001年 Nimda、CodeRed ◦ 2008年 Conficker ◦ 2009年 Gumblar 感染経路の例
◦ フロッピーディスク ◦ USB ◦ ネットワークプロトコル ◦ メール ◦ Web Drive-by-Download
Robert Tappan Morris (1965-)
マルウェア対策
感染経路の遮断
◦
ユーザの注意
不⽤意にメールを開かない
あやしいURLはクリックしない
◦
ネットワーク内での対処
プロキシ、ファイアウォール
ウイルス対策ソフト
◦
シグネチャ型
パターンファイル
定義ファイル
◦
マルウェア解析(次スライド)
マルウェア解析
静的解析と動的解析
◦
静的解析
バイナリコードを逆アセンブル
◦
動的解析
隔離環境で実際に実⾏し挙動を観測
パック(パッキング)対応
◦
パッキング:圧縮などを⽤いてプログラムの外⾒
を変える
◦
アンパック
動的解析の妨害
◦
動的解析ツールの検出
◦
マルウェア⾃⾝の再起動
◦
デバッガの検出
◦
プロセスなりすまし
新しいタイプの攻撃
(APT:Advanced Persistent Threat))
Operation Aurora
◦ 2009年12⽉ ◦ Google等の有名企業数⼗社の内部 情報やソースコードが狙われた攻撃 ◦ ゼロデイ攻撃:未知の脆弱性の悪⽤ による攻撃 Stuxnet
◦ 2010年7⽉ ◦ イランの核再処理⼯場の制御システ ムがターゲット ◦ 国家の関与?
Sony PlayStation Network
(PSN)
◦ 2011年4⽉、ハッカー集団 Anonymousによる攻撃 ◦ 2010年夏のPS3ハッキングに端を なす話 ◦ 7700万⼈のユーザ個⼈情報が流出脆弱性診断
ディスカバリー・ス
キャン
◦
どういうホストがある
か
◦
どういうOSが動いてい
るか
サービス・スキャン
◦
ホスト上でどんなサー
ビスが提供されている
か
脆弱性スキャン
侵⼊検査(ペネトレー
ションテスト),DoS
強度検査
Nmapとそのインストール⽅法
Nmapとは
◦
http://nmap.org/
Nmapのダウンロードとインストール
は授業⽤Wikiページの「 Nmapインス
トールと注意事項」を参照してくださ
い
◦
第9回講義資料(この資料です)が置いてあるとこ
ろの下に「 Nmapインストールと注意事項」への
リンクがあります。
スキャンするための作業順序
(1)スキャンしたいPCの IPアドレスを⼊⼒ (2)スキャン種類の選択 Intense Scanでいい (4)スキャン開始ボタン (5)スキャン結果の表⽰ゾーン (3)スキャンコマンド “ -PN”を⾜す ※注意:ここが「scanning」となっている間 はまだスキャン中OSタイプの読み取り⽅
3つめのタブ 「Host Details」
OSタイプの読み取り⽅
画⾯の下の⽅に ⾏くと…