タグ

securityに関するfaerieのブックマーク (36)

  • Site Isolation 及び Web のセキュリティモデルの更新 | blog.jxck.io

    Intro Origin は Web におけるセキュリティモデルの一つとして、コンテンツ間の Communication に関する境界を定義し、リソースを保護してきた。 しかし、 Spectre の発覚以降、 Communication に関する制限だけではなく Isolation によるメモリレベルでのアクセス制御が必要となった。 そこで現在作業されているのが、 CORB, CORP, COEP, COOP といった仕様群であり、これは Web におけるセキュリティモデルの更新作業と見ることができる。 概要と現状について解説する。 DEMO & Resources 量が多いため、動作する DEMO と関連リソースは、ページ下部にまとめてある。 CORS による Cross Origin Communication の制限 CORS は、平たく言えば、リソース提供元(サーバ)が、クライアン

    Site Isolation 及び Web のセキュリティモデルの更新 | blog.jxck.io
  • Content Security Policy Level 3におけるXSS対策 - pixiv inside

    こんにちは、セキュリティエンジニアのkoboです。ピクシブには2018年4月に入社しており、セキュリティ観点でのアプリケーション開発や脆弱性報奨金制度の運用などを行っています。 記事では、現在ピクシブの一部のサービスで取り組んでいるContent Security Policyについて知見を共有します。 概要 Content Security Policy (CSP) は、XSSを主としたウェブアプリケーションセキュリティの問題を軽減するために考案されたブラウザのセキュリティ機構です。 ウェブアプリケーションは、 Content-Security-Policy ヘッダをHTTPレスポンスに含めることで、意図していないJavaScriptの実行やリソースの読み込みをブラウザ側で制限することができます。 CSPは2012年頃よりブラウザに実装されていますが、2016年のGoogleの調査によ

    Content Security Policy Level 3におけるXSS対策 - pixiv inside
  • HashDoS脆弱性との戦い! Rubyコミッター・卜部昌平が明かすプログラム堅牢化のノウハウ - エンジニアHub|若手Webエンジニアのキャリアを考える!

    HashDoS脆弱性との戦い! Rubyコミッター・卜部昌平が明かすプログラム堅牢化のノウハウ 過去、HashDosの影響を受けたRuby。言語開発者はいかにしてこうした問題に対応してきたのでしょうか。コミッターである卜部氏の貴重な記録を公開します。 2011年の末頃、HashDoSという脆弱性が公表され、Rubyもこの影響を受けた。稿の筆者である卜部昌平(うらべ・しょうへい/@shyouhei/以下、卜部)は、報告当初からRuby側のチームメンバーとしてプログラム体の修正を担当した。以下はその記録である。言語開発者たちが普段どのようなことを考え、どういった技術を用いて開発やバグフィックスを行っているのか。その概要を知ってもらえれば幸いだ。 オブジェクト指向スクリプト言語 Ruby HashDoSの概要 なぜ約6年後の今、修正内容を公開するに至ったか? 前史:すでに内包されていたリスク

    HashDoS脆弱性との戦い! Rubyコミッター・卜部昌平が明かすプログラム堅牢化のノウハウ - エンジニアHub|若手Webエンジニアのキャリアを考える!
  • Struts2が危険である理由

    はじめに 2017年3月、Struts2にまたしても新たな脆弱性(S2-045、S2-046)が見つかり、複数のウェブサイトにおいて情報漏洩等の被害が発生しました。筆者は2014年4月(およそ3年前)に「例えば、Strutsを避ける」という記事を書きましたが、今読み返してみると「やや調査不足の状態で書いてしまったな」と感じる点もあります。今回、良いタイミングなのでもう一度Struts2のセキュリティについてざっとまとめてみたいと思います。 なぜJavaなのにリモートからの任意のコード実行(いわゆるRCE)が可能なのか Struts2はJavaアプリケーションであり、Java製のアプリケーションサーバ上で動作します。Javaはいわゆるコンパイル型の言語であるため、通常はランタイムにおいて任意のコードを実行することはできず、RCEは難しいはずです。 JavaのウェブアプリケーションでRCEが成

    Struts2が危険である理由
  • CSP Report 収集と実レポートの考察 | blog.jxck.io

    Intro このブログで CSP レポートの収集を開始してもうすぐ 1 年になる。 現状、対象ドメイン内で <input> は一切提供しておらず、大半が静的に生成されたページであるが、この条件でも、かなり多くのレポートが集まった。 今回は、収集した実際のレポートを例に、攻撃ではないと思われるレポートとしてどういったものが送られて来たかを中心に、その内容やレポーティングサーバ、 CSP の運用に関する現時点の考察についてまとめる。 収集目的 CSP の基は、意図しないリソースの読み込みや、 Inline Script の実行を防ぐことにある。 例えば、エスケープ漏れにより XSS が発生し、悪意のある Inline Script が埋め込まれた場合でも、 Inline Script を禁止するポリシーを適用したページでは、その実行はブラウザによって Violation(違反)と判断されブロ

    CSP Report 収集と実レポートの考察 | blog.jxck.io
  • ウェブアプリケーションを開発しながら、手軽に脆弱性検査する方法

    以前、OWASP ZAP に追加された attack mode の概要 というエントリを書きましたが、このATTACK modeを使った簡単なセキュリティ検査の手順をメモしておきます。この機能を使えば、ウェブアプリケーションの開発中にZAPが勝手に脆弱性スキャンしてくれます。 ※ この機能が追加される バージョン 2.4 はまだリリースされていないのですが、こちら から ZAP Weekly をダウンロードすれば試すことができます。 概要基的には、ウェブアプリケーション開発時にウェブブラウザのプロキシとして ZAP を指定おくだけです。この時、ZAP 側で コンテキストというものを設定して、ATTACK mode にしておけば、アクセスしたURLに対して勝手に脆弱性をスキャンしてくれます。 ATTACK mode についてOWASP ZAP に追加された attack mode の概要

    ウェブアプリケーションを開発しながら、手軽に脆弱性検査する方法
  • パスワードの最適変更間隔とその定量的効果の評価

    パスワードの最適変更間隔とその定量的効果の評価 twitter:@pseudoidentifie CC0 簡単のために、ユーザが候補とするパスワード選択空間と攻撃者が想定する攻撃パスワード空間は同一とし、個のパスワード候補が含まれるとする。また、攻撃者は、パスワード空間中から、ランダムに攻撃パスワードを順次選択し、攻撃を行うものとする(攻撃方法は決して典型的な攻撃方法とは限りません)。また攻撃は、秒間隔で実施されるものとする。 ユーザがパスワードの変更を行わない場合、秒で、全パスワードの攻撃が可能であり、ユーザのパスワードを攻撃者は知ることができる。攻撃者がパスワードを知るのにかかる平均時間は以下となる。 次に、ユーザは、をより小さい自然数として、秒間隔でパスワードの定期変更を行う場合を考える(ユーザは個のパスワード候補からランダムにパスワードを選択するものとする)。また、簡単のために、

  • パスワードの判定にstrcmpを使うべきでない理由

    strcmpを使ってパスワードを判定すると、タイミング攻撃 (timing attack) にやられる危険性があることの説明 (約20分)。 まとめ: パスワードなどの文字列を strcmp関数 (およびそれに類する関数) を使って判定すると、 その判定にかかる時間を測定することで、パスワードが推測できてしまう場合がある。 これをタイミング攻撃 (timing attack) という。 この例では、36種類の文字を使った8文字分のパスワードを推測するのに、 通常のしらみつぶしな方法 (bruteforce attack) … 368 = 2821109907456回 の試行が必要なのに対して、 タイミング攻撃を使った方法 … 10000×8 = 80000回 しかかからない。タイミング攻撃を成功させてしまうと、 重要な情報が漏洩してしまう危険性がある。 これを防ぐためには、なるべく実行時間

    faerie
    faerie 2014/07/28
    timing attack
  • Rails SessionにCookieStore使った時の問題点 - OAuth.jp

    今日 @mad_p さんからRT来てたこのツイートに関して、ちょっと調べたのでまとめときます。 Security Issue in Ruby on Rails Could Expose Cookies http://t.co/JlsXVEn4rZ — Ruby on Rails News (@RubyonRailsNews) September 25, 2013 前提条件 Railsではデフォルトでsessioncookieにのみ保存して、DBなりmemcacheなりのserver-side storageには何も保存しません。 これがCookieStoreとか呼ばれてるやつです。 この場合のsession cookieは、Railssession object (Hash object) をMarshal.dumpしてそれに署名を付けたtokenです。 rails 4では署名付ける代

  • ブラインドSQLインジェクションのスクリプトをPHPで書いたよ #phpadvent2012

    この記事はPHP Advent Calendar 2012の20日目です。昨日はTakayuki Miwaさんの「ComposerとHerokuではじめる!PHPクラウド生活」でした。 以前、「『よくわかるPHPの教科書』のSQLインジェクション脆弱性」というタイトルで、同書のSQLインジェクション脆弱性について説明しましたが、SQLインジェクション脆弱性のあるSQL文がDELETE FROMだったので、先のエントリでは、脆弱性の悪用方法としてはデータ(ミニブログの記事)の削除を説明しました。簡単に「全ての記事を削除できる」ので重大な脆弱性ではありますが、個人情報などが漏洩する例ではありませんでした。 このエントリでは、ブラインドSQLインジェクションという技法により、DELETE FROM文の脆弱性から、個人情報を得る手法を説明します。 脆弱性のおさらい ここで、脆弱性のおさらいをしまし

    ブラインドSQLインジェクションのスクリプトをPHPで書いたよ #phpadvent2012
  • 徳丸 浩 - Webアプリでパスワード保護はどこまでやればいいか

    YAPC::Asia Tokyo 2011 資料、詳細はこちら http://yapcasia.org/2011/talk/56 (c)徳丸 浩 CC-BY-NC

    徳丸 浩 - Webアプリでパスワード保護はどこまでやればいいか
  • 本当は怖いパスワードの話 ハッシュとソルト、ストレッチングを正しく理解する - @IT

    PSN侵入の件から始めよう 今年のセキュリティの話題の中でも特に注目されたものとして、4月20日に起こったPSN侵入事件があります。5月1日にソニーが記者会見をネット中継したことから、ゴールデンウィーク中にもかかわらず多くの方がネット中継を視聴し、感想をTwitterに流しました。もちろん、筆者もその1人です。 このときの様子は、「セキュリティクラスタまとめのまとめ」を連載している山洋介山さんが、Togetterでまとめています。 Togetterのまとめを読むと、漏えいしたパスワードがどのように保護されていたかが非常に注目されていることが分かります。Togetterのタイムラインで、14:48ごろにいったん「パスワードは平文保存されていた」と発表されると、「そんな馬鹿な」という、呆れたり、驚いたりのつぶやきが非常に多数流れます。 しかし、15:03ごろに「パスワードは暗号化されてなかっ

    本当は怖いパスワードの話 ハッシュとソルト、ストレッチングを正しく理解する - @IT
    faerie
    faerie 2011/10/06
    徳丸さん。
  • パスワード保存の常識(?)

    パスワード保存の常識(?) 自己紹介 パスワード保存の常識(?)の復習 鍵を利用したパスワード保存案 まとめ 自己紹介 ECナビ システム部 春山征吾 @haruyama セキュリティ OpenSSH (x2, OpenSSH情報) 暗号技術大全 18章(ハッシュ), 20章(電子署名)翻訳担当 全文検索システム Apache Solrの勉強会開催 次回は11/19(金)予定

  • そのDNSの応答、本当に正しいものですか? 「.jp」でも正式導入、DNSSECの仕組みと意義<前編> -INTERNET Watch

  • [DOM Based Cross Site Scripting or XSS of the Third Kind] Web Security Articles - Web Application Security Consortium

    Peer Review Team Robert Auger* Dennis Groves Irene Abezgauz Mike Sues Matt Fisher Billy Hoffman Cesar Currudo Sverre H. Huseby Amit Klein Mitja Kolsek Matthew Chalmers Matthieu Estrade Sverre H. Huseby Steve Orrin Caleb Sima *Project Leader DOM Based Cross Site Scripting or XSS of the Third Kind A look at an overlooked flavor of XSS By Amit Klein ( aksecurity (at) hotpop (dot) com ) Version 0.2.8

  • HTML5 Security Cheatsheet

    HTML5 Security CheatsheetWhat your browser does when you look away...

  • SQLの暗黙の型変換はワナがいっぱい

    補足 この記事は旧徳丸浩の日記からの転載です。元URL、アーカイブはてなブックマーク1、はてなブックマーク2。 備忘のため転載いたしますが、この記事は2009年9月24日に公開されたもので、当時の徳丸の考えを示すものを、基的に内容を変更せずにそのまま転載するものです。 補足終わり このエントリでは、SQLにおいて「暗黙の型変換」を使うべきでない理由として、具体的な「ワナ」をいくつか紹介します。 数値項目に対するSQLインジェクション対策のまとめにて説明したように、RDBの数値型の列に対してSQLインジェクション対策をする方法として、以下の三種類が知られています。 バインド機構を用いる パラメータの数値としての妥当性確認を行う パラメータを文字列リテラルとしてエスケープする このうち、方法3を使うべきでない説明の補足です。具体的には、方法3には、「暗黙の型変換」が発生しますが、それが思わ

    faerie
    faerie 2009/09/24
    あとでよむ
  • FreeBSD QandA 2255

    Q. cron 等から起動されるバッチ処理の中で ssh を利用したいのですが、 ログインを自動化するにはどうすればよいですか? A. 二つの方法があります。 一つは、ホストベース認証を使う方法です。詳しい設定方法は [管理番号 1578] で紹介されていますので、そちらを参照して下さい。 もう一つは、パスフレーズの設定されていない秘密鍵を使う方法です。 [管理番号 1578] では、公開鍵認証で ssh-agent を使う方法を紹介していますが、 これは ssh-agent をあらかじめ起動しておく必要があるため、cron 等からの 利用には向いていません。 もちろん、秘密鍵ファイルにパスフレーズを設定しないということは パスワードを生でテキストファイルに保存しているのと同義ですから、 より厳重に鍵ファイルを管理しなければなりません。 そこで、万が一秘密鍵ファイルを盗まれた場合のリスクを

  • ウェブ健康診断 - 財団法人 地方自治情報センター(LASDEC)

    地方公共団体が運営するホームぺージの改ざん防止等を図り、安定的な電子行政に資するため、ウェブアプリケーションの脆弱性の有無を診断し、その対処方法をお知らせします。ハッカーからの攻撃等による個人情報漏えいの危険性がある脆弱性についても診断できます。 ※診断実施希望団体(平成20年度)の募集は終了しました。 ウェブ健康診断とは? 「ウェブ健康診断」とは、地方公共団体が運営するWebアプリケーションについて、インターネットを介して脆弱性の有無を診断するものです。地方公共団体であれば、無償で診断を受けることができます。事業は、人間に例えるなら、その名のとおり 「健康診断」にあたるような位置づけの診断です。人間ドックに比べたら精密ではありませんが、昨年度事業での診断結果傾向等を考慮しながら重要な診断項目を網羅してあります。基的な対策が出来ているかどうかを診断するものとお捉えください。 We

  • printenv at xss-quiz.int21h.jp

    printenv at xss-quiz.int21h.jp Your IP address: 133.242.243.6 () NameValue HTTP_ACCEPT*/* HTTP_CACHE_CONTROLno-cache HTTP_CONNECTIONclose HTTP_HOSTxss-quiz.int21h.jp HTTP_USER_AGENTHatenaBookmark/4.0 (Hatena::Bookmark; Analyzer) QUERY_STRING REMOTE_ADDR133.242.243.6 REQUEST_METHODGET REQUEST_SCHEMEhttp REQUEST_URI/