つくりながら学ぶ! Pythonセキュリティプログラミング | マイナビブックス

つくりながら学ぶ! Pythonセキュリティプログラミング

  • 著作者名:森幹太
  • 監修者名:坂井弘亮SecHack365
    • 書籍:3,168円
    • 電子版:3,168円
  • B5変:304ページ
  • ISBN:978-4-8399-6850-2
  • 発売日:2019年02月27日
  • 備考:初~中級
  • mixiチェック
  • このエントリーをはてなブックマークに追加

内容紹介

Pythonによる実装で情報セキュリティをより深く理解できる!

本書は、広範な「情報セキュリティ」という分野について、基礎的な部分を一通り網羅して学べるようにした本です。既存のツールやソフトの使い方を紹介するのではなく、できるだけ自分の手を動かして理解しながら読み進めていく形式にしました。具体的には、Web、暗号、ネットワークなど、情報セキュリティにおいて取り扱われることの多いトピックについて、プログラミング言語Pythonによる実装を交えながら、攻撃手法や防御技術の原理を理解していきます。本書で攻撃者の手の内を知ることができ、またそれを防御に生かすという意味で非常に役に立つでしょう
世の中には既に便利なツールやライブラリがあるのに、「ファジングツールの自作」や「簡易サンドボックスの実装」をあえて行う目的は、その原理をより深く理解するためです。このことがきっかけとなって、情報セキュリティをさらに深く学んだり、「これは面白い!」と感じられる興味分野を見つけるきっかけになってくれたら幸いです。
本書を読み終えたならば、新しい技術を創造できるエンジニアになるための一歩を踏み出したといえるでしょう。

電子版の購入は姉妹サイト「IT書籍ストア Manatee」がオススメ!
充実のラインナップに加え、割引セールも定期的に実施中!

商品を選択する

フォーマット 価格 備考
書籍 3,168
PDF 3,168 ※ご購入後、「マイページ」からファイルをダウンロードしてください。
※ご購入された電子書籍には、購入者情報、および暗号化したコードが埋め込まれております。
※購入者の個人的な利用目的以外での電子書籍の複製を禁じております。無断で複製・掲載および販売を行った場合、法律により罰せられる可能性もございますので、ご遠慮ください。

電子書籍フォーマットについて

  

備考

[著者] 森 幹太
東京都町田市出身。中学生のときにLinuxを使いはじめたのをきっかけに、コンピュータの虜になる。休日に自宅ラックのメンテナンスをするのが生きがい。情報セキュリティスペシャリスト(2016)。

[監修]SecHack365
国立研究開発法人 情報通信研究機構(NICT)による若手セキュリティイノベーター育成プログラム。
学生や社会人から公募選抜する受講生を対象に、サイバーセキュリティに関する開発や研究、実験、発表を一年間継続し、多様性あるテーマの下で様々なモノづくりをする機会を提供する長期ハッカソン。
全国の一流研究者・技術者や受講生等との交流をするなかで、自ら手を動かし、セキュリティに関わるモノづくりができる人材(セキュリティイノベーター)を育てる。本書もSecHack365による人材育成の成果である。

[監修]坂井 弘亮(さかい ひろあき)
富士通株式会社 ネットワークサービス事業本部、富士通セキュリティマイスター(ハイマスター領域)、SecHack365トレーナー。
幼少の頃よりプログラミングに親しみ、趣味での組込みOS自作、アセンブラ解析、イベントへの出展やセミナーでの発表などで活動中。代表的な著書は『12ステップで作る 組込みOS自作入門』(カットシステム)、『31バイトでつくるアセンブラプログラミング -アセンブラ短歌の世界-』『0と1のコンピュータ世界 バイナリで遊ぼう!』(マイナビ出版,共著)、『大熱血!アセンブラ入門』(秀和システム)。
セキュリティ・キャンプ講師、SECCON実行委員、アセンブラ短歌 六歌仙の一人、バイナリかるた発案者、技術士(情報工学部門)。

お詫びと訂正

・本書11~13ページにて紹介しております「Windows」での環境構築にDocker Toolboxの解説を行っている件につきまして
2021年6月現在、Docker Toolboxの開発が止まり使用も非推奨となっています。 Docker Desktopでの環境構築についての解説を
docker-desktop_setup.pdfに用意しましたので合わせてご確認ください。
・書籍12~18ページでダウンロードする「Dockerfile」「run_linux」に拡張子「.txt」が追加されてしまう場合、これを削除(ファイル名を変更)してからコマンドを実行してください。あるいは提供のZIPファイルpysec101-master.zipの「chap0」フォルダにある「Dockerfile」「run_linux」をご活用ください。

関連ページ

目次

0章 環境構築
0.1 Windowsでのセットアップ
0.2 macOSでのセットアップ
0.3 Linuxでのセットアップ

1章 Pythonチュートリアル
1.1 インタラクティブシェル
1.2 算術演算
1.2.1 基本的な演算
1.2.2 ビット演算
1.2.3 数値の色々な表記
1.3 変数 
1.4 文字列 
1.5 リスト 
1.6 関数 
1.7 クラス 
1.8 組み込み関数、メソッド
1.8.1 文字列操作
1.8.2 リスト操作
1.9 フロー制御
1.9.1 if 文
1.9.2 while 文
1.9.3 for 文
1.10 スクリプト実行
1.11 import文
1.12 コマンドライン引数

2章 基礎知識
2.1 ネットワークに関する基礎知識
2.1.1 通信プロトコル
2.1.2 OSI参照モデル
2.1.3 IP
2.1.4 TCP
2.1.5 HTTP
2.2 本書で利用するPythonライブラリ
2.2.1 scapyモジュール
2.2.2 bottleフレームワーク
2.2.3 Numpyモジュール

3章 ネットワークセキュリティ
3.1 情報収集 
3.1.1 ポートスキャン
3.1.2 ステルススキャン
3.2 内部探索 
3.2.1 Pingスキャン
3.2.2 ARPスキャン

4章 Webセキュリティ
4.1 XSS
4.1.1 Reflected XSS 
4.1.2 Persistent XSS
4.1.3 DOM-based XSS
4.2 CSRF
4.2.1 脆弱なWebサイトを作ってみる
4.2.2 罠サイトを構築する
4.2.3 攻撃を検証してみる
4.2.4 対策
4.3 Clickjacking
4.3.1 ハンズオン
4.3.2 ハンズオン対策

5章 暗号
5.1 暗号の基礎知識
5.2 共通鍵暗号
5.2.1 RC4
5.2.2 RC4のアルゴリズム
5.2.3 RC4の実装
5.2.4 AES(Advanced Encryption Standard)
5.2.5 AES暗号の実装
5.2.6 AESの暗号化モード
5.3 公開鍵暗号
5.3.1 RSA暗号
5.3.2 RSA暗号の実装
5.3.3 RSA暗号に対する解読手法

6章 ファジング
6.1 ファジングとは
6.2 ファジングの種類
6.2.1 ファズの生成方法
6.2.2 ファジングが対象とするプラットフォーム
6.3 ファザーの仕組み
6.4 簡易ファザーの実装
6.4.1 コマンドラインのプログラムに対するファジング
6.4.2 Webアプリケーションに対するファジング

7章 無線技術とセキュリティ
7.1 無線LAN 
7.1.1 無線LANの通信規格
7.1.2 無線LANのセキュリティ
7.2 Bluetooth
7.2.1 プロトコルの概要
7.2.2 暗号化と認証
7.3 その他の無線通信技術
7.3.1 LPWA
7.3.2 RFID
7.4 無線LANにおける通信の盗聴の検証
7.4.1 アクセスポイントの構築
7.4.2 アクセスポイントを流れるパケットを監視してみよう

8章 仮想化技術とセキュリティ
8.1 仮想化とは
8.1.1 仮想化の利点と欠点
8.2 仮想化技術の種類
8.2.1 ホストOS型
8.2.2 ハイパーバイザ型
8.2.3 その他の仮想化技術
8.3 情報セキュリティへの応用
8.4 仮想化技術の仕組み
8.4.1 ハイパーバイザの仕組み
8.4.2 コンテナの仕組み
8.4.3 サンドボックスの仕組み
8.5 仮想環境の判別
8.5.1 システム情報を読み取る
8.5.2 プロセス情報を読み取る
8.6 サンドボックスを自作してみよう
8.6.1 Pythonからシステムコールを呼び出してみよう
8.6.2 システムコールを監視してみよう
8.6.3 システムファイルへのアクセスを制限してみよう

9章 総合演習
9.1 問題 
9.2 情報収集
9.3 任意コード実行
9.4 フラグの取得
 

最近チェックした商品

Vポイント利用手続き

         Vポイント利用手続きに関する同意事項

                                株式会社マイナビ出版

株式会社マイナビ出版が提供するマイナビBOOKSにおいてVポイントご利用続きをされる方は、以下に掲げるお客様の個人情報の取り扱いについてご確認の上、ご同意下さい。

マイナビBOOKSにおいてVポイントサービスをご利用いただいた場合に、当社から、次に掲げる<提供情報>を、<提供目的>のためにCCCMKホールディングス株式会社(以下、「MKHD」といいます)へ提供します。

  <提供目的>:MKHDの定める個人情報保護方針及びマイナビBOOKSにおけるT会員規約第4条に定める利用目的で利用するためVポイントサービスを利用するため
  <提供情報>:
   1)お客様が【マイナビBOOKS】の正当な利用者であるという情報
   2)ポイント数・利用日
   3)その他、Vポイントサービスを利用するにあたり必要な情報

  <提供方法>: 電磁的記録媒体の送付またはデータ通信による。ただし、提供するデータについては暗号化を施すものとする。

なお、MKHDに提供された、以下の情報の利用については、MKHDの定める個人情報保護方針及びT会員規約 に沿って取り扱われます。
上記の情報提供の停止をご希望される場合には、【マイナビBOOKS】におけるVポイント利用手続きの解除を実施していただく必要があります。
Vポイント利用手続きの解除、およびVポイントサービスにおける個人情報に関するお問い合わせ先は、以下のとおりです。
お客様お問い合わせ先:Tサイト(https://tsite.jp/contact/index.pl )

 なお、Vポイント利用手続きの解除が完了しますと、マイナビBOOKSにおけるVポイントサービスをご利用いただけなくなりますので、予めご了承ください。

Vポイント利用手続きを行いますか?