blog khoa học máy tính » làm an toàn thông tin thì học gì_ » print

15
 5/4/12 Blog Khoa Hc Máy Tính » Làm an toàn thông tin thì hc gì? » Print 1/15 www.procul.org/blo g/2012/05/02/lam-an -toan-thong-tin-thi- hc-gi/print/ - Blog Khoa Hc Máy Tính - http://www.procul.org/blog - Làm an toàn thông tin thì hc gì? Tác gi thaidn, Ngày 02/0 5/2012 @ 5: 31 pm, Đ mc: Bo mt và mt mã hc,Giáo dc,Gi ớ i thiu sách, | 3 phn hi 1 Giớ i thiu Tôi nhn đ ượ c thư t  ca nhiu bn hi v  vi c nên hc gì và như thế nào đ có th tìm đ ượ c vi c làm và làm đ ượ c vi c trong ngành an toàn thông tin (information security). Tôi nghĩ vic đ u tiên bn cn phi làm là in toàn  b bài viết “ Làm thế nào đ  tr ở  thành white hat hacker” ra gi y, nhưng đ ng đ c, mà hãy đ  chú ng trong toilet khi nào c n thì xài dn. Quay trở  l i câu hi. An toàn thôn g tin là mt ngành rng l ớ n v ớ i r t nhiu lĩnh v c. Nhng gì tôi biết và làm đ ượ c ch gói gn trong mt hai lĩnh v c. Có rt nhiu mng ki ến thc c ơ  bn mà tôi không n m v ng và cũng có nhi u k  năng mà tôi khôn g tho. Hack tài khon Yahoo ! Mail là mt trong s đó. Tôi cũng không biết cách tìm đ a ch IP ca bn chat . Xét theo năm mc ngu dt thì tôi n m ở  mc “1OI – thi ếu kiến thc” ở  hu hết các lĩ nh v c trong an toàn thông tin. Cũn g có lĩnh v c tôi nm ở  mc “2OI – thiếu nh n thc”. Nhiu ln đ c sách v ở  hoc nói chuy n v ớ i đ ng nghip, tôi hay nh n ra rng có nhi u th tôi không biết là tôi không bi ết. Theo ý ca anh Ngô Quang Hưng thì đây là c hu y n bình thườ ng:  Dân máy t ính t hườ ng phi đ c/h c r ấ t nhi ề u đ ể  theo k p sự  phá t tr i ể n vớ i t ố c đ  ánh sáng ca ngành mình. Trong quá trình này, vớ i mỗ i vấ n đ ề  X c a ngành, ta s ẽ  chuyể n d n d n t ừ  3OI xu ố ng 1OI. Sau đó, n ế u X là cái mà ta tht sự  thích hoc cn cho công vi c thì sẽ  chuyể n nó lên 0OI.

Upload: khanhk55bk

Post on 20-Jul-2015

141 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Blog Khoa Học Máy Tính » Làm an toàn thông tin thì học gì_ » Print

5/17/2018 Blog Khoa Hoc Máy Tính » Làm an toàn thông tin thì hoc gì_ » Print - slidepdf.com

http://slidepdf.com/reader/full/blog-khoa-hoc-may-tinh-lam-an-toan-thong-tin-thi-hoc-gi-print 1/15

 

5/4/12 Blog Khoa Học Máy Tính » Làm an toàn thông tin thì học gì? » Print

www.procul.org/blog/2012/05/02/lam-an-toan-thong-tin-thi-học-gi/print/

- Blog Khoa Học Máy Tính - http://www.procul.org/blog -

Làm an toàn thông tin thì học gì?

Tác giả thaidn, Ngày 02/05/2012 @ 5:31 pm, Đề mục: Bảo mật và mật mã

học,Giáo dục,Giớ i thiệu sách, | 3 phản hồi

1 Giớ i thiệu

Tôi nhận đ ượ c thư từ của nhiều bạn hỏi v ề việc nên học gì và như thế nào đ ể

có thể tìm đ ượ c việc làm và làm đ ượ c việc trong ngành an toàn thông tin

(information security). Tôi nghĩ việc đ ầu tiên bạn cần phải làm là in toàn

 bộ bài viết “Làm thế nào đ ể trở thành white hat hacker” ra giấ y, nhưng

đ ừng đ ọc, mà hãy đ ể chúng trong toilet khi nào cần thì xài dần.

Quay trở lại câu hỏi. An toàn thông tin là một ngành rộng lớ n v ớ i rất nhiều

lĩnh v ực. Những gì tôi biết và làm đ ượ c chỉ gói gọn trong một hai lĩnh v ực.

Có rất nhiều mảng kiến thức cơ bản mà tôi không nắm v ững và cũng có

nhiều k ỹ năng mà tôi không thạo. Hack tài khoản Yahoo! Mail là một

trong số đó. Tôi cũng không biết cách tìm đ ịa chỉ IP của bạn chat .

Xét theo năm mức ngu dốt thì tôi nằm ở mức “1OI – thiếu kiến thức” ở hầu

hết các lĩnh v ực trong an toàn thông tin. Cũng có lĩnh v ực tôi nằm ở mức

“2OI – thiếu nhận thức”. Nhiều lần đ ọc sách v ở hoặc nói chuy ện v ớ i đ ồng

nghiệp, tôi hay nhận ra rằng có nhiều thứ tôi không biết là tôi không biết.

Theo ý của anh Ngô Quang Hưng thì đây là chuy ện bình thườ ng:

 Dân máy tính thườ ng phải đ ọc/học rấ t nhi ề u đ ể theo kị p sự 

 phát tri ể n vớ i t ố c đ ộ ánh sáng của ngành mình. Trong quá

trình này, vớ i mỗ i vấ n đ ề X của ngành, ta sẽ chuyể n d ần d ần t ừ 

 3OI xuố ng 1OI. Sau đó, nế u X là cái mà ta thật sự thích hoặc

cần cho công vi ệc thì sẽ chuyể n nó lên 0OI.

Page 2: Blog Khoa Học Máy Tính » Làm an toàn thông tin thì học gì_ » Print

5/17/2018 Blog Khoa Hoc Máy Tính » Làm an toàn thông tin thì hoc gì_ » Print - slidepdf.com

http://slidepdf.com/reader/full/blog-khoa-hoc-may-tinh-lam-an-toan-thong-tin-thi-hoc-gi-print 2/15

 

5/4/12 Blog Khoa Học Máy Tính » Làm an toàn thông tin thì học gì? » Print

www.procul.org/blog/2012/05/02/lam-an-toan-thong-tin-thi-học-gi/print/

 Rấ t nhi ề u sinh viên và nghiên cứ u sinh KHMT ở mứ c 3OI khi 

mớ i bắ t đ ầu đi học. Sau đó họ tìm hi ể u về quá trình nghiên cứ u,

quá trình tìm các vấ n đ ề và hướ ng nghiên cứ u mớ i, quá trính

cậ p nhật ki ế n thứ c về ngành của mình, và chuyể n d ần các thứ 

lên 2OI. Để có một quá trình hi ệu quả t ừ 3OI lên 2OI không d ễ 

chút nào. Ví d ụ đ ơ n gi ản: các journals, conference nào trong

ngành mình là có giá trị, làm thế nào đ ể tìm đ ọc các bài trong

chúng, phươ ng pháp l ọc bài đ ọc thế nào, vân vân.

Tôi thấ y anh Hưng nói có lý, nên mục tiêu chính của bài viết này là cung

cấp một quá trình hiệu quả đ ể bớ t ngu v ề an toàn thông tin.

2 Làm an toàn thông tin là làm gì?

Tôi muốn viết phần này vì nhiều ngườ i tưở ng tôi làm bảo v ệ khi tôi nói tôi

làm security. Ngoài ra có lẽ là do thị trườ ng việc làm an toàn thông tin ở 

 Việt Nam không phong phú nên hầu hết đ ều nghĩ rằng làm an toàn thông

tin nghĩa là đ ảm bảo an toàn hệ thống mạng (network/system security),

trong khi thực tế đây chỉ là một trong số rất nhiều công việc trong ngành.

Trong bốn phần nhỏ tiếp theo, tôi sẽ giớ i thiệu bốn nhóm công việc chính

trong ngành. Đối v ớ i mỗi nhóm công việc, tôi sẽ bàn một chút v ề triển v ọng

nghề nghiệp ở Việt Nam và Mỹ, hai nơ i mà tôi có dịp đ ượ c quan sát. Nếu

 bạn không biết bạn thích làm gì thì cứ chọn một công việc rồi làm thử. Các

công việc này đ ều có liên quan nhau, nên kiến thức mà bạn học đ ượ c trong

quá trình thử v ẫn hữu ích cho những nghề khác.

 2.1 An toàn sản phẩ m (product security)

Công việc chính của nhóm này là làm việc v ớ i các đ ội phát triển sản phẩm

đ ể đ ảm bảo sản phẩm làm ra an toàn cho ngườ i dùng và an toàn cho hệ

thống của công ty, cụ thể là:

Kiểm đ ịnh mã nguồn và thiết k ế của sản phẩm

Page 3: Blog Khoa Học Máy Tính » Làm an toàn thông tin thì học gì_ » Print

5/17/2018 Blog Khoa Hoc Máy Tính » Làm an toàn thông tin thì hoc gì_ » Print - slidepdf.com

http://slidepdf.com/reader/full/blog-khoa-hoc-may-tinh-lam-an-toan-thong-tin-thi-hoc-gi-print 3/15

 

5/4/12 Blog Khoa Học Máy Tính » Làm an toàn thông tin thì học gì? » Print

www.procul.org/blog/2012/05/02/lam-an-toan-thong-tin-thi-học-gi/print/

Phát triển các giải pháp k ỹ thuật và quy trình phát triển phần mềm an

toàn đ ể phát hiện và ngăn chặn những k ỹ thuật tấn công đã biết

Đào tạo nhân lực đ ể nâng cao nhận thức v ề an toàn thông tin cũng

như k ỹ năng viết mã an toàn

Nghiên cứu các hướ ng tấn công mớ i có thể ảnh hưở ng hệ thống sản

phẩm và dịch v ụ của công ty 

Tóm gọn lại thì nhóm này chuyên tìm lỗ hổng và k ỹ thuật tấn công mớ i.

Đây là công việc của tôi và tôi thấ y đây là công việc thú v ịnhất trong ngành

.

Ở Mỹ thì thông thườ ng thì chỉ có các hãng có phần mềm và dịch v ụ lớ n như

Facebook, Google, Microsoft, Oracle, v.v. hay các tập đoàn tài chính ngân

hàng lớ n mớ i có đ ội ngũ tại chỗ đ ể đ ảm nhiệm công việc này. Các công ty 

nhỏ thườ ng chỉ thuê dịch v ụ của các công ty tư v ấn. IBM và Big Four đ ều có

cung cấp dịch v ụ tư v ấn này. Dẫu v ậ y nếu đ ượ c chọn lựa thì tôi sẽ chọn làm

cho các công ty chuyên sâu như Matasano, iSec, Leviathan, Gotham,

IOActive, Immunity, v.v.

Ở Việt Nam thì thị trườ ng việc làm cho ngườ i làm an toàn sản phẩm có v ẻảm đ ạm hơ n. Cho đ ến nay tôi biết chỉ có một vài công ty ở Việt Nam là có

nhân viên chuyên trách lĩnh v ực này. Các công ty khác (nếu có quan tâm

đ ến an toàn thông tin) thì hầu như chỉ tập trung vào an toàn v ận hành. Các

công ty tư v ấn an toàn thông tin ở Việt Nam cũng không tư v ấn an toàn sản

phẩm, mà chỉ tập trung tư v ấn chung chung v ề các quy trình và tiêu chuẩn

an toàn thông tin.

 2.2 An toàn vận hành (operations security)

Công việc chính của nhóm này là đ ảm bảo sự an toàn cho toàn bộ hệ thống

thông tin của doanh nghiệp, v ớ i ba nhiệm v ụ chính:

Ngăn chặn: đ ưa ra các chính sách, quy đ ịnh, hướ ng dẫn v ề an toàn

 v ận hành; kiện toàn toàn bộ hệ thống thông tin, từ các vành đai cho

Page 4: Blog Khoa Học Máy Tính » Làm an toàn thông tin thì học gì_ » Print

5/17/2018 Blog Khoa Hoc Máy Tính » Làm an toàn thông tin thì hoc gì_ » Print - slidepdf.com

http://slidepdf.com/reader/full/blog-khoa-hoc-may-tinh-lam-an-toan-thong-tin-thi-hoc-gi-print 4/15

 

5/4/12 Blog Khoa Học Máy Tính » Làm an toàn thông tin thì học gì? » Print

www.procul.org/blog/2012/05/02/lam-an-toan-thong-tin-thi-học-gi/print/

đ ến máy tính của ngườ i dùng cuối; cấp và thu hồi quy ền truy cập hệ

thống; quét tìm lỗ hổng trong hệ thống, theo dõi thông tin lỗ hổng

mớ i và làm việc v ớ i các bên liên quan đ ể vá lỗi, v.v.

Theo dõi và phát hiệ: giám sát an ninh mạng.

Xử lý: phản hồi (incident response) và điều tra số (digital forensics)

khi xả y ra sự cố an toàn thông tin, từ tài khoản của nhân viên bịđánh

cắp, rò rỉ thông tin sản phẩm mớ i cho đ ến tấn công từ chối dịch v ụ.

Đây là công việc khó nhất, nhưng lại ít phần thưở ng nhất của ngành an

toàn thông tin.

Tươ ng tự như trên, chỉ có các hãng lớ n của Mỹ mớ i có đ ội ngũ tại chỗ đ ể

phụ trách toàn bộ khối lượ ng công việc đ ồ sộ này, nhất là mảng xử lý và

điều tra. Đa số các công ty chỉ tập trung vào ngăn chặn và sử dụng dịch v ụ

của bên thứ ba cho hai mảng còn lại. Các hãng như Mandiant, Netwitness

hay HBGary cung cấp dịch v ụ điều tra các v ụ xâm nhập và có rất nhiều

hãng khác cung cấp dịch v ụ giám sát an ninh mạng.

Ở Việt Nam thì thị trườ ng việc làm cho ngườ i làm an toàn v ận hành tươ ng

đ ối phong phú hơ n so v ớ i an toàn sản phẩm. Các công ty và tổ chức tàichính lớ n đ ều có một vài v ị trí chuyên trách v ề an toàn v ận hành. Đa số

ngườ i làm v ề an toàn thông tin ở Việt Nam mà tôi biết là làm trong lĩnh v ực

này. Dẫu v ậ y hầu như chưa có ai và công ty tư v ấn nào làm v ề phản hồi và

điều tra sự cố.

 2.3 Phát triể n công cụ (applied security)

Công việc chính của nhóm này là phát triển và cung cấp các công cụ, dịch

 v ụ và thư viện phần mềm có liên quan đ ến an toàn thông tin cho các nhóm

phát triển sản phẩm sử dụng lại.

Nhóm này bao gồm các k ỹ sư nhiều năm kinh nghiệm và có kiến thức v ững

chắc v ề an toàn thông tin, viết mã an toàn và mật mã học. Họ phát triển các

thư viện và dịch v ụ dùng chung như phân tích mã tĩnh – phân tích mã

Page 5: Blog Khoa Học Máy Tính » Làm an toàn thông tin thì học gì_ » Print

5/17/2018 Blog Khoa Hoc Máy Tính » Làm an toàn thông tin thì hoc gì_ » Print - slidepdf.com

http://slidepdf.com/reader/full/blog-khoa-hoc-may-tinh-lam-an-toan-thong-tin-thi-hoc-gi-print 5/15

 

5/4/12 Blog Khoa Học Máy Tính » Làm an toàn thông tin thì học gì? » Print

www.procul.org/blog/2012/05/02/lam-an-toan-thong-tin-thi-học-gi/print/

đ ộng (static – dynamic code analysis), hộp cát (sandboxing), xác thực

(authentication), kiểm soát truy cập (authorization), mã hóa (encryption)

 và quản lý khóa (key management), v.v.

Đây là dạng công việc dành cho những ai đang viết phần mềm chuyên

nghiệp và muốn chuy ển qua làm v ề an toàn thông tin. Đây cũng là công

 việc của những ngườ i thích làm an toàn sản phẩm nhưng muốn tập trung

 vào việc xây dựng sản phẩm hơ n là tìm lỗ hổng.

Rõ ràng loại công việc này chỉ xuất hiện ở các công ty phần mềm lớ n. Ở các

công ty phần mềm nhỏ hơ n thì các k ỹ sư phần mềm thườ ng phải tự cáng

đáng công việc này mà ít có sự hỗ trợ từ nguồn nào khác. Ở Việt Nam thì tôi

không biết có ai làm dạng công việc này không.

 2.4 Tìm diệt mã đ ộc và các nguy cơ khác (threat analysis)

Ngoài an toàn sản phẩm ra thì đây là một lĩnh v ực mà tôi muốn làm. Công

 việc chính của nhóm này là phân tích, truy tìm nguồn gốc và tiêu diệt tận

gốc mã đ ộc và các tấn công có chủ đích (targeted attack). Mã đ ộc ở đây có

thể là virút, sâu máy tính, hay mã khai thác các lỗ hổng đã biết hoặc chưa

đ ượ c biết đ ến mà phần mềm diệt virút thông thườ ng chưa phát hiện đ ượ c.Các loại mã đ ộc này thườ ng đ ượ c sử dụng trong các tấn công có chủ đích

 vào doanh nghiệp.

Tôi nghĩ rằng sau hàng loạt v ụ tấn công v ừa rồi thì chắc hẳn các công ty lớ n

 v ớ i nhiều tài sản trí tuệ giá trịđ ều muốn có những chuyên gia trong lĩnh

 v ực này trong đ ội ngũ của họ. Ngoài ra các công ty chuyên v ề điều tra và xử

lý sự cố như Mandiant, HBGary hay Netwitness mà tôi đ ề cập ở trên đ ều

đang ăn nên làm ra và lúc nào cũng cần ngườ i. Các công ty sản xuất phần

mềm diệt virút dĩ nhiên cũng là một lựa chọn.

Ở Việt Nam thì tôi nghĩ hầu hết doanh nghiệp v ẫn chưa thấ y đ ượ c nguy cơ 

đ ến từ các cuộc tấn công có chủ đích, thành ra họ sẽ không tuy ển ngườ i

chuyên trách v ấn đ ề này. Tôi cũng không biết có công ty tư v ấn nào ở Việt

Nam chuyên v ề điều tra và xử lý sự cố hay không. Tôi nghĩ lựa chọn khả dĩ 

Page 6: Blog Khoa Học Máy Tính » Làm an toàn thông tin thì học gì_ » Print

5/17/2018 Blog Khoa Hoc Máy Tính » Làm an toàn thông tin thì hoc gì_ » Print - slidepdf.com

http://slidepdf.com/reader/full/blog-khoa-hoc-may-tinh-lam-an-toan-thong-tin-thi-hoc-gi-print 6/15

 

5/4/12 Blog Khoa Học Máy Tính » Làm an toàn thông tin thì học gì? » Print

www.procul.org/blog/2012/05/02/lam-an-toan-thong-tin-thi-học-gi/print/

nhất cho những ngườ i thích mảng công việc này là các công ty phần mềm

diệt virút.

Tuy nhiên cũng cần lưu ý rằng trong vài năm gần đây ở   Việt Nam còn xuất

hiện những loại mã đ ộc nhắm vào đông đ ảo ngườ i dùng máy tính bình

thườ ng. V ấn nạn này có lẽ sẽ còn kéo dài trong nhiều năm tớ i và lẽ đ ươ ng

nhiên “phe ta” lúc nào cũng cần thêm những chiến sĩ lành nghề như

anh TQN. Thành ra dẫu triển v ọng nghề nghiệp không sáng sủa cho lắm,

nhưng tôi rất hi v ọng sẽ ngày càng nhiều ngườ i tham gia vào việc phân tích

các mã đ ộc nhắm vào ngườ i dùng máy tính ở Việt Nam. Đối v ớ i tôi họ là

những ngườ i hùng thầm lặng, chiến đ ấu đêm ngày v ớ i các “thế lực thù

đ ịch” đ ể bảo v ệ tất cả chúng ta.

3 Học như thế nào?

Đa số những bạn viết thư cho tôi đ ều đang học đ ại học ngành CNTT và tất

cả đ ều than rằng chươ ng trình học quá chán, không có những thứ mà các

 bạn muốn học. Tôi nghĩ đây là một ngộ nhận.

Hối tiếc lớ n thứ nhì trong sự nghiệp học tập mấ y chục năm của tôi là đã

không học nghiêm túc khi còn là sinh viên (hối tiếc lớ n nhất là tôi đãkhông nghỉhẳn, nhưng đó là một câu chuy ện dài khác). Tôi cũng đã nghĩ 

rằng chươ ng trình học ở đ ại học là lạc hậu và không cần thiết. Bây giờ nhìn

lại thì tôi thấ y nội dung và cách dạ y của từng môn học thì đúng là lạc hậu

(chỉ có mấ y môn triết học Mác-Lênin là bắt k ịp ánh sáng thờ i đ ại), nhưng

toàn bộ giáo trình đ ại học v ẫn cung cấp đ ượ c một cái sườ n kiến thức rất cần

thiết cho một k ỹ sư an toàn thông tin.

Ở đ ại học ngườ i ta có cách tiếp cận top-down, nghĩa là dạ y từ đ ầu đ ến cuối

những kiến thức nằm trong chươ ng trình. Điều này dễ dẫn đ ến tình trạng là

ngườ i học phải học những kiến thức mà họ không thấ y cần thiết. Nếu

chươ ng trình học cũ k ỹ và không có nhiều thực hành, hoặc ngườ i dạ y 

không chỉ ra đ ượ c bức tranh toàn cảnh, v ị trí hiện tại của ngườ i học và bướ c

tiếp theo họ nên làm là gì thì ngườ i học sẽ dễ cảm thấ y rằng họ đang phí

thờ i gian học những kiến thức vô bổ.

Page 7: Blog Khoa Học Máy Tính » Làm an toàn thông tin thì học gì_ » Print

5/17/2018 Blog Khoa Hoc Máy Tính » Làm an toàn thông tin thì hoc gì_ » Print - slidepdf.com

http://slidepdf.com/reader/full/blog-khoa-hoc-may-tinh-lam-an-toan-thong-tin-thi-hoc-gi-print 7/15

 

5/4/12 Blog Khoa Học Máy Tính » Làm an toàn thông tin thì học gì? » Print

www.procul.org/blog/2012/05/02/lam-an-toan-thong-tin-thi-học-gi/print/

Trong khi khi đi làm thì cách tiếp cận là bottom-up, nghĩa là lao vào làm,

thấ y thiếu kiến thức chỗ nào thì học đ ể bù vào chỗ đó. Lúc này tôi hoàn

toàn chủ đ ộng trong việc học và tôi cũng hiểu rõ tôi cần học cái gì và tại

sao. Điều thú v ị là mỗi khi truy ngượ c lại nguồn gốc của những kiến thức tôi

cần phải có, tôi thườ ng thấ y chúng nằm trong chươ ng trình đ ại học.

 Ví dụ như tôi muốn luy ện k ỹ năng dịch ngượ c mã phần mềm (reverse code

engineering – RCE) thì tôi thấ y rằng tôi cần phải có kiến thức v ề tổ chức và

cấu trúc máy tính. Hoặc nếu tôi muốn học v ề mật mã học thì tôi phải học lý 

thuy ết tính toán, mà khở i nguồn là lý thuy ết automata. Nhưng tại sao

trướ c đó tôi cũng đi làm nhưng không thấ y đ ượ c những lỗ hổng kiến thức

này? Tôi nghĩ là do tôi làm không đ ủ sâu. Ví dụ như nếu bạn suốt ngày chỉ

lập trình PHP thì bạn sẽ không thể hiểu đ ượ c tại sao phải nắm v ững tổ chức

 và kiến trúc máy tính. Hoặc giả như công việc của bạn là sysadmin thì cũng

sẽ rất khó đ ể bạn thấ y đ ượ c tại sao cần phải học lý thuy ết automata.

Những gì tôi nói lan man ở trên có thể tóm gọn lại thế này:

Học dựa theo chươ ng trình đ ại học. Nếu bạn đang học đ ại học các

ngành công nghệ thông tin, khoa học máy tính hay toán tin thì nên

tập trung vào việc học các môn trong trườ ng. Các học liệu trong phần4 cũng đ ượ c soạn theo các đ ại học lớ n trên thế giớ i.

Học kiến thức căn bản thật v ững (cái gì là căn bản thì xem phần 4),

những món còn lại khi nào cần (căn cứ vào nhu cầu công việc) thì

hẵng học.

Tìm dự án lề (side project) mà bạn thích đ ể làm đ ể có thể nhanh

chóng nhận ra những mảng kiến thức còn thiếu.

Thờ i điểm tốt nhất đ ể học một cái gì đó là khi bạn đang là sinh viên.

Thờ i điểm tốt thứ hai là ngay bây giờ !

Các lớ p mà tôi liệt kê trong phần 4 đa số là của đ ại học Stanford. Bạn không

cần phải đ ến tận nơ i, ngồi trong lớ p mớ i có thể học đ ượ c. Tôi thấ y trong

nhiều trườ ng hợ p thì bạn chỉ cần đ ọc lecture notes, sách giáo khoa mà lớ p

Page 8: Blog Khoa Học Máy Tính » Làm an toàn thông tin thì học gì_ » Print

5/17/2018 Blog Khoa Hoc Máy Tính » Làm an toàn thông tin thì hoc gì_ » Print - slidepdf.com

http://slidepdf.com/reader/full/blog-khoa-hoc-may-tinh-lam-an-toan-thong-tin-thi-hoc-gi-print 8/15

 

5/4/12 Blog Khoa Học Máy Tính » Làm an toàn thông tin thì học gì? » Print

www.procul.org/blog/2012/05/02/lam-an-toan-thong-tin-thi-học-gi/print/

sử dụng rồi làm bài tập đ ầ y đ ủ thì v ẫn sẽ tiếp thu đ ủ kiến thức. Một số lớ p

mà tôi liệt kê dướ i đây đ ượ c dạ y miễn phí rộng rãi trên Coursera.Bạn có thể

tham khảo chươ ng trình SCPD nếu muốn học chung v ớ i các sinh viên

Stanford khác. Đây là chươ ng trình học từ xa thông qua video. Buổi sáng

lớ p diễn ra thì buổi chiều bạn đã có video đ ể xem. Thi cử như các sinh viên

chính quy khác và điểm phải trên B mớ i đ ượ c học tiếp. Đây là chươ ng trìnhmà tôi theo học. Điểm thú v ị là mỗi học kỳ bạn chỉ cần lấ y một lớ p, nhưng

Stanford v ẫn sẽ cho bạn xem video của tất cả các lớ p khác.

Ngoài Stanford và Coursera ra, bạn cũng có thể tham khảo các lớ p

trên Udacity , OCW và MITx. Khi tôi đang viết những dòng này thì MIT và

Harvard công bố dự án edX. Chúng ta đang sống trong một thờ i đ ại cực kỳ 

thú v ị! Bây giờ chỉ cần bạn chịu học thì muốn học cái gì cũng có lớ p và học

liệu miễn phí. Nhưng mà học cái gì bây giờ ?

4 Học cái gì?

Có ba món quan trọng cần phải học: lập trình, lập trình và lập trình! Để làm

 việc đ ượ c trong ngành này, bạn phải yêu thích lập trình. Không có cách

nào khác. Thề luôn!

Tôi dành khá nhiều thờ i gian tìm hiểu giáo trình khoa học máy tính của

các trườ ng đ ại học lớ n trên thế giớ i và tôi thấ y tất cả các môn học đ ều có

phần bài tập là lập trình. Học cái gì viết phần mềm cho cái đó. Học v ề hệ

điều hành thì phần bài tập là viết một hệ điều hành. Học v ề mạng thì viết

phần mềm giả lập router, switch hay firewall. Cá nhân tôi cũng thấ y rằng

lập trình là cách tốt nhất đ ể tiếp thu kiến thức một môn học nào đó, biến nó

thành của mình. Nói cách khác, lập trình là một cách mã hóa tri thức khá

hiệu quả.

Ngoài ra nhìn vào mô tả công việc ở phần 2, bạn cũng có thể thấ y k ỹ năng

lập trình quan trọng đ ến dườ ng nào, bở i hầu hết các v ấn đ ề và giải pháp của

an toàn thông tin là đ ến từ phần mềm. Rõ ràng muốn tìm lỗi của phần

mềm thì bạn phải hiểu đ ượ c phần mềm thông qua mã nguồn trực tiếp hay 

trung gian của nó. R ất có thể bạn sẽ không phải lập trình hàng ngày, nhưng

Page 9: Blog Khoa Học Máy Tính » Làm an toàn thông tin thì học gì_ » Print

5/17/2018 Blog Khoa Hoc Máy Tính » Làm an toàn thông tin thì hoc gì_ » Print - slidepdf.com

http://slidepdf.com/reader/full/blog-khoa-hoc-may-tinh-lam-an-toan-thong-tin-thi-hoc-gi-print 9/15

 

5/4/12 Blog Khoa Học Máy Tính » Làm an toàn thông tin thì học gì? » Print

www.procul.org/blog/2012/05/02/lam-an-toan-thong-tin-thi-học-gi/print/

 bạn phải viết đ ượ c những công cụ nhỏ hay những thư viện hỗ trợ cho công

 việc và các lập trình viên khác.

 V ậ y làm thế nào đ ể lập trình giỏi? Câu hỏi này làm tôi nhớ đ ến câu chuy ện

cườ i v ề ông lập trình viên không thể ra khỏi phòng tắm vì trên chai dầu gội

có ghi hướ ng dẫn sử dụng là “cho vào tay, xoa lên đ ầu, xả nướ c và lập lại”.

Từ khóa trong câu chuy ện này là “lập lại”: muốn giỏi lập trình thì cách tốt

nhất là lập trình nhiều vô!

Nhưng mà lập trình bằng ngôn ngữ gì bây giờ ? Đây là câu hỏi dễ làm cho

các lập trình viên oánh nhau nhất . Cá nhân tôi thấ y rằng ngườ i làm an

toàn thông tin bây giờ cần phải thông thạo C, x86 Assembly, Python (hoặc

Ruby) và JavaScript. Tôi có nói lý do tại sao trong phần giớ i thiệu sách tiếp

theo.

 Lậ p trình

Brian Kernighan, Dennis Ritchie, The C Programming Language

(2nd Edition): kinh điển và phải-đ ọc cho tất cả những ai muốn học C!

Linus Torvalds từng nói rằng “[...] all right-thinking people know

that (a) K&R are _right_ and (b) K&R are right “. Tôi đã từng rất sợ C(vì nghĩ nó phức tạp), và cuốn này giúp tôi không còn sợ nữa.

Randal Bryant, David O’Hallaron, Computer Systems: A

 Programmer’s Perspective: cuốn này đ ượ c dùng cho lớ p CS107. Đọc

cuốn này và làm bài tập của lớ p CS107 sẽ rèn cho bạn k ỹ năng lập

trình C và x86 Assembly. Sau khi đ ọc cuốn này, bạn sẽ biết tại sao có

lỗi tràn bộ đ ệm và cách khai thác chúng. Tôi rất thích các chươ ng nói

 v ề x86 và sự liên k ết giữa các công cụ như preprocessor, compiler và

linker.

David Hanson, C Interfaces and Implementations: muốn mau “lên

cơ ” bida thì phải thườ ng xuyên xem ngườ i khác chơ i đ ể mà học

“đ ườ ng” mớ i. Tươ ng tự, muốn giỏi lập trình thì phải thườ ng xuyên đ ọc

mã của những cao thủ. David Hanson là một cao thủ C và cuốn sách

Page 10: Blog Khoa Học Máy Tính » Làm an toàn thông tin thì học gì_ » Print

5/17/2018 Blog Khoa Hoc Máy Tính » Làm an toàn thông tin thì hoc gì_ » Print - slidepdf.com

http://slidepdf.com/reader/full/blog-khoa-hoc-may-tinh-lam-an-toan-thong-tin-thi-hoc-gi-print 10/15

 

5/4/12 Blog Khoa Học Máy Tính » Làm an toàn thông tin thì học gì? » Print

www.procul.org/blog/2012/05/02/lam-an-toan-thong-tin-thi-học-gi/print/

này sẽ chỉ cho bạn nhiều “đ ườ ng” mớ i trong việc sử dụng C. Tôi thích

các bài tập của cuốn sách này. Tôi nghĩ chỉ cần luy ện các bài này là đ ủ

đ ể trở thành một lập trình viên C hạng lông.

Justin Seitz, Gray Hat Python: Python Programming for Hackers

and Reverse Engineers: cuốn này sẽ giúp bạn sử dụng Python đ ể viết

những công cụ nho nhỏ mà bất kỳ ai làm an toàn thông tin cũng sẽ

phải viết một vài lần trong đ ờ i.

Douglas Crockford, JavaScript: The Good Parts: JavaScript là ngôn

ngữ thống trịWWW. Nếu bạn muốn làm an toàn (ứng dụng và trình

duy ệt) web thì bắt buộc phải thành thạo ngôn ngữ. Cuốn sách rất

mỏng này của tác giả JSON giớ i thiệu đ ầ y đ ủ những v ấn đ ề mà ngườ i

làm an toàn ứng dụng cần phải biết v ề JavaScript. Cuốn này có thểdùng làm sách giáo khoa thay cho cuốn “Javascript: The Definitive

Guide” trong lớ p CS142 (xem bên dướ i). Đọc cuốn này tôi mớ i hiểu

closure là gì và bản chất prototypal của JavaScript.

Sẽ đ ọc: những cuốn đ ượ c giớ i thiệu ở  đây .

 H ệ điều hành

 Abraham Silberschatz, Peter Galvin, and Greg Gagne, Operating

 System Concepts, 8th Edition Update: cuốn này là giáo trình của

lớ p CS140. Tôi nghĩ không cần đ ọc cuốn này, chỉ cần đ ọc notes và làm

 bài tập (viết các phần khác nhau của một hệ điều hành!) là đ ủ. Đây là

một lớ p nặng. Tôi theo đuổi lớ p CS140 này giữa chừng thì phải dừng

lại do không có đ ủ thờ i gian.

Intel Software Developer Manuals: tôi thấ y nên đ ọc tài liệu

của 80386 trướ c, rồi sau đó hẵng đ ọc tài liệu của các CPU mớ i hơ n.

Red Hat, Introduction to System Administration: tôi rất thích

chươ ng nói v ề “philosophy of sysadmin” của cuốn này và tôi nghĩ k ỹ

năng quản trịhệ thống là cực kỳ cần thiết khi muốn nghiên cứu các k ỹ

thuật tấn công/phòng thủ mớ i. Không thể làm an toàn v ận hành nếu

Page 11: Blog Khoa Học Máy Tính » Làm an toàn thông tin thì học gì_ » Print

5/17/2018 Blog Khoa Hoc Máy Tính » Làm an toàn thông tin thì hoc gì_ » Print - slidepdf.com

http://slidepdf.com/reader/full/blog-khoa-hoc-may-tinh-lam-an-toan-thong-tin-thi-hoc-gi-print 11/15

 

5/4/12 Blog Khoa Học Máy Tính » Làm an toàn thông tin thì học gì? » Print

www.procul.org/blog/2012/05/02/lam-an-toan-thong-tin-thi-học-gi/print/

không có k ỹ năng quản trịhệ thống.

Sẽ đ ọc: Mark Russinovich, David Solomon, Alex Ionescu, Windows

 Internals, Part 1: Covering Windows Server 2008 R2 and Windows

7.

 M ạng máy tính

Richard Stevens, TCP/IP Illustrated Vol I : cuốn sách này quá nổi

tiếng rồi nên tôi nghĩ không cần phải giớ i thiệu. Tôi chưa đ ọc Vol II,

III nhưng nhất đ ịnh sẽ tìm đ ọc trong thờ i gian tớ i. Lớ p CS144 dùng

một cuốn sách khác. Tôi chưa học lớ p này, nhưng tôi thấ y bài tập của

họ khá thú v ị.

Stephen Northcutt, Lenny Zeltser, Scott Winters, Karen Kent,

Ronald W. Ritchey, Inside Network Perimeter Security, 2nd Edition:

tôi thích cuốn này vì nó viết rất dễ hiểu v ề các v ấn đ ề và công cụ

thườ ng gặp trong an toàn mạng.

Sẽ đ ọc: Fyodor, Nmap Network Scanning.

Sau khi đã có những kiến thức cơ bản ở trên, bạn có thể theo đuổilớ p CS155. Lớ p này có trên Coursera v ớ i tên Computer Security . Song

song v ớ i lớ p CS155, bạn có thể tìm đ ọc các sách sau:

Tìm l ỗ i phầm mềm

Mark Dowd, John McDonald, Justin Schuh, The Art of Software

 Security Assessment: Identifying and Preventing Software

Vulnerabilities: Kinh điển và phải-đ ọc! Cuốn này là kinh thánh củalĩnh v ực an ninh ứng dụng. Tôi thích nhất phần nói v ề tràn số nguyên

 và những v ấn đ ề của ngôn ngữ C trong cuốn này.

Dafydd Stuttard, Marcus Pinto, The Web Application Hacker’s

 Handbook: Discovering and Exploiting Security Flaws: cuốn này tập

trung vào ứng dụng web. Tôi không đ ọc cuốn này k ỹ lắm, mà chỉ

Page 12: Blog Khoa Học Máy Tính » Làm an toàn thông tin thì học gì_ » Print

5/17/2018 Blog Khoa Hoc Máy Tính » Làm an toàn thông tin thì hoc gì_ » Print - slidepdf.com

http://slidepdf.com/reader/full/blog-khoa-hoc-may-tinh-lam-an-toan-thong-tin-thi-hoc-gi-print 12/15

 

5/4/12 Blog Khoa Học Máy Tính » Làm an toàn thông tin thì học gì? » Print

www.procul.org/blog/2012/05/02/lam-an-toan-thong-tin-thi-học-gi/print/

thườ ng dùng nó đ ể tham khảo. Dẫu v ậ y tôi nghĩ nó là một cuốn giớ i

thiệu tốt cho những ai mớ i bắt đ ầu.

Michal Zalewski, The Tangled Web: cuốn này mớ i xuất bản gần đây 

nhưng đã ngay lập tức trở thành kinh điển! Cuốn này đúc k ết quá

trình nghiên cứu v ề an ninh web trong vài năm trờ i của một trong

những hacker xuất sắc nhất thế giớ i. Tôi nghĩ chỉ cần đ ọc cuốn này là

 bạn đã có thể bắt đ ầu tìm lỗ kiếm tiền đ ượ c rồi. Cuốn này và cuốn ở 

trên đ ượ c dùng làm sách giáo khoa của lớ p CS142.

Sẽ đ ọc: Tobias Klein, A Bug Hunter’s Diary: A Guided Tour Through

the Wilds of Software Security

 D ị ch ngượ c mã phần mềm

Eldad Eilam, Reversing: Secrets of Reverse Engineering: mặc dù có

rất nhiều ngườ i viết v ề RCE nhưng tôi thấ y đây là cuốn duy nhất hệ

thống hóa đ ượ c các bướ c quan trọng cần phải làm khi cần dịch ngượ c

mã của một tệp chươ ng trình nào đó.

Chris Eagle, The IDA Pro Book: The Unofficial Guide to the World’s

 Most Popular Disassembler: IDA Pro là công cụ tốt nhất đ ể làm RCE và đây là cuốn sách tốt nhất v ề IDA Pro. Nắm v ững C và x86 Assembly 

thì chỉ cần đ ọc cuốn này là bạn có thể bắt đ ầu RCE các phần mềm

phức tạp.

Tham khảo các tài liệu v ề dịch ngượ c mã phần mềm của lớ p PenTest

của đ ại học NYU.

Sẽ đ ọc: Christian Collberg, Surreptitious Software: Obfuscation,

Watermarking, and Tamperproofing for Software Protection:

Obfuscation, Watermarking, and Tamperproofing for Software

 Protection

Sẽ đ ọc: Michael Sikorski, Andrew Honig, Practical Malware

 Analysis: The Hands-On Guide to Dissecting Malicious Software

Page 13: Blog Khoa Học Máy Tính » Làm an toàn thông tin thì học gì_ » Print

5/17/2018 Blog Khoa Hoc Máy Tính » Làm an toàn thông tin thì hoc gì_ » Print - slidepdf.com

http://slidepdf.com/reader/full/blog-khoa-hoc-may-tinh-lam-an-toan-thong-tin-thi-hoc-gi-print 13/15

 

5/4/12 Blog Khoa Học Máy Tính » Làm an toàn thông tin thì học gì? » Print

www.procul.org/blog/2012/05/02/lam-an-toan-thong-tin-thi-học-gi/print/

 Điều tra số (digital forensics)

Brian Carrier, File System Forensic Analysis: Brian Carrier là tác giả

của bộ công cụ forensic nổi tiếng The Sleuth Kit. Cuốn này đã giúp tôi

“khai quật” đ ượ c một đoạn video bị xóa lưu trong một máy camera

quay lén các máy ATM.

Sẽ đ ọc: Cory Altheide, Harlan Carvey, Digital Forensics with Open

 Source Tools

 M ật mã hóa

Niels Ferguson, Bruce Schneier, Practical Cryptography: tôi có

nhiều k ỷ niệm đ ẹp v ớ i cuốn này . Hầu hết các k ết quả làm việc của

tôi trong vài năm v ừa rồi là nhờ vào việc đ ọc cuốn này. Tôi chép lại

đây giớ i thiệu rất hay của một ngườ i bạn: “The best security books,

you can read “inside out”, taking any recommendation on what to do

and looking for people to do the opposite to find flaws. “Firewalls

and Internet Security” was like that. So was “Practical Unix 

 Security”, and so is TOASSA. This is that book for crypto. It’s also the

one book on crypto you should allow yourself to read until you start 

actually finding crypto flaws.“

Jonathan Katz, Yehuda Lindell, Introduction to Modern

Cryptography: Principles and Protocols: đây là sách giáo khoa của

lớ p CS255. Lớ p này là lớ p Cryptography trên Coursera.

Sẽ đ ọc: Adam Young, Moti Yung, Malicious Cryptography: Exposing

Cryptovirology

Chú ý đây là những cuốn sách tập trung vào công việc hàng ngày và sở 

thích của tôi — nói cách khác, còn thiếu nhiều sách của các mảng công việc

khác. Dẫu v ậ y tôi nghĩ những cuốn sách này sẽ giúp bạn có đ ượ c một kiến

thức nền tảng v ững chắc đ ể từ đó theo đuổi các nghề nghiệp khác nhau

trong ngành an toàn thông tin. Trong thờ i gian tớ i tôi sẽ cập nhật thêm

những cuốn sách mà tôi đang và sẽ đ ọc. Nếu bạn biết sách nào hay thì hãy 

Page 14: Blog Khoa Học Máy Tính » Làm an toàn thông tin thì học gì_ » Print

5/17/2018 Blog Khoa Hoc Máy Tính » Làm an toàn thông tin thì hoc gì_ » Print - slidepdf.com

http://slidepdf.com/reader/full/blog-khoa-hoc-may-tinh-lam-an-toan-thong-tin-thi-hoc-gi-print 14/15

 

5/4/12 Blog Khoa Học Máy Tính » Làm an toàn thông tin thì học gì? » Print

www.procul.org/blog/2012/05/02/lam-an-toan-thong-tin-thi-học-gi/print/

giớ i thiệu cho tôi.

Ngoài ra trong các sách mà tôi v ừa liệt kê không có cuốn sách toán (và lý 

thuy ết khoa học máy tính) nào cả. Tôi nghĩ bạn sẽ tự có câu trả lờ i cho câu

hỏi “Có nên học toán hay không?” khi bắt đ ầu học mật mã. V ề hai mảng

này thì tôi rất thích lớ p “Great Ideas in Theoretical Computer Science”

của Scott Aaronson và cuốn “ A Computational Introduction to Number

Theory and Algebra” của Victor Shoup. Thích đ ến nỗi tôi phải viết đoạn này 

chỉđ ể nhắc đ ến chúng . Tôi cũng đã từng dành ra nhiều tháng đ ể đánh

 v ật v ớ i Introduction to the Theory of Computation của Michael Sipser.

Nhưng thôi, tôi không muốn giớ i thiệu sách toán nữa vì tôi rất dốt món

này!

5 Bắt đ ầu nói nhảm và hết

Phew! Không ngờ là tôi cũng viết đ ượ c cho đ ến đây (hi v ọng là bạn v ẫn

đang đ ọc!). Tôi đ ịnh viết dông dài v ề thái đ ộ học tập này nọ, nhưng thôi bài

đã dài và nhiều thông tin rồi, nên tôi chỉnói ngắn gọn thế này:

Cái mà tôi v ừa “v ẽ” ra là một con đ ườ ng. Thú thật là tôi không biết đích đ ến

của nó là gì — tôi chỉbiết rằng hành trình mà tôi đã đi qua (và hi v ọng là

những chặng đ ườ ng sắp tớ i) đã mang đ ến cho tôi rất nhiều niềm vui —

niềm vui của một con ngườ i đi khám phá thế giớ i, chinh phục những thử

thách, đ ể rồi chia sẻ những câu chuy ện hay ho v ớ i tất cả mọi ngườ i.Mỗi

ngày tôi đ ều dành thờ i gian đ ọc sách, làm bài tập, viết mã hoặc chứng minh

một cái gì đó. Không ai bắt tôi phải làm những chuy ện đó. Có những thứ

tôi học cũng không (hoặc chưa) có liên quan gì đ ến công việc. Tôi học chỉ vì

tôi thích và tò mò. Tôi học vì tôi muốn hiểu thêm những thứ mà tôi cho là

hay ho. Tôi học vì tôi muốn đi mãi, đi mãi, đi đ ến tận cùng những cái mà

ngườ i ta viết trong sách, đ ể xem ở đó có gì hay không.

Hôm rồi tôi đ ọc một mẩu chuy ện v ề Richard Feynman, trong đó có đoạn k ể

 v ề lúc Feynman bịbệnh gần đ ất xa trờ i, ông tâm sự rằng, “[I'm going to die

 but I'm not as sad as you think because] when you get as old as I am, you

start to realize that you’ve told most of the good stuff you know to other

Page 15: Blog Khoa Học Máy Tính » Làm an toàn thông tin thì học gì_ » Print

5/17/2018 Blog Khoa Hoc Máy Tính » Làm an toàn thông tin thì hoc gì_ » Print - slidepdf.com

http://slidepdf.com/reader/full/blog-khoa-hoc-may-tinh-lam-an-toan-thong-tin-thi-hoc-gi-print 15/15

 

5/4/12 Blog Khoa Học Máy Tính » Làm an toàn thông tin thì học gì? » Print

www.procul.org/blog/2012/05/02/lam-an-toan-thong-tin-thi-học-gi/print/

people anyway”. Đươ ng nhiên những gì tôi biết làm sao mà “good” bằng

những gì Feynman biết, nhưng dẫu sao thì tôi cũng sẽ học theo Feynman:

có biết chuy ện gì hay ho thì k ể cho nhiều ngườ i khác cùng biết. Bài này là

một chuy ện như thế.

Happy hacking!

(cảm ơ n đ ại ca M. đã đ ọc và sử a bản nháp của bài này)

Bản in lấ y từ Blog Khoa Học Máy Tính: http://www.procul.org/blog

URL đ ến bài:: http://www.procul.org/blog/2012/05/02/lam-an-

toan-thong-tin-thi-h%e1%bb%8dc-gi/

Copyright © 2005--2012 Blog Khoa Học Máy Tính.