SQLインジェクション

情報セキュリティ > 脆弱性・攻撃手法 > インジェクション攻撃 > SQLインジェクション

SQLインジェクション: SQL injection)とは、アプリケーションセキュリティ上の不備を意図的に利用し、アプリケーションが想定しないSQL文を実行させることにより、データベースシステムを不正に操作する攻撃方法のこと。また、その攻撃を可能とする脆弱性のことである。

SQLに別のSQL文が「注入 (inject)」されることから、「ダイレクトSQLコマンドインジェクション」もしくは「SQL注入」と呼ばれることもある。

原理

アプリケーションが入力値を適切にエスケープしないままSQL中に展開することで発生する。

次のようなSQLを発行することを考える。

SELECT * FROM users WHERE name = '(入力値)';

ここで入力値に "t' OR 't' = 't" という文字列を与えた場合を考えると、SQL文は次のように展開される。

SELECT * FROM users WHERE name = 't' OR 't' = 't';

このSQL文では条件が常に真となるため、nameカラムの値にかかわらず、全レコードが選択される。このような攻撃は、入力値が1つだけのものには限られない。

これを応用したものに、SELECTの条件式にデータベース内の情報を確認するようなサブクエリーを含ませ、その抽出の成否によって本来参照することのできないテーブル名などのデータベース内の情報を知るといった、ブラインドSQLインジェクションと呼ばれる手法も存在する[1]。例えば、「テーブル名の1文字目がaのテーブルは存在するか?」「aで始まり2文字目がbのテーブルは存在するか?」などの情報を確認するサブクエリーを含め、その抽出の成否を丹念に集めていけば、テーブル名や項目名を確認できる。

また、複数のSQL文を注入することによるデータの破壊や改竄、ストアドプロシージャを実行されることによる情報の漏洩や改竄、OSコマンドの実行などを引き起こすこともできる場合がある。

SQLインジェクションは、入力値を適切にエスケープすることで防ぐことができる。上述の文字列中への展開では、メタ文字 ''' (単一引用符2つ)にエスケープすることにより、次のようなSQLになり、意図されたとおりnameカラムが "t' OR 't' = 't" という値を持つレコードが選択される。

(単一引用符を2回連続して記述すると、ひとつの ' という文字リテラルとして認識される。)

SELECT * FROM users WHERE name = 't'' OR ''t'' = ''t';

ただし、データベースシステムによっては、単一引用符以外の囲み文字を用いて文字列リテラルを示すことができるものが存在する。例えば、MySQLでは動作モードによっては二重引用符を文字列の囲み文字として使用可能である[2]。このような環境下で、上記のようなSQL文の生成を行うプログラム中で二重引用符を囲み文字を用いているなら、二重引用符をエスケープする必要がある。

他には、文字列リテラル中の単一引用符を表現する方法が複数存在するものもある。例えばMySQLやPostgreSQLのバージョンや設定次第では、エスケープ文字としてバックスラッシュを使用して特殊文字を表現することが可能である。この方法を用いると \'\047 (注:047は単一引用符の8進表記)という文字列が文字列リテラル中の単一引用符を表すことになる。このようなデータベースシステムでは、単純に単一引用符を二重化するだけではSQLインジェクション対策としては不充分である。例えば入力値に "\' OR 1=1 --" という文字列を与え、そこに含まれる単一引用符を単純に二重化すると、上述のSQLは以下のように解釈される。

SELECT * FROM users WHERE name = '\'' OR 1=1 --';

二重化された単一引用符のうち、前者は前置されたバックスラッシュと合わさって文字列リテラル中の単一引用符を意味することになり、後者は文字列リテラルの終端を意味することになる。ここで -- 以降がコメントと見なされれば、このSQLの条件は常に真となり、SQLインジェクションが成立することになる。つまり、バックスラッシュもエスケープを必要とする。

更には、文字コードによっては2バイト目にバックスラッシュが含まれる文字を有するものが存在し、エスケープ処理を行うライブラリによっては日本語をうまく扱えないために、前述のようなエスケープシーケンスとしてバックスラッシュが機能することもありえる。データベースにSQLを発行する言語側の事情により、文字コード変換が自動的に発生することに伴って、前述のようなエスケープシーケンスとしてバックスラッシュが機能することもありえる[3]

対策

全般的な対策

言語毎に用意されたバインド機構の利用

SQLインジェクションを防ぐには、入力値を適切にエスケープできればよい。しかしながら、前節に挙げたように、入力値を適切にエスケープすることは、それほど単純に行えるわけではない。データベースシステムやライブラリによっては、バインド機構と呼ばれる仕組みを用いてエスケープ処理不要で安全にSQLを発行する方法が設けられているものがあり、対策もれを防ぐ上で有用である。

実例

SQLインジェクションが発生した実例を年別に挙げる。年は発生もしくは判明時点とする。

2005年

  • 2005年3月に発生した、クラブツーリズムクレジットカード情報を含む個人情報漏洩
    同年6月にクラブツーリズムを含む14社への不正アクセスの疑いで中国人留学生が逮捕された。
  • 2005年5月に発生した、価格.comウェブサイト改竄
    手口は公表されていないが、SQLインジェクションによるものであるという説がある。クラブツーリズム事件の犯人は価格.comへの不正アクセスも行っていた。
  • 2005年6月に判明した、アデコの個人情報漏洩 - クラブツーリズム事件と同一犯
  • 2005年8月に判明した、静岡新聞社アットエスの個人情報漏洩 - クラブツーリズム事件と同一犯
  • 2005年11月に発生した、ワコールオンラインショップのクレジットカード情報を含む個人情報漏洩
  • 2005年11月に発生した、キッズオンラインのアカウント情報漏洩

2006年

  • 2006年1月に判明した、スカイソフトのクレジットカード情報を含む個人情報漏洩
    スカイソフトは閉店へと追い込まれた。
  • 2006年4月に発生した、るるぶのアカウント情報漏洩
  • 2006年6月に発生した、日本体育協会のウェブサイト改竄

2007年

  • 2007年7月にクレジットカード会社からの調査依頼を受け判明した、@SOLAショップ(運営:丸紅インフォテック、現・シネックスジャパン、委託先:トランスコスモス)のクレジットカード情報を含む個人情報漏洩[4]

2008年

2010年

2011年

2013年

  • 2013年4月に判明した、エクスコムグローバルのクレジットカード情報漏洩
    10万9112件のカード名義人名、カード番号、カード有効期限、セキュリティコード、申込者住所が外部へ流出したことを確認。

2008年3月頃より、SQLインジェクションによるウェブサイトの改竄が多発している[6]

情報が流出した場合には企業存続の危機につながりかねない。情報処理推進機構 (IPA) はSQLインジェクションによる被害からの復旧コストは1億円を超えうるとしており[7]、実際にサウンドハウスの事例では補償のみでも122,884名に1,000円相当の期限付きクレジットを負担している。補償のほかにも専門家による調査、システムの入れ替え、顧客対応、一時閉鎖による営業機会の逸失、風評被害といった負担があり、SQLインジェクションも含めセキュリティ対策は厳密に行うべきである。

NRIセキュアが企業を対象に2007年度に行ったセキュリティ診断の統計では、41%のウェブサイトが不正アクセス可能であり、そのうち22%でSQLインジェクション攻撃に対する脆弱性があった[8]。また、この統計で、SQLインジェクションの脆弱性のうち84%が、対策は行っていたが抜け穴が存在した。

脚注

出典

  1. ^ Blind SQL Injection white paper”. 2011年7月6日閲覧。
  2. ^ MySQL 5.1 Reference Manual - 9.1.1 String Literals”. 2014年12月8日閲覧。
  3. ^ 異なる文字集合への変換がぜい弱性につながる”. 2011年7月6日閲覧。
  4. ^ 増田覚 (2007年12月12日). “丸紅インフォのカード情報漏洩、原因はSQLインジェクション対策の不備”. INTERNET Watch (インプレス). https://internet.watch.impress.co.jp/cda/news/2007/12/12/17844.html 2020年11月4日閲覧。 
  5. ^ 不正アクセスによるお客様個人情報漏洩のお詫びとご報告 コーエーテクモホールディングス株式会社 2010年7月20日。
  6. ^ JPCERT / CCによる注意喚起
  7. ^ Internet Watch - SQLインジェクションの復旧コスト、1億円超える事例も~IPAが報告書、2006年11月29日。
  8. ^ NRIセキュア - Webサイトのセキュリティ診断:傾向分析レポート2008、2008年7月28日。

関連項目

外部リンク

Read other articles:

Maude GeorgeMaude George, awal 1920anLahir(1888-08-15)15 Agustus 1888Riverside, California, Amerika SerikatMeninggal10 Oktober 1963(1963-10-10) (umur 75)Sepulveda, California, Amerika SerikatPekerjaanPemeranTahun aktif1915-1929 Maude George (15 Agustus 1888 – 10 Oktober 1963) adalah seorang pemeran Amerika Serikat pada era film bisu. Ia tampil dalam 59 film antara 1915 dan 1929. Sebagian filmografi Langdon's Legacy (1916) The Silent Battle (1916) The Beckoning Trail...

 

Al HarisPotret resmi Al Haris, 2021 Gubernur Jambi ke-10PetahanaMulai menjabat 7 Juli 2021PresidenJoko WidodoWakilAbdullah Sani PendahuluFachrori UmarSudirman (Plh.)Hari Nur Cahya Murni (Pj.)PenggantiPetahanaBupati Merangin ke-14Masa jabatan6 Agustus 2013 – 7 Juli 2021WakilAbdul KhafidMashuri PendahuluNalimPenggantiMashuriKetua umum Asosiasi Pemerintah Provinsi Seluruh Indonesia Ke-8PetahanaMulai menjabat 2 Oktober 2023PresidenJoko Widodo PendahuluIsran Noor(Gub...

 

Le Monde diplomatiqueLogoStato Francia Linguafrancese, italiano PeriodicitàMensile GenereStampa nazionale Formatoberlinese FondatoreHubert Beuve-Méry e François Honti Fondazione1954 SedeParigi EditoreLe Monde Diplomatique SA DirettoreBenoît Bréville ISSN0026-9395 (WC · ACNP), 1950-6260 (WC · ACNP) e 2491-5866 (WC · ACNP) Sito webwww.monde-diplomatique.fr/   Modifica dati su Wikidata · Manuale Le Monde diplomatique è un giornale mensile francese di i...

Monsters UniversityBerkas:Monsters University.jpgPoster bioskopSutradaraDan ScanlonProduserKori RaeSkenarioDaniel GersonRobert L. BairdDan Scanlon[1]CeritaDaniel GersonRobert L. BairdDan ScanlonPemeranBilly CrystalJohn GoodmanSteve BuscemiPenata musikRandy NewmanSinematograferMatt AspburyJean-Claude KalachePenyuntingGreg SnyderPerusahaanproduksiWalt Disney PicturesPixar Animation StudiosDistributorWalt Disney Studios Motion PicturesTanggal rilis 5 Juni 2013 (2013-06-05) ...

 

American Christian ska and swing revival band W's redirects here. For the Latin character, see W. For other uses, see WS and W (disambiguation). The W'sThe W's circa 1998Background informationOriginCorvallis, Oregon, U.S.GenresChristian skaswingYears active1996–2000LabelsFive Minute WalkPast members Andrew Schar Brian Morris Valentine Hellman Bret Barker Todd Gruener James Carter Peter Kelly Zak Shultz Courtney Stubbert The W's were a Christian ska and swing revival band, formed in Corvalli...

 

The Price of Salt Berkas:PriceOfSalt.JPGEdisi pertamaPengarang Patricia Highsmith Claire Morgan (nom de plume) NegaraAmerika SerikatBahasaInggrisGenreNovelDiterbitkan1952PenerbitCoward-McCann, W. W. Norton & Company (2004)Jenis mediaCetak (sampul keras & sampul kertas)Halaman276 hlm (ed. sampul keras)292 hlm (ed. sampul kertas, 2004)ISBNISBN 978-0-393-32599-7 (ed. 2004)OCLC1738553LCCPZ3.H53985 Pr(LCCN 52008026) The Price of Salt (kemudian diterbitkan ulang dengan judul Carol) ada...

Catholic seminary in Weston, Massachusetts Pope St. John XXIII National Seminary in Weston, Massachusetts Pope St. John XXIII National Seminary (formerly Blessed John XXIII National Seminary) is a Roman Catholic seminary in Weston, Massachusetts. It offers a graduate-level program designed for priesthood candidates aged 30 and above, often called second-career vocations or delayed vocations.[1] Founded by Boston Archbishop Richard Cardinal Cushing in 1964, the seminary was chartered b...

 

American technology executive (born 1967) John HankeHanke at the 2016 San Diego Comic-Con InternationalBorn1967 (age 56–57)Cross Plains, TexasAlma materUniversity of California, BerkeleyUniversity of Texas at AustinOccupation(s)Businessman and entrepreneurKnown forKeyhole, Inc., Google Earth, Niantic, Inc., Pokémon Go John Hanke (born 1967) is an American technology executive. Hanke led Google's Geo product division, which includes Google Earth, Google Maps, StreetView, ...

 

M. Jamin Idham Bupati Nagan Raya ke-2Masa jabatan9 Oktober 2017 – 9 Oktober 2022PresidenJoko WidodoGubernurIrwandi YusufNova IriansyahWakilChalidin OesmanPendahuluTeuku ZulkarnainiPenggantiFitriany Farhas (Pj.)Wakil Bupati Nagan Raya ke-2Masa jabatan8 Oktober 2012 – 8 Oktober 2017PresidenSusilo Bambang YudhoyonoIrwandi YusufGubernurZaini AbdullahIrwandi YusufBupatiTeuku ZulkarnainiPendahuluMuhammad Kasim IbrahimPenggantiChalidin Oesman Informasi pribadiLahir2 Agu...

Sampul Presence adalah album ketujuh Led Zeppelin. Daftar lagu Achilles Last Stand – 10:25 For Your Life – 6:20 Royal Orleans (Bonham/Jones/Page/Plant) – 2:58 Nobody's Fault But Mine – 6:27 Candy Store Rock – 4:07 Hots on for Nowhere – 4:43 Tea for One – 9:27 Anggota Jimmy Page - gitar elektrik, produser Robert Plant - vokal dan harmonika John Paul Jones - 4,5 and 8 string Bass Guitars. John Bonham - Drums and Percussion Artikel bertopik album ini adalah sebuah rintisan. Anda da...

 

Organised rescue of Jewish children during the Holocaust For the play by Diane Samuels, see Kindertransport (play). Young refugees of the first Kindertransport after their arrival at Harwich, Essex, in the early morning of 2 December 1938 Jewish refugee children on their arrival in London on the Warszawa 1939 issued Identity Document for travelling to the UK, used by a child on the Kindertransport Hope Square plaque The Kindertransport (German for children's transport) was an organised rescue...

 

习近平 习近平自2012年出任中共中央总书记成为最高领导人期间,因其废除国家主席任期限制、开启总书记第三任期、集权统治、公共政策与理念、知识水平和自述经历等争议,被中国大陸及其他地区的民众以其争议事件、个人特征及姓名谐音创作负面称呼,用以恶搞、讽刺或批评习近平。对习近平的相关负面称呼在互联网上已经形成了一种活跃、独特的辱包亚文化。 权力�...

This article does not cite any sources. Please help improve this article by adding citations to reliable sources. Unsourced material may be challenged and removed.Find sources: Government House, British Virgin Islands – news · newspapers · books · scholar · JSTOR (December 2009) (Learn how and when to remove this message) Old Government House, Road Town, Tortola Government House, located in Road Town, Tortola, is the official residence of the governor...

 

Canada-related events during the year of 1880 This article needs additional citations for verification. Please help improve this article by adding citations to reliable sources. Unsourced material may be challenged and removed.Find sources: 1880 in Canada – news · newspapers · books · scholar · JSTOR (October 2019) (Learn how and when to remove this message) ← 1879 1878 1877 1880 in Canada → 1881 1882 1883 Decades: 1860s 1870s 1880s 1890s 1...

 

Внутригородской посёлокМехзавод Дом культуры «Октябрь» 53°17′42″ с. ш. 50°16′51″ в. д.HGЯO Страна  Россия Субъект Федерации Самарская область Городской округ Самара Внутреннее деление кварталы и улицы История и география Основан 1938 год Внутригородской посёлок&#...

British sportsman John Charles ThringBorn(1824-06-11)June 11, 1824Alford, SomersetDiedOctober 3, 1909(1909-10-03) (aged 85)Dunmow, EssexNationalityEnglishOther namesJ. C. Thring, Charles ThringOccupation(s)Clergyman, teacherKnown forContribution to history of association footballNotable workThe Simplest GameParentsRev. John Gale Dalton Thring (father)Sarah Thring (née Jenkyns) (mother)FamilyTheodore Thring (brother)Henry Thring (brother)Godfrey Thring (brother)Edward Thring (b...

 

Isola d'ElbaVeduta aerea dell'isola d'ElbaGeografia fisicaCoordinate42°46′41.472″N 10°11′33.86″E42°46′41.472″N, 10°11′33.86″E ArcipelagoArcipelago toscano Superficie223 km² Altitudine massimaMonte Capanne1019 m s.l.m. Geografia politicaStato Italia Regione Toscana Provincia Livorno Comuni Portoferraio Campo nell'Elba Capoliveri Porto Azzurro Marciana Marciana Marina Rio DemografiaAbitanti31 904 (30-6-2019) Densità143,07 ab./km² Etnicoelbano...

 

Veduta Via di Camollìa è una strada di Siena, asse del Terzo di Camollia come prolungamento di via dei Montanini. Storia e descrizione Situata sull'antico percorso della via Francigena, si snoda in dolce pendenza e presenta numerosi edifici storici, soprattutto tre-quattrocentesci, trasformati nei secoli e di tono decisamente minore rispetto ad altre zone più centrali della città murata: tipicamente, infatti, i borghi più periferici erano abitati dal popolo minuto, operai e artigiani. V...

Frigate of the Royal Navy This article needs additional citations for verification. Please help improve this article by adding citations to reliable sources. Unsourced material may be challenged and removed.Find sources: HMS Loch Glendhu K619 – news · newspapers · books · scholar · JSTOR (December 2009) (Learn how and when to remove this message) Loch Glendhu in February 1945 History United Kingdom NameHMS Loch Glendhu NamesakeLoch Glendhu Ordered...

 

Manned submersible incident in which two divers died Johnson Sea Link accidentDateJune 17, 1973 (1973-06-17)LocationOff Key WestCauseEntangled submersibleParticipantsArchibald Menzies, Robert Meek, Edwin Clayton Link, Albert Dennison StoverOutcomeSuccessful rescue of Menzies and Meek; recovery of bodies of Link and Stover The Johnson Sea Link accident was a June 1973 incident that claimed the lives of two divers. During a seemingly routine dive off Key West, the submersible Joh...