1001001

73。CTFのWrite-upや備忘録を書きとめたいです。

CEHv9の和文の試験に合格した

Certified Ethical Hacker (以下,CEH)という試験を受験して合格しました. せっかくなので感想や勉強法について記載したいと思います.

はじめに

CEHとは

詳細は割愛しますが,

  • クラッカーが使うものと同じ技術やツールについての知識を学ぶ
  • それらを攻撃ではなく防御に活かそうという思想を持つ

という資格です.この思想がCertified Ethical Hacker (認定ホワイトハッカー)という名前の所以です.

CEHはEC-Councilという組織が提供する試験・資格です.受験には最低2年のセキュリティ分野での実務経験が必要になります.しかし,特定の講座を受講し,修了証をもらうことでこの条件をパスできます.(私は今年1年目なのでこの方法を使いました.和文のテキストを使った日本語の講座です.受験費用含め60万かかるので自費だったら厳しかったです...)

試験の概要と問題

試験は,4時間で選択式の問題を125問を解き,正当率が70%を超えれば合格です.30問以上も間違えることができます.(言い方が悪い.) 結構過去問と同じ問題が出ます.ただ今後試験がv9からv10になるので変化する可能性はあります.

また,これは海外の試験ですが,最近和文の試験が追加されました.私はその和文試験を受験しました.ただ,講座や試験は日本語テキスト・和文で受けられるのですが,(現時点では)問題集や参考書に和文のものは存在しないので,模擬試験は英文で行うことになります.

問題の内容としては,7~8割くらいがツールや攻撃手法の問題で,残りは法律やセキュリティマネジメントに関する問題です.(体感です.正確な値ではありません.)

勉強してみた,受験してみた感想

勉強はかなり楽しかったです.EC-Councilが定めるハッキングの段階に沿って,そのハッキングに使う技術やツール,ペンテスト手法を学ぶことができました.

受験の感想ですが,個人的な意見では,選択式の問題しか無い分,旧セキュスペ等より簡単だと感じました.ただ難易度は得意不得意によって判断基準がかなり変わるので何とも言えませんね...

私のスキルセットと勉強法

参考までに私の勉強法とスキルセットを紹介します.ただし,私は講座を受講したことで手に入れた和文のテキストを勉強に使っていましたので,同じく受講した人向けになるかもしれません.

バックグラウンド・スキルセット

  • 情報系の学部・修士
  • 大学時代にCTFチームに所属,基本的な攻撃手法は知っている
  • 現在IT企業の技術開発部で攻撃検証,ネットワーク管理でスイッチやルータのコンフィグ投入など実施

簡単な攻撃手法や,ネットワーク・TCP/IPなどの基本的な知識は元々持っていました.

勉強法

以下,CEH講座受講 (9月頭)から受験(2月2日)までの流れです.

  • 試験5ヶ月前: CEH講座受講.雰囲気を掴む.
  • 試験4ヶ月前: CEH受験エントリを見て情報収集.良さそうなアプリを見つける.
  • 試験4ヶ月前〜1ヶ月前: アプリをコツコツ解く.解けない問題を把握する.
  • 試験3週間前: 良さそうなCEH問題出題サイトを見つける.
  • 試験1週間前: 良しな翻訳に通した問題を解く.テキストをパラ読みして知らないワードを手書きで抽出していく.
  • 受験当日: 午後の試験に備えてお昼ご飯をしっかり食べる
1. アプリで問題を解いてできない範囲を把握

以下のアプリがおすすめ.課金して問題数を増やすとたくさん練習できていい感じです.(僕のiPhoneではやや動作が不安定になることがありましたが,総合的には良アプリでした.)

App名: CEH Pocket Prep、デベロッパ: Pocket Prep, Inc. https://itunes.apple.com/jp/app/ceh-pocket-prep/id896288518?mt=8

f:id:vernalstar:20190204234621p:plain:w200f:id:vernalstar:20190204234547p:plain:w200
出題設定画面と解答画面

最初はやる気が出ない(私だけ?)と思いますので,このアプリで5問ずつくらいからちまちま解いていくと長続きします.自然と多くの問題を解くことができ,どのような問題が解けてどのような問題が苦手なのか把握できて良いです.

また,このアプリのいいところは,過去の模擬テスト実施記録が以下のように現れることです. 1ヶ月前くらいから正答率の少ない模擬試験の問題をとき直すことで,「以前解けなかった問題が解けるようになっているか」「未だに解けない問題はどんな問題か」を簡単に把握することができます.

f:id:vernalstar:20190204234705p:plain:w200
履歴から間違えた問題を確認できる.

2. テキストで試験に出そうでかつ知らないワードや手法を洗い出す

アプリで問題を解くと,どんなツールの問題が多いか,どんな攻撃手法を問われるのかがわかってきます. 例えば,CEHではNessusやnmapの問題が高い確率で出題されます.これは過去問を解けば明らかにわかります.他にもよく出るツールがあったりするので,先に過去問で傾向を把握するのは重要です. その上で,必要そうな知識をテキストからピックアップしていきます. (自分の場合は,手書きの方が頭に入るので手書きでピックアップした上で,抽出したワードを眺めます)

この方法だと,試験に出そうかつ自分が知らない知識を効率よく取り込むことができる(気がする)のでおすすめです.

(オプション) 翻訳に通した問題を解く

英文だとたまにニュアンスを間違えて誤答してしまう問題がありました.そこで試験一週間前は和訳した問題を解いてました.自分で和訳したりGoogle翻訳などでコツコツ和訳するのも良いのですが,さすがにそれは時間がかかるので,なんかこう勝手にやってくれる感じで良しなにやりました.

和文で受ける場合,英文のニュアンスを知る必要はなく,英文を読むよりはサクサク問題を解けるのでかなりスムーズに勉強できました.

上で紹介したウェブの問題サイトは以下です.v8の試験も受けられるので,過去問のカサ増しなどに良いです.

また,以下のようなCEHのテキストのような内容が書いてあるサイトもありました.

受験当日の朝に発見したのできちんと読めてませんが,もし今後受ける方で興味ある方は読んでみると良いかもしれません.

まとめ

CEHの概要,受けた感想,勉強法について書かせていただきました. 情報系の基本的な知識を問う問題が出たり,過去問からの出題もあったりするので,アプリや問題出題サイトで勉強するだけでもかなり解けるようになります.他の方のエントリと合わせて参考になれば幸いです.

PythonのrequestsでTwitter APIを叩く(ユーザ認証編)

PythonTwitter用のライブラリ等を使わずにRequestsでAPIを叩く方法のメモ.OAuth1.0の理解が主な目的です.
今回はユーザ認証を使って特定ユーザのアカウントのタイムラインを取得します.
各処理についてやOauth1.0の署名作成部分についての詳細を追記予定です。

前回はアプリケーション認証によって特定ユーザのアカウントのタイムラインを取得しました.

続きを読む

PythonのRequestsでTwitter APIを叩く

PythonTwitter用のライブラリ等を使わずにRequestsでAPIを叩く方法のメモ.やりたいことは「ある一つのアカウントのツイートを定期的に通知したい」だけなので,Bearer tokenを取得して GET statuses/user_timeline API を定期的に叩いて新しいツイートを取得すれば良い.

続きを読む

Raspberry Pi 3 B+ にRaspbianを入れてSSHするまでのメモ

お金に余裕ができたので念願のRaspberry Pi 3 B+を買いました (6000円くらい買えよという感じですが...).
取り急ぎOSとしてRaspbianを選択してsshするまで行ったのでその手順のメモになります.

続きを読む

【Raspbian】Python3でのUnicodeEncodeErrorの解決

別環境で作成したPython3プログラムをRaspbian上で動かそうとしたらUnicodeEncodeErrorが出てしまったので,その対処法を記載.

続きを読む

【Mac/Cordova】CordovaでAndroidアプリのビルドができない(jdk, gradle)

Mac環境で使っているCordovaでAndroidアプリをビルドしようとしたらエラーでできなかった時の対処.
「とりあえずiOSしか使わないしAndroid環境は適当にやっておこう」と当初サボっていたせいで色々忘れていたのが原因だったが取り急ぎメモ.

続きを読む

【Mac/Python】homebrewでscipyをインストール時に起きたパーミッションエラー

スクリーンショットなどを取り忘れたので取り急ぎのメモとなります.

続きを読む