質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

90.47%

  • Java

    14088questions

    Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

  • Ruby

    7923questions

    Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

  • C

    3809questions

    C言語は、1972年にAT&Tベル研究所の、デニス・リッチーが主体となって作成したプログラミング言語です。 B言語の後継言語として開発されたことからC言語と命名。そのため、表記法などはB言語やALGOLに近いとされています。 Cの拡張版であるC++言語とともに、現在世界中でもっとも普及されているプログラミング言語です。

  • Perl

    461questions

    Perlは多目的に使用される実用性が高い動的プログラミング言語のひとつです。

  • LISP

    56questions

    LISPはプログラミング言語の一種であり、関数型言語に分類されています。 特徴として、括弧を多様する独特の構文を持ちます。

セキュリティ関係の職に就きたいので、アドバイスください。

解決済

回答 4

投稿 編集

  • 評価
  • クリップ 1
  • VIEW 2,174

swhack0322

score 12

C言語の基礎を得たので、次の言語や、専門知識を得ようと思っているので、アドバイスください。
質問1 C#とjava学んだほうがいいですか?

質問2 rubyでもPHPのように、ちゃんとしたシステムは作れますか?

質問3 LISPとperlは学ぶべきですか?

質問4 TCP/IP Http以外に学ぶべき ネットワークの知識は? 
本とか紹介してくれたらうれしいです。

質問5 質問で述べた以外で勉強すべき知識は?

アドバイスしやすいように一応自分の情報を載せておきます。
今まで、学んだパソコンの知識
英語(学校とかで学んできたものとは別)、数学(ブール代数、形式論理、有限限数学の基礎)
HTML,CSS,Javascript,jQuery,C言語の基礎と、アルゴリズムとデータ構造
python基礎とlinuxの操作などなど、

  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

質問への追記・修正、ベストアンサー選択の依頼

  • issei.

    2016/04/11 16:55

    セキュリティ関係の職とは、例えば何でしょうか?

    キャンセル

  • swhack0322

    2016/04/11 17:00

    セキュリティエンジニアとシステムエンジニアの両方ですかね。

    キャンセル

回答 4

+9

まず大前提として、セキュリティは常に進化し続けますので、常に学び続けることがいちばん重要となります。

質問1: 本気でセキュリティ系のことを追いかけたいなら、C#やJavaのような仮想マシンで動く言語より、まずはコンピューターそのものを掘り下げる方がいいでしょう。レジスタ・スタック・メモリ配置、そのあたりの低レベルな(マシンに近い)ところが、セキュリティ関連では大いに重要となってきます(バッファオーバーランスタックオーバーフロー(もちろん、コミュニティサイトじゃない方)あたりは最低限理解が必要です)。

質問2:個人的には、むしろPHPのほうが「ちゃんとしたシステム」を組むのにはあまり向いていない気もします(むろん、PHPのバージョンアップでかなり改善されてはいるのですが)

質問3:教養として知っておくことはもちろん有意義だとは思いますが、現代のシステムでそれらが締めるウェイトを考えると、実利的な意味で役に立つかはわかりません。

質問4:ネットワークのプロトコルは「古き良き時代」に作られたものが多いので、それらのサーバともども攻撃対象となります。メールのSMTPや、DNSなどは「狙った時の影響が大きい」こともあって、よくターゲットとなります。

質問5:セキュリティ関係にかかわらず、現代のコンピューティングで欠かせないのは暗号技術です。いまどきはふつうのWebサイトもHTTPS化されていくような時代ですので、否応なく暗号技術とは付き合うことになります。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

checkベストアンサー

+7

* 質問1.C#とjava 両方学んだほうがいいですか?
 * 質問2 rubyでもPHPのように、ちゃんとしたシステムは作れますか?
 * 質問3 LISPとperlは学ぶべきですか?

どの言語を学ぶかというのは問題がちいさすぎる気がします。
言語の実装の不備を突いたものである場合は、対象言語について多少は知っていないと扱うことが困難でしょう。
言語とは別に OS (windows, macs-x) の不備を突いたものであることもあるでしょう。
ルーターやプリンターのファームウェアの不備のこともあるでしょう。
すべてを極めることは困難です。
そこで、常にその時にメジャーな言語、OS については学んでおく事が必要と思います。

何がメジャーになりそうかを見極める能力が必要になるかもしれません。
いまなら 携帯電話関係の言語、インフラについてが重要になりそうです。
(android での java、iPhone での swift は学習しておく言語として優先度が高いかもしれません)

 * 質問4 TCP/IP Http以外に学ぶべき ネットワークの知識は? 
 * 質問5 質問で述べた以外で勉強すべき知識は?

学校のカリキュラムの例をみてみると良いかもしれません。

...
基礎科学分野の論理数学や電磁気学などから始まって、 コンピュータ、オペレーティングシステム、ソフトウェア、ネットワーク、通信プロトコル、アクセス制御、 運用技術、管理手法、組織論、法律、更には倫理まで、関係する分野は多岐にわたります。
...
暗号、インターネット、情報システム、ソフトウェアなどのセキュリティ関連技術、情報科学、 リスク評価、マネジメント理論、組織のガバナンスのあり方、情報モラル、社会制度・法制度等にかかる科目群を 情報セキュリティという観点から分野横断的に配置しています。
...

...
東京オリンピック・パラリンピックが開催される2020年に向かい、サイバーセキュリティへの関心が急速に高まっています。本書は、セキュリティのエキスパートが集まる特定非営利活動法人日本ネットワークセキュリティ協会(JNSA)の未来予測プロジェクトが、テクノロジーの進展に伴う新たな脅威とサイバーセキュリティの展望をまとめたものです
...

  • コンピュータ関係以外には各種の人文科学の知識も必要かもしれません。
    ソーシャルハッキングといって、話術や盗み聞き、盗み見などの「社会的」な手段によって情報を得るというものがあります。
    ハード、ソフトだけでなく、ハート(心)/人間についても考える必要が出てくるのです。

追記: 2016-04-12
セキュリティ関係の日々の情報についてはこんなサイトがあります。

追記: 2016-04-21

2016.04.20
...
セキュリティエンジニアを将来の夢にしているのですが 現在高2なのですが現在大学選びに悩んでいて、 (Yahoo! JAPAN 知恵袋, 4/17)。徳丸先生、上原先生、砂原先生と、 回答者が豪華すぎるエントリーとなってます。セキュリティに興味のある、進学希望の高校生の方はぜひご一読を。
...

投稿

編集

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

+2

言語は習得しておくに越したことはありませんが、使わなければ時とともに忘却の彼方に行ってしまいます。
C++が何故か入ってませんが、オブジェクト指向はプログラマとしてメシを食っていくのであれば身につけておくべきかと。
あとプログラミングに限らず、論理的に考えるくせをつけておいたほうがいいです。論理的と言っても形式論理ではなく、ディベートの基礎であるトゥールミンロジックです。トゥールミンロジックについては自分で調べてください。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

+2

セキュリティ関係の職といっても幅が広すぎます。
ので、一般論になりますが、ご容赦を。

努力はもちろん重要です。他の方が言われているような報われる努力をしましょう。

ただ、最も重要なのは、人脈(平たくいうとコネ)だと思ってます。
勉強だけ頑張っていても、社会から評価されなければ報われにくいです。
当たり前ですが、日本のセキリティ研究者の重鎮のもとで切磋琢磨し、そこから社会に出るのと、
そうでないところから社会に出るのとでは、スタートラインが違いすぎます。
ハイレベルなところで切磋琢磨するという意味では、人脈というより、環境といったほうがいいかもしれませんね。

また、さらに基礎学力をつけたいというニーズであれば、下記参考にどうぞ。
自分が志す方向の書籍から読むといいでしょう。
(暗号技術、ネットワークセキュリティ、Webアプリケーションのセキュリティを取り上げてます。)

暗号技術入門 第3版 秘密の国のアリス
マスタリングTCP/IP 情報セキュリティ編
体系的に学ぶ 安全なWebアプリケーションの作り方 脆弱性が生まれる原理と対策の実践

2016/04/22 追記

ちょうど最近、面白いトピックがヤフー知恵袋で立って、話題になっていますので、
参考に見てみて下さい。
「セキュリティエンジニアになりたいのですが」―― 現役高校生のYahoo!知恵袋にセキュリティ界のアベンジャーズが次々集結する胸熱展開に

徳丸さん、砂原先生、上原先生、この業界で非常に有名な方が解答されています。
徳丸さんは、私が紹介した書籍の「体系的に学ぶ 安全なWebアプリケーションの作り方 脆弱性が生まれる原理と対策の実践」の著者でもあります。

投稿

編集

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

15分調べてもわからないことは、teratailで質問しよう!

  • ただいまの回答率 90.47%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

関連した質問

同じタグがついた質問を見る

  • Java

    14088questions

    Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

  • Ruby

    7923questions

    Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

  • C

    3809questions

    C言語は、1972年にAT&Tベル研究所の、デニス・リッチーが主体となって作成したプログラミング言語です。 B言語の後継言語として開発されたことからC言語と命名。そのため、表記法などはB言語やALGOLに近いとされています。 Cの拡張版であるC++言語とともに、現在世界中でもっとも普及されているプログラミング言語です。

  • Perl

    461questions

    Perlは多目的に使用される実用性が高い動的プログラミング言語のひとつです。

  • LISP

    56questions

    LISPはプログラミング言語の一種であり、関数型言語に分類されています。 特徴として、括弧を多様する独特の構文を持ちます。