<?xml version="1.0" encoding="UTF-8"?> <rss
version="2.0"
xmlns:content="http://purl.org/rss/1.0/modules/content/"
xmlns:wfw="http://wellformedweb.org/CommentAPI/"
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:atom="http://www.w3.org/2005/Atom"
xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
><channel><title>Web scratch &#187; セキュリティ</title> <atom:link href="http://efcl.info/tag/%e3%82%bb%e3%82%ad%e3%83%a5%e3%83%aa%e3%83%86%e3%82%a3/feed/" rel="self" type="application/rss+xml" /><link>http://efcl.info</link> <description>フリーソフトやFirefoxなどについて、web全般なサイト</description> <lastBuildDate>Sat, 14 Apr 2012 15:37:26 +0000</lastBuildDate> <language>en</language> <sy:updatePeriod>hourly</sy:updatePeriod> <sy:updateFrequency>1</sy:updateFrequency> <generator>http://wordpress.org/?v=3.3.2</generator> <item><title>Shibuya.XSS アウトラインメモ</title><link>http://efcl.info/2012/0405/res3027/</link> <comments>http://efcl.info/2012/0405/res3027/#comments</comments> <pubDate>Thu, 05 Apr 2012 05:02:01 +0000</pubDate> <dc:creator>azu</dc:creator> <category><![CDATA[イベント]]></category> <category><![CDATA[javascript]]></category> <category><![CDATA[XSS]]></category> <category><![CDATA[セキュリティ]]></category><guid
isPermaLink="false">http://efcl.info/?p=3027</guid> <description><![CDATA[Shibuya.XSS テクニカルトーク#1 : ATND に参加してきたので、その時のメモ。 Shibuya.XSS Shibuya.XSSまとめ &#8211; Togetter DOM Based XSSの傾向と対 [...]]]></description> <content:encoded><![CDATA[<p><a
href="http://atnd.org/events/25689">Shibuya.XSS テクニカルトーク#1 : ATND</a> に参加してきたので、その時のメモ。</p><h1 style="padding-top: 0.25em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: initial; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; font-size: 23px; border-top-style: none; border-top-color: initial; margin: 0px;">Shibuya.XSS</h1><ul
style="margin-top: 1em; margin-right: 0px; margin-bottom: 1em; margin-left: 2em; padding: 0px;"><li
style="margin-top: 0.5em; margin-right: 0px; margin-bottom: 0.5em; margin-left: 0px; padding: 0px;"><a
style="color: #4183c4; text-decoration: none; padding: 0px; margin: 0px;" title="Shibuya.XSSまとめ - Togetter" href="http://togetter.com/li/283573">Shibuya.XSSまとめ &#8211; Togetter</a></li></ul><h2 style="margin-top: 1.5em; margin-right: 0px; margin-bottom: 1em; margin-left: 0px; padding-top: 0.5em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 4px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; font-size: 20px; border-top-style: solid; border-top-color: #e0e0e0;">DOM Based XSSの傾向と対策 &#8211; mala</h2><p
style="margin-top: 1em; margin-right: 0px; margin-bottom: 1em; margin-left: 0px; line-height: 1.5em; padding: 0px;"><a
style="color: #4183c4; text-decoration: none; padding: 0px; margin: 0px;" title="Shibuya.XSSで発表してきました - 金利0無利息キャッシング – キャッシングできます - subtech" href="http://subtech.g.hatena.ne.jp/mala/20120405/1333620763">Shibuya.XSSで発表してきました &#8211; 金利0無利息キャッシング – キャッシングできます &#8211; subtech</a></p><p
style="margin-top: 1em; margin-right: 0px; margin-bottom: 1em; margin-left: 0px; line-height: 1.5em; padding: 0px;">機械的なスキャンで見つけづらいXSS</p><ul
style="margin-top: 1em; margin-right: 0px; margin-bottom: 1em; margin-left: 2em; padding: 0px;"><li
style="margin-top: 0.5em; margin-right: 0px; margin-bottom: 0.5em; margin-left: 0px; padding: 0px;">location.hash経由で発火が多い、</li><li
style="margin-top: 0.5em; margin-right: 0px; margin-bottom: 0.5em; margin-left: 0px; padding: 0px;">サーバ側にアクセスログが残りづらい</li><li
style="margin-top: 0.5em; margin-right: 0px; margin-bottom: 0.5em; margin-left: 0px; padding: 0px;">ビーコンでlocation.hashを記録する事も可能だけど、実行順序で潰される事がある</li></ul><h3 style="margin-top: 1em; margin-right: 0px; margin-bottom: 1em; margin-left: 0px; padding: 0px; border: 0px initial initial;">location.hashでの問題</h3><ul
style="margin-top: 1em; margin-right: 0px; margin-bottom: 1em; margin-left: 2em; padding: 0px;"><li
style="margin-top: 0.5em; margin-right: 0px; margin-bottom: 0.5em; margin-left: 0px; padding: 0px;">XHR2</li></ul><h3 style="margin-top: 1em; margin-right: 0px; margin-bottom: 1em; margin-left: 0px; padding: 0px; border: 0px initial initial;">どんな時に見つけにくい</h3><ul
style="margin-top: 1em; margin-right: 0px; margin-bottom: 1em; margin-left: 2em; padding: 0px;"><li
style="margin-top: 0.5em; margin-right: 0px; margin-bottom: 0.5em; margin-left: 0px; padding: 0px;">パラメーターをパースして利用してる場合</li><li
style="margin-top: 0.5em; margin-right: 0px; margin-bottom: 0.5em; margin-left: 0px; padding: 0px;">ソースを読まないと見つけにくい。</li><li
style="margin-top: 0.5em; margin-right: 0px; margin-bottom: 0.5em; margin-left: 0px; padding: 0px;">難読化されてるとしんどい</li><li
style="margin-top: 0.5em; margin-right: 0px; margin-bottom: 0.5em; margin-left: 0px; padding: 0px;">レガシーコード</li></ul><h3 style="margin-top: 1em; margin-right: 0px; margin-bottom: 1em; margin-left: 0px; padding: 0px; border: 0px initial initial;">どうするのがいいのだろうか</h3><ul
style="margin-top: 1em; margin-right: 0px; margin-bottom: 1em; margin-left: 2em; padding: 0px;"><li
style="margin-top: 0.5em; margin-right: 0px; margin-bottom: 0.5em; margin-left: 0px; padding: 0px;">バリデーション?</li></ul><h3 style="margin-top: 1em; margin-right: 0px; margin-bottom: 1em; margin-left: 0px; padding: 0px; border: 0px initial initial;">バリデーションが必要な状況</h3><ul
style="margin-top: 1em; margin-right: 0px; margin-bottom: 1em; margin-left: 2em; padding: 0px;"><li
style="margin-top: 0.5em; margin-right: 0px; margin-bottom: 0.5em; margin-left: 0px; padding: 0px;">openにファイル名渡す -&gt; パイプでコマンド実行可能</li><li
style="margin-top: 0.5em; margin-right: 0px; margin-bottom: 0.5em; margin-left: 0px; padding: 0px;">ファイル開く関数とコマンド実行を分けて使うべき</li><li
style="margin-top: 0.5em; margin-right: 0px; margin-bottom: 0.5em; margin-left: 0px; padding: 0px;">役割に応じて「それだけを行うように」する</li></ul><h3 style="margin-top: 1em; margin-right: 0px; margin-bottom: 1em; margin-left: 0px; padding: 0px; border: 0px initial initial;">バリデーションが必要なライブラリ</h3><ul
style="margin-top: 1em; margin-right: 0px; margin-bottom: 1em; margin-left: 2em; padding: 0px;"><li
style="margin-top: 0.5em; margin-right: 0px; margin-bottom: 0.5em; margin-left: 0px; padding: 0px;">直接使うときは安全に倒す</li></ul><h3 style="margin-top: 1em; margin-right: 0px; margin-bottom: 1em; margin-left: 0px; padding: 0px; border: 0px initial initial;">そもそも安全にすることを考える</h3><ul
style="margin-top: 1em; margin-right: 0px; margin-bottom: 1em; margin-left: 2em; padding: 0px;"><li
style="margin-top: 0.5em; margin-right: 0px; margin-bottom: 0.5em; margin-left: 0px; padding: 0px;">外部リソース読み込めないようには無理</li></ul><h3 style="margin-top: 1em; margin-right: 0px; margin-bottom: 1em; margin-left: 0px; padding: 0px; border: 0px initial initial;">コーディング規約での対処</h3><ul
style="margin-top: 1em; margin-right: 0px; margin-bottom: 1em; margin-left: 2em; padding: 0px;"><li
style="margin-top: 0.5em; margin-right: 0px; margin-bottom: 0.5em; margin-left: 0px; padding: 0px;">jQueryの場合</li><li
style="margin-top: 0.5em; margin-right: 0px; margin-bottom: 0.5em; margin-left: 0px; padding: 0px;">セレクタの使い方を徹底する</li><li
style="margin-top: 0.5em; margin-right: 0px; margin-bottom: 0.5em; margin-left: 0px; padding: 0px;">findを使って$関数の直接使用を避ける</li><li
style="margin-top: 0.5em; margin-right: 0px; margin-bottom: 0.5em; margin-left: 0px; padding: 0px;">$関数は汎用的すぎ</li></ul><h3 style="margin-top: 1em; margin-right: 0px; margin-bottom: 1em; margin-left: 0px; padding: 0px; border: 0px initial initial;">コーディング</h3><ul
style="margin-top: 1em; margin-right: 0px; margin-bottom: 1em; margin-left: 2em; padding: 0px;"><li
style="margin-top: 0.5em; margin-right: 0px; margin-bottom: 0.5em; margin-left: 0px; padding: 0px;">XHRのリクエストは必ず絶対パス+動的パス</li><li
style="margin-top: 0.5em; margin-right: 0px; margin-bottom: 0.5em; margin-left: 0px; padding: 0px;">絶対パスが/のみだと突破できる</li><li
style="margin-top: 0.5em; margin-right: 0px; margin-bottom: 0.5em; margin-left: 0px; padding: 0px;">/api/的な感じに</li></ul><h3 style="margin-top: 1em; margin-right: 0px; margin-bottom: 1em; margin-left: 0px; padding: 0px; border: 0px initial initial;">問題点</h3><ul
style="margin-top: 1em; margin-right: 0px; margin-bottom: 1em; margin-left: 2em; padding: 0px;"><li
style="margin-top: 0.5em; margin-right: 0px; margin-bottom: 0.5em; margin-left: 0px; padding: 0px;">HTML5等で今まで安全だったかもしれないものが崩壊して、可能な攻撃が増える</li></ul><h3 style="margin-top: 1em; margin-right: 0px; margin-bottom: 1em; margin-left: 0px; padding: 0px; border: 0px initial initial;">DOM XSS撲滅装置</h3><ul
style="margin-top: 1em; margin-right: 0px; margin-bottom: 1em; margin-left: 2em; padding: 0px;"><li
style="margin-top: 0.5em; margin-right: 0px; margin-bottom: 0.5em; margin-left: 0px; padding: 0px;">location.hashにタグが会った場合は消す等</li><li
style="margin-top: 0.5em; margin-right: 0px; margin-bottom: 0.5em; margin-left: 0px; padding: 0px;">その文字列を使わないことが保証されてるなら割りと効果的</li><li
style="margin-top: 0.5em; margin-right: 0px; margin-bottom: 0.5em; margin-left: 0px; padding: 0px;">広告やブログパーツ等、自分で治せないもの等の緊急的</li><li
style="margin-top: 0.5em; margin-right: 0px; margin-bottom: 0.5em; margin-left: 0px; padding: 0px;">潜在的なXSS</li></ul><h3 style="margin-top: 1em; margin-right: 0px; margin-bottom: 1em; margin-left: 0px; padding: 0px; border: 0px initial initial;">パスワードを盗めるか?</h3><ul
style="margin-top: 1em; margin-right: 0px; margin-bottom: 1em; margin-left: 2em; padding: 0px;"><li
style="margin-top: 0.5em; margin-right: 0px; margin-bottom: 0.5em; margin-left: 0px; padding: 0px;">ブラウザのパスワード自動入力機能でパスワードを盗める場合がある</li><li
style="margin-top: 0.5em; margin-right: 0px; margin-bottom: 0.5em; margin-left: 0px; padding: 0px;">セッション乗っ取り + パスワード盗み</li></ul><h3 style="margin-top: 1em; margin-right: 0px; margin-bottom: 1em; margin-left: 0px; padding: 0px; border: 0px initial initial;">パスワードの盗み方</h3><ul
style="margin-top: 1em; margin-right: 0px; margin-bottom: 1em; margin-left: 2em; padding: 0px;"><li
style="margin-top: 0.5em; margin-right: 0px; margin-bottom: 0.5em; margin-left: 0px; padding: 0px;">自動でフィルインされた値を読み取る</li><li
style="margin-top: 0.5em; margin-right: 0px; margin-bottom: 0.5em; margin-left: 0px; padding: 0px;">自動的に盗むことが可能</li><li
style="margin-top: 0.5em; margin-right: 0px; margin-bottom: 0.5em; margin-left: 0px; padding: 0px;">自動フィルイン + クリックジャッキング -&gt; 半自動</li><li
style="margin-top: 0.5em; margin-right: 0px; margin-bottom: 0.5em; margin-left: 0px; padding: 0px;">フォームの宛先を攻撃サイトに誘導</li></ul><h3 style="margin-top: 1em; margin-right: 0px; margin-bottom: 1em; margin-left: 0px; padding: 0px; border: 0px initial initial;">事例</h3><blockquote
style="margin-top: 1em; margin-right: 0px; margin-bottom: 1em; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0.6em; border-left-width: 5px; border-left-style: solid; border-left-color: #dddddd; color: #555555;"><p
style="margin-top: 1em; margin-right: 0px; margin-bottom: 1em; margin-left: 0px; line-height: 1.5em; padding: 0px;">?to=javascript:eval(location.hash)#攻撃コード</p></blockquote><ul
style="margin-top: 1em; margin-right: 0px; margin-bottom: 1em; margin-left: 2em; padding: 0px;"><li
style="margin-top: 0.5em; margin-right: 0px; margin-bottom: 0.5em; margin-left: 0px; padding: 0px;">ログイン後のリダイレクトのURL先でjavascript:を実行可能</li></ul><h3 style="margin-top: 1em; margin-right: 0px; margin-bottom: 1em; margin-left: 0px; padding: 0px; border: 0px initial initial;">対策</h3><ul
style="margin-top: 1em; margin-right: 0px; margin-bottom: 1em; margin-left: 2em; padding: 0px;"><li
style="margin-top: 0.5em; margin-right: 0px; margin-bottom: 0.5em; margin-left: 0px; padding: 0px;">そのパスワードを入力するドメインをサブドメインで独立させる<ul
style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 2em; padding: 0px;"><li
style="margin-top: 0.5em; margin-right: 0px; margin-bottom: 0.5em; margin-left: 0px; padding: 0px;">ログイン機能だけを持ったサブドメインを作成する</li><li
style="margin-top: 0.5em; margin-right: 0px; margin-bottom: 0.5em; margin-left: 0px; padding: 0px;">他のjsを入れない、厳しめのルール</li></ul></li></ul><h3 style="margin-top: 1em; margin-right: 0px; margin-bottom: 1em; margin-left: 0px; padding: 0px; border: 0px initial initial;">フェールセーフ設計</h3><ul
style="margin-top: 1em; margin-right: 0px; margin-bottom: 1em; margin-left: 2em; padding: 0px;"><li
style="margin-top: 0.5em; margin-right: 0px; margin-bottom: 0.5em; margin-left: 0px; padding: 0px;">サンドボックス</li><li
style="margin-top: 0.5em; margin-right: 0px; margin-bottom: 0.5em; margin-left: 0px; padding: 0px;">パスワードを入力するページは外部jsを完全排除するとか</li><li
style="margin-top: 0.5em; margin-right: 0px; margin-bottom: 0.5em; margin-left: 0px; padding: 0px;">パスワード入力ページはそれ専用のサブドメインへ</li></ul><h3 style="margin-top: 1em; margin-right: 0px; margin-bottom: 1em; margin-left: 0px; padding: 0px; border: 0px initial initial;">ブラウザ側のリスク軽減</h3><ul
style="margin-top: 1em; margin-right: 0px; margin-bottom: 1em; margin-left: 2em; padding: 0px;"><li
style="margin-top: 0.5em; margin-right: 0px; margin-bottom: 0.5em; margin-left: 0px; padding: 0px;">XSSフィルタ</li><li
style="margin-top: 0.5em; margin-right: 0px; margin-bottom: 0.5em; margin-left: 0px; padding: 0px;">パスワードの自動フィルイン対策</li><li
style="margin-top: 0.5em; margin-right: 0px; margin-bottom: 0.5em; margin-left: 0px; padding: 0px;">元々危険だったものが更に危険になる =&gt; 理解されないことが多い</li></ul><h3 style="margin-top: 1em; margin-right: 0px; margin-bottom: 1em; margin-left: 0px; padding: 0px; border: 0px initial initial;">攻撃パターン</h3><ol
style="margin-top: 1em; margin-right: 0px; margin-bottom: 1em; margin-left: 2em; padding: 0px;"><li
style="margin-top: 0.5em; margin-right: 0px; margin-bottom: 0.5em; margin-left: 0px; padding: 0px;">iframeで埋め込む -&gt; サードパーティクッキー有効なら発動</li><li
style="margin-top: 0.5em; margin-right: 0px; margin-bottom: 0.5em; margin-left: 0px; padding: 0px;">短縮URL + replaceStateでURL偽装</li><li
style="margin-top: 0.5em; margin-right: 0px; margin-bottom: 0.5em; margin-left: 0px; padding: 0px;">ポップアップWIndowとサードパーティ</li></ol><h3 style="margin-top: 1em; margin-right: 0px; margin-bottom: 1em; margin-left: 0px; padding: 0px; border: 0px initial initial;">ユーザー側の対策</h3><ul
style="margin-top: 1em; margin-right: 0px; margin-bottom: 1em; margin-left: 2em; padding: 0px;"><li
style="margin-top: 0.5em; margin-right: 0px; margin-bottom: 0.5em; margin-left: 0px; padding: 0px;">NoScript</li><li
style="margin-top: 0.5em; margin-right: 0px; margin-bottom: 0.5em; margin-left: 0px; padding: 0px;">複雑なルールを設定しないと安全に利用できない</li><li
style="margin-top: 0.5em; margin-right: 0px; margin-bottom: 0.5em; margin-left: 0px; padding: 0px;">攻撃者が嫌う設定を使う<ul
style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 2em; padding: 0px;"><li
style="margin-top: 0.5em; margin-right: 0px; margin-bottom: 0.5em; margin-left: 0px; padding: 0px;">サードパーティクッキーオフ、ポップアップのブロク、リダイレクトの防止</li></ul></li><li
style="margin-top: 0.5em; margin-right: 0px; margin-bottom: 0.5em; margin-left: 0px; padding: 0px;">初見のURLは全部シークレットモードで開くとか</li></ul><h3 style="margin-top: 1em; margin-right: 0px; margin-bottom: 1em; margin-left: 0px; padding: 0px; border: 0px initial initial;">まとめ</h3><ul
style="margin-top: 1em; margin-right: 0px; margin-bottom: 1em; margin-left: 2em; padding: 0px;"><li
style="margin-top: 0.5em; margin-right: 0px; margin-bottom: 0.5em; margin-left: 0px; padding: 0px;">DOM Based XSSはたくさんある</li><li
style="margin-top: 0.5em; margin-right: 0px; margin-bottom: 0.5em; margin-left: 0px; padding: 0px;">XSSがあっても安全にすることを考える</li></ul><h3 style="margin-top: 1em; margin-right: 0px; margin-bottom: 1em; margin-left: 0px; padding: 0px; border: 0px initial initial;">焼肉、刺身</h3><ul
style="margin-top: 1em; margin-right: 0px; margin-bottom: 1em; margin-left: 2em; padding: 0px;"><li
style="margin-top: 0.5em; margin-right: 0px; margin-bottom: 0.5em; margin-left: 0px; padding: 0px;">XSS発見者には肉か刺身をおごる慣例(*人徳が必要)</li></ul><h2 style="margin-top: 1.5em; margin-right: 0px; margin-bottom: 1em; margin-left: 0px; padding-top: 0.5em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 4px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; font-size: 20px; border-top-style: solid; border-top-color: #e0e0e0;">x-autocompletetypeの実験 by はまちちゃんさん</h2><ul
style="margin-top: 1em; margin-right: 0px; margin-bottom: 1em; margin-left: 2em; padding: 0px;"><li
style="margin-top: 0.5em; margin-right: 0px; margin-bottom: 0.5em; margin-left: 0px; padding: 0px;">x-autocompletetypeのデモ</li><li
style="margin-top: 0.5em; margin-right: 0px; margin-bottom: 0.5em; margin-left: 0px; padding: 0px;">http://hamachiya.com/junk/x-autocompletetype.php</li></ul><h2 style="margin-top: 1.5em; margin-right: 0px; margin-bottom: 1em; margin-left: 0px; padding-top: 0.5em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 4px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; font-size: 20px; border-top-style: solid; border-top-color: #e0e0e0;">サニタイズ言うぞキャンペーン &#8211; TAKESAKO</h2><h3 style="margin-top: 1em; margin-right: 0px; margin-bottom: 1em; margin-left: 0px; padding: 0px; border: 0px initial initial;">mixiの新着検索ページでXSSで1件</h3><ul
style="margin-top: 1em; margin-right: 0px; margin-bottom: 1em; margin-left: 2em; padding: 0px;"><li
style="margin-top: 0.5em; margin-right: 0px; margin-bottom: 0.5em; margin-left: 0px; padding: 0px;">いぬぼくxSS</li></ul><h3 style="margin-top: 1em; margin-right: 0px; margin-bottom: 1em; margin-left: 0px; padding: 0px; border: 0px initial initial;">7年前と少し違う状況</h3><ul
style="margin-top: 1em; margin-right: 0px; margin-bottom: 1em; margin-left: 2em; padding: 0px;"><li
style="margin-top: 0.5em; margin-right: 0px; margin-bottom: 0.5em; margin-left: 0px; padding: 0px;">jQuery</li><li
style="margin-top: 0.5em; margin-right: 0px; margin-bottom: 0.5em; margin-left: 0px; padding: 0px;">XHR2</li></ul><p
style="margin-top: 1em; margin-right: 0px; margin-bottom: 1em; margin-left: 0px; line-height: 1.5em; padding: 0px;">サニタイズ的なものが必要になる場合がある。</p><h3 style="margin-top: 1em; margin-right: 0px; margin-bottom: 1em; margin-left: 0px; padding: 0px; border: 0px initial initial;">kintone</h3><ul
style="margin-top: 1em; margin-right: 0px; margin-bottom: 1em; margin-left: 2em; padding: 0px;"><li
style="margin-top: 0.5em; margin-right: 0px; margin-bottom: 0.5em; margin-left: 0px; padding: 0px;">ライブラリ除いて10万行ぐらい</li></ul><h3 style="margin-top: 1em; margin-right: 0px; margin-bottom: 1em; margin-left: 0px; padding: 0px; border: 0px initial initial;">社内勉強会</h3><ul
style="margin-top: 1em; margin-right: 0px; margin-bottom: 1em; margin-left: 2em; padding: 0px;"><li
style="margin-top: 0.5em; margin-right: 0px; margin-bottom: 0.5em; margin-left: 0px; padding: 0px;">jQueryは甘え</li></ul><h3 style="margin-top: 1em; margin-right: 0px; margin-bottom: 1em; margin-left: 0px; padding: 0px; border: 0px initial initial;">Closure Templateのエスケープ機能について</h3><ul
style="margin-top: 1em; margin-right: 0px; margin-bottom: 1em; margin-left: 2em; padding: 0px;"><li
style="margin-top: 0.5em; margin-right: 0px; margin-bottom: 0.5em; margin-left: 0px; padding: 0px;">サニタイズコンテント</li><li
style="margin-top: 0.5em; margin-right: 0px; margin-bottom: 0.5em; margin-left: 0px; padding: 0px;">JavaScriptでHTMLのパーサー的に書かれてる</li><li
style="margin-top: 0.5em; margin-right: 0px; margin-bottom: 0.5em; margin-left: 0px; padding: 0px;">問題を起こしそうな文字列などが定義されてる</li></ul><h3 style="margin-top: 1em; margin-right: 0px; margin-bottom: 1em; margin-left: 0px; padding: 0px; border: 0px initial initial;">Closure Template &#8211; Contextual Autoscape</h3><ul
style="margin-top: 1em; margin-right: 0px; margin-bottom: 1em; margin-left: 2em; padding: 0px;"><li
style="margin-top: 0.5em; margin-right: 0px; margin-bottom: 0.5em; margin-left: 0px; padding: 0px;">JavaScriptエスケープとHTMLエスケープ等の区別をおこなってくれる</li><li
style="margin-top: 0.5em; margin-right: 0px; margin-bottom: 0.5em; margin-left: 0px; padding: 0px;">CSS、属性値等で異なるエスケープを行う</li><li
style="margin-top: 0.5em; margin-right: 0px; margin-bottom: 0.5em; margin-left: 0px; padding: 0px;">無毒化とかを文脈依存で対処される</li><li
style="margin-top: 0.5em; margin-right: 0px; margin-bottom: 0.5em; margin-left: 0px; padding: 0px;">http://d.hatena.ne.jp/teppeis/20120318/1332092081</li></ul><h2 style="margin-top: 1.5em; margin-right: 0px; margin-bottom: 1em; margin-left: 0px; padding-top: 0.5em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 4px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; font-size: 20px; border-top-style: solid; border-top-color: #e0e0e0;">オフレコ &#8211; 春山</h2><ul
style="margin-top: 1em; margin-right: 0px; margin-bottom: 1em; margin-left: 2em; padding: 0px;"><li
style="margin-top: 0.5em; margin-right: 0px; margin-bottom: 0.5em; margin-left: 0px; padding: 0px;">ベンチャーから始めると、フローの把握ができてない所が存在する</li><li
style="margin-top: 0.5em; margin-right: 0px; margin-bottom: 0.5em; margin-left: 0px; padding: 0px;">そのフローの把握が重要</li></ul><h2 style="margin-top: 1.5em; margin-right: 0px; margin-bottom: 1em; margin-left: 0px; padding-top: 0.5em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 4px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; font-size: 20px; border-top-style: solid; border-top-color: #e0e0e0;">JS Array Hijacking with MBCS &#8211; hasegawa</h2><p
style="margin-top: 1em; margin-right: 0px; margin-bottom: 1em; margin-left: 0px; line-height: 1.5em; padding: 0px;"><a
style="color: #4183c4; text-decoration: none; padding: 0px; margin: 0px;" title="Shibuya.XSS テクニカルトーク#1 開催しました。 - 葉っぱ日記" href="http://d.hatena.ne.jp/hasegawayosuke/20120405/p1">Shibuya.XSS テクニカルトーク#1 開催しました。 &#8211; 葉っぱ日記</a></p><ul
style="margin-top: 1em; margin-right: 0px; margin-bottom: 1em; margin-left: 2em; padding: 0px;"><li
style="margin-top: 0.5em; margin-right: 0px; margin-bottom: 0.5em; margin-left: 0px; padding: 0px;">Array形式のJSONをジャックする</li><li
style="margin-top: 0.5em; margin-right: 0px; margin-bottom: 0.5em; margin-left: 0px; padding: 0px;">Firefox 修正済み</li><li
style="margin-top: 0.5em; margin-right: 0px; margin-bottom: 0.5em; margin-left: 0px; padding: 0px;">UTF-8をShift-JISで解釈すると壊れた解釈をしてしまう問題</li></ul><p
style="margin-top: 1em; margin-right: 0px; margin-bottom: 1em; margin-left: 0px; line-height: 1.5em; padding: 0px;">Mozillaはポテンシャル的な脅威にも対処してくれる</p><ul
style="margin-top: 1em; margin-right: 0px; margin-bottom: 1em; margin-left: 2em; padding: 0px;"><li
style="margin-top: 0.5em; margin-right: 0px; margin-bottom: 0.5em; margin-left: 0px; padding: 0px;">Content-Typeとcharset をちゃんとつける</li></ul><h1 style="margin-top: 1.5em; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0.5em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 4px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; font-size: 23px; border-top-style: solid; border-top-color: #aaaaaa;">LT</h1><h2 style="margin-top: 1.5em; margin-right: 0px; margin-bottom: 1em; margin-left: 0px; padding-top: 0.5em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 4px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; font-size: 20px; border-top-style: solid; border-top-color: #e0e0e0;">mixi scrap Challenge</h2><ul
style="margin-top: 1em; margin-right: 0px; margin-bottom: 1em; margin-left: 2em; padding: 0px;"><li
style="margin-top: 0.5em; margin-right: 0px; margin-bottom: 0.5em; margin-left: 0px; padding: 0px;">学生向けのセキュリティイベント</li><li
style="margin-top: 0.5em; margin-right: 0px; margin-bottom: 0.5em; margin-left: 0px; padding: 0px;">用意したmixiクローンサイトに攻撃してもらって脆弱性を見つけてもらう</li></ul><h3 style="margin-top: 1em; margin-right: 0px; margin-bottom: 1em; margin-left: 0px; padding: 0px; border: 0px initial initial;">イベント用に使ったサイト</h3><ul
style="margin-top: 1em; margin-right: 0px; margin-bottom: 1em; margin-left: 2em; padding: 0px;"><li
style="margin-top: 0.5em; margin-right: 0px; margin-bottom: 0.5em; margin-left: 0px; padding: 0px;">イベント用のmixiサイトをクローンしてXSSを探してもらう</li><li
style="margin-top: 0.5em; margin-right: 0px; margin-bottom: 0.5em; margin-left: 0px; padding: 0px;">日記ページにあるXSSを探して、スタッフアカウントに対して攻撃URLを送ってもらう<ul
style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 2em; padding: 0px;"><li
style="margin-top: 0.5em; margin-right: 0px; margin-bottom: 0.5em; margin-left: 0px; padding: 0px;">得点方式</li></ul></li></ul><h3 style="margin-top: 1em; margin-right: 0px; margin-bottom: 1em; margin-left: 0px; padding: 0px; border: 0px initial initial;">問題</h3><ul
style="margin-top: 1em; margin-right: 0px; margin-bottom: 1em; margin-left: 2em; padding: 0px;"><li
style="margin-top: 0.5em; margin-right: 0px; margin-bottom: 0.5em; margin-left: 0px; padding: 0px;">ネギ男に、イラクとnicknameがalertされるURLを踏ませて下さい</li><li
style="margin-top: 0.5em; margin-right: 0px; margin-bottom: 0.5em; margin-left: 0px; padding: 0px;">ネギ男に….</li></ul><p
style="margin-top: 1em; margin-right: 0px; margin-bottom: 1em; margin-left: 0px; line-height: 1.5em; padding: 0px;">みたいな問題形式</p><h3 style="margin-top: 1em; margin-right: 0px; margin-bottom: 1em; margin-left: 0px; padding: 0px; border: 0px initial initial;">実際のサービスのクローンを舞台にして</h3><ul
style="margin-top: 1em; margin-right: 0px; margin-bottom: 1em; margin-left: 2em; padding: 0px;"><li
style="margin-top: 0.5em; margin-right: 0px; margin-bottom: 0.5em; margin-left: 0px; padding: 0px;">盛り上がった</li><li
style="margin-top: 0.5em; margin-right: 0px; margin-bottom: 0.5em; margin-left: 0px; padding: 0px;">より実践的な体験をしてもらえた<ul
style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 2em; padding: 0px;"><li
style="margin-top: 0.5em; margin-right: 0px; margin-bottom: 0.5em; margin-left: 0px; padding: 0px;">XSSをみつけるだけではなくSNSの使用を考慮して実践的な内容になった</li><li
style="margin-top: 0.5em; margin-right: 0px; margin-bottom: 0.5em; margin-left: 0px; padding: 0px;">問題をつくやすかった</li><li
style="margin-top: 0.5em; margin-right: 0px; margin-bottom: 0.5em; margin-left: 0px; padding: 0px;">git-grep “XSS” revertで過去に対応してXSS問題から引き出す</li></ul></li></ul><h2 style="margin-top: 1.5em; margin-right: 0px; margin-bottom: 1em; margin-left: 0px; padding-top: 0.5em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 4px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; font-size: 20px; border-top-style: solid; border-top-color: #e0e0e0;">AjaxアプリケーションのXSS対応入門 &#8211; 徳丸</h2><ul
style="margin-top: 1em; margin-right: 0px; margin-bottom: 1em; margin-left: 2em; padding: 0px;"><li
style="margin-top: 0.5em; margin-right: 0px; margin-bottom: 0.5em; margin-left: 0px; padding: 0px;">入門書にもAjax的な問題</li><li
style="margin-top: 0.5em; margin-right: 0px; margin-bottom: 0.5em; margin-left: 0px; padding: 0px;">X-Content-Type-Options: nosniff</li></ul><h3 style="margin-top: 1em; margin-right: 0px; margin-bottom: 1em; margin-left: 0px; padding: 0px; border: 0px initial initial;">JSONハイジャック</h3><ul
style="margin-top: 1em; margin-right: 0px; margin-bottom: 1em; margin-left: 2em; padding: 0px;"><li
style="margin-top: 0.5em; margin-right: 0px; margin-bottom: 0.5em; margin-left: 0px; padding: 0px;">JSONを罠サイトからスクリプト要素を呼び出す</li><li
style="margin-top: 0.5em; margin-right: 0px; margin-bottom: 0.5em; margin-left: 0px; padding: 0px;">通常はただのデータなので、読み取りはできないはず…</li><li
style="margin-top: 0.5em; margin-right: 0px; margin-bottom: 0.5em; margin-left: 0px; padding: 0px;">JSONハイジャックで読み取りができてしまう =&gt; 既にブラウザは対策済み</li><li
style="margin-top: 0.5em; margin-right: 0px; margin-bottom: 0.5em; margin-left: 0px; padding: 0px;">Androidだとまだ発生する(4.0.3だと問題ない)</li></ul><h3 style="margin-top: 1em; margin-right: 0px; margin-bottom: 1em; margin-left: 0px; padding: 0px; border: 0px initial initial;">対策</h3><ul
style="margin-top: 1em; margin-right: 0px; margin-bottom: 1em; margin-left: 2em; padding: 0px;"><li
style="margin-top: 0.5em; margin-right: 0px; margin-bottom: 0.5em; margin-left: 0px; padding: 0px;">ヘッダチェックが無難</li><li
style="margin-top: 0.5em; margin-right: 0px; margin-bottom: 0.5em; margin-left: 0px; padding: 0px;">あんまりいい方法がない</li><li
style="margin-top: 0.5em; margin-right: 0px; margin-bottom: 0.5em; margin-left: 0px; padding: 0px;">外部APIは基本的に信用しない</li></ul><h2 style="margin-top: 1.5em; margin-right: 0px; margin-bottom: 1em; margin-left: 0px; padding-top: 0.5em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 4px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; font-size: 20px; border-top-style: solid; border-top-color: #e0e0e0;">CSS HTML Attribute Reader &#8211; kyo_ago</h2><p
style="margin-top: 1em; margin-right: 0px; margin-bottom: 1em; margin-left: 0px; line-height: 1.5em; padding: 0px;">The Sexy Assassinで紹介されてるCSS HTML Attribute Readerがどこまで危険か検証してみた http://bit.ly/HU74ad</p><ul
style="margin-top: 1em; margin-right: 0px; margin-bottom: 1em; margin-left: 2em; padding: 0px;"><li
style="margin-top: 0.5em; margin-right: 0px; margin-bottom: 0.5em; margin-left: 0px; padding: 0px;">CSS Attributeでパスワードの取得 -moz-anyと合わせ技</li><li
style="margin-top: 0.5em; margin-right: 0px; margin-bottom: 0.5em; margin-left: 0px; padding: 0px;">外部からCSS書けるということ自体が問題</li><li
style="margin-top: 0.5em; margin-right: 0px; margin-bottom: 0.5em; margin-left: 0px; padding: 0px;">:visited の履歴取得も最近のブラウザは対策されてる</li></ul><h3 style="margin-top: 1em; margin-right: 0px; margin-bottom: 1em; margin-left: 0px; padding: 0px; border: 0px initial initial;">ロングIPアドレス</h3><ul
style="margin-top: 1em; margin-right: 0px; margin-bottom: 1em; margin-left: 2em; padding: 0px;"><li
style="margin-top: 0.5em; margin-right: 0px; margin-bottom: 0.5em; margin-left: 0px; padding: 0px;">ドット無しでドメインを書くことができる</li><li
style="margin-top: 0.5em; margin-right: 0px; margin-bottom: 0.5em; margin-left: 0px; padding: 0px;">ドットを無効化しても、数字だけでドメインを書く事ができるので問題が起こる場合があるかも</li></ul><h2 style="margin-top: 1.5em; margin-right: 0px; margin-bottom: 1em; margin-left: 0px; padding-top: 0.5em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 4px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; font-size: 20px; border-top-style: solid; border-top-color: #e0e0e0;">セキュリティ小ネタ &#8211; send</h2><p
style="margin-top: 1em; margin-right: 0px; margin-bottom: 1em; margin-left: 0px; line-height: 1.5em; padding: 0px;">http://d.hatena.ne.jp/send/20120405/p1</p><h3 style="margin-top: 1em; margin-right: 0px; margin-bottom: 1em; margin-left: 0px; padding: 0px; border: 0px initial initial;">rootkit</h3><ul
style="margin-top: 1em; margin-right: 0px; margin-bottom: 1em; margin-left: 2em; padding: 0px;"><li
style="margin-top: 0.5em; margin-right: 0px; margin-bottom: 0.5em; margin-left: 0px; padding: 0px;">rootやadminが使えなくなってた</li><li
style="margin-top: 0.5em; margin-right: 0px; margin-bottom: 0.5em; margin-left: 0px; padding: 0px;">対策<ul
style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 2em; padding: 0px;"><li
style="margin-top: 0.5em; margin-right: 0px; margin-bottom: 0.5em; margin-left: 0px; padding: 0px;">別の所からpsやkill等のバイナリを持ってきてきて殺してた</li></ul></li><li
style="margin-top: 0.5em; margin-right: 0px; margin-bottom: 0.5em; margin-left: 0px; padding: 0px;">chattrされてた<ul
style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 2em; padding: 0px;"><li
style="margin-top: 0.5em; margin-right: 0px; margin-bottom: 0.5em; margin-left: 0px; padding: 0px;">細かい改ざんをやっていた</li></ul></li><li
style="margin-top: 0.5em; margin-right: 0px; margin-bottom: 0.5em; margin-left: 0px; padding: 0px;">対策として改ざん検知などの導入で数ヶ月使った</li></ul><h3 style="margin-top: 1em; margin-right: 0px; margin-bottom: 1em; margin-left: 0px; padding: 0px; border: 0px initial initial;">よく狙われる脆弱性</h3><p
style="margin-top: 1em; margin-right: 0px; margin-bottom: 1em; margin-left: 0px; line-height: 1.5em; padding: 0px;">JSだとimg onerror</p><ul
style="margin-top: 1em; margin-right: 0px; margin-bottom: 1em; margin-left: 2em; padding: 0px;"><li
style="margin-top: 0.5em; margin-right: 0px; margin-bottom: 0.5em; margin-left: 0px; padding: 0px;">src属性指定後すぐ発火してしまう</li><li
style="margin-top: 0.5em; margin-right: 0px; margin-bottom: 0.5em; margin-left: 0px; padding: 0px;">ドキュメントに追加しなくても発火してしまってる(高速)</li><li
style="margin-top: 0.5em; margin-right: 0px; margin-bottom: 0.5em; margin-left: 0px; padding: 0px;">onerrorは除去しにくいので対策しにくい</li></ul><h2 style="margin-top: 1.5em; margin-right: 0px; margin-bottom: 1em; margin-left: 0px; padding-top: 0.5em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 4px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; font-size: 20px; border-top-style: solid; border-top-color: #e0e0e0;">余談</h2><ul
style="margin-top: 1em; margin-right: 0px; margin-bottom: 1em; margin-left: 2em; padding: 0px;"><li
style="margin-top: 0.5em; margin-right: 0px; margin-bottom: 0.5em; margin-left: 0px; padding: 0px;">最初にサブドメイン以下にtest. やadmin.とかを見る</li><li
style="margin-top: 0.5em; margin-right: 0px; margin-bottom: 0.5em; margin-left: 0px; padding: 0px;">crossdomein.xml</li></ul><h3 style="margin-top: 1em; margin-right: 0px; margin-bottom: 1em; margin-left: 0px; padding: 0px; border: 0px initial initial;">パスワード入力はやっぱり別ドメインに分けるべき</h3><h3 style="margin-top: 1em; margin-right: 0px; margin-bottom: 1em; margin-left: 0px; padding: 0px; border: 0px initial initial;">DOS</h3><p
style="margin-top: 1em; margin-right: 0px; margin-bottom: 1em; margin-left: 0px; line-height: 1.5em; padding: 0px;">くよくよくよくよ</p><ul
style="margin-top: 1em; margin-right: 0px; margin-bottom: 1em; margin-left: 2em; padding: 0px;"><li
style="margin-top: 0.5em; margin-right: 0px; margin-bottom: 0.5em; margin-left: 0px; padding: 0px;">セキュリティを使うと守ると考えるは違う</li></ul><h1 style="padding-top: 0.25em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: initial; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; font-size: 23px; border-top-style: none; border-top-color: initial; margin: 0px;"></h1><p>メモ : Mou + Github.css</p><ul
style="margin-top: 1em; margin-right: 0px; margin-bottom: 1em; margin-left: 2em; padding: 0px;"></ul>]]></content:encoded> <wfw:commentRss>http://efcl.info/2012/0405/res3027/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>無料で読めて定期更新されているIT系の電子雑誌</title><link>http://efcl.info/2011/0905/res2963/</link> <comments>http://efcl.info/2011/0905/res2963/#comments</comments> <pubDate>Mon, 05 Sep 2011 13:38:47 +0000</pubDate> <dc:creator>azu</dc:creator> <category><![CDATA[まとめ]]></category> <category><![CDATA[javascript]]></category> <category><![CDATA[mobile]]></category> <category><![CDATA[pdf]]></category> <category><![CDATA[programing]]></category> <category><![CDATA[セキュリティ]]></category><guid
isPermaLink="false">http://efcl.info/?p=2963</guid> <description><![CDATA[PDF形式などで配布されていて、定期的に更新があるサイトの紹介 今だとブログがいっぱいありますが、まとまった形態,書式である良さというのもあるので、ブログとはひと味違う感じの所を中心に。 デジタルプラクティス 発行は季刊 [...]]]></description> <content:encoded><![CDATA[<p>PDF形式などで配布されていて、定期的に更新があるサイトの紹介 <br
/>今だとブログがいっぱいありますが、まとまった形態,書式である良さというのもあるので、ブログとはひと味違う感じの所を中心に。</p><h4><a
href="https://www.ipsj.or.jp/15dp/dp-index.html">デジタルプラクティス</a></h4><p>発行は季刊で1月（創刊号のみ2月），4月，7月，10月に発行されるのをPDFで読める。 <br
/>内容も多岐にわたっていて、論文というほど堅くはないものもあり読みやすい。</p><blockquote
cite="https://www.ipsj.or.jp/15dp/foreword.html"><p>デジタルプラクティスでは，実務の現場におけるIT 実践例・経験・ノウハウのレベルの成果でも社会的に有用なものならば歓迎し，IT実践における新たな発展を先導するような論文を積極的に採録します <br
/><cite><a
href="https://www.ipsj.or.jp/15dp/foreword.html">創刊に当たって</a></cite></p></blockquote><p>また、著名な人も結構寄稿されているので、読みたいものが何かしらあると思います。</p><ul><li><a
href="https://www.ipsj.or.jp/15dp/Vol2/No2/IPSJ-DP0202003.pdf">プログラミング言語Rubyの世界普及戦略</a> <br
/>まつもとゆきひろ</li><li><a
href="https://www.ipsj.or.jp/15dp/Vol2/No2/IPSJ-DP0202005.pdf">ウェブブラウザLunascapeの起業戦略と技術戦略</a> <br
/>近藤秀和</li><li><a
href="https://www.ipsj.or.jp/15dp/Vol1/No1/IPSJ-DP0101004.pdf">クラウド時代のユーザインタフェースの方向性 <br
/>～サービスサイエンスでUI の方向性を検証する～ </a> <br
/>鹿島泰介</li></ul><p>などなど</p><h4></h4><h4><a
href="http://www.ipa.go.jp/about/NYreport/index.html">情報処理推進機構：ニューヨークだより</a></h4><p>IPAにより月一でPDF形式で発行される。 <br
/>アメリカのIT関係についての最新事情を扱っていて、ものすごく詳しく書かれている。 <br
/>ITやスマートフォンなどのデジタル機器(OSについても)やITと政治についてなど、かなり詳細な情報を掲載している。 <br
/>無料とは思えない質だったり、情報元のソースを脚注で入れてくれるので、情報元自体も見られてとても良い感じになっている。おすすめです。</p><h4><a
href="http://wizardbible.org/">Wizard Bible</a></h4><blockquote
cite="http://wizardbible.org/"><p>Wizard Bibleとは、基本的に毎月リリースしているWebマガジンです <br
/><cite><a
href="http://wizardbible.org/">Wizard Bible</a></cite></p></blockquote><p>発行は月一でtxt形式で発行されている(最近不定期だった気がする) <br
/>内容は<a
href="http://wizardbible.org/wbQandA.html#1">どういったテーマで書けばいいのか？</a>を見ると分かると思いますが、セキュリティ関係のものが中心となっています。それに関係するプログラミングや数学などの内容も扱われています。</p><h4><a
href="http://www.is.doshisha.ac.jp/isreport">IS Report System</a></h4><blockquote
cite="http://www.is.doshisha.ac.jp/isreport"><p>本サイトは 「同志社大学生命医科学部医情報学科 医療情報システム研究室」 及び 「同志社大学工学部インテリジェント工学科 知的システムデザイン研究室」 の所有する研究報告である ISレポートの管理システム <br
/><cite><a
href="http://www.is.doshisha.ac.jp/isreport">IS Report System</a></cite></p></blockquote><p>医療やソーシャルメディア、インターネットや携帯電話などの電子機器について書かれたレポートが公開されています。 <br
/>HTMLとepub形式(一部PDFも)で配布されていて、図などが入ったものも多く内容も結構読みやすいです。 <br
/>結構書かれているジャンルが幅広い気がします。</p><h4></h4><h4><a
href="http://pragprog.com/magazines">The Pragmatic Bookshelf | Read Our Magazines</a></h4><p><a
href="http://pragprog.com/">Pragmatic Bookshelf</a>により毎月発行されるプログラミング関係の電子雑誌。 <br
/>HTML PDF epub mobiが用意されている。</p><h3>番外編</h3><p>タイトルから外れて有料の雑誌。 <br
/>といっても海外だと電子版の雑誌は珍しくないので、気になったものだけ。</p><h4><a
href="http://www.jsmag.com/">JsMag &#8211; the magazine for JavaScript developers</a></h4><p>JavaScriptについて扱う月刊誌。 <br
/>一号毎に購入($4.99)か一年分まとめて購入($53.88 )ができる。 <br
/>日本にもこういうの欲しいですね。。 <br
/></p><h4><a
href="http://hackermonthly.com/">Hacker Monthly &#8211; Print Magazine of Hacker News</a></h4><p><a
href="http://news.ycombinator.com/">Hacker News</a>で話題になったものを厳選して扱う月刊誌。</p><p><strong>おわり</strong></p><p>電子雑誌というタイトルにしたけど、別に雑誌じゃないものが多い気がする。 <br
/>今はブログやソーシャルメディア経由でだいたいの情報はカバーできるだろうけど、論文や雑誌、スライドなどある程度労力を伴って書かれたものにはブログとは異なるものがあると思ってるので、こういうものも読んでいきたいですね。</p><blockquote
cite="https://twitter.com/#!/azu_re/status/75878368695959552"><p>JavaScriptの論文かき集める仕組み欲しい。日本でも小さなもの含めて年間二桁は書かれてる感じする。 <br
/><cite><a
href="https://twitter.com/#!/azu_re/status/75878368695959552">Twitter / @azu_re: JavaScriptの論文かき集める仕組み欲しい。日 &#8230;</a></cite></p></blockquote><p>とか思ったりするのはそういう理由です。</p><p>他にもおすすめがありましたらよろしくお願いします。</p>]]></content:encoded> <wfw:commentRss>http://efcl.info/2011/0905/res2963/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>WindowsからVM上のLinuxをSSH経由で利用する開発環境の構築</title><link>http://efcl.info/2011/0420/res2588/</link> <comments>http://efcl.info/2011/0420/res2588/#comments</comments> <pubDate>Wed, 20 Apr 2011 14:42:07 +0000</pubDate> <dc:creator>azu</dc:creator> <category><![CDATA[インストール設定]]></category> <category><![CDATA[Git]]></category> <category><![CDATA[Node.js]]></category> <category><![CDATA[VM]]></category> <category><![CDATA[Windows]]></category> <category><![CDATA[セキュリティ]]></category> <category><![CDATA[設定]]></category> <category><![CDATA[開発環境]]></category><guid
isPermaLink="false">http://efcl.info/?p=2588</guid> <description><![CDATA[VirtualBox orVMWare PlayerでLinux環境をWindows 7&#215;64に構築するメモ 今回はVirtualBoxとTurnkey Linux coreを使って構築した。 と見せかけて、最 [...]]]></description> <content:encoded><![CDATA[<p><a
href="http://www.virtualbox.org/">VirtualBox</a> or<a
href="http://www.vmware.com/products/player/">VMWare Player</a>でLinux環境をWindows 7&#215;64に構築するメモ <br
/>今回は<a
href="http://www.virtualbox.org/">VirtualBox</a>と<a
href="http://www.turnkeylinux.org/core">Turnkey Linux core</a>を使って構築した。</p><p><strong>と見せかけて、最終的には<a
href="http://www.ubuntu.com/business/server/overview">Ubuntu Server</a>使う事にしたので途中まで飛ばしていいです。</strong></p><p>なんでVMを使ってまでやるかというと <br
/>WIndowsでのCUIは<a
href="http://sourceforge.net/projects/console/">Console</a>+<a
href="http://www.nyaos.org/">NYAOS</a>でコンソールとしていいのですが、node.jsなど実行できないものが出てきたので、VM上に環境を作ることにしました。 <br
/>Cygwin : 食わず嫌いでしたが、食ったら嫌いでした。 <br
/>coLinux : <a
href="http://colinux.wikia.com/wiki/Dashboard_for_developing_a_64_bit_coLinux">64 bit</a>が非対応でした。 <br
/> <br
/>必要なもの</p><ul><li><a
href="http://www.virtualbox.org/">VirtualBox</a>(仮想化ソフトウェア）</li><li><a
href="http://www.turnkeylinux.org/core">TurnKey Core</a>(サーバー、そこら辺の便利なソフトが入ってる感じのディストリビューション)</li><li><a
href="http://nanno.dip.jp/softlib/man/rlogin/">RLogin</a>(SSHクライアント)</li></ul><p>Turnkey Linux coreはVM向けにovf形式でも配布してるので、OVFと書かれてるリンクからturnkey-core-バージョン-lucid-x86-ovf.zipをダウンロードして使う。</p><p><a
href="http://efcl.info/wp-content/uploads/2011/04/2011-04-20-ss11.png"><img
style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="2011-04-20-ss11" border="0" alt="2011-04-20-ss11" src="http://efcl.info/wp-content/uploads/2011/04/2011-04-20-ss11_thumb.png" width="640" height="153" /></a></p><p>VirtualBoxを起動してメニューの仮想アプライアンスのインポートから、先ほどのovfをインポートすると自動でTurnKey Coreが仮想マシン一覧に並ぶ。(設定するのは仮想マシンの名前ぐらい）</p><p><a
href="http://efcl.info/wp-content/uploads/2011/04/2011-04-20-ss8.png"><img
style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="2011-04-20-ss8" border="0" alt="2011-04-20-ss8" src="http://efcl.info/wp-content/uploads/2011/04/2011-04-20-ss8_thumb.png" width="240" height="170" /></a></p><p>起動するとパスワードの設定などがあって、パスワード以外はEnter押してればいいと思う。 <br
/>設定が終わると起動して下のようなメニュー画面が表示される。</p><p><a
href="http://efcl.info/wp-content/uploads/2011/04/2011-04-20-ss12.png"><img
style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="2011-04-20-ss12" border="0" alt="2011-04-20-ss12" src="http://efcl.info/wp-content/uploads/2011/04/2011-04-20-ss12_thumb.png" width="240" height="209" /></a> <br
/>メニューを終了させると、CUIで操作できるけどキーやマウスの関係で扱いにくいのでSSHからアクセスして操作する。</p><p><a
href="http://nanno.dip.jp/softlib/man/rlogin/">RLogin</a>を起動して、サーバの接続から新規追加して、プロトコロルにSSH、アドレスにはLinuxサーバーのIPアドレス、ユーザーはrootで、パスワードは最初の起動時に設定したものを入力して接続する</p><p><a
href="http://efcl.info/wp-content/uploads/2011/04/2011-04-20-ss13.png"><img
style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="2011-04-20-ss13" border="0" alt="2011-04-20-ss13" src="http://efcl.info/wp-content/uploads/2011/04/2011-04-20-ss13_thumb.png" width="226" height="240" /></a></p><p><a
href="http://efcl.info/wp-content/uploads/2011/04/2011-04-20-ss9.png"><img
style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="2011-04-20-ss9" border="0" alt="2011-04-20-ss9" src="http://efcl.info/wp-content/uploads/2011/04/2011-04-20-ss9_thumb.png" width="240" height="141" /></a></p><p>こっからはサーバー{ゲスト側(Ubuntu)}の設定</p><p>まずはrootだとあんまりよくないので、ユーザー(azuという例で)を追加、そのユーザーのパスワードを設定する。</p><div><pre id="codeSnippet" class="csharpcode">root@core ~<span class="rem"># useradd -m -s /bin/bash azu</span>
<span class="rem"># ユーザーazuを追加する。mオプションがないとHOMEディレクトリが追加されなかった</span>
root@core ~<span class="rem"># ls /home/     </span>
azu/
<span class="rem"># HOMEディレクトリがあるのを確認</span>
root@core ~<span class="rem"># passwd azu</span>
<span class="rem"># パスワードの設定</span>
Enter new UNIX password: 
Retype new UNIX password: 
passwd: password updated successfully</pre></div><div>useraddの-sオプションでログインシェルを決めないとかなり不自由な感じになります。 <br
/>後からログインシェルを決める場合はchsh -s /bin/bash などとする。</div><div>と、このままTurnkey Linuxを使おうと思っていたんだけど、ファイル共有でどうしても上手くGuest Additionsのインストールが上手くできないのと、なんかroot前提なような環境で他とは少し違った感じで躓く事がありそうだったので、<a
href="http://www.ubuntu.com/business/server/overview">Ubuntu Server</a>に切り替えました。</div><div>&#160;</div><h3><a
href="http://www.ubuntu.com/business/server/overview"><strong>Ubuntu Server</strong></a><strong>を使って環境構築(改めて)</strong></h3><div>(ちょこちょログにTurnkeyが出てくるのはそのときの名残です。プロンプトの文字は無視してください)</div><div>(Turnkey Linuxの事は忘れてください)</div><div>必要なもの</div><ul><li><a
href="http://www.virtualbox.org/">VirtualBox</a>(仮想化ソフトウェア）</li><li><a
href="http://www.ubuntu.com/business/server/overview">Ubuntu Server</a> (ゲストOS)</li><li><a
href="http://nanno.dip.jp/softlib/man/rlogin/">RLogin</a>(SSHクライアント)</li></ul><div><table
border="0" cellspacing="0" cellpadding="2" width="400"><tbody><tr><td
valign="top" width="200"><p>ホストOS</p></td><td
valign="top" width="200"><p>ゲストOS</p></td></tr><tr><td
valign="top" width="200"><p>Windows 7 64bit</p></td><td
valign="top" width="200"><p>Ubuntu Server</p></td></tr></tbody></table></div><div>で環境を作っていきます。</div><div><a
href="http://www.ubuntu.com/business/server/overview">Ubuntu Server</a>のisoをダウンロードしてきて、新規仮想マシン作成から適当な配分で仮想マシンを作りますが、<strong>ネットワークをブリッジ接続</strong>に変更しないとUbuntu ServerのIPアドレスが10.0.2.25とかいう感じになってSSH接続できなかったので、ネットワークをブリッジ接続に変更して作成しました。</div><div><a
href="http://efcl.info/wp-content/uploads/2011/04/image.png"><img
style="background-image: none; border-right-width: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://efcl.info/wp-content/uploads/2011/04/image_thumb.png" width="240" height="186" /></a></div><div><strong>追記</strong>: ネットワークがNATでもポートフォワーディングすればSSH接続できました(こっちの方がいいかも)</div><div>ネットワークの設定をNATにしてから、高度の設定でポートフォワーディングにホストには任意のポート、ゲストにはUbuntu側に設定したSSHのポート番号(デフォルト22)を設定します。</div><div><a
href="http://efcl.info/wp-content/uploads/2011/04/2011-04-23-ss1.png"><img
style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="2011-04-23-ss1" border="0" alt="2011-04-23-ss1" src="http://efcl.info/wp-content/uploads/2011/04/2011-04-23-ss1_thumb.png" width="240" height="120" /></a></div><div>この状態で、RLoginに接続IPアドレスに127.0.0.1 or localhost で、ポート番号にはホストに設定したポート番号を入力すればSSH接続できます。 <br
/>任意のポートだけを開く感じで使えるのでこっちの方がいい気がします。同様の方法でWebのポートである8080もポートフォワーディングに設定しました。</div><ul><li><a
href="http://d.hatena.ne.jp/replication/20110423/1303525759">VirtualBox + CentOSでNAT接続のポートフォワーディングを行う方法 &#8211; 大人になったら肺呼吸</a></li><li><a
href="http://d.hatena.ne.jp/sdhr/20110219/1298111849">VirtualBox4.04にCentOS5.5をインストール &#8211; sdhrの日記</a></li><li><a
href="http://chocokanpan.net/archives/374">VirtualBox 4.0.2のゲストにsshで接続してみる。 « chocokanpan BLOG</a></li></ul><p>&#160;</p><div>仮想マシンを起動したUbuntu Serverのインストール画面でユーザーアカウントの作成ができるので、下のガイドに従って入力していくだけで先ほどのTurnkey Linux でのユーザーアカウント追加までと同じ事ができます。</div><ul><li><a
href="http://studio-bey.chicappa.jp/dougubako/ubuntu_server/269">どうぐばこ » ubuntu server インストール ガイド</a></li></ul><p>注意点としては<em>１８．サーバーソフトウェアの選択画面</em>でOpenSSH SERVERを選択してSSHでつなげるようにしておくと楽でいいです(スペースキーで選択チェックが入る)</p><p>忘れた場合でも</p><div><pre id="codeSnippet" class="csharpcode">sudo apt-get install openssh-server</pre></div><div>とすればいいだけなので、そこまで問題ないです。</div><div>Ubuntu Serverはそのまま使うと<a
href="http://hamamuratakuo.blog61.fc2.com/blog-entry-400.html">文字化け</a>して扱いにくいので、<a
href="http://nanno.dip.jp/softlib/man/rlogin/">RLogin</a>を使ってアクセスすれば文字化け対策をしなくてもいいので、最初から<a
href="http://nanno.dip.jp/softlib/man/rlogin/">RLogin</a>を使って作業します。<br
/>サーバのIPアドレスは</div><pre>ifconfig</pre><p>で、わかると思います。 <br
/>初期設定なら、インストール時に入力したアカウントとパスワードでログインできると思います。<strong></strong></p><p><strong> <br
/>SSHで鍵を使って接続</strong></p><p>セキュリティ的にパスワードではなく鍵でSSHをつなぐのが普通だと思うので、SSHの鍵設定をします。</p><div><pre id="codeSnippet" class="csharpcode">root@core ~<span class="rem"># cd /home/azu/</span>
<span class="rem"># ユーザのHOMEへ</span>
root@core /home/azu<span class="rem"># mkdir .ssh</span>
root@core /home/azu<span class="rem"># cd .ssh</span>
<span class="rem"># .sshディレクトリを作って移動</span>
root@core azu/.ssh<span class="rem"># ssh-keygen -t rsa</span>
<span class="rem"># 鍵を生成する</span>
Generating public/<span class="kwrd">private</span> rsa key pair.
Enter file <span class="kwrd">in</span> which to save the key (/root/.ssh/id_rsa): turnkey <span class="rem"># ファイル名は適当に</span>
Enter passphrase (empty <span class="kwrd">for</span> no passphrase): 
Enter same passphrase again: 
Your identification has been saved <span class="kwrd">in</span> turnkey.
Your public key has been saved <span class="kwrd">in</span> turnkey.pub.
root@core azu/.ssh<span class="rem"># ls</span>
turnkey  turnkey.pub
<span class="rem"># .sshディレクトリに秘密鍵と暗号鍵が生成される</span>
root@core azu/.ssh<span class="rem"># mv turnkey.pub authorized_keys</span>
<span class="rem"># turnkey.pub を authorized_keysにリネームする</span>
root@core azu/.ssh<span class="rem"># ls</span>
authorized_keys  turnkey</pre></div><div>鍵は生成して公開鍵(authorized_keys)の登録ができたので、秘密鍵をホスト側のPCに転送します。 <br
/><a
href="http://nanno.dip.jp/softlib/man/rlogin/">RLogin</a>にファイル転機能がついてるので、.sshディレクトリにある秘密鍵(turnkey)をホスト側に移動させます。<br
/>ゲスト側(Ubuntu)に秘密鍵は置いておく必要はないので、秘密鍵(turnkey)は転送したら削除します。</div><div><a
href="http://efcl.info/wp-content/uploads/2011/04/2011-04-20-ss15.png"><img
style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="2011-04-20-ss15" border="0" alt="2011-04-20-ss15" src="http://efcl.info/wp-content/uploads/2011/04/2011-04-20-ss15_thumb.png" width="240" height="115" /></a></div><div>次にSSHの設定で、鍵以外でのログインはできないように/etc/ssh/sshd_configを書き換えます。</div><div
id="codeSnippetWrapper"><pre id="codeSnippet" class="csharpcode"><span class="rem"># それぞれをnoに書き換える </span>
PermitRootLogin no  
PasswordAuthentication no  
UsePAM no
# 面倒だったので一度rebootした</pre><p>自分はportも22から適当なものに変更しました。</p></div><div>後はRLoginに秘密鍵を登録してSSHログインするだけです。</div><div>SSH Identity keyに転送した秘密鍵をセットして、ポートを変えた場合はポートも任意のものに設定してから接続します。</div><ul><li><a
href="http://d.hatena.ne.jp/Fiore/20080228/1204174833">Ubuntuでsshdの設定をしてリモートから接続できるようにする &#8211; そ、そんなことないんだから！</a></li><li><a
href="http://blog.myfinder.jp/2010/09/vpsssh.html">myfinder&#8217;s blog: さくらのVPSを借りたら真っ先にやるべきssh設定</a></li></ul><div><strong>共有フォルダの設定</strong></div><div>Ubuntu Server にはGUIがないので、Guest AdditionsのインストールもCUIで行わないといけません。</div><div>ここで結構はまりました</div><ul><li><a
href="http://amis-annex.posterous.com/virtualbox-4xguest-ubuntu-server">virtualbox 4.x/Guest ubuntu-server で共有フォルダを使う &#8211; As mind is suitable&#8230;</a></li><li><a
href="http://blog.brettalton.com/2010/04/28/installing-guest-additions-in-virtualbox-for-an-ubuntu-server-guest/">Articles • brettalton.com</a></li></ul><p>が大変参考になった。</p><p>まずは適当な共有フォルダを設定しておく。</p><p><a
href="http://efcl.info/wp-content/uploads/2011/04/image1.png"><img
style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://efcl.info/wp-content/uploads/2011/04/image_thumb1.png" width="240" height="214" /></a></p><p>そして、起動してるVMのメニューにある”<em>Guest Additionsのインストール</em>”を押しておく。<br
/>何にも起きてないように見えるが、CDドライブにCDが入った感じになる。</p><pre id="codeSnippet" class="csharpcode">sudo apt-get install build-essential linux-headers-`uname -r`
sudo apt-get install xserver-xorg xserver-xorg-core
<span class="rem">#必要なものを先にインストールしておく</span>
<span class="rem">###################</span>
<span class="rem"># ここまでにGuest Additionsのインストールを押してマウントの準備が必要</span>
<span class="rem">###################</span>
mkdir /tmp/cdrom
sudo mount /dev/sr0 /tmp/cdrom
<span class="rem"># Guest Additionsのディスクをマウントする</span>
cd /tmp/cdrom
sudo bash VBoxLinuxAdditions.run  --nox11
sudo addgroup --system --quiet vboxsf
sudo usermod -a -G vboxsf azu <span class="rem"># ユーザーをvboxsfグループに加える</span>
sudo reboot
# リブート

azu@ubuntu:/media$ ls
cdrom&#160; sf_azu</pre><div>自動マウントするためにはユーザーをvboxsfグループというグループに加える必要があることに注意。 <br
/>リブートすると/media以下にsf_フォルダ名が現れてアクセスできるようになる。</div><div>大体ここまで基礎的な環境ができあがるので、後は好きなソフトを入れていく感じになると思います。(一応スナップショットをとっておきました)</div><div>Ubuntu Server + VirtualBox GUIありでメモリ使用量は45MBぐらい、VBoxHeadless.exeで画面表示なしで起動させると30MBになって結構メモリ使用量は少ない。 <br
/>VirtualBoxをタスクトレイに入れて管理するには<a
href="http://www.toptensoftware.com/VBoxHeadlessTray/">VBoxHeadlessTray</a>がおすすめ。ヘッドレスモードやシャットダウンとなどの操作もタスクトレイで行えるのでとてもいい。</div><p>ついでにNode.jsの環境も作ってみる <br
/>Node.jsは直接入れるよりもバージョン管理するツールから入れるのがいいらしいので、naveかnvmを使う事にした。<br
/><a
href="https://github.com/isaacs/nave">nave</a>は何かインストールが面倒だったので、<a
href="https://github.com/creationix/nvm">nvm</a>を使う事にした。<br
/>nvmは自動でnpmもインストールしてくれるので便利。</p><div
id="codeSnippetWrapper"><pre id="codeSnippet" class="csharpcode">azu@ubuntu:~$ sudo apt-get install build-essential libssl-dev git-core 
azu@ubuntu:~$ sudo apt-get install curl
<span class="rem"># 必要なものを先にインストールしておく</span>
azu@ubuntu:~$ git clone git://github.com/creationix/nvm.git ~/.nvm          
azu@ubuntu:~$ cd .nvm/
azu@ubuntu:~$ bash ./nvm.sh
azu@ubuntu:~$ nvm install latest
<span class="rem"># 最新のnodeをインストールする</span>
azu@ubuntu:~$ node -v           
v0.4.5</pre></div><p>毎回 bash ./nvm.sh 実行するのは手間なので。 <br
/>.bashrc を編集して、</p><div
id="codeSnippetWrapper"><pre id="codeSnippet" class="csharpcode">. ~/.node/nvm.sh
nvm use latest</pre></div><p>を書き加えておきます。</p><ul><li><a
href="http://blog.summerwind.jp/archives/1464">SummerWind &#8211; Node.jsの管理はnvmで</a></li><li><a
href="http://www.atmarkit.co.jp/fwcr/rensai2/nodejs02/01.html">naveでNode.jsのバージョン管理＆イベントループ詳説（1/3）- ＠IT</a></li><li><a
href="http://d.hatena.ne.jp/t_43z/20110304/1299222231">Amazon EC2 MicroインスタンスのAmazon LinuxにNodeをインストールした &#8211; 自分の感受性くらい</a></li></ul><p><strong>雑記</strong></p><p>VMWareはスタートアップにいろんなもの生やすし、ダウンロードも登録必要で面倒なので、VMWareよりもVirtualBoxの方が好みでした。</p><p>目標としては、<a
href="http://d.hatena.ne.jp/takuya_1st/20110214/1297688680">Cygwin Here</a>みたくWindowsのエクスプローラー上のコンテキストメニューから、SSHクライアントを開いてそのときに同時に共有フォルダのsf_azu以下にある同じフォルダまで移動したいのだけど、お客様の中でよい方法をお知りな方がいらしゃったらお願いします。<br
/>e.g)<br
/>windows : C:\Users\azu\Downloads のコンテキストメニューからSSHクライアントを開く<br
/>Ubuntu&#160;&#160; : 渡されたパスを元に /media/sf_azu/Downloads をカレントディレクトリにする</p><p>SSHクライアントのマクロみたいので実現するのかな。</p><div
style="position: absolute; width: 1px; height: 1px; overflow: hidden; top: 1680px; left: -10000px" id="_mcePaste" class="mcePaste">Turnkey Linuxの</div>]]></content:encoded> <wfw:commentRss>http://efcl.info/2011/0420/res2588/feed/</wfw:commentRss> <slash:comments>2</slash:comments> </item> <item><title>オライリージャパンのebook(PDF)でコピペする、ファイル名のリネームをする方法</title><link>http://efcl.info/2011/0328/res2425/</link> <comments>http://efcl.info/2011/0328/res2425/#comments</comments> <pubDate>Mon, 28 Mar 2011 11:49:48 +0000</pubDate> <dc:creator>azu</dc:creator> <category><![CDATA[software]]></category> <category><![CDATA[雑記]]></category> <category><![CDATA[Amazon]]></category> <category><![CDATA[pdf]]></category> <category><![CDATA[オライリー]]></category> <category><![CDATA[セキュリティ]]></category> <category><![CDATA[電子書籍]]></category><guid
isPermaLink="false">http://efcl.info/?p=2425</guid> <description><![CDATA[O’Reilly(Japanも)が全ての電子書籍を半額で&#38;売上を日本赤十字社に寄付 &#124; JSer.infoでオライリージャパンも半額電子書籍を販売していたので、オライリージャパンのpdfにはDRMなどの制限がある [...]]]></description> <content:encoded><![CDATA[<p><a
href="http://jser.info/post/4025509933">O’Reilly(Japanも)が全ての電子書籍を半額で&amp;売上を日本赤十字社に寄付 | JSer.info</a>でオライリージャパンも半額電子書籍を販売していたので、オライリージャパンのpdfにはDRMなどの制限があることを知らないで購入した人もいるかもしれません。</p><div><blockquote
title="O'Reilly Japan Ebook Store : 購入規約" cite="http://www.oreilly.co.jp/ebook/explain.html"><p>販売されるEbookは、印刷、テキストのコピー、ページの抽出、内容の変更を行うことができません。決済時に入力いただいたご購入者のメールアドレスが挿入されます</p><p><cite><a
href="http://www.oreilly.co.jp/ebook/explain.html">O’Reilly Japan Ebook Store : 購入規約</a></cite></p></blockquote></div><p><a
href="../2010/1126/res2111/">英語が読めない人向け、英語技術書の読み方</a>でも言っていましたが、印刷はまだしもコピペができないのは電子書籍として致命的なので、そのDRMの回避方法と、オライリージャパンからダウンロードしたpdfは<em>&lt;16進数の羅列&gt;-&lt;書籍のISBN&gt;.pdf</em>という扱いにくいファイル名なのでそれを手軽にリネームする方法の紹介です。</p><h3>pdfファイルのリネーム</h3><p>まずはpdfファイルのリネームです。<br
/>オライリー公式でも扱いにくいと言ってて、ISBNからJSONで書籍情報を取得できるAPIを提供しています。<br
/>これを使ったリネームスクリプト(Python)が<a
href="http://www.oreilly.co.jp/community/blog/2010/11/bibliographical-info-in-json.html">JSON形式による書誌情報の提供をはじめました &#8211; O&#8217;Reilly Japan Community Blog</a>で公開されているので、これを使うのも良いでしょう。</p><p>もうひとつは電子書籍ソフト関係で有名な&gt;&gt;722さんが<a
href="http://no722.cocolog-nifty.com/blog/isbn_titler/index.html">ISBN Titler</a>というISBNなどからAmazonで検索してファイルのリネームをするソフトウェアを公開しています。使い方は単純で、PDFをソフトウェアにD&amp;Dするだけでリネームをしてくれます。(<a
href="http://sourceforge.jp/projects/sfnet_itextsharp/">iTextSharp</a>を使えばpdfのプロパティも書き込んでくれるらしいですが、オライリーのpdfだとDRMの影響かもしれませんがうまくいきませんでした。)<br
/>設定からリネームの書式設定や置換の設定などもできるので、自由がきくリネームソフトになっています。<br
/><a
href="http://efcl.info/wp-content/uploads/2011/03/ss-2011-03-28-1.png"><img
class="alignnone size-medium wp-image-2426" title="ss-2011-03-28-1" src="http://efcl.info/wp-content/uploads/2011/03/ss-2011-03-28-1-300x176.png" alt="" width="300" height="176" /></a></p><h3>DRMについて</h3><p>追記: オライリージャパンの電子書籍もDRMフリーになるそうです。<br
/><a
href="http://www.oreilly.co.jp/editors/archives/2011/05/ann-ebook-drm-free.html">O&#8217;Reilly Village／オラの村 &#8211; オライリー・ジャパンのEbookがDRM Freeになります</a></p><p>先ほど述べたようにオライリージャパンには印刷、テキストのコピー、ページの抽出、内容の変更ができないなどの制限やメールアドレスをウォーターマーク的に埋め込み(遅延の原因っぽい)があります。<br
/>O&#8217;Reilly Mediaにはこの制限はありませんし、PDF以外にもepubなどでダウンロードできますし、アップデートも保証してくれます。<br
/>なぜ本家ではそのようなDRMを付けてないかは<a
href="http://www.forbes.com/forbes/2011/0411/focus-tim-oreilly-media-e-book-antipiracy-steal-this.html">Steal This E-Book &#8211; Forbes.com</a>(訳 <a
href="http://fladdict.net/blog/2011/03/steal-this-ebook.html">fladdict » 電子書籍を盗め！</a>）を読むといいです。</p><p>&nbsp;</p><div
id="attachment_2427" class="wp-caption alignnone" style="width: 280px"><a
href="http://efcl.info/wp-content/uploads/2011/03/oreillly-pdf-drm.png"><img
class="size-medium wp-image-2427" title="oreillly-pdf-drm" src="http://efcl.info/wp-content/uploads/2011/03/oreillly-pdf-drm-270x300.png" alt="" width="270" height="300" /></a><p
class="wp-caption-text">制限の一覧</p></div><p>&nbsp;</p><p>このオライリージャパンにある制限は<a
href="http://www.forest.impress.co.jp/lib/offc/document/pdf/pdfxchange.html">PDF-XChange Viewer</a>というPDFビューアーを利用する事で外すことができます。<br
/>ファイルメニュー&gt;ドキュメントのプロパティ&gt;セキュリティタブ で&#8221;セキュリティの設定&#8221;を&#8221;なし&#8221;にしてからpdfファイルを保存するとコピーなどの制限がなくなります。(メールアドレスのウォーターマークは消えないけど)</p><div
id="attachment_2428" class="wp-caption alignnone" style="width: 283px"><a
href="http://efcl.info/wp-content/uploads/2011/03/oreillly-pdf-no-drm.png"><img
class="size-medium wp-image-2428" title="oreillly-pdf-no-drm" src="http://efcl.info/wp-content/uploads/2011/03/oreillly-pdf-no-drm-273x300.png" alt="" width="273" height="300" /></a><p
class="wp-caption-text">なしに変更した場合</p></div><p>&nbsp;</p><p>これで書籍の外観を乱すウォーターマーク以外は通常の電子書籍としてオライリー本を読むことが可能になりました。<br
/>(多分、セキュリティ変更に対するパスワードがかかってないためAcrobatなどの他のソフトでもセキュリティ設定の変更を行う事ができると思います)</p><p>&nbsp;</p><p>何でこんな記事を書いたかというと、<strong>コピペも印刷もできない</strong>というDRMがかかってるのはさすがに電子書籍として論外だと思ったからだ。<br
/>コピペができないとその場でコードを実行して確かめにくい(サンプルコードをわざわざ見に行くのかい?)と思うし、検索も行いくくなって電子書籍である利点がなくなってしまっていると思う。また、PC(電子書籍端末)じゃ読みにくいから印刷する、大事な部分は<a
href="http://twitter.com/edvakf/status/39751641079099392">印刷して読みたい</a>という需要が存在してるはずだ。そうしたDRMを設定することにどこまで意味があるのかもやや疑問的でもあり、オライリージャパンの立場的にそうしたものを付けないと物事がスムーズに進まないと言った事情もあるのでしょうが、やはりコンテンツの価値を下げてしまってるこのDRMは不要だと思う。</p><ul><li><a
href="http://www.dotbook.jp/magazine-k/2010/05/17/dispute_about_drm_for_ebook/">電子書籍にDRMは本当に有効か？ « マガジン航[kɔː]</a></li></ul><p>また、オライリージャパンのpdfには各ページの末尾に購入したメールアドレスが埋め込まれるという<a
href="http://d.hatena.ne.jp/yomoyomo/20100722/socialdrm">ソーシャルDRM</a>的なものが存在している。</p><p><a
href="http://efcl.info/wp-content/uploads/2011/03/ss-2011-03-28-3.png"><img
class="alignnone size-medium wp-image-2434" title="ss-2011-03-28-3" src="http://efcl.info/wp-content/uploads/2011/03/ss-2011-03-28-3-300x68.png" alt="" width="300" height="68" /></a></p><p>これも、末尾に毎回あるだけでも外観を乱しているのに、PDFリーダーがメールアドレスをリンク(設定で変えられるが)して余計気が散ったりして電子書籍を読みにくくしている。<a
href="http://d.hatena.ne.jp/yomoyomo/20100722/socialdrm">ソーシャルDRM</a>は不正コピーに効果的かもしれないが、これが<a
href="http://twitter.com/jingbay/status/50547180452327424">嫌で購入を避ける人</a>もいるだろう。</p><p>&nbsp;</p><p>この記事を出すかは少し迷ったが、いつまでもこのままでは不便きわまりないため書くことにした。<br
/>これを書くのに他の国ではどうなっているのかも少し調べてて、オライリーにはUS(UK) 、 ドイツ 、 日本 、 中国、台湾とあり、中国、台湾はオライリーショップがない?(他のショッピングサイトを経由してた)<br
/>ドイツは <a
title="F&amp;Q" href="http://www.oreilly.de/ebooks/faqs.html">http://www.oreilly.de/ebooks/faqs.html</a>にebookのDRMについて記述されているがドイツ語が読めなかったのでよく分からなかった(pdfとepubで販売してて、ウォーターマークありで印刷はできてcut&amp;pasteはできないって読めたけど確証はない、cut&amp;pasteと言うのがよく分からないし、コピペはできるけど加工はできないという意味なのかな?)<br
/>本家であるUS(UK)はご存じの通り、マルチフォーマットでDRMなしで、日本の12時間以内にダウンロードしないと無効になるなんて事はなく、書籍のアップデートも保証されている。(後、ラフカット版やsafari onlineの存在は大きい)<br
/>もしドイツもDRMがあるようなら翻訳関係でDRMが付けられているのかもしれないが、先の震災により電子書籍を扱うところが増えて動きが活発になってきている<a
href="http://sho.tdiary.net/20110328.html#p02">このご時世に</a>、何かオライリージャパンとしての動きがあることを願っています。</p><p><strong>参考</strong></p><ul><li><a
href="http://sho.tdiary.net/20110325.html#p01">オライリーのebookが今日いっぱい「半額」(ただし入手まで数十時間待ち) &#8211; ただのにっき(2011-03-25)</a></li><li><a
href="http://d.hatena.ne.jp/yomoyomo/20110328/oreillydrm">オライリー・ジャパンの被災者支援キャンペーンとティム・オライリーが語る「オライリーメディアがDRMを使わない理由」 &#8211; YAMDAS現更新履歴</a></li></ul><p><strong>使用したソフトウェア</strong></p><dl><dt><strong>ISBN Titler</strong></dt><dd><a
title="ISBN Titler" href="http://no722.cocolog-nifty.com/blog/isbn_titler/index.html">http://no722.cocolog-nifty.com/blog/isbn_titler/index.html</a></dd></dl><dl><dt><strong>PDF-XChange</strong></dt><dd><a
title="PDF-XChange" href="http://www.tracker-software.com/">http://www.tracker-software.com/</a></dd></dl><div
id="_mcePaste" class="mcePaste" style="position: absolute; left: -10000px; top: 1797px; width: 1px; height: 1px; overflow: hidden;">http://www.oreilly.de/ebooks/faqs.html</div> ]]></content:encoded> <wfw:commentRss>http://efcl.info/2011/0328/res2425/feed/</wfw:commentRss> <slash:comments>2</slash:comments> </item> <item><title>動画がカクカクになるのでFlash Player 10.1からダウングレード</title><link>http://efcl.info/2010/0621/res1801/</link> <comments>http://efcl.info/2010/0621/res1801/#comments</comments> <pubDate>Mon, 21 Jun 2010 06:30:59 +0000</pubDate> <dc:creator>azu</dc:creator> <category><![CDATA[インストール設定]]></category> <category><![CDATA[adobe]]></category> <category><![CDATA[flash]]></category> <category><![CDATA[セキュリティ]]></category> <category><![CDATA[ニコニコ動画]]></category> <category><![CDATA[ハードウェア]]></category><guid
isPermaLink="false">http://efcl.info/?p=1801</guid> <description><![CDATA[H.264動画のハードウェアアクセラレーションなどに対応したAdobe Flash Player 10.1がリリースされていますが、ニコニコ動画などで動画カクカクになってしまいまともに使えなくなったので10.0系にダウン [...]]]></description> <content:encoded><![CDATA[<p>H.264動画のハードウェアアクセラレーションなどに対応したAdobe Flash Player <a
href="http://get.adobe.com/jp/flashplayer/">10.1</a>がリリースされていますが、ニコニコ動画などで動画カクカクになってしまいまともに使えなくなったので10.0系にダウングレードしました。</p><p>昔のバージョンにダウングレードする方法</p><ol><li><a
href="http://www.adobe.com/jp/shockwave/download/alternates/">Adobe &#8211; Adobe Web Player</a>から<a
href="http://fpdownload.macromedia.com/get/flashplayer/current/uninstall_flash_player.exe">Flash  Player Uninstaller*</a>をダウンロードして、現在のFlash Palyerをアンインストールする</li><li><a
href="http://kb2.adobe.com/cps/142/tn_14266.html">Archived Flash Player versions</a>から昔のFlash Player 10をダウンロードする。(普通の人はdebugger versionsでない方)</li><li>ダウンロードしたzipを解凍すると10r45_2フォルダの中にflashplayer10r45_2_win.exe (IE以外) とflashplayer10r45_2_winax.exe (IE用) があるのでインストールすれば旧バージョンへ戻せる。</li></ol><p><br
/>10.1にはセキュリティのアップデートも含まれているので、旧バージョンに戻すのはあまり良くないことです。<br
/>Adobeのアップデートはこういうことがあるので、セキュリティのアップデートはメジャー?アップデートに含めて欲しくないな。</p><dl><dt><strong>Flash Playerをアンインストールして旧バージョンに戻す方法 &#8211; GIGAZINE</strong></dt><dd><a
title="Flash Playerをアンインストールして旧バージョンに戻す方法 - GIGAZINE" href="http://gigazine.net/index.php?/news/comments/20081023_flash_player_uninstall/">http://gigazine.net/index.php?/news/comments/20081023_flash_player_uninstall/</a></dd></dl><p>&nbsp;</p>]]></content:encoded> <wfw:commentRss>http://efcl.info/2010/0621/res1801/feed/</wfw:commentRss> <slash:comments>1</slash:comments> </item> <item><title>VistaのLAN認証レベルを変更する「LAN Manager 認証レベル チェンジャー for Vista」</title><link>http://efcl.info/2008/0710/res237/</link> <comments>http://efcl.info/2008/0710/res237/#comments</comments> <pubDate>Thu, 10 Jul 2008 11:15:08 +0000</pubDate> <dc:creator>azu</dc:creator> <category><![CDATA[vista]]></category> <category><![CDATA[LAN]]></category> <category><![CDATA[samba]]></category> <category><![CDATA[セキュリティ]]></category> <category><![CDATA[レジストリ]]></category><guid
isPermaLink="false">http://efcl.info/?p=237</guid> <description><![CDATA[VistaではセキュリティをあげるためにLANの認証レベルがXPより高くなっています。 そのため古いsambaなどは通常のままだと認証されません。 また、Vista BusinessとUltimateにはこの認証レベルを [...]]]></description> <content:encoded><![CDATA[<p>VistaではセキュリティをあげるためにLANの認証レベルがXPより高くなっています。<br
/> そのため古いsambaなどは通常のままだと認証されません。<br
/> また、Vista BusinessとUltimateにはこの認証レベルを変更できるメニューがありますが、ユーザーが多いと思われるpremiumなどにはありません。</p><p>直接レジストリをいじればpremiumでも可能ですが、それを楽に編集するソフトウェアの紹介。</p><p><a
href="http://app.laborat.net/lclc/">LAN Manager 認証レベル チェンジャー for Vista</a>は認証レベルの変更をGUIで操作できるので、わかりやすいです。<br
/> Ultimateなどにあるメニューを取り出した感じのソフトですね。<br
/> 注)レジストリをいじることには変わらないので気をつけて使用するべき。</p><dl><dt><strong>LAN Manager 認証レベル チェンジャー for Vista :: LaboRat App</strong></dt><dd><a
href="http://app.laborat.net/lclc/">http://app.laborat.net/lclc/</a></dd></dl> ]]></content:encoded> <wfw:commentRss>http://efcl.info/2008/0710/res237/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>「サウンドハウス」に見る不正アクセス（セキュリティ）</title><link>http://efcl.info/2008/0419/res147/</link> <comments>http://efcl.info/2008/0419/res147/#comments</comments> <pubDate>Sat, 19 Apr 2008 05:05:03 +0000</pubDate> <dc:creator>azu</dc:creator> <category><![CDATA[雑記]]></category> <category><![CDATA[SQLインジェクション]]></category> <category><![CDATA[セキュリティ]]></category><guid
isPermaLink="false">http://efcl.info/2008/0419/res147/</guid> <description><![CDATA[音楽関係のECサイトであるサウンドハウスが今やたらとはやっているSQLインジェクションなどの不正アクセスにより個人情報が流出したという話ですが、 別にECサイトを運営している訳でもないし通販自体しないからあまり関係ないか [...]]]></description> <content:encoded><![CDATA[<p>音楽関係のECサイトである<strong>サウンドハウス</strong>が今やたらとはやっている<strong>SQLインジェクション</strong>などの<strong>不正アクセス</strong>により個人情報が流出したという話ですが、 別にECサイトを運営している訳でもないし通販自体しないからあまり関係ないかなと思っていたけど、<br
/> サウンドハウスの取締役自ら（一部かも知れませんが）が作成した詳細の報告のPDFが興味深かった。</p><p>サウンドハウスニュース<br
/> <a
href="http://www.soundhouse.co.jp/shop/News.asp?NewsNo=1561">http://www.soundhouse.co.jp/shop/News.asp?NewsNo=1561</a></p><p>個人情報流出に関する詳細（PDF）<br
/> <a
href="http://www.soundhouse.co.jp/news/20080418.pdf">http://www.soundhouse.co.jp/news/20080418.pdf</a></p><p>この詳細のPDFは<span
class="comment">経過報告とあわせてセキュリティ対策についての提言など被害者の立場の意見がかなり詳細に載せられています。</span>経過報告は分刻みで乗っていたりと、セキュリティにあまり関心がない人でも一度読んで見ることをオススメ。</p><p>結果としてはサーバのセキュリティ強化する以前にサーバ内に不正に置かれていた悪性プログラムが原因になったみたいです。</p><blockquote
cite="http://ja.wikipedia.org/wiki/SQL%E3%82%A4%E3%83%B3%E3%82%B8%E3%82%A7%E3%82%AF%E3%82%B7%E3%83%A7%E3%83%B3" title="SQLインジェクション - Wikipedia"><p>SQLインジェクション（英：SQL Injection）とは、アプリケーションのセキュリティ上の不備を意図的に利用し、アプリケーションが想定しないSQL文を実行させることにより、データベースシステムを不正に操作する攻撃方法のこと。また、その攻撃を可能とする脆弱性のこと。</p><p>SQLに別のSQL文を「注入 (inject)」されることから、「ダイレクトSQLコマンドインジェクション」とも呼ばれる。</p></blockquote><div
align="right"><cite><a
href="http://ja.wikipedia.org/wiki/SQL%E3%82%A4%E3%83%B3%E3%82%B8%E3%82%A7%E3%82%AF%E3%82%B7%E3%83%A7%E3%83%B3">SQLインジェクション &#8211; Wikipedia</a></cite></div><blockquote
cite="http://ja.wikipedia.org/wiki/3D%E3%82%BB%E3%82%AD%E3%83%A5%E3%82%A2" title="3Dセキュア - Wikipedia"><p>3Dセキュア（すりーでぃー せきゅあ）は、VISA Internationalが開発したインターネットでのクレジットカード決済の本人認証技術。</p><p>オンラインショッピング等での決済時に、ショップ側が設置しているウェブサイトがクレジットカード会社が提供するWebAPIを取り込み表示する。クレジットカード番号とPIN（4桁の暗証番号）の入力はこのAPIを通して行われるため、本人認証をクレジットカード会社側が行うことになるので、より高度なセキュリティが保たれることになる。</p></blockquote><div
align="right"><cite><a
href="http://ja.wikipedia.org/wiki/3D%E3%82%BB%E3%82%AD%E3%83%A5%E3%82%A2">3Dセキュア &#8211; Wikipedia</a></cite></div> ]]></content:encoded> <wfw:commentRss>http://efcl.info/2008/0419/res147/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> </channel> </rss>
<!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/

Minified using disk: basic
Page Caching using disk: enhanced
Database Caching 4/13 queries in 0.086 seconds using disk: basic
Object Caching 633/655 objects using disk: basic

Served from: efcl.info @ 2012-05-23 09:20:06 -->
