SOC Report

Similar documents
SOC Report

SOC Report

SOC Report

SOC Report

SOC Report

SOC Report

SOC Report

SOC Report

SOC Report

SOC Report

SOC Report

SOC Report

SOC Report

Microsoft Word - FreeBSD_LDPRELOAD002.doc

WEBシステムのセキュリティ技術

Apache-Tomcat と 冗長な UTF-8 表現 (CVE 検証レポート ) 2008 年 08 月 26 日 Ver. 0.1

SQLインジェクション・ワームに関する現状と推奨する対策案

MSSGuideline ver. 1.0

intra-mart EX申請システム version.7.2 事前チェック

べきでない悪意のあるSQL 文が攻撃者から入力された場合 データベースで実行される前にSQL 文として処理されないよう無効化する必要がありますが ( 図 1 1) 無効化されずにデータベースで実行された場合 データベースの操作が可能となります ( 図 1 2) 本脆弱性を悪用するとデータベース接続ユ

SOC Report

SOC Report

サイト名

報道関係者各位 プレスリリース 2019 年 01 月 15 日 株式会社ネオジャパン グループウェア desknet's NEO バージョン 5.2 を 1 月 15 日に提供開始 ~ 業務アプリ作成ツール AppSuite との連携を強化 他にも AppSuite 連携 API 公開など多数の機

— intra-mart Accel Platform セットアップガイド (WebSphere編)   第7版  

HeartCoreインストールマニュアル

Si 知識情報処理

2. バージョンアップ内容 intra-mart WebPlatform/AppFramework Ver.7.1 および Ver.7.2 に対応いたしました SAP JCo 3.0.x に対応いたしました 3. 製品概要 IM-ERP リアルコネクトは SAP システム内のデータをリアルタイムに取

intra-mart Accel Platform

6-2- 応ネットワークセキュリティに関する知識 1 独立行政法人情報処理推進機構

OpenRulesモジュール

LightSwitch で申請システム Windows ストアアプリで受付システムを構築してみた 情報政策グループ技術職員金森浩治 1. はじめに総合情報基盤センターでは 仮想サーバホスティングサービスや ソフトウェアライセンス貸与といった さまざまなエンドユーザ向けサービスを行っている 上記のよう

intra-mart FormatCreator Version6.1

Microsoft Word - koutiku-win.doc

(Microsoft PowerPoint - HP\227pWASABI\217\320\211\356\216\221\227\277.ppt)

2. 製品概要 IM-ERP リアルコネクトは SAP システム内のデータをリアルタイムに取得 更新するための API SAP リアルタイム連携 API を提供いたします またこれらの API を利用した業務テンプレートが同梱されています 各機能の詳細や設定方法に関しては 各マニュアルまたはセットア

LDAP Manager SupportList

Microsoft IISのWebDAV認証回避の脆弱性に関する検証レポート

OpenRulesモジュール

JPCERT/CC インターネット定点観測レポート[2014年7月1日~9月30日]

データベースアクセス

HULFT-DataMagic Ver2.2.0 製品対応OS

Microsoft Word JA_revH.doc

MxLogonサーバサイドツールキット用UI

1. 対象装置 (1) 日立仮想 Fibre Channel アダプタ 適用装置 : EP8000 7xx/S8xx/E8xx/S9xx 2. 仮想 FC アダプタドライバ来歴 この仮想 FC アダプタドライバは 次の機能拡張とバグ修正を含みます バージョン内容 新規追加 7

SOC Report

1. 対象装置 (1) 日立仮想 Fibre Channel アダプタ 適用装置 : EP8000 7xx 2. 仮想 FC アダプタドライバ来歴 この仮想 FC アダプタドライバは 次の機能拡張とバグ修正を含みます バージョン内容 新規追加 AIX ロ

SOC Report

延命セキュリティ製品 製品名お客様の想定対象 OS McAfee Embedded Control 特定の業務で利用する物理 PC 仮想 PC や Server 2003 Server 2003 ホワイトリスト型 Trend Micro Safe Lock 特定の業務で利用するスタンドアロン PC

Agenda 1. 今回のバージョンアップについて a. バージョンアップ概要 b. バージョンアップ目的 c. 新バージョンのシステム要件に関する注意事項 d. 現行バージョンのサポート期間 2. 対応プラットフォームの追加 3. 新機能の追加および機能強化 2

内容 Visual Studio サーバーエクスプローラで学ぶ SQL とデータベース操作... 1 サーバーエクスプローラ... 4 データ接続... 4 データベース操作のサブメニューコンテキスト... 5 データベースのプロパティ... 6 SQL Server... 6 Microsoft

BOM for Windows Ver

CloudEdgeあんしんプラス月次レポート解説書(1_0版) _docx

2. saccess saccess SQL SQL SQL saccess SQL SQL PHP 3. saccess saccess saccess Web *1 [5] saccess * saccess saccess, SQ

Microsoft Windows Internet Explorer は 米国 Microsoft Corporation の 米国およびその他の国における登録商標または商標です Linux は Linus Torvalds 氏の日本およびその他の国における登録商標または商標です Red Hat

PowerPoint プレゼンテーション

2.5 月のアクセスの状況 28 年 5 月のアクセス状況は 4 月と比べて若干減少しました これは主に Windows Messenger サービスを悪用してポップアップメッセージを送信するアクセスである 126/udp 127/udp および 128/udp などへのアクセスが減少したためです

二次元連続動的計画法による知的画像処理システム ImageFileSelector RTC 機能仕様書 ImageFileSelectorRTC Ver.1.0 ( 株 ) 東日本計算センター 1 / 11

ikeyドライバインストール手順書

スライド 1

Windows 10の注意点

intra-mart Accel Platform — OData for SAP HANA セットアップガイド   初版  

untitled

1. はじめに (1) 本書の位置づけ 本書ではベジフルネット Ver4 の導入に関連した次の事項について記載する ベジフルネット Ver4 で改善された機能について 新機能の操作に関する概要説明 ベジフルネット Ver4 プログラムのインストールについて Ver4 のインストール手順についての説明

PowerPoint プレゼンテーション

PostgreSQL Plus 管理者ガイド

MicrosoftVisualStudio.NET による ASP.NETWeb アプリケーションの開発 (#2334)(MP301)5 日間 () コースの概要 このコースでは VisualBasic.NETまたは C# プログラマで Web 開発の初心者が ASP.NETを使用して Web アプ

MultiLABELISTOCX と MultiLABELISTV4 MLOCX は MLV4 のレイアウト発行機能を継承しています したがって MLV4 の振分発行やプ リセット発行を使用するための登録情報は使用できません MLV4 のレイアウト管理でレイアウトを作成すると 拡張子が m lay

ログを活用したActive Directoryに対する攻撃の検知と対策

intra-mart ワークフローデザイナ

Microsoft Windows Internet Explorer は 米国 Microsoft Corporation の 米国およびその他の国における登録商標または商標です Linux は Linus Torvalds 氏の日本およびその他の国における登録商標または商標です Red Hat

— intra-martで運用する場合のセキュリティの考え方    

intra-mart EX申請システム version.5.4 提出依頼機能 リリースノート

目次 目次 準備いただくもの 準備 SQLServer2008 R2 ExpressEdition のインストール インストールの前に インストール 設定一覧 機

IM-SecureSignOn

Windows2000/XPインストール手順

マルウェアレポート 2018年1月度版

改版履歴 版数 改版日付 改版内容 /03/14 新規作成 2013/03まで製品サイトで公開していた WebSAM DeploymentManager Ver6.1 SQL Server 2012 製品版のデータベース構築手順書 ( 第 1 版 ) を本 書に統合しました 2

HeartCoreインストールマニュアル(PHP版)

OS の bit 数の確認方法 - Windows0 及び Windows8. Windows のコントロールパネルを開きます Windows0 の場合 スタート から Windows システムツール の コントロールパネル をクリックします Windows8. の場合 スタート から PC 設定

現象 3 仮想マシン起動時に イベントログ ( システムログ ) に以下の警告イベントが登録される 種類 : 警告ソース :VMSMP イベント ID:27 " 任意の仮想マシン名 " のネットワーキングドライバーが読み込まれましたが サーバーからの別のバージョンが含まれています サーバーバージョン

有償オプションの動作環境の追加 3.1. Video+ 型コンテンツの教材作成クライアントの動作環境に下記のソフトウェアを追加しました Microsoft PowerPoint レスポンシブデザイン受講機能の受講者クライアントの動作環境に下記の OS と Web ブラウザを追加し

URoad-TEC101 Syslog Guide

サーバセキュリティサービスアップグレード手順書 Deep Security 9.6SP1 (Windows) NEC 第 1 版 2017/08/23

目次 1. 本書の役割 Windows Agent サポート OS とエディション サポート言語 Agent 稼働前提条件 Azure SDK リリース済み Windows Agent のサポート

この時お使いの端末の.ssh ディレクトリ配下にある known_hosts ファイルから fx.cc.nagoya-u.ac.jp に関する行を削除して再度ログインを行って下さい

ESET Mobile Security V4.1 リリースノート (Build )

NOSiDEパンフレット

システムインテグレータのIPv6対応

クライアント証明書導入マニュアル

mylittleadmin for SQL Server 2005 mylittleadmin for SQL Server 2005 Installation Guide version 3.1 ( インストールガイド日本語版 ) 目次 概要... 2 インストール要件... 2 インストールと設

セットアップマニュアル

注意事項 本文書は 2014 年 10 月 15 日時点で公開されている脆弱性情報にもとづいて作成されています 脆弱性の影響を受ける条件 改善策及び回避策等は公開情報をもとに記載しており 今後新 たに公開される情報により変更される可能性がありますのでご注意ください 目 次 1. 脆弱性の概要...

目次 1. はじめに Kaspersky Security Center 10 に関する注意事項 インストール前 動作環境 Kaspersky Security Center 9.x から Kaspersky Securit

1.indd

GHS混合物分類判定システムインストールマニュアル

HotFixInfo_ xls

Red Hat Enterprise Linux 6 Portable SUSE Linux Enterprise Server 9 Portable SUSE Linux Enterprise Server 10 Portable SUSE Linux Enterprise Server 11 P

ESET Mobile Security V3.6 リリースノート (Build )

Transcription:

PostgreSQL と OS Command Injection N T T コ ミ ュ ニ ケ ー シ ョ ン ズ株式会社 ソ リ ュ ー シ ョ ン サ ー ビ ス 部 第四エンジニアリング部門 セキュリティオペレーション担当 2011 年 10 月 14 日 Ver. 1.0

1. 調査概要... 3 2. POSTGRESQL を使った WEB アプリケーションでの OS COMMAND INJECTION... 3 2.1. POSTGRESQL を使った WEB アプリケーションの SQL INJECTION 問題を経由した OS COMMAND INJECTION... 3 3. まとめ... 13 4. 検証作業者... 13 5. 参考... 14 6. 履歴... 14 7. 最新版の公開 URL... 14 8. 本レポートに関する問合せ先... 14 2

1. 調査概要 Microsoft SQL Server を使った Web Application 上の SQL Injection からの OS Command Injection については 多数の文献があるが PostgreSQL を使った場合についての文献は皆無のため ここにその方法 および制限事項等について記述する 2. PostgreSQL を使った Web アプリケーションでの OS Command Injection 2.1. PostgreSQL を使った Web アプリケーションの SQL Injection 問題を経由した OS Command Injection 現在の多くの Web アプリケーションには バックエンドにデータベースを配置している データベースとして PostgreSQL を使用した場合でも Web アプリケーションに不備があれば SQL Injection という脆弱性は存在してしまう Microsoft SQL Server の場合 Web アプリケーションがデータベース (MS-SQL Server) に対して DBMS 管理者権限で接続している場合 MS-SQL Server に事前に用意されている拡張ストアドプロシージャによって OS Command Injection を含め 非常に多岐にわたる不正アクセスによる行動を許してしまう それでは PostgreSQL の場合はどうであろうか PostgreSQL の SQL 文では マルチプル ステートメントが可能であるため SQL 文の最初の命令 (SELECT や INSERT など ) 自体が 注入可能である よって SQL Injection 脆弱性のある Web アプリケーションが仮に DBMS 管理者権限 ( つまり ユーザ postgres ) で接続している場合 CREATE FUNCTION コマンドを発行することが可能となる この CREATE FUNCTION コマンドとは ユーザ定義のライブラリ ( 拡張子.so などの動的共有ライブラリ ) を SQL 文の関数として定義する関数である いわゆる UDF を SQL 文の関数として組み込む命令である 一般的には UDF として ユーザ自身が C 言語などでプログラムを作成し登録するための SQL 命令であるが C 言語標準のライブラリにある system 関数を定義すれば OS Command を実行させることができる C 言語標準の system 関数は 一般に glibc (OS によりパスが異なるが ) に実装されているので それを CREATE FUNCTION コマンドで登録するのである ただし この方法には いくつか制限がある PostgreSQL は OS 上では 一般ユーザで動作しているため OS Command Injection で実行できる OS Command の権限は 一般ユーザ権限である (MS-SQL Server の場合 SYSTEM 権限や Administrators グループなど高い権限 ) 筆者の感覚として 現実的に PostgreSQL を使った Web アプリケーションで DBMS 権限 ( ユーザ postgres ) を使っていない つまり PostgreSQL を使って Web アプリケーションで DBMS 権限 ( ユーザ postgres ) を使っているのは希少である 3

最近の PostgreSQL では マクロ変数 PG_MODULE_MAGIC が定義されていない共有ライブラリは CREATE FUNCTION コマンドでロードすることができない ( どうやら PostgreSQL の UDF のインターフェイスの仕様変更 ( バージョンアップ ) に伴い どちらの仕様の UDF かを区別するために導入されたマクロ変数らしい 1 ) つまり 最近の PostgreSQL では glibc を直接ロードさせることができない 最近の Web アプリケーションで PostgreSQL8.2 未満という古いバージョンを利用している可能性は低い 図 2.1-1 : 既にこのページに SQL Injection 脆弱性が存在し PostgreSQL が背後のデータベースであり そのバージョンを表示させる 図 2.1-2 : 図 2.1-1 の結果 PostgreSQL ver7.4.28 である 1 version8.2 リリースノートより バージョン互換性検査のために C 言語による動的ロード可能なモジュールが PG_MODULE_MAGIC マクロ呼び出しをインクルードしなければならなくなりました 4

図 2.1-3 : 少し古いPostgreSQLの場合 SQL Injectionするコードとして CREATE FUNCTION systemexec12(name) RETURNS integer AS '/lib/libc.so.6','system' LANGUAGE C STRICT を与えることで /lib/libc.so.6 内の system 関数をSQLの関数として定義することが可能だ ( 専用のUDFを作る必要さえない!!) 図 2.1-4 : 図 2.1-3 の結果 5

図 2.1-5 : 図 2.1-4 で関数定義が行われたので 次は実際にコマンドを実行してみる その前に PostgreSQL が動作している CentOS 上の /tmp/ 以下に zz12.txt がないことを確認しておく 図 2.1-6 : 図 2.1-5 後 ifconfig > /tmp/zz12.txt を実行させてみる 6

図 2.1-7 : 図 2.1-6 の結果 1 図 2.1-8 : 図 2.1-6 の結果 2 実際に /tmp/zz12.txt が作成された 7

図 2.1-9 : 図 2.1-6 の結果 3 図 2.1-8 で見つかった /tmp/zz12.txt の内容 ifconfig の実行結果である 図 2.1-10 : Linux 上で OS Command となれば bash しかないでしょう ということで bash の仮想ネットワークファイルを使った擬似 netcat を試みる ( いくつかのディストリビューションでは無効化されている機能である ) 今回は IDS への検知が行い難いように あえて TCP を二本使ってみる 8

図 2.1-11 : 図 2.1-10の結果 クライアント側 PCに接続が行われ クライアント側ポート 91 の接続側で入力したコマンドが PostgreSQLが動作しているOS 上で実行され クライアント側ポート 90 の接続側で実行結果が出力されている (idの結果から 一般ユーザ権限であることが分かる) 図 2.1-12 : TCP 接続を一本で行うことも可能だ 9

図 2.1-13 : 図 2.1-12 の結果 図 2.1-14 : 図 2.1-3~ 図 2.1-13 までの作業が終了したら 関数定義を削除しておこう 10

図 2.1-15 : さて 最近とはいっても少し古い感じがあるが 図 2.1-1~ 図 2.1-14 よりは 新しい PostgreSQL に対して 同様の試みをしてみる 図 2.1-16 : 図 2.1-15 の結果 PostgreSQL version8.4.8 である 11

図 2.1-17 : 図 2.1-16 に対して CREATE FUNCTION コマンドを使って /lib/libc.so.6 をロードさせてみる 図 2.1-18 : 図 2.1-17 の結果 1 エラーとなっている 12

図 2.1-19 : 図 2.1-17 の結果 2 コンソール側に表示されたエラーメッセージ PG_MODULE_MAGIC マクロ変数が定義されていないライブラリはロードできない というエラーメッセージである 3. まとめ 基本的に Web アプリケーションに SQL Injection 脆弱性が存在しなければ 本文書で解説した内容を悪用される心配はない 4. 検証作業者 NTT コミュニケーションズ株式会社ソリューションサービス部第四エンジニアリング部門セキュリティオペレーション担当佐名木智貴 13

5. 参考 1. セキュア Web プログラミング Tips 集 ( 出版社 : 株式会社ソフト リサーチ センター ) ISBN=978-4883732562 2. ウェブアプリケーションセキュリティ ( 出版社 : データハウス ) ISBN=13: 978-4887189409 3. 体系的に学ぶ安全な Web アプリケーションの作り方脆弱性が生まれる原理と対策の実践 ( 出版社 : ソフトバンククリエイティブ ) ISBN=13:978-4797361193 4. 日本 PostgreSQL ユーザ会 http://www.postgresql.jp/ 5. version8.2 リリースノート http://www.postgresql.jp/document/pg911doc/html/release-8-2.html 6. 川口洋のセキュリティ プライベート アイズ ~ 実録 4 大データベースへの直接攻撃 ~ http://www.atmarkit.co.jp/fsecurity/column/kawaguchi/025.html 7. OWASP Backend Security Project Testing PostgreSQL https://www.owasp.org/index.php/owasp_backend_security_project_testing_pos tgresql 6. 履歴 2011 年 10 月 14 日 : ver1.0 最初の公開 7. 最新版の公開 URL http://www.ntt.com/icto/security/data/soc.html#security_report 8. 本レポートに関する問合せ先 NTT コミュニケーションズ株式会社ソリューションサービス部第四エンジニアリング部門セキュリティオペレーション担当 e-mail: scan@ntt.com 以上 14