ネットワークアプリケーションと セキュリティ

Slides:



Advertisements
Similar presentations
ユーザ認証を考慮した 情報コンセントの活用 明治大学 情報システム管理課 服部裕之 ( ) ’ 99私情協 学内 LAN 運用管理講習会.
Advertisements

情報基礎A 情報科学研究科 徳山 豪.
情報実験:ネットワークコンピューティング入門
第1回.
SSHのセキュリティ技術 SSH2 IPSec PKI TLS/ SSL
(株)アライブネット RS事業部 企画開発G 小田 誠
受動的攻撃について Eiji James Yoshida penetration technique research site
Ibaraki Univ. Dept of Electrical & Electronic Eng.
社内システム進捗 前回までの決定事項 →システムは「Scala PlayFramework2」で作成
サーバ・クライアントシステム & X Window System
第2章 ネットサービスとその仕組み(前編) [近代科学社刊]
UNIX Life KMSF M2 saburo.
第14回 今日の目標 §4.3 情報セキュリティー 情報化社会の特徴を社会的な面から概観する 情報に関わる危険の要因を示す
ネット時代のセキュリティ2(脅威の例) 2SK 情報機器工学.
CGI Programming and Web Security
TCP (Transmission Control Protocol)
キャンパスクラウドによる 実験環境の構築 情報ネットワーク特論 講義資料.
Phenixサーバ クラックまとめ.
「コンピュータと情報システム」 07章 インターネットとセキュリティ
ネットワークコミュニケーション よく使われるアプリケーション DNS 7/5/07.
ネットワーク コミュニケーション トランスポート層 TCP/UDP 6/28/07.
コンピュータとネットワークのしくみ 情報通信ネットワークのしくみ.
保護と安全性.
モバイルエージェントの応用 概要 モーバイルエージェントの応用分野 AgentSpaceシステム エージェント移動 応用:ソフトウェアの配信
富士通 SS研究会 2000/11/15 KEK 高エネルギー加速器研究機構 計算科学センター 八代茂夫
TCPソケットプログラミング ソケットプログラミング TCP-echoのデータ通信手順
第13回 今日の目標 §4.3 情報セキュリティー 情報化社会の特徴を社会的な面から概観する 情報に関わる危険の要因を示す
Telnet, rlogin などの仮想端末 ftp などのファイル転送 rpc, nfs
ま と め と 補 足 ネットワークシステムⅠ 第15回.
情報コミュニケーション入門 総合実習(1) 基礎知識のポイント(2)
ネットワーク技術II 第11.2課 TCP/IPアプリケーション層
保護と安全性.
第2章 第1節 情報通信の仕組み 1 ネットワークの仕組み 2 通信プロトコル 3 認証と情報の保護
第8章 Web技術とセキュリティ   岡本 好未.
Step.9 VPN VPNのトンネルを張る PC 3 PC 1 PC 2 論理ネットワーク1 xx (自動割当)
Ibaraki Univ. Dept of Electrical & Electronic Eng.
Linux リテラシ 2006 第4回 ネットワーク CIS RAT.
FreeBSDインストール 2002年4月10日.
九州大学キャンパスクラウド 利用法 情報ネットワーク特論 講義資料.
IPv6 ネットワークにおける エニーキャスト通信実現のための プロトコル設計と実装
特定ユーザーのみが利用可能な仮想プライベート・ネットワーク
ソケットプログラム(TCP,UDP) EasyChat開発
サイバーセキュリティ バッファオーバフロー
ネットワーク技術II 第9.1課 TCP/IPプロトコルスイート
インターネットにおける真に プライベートなネットワークの構築
セキュリティ 05A2013 大川内 斉.
岡村耕二 トランスポート層 岡村耕二 情報ネットワーク.
Cisco Umbrella のご紹介 2018 年 1 月.
キャンパスクラウドによる 実験環境の構築 情報ネットワーク特論 講義資料.
Linux リテラシ 2006 第5回 SSH と SCP CIS RAT.
Ibaraki Univ. Dept of Electrical & Electronic Eng.
UDPマルチキャストチャット    空川幸司.
Webプロキシ HTTP1.0 ヒント CS-B3 ネットワークプログラミング  &情報科学科実験I.
Step.1 LinuxとIPコマンド ifconfig [-a] [インタフェース名] arp [-n]
岡村耕二 トランスポート層 岡村耕二 情報ネットワーク.
Cisco Configuration Professional Express 3.3 アップデート
DNSクエリーパターンを用いたOSの推定
サーバ・クライアントシステム ( X Window System) 2006/01/20 伊藤 和也 original: 前坂たけし
サーバ・クライアントシステム (X Window System )
Minecraft: Education Edition インターネット経由で共同活動する方法 HW-02G編
最低限インターネット ネットワークにつなぎましょ!
gate登録システム: 設計ポリシーから使い方まで
サーバ・クライアントシステム (X Window System )
Step.8 ファイアウォール PC 3 PC 1 PC 2 許可したアクセス のみ通過させる アクセスする ファイアウォール
担当:青木義満 情報工学科 3年生対象 専門科目 システムプログラミング 第11回 プロセス間通信4 仮想FTPの実現 担当:青木義満
異種セグメント端末による 分散型仮想LAN構築機構の設計と実装
特定ユーザーのみが利用可能な仮想プライベート・ネットワーク
ソケットの拡張によるJava用分散ミドルウエアの高信頼化
tcp wrapper 2002年9月24日 大橋 巧 牧之内研究室「インターネット実習」Webページ
ユーザ認証の盗聴 2002/9/10 峯 肇史 牧之内研究室「インターネット実習」Webページ
Presentation transcript:

ネットワークアプリケーションと セキュリティ

代表的ネットワーク アプリケーション Web メール リモートログイン ネットワークファイル共有 遠隔端末 SSH, RSH, etc. CIFS/Samba, NFS, etc. 遠隔端末 X Window, Windows Remote Desktop

ネットワークAPI : ソケット さまざまなプロセス間通信プロトコルに共通のAPI しかし現状は, インターネット(IP, UDP, TCP) いくつかのLANプロトコル(AppleTalk, etc.) 1 Unixコンピュータ内 (Unix domain) しかし現状は, ソケット  インターネットのためのAPI

ソケットAPI サーバ s = socket(…); bind(s, addr+port); listen(s, n); new_s = accept(s); send/recv(new_s, …); クライアント: s = socket(…); connect(s, addr+port, …); send/recv(s, …); connect accept

ネットワークアプリケーションの典型的構成 アプリケーションの定めるプロトコル プロセス プロセス ソケット ソケット

まめ知識 ps –ef netstat –a すべてのプロセスを表示 現在使われているソケットの状態を表示 待機中(LISTEN) 接続中(ESTABLISHED)

インターネットとセキュリティ (1) ソケットに対するアクセス制御は,OSには組み込まれていない acceptしているソケットには誰でもconnectできる connectした相手のIPアドレス,ポートなどは(IPパケット中に書かれているものを)知ることができる しかし,相手プロセスのユーザIDなどを知る機構は組み込まれていない 全世界のユーザを管理・把握することはできない

インターネットとセキュリティ (2) ? 現在のOSにはインターネット越しのユーザに対する保護・アクセス制御の概念はない アクセス制御はアプリケーションの役目 サーバ ??? ? tau’s data コンピュータA コンピュータX

インターネットとセキュリティ (3) ひとたび計算機がインターネットに接続すれば,LANを流れるデータは容易に傍受可能

ネットワークアプリケーションのアクセス制御の実例 アプリケーションごとに異なる,アクセス制御の方針 それを実現するための,アプリケーションの構成

メールの送信 方針: 誰でも誰へでもメールを送れる(迷惑メールは×だが…) メール送信の基本的な仕組み あて先アドレスにより定まる メールクライアント あて先アドレスにより定まる メール(SMTP)サーバ メール(SMTP)サーバ クライアントに設定されている

通常のSMTPサーバのアクセス制御 同一LANからの送信要求は許可 受信(自分宛のメール)は無条件で許可 送信者の身元確認(認証)は行われない

リモートログイン 基本方針 メール送信と異なり,認証が必須 ローカルユーザXと同一人物(と思われる人物)からの接続を受け付ける

遠隔ユーザの認証 パスワード認証 公開鍵認証 クライアントがサーバへ,ユーザXのパスワードを送信 SSH, RSH サーバに保管してある公開鍵と,クライアントに保管してある秘密鍵が,対応する鍵の対であることを検証する SSH, PGP

認証後の処理 認証成功後,要求されたユーザに成りすます(setuid) ユーザ ssh tau@... ソケット root権限で実行,認証実行 ユーザ ssh tau@... ログイン プロセス (sshd) ソケット bash as tau

(一昔前の) Web 認証不要 サーバの方針: 誰からのアクセスも許可 クライアントの方針: ページを画面に表示するのみ ファイル 適当なユーザID Webサーバ プロセス Webブラウザ ファイル

現在のWeb サーバ側 クライアント側 買い物,銀行などの個人データへのアクセスを伴うアプリケーション サーバから送られたscript (プログラム)の実行による動的な(見栄えの良い)ページの表示

Webにおけるアクセス制御 クライアントの認証 サーバの認証 Webサーバに組み込まれた基本認証(パスワードによるページの保護) その他の各Webアプリケーション(CGI)ごとの認証 サーバの認証 IPアドレスによる認証 公開鍵(証明書)による認証

ネットワークセキュリティ(まとめ) 多くの部分がOSの守備範囲外 Unixはrootに, ほとんどのファイルへのアクセス権限 他のユーザになりすます権限 を与え,あとはアプリケーションに任せる

注: ネットワークでよく使われているアクセス制御 LANへの接続の制御 無線LAN WEP key ダイアルアップサーバへの認証 ルータでのアクセス制御 ソースIP, あて先IP + ポートに対して「許可・不許可」を設定 ホストでのアクセス制御 TCP wrapper インターネットファイアウォール

おまけ: 世の中を騒がせている「セキュリティ騒動」のパターン(1) 例: XXXXのバッファオーバーフロー脆弱性 XXXX : ネットワークサーバ(ssh, Window file共有, sendmail, etc.) root権限で実行中にバッファオーバーフローにより,任意の命令列が実行される 狙いはshellを実行する 考察: なぜroot権限で走る必要があるのか?

世の中を騒がせている「セキュリティ騒動」のパターン(2) Internet Explorerのバグで情報がネットワークに流出 ブラウザはローカルのユーザ権限で実行 ブラウザは(かっこいいページを表示するため)ダウンロードされたscriptプログラムを勝手に実行する ブラウザ自身がアクセス制御をしなければ,直ちにローカルユーザのデータは丸見え

世の中を騒がせている「セキュリティ騒動」のパターン(2) 続き そこでブラウザは「どのサイトからのscriptはどのデータにアクセスしてよいか」という独自のアクセス制御を「自前で,事細かに」実装する そこに間違い(バグ)があるとたちまち情報流出の危険ができる