タグ

ブックマーク / dsas.blog.klab.org (10)

  • PHPのセッションIDは暗号論的に弱い乱数生成器を使っており、セッションハイジャックの危険性がある : DSAS開発者の部屋

    下記の文章は、PHPのセッションIDに対する攻撃についてFull Disclosure MLに2010年に投稿された文章を和訳したものです。訳者の意見としては、攻撃の成立条件は極めて厳しく、そこまで深刻度は高くないと考えています。 とはいえ、疑似乱数列への攻撃がどのように行われるのか、その可能性を示す文章は比較的珍しいもののように思います。暗号論的に安全な疑似乱数とは何か、なぜ必要なのかといった内容を間接的に教えてくれる面白い文章だと感じましたので、今回翻訳してみました。 (以下、原文の和訳です) 原文:http://seclists.org/fulldisclosure/2010/Mar/519 Advisory (c) 2010 Andreas Bogk <andreas () andreas org> Product:PHP Version:5.3.2 以降 脆弱性の種類:暗号論的な

    PHPのセッションIDは暗号論的に弱い乱数生成器を使っており、セッションハイジャックの危険性がある : DSAS開発者の部屋
  • Android アプリ「AppNetBlocker」を公開しました : DSAS開発者の部屋

    (2015年5月追記) この記事に掲載の「AppNetBlocker」は Android 5.0 以降の環境では正しく動作しません。記録としてアプリ体へのリンクは当面残しますが、コメント欄に何度か記載の通りこのアプリケーションの開発はすでに終了しており、今後改訂を行う予定はありません。ご了承下さい。 以前から自分自身がほしいと思っていた Android アプリが形になったためマーケットで公開しました。 今回はそのアプリ、「AppNetBlocker」をご紹介します。 AppNetBlocker は、所定のアプリから「完全なインターネットアクセス」の許可を除去するツールです。実行に root 権限は必要ありません。Android 1.6 以上の環境で動作します。興味のある方はご利用下さい。もちろん無料です。 (2011/12/26 追記) アプリは、現時点では安全面において不安要素の少な

    Android アプリ「AppNetBlocker」を公開しました : DSAS開発者の部屋
  • 高負荷サイトのボトルネックを見つけるには : DSAS開発者の部屋

    はじめに アクセスが急増すると、応答時間が著しく悪化するサイトはありませんか? 普段は200ミリ秒以内で安定してアクセスをさばいているのに、イベントやらキャンペーンやらを開始した瞬間から、普段の2倍や3倍のアクセスが殺到し、その結果、レスポンスタイムが3秒とか9秒とかかかるようになってしまうことってありますよね。 あるサイトの実状 つい先日まで、そんなサイトが私の目の前にもありました。自社で運営している某ソーシャル系のサイトなんですが、イベント開始時刻と同時にアクセス数が急増するのです。とはいえ、所詮は普段の2倍とか3倍程度の数なのだから、少なくとも1秒以内にレスポンスを返せるくらいの性能は維持したいものです。 しかし実際は困ったことに、応答に3秒以上もかかってしまう処理が大量に発生してしまう状況に陥ってしまっていました。これはきっと、どこかにボトルネックがあるに違いありません。 仮説を立

    高負荷サイトのボトルネックを見つけるには : DSAS開発者の部屋
  • 負荷試験ツール「インターネット破壊」を公開しました : DSAS開発者の部屋

    負荷試験ツール インターネット破壊を公開しました。 こちらはずっと社内で負荷試験に使用していたツールです。社内で使用していたものなので、ソーシャルアプリ向けの機能などが多少追加されていますが、もちろんんそれ以外のWebアプリケーションでも使用できます。 基的にはApache JMeterのようなWebアプリケーションむけのシナリオ負荷試験ツールです。コマンドラインオペレーションだけで実行でき、サーバー上で簡単に負荷試験を実施できるのが特徴です。POSTリクエストなどはもちろん、レスポンスのチェックやUserAgentの偽装、ランダムな値をパラメーターにセットする機能も実装しています。 注意: 当然ながら自分の管理下にないサイトに向けて負荷試験ツールを実行するのは絶対にやめてください。非常に危険です。 物騒な名前がついていますが、これは完全にわたしの小児的感性の趣味によるところです。地震で

    負荷試験ツール「インターネット破壊」を公開しました : DSAS開発者の部屋
  • 非PHPerのためのPHP入門決定版 「パーフェクトPHP」 : DSAS開発者の部屋

    エキスパートPythonプログラミングの書評 を書いていただいたGREEのsotarokさんから、「パーフェクトPHP」を献していただきました。 ありがとうございます。 KLabでは多くのWebサイトをPHPで構築しているのですが、私はあまりWebアプリ開発には 関わっておらず、チューニングが必要な場面でだけプロファイル結果を見てチューニングしたり、 社内専用PHPエクステンションを書いたりしているだけで、しっかりとPHPの言語を勉強した ことはありませんでした。 array の実装は判っても、 array_* 関数とか全然覚えていません。 これを機に、ちゃんと言語としてのPHPを勉強することにしました。 まず、このはプログラミング初心者向けのではありません。関数やオブジェクト指向がなぜ 必要なのかなどのいわゆる入門者向けの話題はバッサリ切り捨てています。おかげで、すでに 他の言語で

    非PHPerのためのPHP入門決定版 「パーフェクトPHP」 : DSAS開発者の部屋
    cubed-l
    cubed-l 2010/11/18
  • 「このプログラムは正しくインストールされなかった可能性があります」を回避する方法 (Windows 7, Vista) : DSAS開発者の部屋

    (*1) このパターンでは権限昇格要求が発生しません (*2) 権限昇格されないため HKLM 配下へアンインストール情報を書き込む時点で失敗します ■ このメッセージが表示される理由 Windows Vista で登場した UAC (User Account Control) の目的のひとつは、ユーザの意図しないプロセスがログオンセッションを悪用してシステムに害を及ぼす危険を抑止することです。そのため、現在のログオンユーザが管理者権限を持っていても、あるプログラムを管理者権限で実行するためにはユーザが明示的にそれを許可する必要があります。 一方、Windows 環境へ所定のプログラムを登録することを目的とする「インストーラ」は、その性質上多くの場合システムの深部にアクセスする処理を内包しています。そのため通常は管理者権限で実行されなければなりません。そこで問題となるのは、インストーラ側が

    「このプログラムは正しくインストールされなかった可能性があります」を回避する方法 (Windows 7, Vista) : DSAS開発者の部屋
  • JPCERT/CCとの「脆弱性情報ハンドリング」の記録 : DSAS開発者の部屋

    ■ はじめに 「△△製のソフトウェア××に脆弱性が発見された」というニュースが連日のようにネットの上を行き交っています。 このブログの読者にはプログラム開発者の方も多いと思いますが、 自分の携わるソフトウェアの脆弱性を第三者から指摘された経験のある方はどのくらいおられるでしょう? 先日、筆者は「HttpLogger」というフリーソフトウェアのセキュリティホールを修正しました。 そのきっかけとなったのはJPCERT/CC(有限責任中間法人 JPCERT コーディネーションセンター)様から届いた 一通のメールでした。 それから私は同センターと連携し、10日余りの準備期間を経て修正ずみのモジュールの公開と 旧バージョンにおける脆弱性情報の開示を行いました。 この「脆弱性情報ハンドリング」と呼ばれるプロセスに関わったことは、一般的な知名度とは裏腹に 普段あまり身近な存在ではない「JPCERT/CC

    JPCERT/CCとの「脆弱性情報ハンドリング」の記録 : DSAS開発者の部屋
    cubed-l
    cubed-l 2008/01/18
    これはリファレンスになる
  • シェルスクリプトで標準入力を加工する際の注意点 : DSAS開発者の部屋

    シェルスクリプトで標準入力を加工する際に若干ハマリかけたので、今回はそのお話をしたいと思います。 みなさんのシェルスクリプトライフの一助になれば幸いです。 標準入力を加工するシェル関数、例えば、 入力を文とするメールを送るシェル関数 ログを入力として受け取り、集計や解析をするシェル関数 を書く場合、みなさんどういう風に書いているでしょうか。 私は今までこんな風に書いていました… send_mail() { from='sender@example.org' to='receiver@example.org' { echo "From: ${from}" echo "To: ${to}" echo "Subject: test" echo cat - } | qmail-inject -A -f${from} } make_mail_body | send_mail これの何が問題かという

    シェルスクリプトで標準入力を加工する際の注意点 : DSAS開発者の部屋
    cubed-l
    cubed-l 2007/07/13
  • DSAS開発者の部屋:5分でできる、MySQLのメモリ関係のチューニング!

    MySQLのチューニングにおいて非常に重要となるメモリ(バッファ)関連のパラメータについて、 チューニングのポイント DSASのとあるDBサーバ(実メモリ4GB)の実際の設定値 をまとめてみます。 また、必要メモリの総量の計算や限界値を越えてないかチェックしてくれるスクリプトも紹介します。 是非、参考にしてみてください! まず最初に注意点を。 バッファには2つのタイプがあります。 グローバルバッファ スレッドバッファ グローバルバッファはmysqld全体でそのバッファが1つだけ確保されるもので、 これに対し、 スレッドバッファはスレッド(コネクション)ごとに確保されるものです。 チューニングの際にはグローバル/スレッドの違いを意識するようにしましょう。 なぜなら、スレッドバッファに多くのメモリを割り当てると、コネクションが増えたとたんにアッという間にメモリ不足になってしまうからです。 in

    DSAS開発者の部屋:5分でできる、MySQLのメモリ関係のチューニング!
  • IPMIで遠隔からサーバの電源をオン/オフ : DSAS開発者の部屋

    みなさん、IPMI (Intelligent Platform Management Interface) ってご存じでしょうか? Wikipedia - IPMI IntelのIPMIのページ 簡単に説明すると、IPMIとは、OSに依存することなく、遠隔からハードウエアをモニタしたり管理したりするためのものです。 DSASでは、Supermicroのサーバを使っているので、AOC-IPMI20-EというIPMIカードを使っています。 具体的にこのカードで何ができるようになるか、というのを列挙します。 コンソールリダイレクション 温度、電圧、ファン回転数の確認 リセット 電源のオン/オフ これらのことが、LinuxだろうがWindowsだろうがOSに依存することなくできるようになります。 しかも! これらの操作がネットワーク経由 (UDPのポート623) でできるんです。 IPMIを導入す

    IPMIで遠隔からサーバの電源をオン/オフ : DSAS開発者の部屋
  • 1