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

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

新規登録して質問してみよう
ただいま回答率
85.50%
C

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

Perl

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

Ruby

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

Java

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

LISP

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

Q&A

解決済

4回答

11305閲覧

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

swhack0322

総合スコア18

C

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

Perl

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

Ruby

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

Java

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

LISP

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

0グッド

1クリップ

投稿2016/04/11 07:33

編集2016/04/22 07:31

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

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

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

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

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

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

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

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

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

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

issei.

2016/04/11 07:55

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

2016/04/11 08:00

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

回答4

0

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

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

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

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

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

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

投稿2016/04/11 08:10

maisumakun

総合スコア145123

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

ベストアンサー

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

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

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

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

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

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

の 特集コンテンツ や 情報セキュリティ啓発 の資料を読むと良いです。

  • 有料ですが、こんな資料もあります。

サイバーセキュリティ2020 脅威の近未来予測 http://www.jnsa.org/result/2015/miraiyosoku.html

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

  • コンピュータ関係以外には各種の人文科学の知識も必要かもしれません。

ソーシャルハッキングといって、話術や盗み聞き、盗み見などの「社会的」な手段によって情報を得るというものがあります。
ハード、ソフトだけでなく、ハート(心)/人間についても考える必要が出てくるのです。

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

追記: 2016-04-21

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

投稿2016/04/11 12:15

編集2016/04/20 22:08
katoy

総合スコア22324

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

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

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

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

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

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

2016/04/22 追記

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

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

投稿2016/04/11 08:54

編集2016/04/22 08:12
Odacchi

総合スコア907

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

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

投稿2016/04/11 08:19

PineMatsu

総合スコア3579

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問