第2回東北情報セキュリティ勉強会に行ってきた。

第2週の話になりますが、仙台であった東北情報セキュリティ勉強会に参加してきた。2回目。今のところ皆勤賞。個人的にえすきゅーえるいんじぇくしょんとかの話は吐き気がしてくるくらいの拒絶反応があるんですが、なんとか聞いてきた。
やっぱり聞いてよかったなぁって思う。知らないことも多かったし、知らなきゃならないことも多かった。

以下感想というか個人メモ。

たぶん、表出しして大丈夫な内容だと思うけど、やばかったら教えてください。削除します。
どうしてHTMLで、その上CSSまでついてるのかっていうと、この方がメモがとりやすかったからだけで、そんなに深い意味はないです。どっちのコードも何も見ないで書いたので変なところが多いと思うんですが、笑ってください。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
	<meta http-equiv="content-type" content="text/html; charset=utf-8" />
		<link rel="stylesheet" href="ths02c.css" type="text/css" />
<title>11/14 東北セキュリティ勉強会第2回</title>
</head>
<body>
<h1>11/14 東北セキュリティ勉強会第2回</h1>
<p><a id="top">テーマ:開発者のためのセキュリティ勉強会</a></p>
<ul>
<li><a href="#vol1">セキュア開発プロセスとウェブ健康診断使用の応用</a></li>
<li><a href="#vol2">MS09-047の話とか</a></li>
</ul>
<h2>自己紹介</h2>
<ul>
<li>東京に日帰り組がおおくってSUGEEEEEE!</li>
<li>shidhoさんがいるのに今きがついた(入場してから30分経って自己紹介の時。)</li>
<li>女の子をプロのサッカー選手にしたい</li>
<li>東京から来た人多いなぁ。</li>
<li>学生7人!!!!</li>
<li>セキュリティに興味がある人おおいなあ(当たり前)</li>
<li>院生きたー</li>
<li>ごとーくんのおっかしぃーウフフフフフフフ</li>
<li>すたっふーすたっふー</li>
<li>山形から来た人ー</li>
<li>歩いて5分</li>
<li>キイロメベガサポ</li>
<li>仙台の人多いなぁ。いい感じだー!!!</li>
<li>家のセキュリティーが気になる…</li>
<li>郡山からキター</li>
<li>社内勉強会をしている人が多い。すごいなぁ。結構あるんだなぁ。</li>
<li>あんどろいどーあんどろいどー</li>
<li>来年から社会人?!SUGEEEEEEEEE</li>
<li>ピーーーーーな理由でアンドロイドはなー</li>
<li>せっかくなので参加。←これいいこと</li>
<li>みんなにうつしちゃいけない。←なにそれカワユス</li>
<li>まっちゃさんによばれたらしす</li>
<li>山形から来たー</li>
<li>TDC!TDC!</li>
<li>vimかわいいよ、vim</li>
</ul>
<h2><a id="vol1">セキュア開発プロセスとウェブ健康診断使用の応用</a></h2>
<p class="textright"><a href="#top">徳丸さん</a></p>
<p>脆弱性など起こした場合、発注者の責任になる。<br />
要求仕様にセキュリティ用麺を盛り込んでおく。</p>
<h3>RFPの書き方</h3>
<p>漠然としたものは効果が薄い。脆弱性の名前を列挙する方法。<br />
実装方式を指定する方法もあるけど、ケースバイケース<br />
ウェウシステムに関してはあらかじめ、試験している場合が多い。<br />
詳細が見えてきてないのでいろいろつっこみがあいったりする。<br />
検収の方法を指定するのであれば、はっきり指定しておく。
</p>
<h3>提案する方法</h3>
<p>基本はベンダーに提案してもらう。<br />
納品物の中にてキュリティ検査についての結果を添付してもらう<br />
Web健康診断仕様による検査を自ら実施する</p>
<h3>セキュリティ仕様策定プロセス</h3>
<p>セキュリティのCOA<br /></p>
<p>機密性か公開情報か。<br />
脅威分析までしなくてもいい?<br />
ポートの確認<br />
クライアント認証もさせる<br />
管理情報を記録する。(ログ)<br />
FreeBSD<br />
WhatではなくHowが大事<br />
資産洗い出しより、対策を選ぶ</p>
<h3>リバース/リスク/アセスメントの勧め</h3>
<p>開発環境と本番は別にする</p>
<h3>脆弱性愛策と開発プロセス</h3>
<p>リスク分析の結果ではなく、脆弱性対策は常にするべき。<br />
セキュリティバグであるから明記しなくてもいい。バグだから。</p>
<p>ワコール SQLインジェクション</p>
<ul>
<li>セキュリティ機能要件とセキュリティバグはわけて考える</li>
<li>開発基準の整備とメンバーの教育でチーム力をアップ</li>
<li>コスト要件となるレビューとテストを計画的に</li>
</ul>
<p>価格コムではそのご、全てマネージャーがコードに目を通す</p>
<h3>セキュリティ要件は</h3>
<p>従来型の開発と一緒に粛々と進めていく</p>
<h3>開発標準として</h3>
<p>安全なウェブサイトの作り方改訂3版</p>
<p>発注者のためのWebシステム/Webアプリケーションセキュリティ要件書</p>
<h3>方式設定</h3>
<p>HTML表示のためにライブラリe()関数を用いる<br />
コピペ可能なレベルまで具体化<br />
テスト方法も検討</p>
<h3>コスト要素はどこか</h3>
<p>ajaxでXSSが複雑?<br />
一度しっかりしたものを作れば使い回しが出来る<br />
アカウントロック機能の作り込みをする<br />
SSLの証明書代
</p>
<p>ソースコードレビューやソースコードチェッカー<br />
単体テスト行程での健康診断仕様もあり</p>
<p>アップスキャン</p>
<h3>ウェブ健康診断とは</h3>
<p>無償?</p>
<p>検査資料が公開されている。<br />
PHPのVerがみえてる?ちぇっく<br />
</p>
<p>うぶんとぅうぶんとぅ♪</p>
<p>ばーぷすうぃーと</p>
<p>HTTPヘッダーの勉強<br />
リクエストとレスポンスの中身が追える<br />
仕様にあわせてテストをしてみる。<br />
エラーメッセージでググって情報をえてみたりする。←いい趣味じゃない<br />
'and'a'='a<br />
'or'a'='a←検査資料に入れてない。<br />
拡大鏡って何だろう。Macでも出来るよなぁ。<br />
OSコマンドインジェクションはあまりさいきんはでない<br />
phpは恐いのできちんと設定しましょう。</p>
<p>
<strong>作ってる人がわかってないと守れない</strong>
<p>せっしょんふくせーしょん とくまるさんでけんさく</p>
<p>セキュリティバグ対応は開発標準整備とチームの強力が鍵<br />
契約は注意しなくちゃいけない。モデル契約書とか。でもなんか、もやもやする。<br />
徳丸さんのサイトを確認して資料を確認</p>
<p>ASV</p>
<p>どうやら仙台には天然たいやきがあるらしい</p>
<h2><a id="vol2">MS09-047の話とか</a></h2>
<p class="textright"><a href="#top">nig_luceさん</a></p>
<dl>
<dt>MS09-047(CVE-2009-2499)</dt>
<dd>のぐちさん。の、名前がのってる?</dd>
<dd>WMFの脆弱性。バッファオーバーフローが発生し、リモートでコードが実行される</dd>
</dl>
<p>ID3v3タグの仕様が根本的問題<br />
Mp3のタグはめちゃくちゃで酷くて有名。<br />
先読みしちゃう?先読み?<br />
エクスプレーヤーが先に情報を取得している(先読み?)ので落ちちゃう。
</p>
<p><strong>知らないファイルは開けちゃいけない</strong></p>
<p>ユーザー投稿系Webサイトも危険になる。</p>
<p>ファイル解析と処理を別プロセスに分離<br />
権限が制限されユーザーが実行できるようにするといい</p>
<p>報告が面倒。対処法を考えるよりは、起きた出来事を報告した方がいい。</p>
</body>
</html>
body, div, p, span, td, form {
	margin: 0px;	
	font-family: Verdana, Arial, Helvetica, sans-serif;
	font-size: 12px;
	line-height: 22px;
	color: #080808;		
}

body {
	background-color: #fff;
	margin: 0px;
	padding: 0px;
}

table, tr, td {
	 border-collapse: collapse;
	 border: 0px;
	 margin: 0px;
	 padding: 0px;
}

form {
	margin: 0px;
	padding: 0px;
	border: 0px;
	border-collapse: collapse;
}

input, textarea, select {
	font-family: Verdana, Arial, Helvetica, sans-serif;
	font-size: 11px;
}

label {
	cursor: pointer;
}

p, a {
	font-family: Verdana, Arial, Helvetica, sans-serif;
	font-size: 11px;
	line-height: 16px;
	color: #080808 ;
}

ul, ol {
	font-family: Verdana, Arial, Helvetica, sans-serif;
	color: #080808;	
}
ul {
	list-style-image: url(../media/arrow-bullet.gif);
}
li {
	margin-bottom: 5px;
}


h1, h2, h3 {
	font-family: Georgia, "Times New Roman", Times, serif;
	font-weight: normal;
	color: #97d897;
	margin: 0px;
	margin-bottom: 6px;
	margin-top: 4px;
	padding: 0px;
}

h1 {
	font-size: 28px;
	line-height: 28px;
}
h2 {
	font-size: 22px;
	line-height: 22px;
}

h2 a{
	font-size: 22px;
	line-height: 22px;
	background-color: #ffb2b2;
}
h3 {
	font-size: 18px;
	line-height: 18px;
}



a:link {
	color: #467e9a;
	text-decoration: none;
}
a:visited {
	color: #467e9a;
	text-decoration: none;
}
a:active {
	color: #FFFF00;
	text-decoration: none;
}
a:hover {
	color: #72b3d4;
	text-decoration: underline;
}
a:focus {
	outline: none;
}

.textright{
	text-align: right;
}