Hacker (an ninh máy tính)

**Hacker** là người hiểu rõ hoạt động của hệ thống máy tính, mạng máy tính, có thể viết hay chỉnh sửa phần mềm, phần cứng máy tính để làm thay đổi, chỉnh sửa nó với nhiều mục đích tốt xấu khác nhau. Công việc của hacker bao gồm lập trình, quản trị mạng và bảo mật.

## Phân loại hacker theo hành động thâm nhập
* Hacker mũ trắng là từ thường được gọi những người mà hành động thâm nhập và thay đổi hệ thống của họ được xem là tốt, chẳng hạn như những bảo mật hệ thống, lập trình viên, chuyên viên mạng máy tính.
* Hacker mũ đen là từ thường được gọi những người mà hành động thâm nhập là có mục đích phá hoại, hoặc vi phạm pháp luật. VD: Lây lan virus máy tính để kiếm tiền Bitcoin, phá hoại hệ thống máy chủ thế giới, ăn cắp thông tin cá nhân của người khác để rút thẻ lấy tiền, mã hóa dữ liệu trên hệ thống bị hack để tống tiền cá nhân/tổ chức... Trường hợp này còn được gọi là **tin tặc** trong sách báo tiếng Việt.
* Ngoài ra còn có hacker mũ xanh (*blue hat*), mũ xám (*grey hat*)... với ý nghĩa khác, nhưng chưa được công nhận rộng rãi.

## Phân loại hacker dựa trên lĩnh vực
### Hacker là lập trình viên giỏi
Trên phương diện tích cực, người hacker lập trình giỏi là người hiểu biết rất sâu về các ngôn ngữ lập trình và có khả năng lập trình rất nhanh và hiệu quả. Những người hacker thuộc phân loại này là những chuyên gia được đánh giá cao và có khả năng phát triển chương trình mà không cần đến các quy trình truyền thống hoặc trong các tình huống mà việc sử dụng các quy trình này không cho phép. Thực tế là có những dự án phát triển phần mềm đặc thù rất cần đến sự tự do sáng tạo của hacker, đi ngược những quy trình thông thường. Tuy vậy, mặt trái của sự tự do sáng tạo này là yếu tố khả năng bảo trì lâu dài, văn bản lập trình và sự hoàn tất. Với tính cách luôn ưa thích **"thách thức và thử thách"**, người hacker tài năng thường cảm thấy buồn chán khi họ đã giải quyết được tất cả những vấn đề khó khăn nhất của dự án, và không còn hứng thú hoàn tất những phần chi tiết. Thái độ này sẽ là rào cản trong môi trường cộng tác, gây khó khăn cho những lập trình viên khác trong vấn đề hoàn tất dự án. Trong một số trường hợp, nếu người hacker không mô tả bằng văn bản kỹ lưỡng các đoạn mã lập trình, sẽ gây khó khăn cho công ty tìm người thay thế nếu người này rời vị trí.

### Hacker là chuyên gia reverse engineering
Hacker thường có kiến thức chuyên sâu về Kỹ nghệ đảo ngược (*reverse engineering*). Kỹ năng này là một trong các kỹ năng quan trọng nhất cho phép hacker phân tích tìm ra các lỗ hổng bảo mật trong phần mềm (*software vulnerability*), firmware hoặc thậm chí là các thiết bị điện tử. Kỹ năng này cũng cho phép hacker thực hiện bẻ khóa phần mềm hoặc tìm các phương thức mã hóa/giải mã trong code đã biên dịch. Nếu chỉ xét riêng lĩnh vực phần mềm, kiến thức *reverse engineering* bao gồm cả các kỹ năng dịch ngược (*decompiler*) và phân tích code (*reverse code engineering,* viết tắt *RCE*). Kỹ thuật đảo ngược phần mềm được bảo vệ ở Mỹ theo ngoại lệ sử dụng hợp pháp trong luật bản quyền.

### Hacker là chuyên gia mạng và hệ thống
Về lĩnh vực mạng và hệ thống, hacker là người có kiến thức chuyên sâu về các giao thức và hệ thống mạng. Có khả năng hoàn thiện và tối ưu hóa hệ thống mạng. Mặt tối của những hacker này là khả năng tìm ra điểm yếu mạng và lợi dụng những điểm yếu này để đột nhập vào hệ thống mạng. Đa số những hacker mũ đen hiện nay có kiến thức sơ đẳng về mạng và sử dụng những công cụ sẵn có để đột nhập, họ thường được gọi là "*[[script kiddie]]s*".

### Hacker là chuyên gia phần cứng
Một loại hacker khác là những người yêu thích và có kiến thức sâu về phần cứng, họ có khả năng sửa đổi một hệ thống phần cứng để tạo ra những hệ thống có chức năng đặc biệt hơn, hoặc mở rộng các chức năng được thiết kế ban đầu. Các ví dụ về hacker ở phân loại này bao gồm:

* Sửa đổi phần cứng máy tính để tối ưu hóa và tăng tốc hệ thống.
* Sửa đổi hệ thống game Xbox để chạy hệ điều hành Linux.
* Sửa đổi hệ thống iPhone để sử dụng hệ thống mạng khác ngoài AT&T.
* Phá mã máy iPhone để sử dụng các phần mềm lậu của hãng thứ 3.
*...

## Xem thêm

* Virus (máy tính)
* Sâu (máy tính)
* Bảo mật
* Tường lửa

## Tham khảo

## Liên kết ngoài

*How To Become A Hacker của Eric.S.Raymond
* Bản dịch How To Become A Hacker  trên HVA
* Bản dịch How To Ask Questions The Smart Way
*How to Protect Facebook Account from Hackers trên Juno_okyo's Blog
* Duyệt mạng an toàn với mạng không dây 
* Những chủ đề nóng ở VNSeCon2007
* Định nghĩa về hacker của VHS 
*Challenges to entertain your mind and progress in the computer security (Hacker-Challenge)