Upgrade to Pro — share decks privately, control downloads, hide ads and more …

aws_key_expose

yoya
November 27, 2015
3k

 aws_key_expose

AWSうっかり事故の体験と教訓

yoya

November 27, 2015
Tweet

Transcript

  1. 自己紹介 •  セキュリティに甘いプログラマです。。。   •  Flash  や画像のバイナリ周りで仕事してました   –  h;ps://osdn.jp/users/yoya/

      –  h;ps://github.com/yoya/   •  株式会社awmの代表   –  ひとり会社   –  受託オンリー (お仕事募集中)   –  (aws と似てるのは偶然ながら勝手に御縁を感じます)   twi;er_id:  yoya  
  2. 初めにことわり •  記事に「AWSへの不正アクセス」とあるが   •  AWS  自体が不正アクセスされた訳ではない   •  アクセス権限を自分で外に漏らし

      •  それが第三者に使われただけ   •  単に自分の間抜けです   –  何かしら教訓が見いだせれば良いのですが。。   •  「AWS 怖くない」という温度感を伝えたい   –  実際どうなるかという防災訓練的なノリで聞いてください  
  3. 何が起こったか 公開サイト     secret_key AWS     漏洩 発見

    不正利用 EC2 自分 第三者 恐らくBitCoin採掘 殆どCPU課金で   ネットワーク殆ど使わず
  4. もう少し具体的な状況 •  試行錯誤でAWS勉強 2014年1月   access_key  /   secret_key  

    動いた! AWS   S3 公開サイト *  s3get.php   use  Aws\Common\Aws;   $aws  =  Aws::factory('awsconf.json');   $client  =  $aws-­‐>get('S3');     *  awsconf.json   {  "key":  ”A1234567",   "secret":  ”A1234567+O9876543"}   2015年3月   (無邪気に)   サンプル投稿   カモ発見   EC2を全力利用  
  5. 敗因 •  S3  用にアクセスキーを利用していて、アクセス キーがルート権限という意識がなかった   –  そのアクセスキーで AWS  管理含め何でも出来るとい

    うのも気づかなかった   •  (アカウント削除以外何でもできるらしい)   •  次の日にアクセスキーを隠して整理したブログを 投稿してたので、すっかり忘れてた   •  検証で二週間使った後、丸一年AWSを触ってな くて、見直す機会もなかった  
  6. サポートやりとり時系列 自分 Amazonさん 3/7   2015年   3/10   3/11

      3/12   免除検討   Key  expose   不正アクセス   免除願い   3/17   利用してない   機能を落とす 3/31   免除   しました   色々な   指示 3/25   3/30   気付かず   (経過報告)   ありがとうございます!
  7. 3月7日にメール通知 •  警告のメールが届いたのに気付かず。。 From:  no-­‐reply-­‐[email protected]   Subject  Acdon  required:  Suspected

     fraudulent  acdvity  in  your  AWS  account  <略>     Hello,     Your  security  is  important  to  us.       We  recently  became  aware  that  your  AWS  Access  Key  A<略> along  with  your   Secret  Key  could  have  been  exposed.       In  order  to  fully  secure  your  AWS  account  and  resolve  this  ma;er,  you  must  DELETE   the  exposed  credendals  and  take  steps  to  prevent  any  new  credendals  from  being   published  in  this  manner  again.     <略>  
  8. 3月10日,11日に電話連絡 •  「アメリカ合衆国」              

       から着信   •  心当たりなし      (英語聞き取れない)         •  “I  can  speak  japanese”        で日本語話者に        掛け直して貰う  
  9. リージョン •  南米(サンパウロ)で         悪さされてました    Largex8  が20台位全力でブン回り

        あまり使わないリージョンという事   隠れ蓑っぽく使われてる?     機能とリージョンの   組み合わせを把握するの大変
  10. 利用していない機能を落とす •  自分は当日AWSを全然利用してなかったの で、とにかく手当たり次第削除   – EC2  インスタンス   – スポットリクエスト  

    – リザーブドインスタンス   – EBSボリューム   – ネットワーク関連諸々   (検証で一通り触ってゴミ掃除してなかった)     後でインスタンスが   立ち上がるかも   しれない
  11. その他の対応 •  クレジットカードを止めるかどうか   – 不正利用としてクレジットカード自体を止めるか   – とめなかった。勉強代として払う覚悟で   •  AWS

     さんの不正ではないので話がおかしくなるし   – (知人からお金を貸してくれるという申し出もあっ て有難かった)   •  SECRET_KEY  を無効にしたとはいえ、Google検 索で引っかかると恥ずかしい   – 検索で見つけたページのインデックス削除申請
  12. 教訓と対策 •  (今回関係ないけど)  MFA  をかけた方が安心 できる。   •  アクセスキーでたまに検索して確認すると良 いかも。(SECRET

     自体で検索するとサジェスト に入るかもしれないので  ACCESSキーの方)   •  そもそもルート権限のアクセスキーを作らな い   •  IAM  ロールを活用しよう   •  ビリングアラートを設定しよう