XML Consortium
ＸＭＬコンソーシアム セキュリティ部会報告

情報セキュリティの動向と生産システムへの教訓
2009年06月05日
製造業ＸＭＬフォーラム２００９
XMLコンソーシアム セキュリティ部会
松永 豊 （TELデバイス)© XML Consortium 2009

1

Security SIG
05-JUN-2009

XML Consortium

情報セキュリティの動向と生産システムへの教訓
本日の内容© XML Consortium 2009

SQLインジェクションが生産システムにも脅威になる日が来るか?
– 情報セキュリティの動向と生産システムへの影響– 制御システム向けガイドライン

生産工場のセキュリティ検討– SCF2007, MOF2008
リスク、セキュリティ対策、実践
2

Security SIG
05-JUN-2009

XML Consortium

ＸＭＬコンソーシアムの概要
設立： ２００１年６月１８日
活動目的：
社会基盤＆ビジネス基盤としてのXMLの発展と普及に貢献し、XMLの利活用促進を目指す
会員： 155社、70％：IT関連、30％：ユーザー企業
会長： 鶴保 征城 (ＩＰＡ ソフトエンジニアリング・センター所長）
理事会社： 23社
監事： 2名顧問： 4名エバンジェリスト： 23名特徴： (1) 中立性(2) 自主的、自発的な活動(3) 一社ではできない活動(4) ヒューマン・ネットワーク、ビジネス・ネットワークの確立(5) 成果物の公開
http://www.xmlconsortium.org/© XML Consortium 20093

Security SIG
05-JUN-2009

XMLコンソーシアム
組織図総 会
XML Consortium

理事会

セキュリティ部会

運営委員会

Ｗｅｂサービス実証部会

情報収集発信渉外
セミナー・イベント・勉強会企画/運営
広報
メルマガ
標準化推進委員会
次期検討委員会

顧問

監

事SOA部会
ビジネス・イノベーション研究部会

Ｗｅｂ２．０部会
クロスメディア・パブリッシング部会

事務局

関西部会
ＴｒａｖｅｌＸＭＬ標準化部会

標準化支援ContactＸＭＬ部会

ビジネス
ビジネス志向志向＋＋技術
技術
志向
志向

XMLデータベース部会

コンテンツ利用情報標準化部会© XML Consortium 2009

技術志向4

Security SIG
05-JUN-2009

XML Consortium

生産工場のセキュリティに対する取り組み
アライアンス･パートナーとの協調活動として、生産工場のセキュリティに関する取り組みを行ってきました

ＰＳＬＸフォーラム

製造業XML推進協議会

2007年 システム コントロール フェア (SCF) 2007
– セキュリティ検討報告書– 合同デモシステムについてセキュリティ上のリスクを分析し対策を検討

2008年 Manufacturing Open Forum (MOF) 2008
– 合同デモシステム向けセキュリティ報告書– 暗号化と電子署名について具体的な手段を検討して報告© XML Consortium 2009

5

Security SIG
05-JUN-2009

XML Consortium
情報セキュリティにおける課題の例…SQLインジェクション

© XML Consortium 2009

6

Security SIG
05-JUN-2009

「東京都障害者サービス情報」への不正アクセスに「東京都障害者サービス情報」への不正アクセスについて（続報）ついて（続報）2008/12/26
2008/12/26東京都福祉保健局
東京都福祉保健局

SQLインジェクション
(Webサイトへの不正アクセス)

セミナー情報ページが改ざん、閲覧でウイルス感染
セミナー情報ページが改ざん、閲覧でウイルス感染の可能性の可能性- -情報処理サービス会社
情報処理サービス会社Security
SecurityNEXT
2008/12/12NEXT - 2008/12/12(駒ヶ根市)防犯防災メールに不正リンク(駒ヶ根市)防犯防災メールに不正リンク サーバー
サーバー
攻撃が原因
2008-12-11
長野日報
攻撃が原因 2008-12-11 長野日報

XML Consortium

JR北海道、不正アクセスを受けホームページの運JR北海道、不正アクセスを受けホームページの運用を一時停止
用を一時停止2008年12月02日
2008年12月02日ITmedia
ITmedia
JA全農のサイトが不正アクセスで改ざんJA全農のサイトが不正アクセスで改ざんSecurity
SecurityNEXT
NEXT- -2008/11/17
2008/11/17「今までにないタイプのSQLインジェクション」――「今までにないタイプのSQLインジェクション」――
ゴルフダイジェストへの不正アクセス手口が判明
ゴルフダイジェストへの不正アクセス手口が判明
2008/10/06
2008/10/06ITpro
ITpro
CookieにSQLインジェクションを埋め込む新手のCookieにSQLインジェクションを埋め込む新手の手口、ラックが緊急注意喚起
手口、ラックが緊急注意喚起 2008/10/03
2008/10/03
Enterprise
Watch
Enterprise Watch「サウンドハウス」名指しの攻撃マニュアルが中国「サウンドハウス」名指しの攻撃マニュアルが中国で公開されていたで公開されていた2008/04/18
2008/04/18INTERNETINTERNETWatch
Watch
JPCERT/CC、SQLインジェクションによるWebサイJPCERT/CC、SQLインジェクションによるWebサイト改ざんを警告
ト改ざんを警告2008年3月14日
2008年3月14日RBB
RBBTodayToday
SQLインジェクション攻撃を行なうワームが出現、SQLインジェクション攻撃を行なうワームが出現、
米SANS
米SANSInstituteが警告
Instituteが警告2008年5月7日
2008年5月7日
INTERNET
Watch
INTERNET Watch*引用元: JPCERT/CC 「ソフトウエア等の脆弱性関連情報に関する届出状況 [ 2008年第4四半期 (10月 〜 12月) ] 」
http://www.jpcert.or.jp/press/2008/vuln2008q4.pdf© XML Consortium 2009

7

IPA、SQLインジェクション攻撃の急増をWeb管理IPA、SQLインジェクション攻撃の急増をWeb管理
Security SIG
者に注意喚起者に注意喚起20080515
20080515INTERNETINTERNETWatch
Watch
05-JUN-2009

SQLインジェクションの特徴
2008 年の届出は263 件で、現時点で取扱い中（対策中）のものが計202 件（*）

XML Consortium

標的はアプリケーション→ OSのパッチでは対処できない

標的にフリーパスで到達できる
HTTPを利用 → 僅かに残った穴が狙われる
SQL

入力フォームユーザーID： suzuki
パスワード： 不正な命令

攻撃© XML Consortium 2009

Cookiegid=56979DEC%LARE%20@

Webサーバー

DBサーバー

厳重に守られているDB
を、Web経由で攻撃→ 「無菌状態」の安心は禁物

HTTP*引用元: JPCERT/CC 「ソフトウエア等の脆弱性関連情報に関す
Security SIG
る届出状況 [ 2008年第4四半期 (10月 〜 12月) ] 」
8
http://www.jpcert.or.jp/press/2008/vuln2008q4.pdf 05-JUN-2009

Webアプリケーションの安全対策
XML Consortium

セキュア・コーディング
開発における対策
プログラマーのスキルに依存
WAFでみつかった
残存している脆弱性問題について修正指示を発見、修正指示
脆弱性検査
開発終了時、アプリ変更時に実施検査でカバー
外部への委託が一般的できない部分
検査頻度が重要（コストと確実性）
検査漏れ
新たな攻撃手法発見したがすぐに修正
アプリの変更できない脆弱性を保護
OSやパッケージ、設定の不備
運用時の防御 = WAFに対処
本番の通信を監視し攻撃を検知、遮断
外部への委託が一般的(WAF = Webアプリケーション© XML Consortium 2009 ・ファイアウォール)

9「どれを実施すればいいのですか?」↓
いずれも重要です
補完し合って堅牢性を高める
どこまでやるか、は保護対象の性質/リスクに依存
継続的にセキュリティを維持するために検査頻度を上げると開発日程を束縛する恐れがあり、効率の良い補完手段を求めていた。
その目的を満たすのは、脆弱性を修正する前でも安全性が保てるWAFの導入だった。 (外為どっとコム様)
Security SIG
05-JUN-2009

生産システムへの教訓
XML Consortium

注意すべきポイント– パッチの適用漏れ– アプリケーション– 正規の通信、正規の入力

対策は、計画・開発→運用→検査→改善(PDCA)

厳重に守られたシステム
オープンなサーバー

攻撃© XML Consortium 200910

Security SIG
05-JUN-2009

XML Consortium

制御システムにおける
SQLインジェクション
米国土安全保障省による制御システムの為のサイバーセキュリティ
調達仕様
2. SYSTEM HARDENING
3. PERIMETER PROTECTION
4. ACCOUNT MANAGEMENT .
5. CODING PRACTICES
6. FLAW REMEDIATION
7. MALWARE DETECTION AND PROTECTION
8. HOST NAME RESOLUTION
9. END DEVICES
10. REMOTE ACCESS
10.4 Web-based Interfaces
11. PHYSICAL SECURITY
12. NETWORK PARTITIONING© XML Consortium 2009http://www.us-cert.gov/control_systems/
11

Security SIG
05-JUN-2009

%XML Consortium

背後にデータベースを持つWeb
アプリケーションではSQL文の取り扱いを誤ることもよくあり、SQLインジェクションを許すこととなる。

© XML Consortium 2009

12

Security SIG
05-JUN-2009

XML Consortium© XML Consortium 2009

納入者は全てのWebフォーム入力欄について入力サニタイジング(消毒、無害化)の記録を提出し、これは最低でもコマンド･インジェクションやSQLインジェクション、ディレクトリ･トラバーサル、RFI、XSS、およびバッファ･オーバーフローの防止手段を含んでいなければならない。

13

Security SIG
05-JUN-2009

XML Consortium

SQLインジェクション
参考資料
プロなら知っておきたいWebサイトの強化策(アスキームック)– Webセキュリティ完全防御マニュアル、WAFの存在意義と製品の種類、WAFの防御メカニズム、WAFの導入とその課題– その他Webの性能チューニングなどまずできること： IPA SQLインジェクション検出ツール iLogScanner V2.0
ウェブサイト運営者のための脆弱性対応ガイド ２００８年 ４月 ４日 第２版、情報システム等の脆弱性情報の取扱いに関する研究会編
NPO 日本ネットワークセキュリティ協会、2007年度 情報セキュリティインシデント調査報告書
安全な ウェブサイトの 作り方 改訂第３版、独立行政法人 情報処理推進機構
株式会社ラック【2008 侵入傾向分析レポートvol.11】© XML Consortium 2009

14

Security SIG
05-JUN-2009

XML Consortium

生産工場のセキュリティ
SCF2007
MOF2008© XML Consortium 200915

Security SIG
05-JUN-2009

SCF2007製造情報連携デモシステム

セキュリティ検討報告

システム コントロール フェア 2007

XML Consortium– 2007/11/13(火)〜16(金)東京ビッグサイト© XML Consortium 2009

XMLコンソーシアムのセキュリティ部会が製造情報連携フォーラムの合同デモシステムに対してセキュリティ面のリスクと対策を検討→報告
主なセキュリティ対策– 認証の一元化– アクセス制御– ログ管理、システム監視– XMLデータの保護、WS-Security
報告書：
http://www.xmlconsortium.org
16

Security SIG
05-JUN-2009

MOF2008合同デモシステム
向けセキュリティ報告書
XML Consortium

MOF2008© XML Consortium 2009

– http://www.mstc.or.jp/iaf/mof2008/– 名称：マニュファクチャリング オープン フォーラ
ム２００８ （ＭＯＦ２００８）– 2008/9/10~12 東京ビックサイト– 主催：Ｉ Ａ懇談会

前年のSCF2007に引き続き、合同デモシ
ステムのセキュリティを検討

報告書：
http://www.xmlconsortium.org/public_doc/
mof2008_security/mof2008.html

17

Security SIG
05-JUN-2009

MOF2008合同デモシステム
向けセキュリティ報告書
XML Consortium

1. 概要
SCF2007では、セキュリティ要件
1.1.
対象システムを網羅的に検討
1.2.
検討の内容
↓2. XMLメッセージの保護に必要なセキュリティ技術
今回は、実装面も含めたより具体
2.1.
概要
的な情報提供を目的
2.2.
暗号化（XML暗号）
2.3.
電子署名（XML署名）
機密性 – 生産計画などの漏洩
2.4.
SOAPへの適用（WS-Security）
防止
2.5.
長期署名（XAdES）→ 暗号化
3. XMLメッセージの保護の実践
完全性 – 生産記録の改竄防止
3.1.
オープンソースのツールによる暗号化と電子署名→ 電子署名3.2.
ハードウェアを使った暗号化と電子署名
3.3.
長期署名によるXMLデータの保管それぞれについて、
4. まとめ - 各手法の比較
技術解説
4.1.
ソフトウェアとハードウェアの実装比較
具体的な手段
4.2.
ハードウェアセキュリティモジュール(HSM)について
手段ごとの特徴や課題
4.3.
XMLセキュリティのツール© XML Consortium 200918

Security SIG
05-JUN-2009

XML Consortium

オープンソースのツールによる暗号実践// AESによる私有鍵の生成
KeyGenerator keyGenerator = KeyGenerator.getInstance("AES");
keyGenerator.init(128);
Key symmetricKey = keyGenerator.generateKey();// 私有鍵を暗号化するDESによる共通鍵の生成
keyGenerator = KeyGenerator.getInstance("DESede");SecretKey kek = keyGenerator.generateKey();
String algorithmURI = XMLCipher.TRIPLEDES̲KeyWrap;
XMLCipher keyCipher = XMLCipher.getInstance(algorithmURI);
keyCipher.init(XMLCipher.WRAP̲MODE, kek);//共通鍵の暗号化
EncryptedKey encryptedKey = keyCipher.encryptKey(document, symmetricKey);// 暗号化方法の設定
XMLCipher xmlCipher = XMLCipher.getInstance(algorithmURI);
xmlCipher.init(XMLCipher.ENCRYPT̲MODE, symmetricKey);// 暗号化データに組み込む<KeyInfo>要素の設定
EncryptedData encryptedData = xmlCipher.getEncryptedData();
KeyInfo keyInfo = new KeyInfo(document);
keyInfo.add(encryptedKey);
encryptedData.setKeyInfo(keyInfo);// 暗号化する要素名
Element enElement = (Element) document.getElementsByTagName("要素名").item(int 要素位置);// 暗号化すべきデータをEncrypteData要素により置換
xmlCipher.doFinal(document, enElement, true);© XML Consortium 200919

Security SIG
05-JUN-2009

XMLコンソーシアム セキュリティ部会の今後の計画XML Consortium

XMLセキュリティのツール調査、ツール検証– ツール調査 「どんなツールがあるのか？ 」
アプリケーションサーバー、ライブラリ、ゲートウェイ/ESB、テストツール
機能分野： XML暗号化、電子署名、XML/SOAPファイアウォール
現在調査中– ツール検証 「どうやって使うのか？」© XML Consortium 2009

MOF2008合同デモシステム向けセキュリティ報告書での「 XMLメッセージの保護の実践」の継続検証
プラットフォーム（Windows, Linux, ・・）
Java6対応状況
Webサービス実証部会との協業

20Security SIG
05-JUN-2009

XML暗号化検証報告まとめ(XMLコンソーシアムWeek 2009/05/12より、資料公開中)

XML Consortium

暗号化

復号

ApacheJSR-106.net

Apache◎◎○*1

JSR-106○ *3◎○ *2 *3.net

○ *4

◎◎

◎：サンプルプログラムのままで復号できた○：対応策を入れることで復号できた*1：JCE（Java Cryptography Extension）を入れてAES256に対応*2：ポリシーファイルを入れ替えて、AES256に対応*3：暗号化時に ISO10126Padding ではなく PKCS5Padding を指定*4：暗号化時に /EncryptedData/KeyInfo/EncryptedKey/KeyInfo/KeyName を追加© XML Consortium 200921

Security SIG
05-JUN-2009

厳重に守られたシステム

まとめXML Consortium

セキュリティ要求は変化する– 「無菌状態」と安心してはいけない– 状況把握– 先行分野の例に学ぶ© XML Consortium 2009

オープンなサーバー

攻撃

www.xmlconsortium.org
XMLコンソーシアム セキュリティ部会 リーダー 松永 豊
22

Security SIG
05-JUN-2009