2019年5月10日金曜日

【サービスのご紹介】徳丸本講座

こんにちは。EGセキュアソリューションズ セミナー運営事務局です。

本日は、6月3日(月)・4(火)に実施する『徳丸本講座』について、
受講いただくメリットや各講座の内容について簡単にご紹介します。


はじめに、『徳丸本講座』の概要について弊社ホームページでは以下の通り紹介をしております。
『体系的に学ぶ 安全なWebアプリケーションの作り方 脆弱性が生まれる原理と対策の実践 第2版』(通称:徳丸本第2版)の内容を著者とともに学ぶ講座です。
本講座は、Webアプリケーションの脆弱性について座学形式での解説を行うものです。基礎講座では徳丸本第2版の中から最低限押さえておくべき内容を応用講座では徳丸本第2版の中でも特に理解の難しい内容を学びます。

『徳丸本講座』では、皆様がWebアプリケーションの脆弱性(以下、脆弱性)に対する理解を深め、日常業務に役立てていただくことを第一の目的としています。そのため、脆弱性を突いた攻撃のデモを交えて、脆弱性の原理・影響・対策をお伝えします。脆弱性の特性について理解することで、脆弱性を作り込まないための考え方を養い、脆弱性が発見された場合の適切な対処を取ることを助けます。



続いて、それぞれの講座についてご紹介します。

基礎講座

 Webアプリケーションの脆弱性の中でも広く知られているもの・影響度の高いものを取り扱います。普段Webアプリケーションの開発を行っている方からWebサイトの開発を依頼する立場の方まで広くご参加いただきたい内容となっています。

本講座で取り扱う主な内容
  • HTTP通信の概要
  • クッキーとセッション管理
  • クロスサイト・スクリプティング(XSS)
  • SQL呼び出しに伴う脆弱性
  • クロスサイト・リクエストフォージェリ(CSRF) etc...

本講座の対象者
  • PHPやJavaScriptの初歩的な知識をお持ちの方
  • WebアプリケーションがWebサーバから受信した情報をブラウザで表示していることを理解出来る方
  • 脆弱性について一通り理解があるものの原理から学び直したいとお考えの方


応用講座

 Web APIやJavaScript、キャッシュ機能を利用する際の脆弱性等少し難易度の高い脆弱性を取り扱います。こちらには、OWASP Top10 2017にランクインしたXXEや安全でないデシリアライゼーション等が含まれます。

 開発スキルが向上すると、自由度の高い機能を使いこなす機会が増えてきますが、それと同時に取扱いにも注意が必要となります。応用講座は、開発技術やセキュリティ技術の向上を目指す方に是非受講していただきたい内容となっております。

本講座で取り扱う主な内容
  • 同一オリジンポリシー
  • CORS
  • Web API実装における脆弱性
  • 構造化データの読み込みにまつわる問題 etc...

本講座の対象者
  • PHPやJavaScriptの基礎的な知識をお持ちの方
  • Web APIとJSONの概要をご存知の方
  • 複数のページ間で行われる通信を想定できる方



最後に

 徳丸本講座は、Webアプリケーションの脆弱性についての理解を深めるには最適な講座です。詳細やお申込み方法については次のURLをご参照ください。

2019年3月29日金曜日

【連載】JSONとJSONPの違い、そしてそれにまつわる脆弱性

こんにちは。EGセキュアソリューションズ診断チームです。
JSONとJSONPという、Webサイトを構築する上でよく目にする技術について、
使用する上で注意すべき脆弱性を、解説を交えながら紹介したいと思います。
連載第一回の今回は、前段の知識としてJSONとJSONPの概要について説明します

【JSONとは?】
JSONはXMLに代わるデータ交換形式として新たに提唱されたものです。
JavaScriptのオブジェクトリテラルの形式をベースとして作られています。
また、JSONはJavaScriptの式として解釈できる性質を持ちます。
JSONは名前と値がペアになっているデータの集合体として表されます。
名前と値を「:」(コロン)でペアとして記述し、データの間は「,」(カンマ)で区切ります。
これらを{}で囲んだものがJSON形式となります。実際のデータ例を下記に記します。

{ “title” : “Hello JSON!” , “No” : 123 }



【JSONPとは?】
JSONPとはJSON with Paddingの略です。
名前にJSONと含まれているため、同じようなものと思ってしまいがちですが、全く違うものです。
元々、データを異なるオリジン間でやり取りを行うために色々な手法が試されていましたが、
そのうちの一つがJSONPです。
JSONのやり取りにはXMLHttpRequestが使用されていますが、
XMLHttpRequestは元々同一オリジンポリシーの制約を受けていた(現在はCORSにより回避可能)ため
そのままでは異なるオリジン間でデータを受け渡すことができません。
そのため、XMLHttpRequestを使用せず、script要素を使用して外部のJavaScriptを直接実行することにより、
異なるオリジン間でデータをやり取りするという方法が考案されました。これがJSONPです。
ただし、やり取りするデータがJSONの場合、JSON文字列そのままでは
script要素でデータを受け取ることができないため、関数呼び出しの形でデータを生成します。




【JSONとJSONPの違い】
ここまで簡単にJSONとJSONPの概要を述べましたが、一言で書くと次のように表すことができます。


JSON :データ交換用の形式、またはデータそのもの
JSONP :データそのものを異なるオリジン間でやり取りするための手法

【次回予定】
第二回以降は、いくつかあるJSONとJSONPにまつわる脆弱性について、一つ一つ紹介していきたいと思います。

2019年2月22日金曜日

WordPressサイト移行に便利なDB置換ツールを使う際の注意点

WordPressサイトの引っ越しや、開発環境から本番環境への移行等によりドメイン名やディレクトリ構造を変更する必要がある場合、データベース内のドメインやURLをSQLで直接書き換えるのではなく、DB置換ツール(Search Replace DB)が広く利用されているようです。

WordPress の引越し(WordPress Codex 日本語版)
http://wpdocs.osdn.jp/WordPress_%E3%81%AE%E5%BC%95%E8%B6%8A%E3%81%97

Search Replace DB
https://interconnectit.com/products/search-and-replace-for-wordpress-databases/


Search Replace DBはとても便利なツールですが、データベースのユーザ名/パスワードを
入力することなくデータベースを書き換えることができるため、利用する際には、セキュリティを十分考慮してください。
利用の仕方によっては、サイト上のコンテンツが改ざんされるだけでなく、以下のような被害を受ける危険性があり、現在、放置されたSearch Replace DBを利用した攻撃が観測されています。


■想定される被害の例

  • データベースのアクセス情報(データベース名、ユーザ名、パスワード、
    ホスト、ポート)が漏洩し、データベース内のデータが漏洩する。
  • データベース内のデータにPHPコードを混入されることで、
    仮想通貨のマイニング、OSの不正操作等、任意のコードが実行される。


以下のチェックポイントにチェックがつく場合、至急いずれかの対策を実施いただくことを推奨します。

■チェックポイント

  • 作業が終わったにも関わらず、Search Replace DBを削除していない。
    (Ver.3の場合は「delete」ボタンをクリック)
  • Search Replace DBへのアクセス制限を実施していない。
  • Search Replace DBをWordPressのルートディレクトリ等わかりやすい場所に配置している。

■対策

  • Search Replace DBを削除する(推奨)
  • Search Replace DBを削除できない場合はアクセス制限を実施する

Search Replace DBのサイトには、インストール時の注意事項の記載があります。このようなツールやスクリプトを利用する際は、注意事項を正しく理解してから利用することが大切です。
また、利用完了後はただちに削除し、利用中も外部からアクセスできないように、アクセス制御することが鉄則です。


【参考】
WordPressのプラグインDuplicator 1.2.40以前にリモートコード実行の脆弱性(徳丸浩の日記)
https://blog.tokumaru.org/2018/09/wordpress-duplicator-plugin-vulnerabilty.html

フォロワー