弊社クラスメソッド株式会社主催のイベント「Developers.IO 2019 TOKYO」での登壇資料です。 セキュリティ対策メガ盛りマックス ブログ: https://dev.classmethod.jp/cloud/aws/developers-io-2019-tokyo-all-security-in-aws/ ハッシュタグ: #cmdevio ブログの方に喋った内容の補足など入れてあります ちなみにブログをシェアしてくれると喜びマックス
経緯 aタグにtarget="_blank"をつけると危険だよと言われたので、忘れないうちにメモメモ。 危険な理由 「リンクを開いた先のページでのJavaScriptによって、開いた元のページを操作できてしまう」 大抵のブラウザでは、 target=blank_によって"別タブで開かれたページ"が手前に表示され、 "元のページ"は裏に残る。 "別タブで開かれたページ"にて、 が実行されると、裏で"元のページ"が画面遷移される。 オリジンが違ったとしても、リンクをたどってきたユーザを任意のサイトに誘導することが可能。 ※ window.openerは、"別タブで開かれたページ"を開いた"元のページ"への参照を返すらしい。。。 window.opener フィッシング詐欺攻撃の例 リンクのへの rel=noopener 付与による Tabnabbing 対策 ESLint(eslint-plu
html で リンクを新しいタブ(やウィンドウ)で開かせたい場合、target="_blank" を指定するが、 この使い方には落とし穴があるらしい。 www.jitbit.com リンクを開いた先の javascript から、開いた元のページを操作できてしまうとのこと。 気になったので確認してみた。 悪用のパターン insecure.html が最初に開くページで、ここに target="_blank" なリンクがある。 このリンクを押すと new_window.html を新しいタブで開く。 この new_window.html に javascript が仕込まれており、元ページを操作されるという話。 具体的には window.opener.location="./evil.html" と実行すると、元タブは evil.html に遷移する。 実際試してみたのが ここ。 リンクを開
直近で新しいWebサービスのセキュリティ周りを整備する機会があったので、その時に検討した内容をメモしておきます。 このnoteの前提重点的にみたのが認証機構の部分でしたのでそれに寄った内容になります。 また、一般的なセキュリティ対策(XSSやSQLインジェクション)などについて触れていません。そういった内容については2018年の現在でも徳丸先生の本を一読することが近道かと思います。 体系的に学ぶ 安全なWebアプリケーションの作り方 脆弱性が生まれる原理と対策の実践 | 徳丸 浩 https://www.amazon.co.jp/dp/4797361190 "なぜ"セキュリティ施策をするのかセキュリティ対策は大切だということはわかっていても、"なぜ"対策をしないといけないかということにパッと答えられる人はそう多くないのではないでしょうか。 総務省が公開しているテキストには、以下のようなこと
現在SSL証明書の署名アルゴリズムがSHA–1からSHA–2へと変更になる過渡期となっています。今後はSSL証明書の新規取得や更新を行う際にはSHA–2の証明書を取得することになると思いますが、いつも通りの慣れた作業と思っていると、思わぬところでハマるかも知れません。 今回は実際に更新作業をした経験を踏まえて取得/更新作業の注意点について簡単にまとめてみました。 そもそもなぜSHA–2に移行する必要があるのか? 署名アルゴリズムがSHA–1の証明書は非推奨となり、ゆくゆくは廃止となる流れとなっています。基本的にSHA–1の証明書は2017年1月1日以降使えなくなると考えてよいでしょう。そして2016年12月31日までにSHA–2に移行する必要があります。 詳細はここで説明すると長くなりますので、次のようなSSL証明書の発行元のサイトの解説を参照してください。 SHA–1証明書の受付終了とS
お申し込み前の確認事項 お申し込み前に「リポジトリ」ページにて『グローバルサイン電子証明書サービス利用約款』をご確認ください。 ワイルドカードとは ワイルドカードは、同じドメイン内であれば複数のサブドメインサイトを1枚の証明書でSSL暗号化通信を実現いたします。 お問い合わせや資料請求などのフォームを、サブドメインを分けて運営している 商品詳細ページと決済画面とをサブドメイン別に分けて運営している 提供サービス別にサブドメインを分けて運営している ※IIS5.0では証明書ご利用にあたり、サイトごとに異なるグローバルIPアドレスを設定する必要がございます。ポートを変更することでも対応できますが、環境によってはアクセスできなくなることもございますのでご注意ください。 ※携帯電話には対応していません。 ※証明書が「*.example.com」に発行されている場合、「https://example
書籍「気づけばプロ並みPHP」のサンプルスクリプトにリモートスクリプト実行の脆弱性があるので報告します。 はじめに Yahoo!知恵袋の質問を読んでいたら、以下の質問がありました。 気づけばプロ並みPHP (著)谷藤賢一 (発行)リックテレコムP112の画像をアップロードする機能でエラーがでます。 http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q11119835496 より引用 質問に対しては回答が既についてクローズされていましたが、引用されているソースを見て任意のファイルを任意のファイル名で、Web公開ディレクトリにアップロードできることに気づきました(下記)。 <?php // 略 $pro_gazou=$_FILES['gazou']; // 略 if($pro_gazou['size']>0) { if ($pro_
Introduction A certificate signing request (CSR) is a message sent to a certificate authority to request the signing of a public key and associated information. Most commonly a CSR will be in a PKCS10 format. The contents of a CSR comprises a public key, as well as a common name, organization, city, state, country, and e-mail. Not all of these fields are required and will vary depending with the a
@ymmt2005 こと山本泰宇です。 今回は cybozu.com を安全に利用するために暗号化した通信(SSL)を常時使用するための取り組みを紹介します。 HTTP と HTTPS HSTS とその弱点 Preloaded HSTS Chrome のリストに cybozu.com を組み込む まとめ HTTP と HTTPS Web ブラウザのアドレスバーに "www.cybozu.com" と打ち込むと、通常は暗号化されない HTTP 通信が行われます。そこでまず考えられるのは、Web サーバーにて HTTP 通信を受け付けたら、HTTPS に永続的リダイレクトをすることです。Apache なら以下のような設定になるでしょう。 <VirtualHost *:80> ServerName www.cybozu.com Redirect permanent / https://www.c
近年では多くの分野でWebアプリケーションが使われるようになり、大量の個人情報や重要な秘密情報を扱うようなアプリケーションも少なくない。そのため、Webアプリケーションも攻撃対象として狙われやすくなっている。今回はWebアプリケーションのセキュリティ対策として、Googleが公開しているセキュリティ調査ツール「skipfish」を使ったセキュリティスキャンを紹介する。 Webアプリケーションに特化したセキュリティ調査ツール「skipfish」 今日では、Webブラウザ経由でさまざまな操作を行えるWebアプリケーションが広く浸透している。Webブラウザは最近のほぼすべてのPCにインストールされており、専用のクライアントを用意せずにアプリケーションを操作できるというのがその浸透の理由の1つだ。しかし、Webアプリケーションでは簡単にその一部(HTMLやJavaScript)のソースコードを閲覧
CGI環境でPHPを動作させているサイトには、リモートからスクリプト実行を許してしまう脆弱性があります。php.netから提供されている修正リリース(PHP 5.3.12 / PHP 5.4.2)は不完全なため、該当するサイトは至急回避策を導入することを推奨します。 概要 CGIの仕様として、クエリ文字列に等号を含めない場合は、クエリ文字列がCGIスクリプトのコマンドライン引数として指定されます。 例えば、http://example.jp/test.cgi?foo+bar+bazという呼び出しに対しては、test.cgiは以下のコマンドラインで呼び出されます。 test.cgi foo bar baz この仕様を悪用して、CGI版のPHPにコマンドライン引数としてPHPのオプションを指定できます。例えば、http://example.jp/test.php?-s というリクエストは、-s
はてなは3月13日、ソーシャルブックマークサービス「はてなブックマーク」で提供する「はてなブックマークボタン」について、同ボタンで取得した行動情報の第三者への送信を停止したと発表した。午後4時時点でサービスを停止しているが、環境によっては、変更が反映されるまでに最大24時間かかることがあるとしている。 はてなブックマークボタンは、はてなブックマークのコメントを読んだり、ブックマークを追加したりできるブログパーツ。はてなブックマークボタンのヘルプページにて、2011年9月1日より興味関心に基づく広告の掲載を目的とした行動情報を取得し、マイクロアドに送信していた。 しかしその際、通常はてなブックマークの機能変更などをアナウンスする「はてなブックマーク日記」にて送信の事実や無効化(オプトアウト)の方法を告知せず、「はてなブックマークボタンの作成・設置について」「はてなブックマークボタンを表示する
このエントリでは、スマートフォンアプリケーションの通信暗号化の必要性について議論します。 はじめに 先日、スマートフォンアプリケーションのセキュリティに関するセミナーを聴講しました(2月8日追記。講演者からの依頼によりセミナーのサイトへのリンクをもうけました)。この際に、スマートフォンアプリケーションの脅威に対する共通認識がまだないという課題を改めて感じました。その課題を痛感できたという点で、セミナーは私にとっては有益でした。 このため、当ブログではスマートフォンアプリケーションの話題をあまり取り上げていませんでしたが、今後は、とりあげようと思います。まずは、スマートフォンアプリケーションでは暗号化を必須とするべきかという話題です。この話題は、前記セミナーでもとりあげられていました。 暗号化の目的は何か まず、暗号化の必要性を論じるためには、暗号化の目的を明確にする必要があります。前記セミ
ウェブアプリケーション等で使用されている言語 (PHP, Ruby 等) やウェブアプリケーションフレームワーク (Apache Tomcat 等) のハッシュテーブルの実装方法に問題があり、サービス運用妨害 (DoS) の脆弱性が存在します。この脆弱性が悪用されると、運用中のウェブサービスを提供できなくなるなどの被害にあう可能性があります。 攻撃に悪用可能な情報が公開されているため、至急、アップデートを実施して下さい。 ・Apache Tomcat Apache Tomcat 7.0.22 およびそれ以前のすべてのバージョン Apache Tomcat 6.0.34 およびそれ以前のすべてのバージョン Apache Tomcat 5.5.34 およびそれ以前のすべてのバージョン ・Ruby Ruby 1.8.7-p352 およびそれ以前のすべてのバージョン ・Microsoft .NET
28C3(28th Chaos Communication Congress)において、Effective Denial of Service attacks against web application platforms(Webプラットフォームに対する効果的なサービス妨害攻撃)と題する発表がありました(タイムスケジュール、講演スライド)。 これによると、PHPをはじめとする多くのWebアプリケーション開発プラットフォームに対して、CPU資源を枯渇させるサービス妨害攻撃(DoS攻撃)が可能な手法が見つかったということです。この攻撃は、hashdos と呼ばれています。 概要PHPなど多くの言語では、文字列をキーとする配列(連想配列、ハッシュ)が用意されており、HTTPリクエストのパラメータも連想配列の形で提供されます。PHPの場合、$_GET、$_POSTなどです。 連想配列の実装には
Windowsには数えきれないほどのアンチウィルスソフトがありますが、米LH編集部は結局Microsoftが提供している『Security Essentials』に落ち着いています。使いやすく軽量で、すべてバックグラウンドで動いてくれるので、ほとんど操作の必要がありません。 Microsoft Security Essentials Windows無料ダウンロードページ ■機能・特徴 手動で更新するよう設定したり、最近検出されたアイテムを見たり、スキャンのスケジュールをしたり、かなり使いやすいインターフェイス。 アラートレベルによって違うアクションを設定できる(例:問題のあるファイルの削除や隔離)。 すべてのダウンロードファイルのスキャンや、ファイルの行動の監視など、リアルタイムで保護。 特定のファイル形式や位置情報、スキャンのプロセスを排除する。 ヒューリスティックなスキャンエンジンなの
このエントリでは、セキュリティの観点から、バリデーション実装について検討します。大垣さんの本を読んで「大垣流バリデーション」について勉強した結果を報告します。 はじめに 大垣さんの記事「入力バリデーションはセキュリティ対策」では、「入力バリデーションはセキュリティ対策である」が力説されています。この記事はおそらくid:ajiyoshiさんのブログ記事「妥当性とは仕様の所作 - SQLインジェクション対策とバリデーション」を受けてのことだと思います。id:ajiyoshiさんのエントリでは、「妥当性検証は仕様の問題であってセキュリティ対策ではありません」と明言されています。私はid:ajiyoshiさんに近い考えを持っていますので、大垣さんの主張について、私なりに考えてみました。 記事を書くにあたり、徳丸の立場を明確にしておきたいと思います。 バリデーションの基準は仕様の問題 バリデーション
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く