• 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
 
 

どうやらSNSのアプリケーションを研究で使いそうなので, どんなものがあるのかを簡単に調べた結果をメモっておきます.

OpenPNE

OpenPNE

おそらく国内最大のSNS構築アプリケーション.

書籍もたくさんでていて、ネットで調べても情報がわんさか.

AROUNDMe

AROUNDMe

PHPで構築されたSNS構築アプリケーション.

あまり情報がない・・・?

SKIP

SKIP

TISが作成しオープンソース化したもの.

TISが作成したものなので、もちろん国産.

ロゴがちょっとかわいい.

「暗黙知の見える化」を実現する, らしい. (余談ですが, 暗黙知といえばマイケル・ポランニーの『暗黙知の次元』ですね!)

CommunityEngine

CommunityEngine

Railsプラグインの形で提供されている.

新規や既存のRailsアプリのpluginsディレクトリに入れるだけで、基本的なコミュニティサイトを実現するためのものがインストールされる.

OneBody

Free版はオープンソース. 他にも有料版がいくつかある.

「キリスト教徒のためのSNS」

まとめ

研究などに使うのなら, ライセンスのことを考慮して, MITライセンスであるCommunityEngineが一番良さそうです. ただ, 日本語での情報が少なそうですね. Rubyが好きなら一番良さそうな気もします.

「日本語の情報が多いほうがいい!」とか,「PHPがいい!」とか, 「とりあえず動かしたい!」いうのならば, 素直OpenPNEを導入するのがよいのかもしれません.

posted by Png y_tsuda on Tue 2 Jun 2009 at 06:55

情報系学生必須(?)のTeX環境をWindowsにインストールします。

これで、論文・レポートなど、ばっちりです!

ここでは、WindowsでのTeX環境のほかに、エディタのEmacsやtex-modeのYaTeXを導入します。

Vi派の人は今すぐこのページを閉じましょう。

TeXの導入

阿部 紀行さん作のTeXインストーラを使いましょう。

ここからダウンロードできます。

解凍するとインストーラが出てくるので、適当にインストールしましょう。

Emacsの導入

Windowsで使えるEmacsはいくつかありますが、ここではNTEmacsを使います。

ここから適当にダウンロードして、インストールします。

.emacsとか.emacs.dとかの場所

Windows Vistaの場合

Vistaの場合は、

   1  C:\Users\(ユーザ名)\AppData\Roaming

の下にあるものが読み込まれるようです。 なければ作りましょう。

Windows XPの場合

誰か教えてください!

YaTeX(野鳥)の導入

YaTeXとは、Yet AnotherなEmacsのtex-modeです。

手に入れる

Yet Another LaTeX mode for Emacs.からダウンロードしましょう。

ダウンロードしたら解凍し、.emacs.dあたりにyatexという名前で放り込んでおきましょう。

設定する

Yet Another tex-mode for Emacs - 野鳥起動のための設定を参考にします。

.emacsに以下のものをコピー&ペースト

   1  ;;
   2  ;; YaTeX
   3  ;;
   4  (setq auto-mode-alist
   5        (cons (cons "\\.tex$" 'yatex-mode) auto-mode-alist))
   6  (autoload 'yatex-mode "yatex" "Yet Another LaTeX mode" t)
   7  (setq load-path (cons (expand-file-name "~/.emacs.d/yatex/") load-path))

これで設定は終わりです。

使い方は、YaTeXのドキュメントを参考のこと・・・。

この環境が手に入ったら、ついでにOMakeを導入してみてはどうでしょうか?

posted by Png y_tsuda on Wed 22 Apr 2009 at 20:28

僕は普段の研究活動などで読んだ文献などはフォルダに適当に入れて管理しているのですが、研究者の方々はどうやってるのでしょうか?

最近iTunesにPDFを突っ込めることを知ったので、ひょっとしたら文献管理に使えるのではないかと思い、試しています。

ネタっぽいですが、わりと真剣です。

用意するもの

設定

「編集」メニューの「設定」より。

「ライブラリへの追加時にファイルを[iTunes Music]フォルダにコピー」にチェックを入れます。

itunes01.jpg

これで、iTunesにファイルを追加したときに指定したフォルダにファイルがコピーされます。

プレイリストの追加

「ファイル」メニューの「新規プレイリスト」より。

適当に名前をつけましょう。

僕はわかりやすく「論文」としました。

このプレイリストの中に読んだ論文を入れていきます。

論文をiTunesに入れていく

さきほど作った「論文」プレイリストに追加していきます。

ドラッグ&ドロップするだけです。

itunes02.jpg

論文情報を入力する

ドラッグ&ドロップしたファイルの「右クリック」→「プロパティ」の「情報」タブより。

itunes03.jpg

僕流のiTunesと文献情報の対応は、以下のとおりです。

iTunesと文献情報の対応
iTunesでの項目文献情報
名前文献名
アーティスト著者
アルバム出展
コメントアブスト
ジャンル論文のジャンル

iTunesを使うと良い点・悪い点

良い点

  • 無料!
  • ファイル開くときにキチンと関連付けられたアプリで開いてくれる
  • 入力した情報については検索できる
  • レートをつけることができる
  • おそらくLAN内で共有ができる? (試してないです)

悪い点

  • ファイルの中身の全文検索ができない
  • おそらくBibTeX形式に出力できない(なんかしらのスクリプト書けばいいのかな)
  • 文献はTunesじゃない

まとめ

以上、ネタっぽいけど割と真面目な話でした。

単純にフォルダに入れて管理するよりは、少しはましになった気がします。

みなさんどのように管理しているのでしょうか?

学生はお金がないので、できるだけ安く(できれば無料)の方法を知っている方がいれば、教えていただけるとありがたいです。

posted by Png y_tsuda on Wed 15 Apr 2009 at 19:18

訳があって、ホストOSとゲストOSを同じネットワーク上に置くブリッジ接続の設定していました。

この記事はその四苦八苦の様子の記録です・・・。

環境

  • ホストOS: Windows Vista SP1
  • VitualBox 2.1.4
  • ゲストOS: Gentoo Linux 2008.0

問題 その①

2.1系からは、ホストOS側でブリッジ接続用のネットワーク設定をしなくても、VirtualBoxのネットワークの設定で「ホストインタフェース」を選択するだけでブリッジ接続が実現できるらしいということだったのですが、できませんでした・・・。

どういう状態かというと、ゲストOS側でNICの認識をするのですが、DHCPでIPアドレスを割り当てることができない、という感じでした。

問題 その②

そんなこんなで悩んでいるときに、VirtualBox 2.2.0がリリースされたという情報をキャッチし、「ためしにVirtualBox 2.2.0にするかー」という軽い気持ちでインストールしてみました。

しかし、ここでも罠が・・・。

VirtualBox 2.2.0のインストール

もともとVirtualBox 2.1.4をインストールしているので、上書きでインストールしてみました。

流れは、

  • VirtualBox 2.2.0のインストーラを取得する
  • インストーラを起動し、 Repair (修正インストール)を選択する
  • インストールが終了するのを待つ
  • インストールが終了すると、再起動される

といった感じでした。

「ホストインタフェース」が無くなっている・・・

ネットワークの設定に「 ホストインタフェース 」の項目が無くなり、「 ブリッジ ネットワーク 」の項目が!

しかし、「ブリッジネットワークアダプタがありません」とエラーが出て、使えない・・・。

問題解決のための情報収集

2.1系で簡単にブリッジ接続ができるようになった(らしい)というのに、2.2系でまた逆戻り?

んな、アホな・・・。

と思い、「同じような問題に当たっている人がいるはずだ!」とネットで情報収集していると、某巨大掲示板で良い情報が!

【Sun】VirtualBox総合スレ Part4【仮想化】

578 :Be名無しさん:2009/04/09(木) 08:13:50

なんかインストールとアンインストール繰り返してたら

ブリッジでアダプタ選択できるようになった。

アンインストールで失敗する→上書きでインストール→再起動

これが効いたのかな…

さらに、

581 :Be名無しさん:2009/04/09(木) 09:50:58

VirtualBox 2.2.0の最初のインストールではブリッジのアダプタがインストールされない。

再度インストールプログラムを起動してRepairを選択するとブリッジのアダプタがインストールされる。

・・・・・・・・・らしい。

最初のインストールではアダプタがインストールされない・・・だと・・・?

そして解決へ・・・

某巨大掲示板の情報を信用して、Repairでインストールすること数回・・・ブリッジアダプタがインストールされた!!!

\(^0^)/

ゲストOSを起動してみると、きちんとIPアドレスがDHCPで割り当てられてる!!

\(^0^)/ \(^0^)/ \(^0^)/

解決方法まとめ

根気よく何度もVirtualBox 2.2.0をインストールする

結局のところ、VirtualBox 2.1.4のホストインタフェースは何だったのか・・・。

教訓

570 :Be名無しさん:2009/04/09(木) 00:04:54

VirtualBoxはアップデートに地雷が多いから気をつけてネ

特にネットワーク関係

そんな俺は様子見

posted by Png y_tsuda on Fri 10 Apr 2009 at 04:31

Office 2007 になって「リボン」と言われるUIになりましたが、そのおかげで、どこに何があるのか全くわからなくなりました。

Word やExcel は個人的には仕事に支障はでないのですが、Access だけはどうしても馴染めません。

そこでいろいろ調べていると、

というのがMicrosoftから出されていました。

このページの下のほうに、 2003と2007の違いをExcelファイルに羅列した、Access リボン マッピング ブックというものがあります。

見る気も失せるくらい多いです・・・

posted by Png y_tsuda on Fri 3 Apr 2009 at 14:19

VirtualBoxは、Sunの仮想化ソフトウェアなのですがちょっと感動しました。

何がスゴイって、ゲストOSの仮想ディスクの作成のところにGentooが!!

VirtualBox仮想ディスク作成

だいたいどんな仮想ソフトウェアでも、こういうので選択できるLinuxはRedHat、Debian、SUSEあたりのメジャーどころで、他はOtherとかでひとくくりにされているのですが・・・

やのに、VirtualBoxではGentooが!!VirtualBoxスゴイよ!!

開発者の1人が「何でGentoo入ってないんだよ!」とか言うたのかなぁとか色々と考えていると夜が明けてしまったので、今日からしばらく使ってみてからレビューしたいと思います。

もちろん、ゲストOSはGentooで。

posted by Png y_tsuda on Tue 31 Mar 2009 at 10:26 with 2 comments

最近C++やVBAしか書いていなかったので、たまにはRubyを書いて気分転換しようと思いました。

お題は、本を読んでいると良さそうなものが出てきたので、それを実装しようと思います。

お題は、以下のような感じ

和が n となる2数の組合せを求める。

ただし, 和 n と 求める2数は0以上の整数

例) 0 = [0, 0], 1 = [[0, 1], [1, 0]], 2 = [[0, 2], [1, 1], [2, 0]]

以下、書いたコード。

   1  def f(n)
   2    m = 0
   3    combination = []
   4    while n >= 0
   5      combination.push([m, n])
   6      m += 1; n -= 1
   7    end
   8    return combination
   9  end

素直に書いた感じです。

プログラミング初心者のための練習問題には良いかもしれないですね。

2009/03/08追記

僕の知らないところで、周りの人たちがこの話題で盛り上がってました。

はこべのおかげで、mapの存在を思い出すことができました。

   1  def f(n)
   2    (0..n).map{|i| [i, n-i] }
   3  end

なんでこんなことも思いつかなかったのか・・・。

勉強不足ですね・・・。

はこべは一般化してたみたいなので、プログラミング大好きな人はそちらを参考にしてください。

posted by Png y_tsuda on Sun 8 Mar 2009 at 03:02

納品物の中によく「ソースコードのドキュメント」とありますが、いちいち作るのがめんどくさいです。

しかも、そのドキュメント作成の工程が「○人日」とかになってたりします。

ドキュメントは大切ですが、どうしても楽したいですよね。(僕だけ?)

そこで、Doxygenを使ってドキュメントを自動生成します。

Doxygenを使うドキュメント生成は、

  • 普段から決まったコメントの付け方をする
  • Doxygenの使い方を覚える
  • Doxygenでドキュメントを生成している時間待つ

の3つを行うだけで、簡単にできます。

生成されるドキュメントには、HTML形式や、TeX形式などがあります。

準備編

インストール

とりあえず、Linuxのみのインストール方法です。

yum系の場合(CentOS5.2 で確認)

   1  # yum install doxygen

apt系の場合(確認してないですが、おそらく)

   1  # apt-get install doxygen

ソースコードのコメントの書き方

JavaDocスタイルとQtスタイルに対応しています。

詳しくは、Doxygenのマニュアルのコードのドキュメント付けを参照してください。

普段からこの書き方を心がけていれば、初めは面倒でも、だんだんと慣れてくると思います。

Doxygenを使ってみる

準備が終わったところで、さっそくDoxygenを使っていきます。

Doxyfileの生成

まず、プロジェクトのディレクトリに移り、

   1  $ doxygen -g
とし、Doxyfileというものを生成します。

Doxyfileの編集

次に、生成されたDoxyfileを編集します。

デフォルトでは、Doxyfileと同じディレクトリのソースコード類に関してドキュメントが生成されます。

これは、460行目あたりの INPUT のあたりを変更すると、別のディレクトリを参照するように変更できます。

必ずしておくほうが良いのは、230行目あたりの

   1  EXTRACT_ALL            = NO
   2  EXTRACT_PRIVATE        = NO
   3  EXTRACT_STATIC         = NO
   4  EXTRACT_LOCAL_CLASSES  = YES
   5  EXTRACT_LOCAL_METHODS  = NO

を、

   1  EXTRACT_ALL            = YES
   2  EXTRACT_PRIVATE        = YES
   3  EXTRACT_STATIC         = NO
   4  EXTRACT_LOCAL_CLASSES  = YES
   5  EXTRACT_LOCAL_METHODS  = NO

に変更することです。

今回は、超簡単な使い方なので、詳細は省きます。

ドキュメントの生成

   1  $ doxygen
と実行すると、ドキュメントの生成が始まります。

しばらく待つと、完成です。

最後に

以上で超簡単なDoxygenの使い方でした。

これで、「ソースコードのドキュメント1人日で作ってね」と言われても、「え、そんなの10秒でできますが」 と答えれますね!

作業効率がUPです♪

また時間があれば、Doxygenの使い方を詳しく見ていきたいと思います。

posted by Png y_tsuda on Tue 17 Feb 2009 at 02:11

この記事は、セキュリティ&プログラミングキャンプキャラバン2008 - 京都 -の実況中継です。

リンクなどはイベント終了後に貼ってみました。

セキュリティ&プログラミング~~ -京都- 開始前準備

  • もっと早く行くつもりが盛大に寝坊。
  • 先生、ごめんなさい。
  • メディアセンター南館は朝早いと鍵が開いていないので、鍵を開けるのと誘導するのが僕の仕事になりました。

ちょっとした裏話でした。

プログラミング基礎 - ミラクル・リナックス(株) 吉岡 弘隆 さま

ブログ・日記

今日は、「プログラミングって楽しいよ!」というお話。

セキュリティ&プログラミングキャンプキャラバンとは

  • 全国8か所
  • キャンプを紹介
  • プログラミングの楽しさを伝えたい→「プログラミングが好きな人と出会う、そのような人を増やす!」

アルゴリズム編

ユークリッド互除法などなど (C言語で例)

なぜアルゴリズムを学ぶのか

  • 優れた先達の知恵がある
  • 「優れたアルゴリズム」とは何かを学ぶため

アルゴリズムとデータ構造の組合わせで、多くの問題が解ける場合が多い。

どんなことが解明されているかを調べる

自己流のアルゴリズムは、開発に時間がかかって、実行時間も遅くて、バグも多く、拡張性も低い

参考書

ソースコードの読み方編

ソースコードを読む力

  • プログラマの基礎体力
  • 技術者の付加価値
  • プロフェッショナルとしての研鑚

優れた技術者はソースコードを上手に読む!

コードの理解について

「モットー: コードは読むな、理解しろ!」

理解の仕方を静的/動的の軸と微視的/巨視的の軸の2軸で分類。

1軸目

  • 静的理解
  • 動的理解

2軸目

  • 細部から理解していく、微視的な(ミクロな)理解
  • 全体から理解していく、巨視的な(マクロな)理解

巨視的な理解は作戦を立てるときに使える

規模の把握

「規模重要!」

規模を把握したところで... ディレクトリ構造をみていく。

トップディレクトリは、ソフトウェアの論理的構造を表している。

  • ドキュメント
  • 変更履歴

参考書

Rubyの1.8のと1.9の差分をケーススタディとして見てみると、プログラムを読む力をつけるのに非常に役立つのでは?

インターネットが変えた社会

  • 商用ソフトウェア
  • フリーソフトウェア (リチャード・ストールマン)

オープンソースソフトウェア

企業の作った商用ソフトウェアではなく、楽しいから作ったソフトウェアがどんどん普及していく

誰もコントロールできない、混沌の世界から開発されている

バザールのような開発方式

参加資格は「情熱」!

なぜコミュニティに参加するのだろう

いろいろな制度は、独占するものではないですよ。

特許制度は、社会を豊かにする制度。 著作権も、同様。

初めての勉強会

「勉強会へ行こう」

( 2009/02/08追記 検索してみつけたのですが、はせがわさん作の「IT勉強会カレンダー検索」というのもあります)

( 2009/02/09追記 id:hanazukinさんにブックマークコメントで教えていただきました → IT勉強会カレンダ - MetaCon | Google グループ)

勉強会って

  • 楽しい
  • 専門家と知り合いになれるかも
  • ”ついでに” 知識が増える
  • 出会い

プログラミング応用 (Webプログラミングの未来について) - サイボウズ・ラボ 竹迫 良範 さま

ボウズマンのPVを見せていただいた。

YouTube - Song (ボウズマンのテーマソング)

はじめに

  • Namazuくん ぬいぐるみ型紙(ソースコード)
  • Namazuくん 設計図(ドキュメント)
  • ビルド!
  • 完成

オープンソースToyプロジェクト

自己紹介と「サイボウズ」とは

プロフィール

id:TAKESAKOさん ( 年齢は 1F歳 )

JavaScript エンジンの高速化

JavaScriptエンジン

  • JavaScriptエンジンの速度比較

量質転化の法則

  • 量が質に転化する時
  • コンピュータの処理速度が向上

例) LZ77圧縮アルゴリズムの改良

JavaScript = Web2.0時代のマシン語

  • いろいろなブラウザの上で動く言語。
  • Serverサイドいったり、mobileにいったり

エミュ(ry

  • Z80エミュレータ - jsMSX
  • 100% JavaScript!!

  • ターミネータのコードはは6502のアセンブリで書かれている!

  • ロボコンも同じチップだったり

JavaScriptでVMを作る

Java VM → JavaScript

  • ORTO

It works on iPhone!

(キーボードついてないから、すぐにゲームオーバーになっちゃうよ><)

言語処理系 → JavaScript

JavaScript → ActionScript

Server Side → JavaScript

有名どころ

  • Microsoft IIS
  • LiveWare JavaScriptからいろいろと発展
  • BroadVision

Ajaja

URL: http://ajaja.alphageek.jp/ajaja 読み方: あやや (松浦亜弥じゃないよ!)

  • サーバサイドJavaScriptのオープンソース実装
  • 処理系はSpiderMonkey
  • CGIを提供
  • SQLite3標準サポート

 PHP→JavaScript

 JSmarty (PHP Template on JS)

URL: http://code.google.com/p/jsmarty/

  • できるだけSmarty互換
  • 利用するメソッドやプロパティとかはそのまま
  • Smartyのテンプレートがそのまま利用できる
  • プラグインとかも対応 (JSAN.jsを使用)

サーバ/クライアントで.jsを共有

  • Validationロジックの共通化

OpenJSAN

最近盛り上がってないですね

Perl → JavaScript

PMconnect (JS + Perl CPAN)

  • 変数に$をつけなくてもPerlライブラリが使える!
  • 数が多いCPANを使える!
  • JavaScriptからPerlのXLMパーサを使ってみたり

Perlプログラマについて

コミュニティ

年収が高い人

  • Perlの開発に参加している
  • 地元以外のPerlモンガーズに参加している
  • カンファレンスで発表している
  • 男性であることが多い

  • 年功序列ではない!

 地方とITの関係

愛媛では。。。

  • なかなか若い人が集まらない
  • 地方のプログラマは地位が圧倒的に低い

ITは地域の壁を簡単に超える

  • インターネット
  • Amazon.co.jpで買い物
  • 楽天で買い物

地域格差はなくなる?地域格差はもっと広がる? (例)新幹線神話

生産業・製造業は商機

  • 地域の壁を超えた商売が可能

カルビーさんが北海道から中国にじゃがいもを輸出したり

地方から世界へ!

  • 地方にいる → 地方のこと第一
  • 京都(大阪)にいる → 関西と関東の違いを考えてしまう
  • 東京にいると → 日本全体を考えられるようになる
  • アメリカにいると → 世界全体を考えられるようになる

Mylingual.net

URL: http://mylingual.net/

  • 翻訳データはWikiスタイル → みんなでが翻訳データを編集
  • 正規表現もつかえる
  • 日本の文化を世界に輸出できる!

最後に

JavaScript

By id:amachang

休憩

  • 仲間うちで8号館の食堂でお昼ご飯を食べました。

先生の娘さんに懐かれ始めました。

セキュリティ&プログラミングキャンプのご紹介 - JIPDEC セキュリティ&プログラミングキャンプ事務局 福井 寛隆 さま

セキュリティ&プログラミングキャンプとは?

  • すごい若い人 (別名:トンがった人)を見つけて、早い段階から育てていく

特色

  • 4泊5日の合宿形式
  • キャンプにかかる費用は無料
  • 日本を代表するセキュリティおよびプログラミングの世界の第一線で活躍する技術者の講義を受けることができる
  • 企業見学などもある

参加するには?

- 満22歳以下の学生・生徒

  • 個人で自宅と会場の往復ができる
  • 他の参加者と協調できる
  • 基礎知識と積極性がある

主な内容

  • 実習を中心とした講義と演習
  • グループワーク
  • キャンプ卒業生を中心としたチュータが丁寧にサポート

IT Keys 京都大学学術情報メディアセンター 上原 哲太郎先生

  • URL: 文科省のITスペシャリスト育成講座

発表スライドに僕の写真がうつりまくり(笑)

講義に関しては上原先生のブログを参照

情報セキュリティ基礎 (正しい情報セキュリティを学ぶ) - サイバー大学 園田 道夫 さま

自己紹介

ブログ・日記

事件!

  • わび状が届く
  • 電話していろいろ聞いてみた
  • セキュリティはかなり固いらしい

電話して聞いた「最強のパソコン」のセキュリティ(推定)

  • 指紋認証
  • BIOSパスワード
  • WindowsOSのパスワード
  • ハードディスクの暗号化

指紋認証は安全?

  • 指紋がパソコンについてる(笑)

  • それつかえば、回避できるじゃないですか

生体認証は安全?

代替方法は、

  • 指紋は、転写できる
  • 顔は、マスクしたり
  • 静脈は、大根でも登録できる
  • サインは、タイミングと筆跡の模倣

などが考えられる

鍵となる情報は、広義のハッシュであり、弱点としては、

  • 鍵が盗まれたり
  • 偽造されたり

がある。

BIOS パスワードは安全か

サポートに電話したら、まほうの言葉を教えてくれたりする。

バックドアパスワード (※良い子はググらないでね♪)

WindowsOSパスワードの問題

  • 14文字以下は脆弱な暗号化
  • ソルトが固定

などなど

暗号文を作る

  • 「あいうえお」→「こさしすせ」と暗号文のパターンが決まってると、辞書が作られる
  • そこで、調味料をかける
  • それが、塩(ソルト)
  • でも、塩がいつも同じだと、同じ味になってしまう。。。

パスワードを狙う攻撃

  • 辞書攻撃
  • ブルートフォース攻撃
  • キーロガー
  • フィッシング

辞書攻撃

  • 良く使われるパスワード(アンケート結果)がある
  • ぼちぼちって感じでいらしてます(笑)

どんなことで検知できるか

  • rootメールでお知らせきたり
  • ログにいろいろな痕跡がのこったり
  • IDSによる警告があったり

攻撃はあるものだから、過剰におびえてもダメ

Webサイトを汚染する

黒くて変な画像がいっぱいのってる「見るからに怪しいサイト」でなくても、汚染されたサイトはいろいろとある

  • 2008年3月、20000サイト以上/数日で汚染された

ブラウザの機能

とりあえず、ちゃんとアップデートしましょう

各種ブラウザには防御機能がついているので、有効に使いましょう(やぶられたりしたのもあるけれど)

再び、パスワードを狙う攻撃

  • パスワードには寿命がある
  • 9桁の英数字だと、17年くらいが寿命?

パスワードの理想形

  • 長い
  • 複雑
  • 定期的な変更

「鍵」の管理が重要

 ハードディスクの暗号化

  • 鍵はどこにあるの? ↓
  • ハードディスクの中の、普通は読めない領域にある

上書きされれば・・・同型ディスクで同設定だと、領域特定で無力化されちゃう

実質役立つノートPCのセキュリティ対策

ログオンしにくくする

  • Windowsのパスワードを強化
  • USBキーによるログオン制限

中身をのぞかれにくくする

  • ハードディスクを暗号化(ただし、鍵は外に)

セキュリティ応用 (文字コードとセキュリティ) - ネットエージェント(株) はせがわ ようすけ さま

自己紹介

ブログ・日記

テーマ

  • Webアプリケーションのセキュリティがなんとかかんとか
  • 一般のアプリケーションがなんとかかんとか

やる夫でわかる脆弱性

  • 脆弱性みつけたお
  • 脆弱性じゃなく、仕様です
  • えっ
  • Say Again 「脆弱性じゃなく、仕様です」
  • 攻撃できるじゃん!
  • 脆弱性を見極められるんです、あなたとは違うんです!

脆弱性具体例

  • 多対一の変換が引き起こす問題
  • Unicode を利用した拡張子の偽装

多対一の変換が引き起こす問題

  • Unicodeには2種類の「¥」がある
  • 英語なら、「\」と「¥」に分かれている

  • 文字コードを変換すると、1つの文字にまとめられる

このような特性を使って、攻撃 (パストラバーサル) できてしまう

実例①

  • JVN#84775942(メールに関するもの) 添付ファイル名に円記号を含んだものを開くことにより、ファイルの上書きができてしまう

実例②

  • JVN#18282718(HyperEstraierに関するもの) インデックス対象外のファイルも登録される

企業の反応

この問題に対して、某M社は「某Wの仕様です」と回答した

「¥」だけでなく、「Å」などは「A」となる

対策

  • Unicodeのまま文字列を扱い、文字コードを変換しない

Unicode を利用した拡張子の偽装

特性

  • 制御文字を使うと文字列の一部分だけを右から左に表示させられる

ユーザとしての対策

  • 難しい!
  • ソフトウェアの制限ポリシーとか
  • 不用意にファイルを開かないとか

見つけたらどうすればいいの?

  • 脆弱性の定義の確認
  • ベンダー/IPAに連絡
  • 仕様なら公開してもよい(?)

ベンダに報告

  • 確実に連絡できる先を探す(連絡先不明なことも多い)
  • 個人なら相手にされないかも?

IPAに報告

IPAは

  • ソフトウェアの脆弱性
  • Webアプリケーションの脆弱性

を受け付けている

報告は、情報処理推進機構:情報セキュリティから

「仕様です」なら・・・公開?!

  • 「仕様」なら、その「仕様」を直せ!
  • 「仕様変更のフィードバック」を山盛りだしてみたり(笑)

  • コミュニティを通じて改善を望む声を集めて、正規のルートを通じたほうが改善の見込みが高い!

結局のところ

  • ケースバイケースで判断せざるを得ない
  • 重要なのは、影響範囲を考えつつ どうすれば安全になるのか を常に考えること

まとめ

  • 正しい知識を身につけ、正しい道に技術を生かそう!

質疑応答およびフリーディスカッション

サイボウズに入社すると、ボウズマンの歌は歌えないとだめですか?

(竹迫さん)

  • 僕は歌えますよ。入社する前は関係ないですが、入社するとガンダムのDVDを渡されます
  • ぼうずまーん、ぼうずまーん、スーパーグループウェアー

ITとかに興味を持ったきっかけや、出会いはなんですか?

(吉岡さん) 

  • 日経サイエンスを高校の時によくよんでいた。
  • マイクロプロセッサの特集号にICの顕微鏡写真がのっていた。
  • セブンイレブンでバイトしてためたお金をすべてはたいて、Basicが動く4Kバイトのパソコンを買った
  • 「何をやろう」と思ったのではなく、「これがほしいんだ!」というノリで。
  • 大学に入って

(竹迫さん)

  • 中2のときに親が買ってきたPCを触る
  • 小さいときは医者になりたかった
  • あれ?10代なのに20年前とか言っちゃったよ?
  • パソコンのゲームが高くて買えなかったので、ぷよぷよみたいなのを自分で作っていた

(はせがわさん)

  • パソコンで唯一動くアセンブリでコードかいてた。
  • IT業界にきたのは、1年前
  • パソコンは道具だ!

(園田さん)

  • 大学入るまで興味なかった
  • 初めて触ったときは、デザインファイルというものがあって、それをいじり、なんどもHDDをこわしていた
  • 気づけばセキュリティしてた

脆弱性を見つけるのは法的に黒っぽいですが、みなさん、どうしてるんですか?

(はせがわさん)

  • Webアプリの場合は、Webサイトの脆弱性をつつくというより、ブラウザの挙動を探ってるだけ
  • リバースエンジニアリングの場合は、利用規約に反するだけ・・・?
  • 著作権とかうんぬんがありますけど・・・。

(園田さん)

  • 早期警戒パートナーシップ
  • ここまでなら、世の中の空気的に大丈夫だろう
  • リバースエンジニアリングは議論途中なので、結構危険。
  • オンメモリで動作をモニタリングするのは、いいのでは?

(竹迫さん)

  • 公開されてるWebサービスでやらない
  • LGPLで公開されているものに関してはリバースエンジニアリングしてもよい
  • 公開とかせずに内密に教えてあげて

クオリティのよいコードを読み分ける方法

(はせがわさん)

宗教的な背景があるので、読み始めるとざっと読めるよ

  • djb
  • qmail

(吉岡さん

日本語の情報が多い

  • Ruby

(竹迫さん)

簡単なものが良いなら

  • CGIのカウンタとか

コーディング標準があるもの

  • Plagger
  • namazu

セキュリティ&プログラミングキャンプに受かるコツ

(吉岡さん)

  • 情報をさらけだす(自分が何ができるかをアピールする)

(園田さん)

  • 活動が見えないと評価できないので、見える形にしてほしい

(福井さん)

  • コピペは絶対落ちる

ICTスクールを盛り上げたい

(吉岡さん)

  • 電子的に集まれる場所を作りましょう
  • Face-to-Faceの付き合いを持とう
  • スポンサーをつける

(竹迫さん)

  • 幹事力
  • あまり気張らず、集まれるひとだけ集まる

(はせがわさん)

  • 感情移入できるように、すべてをさらけだす

(園田さん)

  • 他のコミュニティの力を借りて、盛り上げる!

オープンソース、セキュリティホールがあったときに、

(園田さん)

  • ばれないですよー

(吉岡さん)

  • オープンソースで作られてるからこそ、早く解決できる

 情報系の学生でも、周りにやる気が感じられない。情報教育をどうすれば良いか

(竹迫さん)

  • カリキュラムが体系的になっていないというのは感じる
  • 「学科で選ぶ」、ではなく、「学校で選ぶ」、するとモチベーション高い人が集まってるのでは?
  • 周りがやってないのは、自分にとってはチャンス

(吉岡さん)

  • IPSJとかIPAで情報教育のカリキュラムの確立に向けて動いている
  • MIT、スタンフォード、CMUのカリキュラムをダウンロードして、勉強すればよい
  • 知り合いで勉強会とかすると良い

(園田さん)

  • 体系化されてないということは、自由になんでもできる
  • やってしまったら、それが体系化される
  • ひとりでやってると孤独になるので、勉強会いくなどして、仲間を探してください

(上原先生)

  • 大学できちんと教えられていないのは、「ごめんなさい」
  • 大学にも限界がある
  • 勉強するのに、大学に頼っていてはダメです
  • 自分で勉強するのが大事

できるやつがやれば良い!という風習はそのままでいいのでしょうか?

(竹迫さん)

  • 底上げは、ITパスポート試験など、日本では行われ始めるので

(園田さん)

  • 現物をガンガンみせていくプロモーションをしたりして、ツカミを。
  • そこから、知識・興味に繋がる。
  • それを全員が全員やってるのではなく、個人的にやってるだけというのが現状

関数の中身を理解できないときがあるのですが、どうすればよいでしょう

(吉岡さん)

  • デバッガを使う
  • 注目するところにブレイクポイントを設定し、その止まったところから道筋をたどっていく

(竹迫さん)

  • 作った人に聞けば良い

感想

講師の皆様、たいへん興味深い講演、ありがとうございました。ものすごくおもしろかったです!

個別感想 (追記 2009/02/09)

随時追加していきます。

吉岡さんの講演

心に残った一言: アルゴリズム萌え~, モットー: コードは読むな、理解しろ!

プログラミング初心者のころのことを思い出しました。(今でも全然上級者ではないのですが・・・) 大学入って初めてパソコンを触り、周りのタイプ速度にビビりながら、必死にいろいろと練習したなぁ。

しかも、それが楽しかった。

今はただの仕事&研究の道具となり下がってる気がするので、初心に戻って楽しんでコンピュータと触れ合おう。

まとまった時間がとれたら、Ruby1.8とRuby1.9のコードを比較しながら読んでみるかな。

竹迫さんの講演

心に残った一言: ボウズマーン、ボウズマーン、スーパーg(ry , JavaScript

やっぱり、 JavaScriptですよ!!

JSANとかAjajaとか当時は盛り上がってたけど、最近はちょっと盛り下がってる感じ。どうにかできないものなのか・・・。

PMConnectに対抗して、RBConnect作るぞ! (いつになることやら・・・)

大好きな言語なので、ほんまにどうにかして盛り上げたい!

それと、Cybozuはやっぱりおもしろそうな企業だなと思いました。

(ガンダムとか、PVとか)

園田さんの講演

心に残った一言: パソコンに指紋ついてるじゃん(笑), ログ眺めてるのが好きなんですよ

僕もログを眺めるのが好きな人間なんですが、あの、「いらっしゃった」ときのログの流れのすさまじさがたまりません(笑)

パスワードをアンケートに答えちゃ、だめですね・・・。何を考えてるんだか。

それと、パスワードは英数字9文字以上にするように、周りに勧めたい。

誰でも気をつければできる、ごくごく簡単なとこからきっちりしていかないとね。

しかし、まさか、最強のセキュリティを誇る(笑)ノートPCが僕の大好きなアノ黒いやつとは・・・。

それでも愛用し続けますけど!

はせがわさんの講演

心に残った一言: 悪用厳禁 , 脆弱性みつかったお! → 仕様です(By Design)

Unicode制御文字を埋め込むという例の手法。あんなことを「仕様だから」で終わらせたら絶対だめですね。

デモで仕様の恐ろしさを見せられたときは、ゾクっとしました。怖い怖い。

「仕様なら、その仕様を変更しろ!」 というお言葉は、確かにその通り!グッときました。

せっかく脆弱性を報告しても、受け流されるだけという風習はどうにかしてほしいものです。

実害が出てから動き出しても、遅いんですよ。 ベンダーといい、警察といい。

全体感想

内容についての感想は力尽きたので、また明日にでも・・・

明日必ず!!

他の人のレポート

講師陣の方々(発表者順)

実況中継編

端的なまとめ・感想編

後日談 (追記 2009/02/09)

上原先生にこのブログの存在がばれてしまいました。

ブロバレ(笑)

posted by Png y_tsuda on Sat 7 Feb 2009 at 10:54

情報系の資料作成(ちょっとした資料、プレゼン資料、論文など)に使えそうなクリップアートをまとめてみます。

それぞれの使用許諾にしたがって利用してください。

※随時更新していく予定です。

人物

(さがしてます)

コンピュータ全般

ネットワーク系

他に何かあれば、教えてください><

posted by Png y_tsuda on Wed 4 Feb 2009 at 19:43
Contents
オープンソースのSNS構築アプリケーションまとめ
WindowsでEmacs+YaTeXな文書作成環境を作る
iTunesで文献管理をすると便利な気がする
VirtualBoxのブリッジ接続で四苦八苦
Access 2003 のコマンドに対応するAccess 2007 のコマンド
VirtualBoxスゴイ!!
和がnになる2数の組み合わせを求める
超簡単なDoxygenの使い方
セキュリティ&プログラミングキャンプキャラバン2008 レポート
情報系の資料作成に使えそうなクリップアートのまとめ
Comments
Aleksey: The uname check is only due to a somewhat slopp... '11-2
Yu Tsuda: あぁ、そうですね、、syncすると戻ってしまいますね・・・。 ご指摘ありがとうございます!! '09-7
ursm: /usr/portage 以下のファイルは更新のたび元に戻ってしまうので、/etc/porta... '09-7
Yu Tsuda: 見た目だけでも、わざわざGentooをこういうリストに入れてるのがすごいなぁと思ったりしたので... '09-3
Leonard Chin (レオ): ただし、VirtualBoxで「Gentoo」などを選択しても、別にどのOSを入れても大丈夫だ... '09-3
Services from s21g
twpro(ツイプロ)
Twitterプロフィールを快適検索
地価2009
土地の値段を調べてみよう
MyRestaurant
自分だけのレストラン手帳
Formula
ブログに数式を埋め込める数式コミュニティ