Cracker : Họ là ai ?
trang này đã được đọc lần
Có thể với nhiều người, các hacker (còn được gọi nôm na, không chính xác, là “tin tặc”) vốn là
những người siêu phàm có thể làm mọi thứ họ muốn trên môi trường mạng (ảo) như phát tán
virus, đánh sập hay tìm lỗ hổng máy chủ, vượt tường lửa (firewall),... Tuy vậy, bên cạnh thế giới
hacker còn tồn tại một thế giới “ngầm” cũng không kém phần bí hiểm của những cracker mà
nhiều người chưa hiểu rõ, hoặc hoàn toàn không biết rõ.
Cracking, sự khởi đầu: Xuất hiện từ thập niên 1980, một số người dùng internet độc lập đã liên
kết với nhau thành những nhóm, thường được gọi là “cracking crews”. Mỗi nhóm được tổ chức
có tên và tiêu chí hoạt động rõ ràng, có website riêng,... Các thành viên trong nhóm được chia
thành các tổ, hoạt động theo các công việc rõ ràng nhưng rất gắn kết với nhau:
- Supplier:
Là những người có khả năng có được những phần mềm thử nghiệm (version beta),
trước khi nhà sản xuất tung ra bản chính thức.
- Coder:
Những lập trình viên, những người có khả năng phá được các loại khoá bảo vệ của
phần mềm.
- Trader:
Những người có nhiệm vụ cung cấp các bản crack phần mềm miễn phí lên trên
internet, càng nhanh càng tốt, bằng e-mail hay tải lên mạng...
- Sysop và Webmaster:
Những người phụ trách phần đưa thông tin về nhóm của mình lên
trang chủ của nhóm.
Như vậy, các Coder đóng vai chính trong một nhóm cracker. Họ có khả năng lập trình tốt với các
ngôn ngữ lập trình thông dụng nhất, trong đó đặc biệt là ngôn ngữ lập trình Assembly (ASM). Họ
có thể là một sinh viên, một lập trình viên của công ty phần mềm nào đó,... Chuyện bẻ khoá
(cracking) của họ thường chỉ nhằm thoả mãn sự đam mê, niềm vui song không loại trừ những
ngoại lệ: cracking với mục đích kinh tế.
Trở thành cracker?
Với internet hiện nay, việc tiếp xúc và mong muốn trở thành cracker không phải là khó bởi vì các
địa chỉ của các cracker trên mạng rất nhiều, thậm chí có những nơi tổ chức hẳn một... kỳ thi bẻ
tích” của họ được cập nhật hàng tuần, thậm chí hàng ngày. Số lượng thành viên của một nhóm
nào đó phụ thuộc vào quy mô hoạt động và chất lượng của nhóm này. Đơn cử một số nhóm
được coi là lớn nhất trên internet hiện nay: UCF (United Cracking Force), Phrozen Crew, Hambo,
TNT,... với thời gian hoạt động lên tới hàng chục năm và số lượng thành viên rất lớn. Trong sự
đa dạng của các nhóm cracker, có thể kể thêm sự tham gia của những nhóm nhỏ gồm vài ba
người bạn có chung sở thích, hay là những thành viên tách ra từ một nhóm khác,...
Rõ ràng việc “bẻ khóa” phần mềm là công việc không hợp pháp (illegal), vì vậy các nhóm cracker
thường tìm đến dịch vụ hosting (thuê máy chủ) để đăng tải website và các “chiến tích” của nhóm
ở những nước mà luật pháp chưa có những luật lệ cụ thể về việc sở hữu bản quyền phần mềm.
Công việc này sẽ do một người phụ trách, gọi là webmaster - được coi là người phát ngôn chung
của cả nhóm. Một nhóm cracker thường có tôn chỉ hoạt động rõ ràng, ta có thể kể ra đây một
số: The Art Of Tearing All Appart (Lash), We can crack all (TNT),...
Theo thống kê, tỷ lệ số cracker và số lập trình viên là 2/10, nghĩa là cứ mười lập trình viên thì tồn
tại hai cracker. (Đặc biệt, trong đội ngũ các lập trình viên cũng có mặt... cracker.) Một tỷ lệ khác:
Số phần mềm bị bẻ khoá thậm chí chiếm tới 80% số phần mềm được phổ biến trên mạng. Nếu
được hỏi “Cracker mất bao nhiêu lâu để bẻ khoá một phần mềm?”, câu trả lời thường là: “Một
giây, một giờ, một tháng hay thậm chí một năm”. Dĩ nhiên, đối với họ, không có cái khoá nào có
thể tồn tại vĩnh viễn, điểm mấu chốt là thời gian mà thôi. Viếng thăm một số site của các
cracker, ta có thể thấy nạn nhân của họ là một phần mềm vừa được nhà sản xuất chính thức
ngày hôm trước, cũng có thể là phần mềm đó được nhà sản xuất phát hành từ lâu nhưng cho
đến giờ họ mới thành công việc bẻ khoá.
Tại sao lại bẻ khoá?
Với những phần mềm thương phẩm, internet là công cụ quảng bá hữu hiệu, người dùng có thể
truy cập trang chủ của nhà sản xuất để tải về. Để thương mại hoá sản phẩm của mình, các nhà
sản xuất thường gắn vào sản phẩm một cái “khoá” – nôm na là để hạn chế người dùng sử dụng
sản phẩm của mình một cách miễn phí. Khoá của họ có nhiều loại: khoá cứng, khoá mềm,... Như
vậy, người dùng muốn thực sự là chủ sở hữu hợp pháp một phiên bản phần mềm sẽ phải liên hệ
với nhà sản xuất.
Các cracker sẽ vô hiệu hoá (các) khoá đó bởi theo họ, mọi thứ tồn tại trên internet đều có thể...
miễn phí. Trong mắt nhiều người, cracker như những Robin Hood “lấy của nhà giầu chia cho dân
để mở cái khoá đó ra. Như vậy, công việc của cracker là tìm ra chiếc chìa khoá thay vì phải liên
hệ với nhà sản xuất để lấy nó.
Những kiến thức về các ngôn ngữ lập trình bậc cao như Basic, Pascal, C++ sẽ giúp các cracker
hiểu được quá trình hoạt động của phần mềm thông quá các hàm chức năng. Tuy vậy, điều này
không đóng vai trò thực sự quan trọng bởi kiến thức cơ bản về Assembly mới là quan trọng nhất.
Đây cũng là điểm mấu chốt để bẻ khoá với một công cụ cực kỳ quan trọng và cần thiết:
debugger.
Bằng cách sử dụng debugger, cracker có thể theo dõi phần mềm đó hoạt động như thế nào, hay
rõ hơn là quá trình mà khóa làm việc như thế nào? Khi đó, vấn đề bẻ khoá chỉ còn là thời gian.
Đối với những cracker nhiều kinh nghiệm, việc bẻ khoá một phần mềm còn dễ dàng hơn bởi họ
đều nắm rõ những thuật toán mà các loại khoá áp dụng. Công việc debug đòi hỏi nhiều thời gian
của cracker bởi nó ghi lại toàn bộ quá trình phần mềm đó làm việc như thế nào. Sau khi cơ bản
đã bẻ được cái khoá của phần mềm, cracker sẽ tìm cách để phổ biến bản phá khoá này: Chỉ cần
viết một chương trình nho nhỏ (gọi là patch), có tác dụng sửa một số byte của phần mềm sao
cho sau khi sửa thì cái khoá không còn tác dụng nữa (tựa như nhà sản xuất tung ra các bản sửa
lỗi cho phần mềm của mình vậy). Cao cấp hơn, cracker sẽ viết hẳn một chương trình tính toán ra
số serial hay gọi là key generator để làm công việc tương tự như việc nhà sản xuất cung cấp số
serial cho người dùng đăng ký hợp pháp.
Tuy nhiên, trải qua nhiều kinh nghiệm và cũng nhiều lần chứng kiến phần mềm của mình bị bẻ
khoá một cách không thương tiếc, các nhà sản xuất cũng đã và đang dần dần tìm cách nâng
cấp, hay thay khoá bảo vệ của mình tốt hơn. Bằng cách này hay cách khác, họ cố gắng trang bị
cho phần mềm những công cụ chống bẻ khoá ngày càng tối tân hơn: Chống dịch ngược
(disassembly), chống debug (anti debug), khoá cứng (hardlock), nén lại (pack),... Mặc dù vậy, sự
thành công không khả quan là bao bởi vì không nhóm cracker này thì nhóm cracker khác cũng sẽ
ra tay!
Biến tướng của cracking
Hiện nay, ở đa số các nước, luật lệ về bản quyền được làm rất chặt chẽ nên những website về bẻ
khoá ở trên mạng đều được coi là phạm pháp và sẽ bị xoá bỏ. Điều đó giải thích vì sao địa chỉ
website của của các nhóm cracker thường xuyên bị thay đổi. Tuy nhiên, chỉ bằng cách thay đổi
mục tiêu hoạt động, nhiều nhóm cracker đã thoát được “kẻ hở” cuả luật bản quyền để tiếp tục