はてブログ

はてなブックマーク新着エントリーの過去ログサイトです。



タグ yohgaki's blog

新着順 人気順 5 users 10 users 50 users 100 users 500 users 1000 users
 
(1 - 25 / 29件)

PHP 7.3 – yohgaki's blog

2018/12/03 このエントリーをはてなブックマークに追加 20 users Instapaper Pocket Tweet Facebook Share Evernote Clip UPGRADING 独断 偏見 リリース ソースコード中

(Last Updated On: 2018/12/02) PHP 7.3が今月(2018/12)リリース予定です。新機能や機能変更は小振りですが、結構多くの追加/変更があります。ソースコード中のUPGRADINGに変更点は記載されています。ここでは独断と偏見で選んだ重要度が高い追加/変更を紹介します。 ※ PHP 7.3.0 RC6時点のUPGRADINGから紹介します... 続きを読む

正規表現でのメールアドレスチェックは見直すべき – ReDoS | yohgaki's blog

2017/01/24 このエントリーをはてなブックマークに追加 167 users Instapaper Pocket Tweet Facebook Share Evernote Clip StackExchange ReDoS エントリ Ruby

(更新日: 2016/10/19) 前のエントリで StackExchangeがReDoSで攻撃されサイトがダウンした問題 を紹介しました。少しだけ掘り下げて見たところ、正規表現だけでメールアドレスをチェックしている場合、壊滅的なReDoS(十分短い文字列で指数関数的に実行時間が増加する)が可能なことが判りました。 結論を書くと、正規表現でのメールアドレスチェックは見直すべき、です。(特にRuby... 続きを読む

マイナンバーのチェックディジット確認 | yohgaki's blog

2015/10/09 このエントリーをはてなブックマークに追加 33 users Instapaper Pocket Tweet Facebook Share Evernote Clip マイナンバー シグマ 総務省令 PHP関数 算式

マイナンバーのチェックディジットを確認する必要があったのでPHP関数を作りました。マイナンバー(個人番号)のチェックディジットの計算式は法律に記載されています。 第五条  令第八条の総務省令で定める算式は、次に掲げる算式とする。 算式 11―(n=1(シグマ)11(Pn×Qn))を11で除した余り) ただし、(n=1(シグマ)11(Pn×Qn))を11で除した余り≦1の場合は、0とする。 算式の符... 続きを読む

画像ファイルにJavaScriptを隠す | yohgaki's blog

2015/09/09 このエントリーをはてなブックマークに追加 325 users Instapaper Pocket Tweet Facebook Share Evernote Clip JavaScript 画像ファイル エントリ スクリプト 前回

前回のエントリでイメージファイルにスクリプトを埋め込んで攻撃する方法について記載しましたが、最近イメージファイルにスクリプトを埋め込む事例が話題になったためか ha.ckersにJavaScriptをイメージファイルに隠す方法が紹介されています。http://ha.ckers.org/blog/20070623/hiding-js-in-valid-images/ 続きを読む

徳丸さんのブログに対するコメント | yohgaki's blog

2015/06/30 このエントリーをはてなブックマークに追加 54 users Instapaper Pocket Tweet Facebook Share Evernote Clip 徳丸さん コメント ブログ

sha1がトークン、createdが生成日時を保持します。 シンプルな構造ですが、これだとトークンは、ユーザーやセッションを超えて、アプリケーション全体で共通になっています。これはまずそうですね。 トークンをホテルの部屋の鍵に例えると、こうです。大垣方式の鍵は、ホテルの全ての部屋に共通で使える鍵です。本来は、鍵は特定の1部屋のみに使えるべきですが、そうなっていないのです複数ユーザーの場合、セッショ... 続きを読む

書籍『Webアプリケーションセキュリティ対策入門』のCSRF脆弱性について追試してみた — A Day in Serenity (Reloaded) — PHP, FuelPHP, Linux or something

2015/06/30 このエントリーをはてなブックマークに追加 30 users Instapaper Pocket Tweet Facebook Share Evernote Clip 徳丸浩 Reloaded 付録 インストール サンプル

以下の記事よると、書籍『Webアプリケーションセキュリティ対策入門』のサンプルにCSRF脆弱性があるということなので、確認してみることにしました。 書籍『Webアプリケーションセキュリティ対策入門』のCSRF脆弱性 | 徳丸浩の日記 サンプルのインストール まず、Webアプリケーションセキュリティ対策入門の付録を更新 | yohgaki's blogよりサンプルコードsimple-bbs.tar.... 続きを読む

徳丸さんのブログでの全く間違った指摘に対するコメント | yohgaki's blog

2015/06/30 このエントリーをはてなブックマークに追加 54 users Instapaper Pocket Tweet Facebook Share Evernote Clip 徳丸さん 指摘 トークン 余地 定義

徳丸さんとは論理的に議論をする余地がないので、議論をするつもりは全くありません。しかし、完全に間違った指摘をされているのでコメントしておきます。問題のブログはこちらです。書籍『Webアプリケーションセキュリティ対策入門』のCSRF脆弱性トークンの有効範囲は?トークンがDBに保存される場合、トークンの有効範囲が気になるところです。大垣本および第二版のソースを見ると、トークンを保存するテーブルの定義は... 続きを読む

ほぼ全てのインジェクション攻撃を無効化/防止する入力バリデーション | yohgaki's blog

2015/06/15 このエントリーをはてなブックマークに追加 487 users Instapaper Pocket Tweet Facebook Share Evernote Clip インジェクション攻撃 入力バリデーション 全て セキ 定義

入力バリデーションはセキュリティ対策として最も重要なセキュリティ対策です。なぜセキュリティ対策であるのか?を理解していない方も見かけますが「ほぼ全てのインジェクション攻撃を無効化/防止する入力バリデーション」の効果と拡張方法を見れば解るのではないでしょうか?ソフトウェア開発者が知っておくべきセキュリティの定義/標準/ガイドで紹介しているセキュリティガイドラインでは入力バリデーションが最も重要なセキ... 続きを読む

ソフトウェア開発者が知っておくべきセキュリティの定義/標準/ガイド | yohgaki's blog

2015/06/02 このエントリーをはてなブックマークに追加 102 users Instapaper Pocket Tweet Facebook Share Evernote Clip 定義 標準 ガイド ソフトウェア開発者 セキュリ

単純にこういった定義や標準があります、と紹介してもなかなか原文を参照することは敷居が高いです。このブログでも色々紹介できてきたので、ソフトウェア開発者が知っておくべきセキュリティの定義/標準/ガイドなどをまとめて紹介します。セキュリティ対策の定義そもそも定義を間違えていたら、ボタンの掛け違いは止まりません。まず、正しい定義を理解しなけばなりません。ソフトウェアのセキュリティといっても、他のセキュリ... 続きを読む

CERT Top 10 Secure Coding Standard | yohgaki's blog

2015/05/28 このエントリーをはてなブックマークに追加 27 users Instapaper Pocket Tweet Facebook Share Evernote Clip

CERTは米カーネギーメロン大学に設置されたコンピュータセキュリティ対策を行う老舗の組織です。CERTが設立される前もセキュリティが無視されていたのではありませんが、CERT設立後と前ではコンピュータセキュリティ、特にソフトウェアセキュリティに対する考え方が大きく変わりました。詳しくはセキュアプログラミング(防御的プログラミング)の歴史をざっと振り返るを参照してください。CERTはSecure C... 続きを読む

SHA1でハッシュ化したパスワードは危険になった | yohgaki's blog

2015/04/20 このエントリーをはてなブックマークに追加 199 users Instapaper Pocket Tweet Facebook Share Evernote Clip SHA1 org ハッシュ化 パスワード アメリカ政府

パスワードを平文で保存するのは論外で、MD5やSHA1でハッシュ化するのは当たり前です。しかし、SHA1を2000倍早くクラックする方法などが発見され「SHA1は脆弱だ」(ちなみにMD5はもっと危険)とされてからしばらく経ちます。アメリカ政府や大手企業はSHA1は使わない、としています。 # Slashdot.orgにまた載っているので更に高速化できた、と言うことかな?前のエントリhttp://b... 続きを読む

PHP7のタイプヒントベストプラクティス | yohgaki's blog

2015/04/10 このエントリーをはてなブックマークに追加 32 users Instapaper Pocket Tweet Facebook Share Evernote Clip PHP7 JSON ベストプラクティス 乖離 浮動小数点型

のPHP 7から基本的なデータ型(整数型、浮動小数点型、配列型)タイプヒントが追加されます。直感的に書くコードと正しいコードには乖離があります。PHP7でタイプヒントを使う場合のベストプラクティスを紹介します。 タイプヒントとタイプヒントの問題点については前回のブログを参照してください。 PHP7使用すべきタイプヒント PHPはWebシステムで利用され、データベースやJSONなどの外部データとのや... 続きを読む

徳丸浩氏との長年の議論に終止符 – 論理的/体系的セキュリティとそれ以外 | yohgaki's blog

2015/02/15 このエントリーをはてなブックマークに追加 168 users Instapaper Pocket Tweet Facebook Share Evernote Clip 終止符 徳丸浩氏 WAF 議論 ベストプラクティス

私が長年徳丸さんと議論していることをご存知の方も多いと思います。徳丸さんがなぜ論理的に矛盾する主張、明らかにセキュリティ標準規格/ベストプラクティスに反する主張を繰り返えしたのか、その理由が判明しました。それと同時に長年の議論に終止符が打たれ、徳丸さんの考えを完全に理解することができましたと思われます。 徳丸さんがセキュリティ対策製品であるWAF(Web Application Firewall)... 続きを読む

実は標準の方が簡単で明解 – セキュリティ対策の評価方法 | yohgaki's blog

2015/02/07 このエントリーをはてなブックマークに追加 21 users Instapaper Pocket Tweet Facebook Share Evernote Clip 標準 セキュリティ対策 WAF yohgaki バリデーション

なぜセキュリティ対策の区別が異なるのか?長年疑問だったのですが、その理由の一つが判りました。 以下は、本質的には似たような機能であるWAFはセキュリティ対策で入力バリデーションはセキュリティ対策ではないのか?と質問した時のツイートです。 @yohgaki どちらもセキュリティ上効果がありますが、WAFはセキュリティを主目的として、というよりセキュリティのためだけに導入するのに対して、バリデーション... 続きを読む

ニュートン力学と相対性理論 – エンジニアに見られるセキュリティ対策理解の壁 | yohgaki's blog

2015/02/05 このエントリーをはてなブックマークに追加 14 users Instapaper Pocket Tweet Facebook Share Evernote Clip ニュートン力学 エンジニア 相対性理論 同類 本質

以前からセキュリティ対策の本質や定義について何度かブログを書いたり、講演もしてきましたがなかなか理解できない方も多かったです。その構造は ニュートン力学と相対性理論の理解の壁 これと似ているのでは?と思い書き始めました。「エンジニアのセキュリティ対策理解の壁」は「ニュートン力学と相対性理論の理解の壁」と同類ではないでしょうか? 特に入力バリデーションはセキュリティ対策の基本ではない、と勘違いしてい... 続きを読む

ホスト名バリデーションのやり方 | yohgaki's blog

2015/02/03 このエントリーをはてなブックマークに追加 39 users Instapaper Pocket Tweet Facebook Share Evernote Clip やり方

徳丸さんのブログで私のブログ「GHOSTを使って攻撃できるケース」にコメントがあったようなので、好ましいホスト名バリデーションの方法を書いておきます。 そもそもホスト名の仕様はどうなっているのか? 入力バリデーションを行うには仕様を理解する必要があります。ホスト名の仕様は幾つかのRFCで言及されています。例えば、RFC 2181の11. Name syntaxには That one restric... 続きを読む

PHP7の現状 | yohgaki's blog

2015/01/26 このエントリーをはてなブックマークに追加 232 users Instapaper Pocket Tweet Facebook Share Evernote Clip 現状 PHP7 unicode PHP バージョン

PHP7が今年の秋リリースされる予定です。まだまだ多くの変更が行われる予定ですが、現状を簡単にまとめてみたいと思います。代表的な物のみ取り上げています。 ご存知ない方の為に書いておきます。現在リリースされているPHPはPHP5です。次のPHPはPHP7になり、PHP6はリリースされません。PHP6をUnicodeをネイティブ文字列としてサポートするバージョンとして開発されましたが、文字エンコーディ... 続きを読む

速いアプリケーションの作り方 | yohgaki's blog

2014/12/18 このエントリーをはてなブックマークに追加 20 users Instapaper Pocket Tweet Facebook Share Evernote Clip 作り方

Phalcon Adventカレンダー18日目として書いています。 一台のアプリケーションサーバーで10リクエスト/秒で十分というサービスであれば、どんなプラットフォームを選んでも問題ありません。一台のサーバーが10リクエスト/秒しか処理できなくても、ページがキャッシュできるならリバースプロキシで簡単に数千リクエスト/秒以上でサービスできます。このようなサービスであればPhalconのようなフレー... 続きを読む

プリペアードクエリ病の処方箋 – execv/SQLite3 編 | yohgaki's blog

2014/12/10 このエントリーをはてなブックマークに追加 22 users Instapaper Pocket Tweet Facebook Share Evernote Clip プリペアードクエリ エントリ 別名 API 入力バリデーション

またプリペアードクエリなど、安全とされるAPI万能と考えている方に会ったのでエントリを書きました。広く病気として治療すべき、と思いエントリを書きました。 プリペアードクエリ病(別名:安全なAPI病):「安全」とされるAPIを使えば安全と、盲目的に信用し考慮すべきリスクを考えない病気。ITエンジニアが発症し最も重要なセキュリティ対策である入力バリデーションを「必要ない、できない、セキュリティ対策では... 続きを読む

ActiveRecordのSQLインジェクションパターン | yohgaki's blog

2014/05/09 このエントリーをはてなブックマークに追加 204 users Instapaper Pocket Tweet Facebook Share Evernote Clip ActiveRecord Exists params 出典

Railsで多用されているActiveRecordのインジェクションパターンを簡単に紹介します。出典はrails-sqli.orgなのでより詳しい解説はこちらで確認してください。特に気をつける必要があると思われる物のみをピックアップしました。 Exists?メソッド Ruby User.exists? params[:user] 012 User.exists? params[:user]  pa... 続きを読む

間違いだらけのHTTPセッション管理とその対策 | yohgaki's blog

2014/02/20 このエントリーをはてなブックマークに追加 216 users Instapaper Pocket Tweet Facebook Share Evernote Clip 間違いだらけ バリデーション 対策 エントリ 中核

HTTPセッション管理はWebセキュリティの中核と言える機能です。Webセキュリティの中核であるHTTPセッション管理に設計上のバグがある事は少なくありません。今回のエントリはPHP Webアプリ開発者ではなく、主にWebフレームワーク側の開発者、つまりPHP本体の方に間違いがあるという話しです。Webアプリ開発者の回避策も紹介します。 まずセキュリティの基本として「入力のバリデーションを行い、正... 続きを読む

PHP本体でタイミング攻撃を防御できるようになります | yohgaki's blog

2014/02/12 このエントリーをはてなブックマークに追加 117 users Instapaper Pocket Tweet Facebook Share Evernote Clip サイドチャ アプリケーション 副産物 PHP本体 コンピュータ

PHP 5.6からタイミング攻撃に対する対策が導入されます。メジャーなアプリケーションはタイミング攻撃対策が導入されていますが、PHP 5.6から簡単に対策できるようになります。 タイミング攻撃とは、コンピュータが動作する時間の違いを測って攻撃する手法です。コンピュータの動作時間、温度、音、電子ノイズ、電力使用量など、アルゴリズム自体の脆弱性を攻撃するのではなく副産物を利用する攻撃方法でサイドチャ... 続きを読む

タグ検索するならPostgreSQLで決まり! | yohgaki's blog

2013/12/12 このエントリーをはてなブックマークに追加 167 users Instapaper Pocket Tweet Facebook Share Evernote Clip PostgreSQL RDB 表題 エントリ タグ

PostgreSQL Advent Calender 2013、13日目のエントリです。 表題の通り「タグ検索するならPostgreSQLで決まり!」です。 RDBはタグが苦手 WebアプリではRDBでは取り扱いづらいデータを取り扱う事がよくあります。タグの管理・検索はその一つです。 RDBはタグ情報の管理・検索をしっかりやれますが、どちらかと言うと苦手な分野です。しかし、PostgreSQLの ... 続きを読む

ジョブセキュリティ:セキュリティ業界の為のセキュリティ対策ではありませんか? | yohgaki's blog

2013/12/07 このエントリーをはてなブックマークに追加 28 users Instapaper Pocket Tweet Facebook Share Evernote Clip アプリケーションセキュリティ セキュリティ業界 エントリ

今日のエントリは「セキュリティ業界ジョブセキュリの為のセキュリティー対策になっていないか?」という話です。 ジョブセキュリティ 知らないと仕事にならないような、雇用を守る作用を持つ手法や知識のこと。 セキュリティ対策は様々な対象を守る為に行いますが、このエントリではアプリケーションセキュリティを維持することだけを考えます。 セキュリティで飯を食べるには脆弱性が量産されればされるほど困る事はありませ... 続きを読む

IPAの「安全なSQLの呼び出し方」が安全になっていた | yohgaki's blog

2013/12/04 このエントリーをはてなブックマークに追加 84 users Instapaper Pocket Tweet Facebook Share Evernote Clip IPA SQL セキュ vuln エントリ

IPAは「安全なSQLの呼び出し方」(PDF)を以下のURLから公開しています。 http://www.ipa.go.jp/security/vuln/websecurity.html 「安全なSQLの呼び出し方」は危険である、とするエントリを書こうかと思い、久しぶりに内容を確認すると改定されていました。 古い「安全なSQLの呼び出し方」は基本中の基本である「正確なSQL文の組み立て」によるセキュ... 続きを読む

 
(1 - 25 / 29件)