SCAN DISPATCH :「脆弱性は開発者の責任」−SANS Instituteらが調達基準案を発表
SCAN DISPATCH は、アメリカのセキュリティ業界及ハッカーコミュニティから届いたニュースを、狭く絞り込み、深く掘り下げて掲載します。
国際
海外情報
2010版の「CWE/SANS最も危険な25のプログラミング・エラー」リストが発表された。このリストは去年初めて発表されたもので、今年はNSAの指導下、米国国土安全保障省の国立サイバー・セキュリティ局(NCSD:National Cyber Security Division)が資金提供、Red Hat、Symantec、McFee、Microsoft、Sun、OWASP、Oracleなど30以上の団体の協力を得て、SANS InstituteとMitre Corpがまとめている。
日本の情報処理推進機(IPA)からも、セキュリティセンター、情報セキュリティ技術ラボラトリー研究員の寺田真敏氏が貢献している。
このリストは、「最も危険度が高く、頻繁に目にするプログラミングのエラー」で、「攻撃者がソフトウェアを乗っ取ったり、データの盗難やソフトウェアの(非権限の)作動を阻止を招くような」「重要なソフトウェアの脆弱性につながるもの」をリストしている。Web Application Security Consortiumの創設者であるRobert Auger氏によれば、「このリストは、ソフトウェア製品からセキュリティの欠陥を除去するのに便利なガイドラインになる」もので、リストの趣旨にも「このリストはソフトウェアを出荷する前に、最もありがちなミステイクを認識してこれを未然に防ぐことができるよう、プログラマーの教育に使用できるツールとなる」とある。
リストの構造は、トップ25のバグを除去、あるいはその危険度を軽減するための「ミティゲーション」と、「一般的なセキュア・プログラミング基準」とを別の章にわけていることが去年よりも使い勝手をあげている。。ミティゲーションの章では、「モンスター・ミティゲーション」という、トップ25のバグを完全に除去する際に手助けとなる方法がひとまとめになっており、デベロッパーにとってはありがたいだろう。
また、セキュリティー初心者プログラマー、セキュリティ・プロのプログラマー、ソフトウェア・プロジェクト・マネージャー、ソフトウェア・テスター、ソフトウェアの顧客などユーザ別に、このリストをどのように使えばいいかも記されている。
トップ25のバグは以下。
RankScoreIDName
[1]346CWE-79 Failure to Preserve Web Page Structure ('Cross-site Scripting')
[2]330CWE-89 Improper Sanitization of Special Elements used in an SQL Command ('SQL Injection')
[3]273CWE-120 Buffer Copy without Checking Size of Input ('Classic Buffer Overflow')
[4]261CWE-352 Cross-Site Request Forgery (CSRF)
[5]219CWE-285 Improper Access Control (Authorization)
[6]202CWE-807 Reliance on Untrusted Inputs in a Security Decision
[7]197CWE-22 Improper Limitation of a Pathname to a Restricted Directory ('Path Traversal')
[8]194CWE-434 Unrestricted Upload of File with Dangerous Type
[9]188CWE-78 Improper Sanitization of Special Elements used in an OS Command ('OS Command Injection')
[10]188CWE-311 Missing Encryption of Sensitive Data
[11]176CWE-798 Use of Hard-coded Credentials
[12]158CWE-805 Buffer Access with Incorrect Length Value
[13]157CWE-98 Improper Control of Filename for Include/Require Statement in PHP Program ('PHP File Inclusion')
[14]156CWE-129 Improper Validation of Array Index
[15]155CWE-754 Improper Check for Unusual or Exceptional Conditions
[16]154CWE-209 Information Exposure Through an Error Message
[17]154CWE-190 Integer Overflow or Wraparound
[18]153CWE-131 Incorrect Calculation of Buffer Size
[19]147CWE-306 Missing Authentication for Critical Function
[20]146CWE-494 Download of Code Without Integrity Check
[21]145CWE-732 Incorrect Permission Assignment for Critical Resource
[22]145CWE-770 Allocation of Resources Without Limits or Throttling
[23]142CWE-601 URL Redirection to Untrusted Site ('Open Redirect')
[24]141CWE-327 Use of a Broken or Risky Cryptographic Algorithm
[25]138CWE-362 Race Condition
さて、このトップ25のリストと同時に発表されたのが、「アプリケーションセキュリティ調達基準」案。この案と上記トップ25のバグリスト、そして、日本でも2008年から開始されているGSSP(GIAC Secure Sofware Programmer)試験が、ソフトウェアのセキュリティを確保するイニシアチブの三本の柱となっているそうだ。
「アプリケーションセキュリティ調達基準」案は、
※本記事は有料購読会員に全文を配信しました
【執筆:米国 笠原利香】
《ScanNetSecurity》