text:
Làm an toàn thông tin thì học gì?
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). 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.
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
- 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.
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 đế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ện: 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ụ.
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ài chí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ã độ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ĩ 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ổ.
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ần 4 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 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ình mà 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ờ?
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ình mà 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ờ?
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 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 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 không có kỹ năng quản trị hệ thống.
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ổi lớ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ủa lĩ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ỉ 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
- 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: Michael Sikorski, Andrew Honig, Practical Malware Analysis: The Hands-On Guide to Dissecting Malicious Software
Đ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.
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 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!
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 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)
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 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)
Comments
Em rất muốn đọc cuốn "The_C_Programming_Language" nhưng tìm ở đâu Việt Nam thì có ạ? Em tìm mãi không ra ạ. Mọi người biết ở đâu có chỉ giùm em!
Minh chuyen ve java va cung co tiep xuc voi ma hoa kha nhieu va co nhieu hung thu voi ma hoa du lieu va an toan thong tin. Hien gio minh cung dang danh thoi gian hoc python nen co le minh se thu voi Python Programming for Hackers and Reverse Engineers xem the nao.
Minh cung co tham gia mot so khoa hoc online ma Thai da de cap o tren. Cam thay hau het khoa hoc deu rat thu vi. Minh da thu qua Udacity, Coursera va Edx. Co le cach day cua Udacity rat tot voi beginners. Va Coursera thi co kha nhieu khoa hoc tap nham nen cung phai tim kiem kha khi. Edx thi con moi nen rat it khoa hoc. Ngoai ra minh cung thay staford co cung cap mot so khoa hoc mien phi tren trang chu cua ho ma khong public tren coursera.
Anyway, chuc Thai thanh cong trong cong viec va cuoc song.
Vui vì biết đc blog này của a:D
Cũng khá lo bởi vì không biết mình sẽ đi được tới đâu trong cái chặng đường đầy chông gai này :)
Have a good day !
Em cũng học ngành MIS bên đH Kinh tế TP.HCM.
Tương lai thật mù mịch nhưng " 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 ". NghĨ như vậy có vẻ tốt hơn cho cái đầu e bây giờ!
Một từ về cảm nhận sau khi đọc xong đó là thật sự rất phấn khích :) Mong anh sẽ chia sẻ thêm nhiều kinh nghiệm cho cộng đồng hơn nữa. Chúc anh sức khỏe và thành đạt :)
Liên kết: cách trị rụng tóc ở nữ
Mong anh đừng xóa hay ẩn bài viết này đi nhé! Em còn có cơ hội đọc lại nữa.
Em cảm ơn anh!
Trích:
"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"
....thích....
TÔI ĐỌC CHỈ VÌ TÔI THÍCH VÀ TÒ MÒ
TÔI ĐỌC VÌ TÔI MUỐN HIỂU NHỮNG THỨ TÔI CHO LÀ HAY HO
Và vì nó có liên quan tới ng mà tôi quan tâm...
....thích....
TÔI ĐỌC CHỈ VÌ TÔI THÍCH VÀ TÒ MÒ
TÔI ĐỌC VÌ TÔI MUỐN HIỂU NHỮNG THỨ TÔI CHO LÀ HAY HO
Và vì nó có liên quan tới ng mà tôi quan tâm...
Bạn có thể chia sẻ thêm về các địa chỉ đào tạo An toàn thông tin tại Việt nam được không?
Chắc hẳn các bạn trẻ đam mê An toàn thông tin rất quan tâm đến điều này.
Cảm ơn những dòng chia sẻ của a <3
Bản thân em cũng là một SV an toàn thông tin, nhưng anh có thể cho em biết có thể liên lạc với anh như thế nào được không? Vì e có một số thắc mắc muốn hỏi?

markdown:
### Làm an toàn thông tin thì học gì?
**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). 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](http://www.procul.org/blog/2005/09/01/nnm-m%E1%BB%A9c-ngu-d%E1%BB%91t/)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.
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
- 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](http://vnhacker.blogspot.com/2011/11/tim-lo-lay-tien.html)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 đế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ện:
[giám sát an ninh mạng](http://vnhacker.blogspot.com/2009/12/giam-sat-ninh-mang-hay-la-lam-nao-e.html).
- 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ụ.
[phần thưởng](http://vnhacker.blogspot.com/2007/01/phn-thng-no-dnh-cho-ngi-lm-bo-mt.html)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ài chí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ã độ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](http://googleblog.blogspot.com/2010/01/new-approach-to-china.html).
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ĩ 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](http://googleonlinesecurity.blogspot.com/2010/03/chilling-effects-of-malware.html)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](http://www.hvaonline.net/hvaonline/posts/list/38818.hva). 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](http://www.ou.edu.vn/dtn/Pages/Moi-ban-tham-gia-cuoc-thi-Anh-sang-thoi-dai-2012.aspx)), 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ổ.
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ần 4 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 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
Bạn có thể tham khảo chương trình
Ngoài Stanford và Coursera ra, bạn cũng có thể tham khảo các lớp trên
[Coursera](https://www.coursera.org/).
Bạn có thể tham khảo chương trình
[SCPD](http://scpd.stanford.edu/)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ình mà 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](http://www.udacity.com/), [OCW](http://ocw.mit.edu/index.htm)và [MITx](http://mitx.mit.edu/). Khi tôi đang viết những dòng này thì MIT và Harvard công bố dự án [edX](http://web.mit.edu/press/2012/mit-harvard-edx-announcement.html). 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](http://www.procul.org/blog/2007/06/12/ma-hoa-tri-th%E1%BB%A9c-nh%C6%B0-th%E1%BA%BF-nao/)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 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](http://cs107.stanford.edu/). Đọ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 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](http://crypto.stanford.edu/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](https://sites.google.com/site/cinterfacesimplementations/recommended-books). **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](http://www.stanford.edu/~ouster/cgi-bin/cs140-winter12/index.php). 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](http://www.scs.stanford.edu/05au-cs240c/lab/i386/toc.htm)trước, rồi sau đó hẵng đọc tài liệu của các [CPU mới hơn](http://www.intel.com/content/www/us/en/processors/architectures-software-developer-manuals.html).
- 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 không có kỹ năng quản trị hệ thống. **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](http://cs144.stanford.edu/)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ổi lớp
[CS155](http://cs155.stanford.edu/). Lớp này có trên Coursera với tên [Computer Security](http://www.security-class.org/). 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ủa lĩ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ỉ 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](http://crypto.stanford.edu/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](http://pentest.cryptocity.net/reverse-engineering/)của lớp PenTest của đại học NYU.
- Sẽ đọc: Michael Sikorski, Andrew Honig,
*Practical Malware Analysis: The Hands-On Guide to Dissecting Malicious Software* **Đ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](http://www.sleuthkit.org/). 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](http://cs255.stanford.edu/). Lớp này là lớp [Cryptography](https://www.coursera.org/course/crypto)trên Coursera.
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 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
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](http://www.scottaaronson.com/blog/)và cuốn " [A Computational Introduction to Number Theory and Algebra](http://shoup.net/ntb/)" 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](http://www-math.mit.edu/~sipser/)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 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á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 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)*
## Comments
Em rất muốn đọc cuốn "The_C_Programming_Language" nhưng tìm ở đâu Việt Nam thì có ạ? Em tìm mãi không ra ạ. Mọi người biết ở đâu có chỉ giùm em!
Minh chuyen ve java va cung co tiep xuc voi ma hoa kha nhieu va co nhieu hung thu voi ma hoa du lieu va an toan thong tin. Hien gio minh cung dang danh thoi gian hoc python nen co le minh se thu voi Python Programming for Hackers and Reverse Engineers xem the nao.
Minh cung co tham gia mot so khoa hoc online ma Thai da de cap o tren. Cam thay hau het khoa hoc deu rat thu vi. Minh da thu qua Udacity, Coursera va Edx. Co le cach day cua Udacity rat tot voi beginners. Va Coursera thi co kha nhieu khoa hoc tap nham nen cung phai tim kiem kha khi. Edx thi con moi nen rat it khoa hoc. Ngoai ra minh cung thay staford co cung cap mot so khoa hoc mien phi tren trang chu cua ho ma khong public tren coursera.
Anyway, chuc Thai thanh cong trong cong viec va cuoc song.
Vui vì biết đc blog này của a:D
Cũng khá lo bởi vì không biết mình sẽ đi được tới đâu trong cái chặng đường đầy chông gai này :)
Have a good day !
Em cũng học ngành MIS bên đH Kinh tế TP.HCM.
Tương lai thật mù mịch nhưng " 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 ". NghĨ như vậy có vẻ tốt hơn cho cái đầu e bây giờ!
Một từ về cảm nhận sau khi đọc xong đó là thật sự rất phấn khích :) Mong anh sẽ chia sẻ thêm nhiều kinh nghiệm cho cộng đồng hơn nữa. Chúc anh sức khỏe và thành đạt :)
Liên kết: cách trị rụng tóc ở nữ
Mong anh đừng xóa hay ẩn bài viết này đi nhé! Em còn có cơ hội đọc lại nữa.
Em cảm ơn anh!
Trích:
"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"
....thích....
TÔI ĐỌC CHỈ VÌ TÔI THÍCH VÀ TÒ MÒ
TÔI ĐỌC VÌ TÔI MUỐN HIỂU NHỮNG THỨ TÔI CHO LÀ HAY HO
Và vì nó có liên quan tới ng mà tôi quan tâm...
....thích....
TÔI ĐỌC CHỈ VÌ TÔI THÍCH VÀ TÒ MÒ
TÔI ĐỌC VÌ TÔI MUỐN HIỂU NHỮNG THỨ TÔI CHO LÀ HAY HO
Và vì nó có liên quan tới ng mà tôi quan tâm...
Bạn có thể chia sẻ thêm về các địa chỉ đào tạo An toàn thông tin tại Việt nam được không?
Chắc hẳn các bạn trẻ đam mê An toàn thông tin rất quan tâm đến điều này.
Cảm ơn những dòng chia sẻ của a <3
Bản thân em cũng là một SV an toàn thông tin, nhưng anh có thể cho em biết có thể liên lạc với anh như thế nào được không? Vì e có một số thắc mắc muốn hỏi?


text:
Từ ngày 10/05/2016 đến hết ngày 16/05/2016, 300 khách hàng đầu tiên mỗi ngày đến mua sắm tại VinMart Cam Ranh & Ninh Thuận có hóa đơn mua hàng trị giá từ 500.000 đồng trở lên, sẽ được tham gia vòng quay may mắn với cơ hội trúng 100% các giải thưởng: Tủ lạnh Toshiba 600 lít, Tivi Led LG 43 inches, Máy giặt Panasonic 8.5kg, Quạt hơi nước Sunhouse và hàng ngàn giải thưởng có giá trị khác.
Siêu thị VinMart Cam Ranh & Ninh Thuận cam kết mang đến quý khách hàng những sản phẩm chất lượng với mức giá hấp dẫn cùng hàng trăm quà tặng giá trị:
Ngoài ra vẫn còn hàng trăm mặt hàng khuyến mãi hấp dẫn khác đang chào đón quý khách hàng đến tham quan mua sắm tại VinMart Cam Ranh & Ninh Thuận.
Đến với siêu thị VinMart, Quý khách hàng còn được tích lũy ngay 5% giá trị hóa đơn khi sử dụng thẻ Vingroup Card. Để biết thêm thông tin chi tiết các chương trình khuyến mãi, Quý khách vui lòng liên hệ quầy dịch vụ khách hàng để được tư vấn trực tiếp.
VinMart – Vì chất lượng cuộc sống của mọi nhà.
Bình luận của bạn

markdown:
Từ ngày 10/05/2016 đến hết ngày 16/05/2016, 300 khách hàng đầu tiên mỗi ngày đến mua sắm tại
**VinMart Cam Ranh & Ninh Thuận** có hóa đơn mua hàng trị giá từ 500.000 đồng trở lên, sẽ được tham gia vòng quay may mắn với cơ hội trúng 100% các giải thưởng: **Tủ lạnh Toshiba 600 lít, Tivi Led LG 43 inches, Máy giặt Panasonic 8.5kg, Quạt hơi nước Sunhouse và hàng ngàn giải thưởng có giá trị khác.**
Siêu thị
**VinMart Cam Ranh & Ninh Thuận** cam kết mang đến quý khách hàng những sản phẩm chất lượng với mức giá hấp dẫn cùng hàng trăm quà tặng giá trị:
|
|Sản phẩm |
|Giá khuyến mãi
|Cà rốt loại 1||17.500đ/kg|
|Cá hồi phi lê||410.000đ/kg|
|Bí xanh Đà Lạt||12.900đ/kg|
|Đậu hũ mịn Ông Kim 220g||6.500đ/cây|
|Xúc xích Đức Le Gourmet 200g||31.500đ/gói|
|Gạo Tám thơm Thái Lan sữa 5kg||89.900đ/gói|
|Nước mắm Chinsu cá hồi đậm đặc chai 500ml||28.800đ/chai|
|Dầu nành Tường An 2 lít||87.000đ/chai|
|Kem que Merino X các vị||6.900đ/cây|
|Sữa chua ăn Ba Vì có đường 100g||4.300đ/hộp|
|Sữa tiệt trùng cô gái Hà Lan 220ml các vị||5.200đ/bịch|
|Sữa tiệt trùng Ovaltine 180ml||25.900đ/lốc|
|Nước giải khát Coca Cola chai 2,25 lít||18.800đ/chai|
|Trà Olong Tea plus 350ml||4.800đ/chai|
|Nước nho ép Vfresh 1 lít||41.300đ/chai|
|Bánh gạo IChi 60g||9.200đ/gói|
|Bánh trứng sữa Belgi 250g||20.900đ/gói|
|Kem đánh răng Aquafresh loại Extra Fresh/Cavity Protection 181.4g||71.000đ – mua 1 lốc tặng 01 hũ thủy tinh Indo 550ml|
|Bột giặt Ariel 3,8kg||163.900đ/gói|
|BVS Kotex Style lưới siêu thấm, siêu mỏng cánh 20M||31.200đ/gói|
|Sữa tắm Purite Provence 850ml||179.000 đ/chai|
|Máy xay sinh tố Goldsun||261.000 đ/cái|
|Bếp gas du lịch Duxton||129.000 đ/cái|
Ngoài ra vẫn còn hàng trăm mặt hàng khuyến mãi hấp dẫn khác đang chào đón quý khách hàng đến tham quan mua sắm tại
**VinMart Cam Ranh & Ninh Thuận**.
Đến với siêu thị VinMart, Quý khách hàng còn được tích lũy ngay 5% giá trị hóa đơn khi sử dụng thẻ Vingroup Card. Để biết thêm thông tin chi tiết các chương trình khuyến mãi, Quý khách vui lòng liên hệ quầy dịch vụ khách hàng để được tư vấn trực tiếp.
**VinMart – Vì chất lượng cuộc sống của mọi nhà.**
## Bình luận của bạn

WARC-Type: response

Content-Type: application/http; msgtype=response

WARC-Truncated: length

WARC-Identified-Payload-Type: text/html

Server: cloudflare-nginx

X-Content-Type-Options: nosniff

Connection: close

Set-Cookie: __cfduid=d5b518b152b7ede419e8a142fd9ae44011506041028; expires=Sat, 22-Sep-18 00:43:48 GMT; path=/; domain=.vuakhuyenmai.vn; HttpOnly

Vary: Accept-Encoding

Content-Type: text/html; charset=UTF-8


text:
Văn phòng cho thuê diện tích 180-250 m2 Quận 1
Tòa nhà Kumho Asiana Plaza cho thuê văn phòng Quận 1
Lê Duẩn, Quận 1
Diện tích: 120, 200, 300, 500, 700 m2
Hướng: Nam
Giá thuê: 38.0 USD/m2
Tòa nhà Central plaza cho thuê văn phòng tại Quận 1
Lê Duẩn, Quận 1
Diện tích: 100, 200, 300 m2
Hướng: Nam
Giá thuê: 28.0 USD/m2
Tòa nhà Beta Tower cho thuê văn phòng tại Quận 1
Hàm Nghi, Quận 1
Diện tích: 182, 364 m2
Hướng: Tây Bắc
Giá thuê: 22.0 USD/m2
Tòa nhà HD Bank Building cho thuê văn phòng Quận 1
Nguyễn Thị Minh Khai, Quận 1
Diện tích: 70, 100, 200, 300 m2
Hướng: Tây Bắc
Giá thuê: 24.0 USD/m2
Central Garden Building cho thuê văn phòng Quận 1
Võ Văn Kiệt, Quận 1
Diện tích: 100, 150, 200, 300, 500 m2
Hướng: Đông Nam
Giá thuê: 16.0 USD/m2
Tòa nhà CJ Tower cho thuê văn phòng tại Quận 1
Lê Thánh Tôn, Quận 1
Diện tích: 150, 200, 300 m2
Hướng: Đông Nam
Giá thuê: 25.0 USD/m2
Bitexco Office Building cho thuê văn phòng tại Quận 1
Nguyễn Huệ, Quận 1
Diện tích: 60, 100, 200, 300 m2
Hướng: Bắc
Giá thuê: 26.0 USD/m2
Tòa nhà 18 HBT Building cho thuê văn phòng Quận 1
Hai Bà Trưng, Quận 1
Diện tích: 90, 110, 200 m2
Hướng: Tây Nam
Giá thuê: 23.0 USD/m2
Tòa nhà Yoco Building cho thuê văn phòng tại Quận 1
Nguyễn Thị Minh Khai, Quận 1
Diện tích: 80, 100, 200 m2
Hướng: Tây Bắc
Giá thuê: 18.0 USD/m2
Tòa nhà Samco Building cho thuê văn phòng Quận 1
Võ Văn Kiệt, Quận 1
Diện tích: 150, 200, 300, 500, 700,... m2
Hướng: Đang cập nhật
Giá thuê: 14.0 USD/m2
Tòa nhà Thanh Nhàn Building cho thuê văn phòng tại Quận 1
Bùi Thị Xuân, Quận 1
Diện tích: 60, 90, 140, 200 m2
Hướng: Chưa xác định
Giá thuê: 10.0 USD/m2
Tòa nhà Queen Ann Building cho thuê văn phòng tại Quận 1
Lê Lai, Quận 1
Diện tích: 60, 146, 225, 450 m2
Hướng: Chưa xác định
Giá thuê: 34.0 USD/m2
Tòa nhà Hải Hà Building cho thuê văn phòng Quận 1
Nguyễn Văn Thủ, Quận 1
Diện tích: 100, 150, 200, 300 m2
Hướng: Đang cập nhật
Giá thuê: 19.0 USD/m2
Tòa nhà Metropolitan Tower cho thuê văn phòng tại Quận 1
Đồng Khởi, Quận 1
Diện tích: 200, 300, 500 m2
Hướng: Chưa xác định
Giá thuê: 35.0 USD/m2
Tòa nhà Harbour View Tower cho thuê văn phòng tại Quận 1
Nguyễn Huệ, Quận 1
Diện tích: 200, 300, 500 m2
Hướng: Nam
Giá thuê: 17.5 USD/m2
Tòa nhà Sailing Tower cho thuê văn phòng Quận 1
Nguyễn Thị Minh Khai, Quận 1
Diện tích: 100, 150, 200, 550 m2
Hướng: Đang cập nhật
Giá thuê: 27.0 USD/m2
Tòa nhà Empress Tower cho thuê văn phòng Quận 1
Hai Bà Trưng, Quận 1
Diện tích: 100, 200, 300, 500 m2
Hướng: Chưa xác định
Giá thuê: 26.0 USD/m2
Tòa nhà Hoa Lâm Building cho thuê văn phòng Quận 1
Thi Sách, Quận 1
Diện tích: 20, 60, 80, 100, 200,... m2
Hướng: Tây
Giá thuê: 17.0 USD/m2
Tòa nhà Nguyễn Kim Building cho thuê văn phòng Quận 1
Nguyễn Thị Minh Khai, Quận 1
Diện tích: 100, 150, 200, 300, 390 m2
Hướng: Tây Bắc
Giá thuê: 2.0 USD/m2
Tòa nhà Khang Thông Building cho thuê văn phòng Quận 1
Nguyễn Thị Minh Khai, Quận 1
Diện tích: 100, 200, 300, 400 m2
Hướng: Tây Bắc
Giá thuê: 15.0 USD/m2
Tòa nhà Le Meridien Saigon cho thuê văn phòng tại Quận 1
Tôn Đức Thắng, Quận 1
Diện tích: 100, 200, 300, 500, 700,... m2
Hướng: Đông
Giá thuê: 29.0 USD/m2

markdown:
# Văn phòng cho thuê diện tích 180-250 m
2 Quận 1 [Văn phòng cho thuê](./cho-thue-van-phong.html)diện tích từ 180 - 250 m 2tại khu vực Quận 1 với giá tốt nhất TP HCM. Dịch vụ [văn phòng cho thuê Quận 1](./van-phong-cho-thue-quan-1.html)tại Office Saigon đảm bảo mang đến sự hài lòng cho quý khách hàng và đối tác, với chính sách ưu đãi giảm nhiều chi phí dịch vụ ngoài giờ sẽ đem lại cho quý khách hàng và đối tác nhiều khoản tiết kiệm lâu dài. Hãy liên hệ với chúng tôi để được tư vấn lựa chọn nhanh chóng, chính xác và tiết kiệm thời gian - Hotline: 0987 110 011 [Tòa nhà Kumho Asiana Plaza cho thuê văn phòng Quận 1](./toa-nha-kumho-asiana-plaza.html)
Lê Duẩn, Quận 1
Diện tích: 120, 200, 300, 500, 700 m2
Hướng: Nam
Giá thuê: 38.0 USD/m2
[Tòa nhà Central plaza cho thuê văn phòng tại Quận 1](./toa-nha-central-plaza.html)
Lê Duẩn, Quận 1
Diện tích: 100, 200, 300 m2
Hướng: Nam
Giá thuê: 28.0 USD/m2
[Tòa nhà Beta Tower cho thuê văn phòng tại Quận 1](./toa-nha-beta-tower.html)
Hàm Nghi, Quận 1
Diện tích: 182, 364 m2
Hướng: Tây Bắc
Giá thuê: 22.0 USD/m2
[Tòa nhà HD Bank Building cho thuê văn phòng Quận 1](./toa-nha-hd-bank-building.html)
Nguyễn Thị Minh Khai, Quận 1
Diện tích: 70, 100, 200, 300 m2
Hướng: Tây Bắc
Giá thuê: 24.0 USD/m2
[Central Garden Building cho thuê văn phòng Quận 1](./toa-nha-central-garden-building.html)
Võ Văn Kiệt, Quận 1
Diện tích: 100, 150, 200, 300, 500 m2
Hướng: Đông Nam
Giá thuê: 16.0 USD/m2
[Tòa nhà CJ Tower cho thuê văn phòng tại Quận 1](./toa-nha-cj-tower.html)
Lê Thánh Tôn, Quận 1
Diện tích: 150, 200, 300 m2
Hướng: Đông Nam
Giá thuê: 25.0 USD/m2
[Bitexco Office Building cho thuê văn phòng tại Quận 1](./toa-nha-bitexco-office-building.html)
Nguyễn Huệ, Quận 1
Diện tích: 60, 100, 200, 300 m2
Hướng: Bắc
Giá thuê: 26.0 USD/m2
[Tòa nhà 18 HBT Building cho thuê văn phòng Quận 1](./toa-nha-18hbt-building.html)
Hai Bà Trưng, Quận 1
Diện tích: 90, 110, 200 m2
Hướng: Tây Nam
Giá thuê: 23.0 USD/m2
[Tòa nhà Yoco Building cho thuê văn phòng tại Quận 1](./toa-nha-yoco-building.html)
Nguyễn Thị Minh Khai, Quận 1
Diện tích: 80, 100, 200 m2
Hướng: Tây Bắc
Giá thuê: 18.0 USD/m2
[Tòa nhà Samco Building cho thuê văn phòng Quận 1](./toa-nha-samco-building.html)
Võ Văn Kiệt, Quận 1
Diện tích: 150, 200, 300, 500, 700,... m2
Hướng: Đang cập nhật
Giá thuê: 14.0 USD/m2
[Tòa nhà Thanh Nhàn Building cho thuê văn phòng tại Quận 1](./toa-nha-thanh-nhan-building.html)
Bùi Thị Xuân, Quận 1
Diện tích: 60, 90, 140, 200 m2
Hướng: Chưa xác định
Giá thuê: 10.0 USD/m2
[Tòa nhà Queen Ann Building cho thuê văn phòng tại Quận 1](./toa-nha-queen-ann-building.html)
Lê Lai, Quận 1
Diện tích: 60, 146, 225, 450 m2
Hướng: Chưa xác định
Giá thuê: 34.0 USD/m2
[Tòa nhà Hải Hà Building cho thuê văn phòng Quận 1](./toa-nha-hai-ha-building.html)
Nguyễn Văn Thủ, Quận 1
Diện tích: 100, 150, 200, 300 m2
Hướng: Đang cập nhật
Giá thuê: 19.0 USD/m2
[Tòa nhà Metropolitan Tower cho thuê văn phòng tại Quận 1](./toa-nha-metropolitan-tower.html)
Đồng Khởi, Quận 1
Diện tích: 200, 300, 500 m2
Hướng: Chưa xác định
Giá thuê: 35.0 USD/m2
[Tòa nhà Harbour View Tower cho thuê văn phòng tại Quận 1](./toa-nha-harbour-view-tower.html)
Nguyễn Huệ, Quận 1
Diện tích: 200, 300, 500 m2
Hướng: Nam
Giá thuê: 17.5 USD/m2
[Tòa nhà Sailing Tower cho thuê văn phòng Quận 1](./toa-nha-sailing-tower.html)
Nguyễn Thị Minh Khai, Quận 1
Diện tích: 100, 150, 200, 550 m2
Hướng: Đang cập nhật
Giá thuê: 27.0 USD/m2
[Tòa nhà Empress Tower cho thuê văn phòng Quận 1](./toa-nha-empress-tower.html)
Hai Bà Trưng, Quận 1
Diện tích: 100, 200, 300, 500 m2
Hướng: Chưa xác định
Giá thuê: 26.0 USD/m2
[Tòa nhà Hoa Lâm Building cho thuê văn phòng Quận 1](./toa-nha-hoa-lam-building.html)
Thi Sách, Quận 1
Diện tích: 20, 60, 80, 100, 200,... m2
Hướng: Tây
Giá thuê: 17.0 USD/m2
[Tòa nhà Nguyễn Kim Building cho thuê văn phòng Quận 1](./toa-nha-nguyen-kim-building.html)
Nguyễn Thị Minh Khai, Quận 1
Diện tích: 100, 150, 200, 300, 390 m2
Hướng: Tây Bắc
Giá thuê: 2.0 USD/m2
[Tòa nhà Khang Thông Building cho thuê văn phòng Quận 1](./toa-nha-khang-thong-building.html)
Nguyễn Thị Minh Khai, Quận 1
Diện tích: 100, 200, 300, 400 m2
Hướng: Tây Bắc
Giá thuê: 15.0 USD/m2
[Tòa nhà Le Meridien Saigon cho thuê văn phòng tại Quận 1](./toa-nha-le-meridien-saigon.html)
Tôn Đức Thắng, Quận 1
Diện tích: 100, 200, 300, 500, 700,... m2
Hướng: Đông
Giá thuê: 29.0 USD/m2

Server: Apache/2.2.27 (CentOS)

Referrer-Policy: no-referrer-when-downgrade

X-Frame-Options: SAMEORIGIN

X-XSS-Protection: 1; mode=block

Powered-by: Hoa.Phin 1.1

Pragma: no-cache

Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0


text:
Copy and paste the embed code below. The code changes based on your selection.
The code has been copied to your clipboard.
Video size
https://www.voatiengviet.com/a/1782450.html
Cung điện Hampton Court là một trong những điểm tham quan nổi tiếng nhất London không chỉ vì là nơi cư ngụ của Hoàng gia Anh trong những thế kỷ trước, mà còn nhuốm màu sắc kỳ bí với những hiện tượng lạ lùng khó giải thích.
Hiển thị bình luận
Ý kiến của bạn
Hiển thị bình luận

markdown:
Copy and paste the embed code below. The code changes based on your selection.
The code has been copied to your clipboard.
Video size
https://www.voatiengviet.com/a/1782450.html
Cung điện Hampton Court là một trong những điểm tham quan nổi tiếng nhất London không chỉ vì là nơi cư ngụ của Hoàng gia Anh trong những thế kỷ trước, mà còn nhuốm màu sắc kỳ bí với những hiện tượng lạ lùng khó giải thích.
Hiển thị bình luận
## Ý kiến của bạn
Hiển thị bình luận

X-UA-Compatible: IE=edge

Cache-Control: public, max-age=300

Content-Language: vi

Content-Type: text/html; charset=utf-8


text:
Copy and paste the embed code below. The code changes based on your selection.
The code has been copied to your clipboard.
Video size
https://www.voatiengviet.com/a/2830310.html
Cụm từ Drama Queen theo bạn có liên quan gì tới hoàng gia, hoàng tộc không? Bạn hiểu nghĩa của drama, bạn hiểu nghĩa của queen. Nhưng khi đưa chúng đặt cạnh nhau thì nó có thể có nghĩa là gì?


text:
Đường dẫn truy cập
Tới nội dung chính
Tới điều hướng chính
Đi tới "Tìm"
Ngôn ngữ khác
Tìm
Tìm
Nghe
Xem
Trang chủ
Việt Nam
Hoa Kỳ
Biển Đông
Thế giới
Blog
Diễn đàn
Mục
Đời sống
Kinh tế
Khoa học
Sức khoẻ
Văn hoá
Thể thao
Giáo dục
Chuyên đề
Vụ Trịnh Xuân Thanh
Ngư Dân Việt và Làn Sóng Trộm Hải Sâm
Bên Kia Quốc Lộ: Tiếng Vọng Từ Nông Thôn Mỹ
Thượng đỉnh Mỹ-Việt 2017
30/4: Ngày ấy - Bây giờ
Trump - 100 Ngày Đầu
VOA 75 năm
Bầu cử Hoa Kỳ 2016
Xung đột và Ngoại giao ở Biển Đông
Obama thăm Việt Nam
Học tiếng Anh
Video
Đăng nhập Facebook
Thêm
VOA Vietnamese TV
Chương trình mới nhất
Truyền hình vệ tinh VOA 22/9/2017
Sắp tới
07:00 - 07:30
Truyền hình vệ tinh VOA
Thêm
VOA Express
Phóng sự
Các chương trình khác
VOA Vietnamese Audio Tube
Chương trình mới nhất
VOA 4 giờ 30 sáng
Sắp tới
22:00 - 23:00
VOA 10 giờ khuya
04:30 - 05:00
VOA 4 giờ 30 sáng
Thêm
Chương trình 4 giờ 30 sáng
Chương trình 10 giờ khuya
Các chương trình khác
Tìm
Tìm
Trước
Kế tiếp
0
Tin mới
Trước
Kế tiếp
0
Trực tiếp
Kinh tế
IMF: Kinh tế thế giới có dấu hiệu phục hồi
20/09/2013
Tổng giám đốc IMF Christine Lagarde
Chủ tịch Quỹ Tiền Tệ Quốc Tế IMF, bà Christine Lagarde, nói nền kinh tế toàn cầu có dấu hiệu phục hồi, nhưng gọi tình trạng tăng trưởng là còn “chờ đợi.”
Trong bài diễn văn hôm thứ Năm trước một tổ chức doanh nghiệp lớn tại Washington, bà Lagarde nói những nền kinh tế tiên tiến đang khá hơn so với 6 tháng trước đây.
Bà nói các nền kinh tế mới trỗi dậy đã giúp giữ cho nền kinh tế toàn cầu không chìm đắm trong cuộc khủng hoảng kinh tế.
Bà kêu gọi lãnh đạo Mỹ sửa chữa vấn đề tài chính công. Bà nói cắt giảm ngân sách quá mau chóng có thể ảnh hưởng tai hại tới tăng trưởng trong đoản kỳ.
Nhưng bà cũng kêu gọi các nhà hoạch định chính sách của Mỹ làm tốt hơn để quản lý chi phí quá lớn của quỹ hưu bổng và các chương trình y tế, vào lúc thế hệ rất đông những người Mỹ sinh trong những năm 1940 bước vào giai đoạn nghỉ hưu.
Liên quan
Thị trường chứng khoán Á Châu tăng mạnh vì quyết định của FED
Tổng thống Obama nêu bật tiến bộ tài chính
Tỉ lệ thất nghiệp vẫn cao kỷ lục ở Châu Âu
Hoa Kỳ: Thất nghiệp giảm xuống mức thấp nhất kể từ 2008
Tin mới nhất
Tổng thống Mỹ ra sắc lệnh mới trừng phạt Triều Tiên
Vụ Nguyễn Xuân Anh: ‘Hàng trăm người chức quyền từng học ở SCUPS’
Liên hiệp quốc thu thập bằng chứng tội ác của ISIS
Hàn Quốc kêu gọi Liên hiệp quốc can thiệp khủng hoảng Triều Tiên
Trung Quốc cấm dùng lời lẽ bài Hồi Giáo trên mạng
Xem thêm
Đọc nhiều nhất
1
Bóng dáng Việt Nam trong phát biểu của Tổng thống Trump
2
Vụ Nguyễn Xuân Anh: ‘Hàng trăm người chức quyền từng học ở SCUPS’
3
Người giàu sụ Việt Nam tiêu tiền vào đâu?
4
Vụ Trịnh Xuân Thanh: Người Việt yêu cầu chính phủ Đức bảo vệ
5
Việt Nam đình chỉ 5 công an nghi dùng nhục hình ở tỉnh Ninh Thuận
Xem nhiều nhất
1
Singapore có nữ Tổng thống đầu tiên
2
Hồi ký mới của bà Clinton giải thích lý do thất cử
3
TT Trump dọa “tiêu diệt hoàn toàn” Triều Tiên
4
Tổng thống Mỹ lên án các đe dọa chủ quyền ở Biển Đông
5
Khủng hoảng Triều Tiên: Mỹ tái khẳng định có giải pháp quân sự
Bình luận nhiều nhất
Không có mục nào
Recommended
Vụ kiện 2 thế kỷ: Trịnh Vĩnh Bình vs. Chính phủ Việt Nam
Back to top
XS
SM
MD
LG